diff --git a/scim-wnn/src/wnnconversion.cpp b/scim-wnn/src/wnnconversion.cpp index 58c8040..0fe92cd 100644 --- a/scim-wnn/src/wnnconversion.cpp +++ b/scim-wnn/src/wnnconversion.cpp @@ -59,6 +59,10 @@ *e ++ = x >> 8; *e ++ = x; } else + if (x & 0x80) { + *e ++ = 0x8e; + *e ++ = x & 0xff; + } else *e++ = x; } *e ++ = 0; @@ -69,7 +73,8 @@ w_char x; for(;*e;) { x = *e ++; - if(x & 0x80) + if (x == 0x8e) x = *e ++ | 0x80; + if (x & 0x80) x = ((x << 8) & 0xff00) | *e ++; *u ++ = x; }