Next: , Previous: , Up: Encodings   [Contents][Index]


B.5 ‘ec.enc’: Cork encoding

% @@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

Next: , Previous: , Up: Encodings   [Contents][Index]