過去の桐井戸端BBS (桐談義・その他)
10834 桐の名簿データを配布するときの外字ファイルの扱いについて 磯田 2001/04/12-01:28
いつもお世話になっています。桐8sp6です。
桐で名簿管理をしているのですが、外字の取り扱いで悩んでいます。
この話題は過去にも何度かでていますが、外字ファイルeudc.euf eudc.ttfの関係や
明朝やゴシック書体のリンクのさせ方がよくわかりません。
windowsの参考書にもほとんどそのことに触れているものを見たことがありません。
そして最も重要なのが名簿を部内に配布するときに外字ファイルを添えて配布したとして、
この外字ファイルはただwindowsのフォルダーにコピーするだけでいいのでしょうか。
以前それでうまくいかなかったことがあるので直接桐に関係のない質問ですみませんが、
データベースであるという性質上、名簿の外字の扱いは避けてとおれない問題と思いましたので質問させていただきました。
よろしくおねがいします。
10843 Re:外字ファイルについて KH 2001/04/12-20:02
記事番号10834へのコメント
 磯田さん今晩は。私も苦労しましたので参考になればとコメントします。
で、あくまでもWin98での状態でしか実行していませんのでご自分の環境を確認して参考にして下さい。
試行錯誤の結果ですので、もっとらくな方法があるかもしれませんが。

>外字の取り扱いで悩んでいます。この話題は過去にも何度かでていますが、外字
>ファイルeudc.euf eudc.ttfの関係や明朝やゴシック書体のリンクのさせ方が
>よくわかりません。

アクセサリ>外字エディタ>ファイル>フォントのリンク
 ここで、指定したフォントにリンクするをチェックします。
 例えば、MS明朝をリンクするには、一覧からMS明朝を
 クリックし(「未選択」になっているはずです)、
 「名前を付けて保存する」ボタンをクリックします。
 外字ファイル名の変更画面でEUDC.TTEを選び保存します。
 これで、MS明朝のところが「未選択」から「EUDC」と変わります。
 これで、外字が表示されるようになります。
 同様に、MSゴシックについても同様の事をやればリンクされます。
 必要な書体についていちいちやらなければならないようです。

>たことがありません。そして最も重要なのが名簿を部内に配布するときに外字ファ
>イルを添えて配布したとして、この外字ファイルはただwindowsのフォルダーにコ
>ピーするだけでいいのでしょうか。以前それでうまくいかなかったことがあるので

 Windowsフォルダにコピーすればよいのですが、外字を一度でも使用していると
 コピーしようとしても、「EUDCをコピーできません。
 共有違反がありました。・・・・」のエラーが出ますので、再起動して、何もしない状態で、
 コピーすると上手く行くはずです。一度でも外字ファイルを使うと、
 システムが終了するまで外字ファイルにロックがかかっているようです。
10844 Re:外字ファイルについて(追伸) KH 2001/04/12-20:16
記事番号10843へのコメント
追伸です。質問の順番にコメントしましたが、実行する順番は逆です。
外字ファイルeudc.euf eudc.ttfをWindowsフォルダにコピー後、
先のコメントの外字エディタの必要書体へのリンクを実行します。
取り越し苦労かもしれませんが、ちょっと気になったので。
10850 Re:外字ファイルについて(追伸の追伸) KH 2001/04/13-09:42
記事番号10844へのコメント
初期値では「すべてのフォントにリンクする」になっていますが、
一般的な使い方をしているのであれば、これはやめたほうが良いようです。

10851 Re:外字ファイルの配布実例 Ogo 2001/04/13-11:17
記事番号10834へのコメント

私が配布用に作成した外字に関する注意書きを掲載(一部修正)。
続篇の注意書きも必読。

- - - ここから

配布された外字について

Windows では、外字を登録するのに2種類の方法があります。

1つは、どのフォントを使っている場合も全く同じ外字を表示・印刷する方法。
もう1つは、フォント毎に特定の外字を割り当てる方法。
後者の場合は、同じ外字コードに明朝系やゴシック系のデザインの外字を独立して割り当てることができます。

今回配布する外字は後者です。
「MS明朝」と「MSゴシック」にのみそれぞれの外字が割り当てられます。
これまでに、ご自分で作成した外字が利用不可能になってしまっては困ると思われますので、
今回の外字は「MS明朝」と「MSゴシック」にのみ有効になるようにしています。
「MS P明朝」と「MS Pゴシック」では今回配布の外字は無効です。
これまでに外字を作成して既に利用されている方は「MS P明朝」や
「MS Pゴシック」などの別フォントを使えば、従来通り利用可能です。


外字のインストール方法

※ DOS/V (PC-AT 互換機) で Windows 95/98 の場合

  1.配布された「外字明朝.TTS」「外字ゴシ.TTS」を「C:\WINDOWS」
    フォルダにファイルコピーします。
  2.「外字_PCAT.REG」ファイルを右クリックして「結合」を選ぶと、
    レジストリが書き換えられて、この外字が認識されます。
    レジストリ取り込み後に Windows を再起動します。
  3.「スタートメニュー」「プログラム」「アクセサリ」の中にある
    「外字エディタ」を起動します。
    「ファイル」メニューの中で「フォントの選択」を開けると、
    下の窓部分(「関連付けるフォント」)中で上のほうに「MS明朝」と
    「MSゴシック」あるので、この2つが上記ファイル名に変更されていればOKです。
    そのまま「OK」ボタンを押してから、外字エディタを終了すると
    配布された外字が利用可能になっているはずです。

※ DOS/V (PC-AT 互換機) で Windows NT 4.0 の場合

  1.配布された「外字明朝.TTS」「外字ゴシ.TTS」を「C:\WINNT\FONTS」
    フォルダにファイルコピーします。
  2.「外字_WinNT.REG」ファイルを右クリックして「結合」を選ぶと、
    レジストリが書き換えられて、この外字が認識されます。
    レジストリ取り込み後に Windows を再起動します。
  3.「スタートメニュー」「プログラム」「アクセサリ」の中にある
    「外字エディタ」を起動します。
    「ファイル」メニューの中で「フォントの選択」を開けると、下の窓部分
    (「関連付けるフォント」)中で上のほうに「MS明朝」と
    「MSゴシック」あるので、この2つが上記ファイル名に変更されていればOKです。
    そのまま「OK」ボタンを押してから、外字エディタを終了すると
    配布された外字が利用可能になっているはずです。

Windows Me や Windows 2000 では、マイクロソフトがレジストリに関する仕様を変更してるので、
そのままでは利用できません。

これらの外字を入力するには、各自ご使用の IME ( MS-IME , ATOK, 松茸 など)の説明書をお探しください。
ヒントとしては、どの IME も、文字コードで文字を検索して入力するための一覧表を開くことができるようになっています。
「スタートメニュー」「プログラム」「アクセサリ」の中にある「文字コード表」を使っても同様に入力可能です。

以上、参考のために同梱の *.bmp ファイルも閲覧しておいてください。


10852 Re:外字ファイルの配布実例(続) Ogo 2001/04/13-11:46
記事番号10851へのコメント

実は、私は、Windows 標準の外字エディターは機能が貧弱な上、フォントのキメ細かさが低品質と思っているので、
市販の製品ソフトを使って、外字を作成しています( Canon FontGallery付属の TypeCraft というソフト)。

従って、外字ファイルの拡張子は *.TTS で、一般の人がこの外字の内容をいじることは不可能です。

- - -

添付するレジストリファイルの内容


「外字_PCAT.REG」

REGEDIT4

[HKEY_CURRENT_USER\EUDC]

[HKEY_CURRENT_USER\EUDC\932]
"MS ゴシック"="C:\\WINDOWS\\外字ゴシ.TTS"
"MS 明朝"="C:\\WINDOWS\\外字明朝.TTS"


「外字_WinNT.REG」

REGEDIT4

[HKEY_CURRENT_USER\EUDC]

[HKEY_CURRENT_USER\EUDC\932]
"MS ゴシック"="C:\\WINNT\\FONTS\\外字ゴシ.TTS"
"MS 明朝"="C:\\WINNT\\FONTS\\外字明朝.TTS"

- - -

Win 95/98 と Win NT 系では外字ファイルを入れるべきフォルダが異なることに注意。

また喩えこの通りで外字が表示できたとしても、これを印刷するためには、もう1つの注意点があります。

それは「プリンタの設定(プロパティ)」で、印刷用フォントを自前の内蔵フォントに置き換えする
(その方が高速だから)事をデフォルトにしているプリンタメーカーが多いため、
これを無効にすることを必須とする――ことです。

ちなみに、この設定が、プリンタのプロパテイのどこにあって、どんな用語で表現されているかは、
プリンタのメーカー事に違うので念の為。

詳しくはこちら。

http://www.nsknet.or.jp/~habata/kbbs/kakov7/01976.htm


10863 Re:外字ファイルの配布実例 Ogo 2001/04/14-11:22
記事番号10851へのコメント

補足

>Windows Me や Windows 2000 では、マイクロソフトがレジストリに関する
>仕様を変更してるので、そのままでは利用できません。

Windows 2000 では、レジストリ書き出しファイル(テキスト)の文字コードを変更しているので、
「私が配布した」 *.reg ファイルを読み込もうとするとエラーが発生するはずです。

1.多分、文字コードをユニコードで同一内容の拡張子 *.reg のテキストファイルを別途作れば、
  Windows 2000 でも大丈夫臭い。
  (未確認燒「保証)

2.Windows Me は、多分 Win 98 の手順で同様に稼働すると思われる。
  (未確認燒「保証)
 

3.NEC PC-98x1 の場合、レジストリ内容の「C:\\」で始まる部分を
  「A:\\」で始まる内容(インストール先に従う)に書き換えれば手順は同一。


10865 Re:外字ファイルの配布実例 Ogo 2001/04/14-12:28
記事番号10863へのコメント

>Windows 2000 では、レジストリ書き出しファイル(テキスト)の文字
>コードを変更しているので、「私が配布した」 *.reg ファイルを読み
>込もうとするとエラーが発生するはずです。
>
>1.多分、文字コードをユニコードで同一内容の拡張子 *.reg のテキ
>  ストファイルを別途作れば、Windows 2000 でも大丈夫臭い。
>  (未確認燒「保証)

某所で、「ユニコードでないと読み込めないというわけではない」と指摘されました。 (^^;

では多分、冒頭の宣言文が原因なのかな?

「REGEDIT4」

の部分を

「Windows Registry Editor Version 5.00」

と書き換えれば Windows 2000 で正しく認識できるのかも。


10866 Re:外字ファイルの配布実例 hidetake 2001/04/14-12:31
記事番号10865へのコメント
>「REGEDIT4」
>の部分を
>「Windows Registry Editor Version 5.00」
>と書き換えれば Windows 2000 で正しく認識できるのかも。

逆かも知れません。
REGEDIT4 のままなら旧来の書式で
読めるのだろうと思います。


10867 Re:Win 2000 でレジストリ読み込み Ogo 2001/04/14-14:04
記事番号10866へのコメント

>逆かも知れません。
>REGEDIT4 のままなら旧来の書式で
>読めるのだろうと思います。

Win 95/98/NT でちゃんと読み込めるレジストリファイル(テキスト)を Win 2000 で読み込ませようとしたら、
「様式が違います」みたいなエラーが出てことごとく読み込み不能だった経験があるからの話なのですが。

その際に、一旦 Win 2000 で実際のレジストリをテキストに書き出して(当然、ユニコードで書き出される)、
その中身を、ヘッダ情報のみを残して、残りを全て カット &ペーストで Win 95/98/NT 用の
レジストリの中身に書き換えることで解決した記憶があるのですけど。

# うろ憶えです。追試してみたい。 (^^;;



10869 Re:Win 2000 でレジストリ読み込み hidetake 2001/04/14-16:40
記事番号10867へのコメント
>Win 95/98/NT でちゃんと読み込めるレジストリファイル
>(テキスト)を Win 2000 で読み込ませようとしたら、
>「様式が違います」みたいなエラーが出てことごとく読み
>込み不能だった経験があるからの話なのですが。

何かのヴァージョンや書式の部分で読めない物もあるかも知れませんね?

ここにも以前書いた Windows2000 RC2 で桐を使えるようにする方法や、私の手元の環境では
エラーが発生したことはありませんでした。

読めない場合は Unicode に保存し直して読み込ませてみると言う FAQ があることも確かです。

でもヘッダを変えたらそれこそバージョンの認識が違ってしまうような・・・


10871 Re:Win 2000 でレジストリ読み込み hidetake 2001/04/14-16:56
記事番号10869へのコメント
>でもヘッダを変えたらそれこそバージョンの
>認識が違ってしまうような・・・

手元の Windows2000 環境では Ogo さんの書いた程度の外字フォント指定の REG ファイルはそのままでも、ヘッダを
Windows Registry Editor Version 5.00
に書き換えた、中身は Shift_JIS コードのままでも読み込めるようです。


10872 Re:Win 2000 でレジストリ読み込み hidetake 2001/04/14-17:00
記事番号10871へのコメント
でも。ここまでするなら INF ファイルでインストーラ作って配布した方が、ユーザの手間も無くなりそうだし、
アンインストールまで作れて便利そうだし、トラブルも回避しやすそう (^_^)

10873 Re:Win 2000 でレジストリ読み込み hidetake 2001/04/14-17:52
記事番号10872へのコメント
トラブッタときのために
http://homepage2.nifty.com/winfaq/w2k/w2kusage.html#76


10875 Re:Win 2000 でレジストリ読み込み Ogo 2001/04/14-19:47
記事番号10872へのコメント

>でも。ここまでするなら INF ファイルでインス
>トーラ作って配布した方が、ユーザの手間も無く
>なりそうだし、アンインストールまで作れて便利
>そうだし、トラブルも回避しやすそう (^_^)

SETUP.EXE を作るならともかく、 INF ファイルでのインストールは後が面倒な気がする
(ショートネームしか扱えないため、デスクトップに置かれたりするとインストール不能になる)。

Win 95/98/Me と Win NT でインストール先が違うのもどうなんだろう?

普通は %Windir% とか %System% とかでインストール先は吸収されるのだろうけど。


10877 Re:*.inf ファイルによるインストール Ogo 2001/04/14-22:11
記事番号10875へのコメント

>SETUP.EXE を作るならともかく、 INF ファイルでの
>インストールは後が面倒な気がする(ショートネーム
>しか扱えないため、デスクトップに置かれたりすると
>インストール不能になる)。

すみません。ロングネームでもショートネームでも同じ名前になる
(半角英文字の大文字小文字の違いは同一と看做す)フォルダにある *.inf ファイルは問題ありません。

従って、 Win 95/98 標準の C:\Windows\デスクトップ
(本当は「デスクトップ」は半角カタカナ)は問題なくインストールできます。

C:\WINNT\Profiles\All Users\デスクトップ
(本当は「デスクトップ」は半角カタカナ)では問題が発生します。 (^^;;

# インストール先が Win 95/98 と Win NT では違う
# こともあり、 Win NT 系を切り捨てれば事は容易。



10881 Re:外字ファイルについて 磯田 2001/04/15-01:33
記事番号10834へのコメント
多くの回答感謝いたします。話が難しくなって私にはちょっと理解の域を越えているようですが、
現実的な解決策として今考えていることは、イーストから出ている人名外字1500V2というパックを導入することです。
独自の外字の追加も可能ということでかなりの人名外字を網羅しているようです。
しかし、外字の世界は奥が深いですね。
このイーストという会社は自治体等のデータベースのためのシステム構築もしているようで、
なんと20000字以上の外字を有しているようです。
もちろんそのための導入の金額もかなりのもののようですが。
今回外字のことを勉強し始めてはじめてユニコードのことを知りました。
ユニコードでは外字の領域がかなり広くなるようでとてもよさそうなのですが、
ソフトやOSもそれに対応したものでないといけない等の制限もあるようで、まだよく理解できません。
今後も引き続き勉強していきたいと思います。
10883 Re:外字ファイルについて Ogo 2001/04/15-02:23
記事番号10881へのコメント

>今回外字のことを勉強し始めてはじめてユニコードのことを知りました。ユニコードでは
>外字の領域がかなり広くなるようでとてもよさそうなのですが、ソフトやOSもそれに対応
>したものでないといけない等の制限もあるようで、まだよく理解できません。

一応、念の為に付言しておきますが。

桐8 Sp6 現在、桐ではユニコードは扱えません。

従って、ユニコードのフォントを入手しても利用不能です。


10887 Re:外字ファイルについて 桑原 2001/04/15-06:24
記事番号10834へのコメント
桑原と申します。この掲示板はいつも参考にさせていただいております。

さて、外字については、磯田さんも書かれているように、名簿の作成上、管理を避けて通るわけには行きません。

私は、外字に詳しくありませんが、以下のフリーソフトで、外字を大変簡単に管理させていただいています。
是非おためし下さい。

「外字コピー屋さん」
http://www.eastvalley.or.jp/cpeudc/readme.html
というソフトです。

詳しくは、上記のサイトでご覧いただければよいのですが、

1,このソフトをネットワーク上のどこか(サーバー上など)に、置いておきます。
  (ネットワークにつながっていなければ、フロッピー上で実行して、
   他の機械にそのフロッピーを持っていくことでも、okです。)

2,外字を作った、元となるコンピュータで、このソフトを実行し、
  「このマシンの外字ファイルを取得する」で取り込みます。

3,外字を取り込みたいコンピュータから、ネットワーク上の先ほど
   外字を取得した[外字コピー屋さん」を実行します。
   この時は「取得した外字ファイルをこのマシンにインストールする」
  にチェックして実行すると、外字が簡単にコピーできます。

  win2000にも対応していて、大変便利です。


10892 Re:Win 2000 でレジストリ読み込み hidetake 2001/04/16-12:51
記事番号10872へのコメント
一応サンプルとして・・・
---------------------------------------------------------------------
;GaijiFile Set up information file
;Author: hidetake

[version]
signature="$CHICAGO$"

[DefaultInstall]
CopyFiles=GaijiFile.copy,GaijiFile.copy.inf
AddReg=GaijiFile.Reg,GaijiFile.Uninst.Reg
Uninstall = Gaiji_remove

[DefaultInstall.ntx86]
CopyFiles=GaijiFile.copy.NT,GaijiFile.copy.inf
AddReg=GaijiFile.Reg.NT,GaijiFile.Uninst.Reg.NT
Uninstall = Gaiji_remove.NT

[GaijiInstall]
CopyFiles=GaijiFile.copy,GaijiFile.copy.inf
AddReg=GaijiFile.Reg,GaijiFile.Uninst.Reg
Uninstall = Gaiji_remove

[GaijiInstall.ntx86]
CopyFiles=GaijiFile.copy.NT,GaijiFile.copy.inf
AddReg=GaijiFile.Reg.NT,GaijiFile.Uninst.Reg.NT
Uninstall = Gaiji_remove.NT

[Gaiji_remove]
DelFiles=GaijiFile.copy,GaijiFile.copy.inf
DelReg=GaijiFile.Reg,GaijiFile.Uninst.Reg

[Gaiji_remove.NT]
DelFiles=GaijiFile.copy.NT,GaijiFile.copy.inf
DelReg=GaijiFile.Reg.NT,GaijiFile.Uninst.Reg.NT

[GaijiFile.Reg]
HKCU,EUDC\932,"MS ゴシック",,"%25%\Gaiji_g.tts"
HKCU,EUDC\932,"MS 明朝",,"%25%\Gaiji_m.tts"

[GaijiFile.Reg.NT]
HKCU,EUDC\932,"MS ゴシック",,"%20%\Gaiji_g.tts"
HKCU,EUDC\932,"MS 明朝",,"%20%\Gaiji_m.tts"

[GaijiFile.Uninst.Reg]
HKLM,%UNINST%,,,
HKLM,%UNINST%,"DisplayName",,%Gaiji_Uninst_DESC%
HKLM,%UNINST%,"UninstallString",,"RunDll setupx.dll,InstallHinfSection
Gaiji_remove 4 Gaiji.inf"

[GaijiFile.Uninst.Reg.NT]
HKLM,%UNINST%,,,
HKLM,%UNINST%,"DisplayName",,%Gaiji_Uninst_DESC%
HKLM,%UNINST%,"UninstallString",,"RunDll32.exe
syssetup.dll,SetupInfObjectInstallAction Gaiji_remove.NT 4 Gaiji.inf"

[GaijiFile.copy]
Gaiji_m.tts
Gaiji_g.tts

[GaijiFile.copy.NT]
Gaiji_m.tts
Gaiji_g.tts

[GaijiFile.copy.inf]
Gaiji.inf

[DestinationDirs]
GaijiFile.copy=25
GaijiFile.copy.NT=20
GaijiFile.copy.inf=17

[SourceDisksNames]
55="GaijiFile","",1

[SourceDisksFiles]
Gaiji_m.tts=55
Gaiji_g.tts=55
Gaiji.inf=55

[Strings]
Gaiji_Uninst_DESC = "GaijiFile (Remove Only)"
UNINST="Software\Microsoft\Windows\CurrentVersion\Uninstall\GaijiFile"

---------------------------------------------------------------------


戻る