fftt, again

fFtT コマンドについて、従来からある拡張をしていた。カタカナ・ひらがな・漢字のローマ字読みのデータを wasavi 内部で持って、Latin-1 の文字でそれらを指定できるというものだ。つまり「カ」にカーソルをジャンプするには [cci]fk[/cci] すればよい。

今回この対象をカタカナ・ひらがな・漢字以外にも広げたい。特に、Latin-1 ではないラテン文字に対する拡張が中心になる。

元となるデータは、UnicodeData.txt の Decomposition_Mapping である。たとえば U+00C0 (À) のそれは
U+0041 U+0300
という形式に分解される。U+0041 はつまり単に A であり、それに U+0300 が付随している書記素クラスタということだ。このデータの中から最初の Latin-1 内の文字を抜き出して fFtT の代替表現とする。

前述の通りこの拡張はラテン文字が中心なのだが、日本語に関してもいくつか拡張される。

  • U+330D (㌍) のようなアレについて、最初のカナに対応するローマ字の読みでジャンプできるようになる
  • U+FF01 から始まる全角形の文字群について、対応する半角形でジャンプできるようになる
  • 半角カナについても同様

一方、気になる点もいくつか出てきた。

  • Decomposition_Type = <fraction> である文字、例えば U+00BC (¼) は分解すると 1/4 となって最初の Latin-1 は 1 である。しかしそうすると 1/4 だろうが 1/2 だろうが 1/3 だろうがその Latin-1 代替表現は全部 1 だ。これは直感的なんだろうか?
  • Ⅰ Ⅱ Ⅲ Ⅳ といった文字についても、単純に Decomposition_Mapping に従うとその Latin-1 代替表現は全部 I(Latin-1 のアイ)。これは対応する 1 〜 4 のほうが良いのではないか?(そうすると U+2169 (Ⅹ) 以降に何を対応させるかという別の問題が出てくるが)
  • U+2469 (⑩) から始まる 10 〜 20 の囲み数値についても何を代替表現にするかという問題が。全部 1 でいいのか?

* * *

とりあえず何の変更も加えないことにした。文句が上がってきたらその時考える。

ちなみに、どのコードポイントがどの Latin-1 の文字に代替されるかは github 上の wikiに書いてある。

Leave a Reply

Your email address will not be published. Required fields are marked *