みずぴー日記

陽気なプログラマが世界を廻す

 ⌨AquaSKK 4.3.4: US配列におけるAZIKの動作改善

US配列 + AZIKにおいて、x[ の入力を行なえるようにした。

ダウンロード

https://github.com/codefirst/aquaskk/releases/tag/4.3.4

変更内容

US配列 + AZIKでは [ がかなモードの切り替えに使われる。 そのため、[ に割り当てられている の変換が行なえない。

ddskkでは x[ で 元の [ を代用できるようにして、この問題を解決していた。(参考: SKK Manual: AZIK)

AquaSKKでもこの方式を採用することにした。

余談

🎍新年

f:id:mzp:20160109104544p:plain

Copyright(C) 2014-2016 という部分を更新したので、新年を迎えた感じになった。

状態遷移機械

変換の動作は、専用の状態遷移機械記述ライブラリで定義されている。 このライブラリに関するドキュメントは Generic State Machine Library for C++ しか残っておらず、苦労した。

分かったことをメモしておく。

  • 状態は関数で表現され、遷移のルールはその関数の中身で表現される。
  • 定義は複数のファイルにまたがって行なわれるが、CPPを用いて1つのファイルに結合された上でコンパイルされる。
  • 状態はSubStateを持てる。たとえば、かな変換状態のSubStateとしてひらかな変換状態、カタカナ変換状態、半角カナ変換状態なのが定義されていた。