何やらMacな人から頂いたファイルだの自分のMacからDebianに持ってきたファイルだのが合字(リガチャ, ligature)になってることがあって、Debianのターミナルなんかでは正常に表示されなかったりする。 合字っていうのはWikipediaの合字の項目を見るとわかるけども、複数の文字が結合されたものね。 日本語だと濁点や半濁点を、Macは合字として扱う。つまり「ぱ」ではなく「は゜」と2文字になってて、それを表示するときに1文字幅で表示させる(合字にする)わけね。 というわけでこれ処理するライブラリないのかなーとIRCで相談してみたら、Unicode::Normalizeを使えとのお達しが。 From Cとか From Dとかよく意味がわからないんだけども、一緒に教えてもらったUAX #15: Unicode Normalization Formsをの図を見ると少し意味がわかった