You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
380 lines
12 KiB
380 lines
12 KiB
% @@psencodingfile@{
|
|
% date = "24feb10",
|
|
% filename = "ec.enc",
|
|
% email = "tex-fonts@@tug.org",
|
|
% docstring = "This is the EC (aka Cork aka T1) encoding vector
|
|
% for 8-bit fonts to be used with TeX."
|
|
% @}
|
|
%
|
|
% The original paper can be found on
|
|
% https://www.tug.org/TUGboat/Articles/tb11-4/tb30ferguson.pdf
|
|
%
|
|
% Names of the glyphs try to comply with:
|
|
% Adobe Glyph List For New Fonts, ver. 1.6, 30 Januaury 2006
|
|
% http://partners.adobe.com/public/developer/en/opentype/aglfn13.txt
|
|
% but some exceptions are listed below.
|
|
%
|
|
% The following characters are not present in Unicode:
|
|
% - /perthousandzero = used to compose /perthousand, /pertenthousand, ... out of /percent + this character
|
|
% - Germandbls = now there is a related character in Unicode,
|
|
% U+1E9E - LATIN CAPITAL LETTER SHARP S
|
|
% but probably /S_S ligature name should be used instead
|
|
%
|
|
% The following two characters have different Unicode mappings than on the AGL:
|
|
% - /tcedilla = U+0163 - LATIN SMALL LETTER T WITH CEDILLA
|
|
% according to AGL it should be /tcommaaccent
|
|
% - /Tcedilla = U+0162 - LATIN CAPITAL LETTER T WITH CEDILLA
|
|
% according to AGL it should be /Tcommaaccent
|
|
% But having /scedilla and /tcommaaccent mixed is even more ugly.
|
|
%
|
|
% The following characters are not present on the AGL:
|
|
% - /dotlessj = U+0237 - LATIN SMALL LETTER DOTLESS J
|
|
% - /cwm = U+200B - ZERO WIDTH SPACE
|
|
% - /visiblespace = U+2423 - OPEN BOX
|
|
% and should probably better be labeled with uniXXXX notation
|
|
% (though hardly any font has those glyphs anyway).
|
|
%
|
|
% The following ligatures are deprecated by recent AGL:
|
|
% - /ff, /fi, /fl, /ffi, /ffl = /f_i and similar should have been used instead
|
|
%
|
|
% Hyphen character:
|
|
% There are two character named "hyphen". The original article explains
|
|
% the background of this decision (if one wanted to use a different
|
|
% hyphenation character and still be able to use the dash). So the first
|
|
% character should serve as "hyphen char" and the other one as "dash" in
|
|
% compound words. The character 0x2D is supposed to be the hyphen char,
|
|
% but since there used to be two characters of the same name in this
|
|
% file for some time, the tools like afmtotfm have been confused and
|
|
% remapped the hyphen char to 0x7F automatically. After the second
|
|
% character's name was changed, hyphenation characters in existing
|
|
% tfm fonts (generated with the old ec.enc) have disappeared, so the
|
|
% second character has been renamed back to "hyphen". Anyone generating
|
|
% tfm fonts is strongly encouraged to make a copy of this file, rename
|
|
% it and change glyph names as required for their font.
|
|
%
|
|
% Other remarks:
|
|
% - /Eth = U+00D0 - LATIN CAPITAL LETTER ETH
|
|
% must also be used as /Dcroat
|
|
% U+0110 - LATIN CAPITAL LETTER D WITH STROKE
|
|
%
|
|
% Misleading names and shapes of letters (that lead to different names in past)
|
|
% - /lcaron = U+013E - LATIN SMALL LETTER L WITH CARON
|
|
% /lquoteright
|
|
% - /Lcaron = U+013D - LATIN CAPITAL LETTER L WITH CARON
|
|
% /Lquoteright
|
|
% - /dcaron = U+010F - LATIN SMALL LETTER D WITH CARON
|
|
% /dquoteright
|
|
% - /tcaron = U+0165 - LATIN SMALL LETTER T WITH CARON
|
|
% /tquoteright
|
|
% - /dcroat = U+0111 - LATIN SMALL LETTER D WITH STROKE
|
|
% /dbar, /dmacron
|
|
%
|
|
% - /cwm - /bom, /zerowidthnobreakspace
|
|
% - /underscore - /underline
|
|
% - /hyphen.alt - /sfthyphen, /hyphen, /dash
|
|
%
|
|
%
|
|
% Turkish & Romanian
|
|
% --------------------
|
|
% EC encoding has been defined to include /tcedilla and /scedilla.
|
|
% For Turkish one needs /scedilla, while for Romanian one would need
|
|
% "t with comma below" (/tcommaaccent) and "s with comma below" (/scommaaccent).
|
|
% "t with cedilla" in not used in any language except in inferior
|
|
% Romanian typography that can use cedillas instead of commas below.
|
|
% AGL has a strange mapping as well.
|
|
%
|
|
% Without adding an additional character, it is impossible to support both
|
|
% languages at the same time, so EC is not really best choice for Romanians,
|
|
% even though it can be "misused" if one replaces both /scedilla and /tcedilla
|
|
% with /scommaaccent and /tcommaaccent.
|
|
%
|
|
% Characters that have been renamed in July 2008:
|
|
% 0x18 /zeroinferior -> /perthousandzero
|
|
% 0x20 U+2423 /visualspace -> /visiblespace (if font doesn't have it, use /space)
|
|
% 0x8D U+014A /Ng -> /Eng
|
|
% 0x9E U+0111 /dbar -> /dcroat
|
|
% 0xAD U+014B /ng -> /eng
|
|
% 0xB4 U+0165 /tquoteright -> /tcaron
|
|
%
|
|
% Although these ligatures and kerns are somewhat questionable to have
|
|
% in an encoding file, they've been here forever, and they are
|
|
% traditional in the TeX world, so we preserve them.
|
|
%
|
|
% LIGKERN space l =: lslash ; space L =: Lslash ;
|
|
% LIGKERN question quoteleft =: questiondown ; exclam quoteleft =: exclamdown ;
|
|
% LIGKERN hyphen hyphen =: endash ; endash hyphen =: emdash ;
|
|
% LIGKERN quoteleft quoteleft =: quotedblleft ;
|
|
% LIGKERN quoteright quoteright =: quotedblright ;
|
|
%
|
|
% We blow away kerns to and from spaces (TeX doesn't have a
|
|
% space) and also remove any kerns from the numbers (although
|
|
% the only kern pair that mentions a number in Times-Roman.afm
|
|
% is one one.)
|
|
%
|
|
% LIGKERN space {} * ; * {} space ; zero {} * ; * {} zero ;
|
|
% LIGKERN one {} * ; * {} one ; two {} * ; * {} two ;
|
|
% LIGKERN three {} * ; * {} three ; four {} * ; * {} four ;
|
|
% LIGKERN five {} * ; * {} five ; six {} * ; * {} six ;
|
|
% LIGKERN seven {} * ; * {} seven ; eight {} * ; * {} eight ;
|
|
% LIGKERN nine {} * ; * {} nine ;
|
|
% LIGKERN comma comma =: quotedblbase ; less less =: guillemotleft ;
|
|
% LIGKERN greater greater =: guillemotright ;
|
|
%
|
|
/ECEncoding [ % now 256 chars follow
|
|
/grave % 0x00 U+0060
|
|
/acute % 0x01 U+00B4
|
|
/circumflex % 0x02 U+02C6
|
|
/tilde % 0x03 U+02DC
|
|
/dieresis % 0x04 U+00A8
|
|
/hungarumlaut % 0x05 U+02DD
|
|
/ring % 0x06 U+02DA
|
|
/caron % 0x07 U+02C7
|
|
/breve % 0x08 U+02D8
|
|
/macron % 0x09 U+00AF
|
|
/dotaccent % 0x0A U+02D9
|
|
/cedilla % 0x0B U+00B8
|
|
/ogonek % 0x0C U+02DB
|
|
/quotesinglbase % 0x0D U+201A
|
|
/guilsinglleft % 0x0E U+2039
|
|
/guilsinglright % 0x0F U+203A
|
|
/quotedblleft % 0x10 U+201C
|
|
/quotedblright % 0x11 U+201D
|
|
/quotedblbase % 0x12 U+201E
|
|
/guillemotleft % 0x13 U+00AB
|
|
/guillemotright % 0x14 U+00BB
|
|
/endash % 0x15 U+2013
|
|
/emdash % 0x16 U+2014
|
|
/cwm % 0x17 U+200B
|
|
/perthousandzero % 0x18 ______
|
|
/dotlessi % 0x19 U+0131
|
|
/dotlessj % 0x1A U+0237
|
|
/ff % 0x1B U+FB00
|
|
/fi % 0x1C U+FB01
|
|
/fl % 0x1D U+FB02
|
|
/ffi % 0x1E U+FB03
|
|
/ffl % 0x1F U+FB04
|
|
/visiblespace % 0x20 U+2423
|
|
/exclam % 0x21
|
|
/quotedbl % 0x22
|
|
/numbersign % 0x23
|
|
/dollar % 0x24
|
|
/percent % 0x25
|
|
/ampersand % 0x26
|
|
/quoteright % 0x27 U+2019
|
|
/parenleft % 0x28
|
|
/parenright % 0x29
|
|
/asterisk % 0x2A
|
|
/plus % 0x2B
|
|
/comma % 0x2C
|
|
/hyphen % 0x2D
|
|
/period % 0x2E
|
|
/slash % 0x2F
|
|
/zero % 0x30
|
|
/one % 0x31
|
|
/two % 0x32
|
|
/three % 0x33
|
|
/four % 0x34
|
|
/five % 0x35
|
|
/six % 0x36
|
|
/seven % 0x37
|
|
/eight % 0x38
|
|
/nine % 0x39
|
|
/colon % 0x3A
|
|
/semicolon % 0x3B
|
|
/less % 0x3C
|
|
/equal % 0x3D
|
|
/greater % 0x3E
|
|
/question % 0x3F
|
|
/at % 0x40
|
|
/A % 0x41
|
|
/B % 0x42
|
|
/C % 0x43
|
|
/D % 0x44
|
|
/E % 0x45
|
|
/F % 0x46
|
|
/G % 0x47
|
|
/H % 0x48
|
|
/I % 0x49
|
|
/J % 0x4A
|
|
/K % 0x4B
|
|
/L % 0x4C
|
|
/M % 0x4D
|
|
/N % 0x4E
|
|
/O % 0x4F
|
|
/P % 0x50
|
|
/Q % 0x51
|
|
/R % 0x52
|
|
/S % 0x53
|
|
/T % 0x54
|
|
/U % 0x55
|
|
/V % 0x56
|
|
/W % 0x57
|
|
/X % 0x58
|
|
/Y % 0x59
|
|
/Z % 0x5A
|
|
/bracketleft % 0x5B
|
|
/backslash % 0x5C
|
|
/bracketright % 0x5D
|
|
/asciicircum % 0x5E
|
|
/underscore % 0x5F
|
|
/quoteleft % 0x60 U+2018
|
|
/a % 0x61
|
|
/b % 0x62
|
|
/c % 0x63
|
|
/d % 0x64
|
|
/e % 0x65
|
|
/f % 0x66
|
|
/g % 0x67
|
|
/h % 0x68
|
|
/i % 0x69
|
|
/j % 0x6A
|
|
/k % 0x6B
|
|
/l % 0x6C
|
|
/m % 0x6D
|
|
/n % 0x6E
|
|
/o % 0x6F
|
|
/p % 0x70
|
|
/q % 0x71
|
|
/r % 0x72
|
|
/s % 0x73
|
|
/t % 0x74
|
|
/u % 0x75
|
|
/v % 0x76
|
|
/w % 0x77
|
|
/x % 0x78
|
|
/y % 0x79
|
|
/z % 0x7A
|
|
/braceleft % 0x7B
|
|
/bar % 0x7C
|
|
/braceright % 0x7D
|
|
/asciitilde % 0x7E
|
|
/hyphen % 0x7F U+002D (explicit "hyphen char")
|
|
/Abreve % 0x80 U+0102
|
|
/Aogonek % 0x81 U+0104
|
|
/Cacute % 0x82 U+0106
|
|
/Ccaron % 0x83 U+010C
|
|
/Dcaron % 0x84 U+010E
|
|
/Ecaron % 0x85 U+011A
|
|
/Eogonek % 0x86 U+0118
|
|
/Gbreve % 0x87 U+011E
|
|
/Lacute % 0x88 U+0139
|
|
/Lcaron % 0x89 U+013D
|
|
/Lslash % 0x8A U+0141
|
|
/Nacute % 0x8B U+0143
|
|
/Ncaron % 0x8C U+0147
|
|
/Eng % 0x8D U+014A
|
|
/Ohungarumlaut % 0x8E U+0150
|
|
/Racute % 0x8F U+0154
|
|
/Rcaron % 0x90 U+0158
|
|
/Sacute % 0x91 U+015A
|
|
/Scaron % 0x92 U+0160
|
|
/Scedilla % 0x93 U+015E
|
|
/Tcaron % 0x94 U+0164
|
|
/Tcedilla % 0x95 U+0162
|
|
/Uhungarumlaut % 0x96 U+0170
|
|
/Uring % 0x97 U+016E
|
|
/Ydieresis % 0x98 U+0178
|
|
/Zacute % 0x99 U+0179
|
|
/Zcaron % 0x9A U+017D
|
|
/Zdotaccent % 0x9B U+017B
|
|
/IJ % 0x9C U+0132
|
|
/Idotaccent % 0x9D U+0130
|
|
/dcroat % 0x9E U+0111
|
|
/section % 0x9F U+00A7
|
|
/abreve % 0xA0 U+0103
|
|
/aogonek % 0xA1 U+0105
|
|
/cacute % 0xA2 U+0107
|
|
/ccaron % 0xA3 U+010D
|
|
/dcaron % 0xA4 U+010F
|
|
/ecaron % 0xA5 U+011B
|
|
/eogonek % 0xA6 U+0119
|
|
/gbreve % 0xA7 U+011F
|
|
/lacute % 0xA8 U+013A
|
|
/lcaron % 0xA9 U+013E
|
|
/lslash % 0xAA U+0142
|
|
/nacute % 0xAB U+0144
|
|
/ncaron % 0xAC U+0148
|
|
/eng % 0xAD U+014B
|
|
/ohungarumlaut % 0xAE U+0151
|
|
/racute % 0xAF U+0155
|
|
/rcaron % 0xB0 U+0159
|
|
/sacute % 0xB1 U+015B
|
|
/scaron % 0xB2 U+0161
|
|
/scedilla % 0xB3 U+015F
|
|
/tcaron % 0xB4 U+0165
|
|
/tcedilla % 0xB5 U+0163
|
|
/uhungarumlaut % 0xB6 U+0171
|
|
/uring % 0xB7 U+016F
|
|
/ydieresis % 0xB8 U+00FF
|
|
/zacute % 0xB9 U+017A
|
|
/zcaron % 0xBA U+017E
|
|
/zdotaccent % 0xBB U+017C
|
|
/ij % 0xBC U+0133
|
|
/exclamdown % 0xBD U+00A1
|
|
/questiondown % 0xBE U+00BF
|
|
/sterling % 0xBF U+00A3
|
|
/Agrave % 0xC0
|
|
/Aacute % 0xC1
|
|
/Acircumflex % 0xC2
|
|
/Atilde % 0xC3
|
|
/Adieresis % 0xC4
|
|
/Aring % 0xC5
|
|
/AE % 0xC6
|
|
/Ccedilla % 0xC7
|
|
/Egrave % 0xC8
|
|
/Eacute % 0xC9
|
|
/Ecircumflex % 0xCA
|
|
/Edieresis % 0xCB
|
|
/Igrave % 0xCC
|
|
/Iacute % 0xCD
|
|
/Icircumflex % 0xCE
|
|
/Idieresis % 0xCF
|
|
/Eth % 0xD0
|
|
/Ntilde % 0xD1
|
|
/Ograve % 0xD2
|
|
/Oacute % 0xD3
|
|
/Ocircumflex % 0xD4
|
|
/Otilde % 0xD5
|
|
/Odieresis % 0xD6
|
|
/OE % 0xD7 U+0152
|
|
/Oslash % 0xD8
|
|
/Ugrave % 0xD9
|
|
/Uacute % 0xDA
|
|
/Ucircumflex % 0xDB
|
|
/Udieresis % 0xDC
|
|
/Yacute % 0xDD
|
|
/Thorn % 0xDE
|
|
/Germandbls % 0xDF (U+1E9E, /S_S)
|
|
/agrave % 0xE0
|
|
/aacute % 0xE1
|
|
/acircumflex % 0xE2
|
|
/atilde % 0xE3
|
|
/adieresis % 0xE4
|
|
/aring % 0xE5
|
|
/ae % 0xE6
|
|
/ccedilla % 0xE7
|
|
/egrave % 0xE8
|
|
/eacute % 0xE9
|
|
/ecircumflex % 0xEA
|
|
/edieresis % 0xEB
|
|
/igrave % 0xEC
|
|
/iacute % 0xED
|
|
/icircumflex % 0xEE
|
|
/idieresis % 0xEF
|
|
/eth % 0xF0
|
|
/ntilde % 0xF1
|
|
/ograve % 0xF2
|
|
/oacute % 0xF3
|
|
/ocircumflex % 0xF4
|
|
/otilde % 0xF5
|
|
/odieresis % 0xF6
|
|
/oe % 0xF7 U+0153
|
|
/oslash % 0xF8
|
|
/ugrave % 0xF9
|
|
/uacute % 0xFA
|
|
/ucircumflex % 0xFB
|
|
/udieresis % 0xFC
|
|
/yacute % 0xFD
|
|
/thorn % 0xFE
|
|
/germandbls % 0xFF U+00DF
|
|
] def
|
|
|