トップ «前の日記(11/04) 最新 次の日記(11/10)» 編集

hossy online - といぼっくす

ゲームの感想日記、たまにIT・プログラミングの話


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)

文字合計使用
00000000
!00000000
:::
,00000001
-00010001
.00020001
:::
a00060001
b0007001f
c00260024
:::
DEL02250000

実際にはこれらが繋がった "... 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など、実質的には意味のない文字が混じっている模様。

キー数カウント部

入力出力合計入力数出力数
00000101
00020101
00040101
00060101
00080101
000a0101
000c0101
b[US]000e0201
b,ぼう00110203
b.べい00160203
:::::
zyuじゅ0a020303

同じく、繋がった文字列が作られる。キーカウント部の最後の合計数が、次の辞書部のサイズになる。

このフォーマットを見る限り、ローマ字は入出力ともに多くても256文字までらしい。

文字数のカウント方法は次を参照。

辞書部

入力出力入力コード出力コード
002cff64
002dff70
002eff61
002fff65
005bff62
005dff63
0061ff71
b[US]0062 001fff6f
b,ホ゛ウ0062 002cff8e ff9e ff73
b.ヘ゛イ0062 002eff8d ff9e ff72
::::
zyuシ゛ュ007a 0079 0075ff7c ff9e ff6d

入力、出力共にunicode文字列が並ぶ。それぞれ固定長2bytes。U+10000以降が使えるかは不明。

入力は、キー数カウント部の通り、1文字目は U+0020〜U+007f が使える。2文字目以降は不明だが、おそらく同じと思われる。アルファベットが大文字でなく小文字な事も同様。

出力のカナは U+30xx でなく U+ffxx の、いわゆる半角カナで扱われている。濁音記号、半濁音記号はそれぞれ1文字となる。上の表を全角で書いているのは、読みやすさのため。

子音には "b[US]" のような促音を出すための印がある。この欄はローマ字カスタマイズウィンドウでは非表示。このため、ローマ字数制限550でも実際に登録できる数は少なく見えると思われる。

最後に

...この調査の目的は、次のエントリに続く、といいな(汗)。

本日のツッコミ(全1件) [ツッコミを入れる]
_ wzzzxqsh (01/30 22:35)

mto7Gi <a href="http://jqlgtsyfjehu.com/">jqlgtsyfjehu</a>, [url=http://itgdarkiarbq.com/]itgdarkiarbq[/url], [link=http://pxfobuqvraxo.com/]pxfobuqvraxo[/link], http://snieamqubhfm.com/