[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[pd@kubism.ku.dk: 8-bit fonts for TeX ?]



I told this person about the Cork standard, but I think the points he
brings up are good ones, and not addressed by Cork.  My full reply is
below.


Date: Thu, 7 May 92 12:01:44 +0200
From: Peter Dalgaard SFE <pd@kubism.ku.dk>
To: karl@cs.umb.edu
Subject: 8-bit fonts for TeX ?

Sorry to bother you if this is outside your field of interest, but you
seem to know about everything font-ish.

The problem is this: TeX v.3++ allows 8-bit chars on input. Those of us
with chars outside standard ascii in our national languages were very
happy to see that. However, it is only half a solution when some of the
extra characters are accented, since TeX cannot hyphenate words with
accented characters inside.

As I see it, the obvious solution would be to create extended sets of
TeX fonts (virtual or `real') by filling in characters corresponding to
the ISO encodings, e.g. ISO-Latin1 for most European languages. Some of
the characters currently found at positions below "20 would then appear
at positions above "80; they should probably be copied rather than
moved. The region between "80 and "9F is blank in the ISO encodings and
might be used for additional ligatures (for a Dane, the absence of `fj'
is conspicuous). Note, by the way, that some accented characters really
deserve greater individuality than that afforded by the operation of
accenting -- for instance, \AA is often designed with the ring as
an integral part of the glyph.

Do you know whether anybody has done something along these lines? It
would be a very tall order for me to do it, since I have no experience
in font creation beyond invoking Metafont on a ready-made .mf file.
Besides, there is an aspect of standardisation in this, so it would be
preferable if someone with a sufficiently loud voice in the TeX
community were interested.

	Peter Dalgaard 
	Statistical Research Unit 
	Univ. Copenhagen
	(pd@kubism.ku.dk)


(my reply):

Briefly, some people made an 8-bit encoding scheme for TeX at a TUG
meeting a couple years ago.  It was published in TUGboat 11#4.
Personally, I think it has serious problems: it's not based on ISO Latin
1 (i.e., not all the ISO Latin 1 chars are present, and those that are
are not all in their ISO Latin 1 positions); it doesn't include all the
standard PostScript characters; it doesn't have any blank spaces to be
filled in ``per font''.

I made up another encoding to try to meet those needs when we needed it
for the GNU font project, but there are no fonts in that encoding in
existence now.  Since 256 characters are not enough, we also made up a
``text complement font'' for lesser-used but still useful characters.
It's not obvious to me how to get TeX to work well with two text fonts
(in fact, I doubt it's possible), but at least the characters will be
there.


Here is our gnulatin.enc:
% The GNU latin text font encoding scheme, as developed by Karl Berry
% and Kathy Hargreaves on 12-31-91.
GNU Latin Text
.notdef
.notdef
.notdef
.notdef
.notdef
.notdef
.notdef
.notdef
%
bullet			% Standard 267
dagger			% Standard 262
daggerdbl		% Standard 263
ff			lig i =: 016  lig l =: 017 	% TeX Text
fi			% TeX Text
fl			% TeX Text
ffi			% TeX Text
ffl			% TeX Text
%
quotedblleft		% Extended TeX Latin
quotedblright		% Extended TeX Latin
guilsinglleft		% Standard 0254
guilsinglright		% Standard 0255
quotesinglbase		% Standard 0270
endash			lig - =: 026	% Extended TeX Latin
emdash			% Extended TeX Latin
compoundwordmark	% Extended TeX Latin (non-Adobe name)
%
zerolowered		% Extended TeX Latin (non-Adobe name)
threequartersemdash	% Expert 075
quotesingle		% Standard 0251 (foot mark)
oe			% TeX Text
quotedblbase		% Standard 0271
perthousand		% Standard 0275
OE			% TeX Text
florin			% Standard 0246
%
space
exclam
quotedbl
numbersign
dollar
percent
ampersand
quoteright		lig ' =: 021
%
parenleft
parenright
asterisk
plus
comma
asciihyphen		lig - =: 025
period
slash
%
zero
one
two
three
four
five
six
seven
%
eight
nine
colon
semicolon
less
equal
greater
question
%
at
A
B
C
D
E
F
G
%
H
I
J
K
L
M
N
O
%
P
Q
R
S
T
U
V
W
%
X
Y
Z
bracketleft
backslash
bracketright
asciicircum
underscore
%
quoteleft		lig ` =: 020  	% `` => opening double quote char
a
b
c
d
e
f			lig f =: 013  lig i =: 014  lig l =: 015
g
%
h
i
j
k
l
m
n
o
%
p
q
r
s
t
u
v
w
%
x
y
z
braceleft
bar
braceright
asciitilde
fraction		% Standard 244
%
zerooldstyle		% Expert 060
oneoldstyle		% Expert 061
twooldstyle		% Expert 062
threeoldstyle		% Expert 063
fouroldstyle		% Expert 064
fiveoldstyle		% Expert 065
sixoldstyle		% Expert 066
sevenoldstyle		% Expert 067
%
eightoldstyle		% Expert 070
nineoldstyle		% Expert 071
Lslash			% TeX Text
lslash			% non-Adobe name
ij			% Extended TeX Latin 0274 (non-Adobe name)
Eng			% Extended TeX Latin (non-Adobe name)
eng			% Extended TeX Latin 0255 (non-Adobe name)
SS			% Extended TeX Latin 0337 (non-Adobe name)
%
dotlessi
grave
colonmonetary 		% Expert 173
circumflex
tilde
ellipses		% Standard 0274 (Adobe replicated ISO macron 257)
breve
dotaccent
%
dotlessj		% TeX Text 021 (non-Adobe name) 
			%   (Adobe replicated ISO dieresis 230)
dbar			% Extended TeX Latin 0236 (non-Adobe name)
ring
cedilla			% Standard 0313
IJ			% Extended TeX Latin 0234 (non-Adobe name)
hungarumlaut
ogonek
caron
%
nobreakspace		% (non-Adobe name)
exclamdown
cent
sterling
currency
yen
brokenbar
section
%
dieresis
copyright
ordfeminine
guillemotleft
logicalnot
hyphen
registered
macron
%
degree
plusminus
twosuperior
threesuperior
acute
mu
paragraph
periodcentered
%
cedilla
onesuperior
ordmasculine
guillemotright
onequarter
onehalf
threequarters
questiondown
%
Agrave
Aacute
Acircumflex
Atilde
Adieresis
Aring
AE
Ccedilla
%
Egrave
Eacute
Ecircumflex
Edieresis
Igrave
Iacute
Icircumflex
Idieresis
%
Eth
Ntilde
Ograve
Oacute
Ocircumflex
Otilde
Odieresis
multiply
%
Oslash
Ugrave
Uacute
Ucircumflex
Udieresis
Yacute
Thorn
germandbls
%
agrave
aacute
acircumflex
atilde
adieresis
aring
ae
ccedilla
%
egrave
eacute
ecircumflex
edieresis
igrave
iacute
icircumflex
idieresis
%
eth
ntilde
ograve
oacute
ocircumflex
otilde
odieresis
divide
%
oslash
ugrave
uacute
ucircumflex
udieresis
yacute
thorn
ydieresis


Here is the complement font: