terminology: fix is_dblwidth

should use a proper bitmap someday…

Fixes #1687

SVN revision: 78627
This commit is contained in:
Boris Faure 2012-10-29 22:04:21 +00:00
parent 4b64f43863
commit 9e0d981e24
1 changed files with 20 additions and 26 deletions

View File

@ -17,42 +17,36 @@ _termpty_is_dblwidth_get(Termpty *ty, int g)
return EINA_FALSE;
// (F)
if ((g == 0x3000) ||
((g >= 0xff01) && (g <= 0xffe6)))
((g >= 0xff01) && (g <= 0xff60)) ||
((g >= 0xffe0) && (g <= 0xff06)))
return EINA_TRUE;
// (W)
//
if (
// 1XXX
(((g >> 12) == 0x1) &&
(((g >= 0x1100) && (g <= 0x11ff)))) ||
((g >= 0x1100) && (g <= 0x115f)) ||
// 2XXX
(((g >> 12) == 0x2) &&
(((g >= 0x2329) && (g <= 0x232A)) ||
((g >= 0x2E80) && (g <= 0x4dbf)))) ||
// 4XXX
(((g >> 12) == 0x4) &&
(((g >= 0x4e00) && (g <= 0x9fff)))) ||
((g == 0x2329) || (g == 0x232a)) ||
((g >= 0x2e80) && (g <= 0x2ffb)) ||
// 3XXX -> A4C6
((g >= 0x3001) && (g <= 0x303f)) ||
((g >= 0x3041) && (g <= 0x3247)) ||
((g >= 0x3250) && (g <= 0x4dbf)) ||
((g >= 0x4e00) && (g <= 0xa4c6)) ||
// aXXX
((((g >> 12) >= 0xa) && ((g >> 12) <= 0xd)) &&
(((g >= 0xa000) && (g <= 0xa4c6)) ||
((g >= 0xa960) && (g <= 0xa97c)) ||
((g >= 0xac00) && (g <= 0xd7a3)) ||
((g >= 0xd7b0) && (g <= 0xd7fb)))) ||
((g >= 0xa960) && (g <= 0xa97c)) ||
((g >= 0xac00) && (g <= 0xd7a3)) ||
// fXXX
(((g >> 12) == 0xf) &&
(((g >= 0xf900) && (g <= 0xfaff)) ||
((g >= 0xfe10) && (g <= 0xfe6b)))) ||
((g >= 0xf900) && (g <= 0xfaff)) ||
((g >= 0xfe10) && (g <= 0xfe19)) ||
((g >= 0xfe30) && (g <= 0xfe6b)) ||
// 1XXXX
(((g >> 16) == 0x1) &&
(((g >= 0x1b000) && (g <= 0x1b001)) ||
((g >= 0x1f200) && (g <= 0x1f202)) ||
((g >= 0x1f210) && (g <= 0x1f251)))) ||
((g >= 0x1b000) && (g <= 0x1b001)) ||
((g >= 0x1f200) && (g <= 0x1f202)) ||
((g >= 0x1f210) && (g <= 0x1f251)) ||
// 2XXXX
(((g >> 16) == 0x2) &&
(((g >= 0x20000) && (g <= 0x2fffd)))) ||
((g >= 0x20000) && (g <= 0x2fffd)) ||
// 3XXXX
(((g >> 12) == 0x3) &&
(((g >= 0x30000) && (g <= 0x3FFFD)))))
((g >= 0x30000) && (g <= 0x3FFFD)))
return EINA_TRUE;
// FIXME: can optimize by breaking into tree and ranges
// (A)