/east_asian_width

Unicode library for getting East Asian Width property.

Primary LanguageDBoost Software License 1.0BSL-1.0

east_asian_width

Unicode library for getting East Asian Width property

import eastasianwidth;

assert(displayWidth("あいうえお") == 10);

// '☆' is Ambiguous character
assert(displayWidth('') == 1);
assert(displayWidth('', AmbiguousCharWidth.wide) == 2);
assert(displayWidth("☆D言語くん☆") == 11);
assert(displayWidth("☆D言語くん☆", AmbiguousCharWidth.wide) == 13);

assert(eastAsianWidth('') == EastAsianWidthProperty.F); // Fullwidth
assert(eastAsianWidth('') == EastAsianWidthProperty.H);  // Halfwidth
assert(eastAsianWidth('') == EastAsianWidthProperty.W); // Wide
assert(eastAsianWidth('A') == EastAsianWidthProperty.Na); // Narrow
assert(eastAsianWidth('') == EastAsianWidthProperty.A); // Ambiguous
assert(eastAsianWidth('À') == EastAsianWidthProperty.N);  // Neutral