/* * ========================================================================== * ReformatText * ========================================================================== */ /* * Convert IIgs high-ASCII characters to Windows equivalents (when * available). * * Also found this: * http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/ROMAN.TXT */ const int kUnk = 0x3f; // for unmappable chars, use '?' /*static*/ const unsigned char ReformatText::kGSCharConv[128] = { 0xc4, // 0x80 A + umlaut (diaeresis?) 0xc5, // 0x81 A + overcircle 0xc7, // 0x82 C + cedilla 0xc9, // 0x83 E + acute 0xd1, // 0x84 N + tilde 0xd6, // 0x85 O + umlaut 0xdc, // 0x86 U + umlaut 0xe1, // 0x87 a + acute 0xe0, // 0x88 a + grave 0xe2, // 0x89 a + circumflex 0xe4, // 0x8a a + umlaut 0xe3, // 0x8b a + tilde 0xe5, // 0x8c a + overcircle 0xe7, // 0x8d c + cedilla 0xe9, // 0x8e e + acute 0xe8, // 0x8f e + grave 0xea, // 0x90 e + circumflex 0xeb, // 0x91 e + umlaut 0xed, // 0x92 i + acute 0xec, // 0x93 i + grave 0xee, // 0x94 i + circumflex 0xef, // 0x95 i + umlaut 0xf1, // 0x96 n + tilde 0xf3, // 0x97 o + acute 0xf2, // 0x98 o + grave 0xf4, // 0x99 o + circumflex 0xf6, // 0x9a o + umlaut 0xf5, // 0x9b o + tilde 0xfa, // 0x9c u + acute 0xf9, // 0x9d u + grave 0xfb, // 0x9e u + circumflex 0xfc, // 0x9f u + umlaut 0x87, // 0xa0 double cross (dagger) 0xb0, // 0xa1 degrees 0xa2, // 0xa2 cents 0xa3, // 0xa3 pounds (UK$) 0xa7, // 0xa4 section start 0x95, // 0xa5 small square (bullet) [using fat bullet] 0xb6, // 0xa6 paragraph (pilcrow) 0xdf, // 0xa7 curly B (latin small letter sharp S) 0xae, // 0xa8 raised 'R' (registered) 0xa9, // 0xa9 raised 'C' (copyright) 0x99, // 0xaa raised 'TM' (trademark) 0xb4, // 0xab acute accent 0xa8, // 0xac umlaut (diaeresis) kUnk, // 0xad not-equal 0xc6, // 0xae merged AE 0xd8, // 0xaf O + slash (upper-case nil?) kUnk, // 0xb0 infinity 0xb1, // 0xb1 +/- kUnk, // 0xb2 <= kUnk, // 0xb3 >= 0xa5, // 0xb4 Yen (Japan$) 0xb5, // 0xb5 mu (micro) kUnk, // 0xb6 delta (partial differentiation) [could use D-bar 0xd0] kUnk, // 0xb7 epsilon (N-ary summation) [could use C-double-bar 0x80] kUnk, // 0xb8 PI (N-ary product) kUnk, // 0xb9 pi kUnk, // 0xba integral 0xaa, // 0xbb a underbar (feminine ordinal) [using raised a] 0xba, // 0xbc o underbar (masculine ordinal) [using raised o] kUnk, // 0xbd omega (Ohm) 0xe6, // 0xbe merged ae 0xf8, // 0xbf o + slash (lower-case nil?) 0xbf, // 0xc0 upside-down question mark 0xa1, // 0xc1 upside-down exclamation point 0xac, // 0xc2 rotated L ("not" sign) 0xb7, // 0xc3 checkmark (square root) [using small bullet] 0x83, // 0xc4 script f kUnk, // 0xc5 approximately equal kUnk, // 0xc6 delta (triangle / increment) 0xab, // 0xc7 much less than 0xbb, // 0xc8 much greater than 0x85, // 0xc9 ellipsis 0xa0, // 0xca blank (sticky space) 0xc0, // 0xcb A + grave 0xc3, // 0xcc A + tilde 0xd5, // 0xcd O + tilde 0x8c, // 0xce merged OE 0x9c, // 0xcf merged oe 0x96, // 0xd0 short hyphen (en dash) 0x97, // 0xd1 long hyphen (em dash) 0x93, // 0xd2 smart double-quote start 0x94, // 0xd3 smart double-quote end 0x91, // 0xd4 smart single-quote start 0x92, // 0xd5 smart single-quote end 0xf7, // 0xd6 divide 0xa4, // 0xd7 diamond (lozenge) [using spiky circle] 0xff, // 0xd8 y + umlaut // [nothing below here is part of standard Windows-ASCII?] // remaining descriptions based on hfsutils' "charset.txt" kUnk, // 0xd9 Y + umlaut kUnk, // 0xda fraction slash kUnk, // 0xdb currency sign kUnk, // 0xdc single left-pointing angle quotation mark kUnk, // 0xdd single right-pointing angle quotation mark kUnk, // 0xde merged fi kUnk, // 0xdf merged FL kUnk, // 0xe0 double dagger kUnk, // 0xe1 middle dot kUnk, // 0xe2 single low-9 quotation mark kUnk, // 0xe3 double low-9 quotation mark kUnk, // 0xe4 per mille sign kUnk, // 0xe5 A + circumflex kUnk, // 0xe6 E + circumflex kUnk, // 0xe7 A + acute accent kUnk, // 0xe8 E + diaeresis kUnk, // 0xe9 E + grave accent kUnk, // 0xea I + acute accent kUnk, // 0xeb I + circumflex kUnk, // 0xec I + diaeresis kUnk, // 0xed I + grave accent kUnk, // 0xee O + acute accent kUnk, // 0xef O + circumflex kUnk, // 0xf0 apple logo kUnk, // 0xf1 O + grave accent kUnk, // 0xf2 U + acute accent kUnk, // 0xf3 U + circumflex kUnk, // 0xf4 U + grave accent kUnk, // 0xf5 i without dot kUnk, // 0xf6 modifier letter circumflex accent kUnk, // 0xf7 small tilde kUnk, // 0xf8 macron kUnk, // 0xf9 breve kUnk, // 0xfa dot above kUnk, // 0xfb ring above kUnk, // 0xfc cedilla kUnk, // 0xfd double acute accent kUnk, // 0xfe ogonek kUnk, // 0xff caron };