annotate vendor/plugins/rfpdf/lib/fpdf/makefont.rb @ 1478:5ca1f4a47171 bibplugin_db_migrations

Close obsolete branch bibplugin_db_migrations
author Chris Cannam
date Fri, 30 Nov 2012 14:40:50 +0000
parents cbce1fd3b1b7
children
rev   line source
Chris@441 1 #!/usr/bin/env ruby
Chris@441 2 #
Chris@441 3 # Utility to generate font definition files
Chris@441 4 # Version: 1.1
Chris@441 5 # Date: 2006-07-19
Chris@441 6 #
Chris@441 7 # Changelog:
Chris@441 8 # Version 1.1 - Brian Ollenberger
Chris@441 9 # - Fixed a very small bug in MakeFont for generating FontDef.diff.
Chris@441 10
Chris@441 11 Charencodings = {
Chris@441 12 # Central Europe
Chris@441 13 'cp1250' => [
Chris@441 14 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 15 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 16 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 17 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 18 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 19 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 20 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 21 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 22 'space', 'exclam', 'quotedbl', 'numbersign',
Chris@441 23 'dollar', 'percent', 'ampersand', 'quotesingle',
Chris@441 24 'parenleft', 'parenright', 'asterisk', 'plus',
Chris@441 25 'comma', 'hyphen', 'period', 'slash',
Chris@441 26 'zero', 'one', 'two', 'three',
Chris@441 27 'four', 'five', 'six', 'seven',
Chris@441 28 'eight', 'nine', 'colon', 'semicolon',
Chris@441 29 'less', 'equal', 'greater', 'question',
Chris@441 30 'at', 'A', 'B', 'C',
Chris@441 31 'D', 'E', 'F', 'G',
Chris@441 32 'H', 'I', 'J', 'K',
Chris@441 33 'L', 'M', 'N', 'O',
Chris@441 34 'P', 'Q', 'R', 'S',
Chris@441 35 'T', 'U', 'V', 'W',
Chris@441 36 'X', 'Y', 'Z', 'bracketleft',
Chris@441 37 'backslash', 'bracketright', 'asciicircum', 'underscore',
Chris@441 38 'grave', 'a', 'b', 'c',
Chris@441 39 'd', 'e', 'f', 'g',
Chris@441 40 'h', 'i', 'j', 'k',
Chris@441 41 'l', 'm', 'n', 'o',
Chris@441 42 'p', 'q', 'r', 's',
Chris@441 43 't', 'u', 'v', 'w',
Chris@441 44 'x', 'y', 'z', 'braceleft',
Chris@441 45 'bar', 'braceright', 'asciitilde', '.notdef',
Chris@441 46 'Euro', '.notdef', 'quotesinglbase', '.notdef',
Chris@441 47 'quotedblbase', 'ellipsis', 'dagger', 'daggerdbl',
Chris@441 48 '.notdef', 'perthousand', 'Scaron', 'guilsinglleft',
Chris@441 49 'Sacute', 'Tcaron', 'Zcaron', 'Zacute',
Chris@441 50 '.notdef', 'quoteleft', 'quoteright', 'quotedblleft',
Chris@441 51 'quotedblright', 'bullet', 'endash', 'emdash',
Chris@441 52 '.notdef', 'trademark', 'scaron', 'guilsinglright',
Chris@441 53 'sacute', 'tcaron', 'zcaron', 'zacute',
Chris@441 54 'space', 'caron', 'breve', 'Lslash',
Chris@441 55 'currency', 'Aogonek', 'brokenbar', 'section',
Chris@441 56 'dieresis', 'copyright', 'Scedilla', 'guillemotleft',
Chris@441 57 'logicalnot', 'hyphen', 'registered', 'Zdotaccent',
Chris@441 58 'degree', 'plusminus', 'ogonek', 'lslash',
Chris@441 59 'acute', 'mu', 'paragraph', 'periodcentered',
Chris@441 60 'cedilla', 'aogonek', 'scedilla', 'guillemotright',
Chris@441 61 'Lcaron', 'hungarumlaut', 'lcaron', 'zdotaccent',
Chris@441 62 'Racute', 'Aacute', 'Acircumflex', 'Abreve',
Chris@441 63 'Adieresis', 'Lacute', 'Cacute', 'Ccedilla',
Chris@441 64 'Ccaron', 'Eacute', 'Eogonek', 'Edieresis',
Chris@441 65 'Ecaron', 'Iacute', 'Icircumflex', 'Dcaron',
Chris@441 66 'Dcroat', 'Nacute', 'Ncaron', 'Oacute',
Chris@441 67 'Ocircumflex', 'Ohungarumlaut', 'Odieresis', 'multiply',
Chris@441 68 'Rcaron', 'Uring', 'Uacute', 'Uhungarumlaut',
Chris@441 69 'Udieresis', 'Yacute', 'Tcommaaccent', 'germandbls',
Chris@441 70 'racute', 'aacute', 'acircumflex', 'abreve',
Chris@441 71 'adieresis', 'lacute', 'cacute', 'ccedilla',
Chris@441 72 'ccaron', 'eacute', 'eogonek', 'edieresis',
Chris@441 73 'ecaron', 'iacute', 'icircumflex', 'dcaron',
Chris@441 74 'dcroat', 'nacute', 'ncaron', 'oacute',
Chris@441 75 'ocircumflex', 'ohungarumlaut', 'odieresis', 'divide',
Chris@441 76 'rcaron', 'uring', 'uacute', 'uhungarumlaut',
Chris@441 77 'udieresis', 'yacute', 'tcommaaccent', 'dotaccent'
Chris@441 78 ],
Chris@441 79 # Cyrillic
Chris@441 80 'cp1251' => [
Chris@441 81 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 82 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 83 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 84 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 85 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 86 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 87 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 88 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 89 'space', 'exclam', 'quotedbl', 'numbersign',
Chris@441 90 'dollar', 'percent', 'ampersand', 'quotesingle',
Chris@441 91 'parenleft', 'parenright', 'asterisk', 'plus',
Chris@441 92 'comma', 'hyphen', 'period', 'slash',
Chris@441 93 'zero', 'one', 'two', 'three',
Chris@441 94 'four', 'five', 'six', 'seven',
Chris@441 95 'eight', 'nine', 'colon', 'semicolon',
Chris@441 96 'less', 'equal', 'greater', 'question',
Chris@441 97 'at', 'A', 'B', 'C',
Chris@441 98 'D', 'E', 'F', 'G',
Chris@441 99 'H', 'I', 'J', 'K',
Chris@441 100 'L', 'M', 'N', 'O',
Chris@441 101 'P', 'Q', 'R', 'S',
Chris@441 102 'T', 'U', 'V', 'W',
Chris@441 103 'X', 'Y', 'Z', 'bracketleft',
Chris@441 104 'backslash', 'bracketright', 'asciicircum', 'underscore',
Chris@441 105 'grave', 'a', 'b', 'c',
Chris@441 106 'd', 'e', 'f', 'g',
Chris@441 107 'h', 'i', 'j', 'k',
Chris@441 108 'l', 'm', 'n', 'o',
Chris@441 109 'p', 'q', 'r', 's',
Chris@441 110 't', 'u', 'v', 'w',
Chris@441 111 'x', 'y', 'z', 'braceleft',
Chris@441 112 'bar', 'braceright', 'asciitilde', '.notdef',
Chris@441 113 'afii10051', 'afii10052', 'quotesinglbase', 'afii10100',
Chris@441 114 'quotedblbase', 'ellipsis', 'dagger', 'daggerdbl',
Chris@441 115 'Euro', 'perthousand', 'afii10058', 'guilsinglleft',
Chris@441 116 'afii10059', 'afii10061', 'afii10060', 'afii10145',
Chris@441 117 'afii10099', 'quoteleft', 'quoteright', 'quotedblleft',
Chris@441 118 'quotedblright', 'bullet', 'endash', 'emdash',
Chris@441 119 '.notdef', 'trademark', 'afii10106', 'guilsinglright',
Chris@441 120 'afii10107', 'afii10109', 'afii10108', 'afii10193',
Chris@441 121 'space', 'afii10062', 'afii10110', 'afii10057',
Chris@441 122 'currency', 'afii10050', 'brokenbar', 'section',
Chris@441 123 'afii10023', 'copyright', 'afii10053', 'guillemotleft',
Chris@441 124 'logicalnot', 'hyphen', 'registered', 'afii10056',
Chris@441 125 'degree', 'plusminus', 'afii10055', 'afii10103',
Chris@441 126 'afii10098', 'mu', 'paragraph', 'periodcentered',
Chris@441 127 'afii10071', 'afii61352', 'afii10101', 'guillemotright',
Chris@441 128 'afii10105', 'afii10054', 'afii10102', 'afii10104',
Chris@441 129 'afii10017', 'afii10018', 'afii10019', 'afii10020',
Chris@441 130 'afii10021', 'afii10022', 'afii10024', 'afii10025',
Chris@441 131 'afii10026', 'afii10027', 'afii10028', 'afii10029',
Chris@441 132 'afii10030', 'afii10031', 'afii10032', 'afii10033',
Chris@441 133 'afii10034', 'afii10035', 'afii10036', 'afii10037',
Chris@441 134 'afii10038', 'afii10039', 'afii10040', 'afii10041',
Chris@441 135 'afii10042', 'afii10043', 'afii10044', 'afii10045',
Chris@441 136 'afii10046', 'afii10047', 'afii10048', 'afii10049',
Chris@441 137 'afii10065', 'afii10066', 'afii10067', 'afii10068',
Chris@441 138 'afii10069', 'afii10070', 'afii10072', 'afii10073',
Chris@441 139 'afii10074', 'afii10075', 'afii10076', 'afii10077',
Chris@441 140 'afii10078', 'afii10079', 'afii10080', 'afii10081',
Chris@441 141 'afii10082', 'afii10083', 'afii10084', 'afii10085',
Chris@441 142 'afii10086', 'afii10087', 'afii10088', 'afii10089',
Chris@441 143 'afii10090', 'afii10091', 'afii10092', 'afii10093',
Chris@441 144 'afii10094', 'afii10095', 'afii10096', 'afii10097'
Chris@441 145 ],
Chris@441 146 # Western Europe
Chris@441 147 'cp1252' => [
Chris@441 148 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 149 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 150 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 151 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 152 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 153 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 154 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 155 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 156 'space', 'exclam', 'quotedbl', 'numbersign',
Chris@441 157 'dollar', 'percent', 'ampersand', 'quotesingle',
Chris@441 158 'parenleft', 'parenright', 'asterisk', 'plus',
Chris@441 159 'comma', 'hyphen', 'period', 'slash',
Chris@441 160 'zero', 'one', 'two', 'three',
Chris@441 161 'four', 'five', 'six', 'seven',
Chris@441 162 'eight', 'nine', 'colon', 'semicolon',
Chris@441 163 'less', 'equal', 'greater', 'question',
Chris@441 164 'at', 'A', 'B', 'C',
Chris@441 165 'D', 'E', 'F', 'G',
Chris@441 166 'H', 'I', 'J', 'K',
Chris@441 167 'L', 'M', 'N', 'O',
Chris@441 168 'P', 'Q', 'R', 'S',
Chris@441 169 'T', 'U', 'V', 'W',
Chris@441 170 'X', 'Y', 'Z', 'bracketleft',
Chris@441 171 'backslash', 'bracketright', 'asciicircum', 'underscore',
Chris@441 172 'grave', 'a', 'b', 'c',
Chris@441 173 'd', 'e', 'f', 'g',
Chris@441 174 'h', 'i', 'j', 'k',
Chris@441 175 'l', 'm', 'n', 'o',
Chris@441 176 'p', 'q', 'r', 's',
Chris@441 177 't', 'u', 'v', 'w',
Chris@441 178 'x', 'y', 'z', 'braceleft',
Chris@441 179 'bar', 'braceright', 'asciitilde', '.notdef',
Chris@441 180 'Euro', '.notdef', 'quotesinglbase', 'florin',
Chris@441 181 'quotedblbase', 'ellipsis', 'dagger', 'daggerdbl',
Chris@441 182 'circumflex', 'perthousand', 'Scaron', 'guilsinglleft',
Chris@441 183 'OE', '.notdef', 'Zcaron', '.notdef',
Chris@441 184 '.notdef', 'quoteleft', 'quoteright', 'quotedblleft',
Chris@441 185 'quotedblright', 'bullet', 'endash', 'emdash',
Chris@441 186 'tilde', 'trademark', 'scaron', 'guilsinglright',
Chris@441 187 'oe', '.notdef', 'zcaron', 'Ydieresis',
Chris@441 188 'space', 'exclamdown', 'cent', 'sterling',
Chris@441 189 'currency', 'yen', 'brokenbar', 'section',
Chris@441 190 'dieresis', 'copyright', 'ordfeminine', 'guillemotleft',
Chris@441 191 'logicalnot', 'hyphen', 'registered', 'macron',
Chris@441 192 'degree', 'plusminus', 'twosuperior', 'threesuperior',
Chris@441 193 'acute', 'mu', 'paragraph', 'periodcentered',
Chris@441 194 'cedilla', 'onesuperior', 'ordmasculine', 'guillemotright',
Chris@441 195 'onequarter', 'onehalf', 'threequarters', 'questiondown',
Chris@441 196 'Agrave', 'Aacute', 'Acircumflex', 'Atilde',
Chris@441 197 'Adieresis', 'Aring', 'AE', 'Ccedilla',
Chris@441 198 'Egrave', 'Eacute', 'Ecircumflex', 'Edieresis',
Chris@441 199 'Igrave', 'Iacute', 'Icircumflex', 'Idieresis',
Chris@441 200 'Eth', 'Ntilde', 'Ograve', 'Oacute',
Chris@441 201 'Ocircumflex', 'Otilde', 'Odieresis', 'multiply',
Chris@441 202 'Oslash', 'Ugrave', 'Uacute', 'Ucircumflex',
Chris@441 203 'Udieresis', 'Yacute', 'Thorn', 'germandbls',
Chris@441 204 'agrave', 'aacute', 'acircumflex', 'atilde',
Chris@441 205 'adieresis', 'aring', 'ae', 'ccedilla',
Chris@441 206 'egrave', 'eacute', 'ecircumflex', 'edieresis',
Chris@441 207 'igrave', 'iacute', 'icircumflex', 'idieresis',
Chris@441 208 'eth', 'ntilde', 'ograve', 'oacute',
Chris@441 209 'ocircumflex', 'otilde', 'odieresis', 'divide',
Chris@441 210 'oslash', 'ugrave', 'uacute', 'ucircumflex',
Chris@441 211 'udieresis', 'yacute', 'thorn', 'ydieresis'
Chris@441 212 ],
Chris@441 213 # Greek
Chris@441 214 'cp1253' => [
Chris@441 215 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 216 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 217 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 218 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 219 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 220 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 221 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 222 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 223 'space', 'exclam', 'quotedbl', 'numbersign',
Chris@441 224 'dollar', 'percent', 'ampersand', 'quotesingle',
Chris@441 225 'parenleft', 'parenright', 'asterisk', 'plus',
Chris@441 226 'comma', 'hyphen', 'period', 'slash',
Chris@441 227 'zero', 'one', 'two', 'three',
Chris@441 228 'four', 'five', 'six', 'seven',
Chris@441 229 'eight', 'nine', 'colon', 'semicolon',
Chris@441 230 'less', 'equal', 'greater', 'question',
Chris@441 231 'at', 'A', 'B', 'C',
Chris@441 232 'D', 'E', 'F', 'G',
Chris@441 233 'H', 'I', 'J', 'K',
Chris@441 234 'L', 'M', 'N', 'O',
Chris@441 235 'P', 'Q', 'R', 'S',
Chris@441 236 'T', 'U', 'V', 'W',
Chris@441 237 'X', 'Y', 'Z', 'bracketleft',
Chris@441 238 'backslash', 'bracketright', 'asciicircum', 'underscore',
Chris@441 239 'grave', 'a', 'b', 'c',
Chris@441 240 'd', 'e', 'f', 'g',
Chris@441 241 'h', 'i', 'j', 'k',
Chris@441 242 'l', 'm', 'n', 'o',
Chris@441 243 'p', 'q', 'r', 's',
Chris@441 244 't', 'u', 'v', 'w',
Chris@441 245 'x', 'y', 'z', 'braceleft',
Chris@441 246 'bar', 'braceright', 'asciitilde', '.notdef',
Chris@441 247 'Euro', '.notdef', 'quotesinglbase', 'florin',
Chris@441 248 'quotedblbase', 'ellipsis', 'dagger', 'daggerdbl',
Chris@441 249 '.notdef', 'perthousand', '.notdef', 'guilsinglleft',
Chris@441 250 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 251 '.notdef', 'quoteleft', 'quoteright', 'quotedblleft',
Chris@441 252 'quotedblright', 'bullet', 'endash', 'emdash',
Chris@441 253 '.notdef', 'trademark', '.notdef', 'guilsinglright',
Chris@441 254 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 255 'space', 'dieresistonos', 'Alphatonos', 'sterling',
Chris@441 256 'currency', 'yen', 'brokenbar', 'section',
Chris@441 257 'dieresis', 'copyright', '.notdef', 'guillemotleft',
Chris@441 258 'logicalnot', 'hyphen', 'registered', 'afii00208',
Chris@441 259 'degree', 'plusminus', 'twosuperior', 'threesuperior',
Chris@441 260 'tonos', 'mu', 'paragraph', 'periodcentered',
Chris@441 261 'Epsilontonos', 'Etatonos', 'Iotatonos', 'guillemotright',
Chris@441 262 'Omicrontonos', 'onehalf', 'Upsilontonos', 'Omegatonos',
Chris@441 263 'iotadieresistonos','Alpha', 'Beta', 'Gamma',
Chris@441 264 'Delta', 'Epsilon', 'Zeta', 'Eta',
Chris@441 265 'Theta', 'Iota', 'Kappa', 'Lambda',
Chris@441 266 'Mu', 'Nu', 'Xi', 'Omicron',
Chris@441 267 'Pi', 'Rho', '.notdef', 'Sigma',
Chris@441 268 'Tau', 'Upsilon', 'Phi', 'Chi',
Chris@441 269 'Psi', 'Omega', 'Iotadieresis', 'Upsilondieresis',
Chris@441 270 'alphatonos', 'epsilontonos', 'etatonos', 'iotatonos',
Chris@441 271 'upsilondieresistonos','alpha', 'beta', 'gamma',
Chris@441 272 'delta', 'epsilon', 'zeta', 'eta',
Chris@441 273 'theta', 'iota', 'kappa', 'lambda',
Chris@441 274 'mu', 'nu', 'xi', 'omicron',
Chris@441 275 'pi', 'rho', 'sigma1', 'sigma',
Chris@441 276 'tau', 'upsilon', 'phi', 'chi',
Chris@441 277 'psi', 'omega', 'iotadieresis', 'upsilondieresis',
Chris@441 278 'omicrontonos', 'upsilontonos', 'omegatonos', '.notdef'
Chris@441 279 ],
Chris@441 280 # Turkish
Chris@441 281 'cp1254' => [
Chris@441 282 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 283 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 284 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 285 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 286 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 287 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 288 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 289 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 290 'space', 'exclam', 'quotedbl', 'numbersign',
Chris@441 291 'dollar', 'percent', 'ampersand', 'quotesingle',
Chris@441 292 'parenleft', 'parenright', 'asterisk', 'plus',
Chris@441 293 'comma', 'hyphen', 'period', 'slash',
Chris@441 294 'zero', 'one', 'two', 'three',
Chris@441 295 'four', 'five', 'six', 'seven',
Chris@441 296 'eight', 'nine', 'colon', 'semicolon',
Chris@441 297 'less', 'equal', 'greater', 'question',
Chris@441 298 'at', 'A', 'B', 'C',
Chris@441 299 'D', 'E', 'F', 'G',
Chris@441 300 'H', 'I', 'J', 'K',
Chris@441 301 'L', 'M', 'N', 'O',
Chris@441 302 'P', 'Q', 'R', 'S',
Chris@441 303 'T', 'U', 'V', 'W',
Chris@441 304 'X', 'Y', 'Z', 'bracketleft',
Chris@441 305 'backslash', 'bracketright', 'asciicircum', 'underscore',
Chris@441 306 'grave', 'a', 'b', 'c',
Chris@441 307 'd', 'e', 'f', 'g',
Chris@441 308 'h', 'i', 'j', 'k',
Chris@441 309 'l', 'm', 'n', 'o',
Chris@441 310 'p', 'q', 'r', 's',
Chris@441 311 't', 'u', 'v', 'w',
Chris@441 312 'x', 'y', 'z', 'braceleft',
Chris@441 313 'bar', 'braceright', 'asciitilde', '.notdef',
Chris@441 314 'Euro', '.notdef', 'quotesinglbase', 'florin',
Chris@441 315 'quotedblbase', 'ellipsis', 'dagger', 'daggerdbl',
Chris@441 316 'circumflex', 'perthousand', 'Scaron', 'guilsinglleft',
Chris@441 317 'OE', '.notdef', '.notdef', '.notdef',
Chris@441 318 '.notdef', 'quoteleft', 'quoteright', 'quotedblleft',
Chris@441 319 'quotedblright', 'bullet', 'endash', 'emdash',
Chris@441 320 'tilde', 'trademark', 'scaron', 'guilsinglright',
Chris@441 321 'oe', '.notdef', '.notdef', 'Ydieresis',
Chris@441 322 'space', 'exclamdown', 'cent', 'sterling',
Chris@441 323 'currency', 'yen', 'brokenbar', 'section',
Chris@441 324 'dieresis', 'copyright', 'ordfeminine', 'guillemotleft',
Chris@441 325 'logicalnot', 'hyphen', 'registered', 'macron',
Chris@441 326 'degree', 'plusminus', 'twosuperior', 'threesuperior',
Chris@441 327 'acute', 'mu', 'paragraph', 'periodcentered',
Chris@441 328 'cedilla', 'onesuperior', 'ordmasculine', 'guillemotright',
Chris@441 329 'onequarter', 'onehalf', 'threequarters', 'questiondown',
Chris@441 330 'Agrave', 'Aacute', 'Acircumflex', 'Atilde',
Chris@441 331 'Adieresis', 'Aring', 'AE', 'Ccedilla',
Chris@441 332 'Egrave', 'Eacute', 'Ecircumflex', 'Edieresis',
Chris@441 333 'Igrave', 'Iacute', 'Icircumflex', 'Idieresis',
Chris@441 334 'Gbreve', 'Ntilde', 'Ograve', 'Oacute',
Chris@441 335 'Ocircumflex', 'Otilde', 'Odieresis', 'multiply',
Chris@441 336 'Oslash', 'Ugrave', 'Uacute', 'Ucircumflex',
Chris@441 337 'Udieresis', 'Idotaccent', 'Scedilla', 'germandbls',
Chris@441 338 'agrave', 'aacute', 'acircumflex', 'atilde',
Chris@441 339 'adieresis', 'aring', 'ae', 'ccedilla',
Chris@441 340 'egrave', 'eacute', 'ecircumflex', 'edieresis',
Chris@441 341 'igrave', 'iacute', 'icircumflex', 'idieresis',
Chris@441 342 'gbreve', 'ntilde', 'ograve', 'oacute',
Chris@441 343 'ocircumflex', 'otilde', 'odieresis', 'divide',
Chris@441 344 'oslash', 'ugrave', 'uacute', 'ucircumflex',
Chris@441 345 'udieresis', 'dotlessi', 'scedilla', 'ydieresis'
Chris@441 346 ],
Chris@441 347 # Hebrew
Chris@441 348 'cp1255' => [
Chris@441 349 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 350 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 351 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 352 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 353 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 354 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 355 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 356 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 357 'space', 'exclam', 'quotedbl', 'numbersign',
Chris@441 358 'dollar', 'percent', 'ampersand', 'quotesingle',
Chris@441 359 'parenleft', 'parenright', 'asterisk', 'plus',
Chris@441 360 'comma', 'hyphen', 'period', 'slash',
Chris@441 361 'zero', 'one', 'two', 'three',
Chris@441 362 'four', 'five', 'six', 'seven',
Chris@441 363 'eight', 'nine', 'colon', 'semicolon',
Chris@441 364 'less', 'equal', 'greater', 'question',
Chris@441 365 'at', 'A', 'B', 'C',
Chris@441 366 'D', 'E', 'F', 'G',
Chris@441 367 'H', 'I', 'J', 'K',
Chris@441 368 'L', 'M', 'N', 'O',
Chris@441 369 'P', 'Q', 'R', 'S',
Chris@441 370 'T', 'U', 'V', 'W',
Chris@441 371 'X', 'Y', 'Z', 'bracketleft',
Chris@441 372 'backslash', 'bracketright', 'asciicircum', 'underscore',
Chris@441 373 'grave', 'a', 'b', 'c',
Chris@441 374 'd', 'e', 'f', 'g',
Chris@441 375 'h', 'i', 'j', 'k',
Chris@441 376 'l', 'm', 'n', 'o',
Chris@441 377 'p', 'q', 'r', 's',
Chris@441 378 't', 'u', 'v', 'w',
Chris@441 379 'x', 'y', 'z', 'braceleft',
Chris@441 380 'bar', 'braceright', 'asciitilde', '.notdef',
Chris@441 381 'Euro', '.notdef', 'quotesinglbase', 'florin',
Chris@441 382 'quotedblbase', 'ellipsis', 'dagger', 'daggerdbl',
Chris@441 383 'circumflex', 'perthousand', '.notdef', 'guilsinglleft',
Chris@441 384 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 385 '.notdef', 'quoteleft', 'quoteright', 'quotedblleft',
Chris@441 386 'quotedblright', 'bullet', 'endash', 'emdash',
Chris@441 387 'tilde', 'trademark', '.notdef', 'guilsinglright',
Chris@441 388 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 389 'space', 'exclamdown', 'cent', 'sterling',
Chris@441 390 'afii57636', 'yen', 'brokenbar', 'section',
Chris@441 391 'dieresis', 'copyright', 'multiply', 'guillemotleft',
Chris@441 392 'logicalnot', 'sfthyphen', 'registered', 'macron',
Chris@441 393 'degree', 'plusminus', 'twosuperior', 'threesuperior',
Chris@441 394 'acute', 'mu', 'paragraph', 'middot',
Chris@441 395 'cedilla', 'onesuperior', 'divide', 'guillemotright',
Chris@441 396 'onequarter', 'onehalf', 'threequarters', 'questiondown',
Chris@441 397 'afii57799', 'afii57801', 'afii57800', 'afii57802',
Chris@441 398 'afii57793', 'afii57794', 'afii57795', 'afii57798',
Chris@441 399 'afii57797', 'afii57806', '.notdef', 'afii57796',
Chris@441 400 'afii57807', 'afii57839', 'afii57645', 'afii57841',
Chris@441 401 'afii57842', 'afii57804', 'afii57803', 'afii57658',
Chris@441 402 'afii57716', 'afii57717', 'afii57718', 'gereshhebrew',
Chris@441 403 'gershayimhebrew','.notdef', '.notdef', '.notdef',
Chris@441 404 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 405 'afii57664', 'afii57665', 'afii57666', 'afii57667',
Chris@441 406 'afii57668', 'afii57669', 'afii57670', 'afii57671',
Chris@441 407 'afii57672', 'afii57673', 'afii57674', 'afii57675',
Chris@441 408 'afii57676', 'afii57677', 'afii57678', 'afii57679',
Chris@441 409 'afii57680', 'afii57681', 'afii57682', 'afii57683',
Chris@441 410 'afii57684', 'afii57685', 'afii57686', 'afii57687',
Chris@441 411 'afii57688', 'afii57689', 'afii57690', '.notdef',
Chris@441 412 '.notdef', 'afii299', 'afii300', '.notdef'
Chris@441 413 ],
Chris@441 414 # Baltic
Chris@441 415 'cp1257' => [
Chris@441 416 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 417 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 418 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 419 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 420 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 421 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 422 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 423 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 424 'space', 'exclam', 'quotedbl', 'numbersign',
Chris@441 425 'dollar', 'percent', 'ampersand', 'quotesingle',
Chris@441 426 'parenleft', 'parenright', 'asterisk', 'plus',
Chris@441 427 'comma', 'hyphen', 'period', 'slash',
Chris@441 428 'zero', 'one', 'two', 'three',
Chris@441 429 'four', 'five', 'six', 'seven',
Chris@441 430 'eight', 'nine', 'colon', 'semicolon',
Chris@441 431 'less', 'equal', 'greater', 'question',
Chris@441 432 'at', 'A', 'B', 'C',
Chris@441 433 'D', 'E', 'F', 'G',
Chris@441 434 'H', 'I', 'J', 'K',
Chris@441 435 'L', 'M', 'N', 'O',
Chris@441 436 'P', 'Q', 'R', 'S',
Chris@441 437 'T', 'U', 'V', 'W',
Chris@441 438 'X', 'Y', 'Z', 'bracketleft',
Chris@441 439 'backslash', 'bracketright', 'asciicircum', 'underscore',
Chris@441 440 'grave', 'a', 'b', 'c',
Chris@441 441 'd', 'e', 'f', 'g',
Chris@441 442 'h', 'i', 'j', 'k',
Chris@441 443 'l', 'm', 'n', 'o',
Chris@441 444 'p', 'q', 'r', 's',
Chris@441 445 't', 'u', 'v', 'w',
Chris@441 446 'x', 'y', 'z', 'braceleft',
Chris@441 447 'bar', 'braceright', 'asciitilde', '.notdef',
Chris@441 448 'Euro', '.notdef', 'quotesinglbase', '.notdef',
Chris@441 449 'quotedblbase', 'ellipsis', 'dagger', 'daggerdbl',
Chris@441 450 '.notdef', 'perthousand', '.notdef', 'guilsinglleft',
Chris@441 451 '.notdef', 'dieresis', 'caron', 'cedilla',
Chris@441 452 '.notdef', 'quoteleft', 'quoteright', 'quotedblleft',
Chris@441 453 'quotedblright', 'bullet', 'endash', 'emdash',
Chris@441 454 '.notdef', 'trademark', '.notdef', 'guilsinglright',
Chris@441 455 '.notdef', 'macron', 'ogonek', '.notdef',
Chris@441 456 'space', '.notdef', 'cent', 'sterling',
Chris@441 457 'currency', '.notdef', 'brokenbar', 'section',
Chris@441 458 'Oslash', 'copyright', 'Rcommaaccent', 'guillemotleft',
Chris@441 459 'logicalnot', 'hyphen', 'registered', 'AE',
Chris@441 460 'degree', 'plusminus', 'twosuperior', 'threesuperior',
Chris@441 461 'acute', 'mu', 'paragraph', 'periodcentered',
Chris@441 462 'oslash', 'onesuperior', 'rcommaaccent', 'guillemotright',
Chris@441 463 'onequarter', 'onehalf', 'threequarters', 'ae',
Chris@441 464 'Aogonek', 'Iogonek', 'Amacron', 'Cacute',
Chris@441 465 'Adieresis', 'Aring', 'Eogonek', 'Emacron',
Chris@441 466 'Ccaron', 'Eacute', 'Zacute', 'Edotaccent',
Chris@441 467 'Gcommaaccent', 'Kcommaaccent', 'Imacron', 'Lcommaaccent',
Chris@441 468 'Scaron', 'Nacute', 'Ncommaaccent', 'Oacute',
Chris@441 469 'Omacron', 'Otilde', 'Odieresis', 'multiply',
Chris@441 470 'Uogonek', 'Lslash', 'Sacute', 'Umacron',
Chris@441 471 'Udieresis', 'Zdotaccent', 'Zcaron', 'germandbls',
Chris@441 472 'aogonek', 'iogonek', 'amacron', 'cacute',
Chris@441 473 'adieresis', 'aring', 'eogonek', 'emacron',
Chris@441 474 'ccaron', 'eacute', 'zacute', 'edotaccent',
Chris@441 475 'gcommaaccent', 'kcommaaccent', 'imacron', 'lcommaaccent',
Chris@441 476 'scaron', 'nacute', 'ncommaaccent', 'oacute',
Chris@441 477 'omacron', 'otilde', 'odieresis', 'divide',
Chris@441 478 'uogonek', 'lslash', 'sacute', 'umacron',
Chris@441 479 'udieresis', 'zdotaccent', 'zcaron', 'dotaccent'
Chris@441 480 ],
Chris@441 481 # Vietnamese
Chris@441 482 'cp1258' => [
Chris@441 483 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 484 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 485 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 486 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 487 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 488 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 489 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 490 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 491 'space', 'exclam', 'quotedbl', 'numbersign',
Chris@441 492 'dollar', 'percent', 'ampersand', 'quotesingle',
Chris@441 493 'parenleft', 'parenright', 'asterisk', 'plus',
Chris@441 494 'comma', 'hyphen', 'period', 'slash',
Chris@441 495 'zero', 'one', 'two', 'three',
Chris@441 496 'four', 'five', 'six', 'seven',
Chris@441 497 'eight', 'nine', 'colon', 'semicolon',
Chris@441 498 'less', 'equal', 'greater', 'question',
Chris@441 499 'at', 'A', 'B', 'C',
Chris@441 500 'D', 'E', 'F', 'G',
Chris@441 501 'H', 'I', 'J', 'K',
Chris@441 502 'L', 'M', 'N', 'O',
Chris@441 503 'P', 'Q', 'R', 'S',
Chris@441 504 'T', 'U', 'V', 'W',
Chris@441 505 'X', 'Y', 'Z', 'bracketleft',
Chris@441 506 'backslash', 'bracketright', 'asciicircum', 'underscore',
Chris@441 507 'grave', 'a', 'b', 'c',
Chris@441 508 'd', 'e', 'f', 'g',
Chris@441 509 'h', 'i', 'j', 'k',
Chris@441 510 'l', 'm', 'n', 'o',
Chris@441 511 'p', 'q', 'r', 's',
Chris@441 512 't', 'u', 'v', 'w',
Chris@441 513 'x', 'y', 'z', 'braceleft',
Chris@441 514 'bar', 'braceright', 'asciitilde', '.notdef',
Chris@441 515 'Euro', '.notdef', 'quotesinglbase', 'florin',
Chris@441 516 'quotedblbase', 'ellipsis', 'dagger', 'daggerdbl',
Chris@441 517 'circumflex', 'perthousand', '.notdef', 'guilsinglleft',
Chris@441 518 'OE', '.notdef', '.notdef', '.notdef',
Chris@441 519 '.notdef', 'quoteleft', 'quoteright', 'quotedblleft',
Chris@441 520 'quotedblright', 'bullet', 'endash', 'emdash',
Chris@441 521 'tilde', 'trademark', '.notdef', 'guilsinglright',
Chris@441 522 'oe', '.notdef', '.notdef', 'Ydieresis',
Chris@441 523 'space', 'exclamdown', 'cent', 'sterling',
Chris@441 524 'currency', 'yen', 'brokenbar', 'section',
Chris@441 525 'dieresis', 'copyright', 'ordfeminine', 'guillemotleft',
Chris@441 526 'logicalnot', 'hyphen', 'registered', 'macron',
Chris@441 527 'degree', 'plusminus', 'twosuperior', 'threesuperior',
Chris@441 528 'acute', 'mu', 'paragraph', 'periodcentered',
Chris@441 529 'cedilla', 'onesuperior', 'ordmasculine', 'guillemotright',
Chris@441 530 'onequarter', 'onehalf', 'threequarters', 'questiondown',
Chris@441 531 'Agrave', 'Aacute', 'Acircumflex', 'Abreve',
Chris@441 532 'Adieresis', 'Aring', 'AE', 'Ccedilla',
Chris@441 533 'Egrave', 'Eacute', 'Ecircumflex', 'Edieresis',
Chris@441 534 'gravecomb', 'Iacute', 'Icircumflex', 'Idieresis',
Chris@441 535 'Dcroat', 'Ntilde', 'hookabovecomb', 'Oacute',
Chris@441 536 'Ocircumflex', 'Ohorn', 'Odieresis', 'multiply',
Chris@441 537 'Oslash', 'Ugrave', 'Uacute', 'Ucircumflex',
Chris@441 538 'Udieresis', 'Uhorn', 'tildecomb', 'germandbls',
Chris@441 539 'agrave', 'aacute', 'acircumflex', 'abreve',
Chris@441 540 'adieresis', 'aring', 'ae', 'ccedilla',
Chris@441 541 'egrave', 'eacute', 'ecircumflex', 'edieresis',
Chris@441 542 'acutecomb', 'iacute', 'icircumflex', 'idieresis',
Chris@441 543 'dcroat', 'ntilde', 'dotbelowcomb', 'oacute',
Chris@441 544 'ocircumflex', 'ohorn', 'odieresis', 'divide',
Chris@441 545 'oslash', 'ugrave', 'uacute', 'ucircumflex',
Chris@441 546 'udieresis', 'uhorn', 'dong', 'ydieresis'
Chris@441 547 ],
Chris@441 548 # Thai
Chris@441 549 'cp874' => [
Chris@441 550 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 551 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 552 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 553 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 554 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 555 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 556 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 557 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 558 'space', 'exclam', 'quotedbl', 'numbersign',
Chris@441 559 'dollar', 'percent', 'ampersand', 'quotesingle',
Chris@441 560 'parenleft', 'parenright', 'asterisk', 'plus',
Chris@441 561 'comma', 'hyphen', 'period', 'slash',
Chris@441 562 'zero', 'one', 'two', 'three',
Chris@441 563 'four', 'five', 'six', 'seven',
Chris@441 564 'eight', 'nine', 'colon', 'semicolon',
Chris@441 565 'less', 'equal', 'greater', 'question',
Chris@441 566 'at', 'A', 'B', 'C',
Chris@441 567 'D', 'E', 'F', 'G',
Chris@441 568 'H', 'I', 'J', 'K',
Chris@441 569 'L', 'M', 'N', 'O',
Chris@441 570 'P', 'Q', 'R', 'S',
Chris@441 571 'T', 'U', 'V', 'W',
Chris@441 572 'X', 'Y', 'Z', 'bracketleft',
Chris@441 573 'backslash', 'bracketright', 'asciicircum', 'underscore',
Chris@441 574 'grave', 'a', 'b', 'c',
Chris@441 575 'd', 'e', 'f', 'g',
Chris@441 576 'h', 'i', 'j', 'k',
Chris@441 577 'l', 'm', 'n', 'o',
Chris@441 578 'p', 'q', 'r', 's',
Chris@441 579 't', 'u', 'v', 'w',
Chris@441 580 'x', 'y', 'z', 'braceleft',
Chris@441 581 'bar', 'braceright', 'asciitilde', '.notdef',
Chris@441 582 'Euro', '.notdef', '.notdef', '.notdef',
Chris@441 583 '.notdef', 'ellipsis', '.notdef', '.notdef',
Chris@441 584 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 585 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 586 '.notdef', 'quoteleft', 'quoteright', 'quotedblleft',
Chris@441 587 'quotedblright', 'bullet', 'endash', 'emdash',
Chris@441 588 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 589 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 590 'space', 'kokaithai', 'khokhaithai', 'khokhuatthai',
Chris@441 591 'khokhwaithai', 'khokhonthai', 'khorakhangthai', 'ngonguthai',
Chris@441 592 'chochanthai', 'chochingthai', 'chochangthai', 'sosothai',
Chris@441 593 'chochoethai', 'yoyingthai', 'dochadathai', 'topatakthai',
Chris@441 594 'thothanthai', 'thonangmonthothai', 'thophuthaothai', 'nonenthai',
Chris@441 595 'dodekthai', 'totaothai', 'thothungthai', 'thothahanthai',
Chris@441 596 'thothongthai', 'nonuthai', 'bobaimaithai', 'poplathai',
Chris@441 597 'phophungthai', 'fofathai', 'phophanthai', 'fofanthai',
Chris@441 598 'phosamphaothai', 'momathai', 'yoyakthai', 'roruathai',
Chris@441 599 'ruthai', 'lolingthai', 'luthai', 'wowaenthai',
Chris@441 600 'sosalathai', 'sorusithai', 'sosuathai', 'hohipthai',
Chris@441 601 'lochulathai', 'oangthai', 'honokhukthai', 'paiyannoithai',
Chris@441 602 'saraathai', 'maihanakatthai', 'saraaathai', 'saraamthai',
Chris@441 603 'saraithai', 'saraiithai', 'sarauethai', 'saraueethai',
Chris@441 604 'sarauthai', 'sarauuthai', 'phinthuthai', '.notdef',
Chris@441 605 '.notdef', '.notdef', '.notdef', 'bahtthai',
Chris@441 606 'saraethai', 'saraaethai', 'saraothai', 'saraaimaimuanthai',
Chris@441 607 'saraaimaimalaithai', 'lakkhangyaothai', 'maiyamokthai', 'maitaikhuthai',
Chris@441 608 'maiekthai', 'maithothai', 'maitrithai', 'maichattawathai',
Chris@441 609 'thanthakhatthai', 'nikhahitthai', 'yamakkanthai', 'fongmanthai',
Chris@441 610 'zerothai', 'onethai', 'twothai', 'threethai',
Chris@441 611 'fourthai', 'fivethai', 'sixthai', 'seventhai',
Chris@441 612 'eightthai', 'ninethai', 'angkhankhuthai', 'khomutthai',
Chris@441 613 '.notdef', '.notdef', '.notdef', '.notdef'
Chris@441 614 ],
Chris@441 615 # Western Europe
Chris@441 616 'ISO-8859-1' => [
Chris@441 617 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 618 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 619 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 620 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 621 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 622 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 623 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 624 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 625 'space', 'exclam', 'quotedbl', 'numbersign',
Chris@441 626 'dollar', 'percent', 'ampersand', 'quotesingle',
Chris@441 627 'parenleft', 'parenright', 'asterisk', 'plus',
Chris@441 628 'comma', 'hyphen', 'period', 'slash',
Chris@441 629 'zero', 'one', 'two', 'three',
Chris@441 630 'four', 'five', 'six', 'seven',
Chris@441 631 'eight', 'nine', 'colon', 'semicolon',
Chris@441 632 'less', 'equal', 'greater', 'question',
Chris@441 633 'at', 'A', 'B', 'C',
Chris@441 634 'D', 'E', 'F', 'G',
Chris@441 635 'H', 'I', 'J', 'K',
Chris@441 636 'L', 'M', 'N', 'O',
Chris@441 637 'P', 'Q', 'R', 'S',
Chris@441 638 'T', 'U', 'V', 'W',
Chris@441 639 'X', 'Y', 'Z', 'bracketleft',
Chris@441 640 'backslash', 'bracketright', 'asciicircum', 'underscore',
Chris@441 641 'grave', 'a', 'b', 'c',
Chris@441 642 'd', 'e', 'f', 'g',
Chris@441 643 'h', 'i', 'j', 'k',
Chris@441 644 'l', 'm', 'n', 'o',
Chris@441 645 'p', 'q', 'r', 's',
Chris@441 646 't', 'u', 'v', 'w',
Chris@441 647 'x', 'y', 'z', 'braceleft',
Chris@441 648 'bar', 'braceright', 'asciitilde', '.notdef',
Chris@441 649 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 650 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 651 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 652 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 653 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 654 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 655 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 656 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 657 'space', 'exclamdown', 'cent', 'sterling',
Chris@441 658 'currency', 'yen', 'brokenbar', 'section',
Chris@441 659 'dieresis', 'copyright', 'ordfeminine', 'guillemotleft',
Chris@441 660 'logicalnot', 'hyphen', 'registered', 'macron',
Chris@441 661 'degree', 'plusminus', 'twosuperior', 'threesuperior',
Chris@441 662 'acute', 'mu', 'paragraph', 'periodcentered',
Chris@441 663 'cedilla', 'onesuperior', 'ordmasculine', 'guillemotright',
Chris@441 664 'onequarter', 'onehalf', 'threequarters', 'questiondown',
Chris@441 665 'Agrave', 'Aacute', 'Acircumflex', 'Atilde',
Chris@441 666 'Adieresis', 'Aring', 'AE', 'Ccedilla',
Chris@441 667 'Egrave', 'Eacute', 'Ecircumflex', 'Edieresis',
Chris@441 668 'Igrave', 'Iacute', 'Icircumflex', 'Idieresis',
Chris@441 669 'Eth', 'Ntilde', 'Ograve', 'Oacute',
Chris@441 670 'Ocircumflex', 'Otilde', 'Odieresis', 'multiply',
Chris@441 671 'Oslash', 'Ugrave', 'Uacute', 'Ucircumflex',
Chris@441 672 'Udieresis', 'Yacute', 'Thorn', 'germandbls',
Chris@441 673 'agrave', 'aacute', 'acircumflex', 'atilde',
Chris@441 674 'adieresis', 'aring', 'ae', 'ccedilla',
Chris@441 675 'egrave', 'eacute', 'ecircumflex', 'edieresis',
Chris@441 676 'igrave', 'iacute', 'icircumflex', 'idieresis',
Chris@441 677 'eth', 'ntilde', 'ograve', 'oacute',
Chris@441 678 'ocircumflex', 'otilde', 'odieresis', 'divide',
Chris@441 679 'oslash', 'ugrave', 'uacute', 'ucircumflex',
Chris@441 680 'udieresis', 'yacute', 'thorn', 'ydieresis'
Chris@441 681 ],
Chris@441 682 # Central Europe
Chris@441 683 'ISO-8859-2' => [
Chris@441 684 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 685 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 686 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 687 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 688 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 689 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 690 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 691 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 692 'space', 'exclam', 'quotedbl', 'numbersign',
Chris@441 693 'dollar', 'percent', 'ampersand', 'quotesingle',
Chris@441 694 'parenleft', 'parenright', 'asterisk', 'plus',
Chris@441 695 'comma', 'hyphen', 'period', 'slash',
Chris@441 696 'zero', 'one', 'two', 'three',
Chris@441 697 'four', 'five', 'six', 'seven',
Chris@441 698 'eight', 'nine', 'colon', 'semicolon',
Chris@441 699 'less', 'equal', 'greater', 'question',
Chris@441 700 'at', 'A', 'B', 'C',
Chris@441 701 'D', 'E', 'F', 'G',
Chris@441 702 'H', 'I', 'J', 'K',
Chris@441 703 'L', 'M', 'N', 'O',
Chris@441 704 'P', 'Q', 'R', 'S',
Chris@441 705 'T', 'U', 'V', 'W',
Chris@441 706 'X', 'Y', 'Z', 'bracketleft',
Chris@441 707 'backslash', 'bracketright', 'asciicircum', 'underscore',
Chris@441 708 'grave', 'a', 'b', 'c',
Chris@441 709 'd', 'e', 'f', 'g',
Chris@441 710 'h', 'i', 'j', 'k',
Chris@441 711 'l', 'm', 'n', 'o',
Chris@441 712 'p', 'q', 'r', 's',
Chris@441 713 't', 'u', 'v', 'w',
Chris@441 714 'x', 'y', 'z', 'braceleft',
Chris@441 715 'bar', 'braceright', 'asciitilde', '.notdef',
Chris@441 716 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 717 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 718 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 719 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 720 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 721 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 722 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 723 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 724 'space', 'Aogonek', 'breve', 'Lslash',
Chris@441 725 'currency', 'Lcaron', 'Sacute', 'section',
Chris@441 726 'dieresis', 'Scaron', 'Scedilla', 'Tcaron',
Chris@441 727 'Zacute', 'hyphen', 'Zcaron', 'Zdotaccent',
Chris@441 728 'degree', 'aogonek', 'ogonek', 'lslash',
Chris@441 729 'acute', 'lcaron', 'sacute', 'caron',
Chris@441 730 'cedilla', 'scaron', 'scedilla', 'tcaron',
Chris@441 731 'zacute', 'hungarumlaut', 'zcaron', 'zdotaccent',
Chris@441 732 'Racute', 'Aacute', 'Acircumflex', 'Abreve',
Chris@441 733 'Adieresis', 'Lacute', 'Cacute', 'Ccedilla',
Chris@441 734 'Ccaron', 'Eacute', 'Eogonek', 'Edieresis',
Chris@441 735 'Ecaron', 'Iacute', 'Icircumflex', 'Dcaron',
Chris@441 736 'Dcroat', 'Nacute', 'Ncaron', 'Oacute',
Chris@441 737 'Ocircumflex', 'Ohungarumlaut', 'Odieresis', 'multiply',
Chris@441 738 'Rcaron', 'Uring', 'Uacute', 'Uhungarumlaut',
Chris@441 739 'Udieresis', 'Yacute', 'Tcommaaccent', 'germandbls',
Chris@441 740 'racute', 'aacute', 'acircumflex', 'abreve',
Chris@441 741 'adieresis', 'lacute', 'cacute', 'ccedilla',
Chris@441 742 'ccaron', 'eacute', 'eogonek', 'edieresis',
Chris@441 743 'ecaron', 'iacute', 'icircumflex', 'dcaron',
Chris@441 744 'dcroat', 'nacute', 'ncaron', 'oacute',
Chris@441 745 'ocircumflex', 'ohungarumlaut', 'odieresis', 'divide',
Chris@441 746 'rcaron', 'uring', 'uacute', 'uhungarumlaut',
Chris@441 747 'udieresis', 'yacute', 'tcommaaccent', 'dotaccent'
Chris@441 748 ],
Chris@441 749 # Baltic
Chris@441 750 'ISO-8859-4' => [
Chris@441 751 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 752 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 753 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 754 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 755 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 756 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 757 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 758 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 759 'space', 'exclam', 'quotedbl', 'numbersign',
Chris@441 760 'dollar', 'percent', 'ampersand', 'quotesingle',
Chris@441 761 'parenleft', 'parenright', 'asterisk', 'plus',
Chris@441 762 'comma', 'hyphen', 'period', 'slash',
Chris@441 763 'zero', 'one', 'two', 'three',
Chris@441 764 'four', 'five', 'six', 'seven',
Chris@441 765 'eight', 'nine', 'colon', 'semicolon',
Chris@441 766 'less', 'equal', 'greater', 'question',
Chris@441 767 'at', 'A', 'B', 'C',
Chris@441 768 'D', 'E', 'F', 'G',
Chris@441 769 'H', 'I', 'J', 'K',
Chris@441 770 'L', 'M', 'N', 'O',
Chris@441 771 'P', 'Q', 'R', 'S',
Chris@441 772 'T', 'U', 'V', 'W',
Chris@441 773 'X', 'Y', 'Z', 'bracketleft',
Chris@441 774 'backslash', 'bracketright', 'asciicircum', 'underscore',
Chris@441 775 'grave', 'a', 'b', 'c',
Chris@441 776 'd', 'e', 'f', 'g',
Chris@441 777 'h', 'i', 'j', 'k',
Chris@441 778 'l', 'm', 'n', 'o',
Chris@441 779 'p', 'q', 'r', 's',
Chris@441 780 't', 'u', 'v', 'w',
Chris@441 781 'x', 'y', 'z', 'braceleft',
Chris@441 782 'bar', 'braceright', 'asciitilde', '.notdef',
Chris@441 783 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 784 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 785 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 786 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 787 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 788 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 789 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 790 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 791 'space', 'Aogonek', 'kgreenlandic', 'Rcommaaccent',
Chris@441 792 'currency', 'Itilde', 'Lcommaaccent', 'section',
Chris@441 793 'dieresis', 'Scaron', 'Emacron', 'Gcommaaccent',
Chris@441 794 'Tbar', 'hyphen', 'Zcaron', 'macron',
Chris@441 795 'degree', 'aogonek', 'ogonek', 'rcommaaccent',
Chris@441 796 'acute', 'itilde', 'lcommaaccent', 'caron',
Chris@441 797 'cedilla', 'scaron', 'emacron', 'gcommaaccent',
Chris@441 798 'tbar', 'Eng', 'zcaron', 'eng',
Chris@441 799 'Amacron', 'Aacute', 'Acircumflex', 'Atilde',
Chris@441 800 'Adieresis', 'Aring', 'AE', 'Iogonek',
Chris@441 801 'Ccaron', 'Eacute', 'Eogonek', 'Edieresis',
Chris@441 802 'Edotaccent', 'Iacute', 'Icircumflex', 'Imacron',
Chris@441 803 'Dcroat', 'Ncommaaccent', 'Omacron', 'Kcommaaccent',
Chris@441 804 'Ocircumflex', 'Otilde', 'Odieresis', 'multiply',
Chris@441 805 'Oslash', 'Uogonek', 'Uacute', 'Ucircumflex',
Chris@441 806 'Udieresis', 'Utilde', 'Umacron', 'germandbls',
Chris@441 807 'amacron', 'aacute', 'acircumflex', 'atilde',
Chris@441 808 'adieresis', 'aring', 'ae', 'iogonek',
Chris@441 809 'ccaron', 'eacute', 'eogonek', 'edieresis',
Chris@441 810 'edotaccent', 'iacute', 'icircumflex', 'imacron',
Chris@441 811 'dcroat', 'ncommaaccent', 'omacron', 'kcommaaccent',
Chris@441 812 'ocircumflex', 'otilde', 'odieresis', 'divide',
Chris@441 813 'oslash', 'uogonek', 'uacute', 'ucircumflex',
Chris@441 814 'udieresis', 'utilde', 'umacron', 'dotaccent'
Chris@441 815 ],
Chris@441 816 # Cyrillic
Chris@441 817 'ISO-8859-5' => [
Chris@441 818 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 819 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 820 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 821 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 822 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 823 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 824 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 825 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 826 'space', 'exclam', 'quotedbl', 'numbersign',
Chris@441 827 'dollar', 'percent', 'ampersand', 'quotesingle',
Chris@441 828 'parenleft', 'parenright', 'asterisk', 'plus',
Chris@441 829 'comma', 'hyphen', 'period', 'slash',
Chris@441 830 'zero', 'one', 'two', 'three',
Chris@441 831 'four', 'five', 'six', 'seven',
Chris@441 832 'eight', 'nine', 'colon', 'semicolon',
Chris@441 833 'less', 'equal', 'greater', 'question',
Chris@441 834 'at', 'A', 'B', 'C',
Chris@441 835 'D', 'E', 'F', 'G',
Chris@441 836 'H', 'I', 'J', 'K',
Chris@441 837 'L', 'M', 'N', 'O',
Chris@441 838 'P', 'Q', 'R', 'S',
Chris@441 839 'T', 'U', 'V', 'W',
Chris@441 840 'X', 'Y', 'Z', 'bracketleft',
Chris@441 841 'backslash', 'bracketright', 'asciicircum', 'underscore',
Chris@441 842 'grave', 'a', 'b', 'c',
Chris@441 843 'd', 'e', 'f', 'g',
Chris@441 844 'h', 'i', 'j', 'k',
Chris@441 845 'l', 'm', 'n', 'o',
Chris@441 846 'p', 'q', 'r', 's',
Chris@441 847 't', 'u', 'v', 'w',
Chris@441 848 'x', 'y', 'z', 'braceleft',
Chris@441 849 'bar', 'braceright', 'asciitilde', '.notdef',
Chris@441 850 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 851 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 852 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 853 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 854 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 855 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 856 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 857 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 858 'space', 'afii10023', 'afii10051', 'afii10052',
Chris@441 859 'afii10053', 'afii10054', 'afii10055', 'afii10056',
Chris@441 860 'afii10057', 'afii10058', 'afii10059', 'afii10060',
Chris@441 861 'afii10061', 'hyphen', 'afii10062', 'afii10145',
Chris@441 862 'afii10017', 'afii10018', 'afii10019', 'afii10020',
Chris@441 863 'afii10021', 'afii10022', 'afii10024', 'afii10025',
Chris@441 864 'afii10026', 'afii10027', 'afii10028', 'afii10029',
Chris@441 865 'afii10030', 'afii10031', 'afii10032', 'afii10033',
Chris@441 866 'afii10034', 'afii10035', 'afii10036', 'afii10037',
Chris@441 867 'afii10038', 'afii10039', 'afii10040', 'afii10041',
Chris@441 868 'afii10042', 'afii10043', 'afii10044', 'afii10045',
Chris@441 869 'afii10046', 'afii10047', 'afii10048', 'afii10049',
Chris@441 870 'afii10065', 'afii10066', 'afii10067', 'afii10068',
Chris@441 871 'afii10069', 'afii10070', 'afii10072', 'afii10073',
Chris@441 872 'afii10074', 'afii10075', 'afii10076', 'afii10077',
Chris@441 873 'afii10078', 'afii10079', 'afii10080', 'afii10081',
Chris@441 874 'afii10082', 'afii10083', 'afii10084', 'afii10085',
Chris@441 875 'afii10086', 'afii10087', 'afii10088', 'afii10089',
Chris@441 876 'afii10090', 'afii10091', 'afii10092', 'afii10093',
Chris@441 877 'afii10094', 'afii10095', 'afii10096', 'afii10097',
Chris@441 878 'afii61352', 'afii10071', 'afii10099', 'afii10100',
Chris@441 879 'afii10101', 'afii10102', 'afii10103', 'afii10104',
Chris@441 880 'afii10105', 'afii10106', 'afii10107', 'afii10108',
Chris@441 881 'afii10109', 'section', 'afii10110', 'afii10193'
Chris@441 882 ],
Chris@441 883 # Greek
Chris@441 884 'ISO-8859-7' => [
Chris@441 885 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 886 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 887 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 888 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 889 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 890 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 891 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 892 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 893 'space', 'exclam', 'quotedbl', 'numbersign',
Chris@441 894 'dollar', 'percent', 'ampersand', 'quotesingle',
Chris@441 895 'parenleft', 'parenright', 'asterisk', 'plus',
Chris@441 896 'comma', 'hyphen', 'period', 'slash',
Chris@441 897 'zero', 'one', 'two', 'three',
Chris@441 898 'four', 'five', 'six', 'seven',
Chris@441 899 'eight', 'nine', 'colon', 'semicolon',
Chris@441 900 'less', 'equal', 'greater', 'question',
Chris@441 901 'at', 'A', 'B', 'C',
Chris@441 902 'D', 'E', 'F', 'G',
Chris@441 903 'H', 'I', 'J', 'K',
Chris@441 904 'L', 'M', 'N', 'O',
Chris@441 905 'P', 'Q', 'R', 'S',
Chris@441 906 'T', 'U', 'V', 'W',
Chris@441 907 'X', 'Y', 'Z', 'bracketleft',
Chris@441 908 'backslash', 'bracketright', 'asciicircum', 'underscore',
Chris@441 909 'grave', 'a', 'b', 'c',
Chris@441 910 'd', 'e', 'f', 'g',
Chris@441 911 'h', 'i', 'j', 'k',
Chris@441 912 'l', 'm', 'n', 'o',
Chris@441 913 'p', 'q', 'r', 's',
Chris@441 914 't', 'u', 'v', 'w',
Chris@441 915 'x', 'y', 'z', 'braceleft',
Chris@441 916 'bar', 'braceright', 'asciitilde', '.notdef',
Chris@441 917 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 918 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 919 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 920 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 921 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 922 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 923 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 924 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 925 'space', 'quoteleft', 'quoteright', 'sterling',
Chris@441 926 '.notdef', '.notdef', 'brokenbar', 'section',
Chris@441 927 'dieresis', 'copyright', '.notdef', 'guillemotleft',
Chris@441 928 'logicalnot', 'hyphen', '.notdef', 'afii00208',
Chris@441 929 'degree', 'plusminus', 'twosuperior', 'threesuperior',
Chris@441 930 'tonos', 'dieresistonos', 'Alphatonos', 'periodcentered',
Chris@441 931 'Epsilontonos', 'Etatonos', 'Iotatonos', 'guillemotright',
Chris@441 932 'Omicrontonos', 'onehalf', 'Upsilontonos', 'Omegatonos',
Chris@441 933 'iotadieresistonos','Alpha', 'Beta', 'Gamma',
Chris@441 934 'Delta', 'Epsilon', 'Zeta', 'Eta',
Chris@441 935 'Theta', 'Iota', 'Kappa', 'Lambda',
Chris@441 936 'Mu', 'Nu', 'Xi', 'Omicron',
Chris@441 937 'Pi', 'Rho', '.notdef', 'Sigma',
Chris@441 938 'Tau', 'Upsilon', 'Phi', 'Chi',
Chris@441 939 'Psi', 'Omega', 'Iotadieresis', 'Upsilondieresis',
Chris@441 940 'alphatonos', 'epsilontonos', 'etatonos', 'iotatonos',
Chris@441 941 'upsilondieresistonos','alpha', 'beta', 'gamma',
Chris@441 942 'delta', 'epsilon', 'zeta', 'eta',
Chris@441 943 'theta', 'iota', 'kappa', 'lambda',
Chris@441 944 'mu', 'nu', 'xi', 'omicron',
Chris@441 945 'pi', 'rho', 'sigma1', 'sigma',
Chris@441 946 'tau', 'upsilon', 'phi', 'chi',
Chris@441 947 'psi', 'omega', 'iotadieresis', 'upsilondieresis',
Chris@441 948 'omicrontonos', 'upsilontonos', 'omegatonos', '.notdef'
Chris@441 949 ],
Chris@441 950 # Turkish
Chris@441 951 'ISO-8859-9' => [
Chris@441 952 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 953 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 954 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 955 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 956 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 957 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 958 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 959 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 960 'space', 'exclam', 'quotedbl', 'numbersign',
Chris@441 961 'dollar', 'percent', 'ampersand', 'quotesingle',
Chris@441 962 'parenleft', 'parenright', 'asterisk', 'plus',
Chris@441 963 'comma', 'hyphen', 'period', 'slash',
Chris@441 964 'zero', 'one', 'two', 'three',
Chris@441 965 'four', 'five', 'six', 'seven',
Chris@441 966 'eight', 'nine', 'colon', 'semicolon',
Chris@441 967 'less', 'equal', 'greater', 'question',
Chris@441 968 'at', 'A', 'B', 'C',
Chris@441 969 'D', 'E', 'F', 'G',
Chris@441 970 'H', 'I', 'J', 'K',
Chris@441 971 'L', 'M', 'N', 'O',
Chris@441 972 'P', 'Q', 'R', 'S',
Chris@441 973 'T', 'U', 'V', 'W',
Chris@441 974 'X', 'Y', 'Z', 'bracketleft',
Chris@441 975 'backslash', 'bracketright', 'asciicircum', 'underscore',
Chris@441 976 'grave', 'a', 'b', 'c',
Chris@441 977 'd', 'e', 'f', 'g',
Chris@441 978 'h', 'i', 'j', 'k',
Chris@441 979 'l', 'm', 'n', 'o',
Chris@441 980 'p', 'q', 'r', 's',
Chris@441 981 't', 'u', 'v', 'w',
Chris@441 982 'x', 'y', 'z', 'braceleft',
Chris@441 983 'bar', 'braceright', 'asciitilde', '.notdef',
Chris@441 984 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 985 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 986 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 987 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 988 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 989 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 990 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 991 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 992 'space', 'exclamdown', 'cent', 'sterling',
Chris@441 993 'currency', 'yen', 'brokenbar', 'section',
Chris@441 994 'dieresis', 'copyright', 'ordfeminine', 'guillemotleft',
Chris@441 995 'logicalnot', 'hyphen', 'registered', 'macron',
Chris@441 996 'degree', 'plusminus', 'twosuperior', 'threesuperior',
Chris@441 997 'acute', 'mu', 'paragraph', 'periodcentered',
Chris@441 998 'cedilla', 'onesuperior', 'ordmasculine', 'guillemotright',
Chris@441 999 'onequarter', 'onehalf', 'threequarters', 'questiondown',
Chris@441 1000 'Agrave', 'Aacute', 'Acircumflex', 'Atilde',
Chris@441 1001 'Adieresis', 'Aring', 'AE', 'Ccedilla',
Chris@441 1002 'Egrave', 'Eacute', 'Ecircumflex', 'Edieresis',
Chris@441 1003 'Igrave', 'Iacute', 'Icircumflex', 'Idieresis',
Chris@441 1004 'Gbreve', 'Ntilde', 'Ograve', 'Oacute',
Chris@441 1005 'Ocircumflex', 'Otilde', 'Odieresis', 'multiply',
Chris@441 1006 'Oslash', 'Ugrave', 'Uacute', 'Ucircumflex',
Chris@441 1007 'Udieresis', 'Idotaccent', 'Scedilla', 'germandbls',
Chris@441 1008 'agrave', 'aacute', 'acircumflex', 'atilde',
Chris@441 1009 'adieresis', 'aring', 'ae', 'ccedilla',
Chris@441 1010 'egrave', 'eacute', 'ecircumflex', 'edieresis',
Chris@441 1011 'igrave', 'iacute', 'icircumflex', 'idieresis',
Chris@441 1012 'gbreve', 'ntilde', 'ograve', 'oacute',
Chris@441 1013 'ocircumflex', 'otilde', 'odieresis', 'divide',
Chris@441 1014 'oslash', 'ugrave', 'uacute', 'ucircumflex',
Chris@441 1015 'udieresis', 'dotlessi', 'scedilla', 'ydieresis'
Chris@441 1016 ],
Chris@441 1017 # Thai
Chris@441 1018 'ISO-8859-11' => [
Chris@441 1019 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 1020 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 1021 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 1022 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 1023 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 1024 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 1025 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 1026 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 1027 'space', 'exclam', 'quotedbl', 'numbersign',
Chris@441 1028 'dollar', 'percent', 'ampersand', 'quotesingle',
Chris@441 1029 'parenleft', 'parenright', 'asterisk', 'plus',
Chris@441 1030 'comma', 'hyphen', 'period', 'slash',
Chris@441 1031 'zero', 'one', 'two', 'three',
Chris@441 1032 'four', 'five', 'six', 'seven',
Chris@441 1033 'eight', 'nine', 'colon', 'semicolon',
Chris@441 1034 'less', 'equal', 'greater', 'question',
Chris@441 1035 'at', 'A', 'B', 'C',
Chris@441 1036 'D', 'E', 'F', 'G',
Chris@441 1037 'H', 'I', 'J', 'K',
Chris@441 1038 'L', 'M', 'N', 'O',
Chris@441 1039 'P', 'Q', 'R', 'S',
Chris@441 1040 'T', 'U', 'V', 'W',
Chris@441 1041 'X', 'Y', 'Z', 'bracketleft',
Chris@441 1042 'backslash', 'bracketright', 'asciicircum', 'underscore',
Chris@441 1043 'grave', 'a', 'b', 'c',
Chris@441 1044 'd', 'e', 'f', 'g',
Chris@441 1045 'h', 'i', 'j', 'k',
Chris@441 1046 'l', 'm', 'n', 'o',
Chris@441 1047 'p', 'q', 'r', 's',
Chris@441 1048 't', 'u', 'v', 'w',
Chris@441 1049 'x', 'y', 'z', 'braceleft',
Chris@441 1050 'bar', 'braceright', 'asciitilde', '.notdef',
Chris@441 1051 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 1052 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 1053 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 1054 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 1055 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 1056 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 1057 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 1058 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 1059 'space', 'kokaithai', 'khokhaithai', 'khokhuatthai',
Chris@441 1060 'khokhwaithai', 'khokhonthai', 'khorakhangthai', 'ngonguthai',
Chris@441 1061 'chochanthai', 'chochingthai', 'chochangthai', 'sosothai',
Chris@441 1062 'chochoethai', 'yoyingthai', 'dochadathai', 'topatakthai',
Chris@441 1063 'thothanthai', 'thonangmonthothai','thophuthaothai', 'nonenthai',
Chris@441 1064 'dodekthai', 'totaothai', 'thothungthai', 'thothahanthai',
Chris@441 1065 'thothongthai', 'nonuthai', 'bobaimaithai', 'poplathai',
Chris@441 1066 'phophungthai', 'fofathai', 'phophanthai', 'fofanthai',
Chris@441 1067 'phosamphaothai', 'momathai', 'yoyakthai', 'roruathai',
Chris@441 1068 'ruthai', 'lolingthai', 'luthai', 'wowaenthai',
Chris@441 1069 'sosalathai', 'sorusithai', 'sosuathai', 'hohipthai',
Chris@441 1070 'lochulathai', 'oangthai', 'honokhukthai', 'paiyannoithai',
Chris@441 1071 'saraathai', 'maihanakatthai', 'saraaathai', 'saraamthai',
Chris@441 1072 'saraithai', 'saraiithai', 'sarauethai', 'saraueethai',
Chris@441 1073 'sarauthai', 'sarauuthai', 'phinthuthai', '.notdef',
Chris@441 1074 '.notdef', '.notdef', '.notdef', 'bahtthai',
Chris@441 1075 'saraethai', 'saraaethai', 'saraothai', 'saraaimaimuanthai',
Chris@441 1076 'saraaimaimalaithai','lakkhangyaothai','maiyamokthai', 'maitaikhuthai',
Chris@441 1077 'maiekthai', 'maithothai', 'maitrithai', 'maichattawathai',
Chris@441 1078 'thanthakhatthai','nikhahitthai', 'yamakkanthai', 'fongmanthai',
Chris@441 1079 'zerothai', 'onethai', 'twothai', 'threethai',
Chris@441 1080 'fourthai', 'fivethai', 'sixthai', 'seventhai',
Chris@441 1081 'eightthai', 'ninethai', 'angkhankhuthai', 'khomutthai',
Chris@441 1082 '.notdef', '.notdef', '.notdef', '.notdef'
Chris@441 1083 ],
Chris@441 1084 # Western Europe
Chris@441 1085 'ISO-8859-15' => [
Chris@441 1086 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 1087 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 1088 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 1089 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 1090 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 1091 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 1092 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 1093 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 1094 'space', 'exclam', 'quotedbl', 'numbersign',
Chris@441 1095 'dollar', 'percent', 'ampersand', 'quotesingle',
Chris@441 1096 'parenleft', 'parenright', 'asterisk', 'plus',
Chris@441 1097 'comma', 'hyphen', 'period', 'slash',
Chris@441 1098 'zero', 'one', 'two', 'three',
Chris@441 1099 'four', 'five', 'six', 'seven',
Chris@441 1100 'eight', 'nine', 'colon', 'semicolon',
Chris@441 1101 'less', 'equal', 'greater', 'question',
Chris@441 1102 'at', 'A', 'B', 'C',
Chris@441 1103 'D', 'E', 'F', 'G',
Chris@441 1104 'H', 'I', 'J', 'K',
Chris@441 1105 'L', 'M', 'N', 'O',
Chris@441 1106 'P', 'Q', 'R', 'S',
Chris@441 1107 'T', 'U', 'V', 'W',
Chris@441 1108 'X', 'Y', 'Z', 'bracketleft',
Chris@441 1109 'backslash', 'bracketright', 'asciicircum', 'underscore',
Chris@441 1110 'grave', 'a', 'b', 'c',
Chris@441 1111 'd', 'e', 'f', 'g',
Chris@441 1112 'h', 'i', 'j', 'k',
Chris@441 1113 'l', 'm', 'n', 'o',
Chris@441 1114 'p', 'q', 'r', 's',
Chris@441 1115 't', 'u', 'v', 'w',
Chris@441 1116 'x', 'y', 'z', 'braceleft',
Chris@441 1117 'bar', 'braceright', 'asciitilde', '.notdef',
Chris@441 1118 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 1119 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 1120 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 1121 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 1122 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 1123 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 1124 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 1125 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 1126 'space', 'exclamdown', 'cent', 'sterling',
Chris@441 1127 'Euro', 'yen', 'Scaron', 'section',
Chris@441 1128 'scaron', 'copyright', 'ordfeminine', 'guillemotleft',
Chris@441 1129 'logicalnot', 'hyphen', 'registered', 'macron',
Chris@441 1130 'degree', 'plusminus', 'twosuperior', 'threesuperior',
Chris@441 1131 'Zcaron', 'mu', 'paragraph', 'periodcentered',
Chris@441 1132 'zcaron', 'onesuperior', 'ordmasculine', 'guillemotright',
Chris@441 1133 'OE', 'oe', 'Ydieresis', 'questiondown',
Chris@441 1134 'Agrave', 'Aacute', 'Acircumflex', 'Atilde',
Chris@441 1135 'Adieresis', 'Aring', 'AE', 'Ccedilla',
Chris@441 1136 'Egrave', 'Eacute', 'Ecircumflex', 'Edieresis',
Chris@441 1137 'Igrave', 'Iacute', 'Icircumflex', 'Idieresis',
Chris@441 1138 'Eth', 'Ntilde', 'Ograve', 'Oacute',
Chris@441 1139 'Ocircumflex', 'Otilde', 'Odieresis', 'multiply',
Chris@441 1140 'Oslash', 'Ugrave', 'Uacute', 'Ucircumflex',
Chris@441 1141 'Udieresis', 'Yacute', 'Thorn', 'germandbls',
Chris@441 1142 'agrave', 'aacute', 'acircumflex', 'atilde',
Chris@441 1143 'adieresis', 'aring', 'ae', 'ccedilla',
Chris@441 1144 'egrave', 'eacute', 'ecircumflex', 'edieresis',
Chris@441 1145 'igrave', 'iacute', 'icircumflex', 'idieresis',
Chris@441 1146 'eth', 'ntilde', 'ograve', 'oacute',
Chris@441 1147 'ocircumflex', 'otilde', 'odieresis', 'divide',
Chris@441 1148 'oslash', 'ugrave', 'uacute', 'ucircumflex',
Chris@441 1149 'udieresis', 'yacute', 'thorn', 'ydieresis'
Chris@441 1150 ],
Chris@441 1151 # Central Europe
Chris@441 1152 'ISO-8859-16' => [
Chris@441 1153 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 1154 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 1155 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 1156 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 1157 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 1158 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 1159 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 1160 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 1161 'space', 'exclam', 'quotedbl', 'numbersign',
Chris@441 1162 'dollar', 'percent', 'ampersand', 'quotesingle',
Chris@441 1163 'parenleft', 'parenright', 'asterisk', 'plus',
Chris@441 1164 'comma', 'hyphen', 'period', 'slash',
Chris@441 1165 'zero', 'one', 'two', 'three',
Chris@441 1166 'four', 'five', 'six', 'seven',
Chris@441 1167 'eight', 'nine', 'colon', 'semicolon',
Chris@441 1168 'less', 'equal', 'greater', 'question',
Chris@441 1169 'at', 'A', 'B', 'C',
Chris@441 1170 'D', 'E', 'F', 'G',
Chris@441 1171 'H', 'I', 'J', 'K',
Chris@441 1172 'L', 'M', 'N', 'O',
Chris@441 1173 'P', 'Q', 'R', 'S',
Chris@441 1174 'T', 'U', 'V', 'W',
Chris@441 1175 'X', 'Y', 'Z', 'bracketleft',
Chris@441 1176 'backslash', 'bracketright', 'asciicircum', 'underscore',
Chris@441 1177 'grave', 'a', 'b', 'c',
Chris@441 1178 'd', 'e', 'f', 'g',
Chris@441 1179 'h', 'i', 'j', 'k',
Chris@441 1180 'l', 'm', 'n', 'o',
Chris@441 1181 'p', 'q', 'r', 's',
Chris@441 1182 't', 'u', 'v', 'w',
Chris@441 1183 'x', 'y', 'z', 'braceleft',
Chris@441 1184 'bar', 'braceright', 'asciitilde', '.notdef',
Chris@441 1185 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 1186 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 1187 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 1188 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 1189 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 1190 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 1191 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 1192 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 1193 'space', 'Aogonek', 'aogonek', 'Lslash',
Chris@441 1194 'Euro', 'quotedblbase', 'Scaron', 'section',
Chris@441 1195 'scaron', 'copyright', 'Scommaaccent', 'guillemotleft',
Chris@441 1196 'Zacute', 'hyphen', 'zacute', 'Zdotaccent',
Chris@441 1197 'degree', 'plusminus', 'Ccaron', 'lslash',
Chris@441 1198 'Zcaron', 'quotedblright', 'paragraph', 'periodcentered',
Chris@441 1199 'zcaron', 'ccaron', 'scommaaccent', 'guillemotright',
Chris@441 1200 'OE', 'oe', 'Ydieresis', 'zdotaccent',
Chris@441 1201 'Agrave', 'Aacute', 'Acircumflex', 'Abreve',
Chris@441 1202 'Adieresis', 'Cacute', 'AE', 'Ccedilla',
Chris@441 1203 'Egrave', 'Eacute', 'Ecircumflex', 'Edieresis',
Chris@441 1204 'Igrave', 'Iacute', 'Icircumflex', 'Idieresis',
Chris@441 1205 'Dcroat', 'Nacute', 'Ograve', 'Oacute',
Chris@441 1206 'Ocircumflex', 'Ohungarumlaut', 'Odieresis', 'Sacute',
Chris@441 1207 'Uhungarumlaut', 'Ugrave', 'Uacute', 'Ucircumflex',
Chris@441 1208 'Udieresis', 'Eogonek', 'Tcommaaccent', 'germandbls',
Chris@441 1209 'agrave', 'aacute', 'acircumflex', 'abreve',
Chris@441 1210 'adieresis', 'cacute', 'ae', 'ccedilla',
Chris@441 1211 'egrave', 'eacute', 'ecircumflex', 'edieresis',
Chris@441 1212 'igrave', 'iacute', 'icircumflex', 'idieresis',
Chris@441 1213 'dcroat', 'nacute', 'ograve', 'oacute',
Chris@441 1214 'ocircumflex', 'ohungarumlaut', 'odieresis', 'sacute',
Chris@441 1215 'uhungarumlaut', 'ugrave', 'uacute', 'ucircumflex',
Chris@441 1216 'udieresis', 'eogonek', 'tcommaaccent', 'ydieresis'
Chris@441 1217 ],
Chris@441 1218 # Russian
Chris@441 1219 'KOI8-R' => [
Chris@441 1220 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 1221 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 1222 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 1223 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 1224 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 1225 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 1226 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 1227 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 1228 'space', 'exclam', 'quotedbl', 'numbersign',
Chris@441 1229 'dollar', 'percent', 'ampersand', 'quotesingle',
Chris@441 1230 'parenleft', 'parenright', 'asterisk', 'plus',
Chris@441 1231 'comma', 'hyphen', 'period', 'slash',
Chris@441 1232 'zero', 'one', 'two', 'three',
Chris@441 1233 'four', 'five', 'six', 'seven',
Chris@441 1234 'eight', 'nine', 'colon', 'semicolon',
Chris@441 1235 'less', 'equal', 'greater', 'question',
Chris@441 1236 'at', 'A', 'B', 'C',
Chris@441 1237 'D', 'E', 'F', 'G',
Chris@441 1238 'H', 'I', 'J', 'K',
Chris@441 1239 'L', 'M', 'N', 'O',
Chris@441 1240 'P', 'Q', 'R', 'S',
Chris@441 1241 'T', 'U', 'V', 'W',
Chris@441 1242 'X', 'Y', 'Z', 'bracketleft',
Chris@441 1243 'backslash', 'bracketright', 'asciicircum', 'underscore',
Chris@441 1244 'grave', 'a', 'b', 'c',
Chris@441 1245 'd', 'e', 'f', 'g',
Chris@441 1246 'h', 'i', 'j', 'k',
Chris@441 1247 'l', 'm', 'n', 'o',
Chris@441 1248 'p', 'q', 'r', 's',
Chris@441 1249 't', 'u', 'v', 'w',
Chris@441 1250 'x', 'y', 'z', 'braceleft',
Chris@441 1251 'bar', 'braceright', 'asciitilde', '.notdef',
Chris@441 1252 'SF100000', 'SF110000', 'SF010000', 'SF030000',
Chris@441 1253 'SF020000', 'SF040000', 'SF080000', 'SF090000',
Chris@441 1254 'SF060000', 'SF070000', 'SF050000', 'upblock',
Chris@441 1255 'dnblock', 'block', 'lfblock', 'rtblock',
Chris@441 1256 'ltshade', 'shade', 'dkshade', 'integraltp',
Chris@441 1257 'filledbox', 'periodcentered', 'radical', 'approxequal',
Chris@441 1258 'lessequal', 'greaterequal', 'space', 'integralbt',
Chris@441 1259 'degree', 'twosuperior', 'periodcentered', 'divide',
Chris@441 1260 'SF430000', 'SF240000', 'SF510000', 'afii10071',
Chris@441 1261 'SF520000', 'SF390000', 'SF220000', 'SF210000',
Chris@441 1262 'SF250000', 'SF500000', 'SF490000', 'SF380000',
Chris@441 1263 'SF280000', 'SF270000', 'SF260000', 'SF360000',
Chris@441 1264 'SF370000', 'SF420000', 'SF190000', 'afii10023',
Chris@441 1265 'SF200000', 'SF230000', 'SF470000', 'SF480000',
Chris@441 1266 'SF410000', 'SF450000', 'SF460000', 'SF400000',
Chris@441 1267 'SF540000', 'SF530000', 'SF440000', 'copyright',
Chris@441 1268 'afii10096', 'afii10065', 'afii10066', 'afii10088',
Chris@441 1269 'afii10069', 'afii10070', 'afii10086', 'afii10068',
Chris@441 1270 'afii10087', 'afii10074', 'afii10075', 'afii10076',
Chris@441 1271 'afii10077', 'afii10078', 'afii10079', 'afii10080',
Chris@441 1272 'afii10081', 'afii10097', 'afii10082', 'afii10083',
Chris@441 1273 'afii10084', 'afii10085', 'afii10072', 'afii10067',
Chris@441 1274 'afii10094', 'afii10093', 'afii10073', 'afii10090',
Chris@441 1275 'afii10095', 'afii10091', 'afii10089', 'afii10092',
Chris@441 1276 'afii10048', 'afii10017', 'afii10018', 'afii10040',
Chris@441 1277 'afii10021', 'afii10022', 'afii10038', 'afii10020',
Chris@441 1278 'afii10039', 'afii10026', 'afii10027', 'afii10028',
Chris@441 1279 'afii10029', 'afii10030', 'afii10031', 'afii10032',
Chris@441 1280 'afii10033', 'afii10049', 'afii10034', 'afii10035',
Chris@441 1281 'afii10036', 'afii10037', 'afii10024', 'afii10019',
Chris@441 1282 'afii10046', 'afii10045', 'afii10025', 'afii10042',
Chris@441 1283 'afii10047', 'afii10043', 'afii10041', 'afii10044'
Chris@441 1284 ],
Chris@441 1285 # Ukrainian
Chris@441 1286 'KOI8-U' => [
Chris@441 1287 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 1288 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 1289 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 1290 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 1291 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 1292 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 1293 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 1294 '.notdef', '.notdef', '.notdef', '.notdef',
Chris@441 1295 'space', 'exclam', 'quotedbl', 'numbersign',
Chris@441 1296 'dollar', 'percent', 'ampersand', 'quotesingle',
Chris@441 1297 'parenleft', 'parenright', 'asterisk', 'plus',
Chris@441 1298 'comma', 'hyphen', 'period', 'slash',
Chris@441 1299 'zero', 'one', 'two', 'three',
Chris@441 1300 'four', 'five', 'six', 'seven',
Chris@441 1301 'eight', 'nine', 'colon', 'semicolon',
Chris@441 1302 'less', 'equal', 'greater', 'question',
Chris@441 1303 'at', 'A', 'B', 'C',
Chris@441 1304 'D', 'E', 'F', 'G',
Chris@441 1305 'H', 'I', 'J', 'K',
Chris@441 1306 'L', 'M', 'N', 'O',
Chris@441 1307 'P', 'Q', 'R', 'S',
Chris@441 1308 'T', 'U', 'V', 'W',
Chris@441 1309 'X', 'Y', 'Z', 'bracketleft',
Chris@441 1310 'backslash', 'bracketright', 'asciicircum', 'underscore',
Chris@441 1311 'grave', 'a', 'b', 'c',
Chris@441 1312 'd', 'e', 'f', 'g',
Chris@441 1313 'h', 'i', 'j', 'k',
Chris@441 1314 'l', 'm', 'n', 'o',
Chris@441 1315 'p', 'q', 'r', 's',
Chris@441 1316 't', 'u', 'v', 'w',
Chris@441 1317 'x', 'y', 'z', 'braceleft',
Chris@441 1318 'bar', 'braceright', 'asciitilde', '.notdef',
Chris@441 1319 'SF100000', 'SF110000', 'SF010000', 'SF030000',
Chris@441 1320 'SF020000', 'SF040000', 'SF080000', 'SF090000',
Chris@441 1321 'SF060000', 'SF070000', 'SF050000', 'upblock',
Chris@441 1322 'dnblock', 'block', 'lfblock', 'rtblock',
Chris@441 1323 'ltshade', 'shade', 'dkshade', 'integraltp',
Chris@441 1324 'filledbox', 'bullet', 'radical', 'approxequal',
Chris@441 1325 'lessequal', 'greaterequal', 'space', 'integralbt',
Chris@441 1326 'degree', 'twosuperior', 'periodcentered', 'divide',
Chris@441 1327 'SF430000', 'SF240000', 'SF510000', 'afii10071',
Chris@441 1328 'afii10101', 'SF390000', 'afii10103', 'afii10104',
Chris@441 1329 'SF250000', 'SF500000', 'SF490000', 'SF380000',
Chris@441 1330 'SF280000', 'afii10098', 'SF260000', 'SF360000',
Chris@441 1331 'SF370000', 'SF420000', 'SF190000', 'afii10023',
Chris@441 1332 'afii10053', 'SF230000', 'afii10055', 'afii10056',
Chris@441 1333 'SF410000', 'SF450000', 'SF460000', 'SF400000',
Chris@441 1334 'SF540000', 'afii10050', 'SF440000', 'copyright',
Chris@441 1335 'afii10096', 'afii10065', 'afii10066', 'afii10088',
Chris@441 1336 'afii10069', 'afii10070', 'afii10086', 'afii10068',
Chris@441 1337 'afii10087', 'afii10074', 'afii10075', 'afii10076',
Chris@441 1338 'afii10077', 'afii10078', 'afii10079', 'afii10080',
Chris@441 1339 'afii10081', 'afii10097', 'afii10082', 'afii10083',
Chris@441 1340 'afii10084', 'afii10085', 'afii10072', 'afii10067',
Chris@441 1341 'afii10094', 'afii10093', 'afii10073', 'afii10090',
Chris@441 1342 'afii10095', 'afii10091', 'afii10089', 'afii10092',
Chris@441 1343 'afii10048', 'afii10017', 'afii10018', 'afii10040',
Chris@441 1344 'afii10021', 'afii10022', 'afii10038', 'afii10020',
Chris@441 1345 'afii10039', 'afii10026', 'afii10027', 'afii10028',
Chris@441 1346 'afii10029', 'afii10030', 'afii10031', 'afii10032',
Chris@441 1347 'afii10033', 'afii10049', 'afii10034', 'afii10035',
Chris@441 1348 'afii10036', 'afii10037', 'afii10024', 'afii10019',
Chris@441 1349 'afii10046', 'afii10045', 'afii10025', 'afii10042',
Chris@441 1350 'afii10047', 'afii10043', 'afii10041', 'afii10044'
Chris@441 1351 ]
Chris@441 1352 }
Chris@441 1353
Chris@441 1354 def ReadAFM(file, map)
Chris@441 1355
Chris@441 1356 # Read a font metric file
Chris@441 1357 a = IO.readlines(file)
Chris@441 1358
Chris@441 1359 raise "File no found: #{file}" if a.size == 0
Chris@441 1360
Chris@441 1361 widths = {}
Chris@441 1362 fm = {}
Chris@441 1363 fix = { 'Edot' => 'Edotaccent', 'edot' => 'edotaccent',
Chris@441 1364 'Idot' => 'Idotaccent',
Chris@441 1365 'Zdot' => 'Zdotaccent', 'zdot' => 'zdotaccent',
Chris@441 1366 'Odblacute' => 'Ohungarumlaut', 'odblacute' => 'ohungarumlaut',
Chris@441 1367 'Udblacute' => 'Uhungarumlaut', 'udblacute' => 'uhungarumlaut',
Chris@441 1368 'Gcedilla' => 'Gcommaaccent', 'gcedilla' => 'gcommaaccent',
Chris@441 1369 'Kcedilla' => 'Kcommaaccent', 'kcedilla' => 'kcommaaccent',
Chris@441 1370 'Lcedilla' => 'Lcommaaccent', 'lcedilla' => 'lcommaaccent',
Chris@441 1371 'Ncedilla' => 'Ncommaaccent', 'ncedilla' => 'ncommaaccent',
Chris@441 1372 'Rcedilla' => 'Rcommaaccent', 'rcedilla' => 'rcommaaccent',
Chris@441 1373 'Scedilla' => 'Scommaaccent',' scedilla' => 'scommaaccent',
Chris@441 1374 'Tcedilla' => 'Tcommaaccent',' tcedilla' => 'tcommaaccent',
Chris@441 1375 'Dslash' => 'Dcroat', 'dslash' => 'dcroat',
Chris@441 1376 'Dmacron' => 'Dcroat', 'dmacron' => 'dcroat',
Chris@441 1377 'combininggraveaccent' => 'gravecomb',
Chris@441 1378 'combininghookabove' => 'hookabovecomb',
Chris@441 1379 'combiningtildeaccent' => 'tildecomb',
Chris@441 1380 'combiningacuteaccent' => 'acutecomb',
Chris@441 1381 'combiningdotbelow' => 'dotbelowcomb',
Chris@441 1382 'dongsign' => 'dong'
Chris@441 1383 }
Chris@441 1384
Chris@441 1385 a.each do |line|
Chris@441 1386
Chris@441 1387 e = line.rstrip.split(' ')
Chris@441 1388 next if e.size < 2
Chris@441 1389
Chris@441 1390 code = e[0]
Chris@441 1391 param = e[1]
Chris@441 1392
Chris@441 1393 if code == 'C' then
Chris@441 1394
Chris@441 1395 # Character metrics
Chris@441 1396 cc = e[1].to_i
Chris@441 1397 w = e[4]
Chris@441 1398 gn = e[7]
Chris@441 1399
Chris@441 1400 gn = 'Euro' if gn[-4, 4] == '20AC'
Chris@441 1401
Chris@441 1402 if fix[gn] then
Chris@441 1403
Chris@441 1404 # Fix incorrect glyph name
Chris@441 1405 0.upto(map.size - 1) do |i|
Chris@441 1406 if map[i] == fix[gn] then
Chris@441 1407 map[i] = gn
Chris@441 1408 end
Chris@441 1409 end
Chris@441 1410 end
Chris@441 1411
Chris@441 1412 if map.size == 0 then
Chris@441 1413 # Symbolic font: use built-in encoding
Chris@441 1414 widths[cc] = w
Chris@441 1415 else
Chris@441 1416 widths[gn] = w
Chris@441 1417 fm['CapXHeight'] = e[13].to_i if gn == 'X'
Chris@441 1418 end
Chris@441 1419
Chris@441 1420 fm['MissingWidth'] = w if gn == '.notdef'
Chris@441 1421
Chris@441 1422 elsif code == 'FontName' then
Chris@441 1423 fm['FontName'] = param
Chris@441 1424 elsif code == 'Weight' then
Chris@441 1425 fm['Weight'] = param
Chris@441 1426 elsif code == 'ItalicAngle' then
Chris@441 1427 fm['ItalicAngle'] = param.to_f
Chris@441 1428 elsif code == 'Ascender' then
Chris@441 1429 fm['Ascender'] = param.to_i
Chris@441 1430 elsif code == 'Descender' then
Chris@441 1431 fm['Descender'] = param.to_i
Chris@441 1432 elsif code == 'UnderlineThickness' then
Chris@441 1433 fm['UnderlineThickness'] = param.to_i
Chris@441 1434 elsif code == 'UnderlinePosition' then
Chris@441 1435 fm['UnderlinePosition'] = param.to_i
Chris@441 1436 elsif code == 'IsFixedPitch' then
Chris@441 1437 fm['IsFixedPitch'] = (param == 'true')
Chris@441 1438 elsif code == 'FontBBox' then
Chris@441 1439 fm['FontBBox'] = "[#{e[1]},#{e[2]},#{e[3]},#{e[4]}]"
Chris@441 1440 elsif code == 'CapHeight' then
Chris@441 1441 fm['CapHeight'] = param.to_i
Chris@441 1442 elsif code == 'StdVW' then
Chris@441 1443 fm['StdVW'] = param.to_i
Chris@441 1444 end
Chris@441 1445 end
Chris@441 1446
Chris@441 1447 raise 'FontName not found' unless fm['FontName']
Chris@441 1448
Chris@441 1449 if map.size > 0 then
Chris@441 1450 widths['.notdef'] = 600 unless widths['.notdef']
Chris@441 1451
Chris@441 1452 if (widths['Delta'] == nil) && widths['increment'] then
Chris@441 1453 widths['Delta'] = widths['increment']
Chris@441 1454 end
Chris@441 1455
Chris@441 1456 # Order widths according to map
Chris@441 1457 0.upto(255) do |i|
Chris@441 1458 if widths[map[i]] == nil
Chris@441 1459 puts "Warning: character #{map[i]} is missing"
Chris@441 1460 widths[i] = widths['.notdef']
Chris@441 1461 else
Chris@441 1462 widths[i] = widths[map[i]]
Chris@441 1463 end
Chris@441 1464 end
Chris@441 1465 end
Chris@441 1466
Chris@441 1467 fm['Widths'] = widths
Chris@441 1468
Chris@441 1469 return fm
Chris@441 1470 end
Chris@441 1471
Chris@441 1472 def MakeFontDescriptor(fm, symbolic)
Chris@441 1473
Chris@441 1474 # Ascent
Chris@441 1475 asc = fm['Ascender'] ? fm['Ascender'] : 1000
Chris@441 1476 fd = "{\n 'Ascent' => '#{asc}'"
Chris@441 1477
Chris@441 1478 # Descent
Chris@441 1479 desc = fm['Descender'] ? fm['Descender'] : -200
Chris@441 1480 fd += ", 'Descent' => '#{desc}'"
Chris@441 1481
Chris@441 1482 # CapHeight
Chris@441 1483 if fm['CapHeight'] then
Chris@441 1484 ch = fm['CapHeight']
Chris@441 1485 elsif fm['CapXHeight']
Chris@441 1486 ch = fm['CapXHeight']
Chris@441 1487 else
Chris@441 1488 ch = asc
Chris@441 1489 end
Chris@441 1490 fd += ", 'CapHeight' => '#{ch}'"
Chris@441 1491
Chris@441 1492 # Flags
Chris@441 1493 flags = 0
Chris@441 1494
Chris@441 1495 if fm['IsFixedPitch'] then
Chris@441 1496 flags += 1 << 0
Chris@441 1497 end
Chris@441 1498
Chris@441 1499 if symbolic then
Chris@441 1500 flags += 1 << 2
Chris@441 1501 else
Chris@441 1502 flags += 1 << 5
Chris@441 1503 end
Chris@441 1504
Chris@441 1505 if fm['ItalicAngle'] && (fm['ItalicAngle'] != 0) then
Chris@441 1506 flags += 1 << 6
Chris@441 1507 end
Chris@441 1508
Chris@441 1509 fd += ",\n 'Flags' => '#{flags}'"
Chris@441 1510
Chris@441 1511 # FontBBox
Chris@441 1512 if fm['FontBBox'] then
Chris@441 1513 fbb = fm['FontBBox'].gsub(/,/, ' ')
Chris@441 1514 else
Chris@441 1515 fbb = "[0 #{desc - 100} 1000 #{asc + 100}]"
Chris@441 1516 end
Chris@441 1517
Chris@441 1518 fd += ", 'FontBBox' => '#{fbb}'"
Chris@441 1519
Chris@441 1520 # ItalicAngle
Chris@441 1521 ia = fm['ItalicAngle'] ? fm['ItalicAngle'] : 0
Chris@441 1522 fd += ",\n 'ItalicAngle' => '#{ia}'"
Chris@441 1523
Chris@441 1524 # StemV
Chris@441 1525 if fm['StdVW'] then
Chris@441 1526 stemv = fm['StdVW']
Chris@441 1527 elsif fm['Weight'] && (/bold|black/i =~ fm['Weight'])
Chris@441 1528 stemv = 120
Chris@441 1529 else
Chris@441 1530 stemv = 70
Chris@441 1531 end
Chris@441 1532
Chris@441 1533 fd += ", 'StemV' => '#{stemv}'"
Chris@441 1534
Chris@441 1535 # MissingWidth
Chris@441 1536 if fm['MissingWidth'] then
Chris@441 1537 fd += ", 'MissingWidth' => '#{fm['MissingWidth']}'"
Chris@441 1538 end
Chris@441 1539
Chris@441 1540 fd += "\n }"
Chris@441 1541 return fd
Chris@441 1542 end
Chris@441 1543
Chris@441 1544 def MakeWidthArray(fm)
Chris@441 1545
Chris@441 1546 # Make character width array
Chris@441 1547 s = " [\n "
Chris@441 1548
Chris@441 1549 cw = fm['Widths']
Chris@441 1550
Chris@441 1551 0.upto(255) do |i|
Chris@441 1552 s += "%5d" % cw[i]
Chris@441 1553 s += "," if i != 255
Chris@441 1554 s += "\n " if (i % 8) == 7
Chris@441 1555 end
Chris@441 1556
Chris@441 1557 s += ']'
Chris@441 1558
Chris@441 1559 return s
Chris@441 1560 end
Chris@441 1561
Chris@441 1562 def MakeFontEncoding(map)
Chris@441 1563
Chris@441 1564 # Build differences from reference encoding
Chris@441 1565 ref = Charencodings['cp1252']
Chris@441 1566 s = ''
Chris@441 1567 last = 0
Chris@441 1568 32.upto(255) do |i|
Chris@441 1569 if map[i] != ref[i] then
Chris@441 1570 if i != last + 1 then
Chris@441 1571 s += i.to_s + ' '
Chris@441 1572 end
Chris@441 1573 last = i
Chris@441 1574 s += '/' + map[i] + ' '
Chris@441 1575 end
Chris@441 1576 end
Chris@441 1577 return s.rstrip
Chris@441 1578 end
Chris@441 1579
Chris@441 1580 def ReadShort(f)
Chris@441 1581 a = f.read(2).unpack('n')
Chris@441 1582 return a[0]
Chris@441 1583 end
Chris@441 1584
Chris@441 1585 def ReadLong(f)
Chris@441 1586 a = f.read(4).unpack('N')
Chris@441 1587 return a[0]
Chris@441 1588 end
Chris@441 1589
Chris@441 1590 def CheckTTF(file)
Chris@441 1591
Chris@441 1592 rl = false
Chris@441 1593 pp = false
Chris@441 1594 e = false
Chris@441 1595
Chris@441 1596 # Check if font license allows embedding
Chris@441 1597 File.open(file, 'rb') do |f|
Chris@441 1598
Chris@441 1599 # Extract number of tables
Chris@441 1600 f.seek(4, IO::SEEK_CUR)
Chris@441 1601 nb = ReadShort(f)
Chris@441 1602 f.seek(6, IO::SEEK_CUR)
Chris@441 1603
Chris@441 1604 # Seek OS/2 table
Chris@441 1605 found = false
Chris@441 1606 0.upto(nb - 1) do |i|
Chris@441 1607 if f.read(4) == 'OS/2' then
Chris@441 1608 found = true
Chris@441 1609 break
Chris@441 1610 end
Chris@441 1611
Chris@441 1612 f.seek(12, IO::SEEK_CUR)
Chris@441 1613 end
Chris@441 1614
Chris@441 1615 if ! found then
Chris@441 1616 return
Chris@441 1617 end
Chris@441 1618
Chris@441 1619 f.seek(4, IO::SEEK_CUR)
Chris@441 1620 offset = ReadLong(f)
Chris@441 1621 f.seek(offset, IO::SEEK_SET)
Chris@441 1622
Chris@441 1623 # Extract fsType flags
Chris@441 1624 f.seek(8, IO::SEEK_CUR)
Chris@441 1625 fsType = ReadShort(f)
Chris@441 1626
Chris@441 1627 rl = (fsType & 0x02) != 0
Chris@441 1628 pp = (fsType & 0x04) != 0
Chris@441 1629 e = (fsType & 0x08) != 0
Chris@441 1630 end
Chris@441 1631
Chris@441 1632 if rl && ( ! pp) && ( ! e) then
Chris@441 1633 puts 'Warning: font license does not allow embedding'
Chris@441 1634 end
Chris@441 1635 end
Chris@441 1636
Chris@441 1637 #
Chris@441 1638 # fontfile: path to TTF file (or empty string if not to be embedded)
Chris@441 1639 # afmfile: path to AFM file
Chris@441 1640 # enc: font encoding (or empty string for symbolic fonts)
Chris@441 1641 # patch: optional patch for encoding
Chris@441 1642 # type : font type if $fontfile is empty
Chris@441 1643 #
Chris@441 1644 def MakeFont(fontfile, afmfile, enc = 'cp1252', patch = {}, type = 'TrueType')
Chris@441 1645 # Generate a font definition file
Chris@441 1646 if (enc != nil) && (enc != '') then
Chris@441 1647 map = Charencodings[enc]
Chris@441 1648 patch.each { |cc, gn| map[cc] = gn }
Chris@441 1649 else
Chris@441 1650 map = []
Chris@441 1651 end
Chris@441 1652
Chris@441 1653 raise "Error: AFM file not found: #{afmfile}" unless File.exists?(afmfile)
Chris@441 1654
Chris@441 1655 fm = ReadAFM(afmfile, map)
Chris@441 1656
Chris@441 1657 if (enc != nil) && (enc != '') then
Chris@441 1658 diff = MakeFontEncoding(map)
Chris@441 1659 else
Chris@441 1660 diff = ''
Chris@441 1661 end
Chris@441 1662
Chris@441 1663 fd = MakeFontDescriptor(fm, (map.size == 0))
Chris@441 1664
Chris@441 1665 # Find font type
Chris@441 1666 if fontfile then
Chris@441 1667 ext = File.extname(fontfile).downcase.sub(/^\./, '')
Chris@441 1668
Chris@441 1669 if ext == 'ttf' then
Chris@441 1670 type = 'TrueType'
Chris@441 1671 elsif ext == 'pfb'
Chris@441 1672 type = 'Type1'
Chris@441 1673 else
Chris@441 1674 raise "Error: unrecognized font file extension: #{ext}"
Chris@441 1675 end
Chris@441 1676 else
Chris@441 1677 raise "Error: incorrect font type: #{type}" if (type != 'TrueType') && (type != 'Type1')
Chris@441 1678 end
Chris@441 1679 printf "type = #{type}\n"
Chris@441 1680 # Start generation
Chris@441 1681 s = "# #{fm['FontName']} font definition\n\n"
Chris@441 1682 s += "module FontDef\n"
Chris@441 1683 s += " def FontDef.type\n '#{type}'\n end\n"
Chris@441 1684 s += " def FontDef.name\n '#{fm['FontName']}'\n end\n"
Chris@441 1685 s += " def FontDef.desc\n #{fd}\n end\n"
Chris@441 1686
Chris@441 1687 if fm['UnderlinePosition'] == nil then
Chris@441 1688 fm['UnderlinePosition'] = -100
Chris@441 1689 end
Chris@441 1690
Chris@441 1691 if fm['UnderlineThickness'] == nil then
Chris@441 1692 fm['UnderlineThickness'] = 50
Chris@441 1693 end
Chris@441 1694
Chris@441 1695 s += " def FontDef.up\n #{fm['UnderlinePosition']}\n end\n"
Chris@441 1696 s += " def FontDef.ut\n #{fm['UnderlineThickness']}\n end\n"
Chris@441 1697
Chris@441 1698 w = MakeWidthArray(fm)
Chris@441 1699 s += " def FontDef.cw\n#{w}\n end\n"
Chris@441 1700
Chris@441 1701 s += " def FontDef.enc\n '#{enc}'\n end\n"
Chris@441 1702 s += " def FontDef.diff\n #{(diff == nil) || (diff == '') ? 'nil' : '\'' + diff '\''}\n end\n"
Chris@441 1703
Chris@441 1704 basename = File.basename(afmfile, '.*')
Chris@441 1705
Chris@441 1706 if fontfile then
Chris@441 1707 # Embedded font
Chris@441 1708 if ! File.exist?(fontfile) then
Chris@441 1709 raise "Error: font file not found: #{fontfile}"
Chris@441 1710 end
Chris@441 1711
Chris@441 1712 if type == 'TrueType' then
Chris@441 1713 CheckTTF(fontfile)
Chris@441 1714 end
Chris@441 1715
Chris@441 1716 file = ''
Chris@441 1717 File.open(fontfile, 'rb') do |f|
Chris@441 1718 file = f.read()
Chris@441 1719 end
Chris@441 1720
Chris@441 1721 if type == 'Type1' then
Chris@441 1722 # Find first two sections and discard third one
Chris@441 1723 header = file[0] == 128
Chris@441 1724 file = file[6, file.length - 6] if header
Chris@441 1725
Chris@441 1726 pos = file.index('eexec')
Chris@441 1727 raise 'Error: font file does not seem to be valid Type1' if pos == nil
Chris@441 1728
Chris@441 1729 size1 = pos + 6
Chris@441 1730
Chris@441 1731 file = file[0, size1] + file[size1 + 6, file.length - (size1 + 6)] if header && file[size1] == 128
Chris@441 1732
Chris@441 1733 pos = file.index('00000000')
Chris@441 1734 raise 'Error: font file does not seem to be valid Type1' if pos == nil
Chris@441 1735
Chris@441 1736 size2 = pos - size1
Chris@441 1737 file = file[0, size1 + size2]
Chris@441 1738 end
Chris@441 1739
Chris@441 1740 if require 'zlib' then
Chris@441 1741 File.open(basename + '.z', 'wb') { |f| f.write(Zlib::Deflate.deflate(file)) }
Chris@441 1742 s += " def FontDef.file\n '#{basename}.z'\n end\n"
Chris@441 1743 puts "Font file compressed ('#{basename}.z')"
Chris@441 1744 else
Chris@441 1745 s += " def FontDef.file\n '#{File.basename(fontfile)}'\n end\n"
Chris@441 1746 puts 'Notice: font file could not be compressed (zlib not available)'
Chris@441 1747 end
Chris@441 1748
Chris@441 1749 if type == 'Type1' then
Chris@441 1750 s += " def FontDef.size1\n '#{size1}'\n end\n"
Chris@441 1751 s += " def FontDef.size2\n '#{size2}'\n end\n"
Chris@441 1752 else
Chris@441 1753 s += " def FontDef.originalsize\n '#{File.size(fontfile)}'\n end\n"
Chris@441 1754 end
Chris@441 1755
Chris@441 1756 else
Chris@441 1757 # Not embedded font
Chris@441 1758 s += " def FontDef.file\n ''\n end\n"
Chris@441 1759 end
Chris@441 1760
Chris@441 1761 s += "end\n"
Chris@441 1762 File.open(basename + '.rb', 'w') { |file| file.write(s)}
Chris@441 1763 puts "Font definition file generated (#{basename}.rb)"
Chris@441 1764 end
Chris@441 1765
Chris@441 1766
Chris@441 1767 if $0 == __FILE__ then
Chris@441 1768 if ARGV.length >= 3 then
Chris@441 1769 enc = ARGV[2]
Chris@441 1770 else
Chris@441 1771 enc = 'cp1252'
Chris@441 1772 end
Chris@441 1773
Chris@441 1774 if ARGV.length >= 4 then
Chris@441 1775 patch = ARGV[3]
Chris@441 1776 else
Chris@441 1777 patch = {}
Chris@441 1778 end
Chris@441 1779
Chris@441 1780 if ARGV.length >= 5 then
Chris@441 1781 type = ARGV[4]
Chris@441 1782 else
Chris@441 1783 type = 'TrueType'
Chris@441 1784 end
Chris@441 1785
Chris@441 1786 MakeFont(ARGV[0], ARGV[1], enc, patch, type)
Chris@441 1787 end