過去の桐井戸端BBS (桐ver.8)
14713 NEC拡張漢字とIBM拡張漢字で見た目に同じ文字が存在しますが、桐で使うときはどちらを使えばいいのでしょうか 磯田 2002/01/12-13:49
こんにちは。いつもお世話になります。
早速ですが、V8で名簿の作成をしているのですが、異体字で困っています。
たとえば(通称はしご高)という漢字がよく名前に使われています。
DOSの時代には松茸の漢字で作っていたのですが、
Windowsでは拡張漢字のなかにしっかり入っています。
ところが文字コード上でこの文字は2箇所に存在するのです。
ひとつはシフトJISでEEE0(NEC拡張漢字?)とFBFC(IBM拡張漢字)です。
見た目はまったく一緒です。
ところがソートや抽出をするときにはこの二つは異なる文字とみなされ、
データベースにおいては致命的なエラーとなるのです。そこで質問なのですが

 その1
NEC拡張漢字とIBM拡張漢字はどちらを使ったほうがいいのでしょうか?
まえに一度フォントの会社の人に聞いたら、「なるべく番地が若い方を使ったほうがいいからNECのほうがいいでしょう。」
と答えてくれました。
ところがIMEパッドで手書き入力をするとIBMコードのほうが出てきます。
果たしてどちらのほうがいいのでしょうか。

 その2
僕の周囲の人で拡張漢字で名簿を作っている人が数名います。
ところがIBMとNECの拡張漢字が混在しているため、
データとしてはつかえません。
どちらかのコードにそろえる一括処理なりイベントがあればいいのでしょうが。。。
たくさんある名前の中から拡張漢字を取り出し、それに対応する別コードに置き換えるという手続きになると
思いますが、うまい方法が見つかりません。
どなたかアドヴァイスお願いします。
14714 Re:NEC拡張漢字とIBM拡張漢字 ONnoji 2002/01/12-16:49
記事番号14713へのコメント
磯田さん、こんにちは。

ご質問への解決策ではないのですが、
少し前に、これに関する良い参考書籍を入手しましたのでお知らせいたします。

書名:図解でわかる 文字コードのすべて
副題:異体字・難漢字からハングル・梵字まで
著者:清水 哲郎
ISBN4-534-03224-2
出版社:日本実業出版社 http://www.njg.co.jp/
定価:\2700.

とにかく内容が充実していて、
首記の「NEC拡張漢字とIBM拡張漢字」に関しても
Windowsの場合を具体的に説明してあるので、
是非ご一読をお奨めいたします。
14716 Re:NEC拡張漢字とIBM拡張漢字 hidetake 2002/01/12-18:18
記事番号14713へのコメント
確かな確証や裏付けも無いのですが、ご参考まで・・・

まず、Windows の入力に関して言えば、一般的な手法を使った入力では、
ATOK の「文字パレット」あるいは MSの「文字コード表」で入力を行った場合、
NEC の領域の拡張文字を入力しようと選んだところで IBM の領域の拡張漢字コードで入力が行われるようです。
また、ATOK の場合「コード入力」で敢えて NEC の領域のコードで指定しても IBM の領域の拡張漢字コードで
実際の入力は行われるようです。

桐だけに限れば、上のような IME の一般的な入力方法に頼らず、
桐の持っている MTDRV41.EXE を使った「記号」や「JIS」で入力を行えば、NEC でも IBM でも指定した
文字(コード)で入力が行えるようです。

さて、現在はいろんな文字が使えるように Unicode を使う方向に進んでいますが、
この拡張漢字も問題を引き起こすものです。
今までの Shift_JIS から Unicode への変換では、どちらの文字であっても
Unicode の文字に変換する事は可能ですが、一旦 Unicode に変換されたものを Shift_JIS
に戻そうとすると、元のコードなんて何も判定できる材料を引き継いでいるわけでは無いので、
NEC か IBM かどちらか一方の文字に変換せざるを得ません。
どちらにすべきかというと、特異な NEC 固有なコードではなく、
元々 IBM系列の OS であるわけですし、
MS でも本流として扱っている IBM 領域の文字に変換するのが一般的だと思います。

最近のソフトで IBM拡張漢字にとどまらず、Windows98 から使えるようになった
補助漢字を使うソフトも増えつつあるわけですが、
こう言うソフトは内部のデータを Unicodeで持っているはずです。
そうなると、IBM拡張漢字を入力する際にも実際には Unicode で持つ事になるため、
先のATOK の「文字パレット」や「コード入力」、MS の「文字コード表」、
それに磯田さんが書かれている「IMEパッド」もそうでしょうが、
NEC を選んだとしても Unicode やその他の互換性を考慮し、
IBM 領域の文字コードで統一して入力するようにされているのかも知れません。

その点、桐の「記号」や「JIS」入力に関しては、
あるがままをそのまま入力できるようにしてあるというか、
あまり先の事などは考えていない結果かも?知れません。

この辺を考慮していくと、

>その1 NEC拡張漢字とIBM拡張漢字はどちらを使ったほうがいいのでしょうか?

IBM 領域の文字に統一しておいた方が、今後の事を考えると、
変換と逆変換を行った場合のコードの差異など問題が少ない方向で済むかも知れません。

>その2 別コードに置き換えるという手続きになると思います

こちらについては、桐内部で行おうとすると#文字置換で1文字ずつ置換するしか無いのでは無いでしょうか?
外部で行うのならば sed 等使えば一発でしょうが・・・

以上が現時点における私の認識です。


14718 win2000での拡張漢字印刷 桑原 修 2002/01/13-11:51
記事番号14713へのコメント
磯田さん、こんにちは

便乗で質問させてください。
桐8sp6です。

私も、名簿等で、外字・拡張漢字を使う必要があります。
win98の時は、拡張漢字も、自分で作った漢字も問題なく印刷出来たのですが、

Windows2000(WindowsXPHome Editionも)では
画面上表示されていても、拡張漢字が印刷出来ません。
(・記号になってしまいます)
自作の外字の印刷は問題ありません。

拡張漢字は、色々な書体でもフォントが用意され
(特にはしご高)などは大変便利でした。

これからOSが次第にWinXPになることが予想されるので、
拡張漢字が印刷出来ないことで、非常に困っています。

拡張漢字の部分を、自作の外字で置き換えようかとも思っているところです。

色々調べてみましたが、windows2000での拡張漢字の桐での印刷方法が分かりません。

ご存じの方、教えてください。

よろしくお願いします。




14719 Re:win2000での拡張漢字印刷 hidetake 2002/01/13-19:28
記事番号14718へのコメント
>win98の時は、拡張漢字も、自分で作った漢字も問題なく印刷出来たのですが、
>Windows2000(WindowsXPHome Editionも)では
>画面上表示されていても、拡張漢字が印刷出来ません。

Windows の場合、画面上の文字の表示にはフォントファイルを使いますよね!
フォントの種類によっては拡張漢字領域の文字フォントを持っておらず表示できないものもあります。
例えば EPSON のプリンタに付属する EPSON のフォントなど・・・

ではプリンタに印刷する場合はどう処理されるでしょう?

プリンタにはプリンタ自身でフォントを内蔵しているものもあれば
低価格の Windows 専用のプリンタであれば、
パソコンのフォントを使うようにできていて、
プリンタにフォントを持たないものが主流になってきています。

さて、プリンタにフォントを内蔵しているプリンタでは折角プリンタにフォントを持っているので、
Windows で標準的に使われる「MS明朝」や「MSゴシック」などは印刷スピードをあげるために
プリンタドライバの設定で、「MS明朝」や「MSゴシック」に関してはパソコンで持っているフォントを
使わずプリンタ内蔵のフォントに置き換えて印刷するものがデフォルトとなっているものがほとんどだと思います。

この場合でも、プリンタのフォントを使わずにパソコンのフォントを使うようにする設定も必ずあるはずです。

プリンタで持っているフォントに拡張漢字のフォントが含まれていれば、
そのままでも印刷できると思いますが、含まれていない場合は、プリンタフォントへの置き換えを行わず、
True Type フォントで印刷する設定をプリンタドライバの設定で探し、
この設定を変更し印刷を試してみて下さい。


14721 Re:NEC拡張漢字とIBM拡張漢字 磯田 2002/01/14-00:55
記事番号14715へのコメント
ONnojiさんこんばんわ。その本以前書店で見かけたことがあり買おうかなと
迷ったあとやめたことがありました。早速買って勉強したいと思います。
14722 Re:NEC拡張漢字とIBM拡張漢字 磯田 2002/01/14-01:01
記事番号14716へのコメント
hidetakeさんこんばんわ。やはりIBMのほうが無難そうですね。
NECのコードを入力してもIBMコードに自動的に置き換わることは知りませんでした。
ところでワードやエクセルではUNICODEがつかえて、かなりの漢字に対応しています。
将来的にはMS主導のもとUNICODEになっていくのでしょうが、桐はUNICODEには対応する予定はあるのでしょうか。
データベースソフトでは扱える文字の制限が厳しいことは将来的に大きなデメリットとなるのではないかと思うのですが、
UNICODEに対応することは技術的に難しいのででしょうか?
14723 Re:NEC拡張漢字とIBM拡張漢字 hidetake 2002/01/14-08:22
記事番号14722へのコメント
>hidetakeさんこんばんわ。やはりIBMのほうが無難そうですね。

【多遊】さん(http://www2u.biglobe.ne.jp/~s_tanaka/cgi-bin/bbs/bbs.cgi)の
ところに書いた内容ですが、IBM領域の拡張漢字を使った場合
桐はこの領域の文字を漢字として取り扱っていないようです。

従って、普通の昇順・降順であれば文字コードだけで並べ替えを行うので問題はありませんが、
辞書順を使った場合に IBM 領域の文字については相当前に来てしまうので注意が必要な場合もあるようです。

Unicode に関しては、いろいろな問題点等もありますが、
今となっては対応して多くの文字を使えるようにして欲しいですね。

14724 Re:win2000での拡張漢字印刷 桑原 修 2002/01/14-08:42
記事番号14719へのコメント
hidetakeさん
コメントありがとうございました。

>さて、プリンタにフォントを内蔵しているプリンタでは折角
>プリンタにフォントを持っているので、Windows で標準的に
>使われる「MS明朝」や「MSゴシック」などは印刷スピードを
>あげるためにプリンタドライバの設定で、「MS明朝」や
>「MSゴシック」に関してはパソコンで持っているフォントを
>使わずプリンタ内蔵のフォントに置き換えて印刷するものが
>デフォルトとなっているものがほとんどだと思います。
>
>この場合でも、プリンタのフォントを使わずにパソコンの
>フォントを使うようにする設定も必ずあるはずです。
>
>プリンタで持っているフォントに拡張漢字のフォントが含ま
>れていれば、そのままでも印刷できると思いますが、含まれ
>ていない場合は、プリンタフォントへの置き換えを行わず、
>True Type フォントで印刷する設定をプリンタドライバの
>設定で探し、この設定を変更し印刷を試してみて下さい。

適切なアドバイス、ありがとうございました。
まさにその通りです。

エプソンの、レーザープリンタ
LP-9200SXで、
印刷設定→レイアウト→詳細設定→グラフィックス→TrueTypeフォントで
 「デバイスフォントと代替」で印刷していたので、
  拡張漢字が印刷できていませんでした。

 「ソフトフォントとしてダウンロード」を選ぶと、
きちんと印刷出来ました。

ここ1年以上悩んでいました。
一時は、外字ファイルの作り直しを考えていました。

これでだいぶすっきりしました。

インクジェットプリンター
 PM-3300Cでは、拡張外字が印刷出来た(年賀状の宛名書きの時)
 のは、このプリンターは「プリンタフォント」を、持っていないからだったからですね。

非常に感謝です。

 

戻る