TFM 名(Berry 命名規則、あるいは「ZR 命名規則(謎)」*1)の Weight、Variant、Width の属性は NFSS のシリーズ、シェープの属性と似た概念であるが、前者は「元のフォント名で称されているもの」、後者は「実際に LaTeX でどの属性値を使いたいか」によって決められる。従って、両者の間に固定された機械的な対応はない。例えば、「AAA Demibold」と「BBB Semibold」という(別ファミリの)2 つのフォントがあるとすると、これらの TFM 名は aaa-d-ly1(Weight は d(Demi))と bbb-s-ly1(Weight は s(Semibold))となるが、LaTeX サポートを行う者が「両方ともシリーズ sb (Semi-bold)でよい」と考えたなら、NFSS 属性は LY1/aaa/sb/n と LY1/bbb/sb/n となるだろう。あるいは、あるファミリにウェイト「Demi」しかない場合は、TFM 名の Weight は d(Demi)としつつ、LaTeX では「普通の」シリーズ m(Medium)に対応させるのが適当かも知れない。
NFSS の属性値については、「設定する人に任せられる」という性質のため、Berry 規則のような「規定文書」が存在せず、完全にコミュニティの慣習に任せられている。だから「どういう値を用いればよいか解らない」と戸惑うこともあるだろう。そこで、「実際に用いられる NFSS 属性値の例を示す」ことと「『機械的な』TFM と NFSS の対応の例を示す」ことを目的として、以下では fontinst パッケージで用いられている対応を挙げることにする。「TFM」の欄が「—」なのは、「fontinst では対応が与えられていないが、用いられることのある NFSS 属性値」である。
Weight に対応する「シリーズ(1)」と Width に対応する「シリーズ(2)」を順に並べたものが「シリーズ」の値となる。ただし両方が「m」の場合は片方を略して「m」をシリーズとする。例えば aaa-brx-ly1 *2は LY1/aaa/bx/n、aaa-r-ot1 は OT1/aaa/m/n となる。
TFM Weight | NFSS シリーズ(1) |
---|---|
a | ul (Ultra Light) |
j | el (Extra Light) |
l | l (Light) |
r, k | m (Medium) |
m | mb (Medium-bold) |
d | db (Demi-bold) |
s | sb (Semi-bold) |
b | b (Bold) |
h, c, x | eb (Extra Bold) |
u | ub (Ultra Bold) |
TFM Width | NFSS シリーズ(2) |
---|---|
o, u | uc (Ultra Condensed) |
q | ec (Extra Condensed) |
c, p, n | c (Condensed) |
— | sc (Semi-Condensed) |
r | m (Medium) |
— | sx (Semi-Expanded) |
e, x | x (Expanded) |
v | ex (Extra-Expanded) |
— | ux (Ultra-Expanded) |
例えば、aaa-bo-t1 なら T1/aaa/b/sl となり、aaa-b-t1 なら Variant は r だから T1/aaa/b/n となる。シェープの扱いはあまり標準化されていないので、例えば aaa-ric-t1 のような「複数の Variant の指定」(Small Caps + Italic)を含む場合が判然としないのだが、この場合、scit のように単純に複数の要素を並べたシェープ値を用いる(つまり T1/aaa/m/scit とする)ことが多い(慣習として、scit であり itsc でない)。その他の(Berry 規則の Variant 値がある、あるいはそれ以外の)Variant もシェープとして扱われ、その場合の値は LaTeX パッケージ作成者によりまちまちである。*3
TFM Variant | NFSS シェープ |
---|---|
r | n (Normal) |
c | sc (Small Caps; スモールキャピタル) |
o | sl (Slanted; 斜体) |
i | it (Italic; イタリック) |
— | ui (Upright Italic; 直立イタリック) |
— | ol (Outline; 白抜き) |
*1:以前の記事で紹介したように、Berry 規則の Weight、Variant、Width の指定法は ZR 規則にそのまま受け継がれる。この記事の以下の例では TFM 名を ZR 規則の命名で示す。
*2:Width が r 以外で Variant がない(つまり r)の場合は Variant の r が残る。aaa-bx-oy1 だと x は Variant の値となってしまう。本来の Berry 規則ではエンコーディングが Variant の一種と扱われ …b8yx となるので Variant の r はあまり出現しないのだが。
*3:大抵は、「そのパッケージ特有の高水準命令」を用意してそれで隠蔽してしまうので、それで問題になることがない。