外字の利用方法 2.0 (1999.2.8作成, 2001.2.18更新)

慶應義塾大学 理工学部 物理情報工学科

内山孝憲


はじめに

JIS X 0212-1990(補助漢字)の文字を扱うには,京都大学の安岡孝一さんが 作られたMETAFONTでフォントを作るためのソースがある. http://www.kudpc.kyoto-u.ac.jp/~yasuoka/program.html のjisx0212mf. このフォントは,Adobeから発売されているAdobe Value Pacl 2.0Jに含まれて いる平成明朝W3外字と 互換性があるencodingになっている.

東京大学の福井玲さんが安岡さんのHeiseiMin-W3-GXXを利用する virtual fontを公開されている. http://www.tooyoo.l.u-tokyo.ac.jp/~fkr/makejvf.html . これを使用すると,平成明朝W3外字を和文フォントのように扱うことができる.

これらを利用すると,安岡さんのMETAFONTを利用すれば,どのような環境でも 補助漢字を印刷することができるし,PostScriptフォントの平成明朝W3外字を 利用できる環境では,PostScriptフォントで印刷することもできる.

Adobeから発売されている,Adobe Value Pack 2.0Jには,平成明朝と平成ゴシックのウエイトが異なるフォントが4つずつ,合計8つと,平成丸ゴシックが含まれている.さらに平成明朝W3外字が含まれている(これで1万5千円くらいなので, PostScriptフォント(解像度制限なし, プリンタへのダウンロード可能)としては安価. 平成のフォントはかなが大きいので好きではないが, 安価にウエイトの違うものをそろえられる).平成明朝W3外字には以下の文字が含まれている.

残念ながら,人名にしばしば現れる「高」,「辺」,「崎」の異体字は含まれていない.

平成明朝W3外字は,MacOSからみれば欧文フォントの構造である.MacOS用のプレビュアxdviでは,TeXで使用するフォント名と,MacOSのフォント名を対応させなければならない.xdviは,プログラム内部に対応表をもっている.ユーザがこれを変更することはできない.MacOSで認識されるフォント名(スーツケースのファイル名ではなく,アプリケーションにおいてフォントを指定するメニューで表示される名称)とPostScriptでのフォント名が分かれば,追加することができるので連絡されたい.


外字の例 (和文フォントとして扱う場合)

福井玲さんが作られたファイル(jy1mch.fd)を利用する. この場合には,上記の例のように和文フォントと欧文フォントの間に挿入され る空白はない. 2.0では, 縦書用のvirtual fontを用意したこともあり, PostScriptフォントに文字の大きさを合わせた. そのため, virtual fontに記述されているフォントの大きさは, 福井玲さんが作成されたオリジナルとは異なっている. プリアンブルに
\def\hj#1{{\kanjifamily{mch}\selectfont\char\jis"#1}}
と書き,「森\hj{6C3F}外」のように使用する.

下の図は, 縦書に使った例である. 平成明朝W3と組んだときにもっとも綺麗に配置される. PDFをアーカイブに添付しているので, 他のフォントと比較されるとよいだろう.


外字の例 (欧文フォントとして扱う場合)

PSNFSSに含まれているpifont.styを使うのが簡単である.

\usepackage{pifont}

としておき,

\def\toushouhei{\Pisymbol{HeiseiMin-W3-G26}{"66}小平}
\def\katsushika{\Pisymbol{HeiseiMin-W3-G32}{"54}飾}
\def\moriougai{森\Pisymbol{HeiseiMin-W3-G32}{"4E}外}

のように定義しておくと,

「葛飾区」は「\katsushika{}区」が正しい.戸籍どおりの書類が必要な
ときには注意しなければならない.
「\moriougai{}」もよく引き合いに出される例である.
以上は,JIS C 6336-1978漢字の例である.
人名の場合に,補助漢字が必要になることがある.
例えば,「\Pisymbol{HeiseiMin-W3-G17}{"86}{}」が必要になったことがある.
そのときには,偏と旁を他の文字からもってきて合成してEPSにして間に合わせた.
別の機会には,留学生の名前で「\Pisymbol{HeiseiMin-W3-G14}{"52}{}」が必要で
あった.
私が書くような文章では,「\toushouhei{}」が必要になることはないのであるが,
分野によっては不可欠であろう.
pifont packageを使っているので,大きさは{\scriptsize\katsushika}{\small\katsushika}
{\katsushika}{\large\katsushika}{\Large\katsushika}のように
自動的に変化する.

のような記述ができる.表示例は次のとおり.

明朝にRyumin-Lightを使っているので,平成明朝W3外字とは多少文字の大きさやウェイトが一致しない.また,平成明朝W3外字を欧文フォントとして扱っているので,上記の例の定義では,欧文と和文の間に挿入される空白が入る.

下の図は明朝に平成明朝W3を使用したものである.Ryulin-Lightと混植し たものよりは当然ではあるがバランスがとれている.


インストール

  1. heiseiminw3gaiji-kit-2.0.sit.hqxを入手する.
  2. heiseiminw3gaiji-kit-2.0.sit.hqxを展開する.
  3. 「HeiseiMin-W3-G01.tfm」などのTFMファイルが入っているフォルダ 「tfm」を「HeiseiMinW3-Gaiji」に名前を変えて「:texmf:fonts:tfm」にコピーする.
  4. フォルダ「:texmf」のファイル「aliases」に(なければ新規に作成する)配布物に含まれているaliasesの内容を追記する.aliasesの内容は,
    HeiseiMin-W3-G01.tfm HeiseiMin-W3-G02.tfm 
    HeiseiMin-W3-G01.tfm HeiseiMin-W3-G03.tfm 
    HeiseiMin-W3-G01.tfm HeiseiMin-W3-G04.tfm 
    (中略)
    min10.tfm hjm10.tfm
    min9.tfm hjm9.tfm
    (中略)
    tmin10.tfm thjm10.tfm
    tmin9.tfm thjm9.tfm
    (以下省略)
      
    である.漢字なので,文字の幅などは全て同じなので,1つだけ HeiseiMin-W3-G01.tfmをつくっておき,HeiseiMin-W3-G02.tfmから HeiseiMin-W3-G33.tfmまでHeiseiMin-W3-G01.tfmを使うように設定する. hjm10.tfmなどはmin10のコピーなのでaliasにする.
  5. 欧文フォントとして使用する場合にはPSNFSSパッケージをインストールする.フォルダ「:texmf:tex:latex:psnfss」の「psfonts.ins」をplatexにドラッグアンドドロップする.
  6. 「jy1mch.fd」や「UHeiseiMinW3-G01.fd」などのファイルが入っているフォルダ「heiseimin-gaiji」をフォルダ「:texmf:ptex:platex」にコピーする.
  7. dvips用のファイル「psfonts.hg」と「psfonts.hgz」をフォルダ「:texmf:dvips:ptex」にコピーする. フォルダ「:texmf:dvips:ptex」がなかったら, 作成する.
  8. ファイル「:texmf:dvips:config:config.ps」にフォントマップを追加する.プリンタのハードディスクに平成明朝W3外字 をダウンロードしていれば,「psfonts.hg」を下記のように追記する.
    % Uncomment these if you have and want to use PostScript versions of the 
    % fonts. 
    p +psfonts.hg 
    
    psfonts.hgの中身は以下のとおり.
    HeiseiMin-W3-G01 HeiseiMin-W3-G01
    HeiseiMin-W3-G02 HeiseiMin-W3-G02
    HeiseiMin-W3-G03 HeiseiMin-W3-G03
    (以下省略)
    
    ダウンロードしていない場合には,MacOS用のPostScriptフォントからPOSTリソースを取り出して,pfaに変換して用いる.pfaへの変換には,別プログラム「extPOST」を使用することができる.従来,Info-macなどに置かれているプログラム「unAdobe」で同様の作業ができた. しかし「unAdobe」は24bitアドレスモードでなければ動作しない.次に,「psfonts.hgz」を下記のように追記する.
    % Uncomment these if you have and want to use PostScript versions of the 
    % fonts. 
    p +psfonts.hgz 
    
    psfonts.hgzの中身は以下のとおり. exPOSTでMacOS用のPostScriptフォントからPFA形式に変換すると, MacOSでのフォントのファイル名に「.pfa」を付けた名称のファイルに変換する.
    HeiseiMin-W3-G01 HeiseiMin-W3-G01 <HeiseMinW3G01.pfa
    HeiseiMin-W3-G02 HeiseiMin-W3-G02 <HeiseMinW3G02.pfa
    HeiseiMin-W3-G03 HeiseiMin-W3-G03 <HeiseMinW3G03.pfa
    (以下省略)
    
  9. 「MakeTeXls-R」を実行してファイル「ls-R」を更新する.


サンプル

フォントのサンプルの画像は,1つ約160KB.「げた」はその文字がないことを示す.縦長の四角形が表示されいる部分は,その文字がフォントにないにも関わらず,TFMにその文字があるように記述したため(いずれTFMを修正する).

区点コードからJISコードへの変換は, 区点コードの各バイトに32(0x20)を 加える.JIS X 0212-1990の区点コード表は, ソフトバンクから訳本が出版さ れている「日本語情報処理」(俗称ハリセン本; 表紙にハリセンボンの絵があ る)に掲載されている.

HeiseiMin-W3-GXXのフォントのencodingは, 1601(巧の工偏がないもの)が HeiseiMin-W3-G01 の 0x40 に, 16区の最後は 1694(人偏に至)で HeiseiMin-W3-G01 の 0x9e に割り当てられている. 0x7f は使用されておらず, 前後は 1663(人偏に弥の弓偏を除いたものに類似してい る文字)と1664(人偏に世)である. 1701(該の言偏の代わりに人偏)は, HeiseiMin-W3-G01 の 0x9f である. 17区の 最後は 1794(人偏に高)で, 0xfc である. HeiseiMin-W3-G30 まで同様に2区ずつ1つのフォントになっている. HeiseiMin-W3-G31 では 77区の文字数が他より少ないので, 最後は 7767 で, 0xe1 で終っている.

平成明朝W3外字01平成明朝W3外字02平成明朝W3外字03平成明朝W3外字04平成明朝W3外字05平成明朝W3外字06平成明朝W3外字07平成明朝W3外字08平成明朝W3外字09平成明朝W3外字10平成明朝W3外字11平成明朝W3外字12平成明朝W3外字13平成明朝W3外字14平成明朝W3外字15平成明朝W3外字16平成明朝W3外字17平成明朝W3外字18平成明朝W3外字19平成明朝W3外字20平成明朝W3外字21平成明朝W3外字22平成明朝W3外字23平成明朝W3外字24平成明朝W3外字25平成明朝W3外字26平成明朝W3外字27平成明朝W3外字28平成明朝W3外字29平成明朝W3外字30平成明朝W3外字31平成明朝W3外字32平成明朝W3外字33


PDFへの変換

Macintoshのフォントフォルダに, 平成明朝W3外字のフォントがインストール されていれば, Adobe AcrobatのDistillerで埋め込みができる. つまり, 平成明朝W3外字のフォントがない環境で外字を含むPDFを表示するこ とができる. dvipsの設定は, 平成明朝W3外字フォントがプリンタにダウンロードされてい る場合と同じである.

DistillerでPDFに変換したものをLinux のAcrobat Readerで表示した例. 「森おう外」や「とう小平」


その他

このページは,自由にリンクしてかまいません.このページに関するお問い合わせは,電子メールでuchiyama@appi.keio.ac.jpまでお願いします.


MacpTeXのweb pageに戻る.