Big5+

Big5+の入出力に対応した。

Big5+は、第2バイトが拡張されているため、内部管理のCES-IDも変更し、処理関数も別とした。


Big5+の特徴


さてBig5+ですが、「Big5-Etenの範囲内」は、ほぼ同様です。
但し、Big5にない第2バイト領域には、独自に漢字が割り当てられています。
また、外字領域等にも独自の漢字が配置されています。
予約領域の独自の配置も、平仮名・片仮名はBig5-Etenと同様ですが、それ以外については互換性が乏しくなっています。


変換表


このような状況で、どう変換表を作るかが課題でした。
Big5+→Unicodeは、他のBig5符号と同様に、範囲ごとに小分けして表にし、範囲ごとに選んで変換することとした。
外字領域は一次元の表として、それ以外は概ねxx80-xxA0の範囲内のみを格納した小さな表とし、それで補いきれない領域については別途幾つか表を作って参照することとした。


Unicode→Big5+は、変換表を縮小するため、Big5-Etenに対して外字領域や予約領域に拡張された文字のみを格納した。
不必要な箇所を削って圧縮し、この表から見つからない場合は、追加でBig5-Etenの表を参照するようにしてあります。


DLLのサイズ


ここまでの対応で、現状lng_zh.dllは、658キビバイトとなっています。
lng_ja.dllは現状、344キビバイトなのに、完敗です。

まぁ、支那語(zh)の場合、簡体字(zh-cn)と正字体(zh-tw)の二種類があるから、テーブルがおよそ倍に肥大化するのは仕方がないと言えば、仕方がない。

あと、台湾だと「CNS 11643」なる仕様もあるのだが、これにも対応する予定。
このDLLは、最終的にメビバイト超えそうです。

2008/12/14(日)12:51 |Comments(0) |Trackback(0)

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

▲ページトップ

コメント

コメントの投稿

WZ EDITOR 6 ホーム Big5E
トラックバック

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

カレンダー

04 | 2017/05 | 06
- 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