\documentclass[twoside]{jarticle}
\addtolength{\textwidth}{0.9in}
\setlength{\oddsidemargin}{.4in}
\setlength{\evensidemargin}{.4in}
\pagestyle{headings}
\title{JFM$B%U%!%$%k%U%)!<%^%C%H(B}
\author{ASCII Corporation \& Japanese \TeX\ Development Community}
\begin{document}
\maketitle

\section{JFM file format}
JFM$B%U%!%$%k$N%U%)!<%^%C%H$O!"(B
$B4pK\E*$K$O(BTFM$B%U%!%$%k$N%U%)!<%^%C%H$K=`5r$7$F$*$j!"(B
TFM$B$r3HD%$7$?7A$K$J$C$F$$$k!#(B
$B$3$3$G$O!"<g$K$=$N3HD%ItJ,$K$D$$$F@bL@$r9T$$!"(B
$B$=$NB>$NItJ,$K4X$7$F$O!"(B
\TeX\ the program$BEy$N(BTFM$B$N@bL@$r;2>H$7$F$b$i$$$?$$!#(B

$B$3$NJ8=q$O$b$H$b$H3t<02q<R%"%9%-!<$,3+H/$7$?(Bp\TeX{}$B$KIUB0$7$F$$$?(B
$B$b$N$G$"$k!#(B2018$BG/$KF|K\8l(B\TeX{}$B3+H/%3%_%e%K%F%#$O(BJFM$B%U%)!<%^%C%H$r(B
$B3HD%$7$?$?$a!"$=$NFbMF$K$D$$$FDI5-$7$F$"$k!#(B

\subsection{JFM$B%U%!%$%k$N9=@.(B}
JFM$B%U%!%$%kA4BN$N9=@.$O!"(B
Table~\ref{$B9=@.(B}(\pageref{$B9=@.(B}$B%Z!<%8(B)$B$K<($9$H$*$j$G$"$k!#(B \\
$B$3$3$G(BTFM$B$H0[$J$k$N$O<!$NE@$G$"$k!#(B
\begin{enumerate}
\item {\it char\_type}$B$N%F!<%V%k$,IU$12C$($i$l$?$3$H!#(B
\item {\it exten}$B$N49$o$j$K(B{\it glue}$B$N%F!<%V%k$,@_$1$i$l$?$3$H!#(B
\item 2$B$K4XO"$7$F!"(B{\it lig\_kern}$B$+$i(B{\it glue\_kern}$B%F!<%V%k$XJQ99$5$l$?$3$H!#(B
\item $B$3$l$i$KH<$$!"@hF,$N%U%!%$%kFb$N3FItJ,$r5,Dj$9$k(B
	$B%Q%i%a!<%?I=$,JQ99$5$l$F$$$k!#(B
	$B$^$?!"%*%j%8%J%k$N(BTFM$B$H$N6hJL$N$?$a$K(Bid$B$rIU2C$7$F$$$k!#(B
\end{enumerate}
$B:G=i$N(B7$B%o!<%I$OH>%o!<%I!J!a(B2$B%P%$%H!K$:$D$K6h@Z$i$l!"(B
JFM$B%U%!%$%k$r9=@.$9$k(B14$B8D$NMWAG$N%5%$%:$,<}$a$i$l$F$$$k!#(B
$B$3$l$i$NCM$O!"$9$Y$F(B$2^{15}$$B$h$j$b>.$5$$HsIi$NCM$G!"(B
$B<!$N>r7o$rK~$?$7$F$$$J$1$l$P$J$i$J$$!'(B
\begin{eqnarray*}
bc &=& 0 \\
lf &=& 7 + lh + (ec - bc + 1) + nw + nh + nd + ni + nl + nk + ng + np
\end{eqnarray*}

\subsection{char\_type}
$B:#2s$N(B\TeX $B$NF|K\8l2=$K$*$$$F$O!"F10l$NJ8;zI}!"(B
$B9b$5A08e$KA^F~$5$l$k%0%k!<Ey!"$=$NJ8;z$,;}$DB0@-A4$F$,(B
$BF1$8$b$N$r!"(B1$B$D$N(B{\it `char\_type'}$B$H$7$F1Q;z%U%)%s%H$N(B1$B%-%c%i%/%?$H(B
$BF1MM$K$7$F07$&$h$&$K$7$F$$$k!#(B
$B$=$3$G!"4A;z$NJ8;z%3!<%I$H$3$N(B{\it char\_type}$B$H$NBP1~IU$1$r(B
$B$3$N%F!<%V%k$r;H$C$F9T$&!#(B

$B$3$N%F!<%V%k$N3F%(%s%H%j!<$O(B1$B%o!<%I!J!a(B4$B%P%$%H!K$G9=@.$5$l!"(B
$B>e0L(B3$B%P%$%H$K4A;z%3!<%I!"2<0L(B1$B%P%$%H$K%-%c%i%/%?%?%$%W$r;}$D(B
\footnote{$B$3$l$,F|K\8l(B\TeX{}$B3+H/%3%_%e%K%F%#$K$h$C$F(B2018$BG/(B1$B7n$KF3F~$5$l$?(B
$B?7;EMM$G$"$k!(%*%j%8%J%k$N%"%9%-!<$K$h$k;EMM$G$O!"!V>e0LH>%o!<%I$K(B
$B4A;z%3!<%I!"2<0LH>%o!<%I$K%-%c%i%/%?%?%$%W$r;}$D!W$H$$$&$b$N$G$"$C$?!#(B
p\TeX{}$B$G$OFbIt=hM}$K(BJIS$B$,MQ$$$i$l!"(BJFM$B$G07$&4A;z%3!<%I$O(B2$B%P%$%H$,(B
$B>e8B$@$C$?$?$a==J,$G$"$C$?$,!"(Bup\TeX{}$B$G(BBMP$BD6$($N(B3$B%P%$%H$NJ8;z$r(B
JFM$B$G07$&$3$H$rL\E*$K;EMM3HD%$7$?!#(B}$B!#(B
$B4A;z%3!<%I$O!"$=$l$,(B16$B?J?t(B24bit$B!J(B3$B%P%$%H!K$G(B0xABcdef$B$HI=$5$l$k$H$-!"(B
{\it char\_type}$B%F!<%V%k$K$O(B{\tt cd ef AB}$B$H$7$F3JG<$5$l$k(B
\footnote{$B%*%j%8%J%k$N;EMM$G$O!"2<0LH>%o!<%I$K%-%c%i%/%?%?%$%W$r(B
$B3JG<$7$F$$$?$,!"%-%c%i%/%?%?%$%W$N>e8B$O(B255$B$J$N$G!"<B$O$=$N>e0L%P%$%H$O(B
$B>o$K(B{\tt 00}$B$G$"$C$?!#$3$N$3$H$rMxMQ$7!"F|K\8l(B\TeX{}$B3+H/%3%_%e%K%F%#$N(B
$B?7;EMM$G$O!V$3$N(B{\tt 00}$B$,<B$O4A;z%3!<%I$N>e0L$@$C$?!W$H$$$&$3$H$K(B
$B$7$F!"(B3$B%P%$%H!J(BU+10000$B0J>e!K$N4A;z%3!<%I$GITB-$9$k(B1$B%P%$%H$r3NJ]$7$?!#(B
$B$3$l$K$h$j!"?7;EMM$O%*%j%8%J%k$N;EMM$N>e0L8_49$G$"$k$3$H$,J]>Z$5$l$F$$$k!#(B}$B!#(B
$B%F!<%V%kFb$K$O%3!<%I$NCM$N=gHV$K<}$a$i$l$F$$$J$1$l$P$J$i$J$$!#(B
$B$^$?$3$N%F!<%V%k$N@hF,$K$O!"%G%U%)%k%H$N%$%s%G%C%/%9$H$7$F(B
$B4A;z%3!<%I5Z$S%-%c%i%/%?%?%$%W$N9`$,(B0$B$N$b$N$,!"(B
$BI,$:(B1$B$DB8:_$7$J$1$l$P$J$i$:!"$3$N%F!<%V%k$KEPO?$5$l$F$$$J$$J8;z$O!"(B
$B%-%c%i%/%?%?%$%W$,(B0$B$H$7$F07$&!#(B
$B$D$^$j!"$3$N%G%U%)%k%H0J30$NJ8;zI}!"%+!<%sEy$NB0@-$r;}$D%-%c%i%/%?(B
$B$N%3!<%I$H%?%$%W$,(B2$BHVL\0J9_$N%(%s%H%j!<$H$7$FB8:_$7$J$1$l$P$J$i$J$$!#(B

\subsection{char\_info}
{\it char\_type}$B$r%$%s%G%C%/%9$H$7$F$3$N%F!<%V%k$r(B
$B;2>H$9$k$3$H$K$h$j!"3F(B{\it char\_type}$B$NB0@-$r8!:w$9$k!#(B
$B3F%F!<%V%k$X$N%$%s%G%C%/%9Ey$N>pJs$r<!$N=gHV$G%Q%C%-%s%0(B
$B$7$F(B1$B%o!<%I$K<}$a$F$"$k!#(B
\begin{description}
\item{{\it width\_index} (8bits)} width\_table$B$X$N%$%s%G%C%/%9(B
\item{{\it height\_index} (4bits)} height\_table$B$X$N%$%s%G%C%/%9(B
\item{{\it depth\_index} (4bits)} depth\_table$B$X$N%$%s%G%C%/%9(B
\item{{\it italic\_index} (6bits)} italic\_table$B$X$N%$%s%G%C%/%9(B
\item{{\it tag} (2bits)}
	\begin{description}
	\item{${\it tag}=0$} {\it remainder}$B$N9`$OL58z$G$"$j(B
		$B;HMQ$7$J$$$3$H$r<($9!#(B
	\item{${\it tag}=1$} {\it remainder}$B$N9`$,(B{\it glue\_kern}$B$X$NM-8z$J(B
		$B%$%s%G%C%/%9$G$"$k$3$H$r<($9!#(B
	\item{${\it tag}=2, 3$} JFM$B$G$O;HMQ$7$F$$$J$$!#(B
	\end{description}
\item{remainder (8bits)}
\end{description}
JFM$B$G$O(B$bc$$B$OI,$:%<%m(B\footnote{$BA0@a$K$"$kDL$j!"4A;z%3!<%I5Z$S(B
$B%-%c%i%/%?%?%$%W$N9`$,(B0$B$N$b$N$,I,$:(B1$B$DB8:_$9$k$?$a!#(B}$B$J$N$G!"(B
1$B$D$N(BJFM$B$K4^$^$l$k(B{\it char\_info}$B$OA4It$G(B$ec+1$$B%o!<%I$K$J$k!#(B

\subsection{glue\_kern}
$BFCDj$N%-%c%i%/%?%?%$%W$NAH$_9g$;;~$KA^F~$9$Y$-(B{\it glue}$BKt$O(B{\it kern}$B$r(B
$B4JC1$J%W%m%0%i%`8@8l$K$h$C$F;XDj$9$k!#(B
$B3FL?Na$O!"0J2<$N(B4$B%P%$%H$G9=@.$5$l$k!#(B
\begin{description}
\item{$BBh(B1$B%P%$%H(B({\it skip\_byte})}
	\begin{itemize}
	\item 128$B$h$jBg$-$$$H$-(B\\
		$B8=:_$N%o!<%I$,(B{\it char\_info}$B$+$i<($5$l$?:G=i$N%o!<%I(B
		$B$G$"$k>l9g$O!"<B:]$N(B{\it glue\_kern}$B%W%m%0%i%`$,(B
		{\it glue\_kern}[$256*{\it op\_byte}+{\it remainder}$]$B$+$i(B
		$B<}$a$i$l$F$$$k!J$9$J$o$A!":FG[CV$5$l$F$$$k!K$3$H$r<($9(B
		\footnote{$B!V:FG[CV!W$O!"%5%$%:$,(B256$B$rD6$($kBg$-$J(B
		{\it glue\_kern}$B%F!<%V%k$r3JG<$9$k$?$a$NJ}:v$G$"$j!"(B
		$B2$J8(BTFM$B$N(B{\it lig\_kern}$B%F!<%V%k$K$*$1$k$=$l$HF1MM$G$"$k!#(B
		2018$BG/(B2$B7n$KF|K\8l(B\TeX{}$B3+H/%3%_%e%K%F%#$K$h$C$F!"(B
		p\TeX{}$B5Z$S(BpPLtoTF$B$G?7$?$K%5%]!<%H$5$l$?!#(B}$B!#(B
		$B:G=i$N%o!<%I$G$J$$>l9g!J$9$J$o$A!"4{$K:FG[CV@h$"$k$$$O(B
		$B%W%m%0%i%`$N%9%F%C%W$r3+;O$7$?8e$N%o!<%I$G$"$k>l9g!K$O!"(B
		$B$=$N>l$G%W%m%0%i%`$r=*N;$9$k!#(B
	\item 128$B$N$H$-(B\\
		$B$3$N%o!<%I$r<B9T$7$F%W%m%0%i%`$r=*N;$9$k!#(B
	\item 128$B$h$j>.$5$$$H$-(B\\
		$B$3$N%o!<%I$r<B9T$7$?8e!"<!$N%9%F%C%W$^$G%9%-%C%W$9$k(B
		$B%o!<%I?t$r<($9(B
		\footnote{$B!V%9%-%C%W!W(B(SKIP)$B$O!"85!9%"%9%-!<$N8x<0%Z!<%8(B
		{\tt http://ascii.asciimw.jp/pb/ptex/tfm/jfm.html}$B$KJ8=q2=(B
		$B$5$l$F$O$$$?$,!"<B:]$K$O(B(p)PLtoTF$B$N(B{\it glue\_kern}$B%F!<%V%kFb$G(B
		SKIP$BL?Na$r;HMQ$9$k$3$H$,$G$-$:!"(Bp\TeX{}$B$b$d$O$j(BSKIP$BL?Na$r(B
		$B%5%]!<%H$7$F$$$J$+$C$?!#(B
		2018$BG/(B2$B7n$NF|K\8l(B\TeX{}$B3+H/%3%_%e%K%F%#$N2~=$$K$h$j!"(B
		$B?7$?$K%5%]!<%H$,3+;O$5$l$?!#(B}$B!#(B
	\end{itemize}
\item{$BBh(B2$B%P%$%H(B({\it char\_type})}
	\begin{itemize}
	\item $B<!$NJ8;z$N%-%c%i%/%?%?%$%W$,!"(B
		$B$3$N%P%$%H$G<($9%-%c%i%/%?%?%$%W(B
		\footnote{$B$3$3$K%-%c%i%/%?%?%$%W$,3JG<$5$l$k$?$a!"(B
		$B%-%c%i%/%?%?%$%W$N>e8B$O(B255$B$J$N$G$"$k!#(B}$B$HF1$8>l9g!"(B
		$BBh(B3$B%P%$%H$N=hM}$r<B9T$7!"%W%m%0%i%`=*N;!#(B
	\item $B$=$&$G$J$1$l$P<!$N%9%F%C%W$X!#(B
	\end{itemize}
\item{$BBh(B3$B%P%$%H(B({\it op\_byte})}\\
	$B$3$NCM$K$h$C$F%0%k!<$r07$&$+%+!<%s$r07$&$+$r5,Dj$9$k!#(B
	\begin{itemize}
	\item 127$B0J2<$N>l9g(B{\it glue[remainder$\times$3]}$B$N%0%k!<$rA^F~!#(B
	\item 128$B0J>e$N>l9g(B{\it kern[remainder]}$B$N%+!<%s$rA^F~!#(B
	\end{itemize}
\item{$BBh(B4$B%P%$%H(B({\it remainder})}\\
	$BBh(B3$B%P%$%H$K$h$j5,Dj$5$l$k(B
	{\it glue}$B$^$?$O(B{\it kern}$B$X$N%$%s%G%C%/%9$r<($9!#(B
\end{description}
%
\subsection{glue$B%F!<%V%k(B}
$B<+A3D9!"?-$SD9!"=L$_D9$N(B3$B%o!<%I$G(B1$B$D$N%0%k!<$r9=@.$9$k(B
$B!J$7$?$,$C$F!"(B$ng$$B$OI,$:(B3$B$NG\?t$H$J$k!K!#(B
$B3FCM$O!"(B$design size\times2^{-20}$$B$rC10L$H$7$FI=$9!#(B
\begin{description}
\item{$BBh(B1$B%o!<%I(B} width
\item{$BBh(B2$B%o!<%I(B} stretch
\item{$BBh(B3$B%o!<%I(B} shrink
\end{description}
%
\subsection{param$B%F!<%V%k(B}
\begin{description}
\item{param[1]} $BJ8;z$N79$-(B (italic slant)$B!#(B
\item{param[2][3][4]} $B4A;z4V$KA^F~$9$k%0%k!<$N%G%U%)%k%HCM!#(B
\item{param[5]} p\TeX{}$B$G(Bzh$B$G;2>H$5$l$k@#K!!#(B
\item{param[6]} p\TeX{}$B$G(Bzw$B$G;2>H$5$l$k@#K!!#(B
\item{param[7][8][9]} $B4A;z$H1Q;z4V$KA^F~$9$k%0%k!<$N%G%U%)%k%HCM!#(B
\end{description}
%
\newpage
\begin{table}[h]
\begin{minipage}[b]{2in}
\begin{tabular}{|c|c|} \hline
\hbox to.8in{\hfil$id$\hfil} & \hbox to.8in{\hfil$nt$\hfil} \\ \hline
$lf$ & $lh$ \\ \hline
$bc$ & $ec$ \\ \hline
$nw$ & $nh$ \\ \hline
$nd$ & $ni$ \\ \hline
$nl$ & $nk$ \\ \hline
$ng$ & $np$ \\ \hline
\multicolumn{2}{|c|}{} \\
\multicolumn{2}{|c|}{header} \\ 
\multicolumn{2}{|c|}{}\\ \hline
\multicolumn{2}{|c|}{} \\
\multicolumn{2}{|c|}{char\_type} \\ 
\multicolumn{2}{|c|}{}\\ \hline
\multicolumn{2}{|c|}{}\\
\multicolumn{2}{|c|}{char\_info} \\
\multicolumn{2}{|c|}{}\\ \hline
\multicolumn{2}{|c|}{}\\
\multicolumn{2}{|c|}{width} \\
\multicolumn{2}{|c|}{}\\ \hline
\multicolumn{2}{|c|}{}\\
\multicolumn{2}{|c|}{height} \\
\multicolumn{2}{|c|}{}\\ \hline
\multicolumn{2}{|c|}{}\\
\multicolumn{2}{|c|}{depth} \\
\multicolumn{2}{|c|}{}\\ \hline
\multicolumn{2}{|c|}{}\\
\multicolumn{2}{|c|}{italic} \\
\multicolumn{2}{|c|}{}\\ \hline
\multicolumn{2}{|c|}{}\\
\multicolumn{2}{|c|}{glue\_kern} \\
\multicolumn{2}{|c|}{}\\ \hline
\multicolumn{2}{|c|}{}\\
\multicolumn{2}{|c|}{kern} \\
\multicolumn{2}{|c|}{}\\ \hline
\multicolumn{2}{|c|}{}\\
\multicolumn{2}{|c|}{glue} \\
\multicolumn{2}{|c|}{}\\ \hline
\multicolumn{2}{|c|}{}\\
\multicolumn{2}{|c|}{param} \\
\multicolumn{2}{|c|}{}\\ \hline
\end{tabular}
\end{minipage}
\begin{minipage}[b]{3.3in}
\noindent
\begin{tabular}{l}
$id=$ JFM\_ID number. ($=11$ for yoko, $9$ for tate) \\
$nt=$ number of words in the character type table. \\
$lf=$ length of the entire file, in words. \\
$lh=$ length of the header data, in words. \\
$bc=$ smallest character type in the font. ($=0$ for JFM) \\
$ec=$ largest character type in the font. \\
$nw=$ number of words in the width table. \\
$nh=$ number of words in the height table. \\
$nd=$ number of words in the depth table. \\
$ni=$ number of words in the italic correction table. \\
$nl=$ number of words in the glue/kern table. \\
$nk=$ number of words in the kern table. \\
$ng=$ number of words in the glue table. \\
$np=$ number of font parameter words. \\
\end{tabular}
\end{minipage}
\caption{JFM$B%U%!%$%k$N9=@.(B\label{$B9=@.(B}}
\end{table}
\end{document}
