eucJP-openについて

Windows用シフトJIS、Windows-31Jとの相互変換機能を有したEUC-JPの拡張が、eucJP-openです。
EUC-JPで外字や98文字、IBM拡張漢字等を扱うには、eucJP-openという仕様を使うことになります。

魅力


基本的に、EUC-JPの日本語のCCSはJIS X 0208+JIS X 0212が想定されていますから、EUC-JPはシフトJISにあるような、ユーザー定義外字などを扱う能力を持ちません。

そこで符号側を拡張し、仕様変更して、この外字を置く区点位置を付けた。この一つが、eucJP-openです。

この仕様は13区にある「NEC特殊文字」にも対応し、範囲外にある「IBM拡張文字」も符号位置を変更して対応しています。

つまり、Windows-31Jの全ての文字を扱うことが可能ですが、Windowsの標準ではありません。

対応するソフトウェアは見たことがありませんが、こういった機能を有したEUC-JPを実装したい、という方は、変な符号を新規に作るより、この仕様に準拠するのが望ましいと考えます。

外字対応EUC-JPは密かに需要があるようなので、この符号の啓蒙をしていきたく思っております。


IBM拡張文字


JIS X 0208やJIS X 0212にある文字は除かれています。13区のNEC特殊文字とは一部重複します。
具体的には、次のように配置されるようです。
■は存在しない符号位置。


    |+0|+1|+2|+3|+4|+5|+6|+7|+8|+9|+A|+B|+C|+D|+E|+F
8F F3F0| | | |||||||||||Ⅰ|Ⅱ|■
    |+0|+1|+2|+3|+4|+5|+6|+7|+8|+9|+A|+B|+C|+D|+E|+F
8F F4A0|■|Ⅲ|Ⅳ|Ⅴ|Ⅵ|Ⅶ|Ⅷ|Ⅸ|Ⅹ|||㈱|№|℡||
8F F4B0||||||||||||||||
8F F4C0||||||||||||||||
8F F4D0||||||||||||||||
8F F4E0||||||||||||||||
8F F4F0||||||||||||||||■


表示がずれてもご容赦ください。
Windowsでご覧下さい。Mac OSのCCSでは正常に閲覧できません。


ユーザー定義外字


シフトJISには、20区、1880字の領域があります。
eucJP-openでは、G1とG3の85区‐94区に各10区、合計20区を割り当てています。


種類


eucJP-openは総称であり、幾つか亜種があります。
今のところ、次の三種類が確認されました。

eucJP-ms
eucJP-ascii
eucJP-0201

Windows-31Jと完全に同じUnicode変換表を持つものはeucJP-msです。
asciiと0201は、ASCII&iso-8859-1、またはJIS X 0201にある文字を優先します。

シフトJIS互換のEUC-JPを作る、という需要なら、eucJP-msだけを考えればよいと思います。他は、実際の所殆ど需要が無いのではないでしょうか。


シフトJISは伝統的にISO-646-JP、つまりJIS X 0201の拡張なので、ASCIIとの非互換が問題となります。
有名なのは、
0x5cを円にするかバックスラッシュにするか
0x7eをオーバーラインにするかチルダにするか
あたりでしょうか。
こういった互換性等も配慮し、いろいろな種類が用意されたようです。


G1とG3のそれぞれの差異


eucJP-msとeucJP-asciiは、0x20‐0x7fはASCIIと同じ、eucJP-0201は0x7fがU+203Eになるようです。
G2のJIS X 0201右側(カナ)は、三つとも同じです。

G1は、全角記号などが問題であり、Unicodeのどの文字に対応づけるかの仕様に差があった。
具体的には、 ̄―\~∥-¥¢£¬などの記号に差異が見られます。
eucJP-msは、原則としてUnicodeのFULLWIDTH側にマッピングしていますね。
シフトJISの当該文字と同じマッピングなので、対応表とかはいちいち書きませんが、実装は簡単だと思います。


G3も、JIS X 0212の変換に微妙な差異があった。追加されたIBM拡張漢字と外字領域については、三つとも同じ。
違いは、0x8FA2C3 を U+FFE4にするか、U+00A6にするか、といったあたり。
0x8FA2B7 を U+FF5Eにするか、U+007Eにするか、といった問題もあるらしい。

JIS X 0212の文字をU+007Eに割り付けるなんて、正気とは思えないのだけど。

2009/01/09(金)23:47 |Comments(0) |Trackback(0)

文字 | プログラミング | コンピュータ | [編集]

▲ページトップ

コメント

コメントの投稿

システム外字まわり ホーム JIS X 0208とUnicodeの変換
トラックバック

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

カレンダー

08 | 2017/09 | 10
- - - - - 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

プロフィール

miraicorp

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

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

twitterツイッター

管理用

検索フォーム

お知らせ

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

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

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

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

最新記事

最新コメント

最新トラックバック

月別アーカイブ

カテゴリ

広告枠

メール

メールはこちら

リンク

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

RSSリンクの表示

QRコード

QR