Commit a4b2130
More macroman characters in name table
Changed files (1)
Diff
@@ -345,15 +345,18 @@ public class FontData : Object { } public void add_str_utf16 (string s, bool little_endian = false) {+ int index = 0; unichar c; uint8 c0; uint8 c1; int l = 0; - // FIXME: gconvert it instead.- while (s.get_next_char (ref index, out c)) {+ if (skip_terminating_null && c == '\0') {+ continue;+ }+ if (c < 0xFFFF - (1 << 16)) { c0 = (uint8) (c >> 8); c1 = (uint8) (c - (c0 << 8));@@ -403,6 +406,12 @@ public class FontData : Object { assert (l == 2 * s.char_count ()); } + public void add_unichar_utf16 (unichar c) {+ StringBuilder s = new StringBuilder ();+ s.append_unichar (c);+ add_str_utf16 (s.str);+ }+ public static uint utf16_strlen (string s) { FontData fd = new FontData (); fd.add_str_utf16 (s);@@ -416,9 +425,136 @@ public class FontData : Object { while (s.get_next_char (ref index, out c)) { if (32 <= c <= 127) { add ((uint8) c);+ } else {+ if (c == 128) add_unichar_utf16 ((unichar) 196);+ if (c == 129) add_unichar_utf16 ((unichar) 197);+ if (c == 130) add_unichar_utf16 ((unichar) 199);+ if (c == 131) add_unichar_utf16 ((unichar) 201);+ if (c == 132) add_unichar_utf16 ((unichar) 209);+ if (c == 133) add_unichar_utf16 ((unichar) 214);+ if (c == 134) add_unichar_utf16 ((unichar) 220);+ if (c == 135) add_unichar_utf16 ((unichar) 225);+ if (c == 136) add_unichar_utf16 ((unichar) 224);+ if (c == 137) add_unichar_utf16 ((unichar) 226);+ if (c == 138) add_unichar_utf16 ((unichar) 228);+ if (c == 139) add_unichar_utf16 ((unichar) 227);+ if (c == 140) add_unichar_utf16 ((unichar) 229);+ if (c == 141) add_unichar_utf16 ((unichar) 231);+ if (c == 142) add_unichar_utf16 ((unichar) 233);+ if (c == 143) add_unichar_utf16 ((unichar) 232);+ if (c == 144) add_unichar_utf16 ((unichar) 234);+ if (c == 145) add_unichar_utf16 ((unichar) 235);+ if (c == 146) add_unichar_utf16 ((unichar) 237);+ if (c == 147) add_unichar_utf16 ((unichar) 236);+ if (c == 148) add_unichar_utf16 ((unichar) 238);+ if (c == 149) add_unichar_utf16 ((unichar) 239);+ if (c == 150) add_unichar_utf16 ((unichar) 241);+ if (c == 151) add_unichar_utf16 ((unichar) 243);+ if (c == 152) add_unichar_utf16 ((unichar) 242);+ if (c == 153) add_unichar_utf16 ((unichar) 244);+ if (c == 154) add_unichar_utf16 ((unichar) 246);+ if (c == 155) add_unichar_utf16 ((unichar) 245);+ if (c == 156) add_unichar_utf16 ((unichar) 250);+ if (c == 157) add_unichar_utf16 ((unichar) 249);+ if (c == 158) add_unichar_utf16 ((unichar) 251);+ if (c == 159) add_unichar_utf16 ((unichar) 252);+ if (c == 160) add_unichar_utf16 ((unichar) 8224);+ if (c == 161) add_unichar_utf16 ((unichar) 176);+ if (c == 162) add_unichar_utf16 ((unichar) 162);+ if (c == 163) add_unichar_utf16 ((unichar) 163);+ if (c == 164) add_unichar_utf16 ((unichar) 167);+ if (c == 165) add_unichar_utf16 ((unichar) 8226);+ if (c == 166) add_unichar_utf16 ((unichar) 182);+ if (c == 167) add_unichar_utf16 ((unichar) 223);+ if (c == 168) add_unichar_utf16 ((unichar) 174);+ if (c == 169) add_unichar_utf16 ((unichar) 169);+ if (c == 170) add_unichar_utf16 ((unichar) 8482);+ if (c == 171) add_unichar_utf16 ((unichar) 180);+ if (c == 172) add_unichar_utf16 ((unichar) 168);+ if (c == 173) add_unichar_utf16 ((unichar) 8800);+ if (c == 174) add_unichar_utf16 ((unichar) 198);+ if (c == 175) add_unichar_utf16 ((unichar) 216);+ if (c == 176) add_unichar_utf16 ((unichar) 8734);+ if (c == 177) add_unichar_utf16 ((unichar) 177);+ if (c == 178) add_unichar_utf16 ((unichar) 8804);+ if (c == 179) add_unichar_utf16 ((unichar) 8805);+ if (c == 180) add_unichar_utf16 ((unichar) 165);+ if (c == 181) add_unichar_utf16 ((unichar) 181);+ if (c == 182) add_unichar_utf16 ((unichar) 8706);+ if (c == 183) add_unichar_utf16 ((unichar) 8721);+ if (c == 184) add_unichar_utf16 ((unichar) 8719);+ if (c == 185) add_unichar_utf16 ((unichar) 960);+ if (c == 186) add_unichar_utf16 ((unichar) 8747);+ if (c == 187) add_unichar_utf16 ((unichar) 170);+ if (c == 188) add_unichar_utf16 ((unichar) 186);+ if (c == 189) add_unichar_utf16 ((unichar) 937);+ if (c == 190) add_unichar_utf16 ((unichar) 230);+ if (c == 191) add_unichar_utf16 ((unichar) 248);+ if (c == 192) add_unichar_utf16 ((unichar) 191);+ if (c == 193) add_unichar_utf16 ((unichar) 161);+ if (c == 194) add_unichar_utf16 ((unichar) 172);+ if (c == 195) add_unichar_utf16 ((unichar) 8730);+ if (c == 196) add_unichar_utf16 ((unichar) 402);+ if (c == 197) add_unichar_utf16 ((unichar) 8776);+ if (c == 198) add_unichar_utf16 ((unichar) 8710);+ if (c == 199) add_unichar_utf16 ((unichar) 171);+ if (c == 200) add_unichar_utf16 ((unichar) 187);+ if (c == 201) add_unichar_utf16 ((unichar) 8230);+ if (c == 202) add_unichar_utf16 ((unichar) 160);+ if (c == 203) add_unichar_utf16 ((unichar) 192);+ if (c == 204) add_unichar_utf16 ((unichar) 195);+ if (c == 205) add_unichar_utf16 ((unichar) 213);+ if (c == 206) add_unichar_utf16 ((unichar) 338);+ if (c == 207) add_unichar_utf16 ((unichar) 339);+ if (c == 208) add_unichar_utf16 ((unichar) 8211);+ if (c == 209) add_unichar_utf16 ((unichar) 8212);+ if (c == 210) add_unichar_utf16 ((unichar) 8220);+ if (c == 211) add_unichar_utf16 ((unichar) 8221);+ if (c == 212) add_unichar_utf16 ((unichar) 8216);+ if (c == 213) add_unichar_utf16 ((unichar) 8217);+ if (c == 214) add_unichar_utf16 ((unichar) 247);+ if (c == 215) add_unichar_utf16 ((unichar) 9674);+ if (c == 216) add_unichar_utf16 ((unichar) 255);+ if (c == 217) add_unichar_utf16 ((unichar) 376);+ if (c == 218) add_unichar_utf16 ((unichar) 8260);+ if (c == 219) add_unichar_utf16 ((unichar) 8364);+ if (c == 220) add_unichar_utf16 ((unichar) 8249);+ if (c == 221) add_unichar_utf16 ((unichar) 8250);+ if (c == 222) add_unichar_utf16 ((unichar) 64257);+ if (c == 223) add_unichar_utf16 ((unichar) 64258);+ if (c == 224) add_unichar_utf16 ((unichar) 8225);+ if (c == 225) add_unichar_utf16 ((unichar) 183);+ if (c == 226) add_unichar_utf16 ((unichar) 8218);+ if (c == 227) add_unichar_utf16 ((unichar) 8222);+ if (c == 228) add_unichar_utf16 ((unichar) 8240);+ if (c == 229) add_unichar_utf16 ((unichar) 194);+ if (c == 230) add_unichar_utf16 ((unichar) 202);+ if (c == 231) add_unichar_utf16 ((unichar) 193);+ if (c == 232) add_unichar_utf16 ((unichar) 203);+ if (c == 233) add_unichar_utf16 ((unichar) 200);+ if (c == 234) add_unichar_utf16 ((unichar) 205);+ if (c == 235) add_unichar_utf16 ((unichar) 206);+ if (c == 236) add_unichar_utf16 ((unichar) 207);+ if (c == 237) add_unichar_utf16 ((unichar) 204);+ if (c == 238) add_unichar_utf16 ((unichar) 211);+ if (c == 239) add_unichar_utf16 ((unichar) 212);+ if (c == 240) add_unichar_utf16 ((unichar) 63743);+ if (c == 241) add_unichar_utf16 ((unichar) 210);+ if (c == 242) add_unichar_utf16 ((unichar) 218);+ if (c == 243) add_unichar_utf16 ((unichar) 219);+ if (c == 244) add_unichar_utf16 ((unichar) 217);+ if (c == 245) add_unichar_utf16 ((unichar) 305);+ if (c == 246) add_unichar_utf16 ((unichar) 710);+ if (c == 247) add_unichar_utf16 ((unichar) 732);+ if (c == 248) add_unichar_utf16 ((unichar) 175);+ if (c == 249) add_unichar_utf16 ((unichar) 728);+ if (c == 250) add_unichar_utf16 ((unichar) 729);+ if (c == 251) add_unichar_utf16 ((unichar) 730);+ if (c == 252) add_unichar_utf16 ((unichar) 184);+ if (c == 253) add_unichar_utf16 ((unichar) 733);+ if (c == 254) add_unichar_utf16 ((unichar) 731);+ if (c == 255) add_unichar_utf16 ((unichar) 711); }- - // FIXME: add other macroman characters } }