シフトJIS出力の実装

UTF-16で入力し、シフトJISの各CCSで出力して確認しながら、実装中。

この実装は内部コードの都合から、入力がJIS系かUnicode系かにより、動作が大きく変わってきます。
まぁ、SJISの出力でも、出力間際では一旦、殆ど全てをUnicodeに変換しているんですが、その手前は色々な符号に合わせた調整なんかをしているわけです。

実装するJISとUnicodeの変換表はJIS X 0208/0212/0213だけです。
従って、JIS C 6226の場合、一旦JIS X 0208にあるかどうかをチェックした後、更にJIS C 6226に無い文字をはじく、といったような処理が入るわけです。また、符号位置が入れ替わっているものを、適切に処理しなければなりません。
PC-9801を出力にしたなら、98文字は通す、などの加工をする。

一応、実装のテストは、次の文字を入力し、その出力を見るようにしている。
・第一水準の普通の文字
・JIS C 6226になく、JIS X 0208で新規登録された文字
・JIS C 6226とJIS X 0208で入れ替わっている文字
・JIS X 0208-1983で第二水準に追加された文字
・JIS X 0208-1990で第二水準に追加された文字
・98文字にあるもの
・IBM文字にあるもの
・連結の文字「かに半濁点」
・JIS X 0213のplane 2にある文字
・CJK Ideograph Extension Bにある文字(UTF-16ではサロゲート、JIS X 0208ではplane 2)

他にもパターンはありそうだけども、当面はこのパターンでテストする。

出力については、現在は全方式にて合格している。次は、入力に対応するよう改良を進めていく。


コメント
コメントの投稿


管理者にだけ表示を許可する

トラックバック
http://miraicorp.blog90.fc2.com/tb.php/18-d8cedf95
この記事にトラックバックする(FC2ブログユーザー)