parent
8585c3e9c2
commit
c1b516f231
2 changed files with 26 additions and 13 deletions
@ -1,2 +1,25 @@ |
||||
Eina_Bool _termpty_is_dblwidth_get(Termpty *ty, int g); |
||||
|
||||
Eina_Bool _termpty_is_dblwidth_slow_get(Termpty *ty, int g); |
||||
|
||||
static inline Eina_Bool |
||||
_termpty_is_dblwidth_get(Termpty *ty, int g) |
||||
{ |
||||
#if defined(SUPPORT_DBLWIDTH) |
||||
// check for east asian full-width (F), half-width (H), wide (W),
|
||||
// narrow (Na) or ambiguous (A) codepoints
|
||||
// ftp://ftp.unicode.org/Public/UNIDATA/EastAsianWidth.txt
|
||||
|
||||
// optimize for latin1 non-ambiguous
|
||||
if (g <= 0xa0) |
||||
return EINA_FALSE; |
||||
// (F)
|
||||
if ((g == 0x3000) || |
||||
((g >= 0xff01) && (g <= 0xff60)) || |
||||
((g >= 0xffe0) && (g <= 0xffe6))) |
||||
return EINA_TRUE; |
||||
|
||||
return _termpty_is_dblwidth_slow_get(ty, g); |
||||
#else |
||||
return EINA_FALSE; |
||||
#endif |
||||
} |
||||
|
||||
|
Loading…
Reference in new issue