annotate .svn/pristine/c8/c84c8feb09c74f4066537c3dc5805060fec4acf5.svn-base @ 1082:997f6d7738f7 bug_531

In repo controller entry action, show the page for the file even if it's binary (so user still has access to history etc links). This makes it possible to use the entry action as the default when a file is clicked on
author Chris Cannam <chris.cannam@soundsoftware.ac.uk>
date Thu, 22 Nov 2012 18:04:17 +0000
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