忍びいろはモジュール

Naoki Tomita Naoki Tomita September 27th, 2016 #ninja #perl

少し手が空いたので、ひさびさにperl5 Text::Shinobi というモジュールを作成してみました。340年前に編纂された、かの忍術総合百科事典『万川集海』に登場する換字式暗号のencode/decodeをするものです。

暗号✨ 忍者💕 少年時代に何かで見たことがある方も多いのではないでしょうか。ちなみに、当然ながら忍者界ではテストにも出ます

モジュール化のアイディア自体は数年前に思いついたのですが、二の足を踏んでいたのは、以下のようなめんどくさい点(←ここが楽しい点でもある)によります:

ですがこのたび、

などと決め、気合を入れUnicode表と対決。検証には うみほたる 様の記事と同梱のreadme.txtを激烈参照させていただきました。Unicodeに採用された文字の数点が「忍びいろは」由来であることなど、興味深かったです。Unicodeに生き続ける忍術! (参考: JIS X0213規格票のp205, p282「附随書6(規定)」(X0213_09.pdf)にて用例として示されています。

ブラウザの標準環境で表示可能な文字というのが曲者で、中国語フォントへのfallbackを考慮すると(たとえばMacの場合でゴシック体の場合はPingFang HK)、最終的にはシミュレータでちまちま確認。(結果Android 4.xは見捨てることに… 苦

しかしこういった泥臭い確認作業(2016)、

2016

10年前(2007)やってたことと大して変わらない件www

2007

emoji4unicodeがそうであったように、Unicodeやフォント環境などは今後も変わるもの。忍びいろはが流行すると、現在対応するUnicodeがない文字もUnicode採用されるカモ!!