• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1% @@psencodingfile@{
2%   date      = "6jul08",
3%   filename  = "ec.enc",
4%   email     = "tex-fonts@@tug.org",
5%   docstring = "This is the EC (aka Cork aka T1) encoding vector
6%                for 8-bit fonts to be used with TeX."
7% @}
8%
9% Names of the glyphs try to comply with:
10%    Adobe Glyph List For New Fonts, ver. 1.6, 30 Januaury 2006
11%    http://partners.adobe.com/public/developer/en/opentype/aglfn13.txt
12% but some exceptions are listed below.
13%
14% The following characters are not present in Unicode:
15% - /perthousandzero = used to compose /perthousand, /pertenthousand, ... out of /percent + this character
16% -  Germandbls      = now there is a related character in Unicode,
17%                      U+1E9E - LATIN CAPITAL LETTER SHARP S
18%                      but probably /S_S ligature name should be used instead
19%
20% The following two characters have different Unicode mappings than on the AGL:
21% - /tcedilla     = U+0163 - LATIN SMALL LETTER T WITH CEDILLA
22%                   according to AGL it should be /tcommaaccent
23% - /Tcedilla     = U+0162 - LATIN CAPITAL LETTER T WITH CEDILLA
24%                   according to AGL it should be /Tcommaaccent
25% But having /scedilla and /tcommaaccent mixed is even more ugly.
26%
27% The following characters are not present on the AGL:
28% - /dotlessj     = U+0237 - LATIN SMALL LETTER DOTLESS J
29% - /cwm          = U+200B - ZERO WIDTH SPACE
30% - /visiblespace = U+2423 - OPEN BOX
31%
32% The following ligatures are deprecated by recent AGL:
33% - /ff, /fi, /fl, /ffi, /ffl = /f_i and similar should have been used instead
34%
35% Special characters:
36% - /hyphen.alt = hanging hyphen char (half-width)
37%                 used when no micro-typographic extensions were available yet
38%
39% Other remarks:
40% - /Eth = U+00D0 - LATIN CAPITAL LETTER ETH
41%          must also be used as /Dcroat
42%          U+0110 - LATIN CAPITAL LETTER D WITH STROKE
43%
44% Misleading names and shapes of letters (that lead to different names in past)
45% - /lcaron = U+013E - LATIN SMALL LETTER L WITH CARON
46%             /lquoteright
47% - /Lcaron = U+013D - LATIN CAPITAL LETTER L WITH CARON
48%             /Lquoteright
49% - /dcaron = U+010F - LATIN SMALL LETTER D WITH CARON
50%             /dquoteright
51% - /tcaron = U+0165 - LATIN SMALL LETTER T WITH CARON
52%             /tquoteright
53% - /dcroat = U+0111 - LATIN SMALL LETTER D WITH STROKE
54%             /dbar, /dmacron
55%
56% - /cwm        - /bom, /zerowidthnobreakspace
57% - /underscore - /underline
58% - /hyphen.alt - /sfthyphen, /hyphen, /dash
59%
60%
61% Turkish & Romanian
62% --------------------
63% EC encoding has been defined to include /tcedilla and /scedilla.
64% For Turkish one needs /scedilla, while for Romanian one would need
65% "t with comma below" (/tcommaaccent) and "s with comma below" (/scommaaccent).
66% "t with cedilla" in not used in any language except in inferior
67% Romanian typography that can use cedillas instead of commas below.
68% AGL has a strange mapping as well.
69%
70% Without adding an additional character, it is impossible to support both
71% languages at the same time, so EC is not really best choice for Romanians,
72% even though it can be "misused" if one replaces both /scedilla and /tcedilla
73% with /scommaaccent and /tcommaaccent.
74%
75% Characters that have been renamed in July 2008:
76%    0x18        /zeroinferior -> /perthousandzero
77%    0x20 U+2423 /visualspace  -> /visiblespace (if font doesn't have it, use /space)
78%    0x7F U+002D /hyphen       -> /hyphen.alt U+???
79%    0x8D U+014A /Ng           -> /Eng
80%    0x9E U+0111 /dbar         -> /dcroat
81%    0xAD U+014B /ng           -> /eng
82%    0xB4 U+0165 /tquoteright  -> /tcaron
83%
84% Although these ligatures and kerns are somewhat questionable to have
85% in an encoding file, they've been here forever, and they are
86% traditional in the TeX world, so we preserve them.
87%
88% LIGKERN space l =: lslash ; space L =: Lslash ;
89% LIGKERN question quoteleft =: questiondown ; exclam quoteleft =: exclamdown ;
90% LIGKERN hyphen hyphen =: endash ; endash hyphen =: emdash ;
91% LIGKERN quoteleft quoteleft =: quotedblleft ;
92% LIGKERN quoteright quoteright =: quotedblright ;
93%
94%   We blow away kerns to and from spaces (TeX doesn't have a
95%   space) and also remove any kerns from the numbers (although
96%   the only kern pair that mentions a number in Times-Roman.afm
97%   is one one.)
98%
99% LIGKERN space {} * ; * {} space ; zero {} * ; * {} zero ;
100% LIGKERN one {} * ; * {} one ; two {} * ; * {} two ;
101% LIGKERN three {} * ; * {} three ; four {} * ; * {} four ;
102% LIGKERN five {} * ; * {} five ; six {} * ; * {} six ;
103% LIGKERN seven {} * ; * {} seven ; eight {} * ; * {} eight ;
104% LIGKERN nine {} * ; * {} nine ;
105% LIGKERN comma comma =: quotedblbase ; less less =: guillemotleft ;
106% LIGKERN greater greater =: guillemotright ;
107%
108/ECEncoding [    % now 256 chars follow
109/grave           % 0x00 U+0060
110/acute           % 0x01 U+00B4
111/circumflex      % 0x02 U+02C6
112/tilde           % 0x03 U+02DC
113/dieresis        % 0x04 U+00A8
114/hungarumlaut    % 0x05 U+02DD
115/ring            % 0x06 U+02DA
116/caron           % 0x07 U+02C7
117/breve           % 0x08 U+02D8
118/macron          % 0x09 U+00AF
119/dotaccent       % 0x0A U+02D9
120/cedilla         % 0x0B U+00B8
121/ogonek          % 0x0C U+02DB
122/quotesinglbase  % 0x0D U+201A
123/guilsinglleft   % 0x0E U+2039
124/guilsinglright  % 0x0F U+203A
125/quotedblleft    % 0x10 U+201C
126/quotedblright   % 0x11 U+201D
127/quotedblbase    % 0x12 U+201E
128/guillemotleft   % 0x13 U+00AB
129/guillemotright  % 0x14 U+00BB
130/endash          % 0x15 U+2013
131/emdash          % 0x16 U+2014
132/cwm             % 0x17 U+200B
133/perthousandzero % 0x18 ______
134/dotlessi        % 0x19 U+0131
135/dotlessj        % 0x1A U+0237
136/ff              % 0x1B U+FB00
137/fi              % 0x1C U+FB01
138/fl              % 0x1D U+FB02
139/ffi             % 0x1E U+FB03
140/ffl             % 0x1F U+FB04
141/visiblespace    % 0x20 U+2423
142/exclam          % 0x21
143/quotedbl        % 0x22
144/numbersign      % 0x23
145/dollar          % 0x24
146/percent         % 0x25
147/ampersand       % 0x26
148/quoteright      % 0x27 U+2019
149/parenleft       % 0x28
150/parenright      % 0x29
151/asterisk        % 0x2A
152/plus            % 0x2B
153/comma           % 0x2C
154/hyphen          % 0x2D
155/period          % 0x2E
156/slash           % 0x2F
157/zero            % 0x30
158/one             % 0x31
159/two             % 0x32
160/three           % 0x33
161/four            % 0x34
162/five            % 0x35
163/six             % 0x36
164/seven           % 0x37
165/eight           % 0x38
166/nine            % 0x39
167/colon           % 0x3A
168/semicolon       % 0x3B
169/less            % 0x3C
170/equal           % 0x3D
171/greater         % 0x3E
172/question        % 0x3F
173/at              % 0x40
174/A               % 0x41
175/B               % 0x42
176/C               % 0x43
177/D               % 0x44
178/E               % 0x45
179/F               % 0x46
180/G               % 0x47
181/H               % 0x48
182/I               % 0x49
183/J               % 0x4A
184/K               % 0x4B
185/L               % 0x4C
186/M               % 0x4D
187/N               % 0x4E
188/O               % 0x4F
189/P               % 0x50
190/Q               % 0x51
191/R               % 0x52
192/S               % 0x53
193/T               % 0x54
194/U               % 0x55
195/V               % 0x56
196/W               % 0x57
197/X               % 0x58
198/Y               % 0x59
199/Z               % 0x5A
200/bracketleft     % 0x5B
201/backslash       % 0x5C
202/bracketright    % 0x5D
203/asciicircum     % 0x5E
204/underscore      % 0x5F
205/quoteleft       % 0x60 U+2018
206/a               % 0x61
207/b               % 0x62
208/c               % 0x63
209/d               % 0x64
210/e               % 0x65
211/f               % 0x66
212/g               % 0x67
213/h               % 0x68
214/i               % 0x69
215/j               % 0x6A
216/k               % 0x6B
217/l               % 0x6C
218/m               % 0x6D
219/n               % 0x6E
220/o               % 0x6F
221/p               % 0x70
222/q               % 0x71
223/r               % 0x72
224/s               % 0x73
225/t               % 0x74
226/u               % 0x75
227/v               % 0x76
228/w               % 0x77
229/x               % 0x78
230/y               % 0x79
231/z               % 0x7A
232/braceleft       % 0x7B
233/bar             % 0x7C
234/braceright      % 0x7D
235/asciitilde      % 0x7E
236/hyphen.alt      % 0x7F U+002D % U+????
237/Abreve          % 0x80 U+0102
238/Aogonek         % 0x81 U+0104
239/Cacute          % 0x82 U+0106
240/Ccaron          % 0x83 U+010C
241/Dcaron          % 0x84 U+010E
242/Ecaron          % 0x85 U+011A
243/Eogonek         % 0x86 U+0118
244/Gbreve          % 0x87 U+011E
245/Lacute          % 0x88 U+0139
246/Lcaron          % 0x89 U+013D
247/Lslash          % 0x8A U+0141
248/Nacute          % 0x8B U+0143
249/Ncaron          % 0x8C U+0147
250/Eng             % 0x8D U+014A
251/Ohungarumlaut   % 0x8E U+0150
252/Racute          % 0x8F U+0154
253/Rcaron          % 0x90 U+0158
254/Sacute          % 0x91 U+015A
255/Scaron          % 0x92 U+0160
256/Scedilla        % 0x93 U+015E
257/Tcaron          % 0x94 U+0164
258/Tcedilla        % 0x95 U+0162
259/Uhungarumlaut   % 0x96 U+0170
260/Uring           % 0x97 U+016E
261/Ydieresis       % 0x98 U+0178
262/Zacute          % 0x99 U+0179
263/Zcaron          % 0x9A U+017D
264/Zdotaccent      % 0x9B U+017B
265/IJ              % 0x9C U+0132
266/Idotaccent      % 0x9D U+0130
267/dcroat          % 0x9E U+0111
268/section         % 0x9F U+00A7
269/abreve          % 0xA0 U+0103
270/aogonek         % 0xA1 U+0105
271/cacute          % 0xA2 U+0107
272/ccaron          % 0xA3 U+010D
273/dcaron          % 0xA4 U+010F
274/ecaron          % 0xA5 U+011B
275/eogonek         % 0xA6 U+0119
276/gbreve          % 0xA7 U+011F
277/lacute          % 0xA8 U+013A
278/lcaron          % 0xA9 U+013E
279/lslash          % 0xAA U+0142
280/nacute          % 0xAB U+0144
281/ncaron          % 0xAC U+0148
282/eng             % 0xAD U+014B
283/ohungarumlaut   % 0xAE U+0151
284/racute          % 0xAF U+0155
285/rcaron          % 0xB0 U+0159
286/sacute          % 0xB1 U+015B
287/scaron          % 0xB2 U+0161
288/scedilla        % 0xB3 U+015F
289/tcaron          % 0xB4 U+0165
290/tcedilla        % 0xB5 U+0163
291/uhungarumlaut   % 0xB6 U+0171
292/uring           % 0xB7 U+016F
293/ydieresis       % 0xB8 U+00FF
294/zacute          % 0xB9 U+017A
295/zcaron          % 0xBA U+017E
296/zdotaccent      % 0xBB U+017C
297/ij              % 0xBC U+0133
298/exclamdown      % 0xBD U+00A1
299/questiondown    % 0xBE U+00BF
300/sterling        % 0xBF U+00A3
301/Agrave          % 0xC0
302/Aacute          % 0xC1
303/Acircumflex     % 0xC2
304/Atilde          % 0xC3
305/Adieresis       % 0xC4
306/Aring           % 0xC5
307/AE              % 0xC6
308/Ccedilla        % 0xC7
309/Egrave          % 0xC8
310/Eacute          % 0xC9
311/Ecircumflex     % 0xCA
312/Edieresis       % 0xCB
313/Igrave          % 0xCC
314/Iacute          % 0xCD
315/Icircumflex     % 0xCE
316/Idieresis       % 0xCF
317/Eth             % 0xD0
318/Ntilde          % 0xD1
319/Ograve          % 0xD2
320/Oacute          % 0xD3
321/Ocircumflex     % 0xD4
322/Otilde          % 0xD5
323/Odieresis       % 0xD6
324/OE              % 0xD7 U+0152
325/Oslash          % 0xD8
326/Ugrave          % 0xD9
327/Uacute          % 0xDA
328/Ucircumflex     % 0xDB
329/Udieresis       % 0xDC
330/Yacute          % 0xDD
331/Thorn           % 0xDE
332/Germandbls      % 0xDF (U+1E9E, /S_S)
333/agrave          % 0xE0
334/aacute          % 0xE1
335/acircumflex     % 0xE2
336/atilde          % 0xE3
337/adieresis       % 0xE4
338/aring           % 0xE5
339/ae              % 0xE6
340/ccedilla        % 0xE7
341/egrave          % 0xE8
342/eacute          % 0xE9
343/ecircumflex     % 0xEA
344/edieresis       % 0xEB
345/igrave          % 0xEC
346/iacute          % 0xED
347/icircumflex     % 0xEE
348/idieresis       % 0xEF
349/eth             % 0xF0
350/ntilde          % 0xF1
351/ograve          % 0xF2
352/oacute          % 0xF3
353/ocircumflex     % 0xF4
354/otilde          % 0xF5
355/odieresis       % 0xF6
356/oe              % 0xF7 U+0153
357/oslash          % 0xF8
358/ugrave          % 0xF9
359/uacute          % 0xFA
360/ucircumflex     % 0xFB
361/udieresis       % 0xFC
362/yacute          % 0xFD
363/thorn           % 0xFE
364/germandbls      % 0xFF U+00DF
365] def
366