%%tl.pp.par.=A400 A4 縦置き LaTeX
%%tl.ma.name=test
\documentstyle[a4j]{jarticle}
\begin{document}
\pagestyle{empty}
%text start
長体・平体日本語フォントを使うためのjfmについての説明です。
本記述は日本語{\TeX}テクニカルブックによるところがほとんどです。
よって引用ミスなどの可能性がある場合はここにご確認ください。

\section*{日本語{\TeX}和文フォント命名規則}

MS-DOSの制限よりフォント名は8文字とし、各文字を以下のように振り分ける。
\begin{verbatim}

              [a][s][a]\s][c][m][a][a]
               \ /   \--v--/  |  |  +---- 斜体
                V       |     |  +------- 長体・平体
                |       |     +---------- ウェイト
                |       +---------------- フォント名（３文字）
                +------------------------ メーカー（２文字）

\end{verbatim}

\begin{description}
\item[メーカー] アルファベットに文字でフォントのメーカーを示す。
		たとえば、大日本印刷は`dp', 写研は`sk'。
\item[フォント名] フォントの名前。ポイント数は入れない。明朝体なら
		`min'、Тシックなら`got'の様に３文字であらわす。
\item[ウェイト] 文字の線角の太さ。a-zのアルファベット一文字であらわす。
		（`a'が最も細く、`z'が最も太い） CMフォントとの
		相性ですが、cmr10=`m' cmbx10=`s'!だそうです。
\item[長・平体] 長・平体の変形率(10,20,30,40\%)をアルファベットであらわす。
		正体は`a'。長体10$\sim$40\%は`b'$\sim$`e'、平体10$\sim$41%
		は`g'$\sim$`j'。(fは欠番です。)
\item[斜体] 	斜体の度合をしめす。正体はやはり`a'。割当ては以下はとおり。\\
		\begin{tabular}{|l|l|l|l|}\hline
		方向	& 10 (deg.)&	20&	30\\\hline
		Xの+	& 	b&	c&	d\\\hline
		Xの$-$	&	e&	f&	h\\\hline
		Yの+	&	h&	i&	j\\\hline
		Yの$-$	&	k&	l&	m\\\hline
		\end{tabular}\\
		(+というのはフォントが向かって右に傾いているのをさす)
\end{description}

注意すべきは min10.tfm の様にポイント数がフォント名に入っていないことでしょう。
これにより、フォントの標準的大きさは10ptに固定されており、\TeX 内では scaled
等を使用することでいろいろな大きさを使用することになっています。

例えば、通常の min10.tfm は大日本印刷のフォントを基にしているので、このフォント
の標準のウェイトで30%平体（縦につぶれたフォント）は
\begin{verbatim}

                dpminmia
                ~~^^^||+----------------- 正体（非斜体）
                |  | |+------------------ 平体30%
                |  | +------------------- 標準
                |  +--------------------- 明朝
                +------------------------ 大日本印刷

\end{verbatim}
となります。

\section*{補足}

このJFMの変更自体は awk script を書いて行なっています。変更点は、

\begin{itemize}
\item min10.tfm, goth10.tfm, tmin10.tfm, tgoth10.tfm を基準にした。
\item 長体では CHARWD, KRN, GLUE, QUAD を縮小率に合わせて変更した。
\item 平体では CHARHT, CHARDP を変更した。
\item pTeX用縦組みフォントでは上記の 平体・長体を入れ替えて作業を行なった。
	これについては文献[1]に規定されていませんが、こうした理由は
	縦組みフォントでは CHARWD はフォントの高さ方向を表すことによります。
	その結果、縦組み・横組みを問わず、平体は平べったいフォントを指す
	ことになっていますが、将来的に変更される可能性があるでしょう。
\item tmin, tgoth の命名が文献[1]に無いため、それぞれ`tmi',`tgo'と命名した。
	これも、公式な規定が無いので将来変更の可能性があります。
\end{itemize}

このような変更を行なう awk script を batch で呼び出して変換を行ないます。

jgawk, tftopl, pltotf が使える環境で、jfmファイルが存在するディレクトリを
カレントディレクトリにして\verb|modi_jfm.bat|を実行してください。当然 awk script
(\verb|modi_jfm.awk|)を jgawk が読めるようにしてください。また、tmin10, tgoth10 を
変換するには jfm 対応の tftopl, pltotf が必要です。私は EastWind 氏の go32
版{\TeX}に付属のものを使用しました。

\verb|modi_jfm.bat|は具体的には
\begin{enumerate}
\item foo10.tfm より tftopl で foo10.pl を作る。
\item foo10.pl より jgawk で work.pl を作る。
\item work.pl の行末を textcnv (c)EastWind氏 で unix file にする。
	これは自分の思っている pltotf がUNIXタイプの行末コード '0x0a' 
	のみに対応しているため。
\item tftopl work.pl foofoo.tfm でjfmに変換する。
\end{enumerate}
ということをやっているだけです。min10, goth10, tmin10, tgoth10のみを
変更します。(nmin10, ngoth10は無視しました。batchを改良して対処してください。^^;)

\section{著作権など}
awk script の著作権は放棄します。好きにしてください。


\end{document}

