Computer Modern 以外のほとんどの TeX フォントは \frenchspacing に最適化されていますか?

Computer Modern 以外のほとんどの TeX フォントは \frenchspacing に最適化されていますか?

Don Knuth が Computer Modern フォントを作成したとき、少なくとも彼の意見では、 用に最適化したと思います\nonfrenchspacing。しかし、TeX で作成されていないほとんどの本には句読点の後に余分なスペースがないため、他のほとんどのフォントは TeX で使用するために に最適化されており\frenchspacing、後から 用の設定が\nonfrenchspacing行われるのでしょうか?

答え1

TeX 用に設計されたフォントは、通常、コマンド 、、、、、、およびを\fontdimen介し font_slantてTeXで使用できる 7 つの値をエンコードします。これらは順番に並んでfont_normal_spaceおり、、、などで取得します。font_normal_stretchfont_normal_shrinkfont_ex_heightfont_quadfont_extra_space\fontdimen1\fontdimen2

句読点の後の余分なスペースは によって制御され\fontdimen7、Metafont ソースでは として定義されていますfont_extra_spacecmrたとえば、 では\fontdimen7は に設定されています2u#が、これはここで説明する必要のない深い Metafont の魔法です (実際にはそれほど深くはありませんが、ここでもあまり関係ありません)。

ただし、これらの\fontdimen値は TeX によって操作できます。たとえば、\frenchspacingComputer Modern フォントで句読点後の動作を取得するには、\fontdimen7それらのフォントに対して reset と指定するだけです。たとえば、次のようになります。

\documentclass{article}
\begin{document}
\font\cmr=cmr10
\cmr Hello.  I'm Joe.

\fontdimen7\cmr=0pt
Hello. I'm Joe.
\end{document}

フォント形式に応じて、TeX はさまざまな場所からパラメータの値を取得します\fontdimen。Computer Modern およびその他の Metafont フォントの場合、パラメータの値は Metafont ソースで設定され、TeX によってtfmファイルから取得されます。

これは、短い答えを長々と述べたものです。いいえ、フォントは最適化されていません\frenchspacing。ただし、TeX によって値が上書きされない限り、両方の場合に使用される値が設定されます。

関連情報