PHP 7.0 で intl エクステンションに導入された IntlChar を使って東アジアの文字幅を求める関数を定義しました。 IntlChar について IntlChar は Unicode Character Database で配布されているデータを文字の種類の判定に使います。東アジアの文字幅の判定には EastAsianWidth.txt が使われます。 IntlChar の実装には ICU の uchar.h が使われています。 ほかの言語の実装 Java の場合、ICU4J の UCharacter.getIntPropertyValue(codePoint, UProperty.EAST_ASIAN_WIDTH) を使います。Python の場合、標準モジュールの unicodedata.east_asian_width を使います。Go の場合、golang.org/x