https://github.com/tokuhirom/visualwidth-js/blob/master/visualwidth.js だいぶ適当だけど。VisualWidth.width() とか VisualWidth.truncate() とかできるかんじ VisualWidth.width() というのは、見た目上の幅をかえすという関数。 VisualWidth.truncate(str, len, '...') は、なんとなくその幅におさまるように truncate するという関数。 なんか適当でいいやーとおもってサロゲートペアとかしったことかー。ってかんじの実装にしてあるけど日本語だとなんとなくうごきます。判定ロジックが超適当だけど、まあなんとなくうごきます。 要は日本でまともにつかわれるサロゲートペアの領域は基本的に full-width なので、これを half-wi