試験運用中なLinux備忘録・旧記事

はてなダイアリーで公開していた2007年5月-2015年3月の記事を保存しています。

cjk-latexでCyberbitフォントを利用してPDFを作成するテスト

を参考にした作業メモ。TeXに詳しいわけではないため、余計な作業が入っていたりする可能性がある。

  1. 事前に準備するパッケージ
  2. Cyberbitフォントの入手
  3. Cyberbitフォントの配置
  4. フォント情報作成
  5. 作成したファイルを配置
  6. 最後に
  7. テスト
  8. Debian etchでの作業メモ

事前に準備するパッケージ

Cyberbitフォントの入手

ライセンスは以下。

http://ftp.netscape.com/pub/communicator/extras/fonts/windows/License.wri

以下は作業例。

$ wget ftp://ftp.netscape.com/pub/communicator/extras/fonts/windows/Cyberbit.ZIP
$ unzip Cyberbit.ZIP
$ mv Cyberbit.ttf cyberbit.ttf
$ rm Cyberbit.ZIP -f

これで現在のディレクトリにcyberbit.ttfが得られる。

Cyberbitフォントの配置

$ sudo mkdir /usr/local/share/fonts/truetype/bitstream/ -p
$ sudo mv cyberbit.ttf /usr/local/share/fonts/truetype/bitstream/
$ sudo mkdir /usr/local/share/texmf/fonts/truetype/bitstream/cyberbit/ -p
$ sudo ln -s /usr/local/share/fonts/truetype/bitstream/cyberbit.ttf /usr/local/share/texmf/fonts/truetype/bitstream/cyberbit/

フォント情報作成

$ rm ~/.texmf-var/fonts/pk -fr
$ mkdir work; cd work/
$ cp /usr/local/share/fonts/truetype/bitstream/cyberbit.ttf .
$ cp /usr/share/texmf/scripts/subfonts/subfonts.pe .
$ fontforge -script subfonts.pe cyberbit.ttf cyberb /usr/share/texmf/ttf2pk/Unicode.sfd

fontforgeの処理は非常に長い時間がかかる。「cyberb」にしたのは、インストールされている/usr/share/texmf/tex/latex/cjk-latex/UTF8/c70song.fdをそのまま使うため。

作成したファイルを配置

$ for filename in *.pfb;
> do echo "$(basename $filename .pfb) $(basename $filename .pfb) < $filename" >>| cyberbit.map;
> done
$ sudo mkdir -p /usr/local/share/texmf/fonts/map/dvips/cyberbit/ /usr/local/share/texmf/fonts/{afm,type1,tfm}/cyberbit
$ sudo cp cyberbit.map /usr/local/share/texmf/fonts/map/dvips/cyberbit/
$ sudo cp *.afm /usr/local/share/texmf/fonts/afm/cyberbit/   
$ sudo cp *.pfb /usr/local/share/texmf/fonts/type1/cyberbit/
$ sudo cp *.tfm /usr/local/share/texmf/fonts/tfm/cyberbit/
$ sudo mktexlsr

最後に

ファイル名: /etc/texmf/updmap.d/10cyberbit.cfg

Map cyberbit.map

これを作成した後、以下を実行。

$ cd ../
$ updmap
$ sudo updmap-sys

テスト

http://web.archive.org/web/20090420094658/http://porocise.hp.infoseek.co.jp/memo/cjk/cjk_cyberbit.html
の「例題の準備と処理」にあるコードをutf8test.texなどの適当な名前で保存し、

$ pdflatex utf8test.tex

とすることで、utf8test.pdfが生成され、Adobe ReaderEvinceで見ると、日中韓の言語で表示がされていることが分かる。

Debian etchでの作業メモ

debootstrapで作成したetchで、/usr/share/doc/latex-cjk-common/README.Debian.gzを見ながら同様のことを行った。こちらも同様に間違いがあるかもしれない。

$ sudo apt-get install latex-cjk-japanese texlive-latex-recommended fontforge freetype1-tools unzip

$ wget ftp://ftp.netscape.com/pub/communicator/extras/fonts/windows/Cyberbit.ZIP
$ unzip Cyberbit.ZIP
$ mv Cyberbit.ttf cyberbit.ttf
$ rm Cyberbit.ZIP -f

$ sudo mkdir /usr/local/share/fonts/truetype/bitstream/ -p
$ sudo mv cyberbit.ttf /usr/local/share/fonts/truetype/bitstream/
$ sudo mkdir /usr/local/share/texmf/fonts/truetype/bitstream/cyberbit/ -p
$ sudo ln -s /usr/local/share/fonts/truetype/bitstream/cyberbit.ttf /usr/local/share/texmf/fonts/truetype/bitstream/cyberbit/

$ rm ~/.texmf-var/fonts/pk -fr
$ mkdir work; cd work/
$ cp /usr/local/share/fonts/truetype/bitstream/cyberbit.ttf .
$ cp /usr/share/latex-cjk-common/utils/subfonts/subfonts.pe .
$ fontforge -script subfonts.pe cyberbit.ttf cyberbit /usr/share/texmf/fonts/sfd/Unicode.sfd

$ for filename in *.pfb;
> do echo "$(basename $filename .pfb) $(basename $filename .pfb) < $filename" >>| cyberbit.map;
> done
$ sudo mkdir -p /usr/local/share/texmf/fonts/map/dvips/cyberbit/ /usr/local/share/texmf/fonts/{afm,type1,tfm}/cyberbit
$ sudo cp cyberbit.map /usr/local/share/texmf/fonts/map/dvips/cyberbit/
$ sudo cp *.afm /usr/local/share/texmf/fonts/afm/cyberbit/   
$ sudo cp *.pfb /usr/local/share/texmf/fonts/type1/cyberbit/
$ sudo cp *.tfm /usr/local/share/texmf/fonts/tfm/cyberbit/
$ sudo mktexlsr

ファイル名: /etc/texmf/updmap.d/10cyberbit.cfg

######
# 10cyberbit.cfg
Map cyberbit.map
######
$ cd ../
$ sudo update-updmap
$ sudo updmap-sys

ここで、c70song.fdがシステム上にあれば消すのだが、手元には存在が確認できなかった。

$ sudo mkdir -p /usr/local/share/texmf/tex/latex/CJK/UTF8

次に、/usr/share/doc/latex-cjk-common/README.Debian.gzに書かれている内容をコピペして/usr/local/share/texmf/tex/latex/CJK/UTF8/c70song.fdとして保存し、

$ sudo mktexlsr

したら、/opt/etch/usr/share/doc/latex-cjk-common/examples/UTF8.texでテスト。

使用したバージョン(Gentoo):