METAFONT を利用したマークシート・フォントの作成
2006年11月20日 | |
2008年9月7日加筆 |
2008年9月8日加筆 |
2010年1月24日加筆 |
■ フォントを改良&追加しました 2010年1月24日
ご要望にお応えしてフォントを追加しデザインもやり直しました。英大文字は全て出力できるようになりました。大学入試センターで公開されているPDFファイルを拡大表示してフォントを詳細に研究しました。
■ 大学入試センターで配布されているPDFファイルのフォント
■ 今回(2010年1月23日)作成したフォント
■ PDFサンプル dvipsk -R0 -Ppdf -t a4 test.dvi
test.pdf(194K bytes,マークシートフォントは Type 3(ビットマップ))
■ アーカイブ
msheet20100124.zip(2010年1月24日公開,183K bytes,大学入試センター試験マークシートフォント(METAFONT版))
私が作った大学入試センター試験で使われるマークシート・フォント(METAFONT版)を利用しているという方からメールをいただいた。センター試験では丸囲みの1~9(①~⑨)と0以外にも丸囲みのA~Gやa~dなども出てくるので作成してもらえないだろうかという内容だった。
実はそのことはずっと前から分かっていたのだが,今までに作成したセンター試験の国語・化学・世界史などでは丸囲みの1~9(①~⑨)と0以外のフォントは出てこないので「まあいいや」と思って作成しなかった。今回作成要望メールをいただいたことでちょっと手間はかかるだろうけれど作成してみようかという気になったので作成した。
よく見るとマークシートのフォントは単純に数字やアルファベットを丸く囲んだだけでなくベースラインを上下させたりしながらバランスよく見えるように微調整してある。そこで大学入試センターで公開されているファイル(平成18年度センター試験(本試験)数学①,平成18年度センター試験(本試験)数学②)を参考にしながらMETAFONTでフォントを作成した。
ただしセンター試験で使われている文字しか作成しなかったので,すべての文字が使えるわけではない。もし下記以外にも使われている文字があった場合は私に連絡していただければ作成しようと思っている。
■ 塗りつぶしフォントを追加しました 2008年9月7日
メールでいただいた要望にお応えして「塗りつぶした楕円」フォントを追加しました。
■ dvipsk -R0 -Ppdf -t a4 test ができない(2008年9月7日)
METAFONT ソースが不完全なため?
dvipsk -R0 -Ppdf -t a4 test
がうまくいきません。
dvipsk -D 300 -P dl -t a4 test
を実行してください(どなたか解決方法をご存じの人はご教示ください m(__)m )。
原因が分かりました(2008年9月8日)
METAFONT ソースの中で 34/100haba (=34/100×haba,つまり haba の 100分の34 のこと)のような記述をしていたのですが,この記述では PDF ファイル作成で 8000dpi フォントを作成するときに arithmetic overflow のエラーが出てしまいます。METAFONT では 8000dpi のような高解像度のフォントの作成を想定していないことが原因ではないかと思います。そこで 34/100haba の代わりに 0.34haba に変更するとエラーが出なくなり 8000dpi のフォントが作成されます。そうすれば
dvipsk -R0 -Ppdf -t a4 test
がうまくいきました。
ただし事前に
mf(.exe) \mode=dpdfezzz; input msheet(.mf)
gftopk(.exe) msheet.8000gf
などとして 8000dpi のPKフォントを作成しておく必要があります。( )内は省略可能
■ 本当はアウトラインフォントを作成したい
TeX では TrueType フォントや Type1 フォントなどのアウトラインフォントも扱えるので,そうしたフォントを作成するのが望ましいとは思うが残念ながら私はそうしたフォントを作成したことがない。今回 TeXtrace on Win32 を利用して METAFONT ソースからアウトラインフォント *.pfb(バイナリ形式の PostScript タイプ 1 フォント)を自動生成して PS ファイルから PDF ファイルに変換してみたが,満足のいく品質のフォントは自動生成されなかった。きれいなアウトラインフォントを作成することは今後の課題だ。(私の無知のため下記ファイルは一部の文字が表示されません。原因がお解りの方は教えて下さい)
testfont.pdf (19K bytes,マークシートフォントは Type 1(アウトラインフォント))
先頭に戻る UNIQUE LABORATORY に戻る