11/05
_ [同人ゲーム] C75情報
当落発表がいくつかのページで出てきています。同人ゲーム関係は主に 12/29(月)。
東方なかたは、来年3/8に開催される [博麗神社例大祭 vol.6] のオンライン応募〆切が 11/26 13:00 だったりと忙しそうな。ここから2ヶ月の修羅場、頑張ってください。
ところで... 紫雨さんの 12/30(火) というのは一体^;
_ [文字入力] ATOK2008 .styファイル覚え書き
ATOKのローマ字カスタマイズなどを出力/取り込みできる、.styファイルについて調べてみました。仕様書を見たわけではなく、.sty を眺めていてきっとこんな感じと推測しているだけで、誤っているかもしれません。勿論、他のバージョンでも当てはまるかどうかも分かりません。
以下のサンプルのスタイルファイルは、DvorakJPのものです。
はじめに
[環境] IDCode=ATOKSTYLE21 Version=13.00 Revision=1.00 [カスタマイズ] キー=0000... ユーザー定義色=FFFF... ローマ字=0000... 表示色=0FFF...
[カスタマイズ] セクション内の「ローマ字=」と書かれている行が、「a = あ」といったローマ字に対応する。
0〜9, a〜f の16進数が並べられている。大抵の値は unsigned short (2bytes) で、4文字単位で読んでいけば良い。
ヘッダ部、キー数カウント部、辞書文字数カウント部、辞書部の4つのパートに分かれている。
ヘッダ部 (8bytes)
00000225 01000002
最初の値は unsigned long (4bytes) で、ローマ字の定義された個数を書いている。最大550。それ以上はATOKで扱えない。
2つめの値は不明。バージョン番号? 特殊設定関連?
キー数カウント部 (2 * 2 * 96bytes)
文字 | 合計 | 使用 |
---|---|---|
0000 | 0000 | |
! | 0000 | 0000 |
: | : | : |
, | 0000 | 0001 |
- | 0001 | 0001 |
. | 0002 | 0001 |
: | : | : |
a | 0006 | 0001 |
b | 0007 | 001f |
c | 0026 | 0024 |
: | : | : |
DEL | 0225 | 0000 |
実際にはこれらが繋がった "... 0000 0000 0000 0000 ... 0000 0001 0001 0001 0002 0001 ... 0006 0001 0007 001f 0026 0024 ... 0225 0000 ..." という文字列が作られる。最後の合計数が、キー数カウント部のサイズになる。
U+0020(スペース)〜U+007f(DEL)までの96文字に対し、それぞれが先頭に来るローマ字がいくつ登録されているかが入っている。たとえば「a」で始まるものは1つだけ、「b」で始まるものは「ba」「byo」など 0x001f = 31個、というように。
アルファベットは小文字側が使われる。「A〜Z」の大文字は常に空。他にもスペースやDELなど、実質的には意味のない文字が混じっている模様。
キー数カウント部
入力 | 出力 | 合計 | 入力数 | 出力数 |
---|---|---|---|---|
, | 、 | 0000 | 01 | 01 |
− | ー | 0002 | 01 | 01 |
. | 。 | 0004 | 01 | 01 |
/ | ・ | 0006 | 01 | 01 |
[ | 「 | 0008 | 01 | 01 |
] | 」 | 000a | 01 | 01 |
a | あ | 000c | 01 | 01 |
b[US] | っ | 000e | 02 | 01 |
b, | ぼう | 0011 | 02 | 03 |
b. | べい | 0016 | 02 | 03 |
: | : | : | : | : |
zyu | じゅ | 0a02 | 03 | 03 |
同じく、繋がった文字列が作られる。キーカウント部の最後の合計数が、次の辞書部のサイズになる。
このフォーマットを見る限り、ローマ字は入出力ともに多くても256文字までらしい。
文字数のカウント方法は次を参照。
辞書部
入力 | 出力 | 入力コード | 出力コード |
---|---|---|---|
, | 、 | 002c | ff64 |
− | ー | 002d | ff70 |
. | 。 | 002e | ff61 |
/ | ・ | 002f | ff65 |
[ | 「 | 005b | ff62 |
] | 」 | 005d | ff63 |
a | ア | 0061 | ff71 |
b[US] | ッ | 0062 001f | ff6f |
b, | ホ゛ウ | 0062 002c | ff8e ff9e ff73 |
b. | ヘ゛イ | 0062 002e | ff8d ff9e ff72 |
: | : | : | : |
zyu | シ゛ュ | 007a 0079 0075 | ff7c ff9e ff6d |
入力、出力共にunicode文字列が並ぶ。それぞれ固定長2bytes。U+10000以降が使えるかは不明。
入力は、キー数カウント部の通り、1文字目は U+0020〜U+007f が使える。2文字目以降は不明だが、おそらく同じと思われる。アルファベットが大文字でなく小文字な事も同様。
出力のカナは U+30xx でなく U+ffxx の、いわゆる半角カナで扱われている。濁音記号、半濁音記号はそれぞれ1文字となる。上の表を全角で書いているのは、読みやすさのため。
子音には "b[US]" のような促音を出すための印がある。この欄はローマ字カスタマイズウィンドウでは非表示。このため、ローマ字数制限550でも実際に登録できる数は少なく見えると思われる。
最後に
...この調査の目的は、次のエントリに続く、といいな(汗)。
mto7Gi <a href="http://jqlgtsyfjehu.com/">jqlgtsyfjehu</a>, [url=http://itgdarkiarbq.com/]itgdarkiarbq[/url], [link=http://pxfobuqvraxo.com/]pxfobuqvraxo[/link], http://snieamqubhfm.com/