This Project Has Not Released Any Files
8 ビット欧文 LaTeX の NFSS (ユーザ命令、できればパッケージ用命令も)については既知とします。
「欧文」「和文横書」「和文縦書」で独立管理。つまり「現在フォント」が 3 つ別々にあるということ。
いずれも = の右辺にあるのは TFM(JFM)名。 こうして定義される \tenrm 等のことを「fontdef トークン」という。
ただし、TFM が「欧文」「和文横書」「和文縦書」のいずれであるかは pTeX で判断されるので、
\font\tenrm=cmr10 \font\tenmin=jis \font\tenminv=jis-vと全部 \font で書いてもよい(実は全部 \jfont で書くことすら可)。 この 3 行は前掲の 3 行と全く等価である。 ただし、\font には前に \the を付して現在の欧文フォントの fontdef トークンの名に展開されるという機能もあり、 これは \jfont、\tfont では動作が異なる (「現在の和文フォントの…」になる)。
欧文と和文を別個に管理する。 和文の横書と縦書は、設定の際は別個に行うが、 使用の際は連動するようになっている。
(共用) | (欧文用) | (和文用) |
\fontencoding | \romanencoding | \kanjiencoding |
\fontfamily | \romanfamily | \kanjifamily |
\fontseries | \romanseries | \kanjiseries |
\fontshape | \romanshape | \kanjishape |
\usefont | \useroman | \usekanji |
\selectfont |
「共用」のコマンドの実際の動作は以下の通り。
総称ファミリの命令は:
これらも原則的には欧文・和文の一方のみに適用される。 ただし、一部の文書クラスでは、 「 \sffamily の中に \gtfamily に相当する処理を含める」 ことにより総称ファミリが連動するように再定義されている。
(欧文) | (和文) |
\DeclareFontEncoding | \Declare{Yoko|Tate}KanjiEncoding |
\DeclareFontEncodingDefaults | \Declare{Yoko|Tate}KanjiEncodingDefaults |
― | \KanjiEncodingPair |
\DeclareFontFamily | \DeclareKanjiFamily |
\DeclareFontSubstitution | \DeclareKanjiSubstitution |
\DeclareErrorFont | \DeclareErrorKanjiFont |
\DeclareFontShape | (←共用) |
~Encoding、~Family、~Substitution の登録データは本当は内部では一緒になっている。 コマンドを分けているのは、実は、 上述の「共用」ユーザ命令のために、 指定のエンコーディングやファミリが欧文・ 和文のいずれに属するのかを判断するため(だと思う)。
pLaTeX の NFSS には 「和文フォントとセットで使う欧文フォントの組」 を予め設定しておいて簡単に呼び出せるようにするという機能がある。 ただし完全に自動ではない。 (使われいるのか?)
\DeclareRelationFont{JY1}{hiram}{m}{}{T1}{ahiram}{m}{}を予め実行しておいて、和文フォントを JY1/hiram/m/n にするような \font~(\kanji~)設定の後に行うべき \selectfont の前に \userelfont を実行すると、 欧文フォントが T1/ahiram/m/n に切り替わる。 (\userelfont が有効になるのはその直後の \selectfont でのみである。) 具体的には次のような命令を定義することを想定すればよい。
\DeclareRobustCommand\hiramfamily{% \kanjifamily{hiram}\userelfont\selectfont}