ちょっとした機能

今日も、UTF-16とSJISの間で、いろいろと処理を組んだ。
今日はJIS X 0213の第2面の入出力と、半角かな周りの処理を完成させた。
これで、JIS X 0213の第2面も問題なく入出力できるようになった。

半角かな周りは、ちょっとした加工機能を搭載する。
1 そのままスルー
2 全角に変換
3 全角に変換し、更に濁点や半濁点の場合は連結する

3の場合、つまり「ガ」を入力すると「ガ」または「が」が出力されるわけである。
JISの範囲内だけなら処理も難しくはなかったが、他の符号系を考慮すると、どうやって持ち回すかが問題となった。

MIXTUREとしては、SJISから半角かなが入力された場合、半角かなバンクで文字コードは全角相当に変換したJISコードとする。Unicode領域は、スルーの場合はU+ff??のUnicode文字、変換する場合は全角に対応するUnicode文字を入れる。
これをUnicodeで出力する場合、Unicode領域をそのまま出すので目的を達成できる。
SJISで出力する場合は、バンクをまず参照するので、適当に変換して出力できる。

Unicodeから入力してSJISに吐く場合は、バンクがゼロページになってしまうので、出力側でSJIS入力時と同様の加工をする。

半角の濁点・半濁点は、連結モードで、かつ対応が適切な場合のみ、U+3099またはU+309Aの連結用文字に置換してしまう。
もって、その後の処理で、適切に連結されることになる。


ついでに、他の連結、たとえば、「が」をU+304B U+3099(か+連結用濁点)と表わしたときに、U+304C相当に変換する処理も書いたので、SJISに出力するなら自然に「が」が出て来る。


なお、この設定はオプションで実施する予定だが、それをどうやってDLLに通達するかをあまり考えていない。
この辺は今後の課題としておく。

2008/11/21(金)18:03 |Comments(0) |Trackback(0)

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

▲ページトップ

コメント

コメントの投稿

次はEUC-JP ホーム シフトJIS出力の実装
トラックバック

この記事にトラックバックする(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