データドリブン経営の前提として考えるMVV:ミッション・ビジョン・バリューと戦略・戦術・戦法
前回の「富士通メインフレームの文字コード(その2)」では、フォントを切り替えてPCにない文字「つちよし」(土かんむりの吉)を表示する方法を紹介しました。
それは、ライブラリに問い合わせをすると、コードとフォントが指定されるので、
それにしたがって表示するというものでした(このライブラリは、富士通社製「JEF拡張漢字サポート」です)。
そもそも、なんでそんなことをしなければいけないのでしょうか?
PCで使用するJISコードは、
富士通メインフレームで使用している文字コードは、JEF(Japanese processing Extended Feature)コードと言います。
このJEFコードには、
JEFコードの基本非漢字、第1水準漢字、第2水準漢字は、それぞれJISコードの非漢字、第1水準漢字、第2水準漢字に対応しています。
しかし、JEFコードの拡張漢字、拡張非漢字、利用者定義文字は、対応するものがJISコードにはありません。
対応していない文字をどうするかと考えた場合、外字領域に登録すればなんとかなるのでは?と、思われる方もいらっしゃる方もいません。
しかし、これら3つの文字数は、
拡張漢字:4039文字、拡張非漢字:1010文字、利用者定義文字:3102文字となり、合計8,151文字になります。
JISの外字領域の文字数は、1,880文字ですので、拡張文字だけでも不足しています。
そこで、フォントを切り替えることで、全く異なる文字を表示できるように工夫されています。
では、富士通の漢字を表示する方法をまとめると、以下のようになるのでしょうか?
いえいえ、実は、落とし穴があります。
JEFコードは、78年度に制定された文字コードが基本となっています。いわゆる旧字です。
JISコードと一対一と言っていましたが、正確に言うとJIS78とJEFは一対一なのです。
そのため、JIS83やJIS90が基本となっているWindowsとでは、字体変更文字に違いが出てしまいます。
例えば、唖という文字を例で説明します。
JISコードは、0x3022です。
メインフレームの画面で「唖」を確認すると、以下のように0x47B9ということがわかります。
JISコード+0x8080になっていません。このコードは拡張漢字の範囲になります。
0x8080を加えた0xB0A2も一緒に確認してみましょう。
旧字が表示されていました。
落とし穴と書いたのはこのことで、第一水準の文字だから単純に計算すると、文字が旧字に変わってしまうことがあるのです。
では、どうしましょうか?
両方の文字がエミュレータ画面に表示されていますね。拡張漢字と同じで、ライブラリに問い合わせすると、0x47B9の文字コードであれば「FF特殊112」が指定されますし、0xB0A2であれば「FF特殊111」というフォントが指定されます。
ここで、初登場の「FF特殊111」というフォントですが、JIS78に対応した文字が入っているのです。
指定された場合、旧字ということになりますし、指定されない場合は、MS明朝などのフォントと同じ文字が入っていますので、「FF特殊111」を使っても使わなくても構いません。
富士通の漢字を表示する方法をまとめると、
全ての文字は、ライブラリに問い合わせて、その結果に従ったコードとフォントで表示する
なります。
情報システム部門の本質的な役割:労働生産性向上への基本戦略は“機械化”と“自動化”
20年以上の実績に裏打ちされた信頼のデータ連携ツール「Waha! Transformer」で、自社に眠るデータを有効活用。まずは無料のハンズオンセミナーや体験版で効果を実感していただけます。
Rankingランキング
New arrival新着
Keywordキーワード