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に書いてある。