符号管理

昨日、符号の管理については二つのファイルですることに決めた。

今日は、実際にその辺の処理を書いた。

コマンドラインアプリでは、オプションから文字列を拾い、ここからCES-IDとCCS-IDを得る。
入力のオプションが無ければ自動認識が走り、適当なCES-IDやCCS-IDが決定される。

CES-IDとCCS-IDから、DLL名を得て、APIで初期化する。
DLLは複数あるが、API名を統一することで、アプリケーションからは言語を意識せず利用できる設計としている。


符号管理ファイル


何の符号として認識されたかを、コンソールに表示する必要がある。このため、表示関数はCES-IDとCCS-IDから、CES名とCCS名を得る必要がある。

さて、DLL名を得る一覧表TSVファイル(以降、DLL一覧)は、CES-ID、CCS-IDとDLL名、参考程度にCES名を入れてある。
ただ、CCS-IDの欄は概ね*の一文字だけにしてあり、基本的にはCCSを問わず、CESだけでDLLが決まるようにしてある。実際、それで充分だからである。

一方、オプションからCES-ID、CCS-IDを引くための一覧(以降、符号名一覧)は、一つの符号に対し複数のオプション用名称を用意してあり(例えば、SJIS、SHIFT_JIS、SHIFT-JIS、SHIFTJIS、JMS、は全て同じ)、それぞれに漏らすことなく、CES-ID、CCS-ID、CES名、CCS名が書かれている。


符号名の表示


この状況下、CES-IDとCCS-IDからCES名とCCS名を得る場合、どうするのが最も適切なのだろうか。

最初は、DLL一覧を詳細に書き換えようかと思った。しかし途中で気付いたが、符号名一覧と殆ど変わらないファイルが二つできることになってしまう。書き間違えミスも発生しそうだった。面倒だし。
そこで考えを変えて、符号名一覧から引くことにした。

最初は、符号名一覧はCES名だけで、CCS名までは書いていなかったが、この需要のためにCES名も網羅することとし、詳細になった。

この符号名一覧にDLL名も書き込めばファイルは一つで済むことになるのだが、DLL名くらいは小さなファイルから高速に得たい気がした。
後日考えが変わる可能性はゼロではないが、今日のところは、ファイル二つ、という現状維持としておいた。


ファイル作り


処理系だけでなく、DLL一覧と符号名一覧もきちんと整備しないと、動作しないわけだ。
これを書くのも結構骨が折れる。
ソースのヘッダファイルで#defineされているものをコピペして、体裁を整えてTSVにするわけだ。
現状では、主として日本語を対象に開発を進めるため、シフトJIS、EUC-JP、ISO-2022-JPあたりを一覧に書いた。あとUnicodeの符号もおおざっぱに書いてある。


ただ、文字コードマニアが作るものだから、例えばシフトJISとかいっても一つではない。

まだ一覧レベルですが、シフトJISについては、今のところ次のようなものの処理を書こうとしている。

■CES
Shift_JIS
Shift_JISX0213
Shift_JISX0213-plane1
Shift_JIS-2004
Shift_JIS-2004-plane1

■CCS
JIS C 6226-1978
PC-9801
PC/AT
JIS X 0208-1983
EPSON PC
Windows-31J
JIS X 0213:2000
JIS X 0213:2004
Windows Vista

当然だが、Mac OSのシフトJISなども対応する準備だけはしてあり、Mac OSのシフトJISも、処理が概ね出来てきたら追加します。


興味深く思った方は、下の拍手ボタンをどうぞ。誰が押したか通知されないので安心で(?)、数だけは増えます。

2008/11/14(金)16:31 |Comments(0) |Trackback(0)

製造開発 | プログラミング | コンピュータ | [編集]

▲ページトップ

コメント

コメントの投稿

入出力を書き始めた ホーム 符号はTSVで管理する
トラックバック

この記事にトラックバックする(FC2ブログユーザー)
▲ページトップ

カレンダー

09 | 2017/10 | 11
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 - - - -

プロフィール

miraicorp

Author:miraicorp
未来情報産業(株) 社長

主として「ICカードこれひとつ」や「文字、文字コード」処理、時々C++などについて記述しています。

twitterツイッター

管理用

検索フォーム

お知らせ

コメント等お気軽にどうぞ。

気に入ったら拍手して頂けると、今後の記事を書く際の参考や励みになります。

■お仕事を募集しております
ソフトウェア製造の仕事や、原稿執筆の仕事などを随時受け付けております。
お気軽にご相談下さい

■初めての方へ
こまごまと更新しているため、他にも関連する記事があるかもしれません。
「月別アーカイブ」「検索フォーム」「カテゴリ」などをお試し下さい。
トップページはこちら

最新記事

最新コメント

最新トラックバック

月別アーカイブ

カテゴリ

広告枠

メール

メールはこちら

リンク

このブログをリンクに追加する

RSSリンクの表示

QRコード

QR