===================================================================
--- src/header.c (revision 871)
+++ src/header.c (working copy)
unsigned long usedByteLen = 0;
cfResult = CFStringEncodingBytesToUnicode(kCFStringEncodingUTF8,
+ /* vender-specific character conversion
+ http://www.ingrid.org/java/i18n/unicode.html */
+ for (i=0; i<255; i+=2) {
+ if (uniStr[i] == 0x20 && uniStr[i+1] == 0x3e) {
+ /* OVERLINE -> FULLWIDTH MACRON */
+ uniStr[i] = 0xff; uniStr[i+1] = 0xe3;
+ } else if (uniStr[i] == 0x20 && uniStr[i+1] == 0x14) {
+ /* EM DASH -> HORIZONTAL BAR */
+ uniStr[i] = 0x20; uniStr[i+1] = 0x15;
+ } else if (uniStr[i] == 0x30 && uniStr[i+1] == 0x1c) {
+ /* WAVE DASH -> FULLWIDTH TILDE */
+ uniStr[i] = 0xff; uniStr[i+1] = 0x5e;
+ } else if (uniStr[i] == 0x20 && uniStr[i+1] == 0x16) {
+ /* DOUBLE VERTICAL LINE -> PARALLEL TO */
+ uniStr[i] = 0x22; uniStr[i+1] = 0x25;
+ } else if (uniStr[i] == 0x22 && uniStr[i+1] == 0xef) {
+ /* MIDLINE HORIZONTAL ELLIPSIS -> HORIZONTAL ELLIPSIS */
+ uniStr[i] = 0x20; uniStr[i+1] = 0x26;
+ } else if (uniStr[i] == 0x22 && uniStr[i+1] == 0x12) {
+ /* MINUS SIGN -> FULLWIDTH HYPHEN-MINUS */
+ uniStr[i] = 0xff; uniStr[i+1] = 0x0d;
+ } else if (uniStr[i] == 0x00 && uniStr[i+1] == 0xa2) {
+ /* CENT SIGN -> FULLWIDTH CENT SIGN */
+ uniStr[i] = 0xff; uniStr[i+1] = 0xe0;
+ } else if (uniStr[i] == 0x00 && uniStr[i+1] == 0xa3) {
+ /* POUND SIGN -> FULLWIDTH POUND SIGN */
+ uniStr[i] = 0xff; uniStr[i+1] = 0xe1;
+ } else if (uniStr[i] == 0x00 && uniStr[i+1] == 0xac) {
+ /* NOT SIGN -> FULLWIDTH NOT SIGN */
+ uniStr[i] = 0xff; uniStr[i+1] = 0xe2;
cfResult = CFStringEncodingUnicodeToBytes(scriptEncoding,