add interfaces and option handling

This commit is contained in:
Jörg Breitbart
2019-12-05 21:30:59 +01:00
parent 31ccb796ac
commit 43303ba4c1
7 changed files with 67 additions and 10 deletions
+2 -2
View File
@@ -205,10 +205,10 @@ export class UnicodeV11 implements IUnicodeVersionProvider {
}
}
public wcwidth(num: number): number {
public wcwidth(num: number): 0 | 1 | 2 {
if (num < 32) return 0;
if (num < 127) return 1;
if (num < 65536) return UnicodeV11.bmpTable[num];
if (num < 65536) return UnicodeV11.bmpTable[num] as 0 | 1 | 2;
if (UnicodeV11.bisearch(num, UnicodeV11.highCombining)) return 0;
if (UnicodeV11.bisearch(num, UnicodeV11.highWide)) return 2;
return 1;
+2 -2
View File
@@ -118,10 +118,10 @@ export class UnicodeV6 implements IUnicodeVersionProvider {
}
}
public wcwidth(num: number): number {
public wcwidth(num: number): 0 | 1 | 2 {
if (num < 32) return 0;
if (num < 127) return 1;
if (num < 65536) return UnicodeV6.bmpTable[num];
if (num < 65536) return UnicodeV6.bmpTable[num] as 0 | 1 | 2;
if (UnicodeV6.bisearch(num, UnicodeV6.highCombining)) return 0;
if ((num >= 0x20000 && num <= 0x2fffd) || (num >= 0x30000 && num <= 0x3fffd)) return 2;
return 1;