マクロツイーター

はてダから移行した記事の表示が崩れてますが、そのうちに直せればいいのに(えっ)

Berry 命名規則とオレオレ命名規則

「持ち込む話」の中で Times のファミリを TeX で扱う例を載せているが、そこで登場する TFM の名前は次のようになっている。

  • ptmbi8t = T1, Times Bold Italic
  • ptmbi7y = LY1, Times Bold Italic
  • pplbi8t = T1, Palatino Bold Italic
  • ptmri8t = T1, Times Italic
  • ptmb8t = T1, Times Bold

これは、各々のフォントを「Berry 命名規則(Berry naming scheme)」に従って名付けたものである。このような名前は、LaTeX のフォントのインストールについて調べたことのある人ならきっと見覚えがあるだろう。これは当該のフォントの「属性」の集まりを極めて短い文字列の形に表現したものである。例えば、「ptmbi8t」は次のような属性値を表している。

ptmbi8t
AdobeTimesBoldItalicT1
(Supplier)(Family)(Weight)(Variant)

この「変換規則」の記述等を含む、Berry 命名規則の仕様そのものについては CTAN の fontname パッケージに含まれる文書 fontname.html に述べられている。ただその資料にはこの規則の目的や適用基準などについては触れられていない。そこで、その辺りについて、私見を大いに交えて話をしたい。

Berry 命名規則が創案された背景

Berry 名が可読性に欠けると感じる人は多いであろう。TeX コミュニティにおいて長らくこのような名雨が使われていた理由については UK TeX FAQ の解説ページで説明されている。要するに、ファイル名を「8+3 形式」(MS-DOS や ISO 9660*1の制限に従った、ベース名 8 文字 + 拡張子 3 文字の名雨)に適合させるという絶対的な要求の中で、 最大限に可読性を担保しようと努力した結果が Berry 命名規則というわけなのである。(つまり Berry 名でない 8+3 なファイル名はもっと不可読であった。)もちろん、MS-DOS も ISO 9660(CD-ROM 自体が?)も全く過去のものとなった現状*2では、この「訳のわからない」名前を用いることの合理性は甚だ低い。

どういう場合に Berry 命名規則に従う必要があるのか?

不安に思っている人がいるかも知れないので確認しておく。TeXLaTeX のシステム自体は Berry 命名規則には全く依存しない。つまり、TFM にどんな名前を付けても、その名前で設定を行う限りは正常に動作する。さらに言うと、afm2tfm 等の(低水準の)TFM 生成ツールを直接使って新しいフォントを TeXLaTeX に導入する作業を行う作業の中でも、Berry 命名規則が要請される個所は存在しない。*3ただし、(これらのツールを内部で使う)フォントのインストール作業を自動化するツール(CTAN を見るといっぱいあります)の中には、Berry 命名規則の使用を前提とするものがあるかも知れない。(LaTeX 組込まで自動化するものであればそもそも TFM 名を使用者が気にする必要もないはずだが。)

新しいフォントのインストールする際に Berry 命名規則に従ったほうがよいか?

Berry 命名規則に従うべきかの最終的な判断については、これを読んでいる各人に任せる。ただ注意すべきことは、選択の余地がない場合が多いということである。fontname.html のファミリの対応表を見れば解るが、そもそも Berry 規則では「予め決められたもの」しか命名できないのである。だから、例えば「持ち込む話」 で「Plasma Drip BRK」のフォントに対して単純に plasma という TFM 名を与えたが、「Berry 名は何か」と聞かれても適当な答えが存在しない。要するに、大概の場合には Berry 命名規則は「使えない」、と私は判断している。

ZR 命名規則(謎)

とはいっても、やはり命名規則はあった方がよいと私は思っている。そして命名は次の性質を満たしてほしい。

  • 自分が使いそうな属性値(和文のファミリやエンコーディングなども含む)に対応できる。
  • 極端に長すぎない(20 文字以内に収まる)。
  • 自分が使いこなせる/覚えられる。

というわけで、私自身は以下のような命名規則を用いることにしていて、これを「ZR 命名規則(謎)」と呼んでいる。*4

[r-]〈ファミリ〉-〈シェープ〉[-〈エンコーディング〉][-〈サイズ〉]
([ ] 内は省略可能)

この規則は、自分が公開しているフォントパッケージの中でも一貫して用いられている。例えば、PXmika パッケージの中身を見ると、mika-r-jt1 や r-cira-r-ot1 や r-mika-r-u30 といった名前の TFM ファイルが存在する。

もう少し詳しく説明しようかとも思ったが、確かこの記事の主題は Berry 規則だったはずなので、またの機会に回すことにする。

*1:CD-ROM のファイルシステムの標準仕様

*2:Karl Berry 氏自身も「8+3 にする必要はもうない」と言っている。(参考)ちなみに、この TUG Interview で彼が「Berry 命名規則」に言及しているところも面白い。

*3:otftotfm の man page にはわざわざ「Berry 命名規則に従う必要はない」という注意書きがされている。

*4:この方式に転換する前には「拡張 Berry 規則」みたいのを 2 年ほど使っていた時期がある。「Berry 規則と同様に読みにくく、しかも Berry 規則と微妙に互換性がない」とメリットが全然ないので結局放棄した。;-)