annotate .svn/pristine/c8/c84c8feb09c74f4066537c3dc5805060fec4acf5.svn-base @ 1628:9c5f8e24dadc live tip

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