ようこそ 屋根裏部屋 mkII へ ログイン | 登録 | ヘルプ

Technological

ちょっとしたTIPSや私がはまったこと、調べたことなんかを書いていきます。

JIS X 0213:2004対応進んでます?

VistaでいよいよJIS X 0213:2004がやってきます。メイリオはJIS X 0213:2004対応なので、何も考えずにデータを受け取ってしまうと、意図しない文字が入ってきて、システムにまずい問題が出るかもしれません(というかたぶん出ます)。

内部で統制ができる、いわゆるイントラならともかく、どこからどんなデータが入ってくるかわからないWebシステムだとどうするのでしょう。

今、「Vistaのベータ版での動作確認しました」というソフトが結構あると思うんですが、Unicodeのデータ流し込まれても大丈夫でしょうか?しかも拡張面のデータだってやってきます。

無いデータはともかく、グリフ(字形)が入れ替わってしまった文字もあります。有名な葛飾ですね。

 じゃあみんな葛飾は旧字体でいいじゃないかと思う人もいるかもしれませんが、新字体の葛を使った地名もあったりします。止め、跳ね、払いの区別が重要なお役所業務では微細な差も外字として扱っています(戸籍を新しく作るときなんかは割と正字に誘導しているようですが)。

Vistaで変更された文字を入力させないようにするためには、以下の方法をとるしかないそうです。

  • Vistaリリース後に別途提供される(?)MSゴシックのJIS90版をインストールする。
  • MS-IMEで「SHIFT-JISの範囲のみ変換対象にする」というチェックをいれる(これってグループポリシー無いのかな。バッチでやって欲しいようなことを言ってましたが)。

過渡期はこれでいいかもしれませんが、いずれは収束しないといけないし、特にWeb系の人たちは大変かなと思います。フォントの件に関しては、BDDやWindows Deployment Service(RISの後継)でフォントを追加格納してイメージ作って展開するしかないでしょうか。

プログラムとしては、

  • UTF-16(の2byte)前提にしない
  • データベースのサイズに注意しよう(OracleなどはUTF-8でやってほしそうです)

ってところでしょうか。実際にデータいれて、.NETのプログラムでサロゲートペア対応しているかどうか確認したいのですが、該当する文字探すのがまず大変です(^^;。

公開 2006年11月13日 23:35 投稿者 kkamegawa
タグ , , ,

コメントの通知

この投稿にコメントが付いた場合にメールを受信するには、登録してください。ここ

また次のフィードから、お気に入りのRSSリーダーを使って最新の状態を知ることもできます。 コメントのRSSフィード

コメント

# re: JIS X 0213:2004対応進んでます? @ 2006年11月14日 9:29

DB 側はたいへんかも。 例えば SQL Server で、 バイナリの照合順序 (あるいは、SQL Server 2005 以降の「90」照合順序) にしていないと、 「補助文字」 (Supplementary Characters) が無視されてしまって、 INSERT 時に UNIQ 制約に引っ掛かったり、 ORDER BY がワケワカメになったり… f(^^;

Oracle は良く知らないのだけれど。 「データベース・キャラクタ・セット UTF8」 (Unicode 3.1) ではダメでしょうね。 AL32UTF8 がサポートされてるのは、どのバージョンからでしたっけ f(^^;

biac

# re: JIS X 0213:2004対応進んでます? @ 2006年11月15日 0:07

AL32UTF8そのものはだいぶ前のバージョンから対応しています。少なくとも9iR2は入っています。

ただ、同じAL32UTF8であっても、Oracleのバージョンによって、対応しているUnicodeバージョンが異なるということでした。

この辺困りますよねぇ。第三、第四水準が格納できるUnicode 4.0対応は10gR2のみだそうです。

kkamegawa

# re: JIS X 0213:2004対応進んでます? @ 2006年11月17日 14:42

.NETでもstring.Lengthでは正しくサロゲートペアを認識できない場合があるはずです。

StringInfo.Lengthの場合は大丈夫だとか。

あと、JIS90互換フォント(MSフォント2.5)は字形を元に戻すだけで三水、四水は相変わらず入力可能です。

IMEで制限するのもありですが、丸付き数字が入力できなくなるなどの不便もこうむりますし、コピー&ペーストされたものは防ぎようがないのでほんとに一時しのぎですね。

りばてぃ

# re: JIS X 0213:2004対応進んでます? @ 2006年11月19日 1:51

りばてぃさん

むむ、StringInfoクラスは始めて知りました。Globarizationにあるんですね。

JIS90フォントは確かに字形は入れ替えますけど、Vistaで変更された文字に関してはそのままっぽいので、困り処です。

kkamegawa

# re: JIS X 0213:2004対応進んでます? @ 2006年11月25日 13:36

IMEのプロパティ⇒【変換】タブ⇒【変換文字制限(H)】

⇒『JIS X 0208文字で構成された単語/文字のみ変換候補に表示する(J)』

をチェックすればJIS X 0208文字しか入力されなくなるのですが。。。

↑の制限は抜け道があってIMEパッドの

『手書き』『文字一覧』『総画数』『部首』

から選べば入力出来てしまいます(ノω・)

ちなみにRTM版でも修正されていません。

RC版から報告出してたのに直してくれなかったようです(ノω・)

ミドルウェアがまだまだ未対応なのが多そうなので

WindowsVistaを導入出来るのは全システムが『JIS X 0213:2004』対応後。。。

早くても7~8年後だろか(・ω・)

あざらし君

# re: JIS X 0213:2004対応進んでます? @ 2006年11月26日 18:18

コメントありがとうございます。

確かにその手段で抑止できますけれど、グリフが異なるため、完全にはなりません(もっとも入れ替えても問題のある文字はあるそうです)。

IMEパッドは知りませんでした。たぶんここまでやる必要を認めなかったんでしょうか。それに、フォントをメイリオにしてしまえば意味がありませんからね(メイリオはJIS2004のみ)。

そういう絡みもあって対応されなかったんじゃないかなと思います。中の人じゃないのでわからないですが…。

kkamegawa

どのような感想ですか?

(必須) 
必須 
(必須) 
Powered by Community Server, by Telligent Systems