tokuhirom's Blog

Text::VisualWidth::PP 0.02 がでていた

Text::VisualWidth::PP といえば、文字の幅が1文字幅か2文字幅かを判別してうまいことなにかやりたいときに便利なライブラリとして Perl 界では有名ですね。

このモジュール、もとはといえば mobirc を pure perl 化しようとしたときに Text::VisualWidth::XS の PP 版がなくてこまった!! っていう現象がおきたときに、つくったものなんですね。そんなモジュールが他でもつかわれるとは不思議なものです。

さて、そんな Text::VisualWidth::PP ですが、Songmu さんのブログで

BEGIN { $Unicode::EastAsianWidth::EastAsian = 1; }

をつかっていろいろがんばってる様子がのっておりまして、どうも、これは、楽をするためのモジュールであるはずの Text::VisualWidth::PP が、苦痛を増大させているのではないか、もっと Text::VisualWidth::PP ができることがあるのではないだろうか、そんな気持が芽生えたわけです。

そんなことではいけない、というわけで

$Text::VisualWidth::PP::EastAsian = 1;

というフラッグを新設しました。

このフラッグにより、ambigious width な文字を1幅としてあつかうか2幅としてあつかうかを制御可能になります。

このフラッグにより BK から開放され、皆様の生活がおだやかなものとなることを私は願ってやみません。