+\enditem
+
+\beginsection JFMについて
+
+Lua\TeX-jaで用いる和文用のメトリック情報は,次のようなLuaファイルである.
+見本として,|jfm-ujis.lua|を入れてある.
+
+\begintt
+ltj.define_jfm {
+ dir = 'yoko', zw = 1.0, zh = 1.0,
+ [0] = {
+ align = 'left', left = 0.0, down = 0.0,
+ width = 1.0, height = 0.88, depth = 0.12, italic=0.0,
+ glue = {
+ [1] = { 0.5 , 0.0, 0.5 }, [3] = { 0.25, 0.0, 0.25 }
+ }
+ }, ...
+ [1] = {
+ chars = {
+ 0x2018, 0x201C, 0x3008, 0x300A, 0x300C, 0x300E, 0x3010, 0x3014,
+ 0x3016, 0x3018, 0x301D, 0xFF08, 0xFF3B, 0xFF5B, 0xFF5F
+ },
+ align = 'right', left = 0.0, down = 0.0, ...
+ }, ...
+ [5] = {
+ ...,
+ glue = {
+ [1] = { 0.5 , 0.0, 0.5 },
+ [3] = { 0.25, 0.0, 0.25 }
+ },
+ kern = { [5] = 0.0 }
+ }, ...
+}
+\endtt
+
+全体は,「関数|ltj.define_jfm|にテーブルを引数として与える」という構造になっている.
+以下に,テーブルの中身を述べる.
+\item |dir|: 組方向を指定する.将来的にはいずれ縦組(|'tate'|)を実装したいが,
+現時点では横組(|'yoko'|)のみの対応.
+\item |zw|, |zh|: それぞれ|\zw|, |\zh|のフォントサイズに対する割合を記述する(必須).
+通常は両方とも1.0となるだろう.
+\item |kanjiskip|, |xkanjiskip|: それぞれ和文文字間グルー量,和欧文間グルー量を
+\begintt
+{<width>, <stretch>, <shrink>}
+\endtt
+という形で,フォントサイズ単位で指定する.
+\item 数字のindex $i$を持った値:$i$番の文字クラスについての情報を記述する.
+\itemitem |glue|: 現在の文字クラスの文字の後に挿入するglueを指定する.
+この項目の内容は
+\begintt
+{ [<j>] = { <width>, <stretch>, <shrink> }, ... }
+\endtt
+というテーブルであり,各要素は
+
+{\par\medskip\advance\leftskip3\zw\noindent\rightskip2\zw
+$i$番の文字クラスの文字と$j$番の文字クラスの文字の間に,
+自然長<width>,伸び<stretch>, 縮み<shrink>(フォントサイズ基準)なる
+glueを挿入
+\par\medskip}
+
+\noindent という意味である.
+
+\itemitem |kern|: 現在の文字クラスの文字の後に挿入するkernを指定する.
+この項目の内容も,
+\begintt
+{ [<j>] = <width>, ... }
+\endtt
+というテーブルであり,各要素は
+
+{\par\medskip\advance\leftskip3\zw\noindent\rightskip2\zw
+$i$番の文字クラスの文字と$j$番の文字クラスの文字の間に,\hfil\break
+幅<width>のkernを挿入
+\par\medskip}
+
+\noindent という意味である.
+
+\itemitem |chars|: 文字クラスに属する「文字」達をリストの形|{...}|で記述する.
+文字の指定には,Unicodeにおけるコード番号か,その文字1文字だけからなる文字列(|'字'|のように)
+を用いる.
+どの文字クラスにも属さなかった文字は,0番の文字クラスに属するとみなされる.
+そのため,0番以外の文字クラスではこの項目は必須である.
+
+また,このリストには,以下の「仮想的な文字」も指定可能である.
+\itemT |'lineend'|: 行末.
+この「文字」を0以外の文字クラスに設定することで,ぶら下げ組のような組版も可能になる.
+\itemT |'boxbdd'|: 水平ボックスの先頭/末尾,段落の先頭/末尾.
+\itemT |'jcharbdd'|: 和文文字達の連続とそれ以外のもの(例えば欧文文字)との境界.
+\itemT |'diffmet'|: 異なるメトリックの和文文字間に入るglueの計算に使われる.
+\enditem
+
+\noindent {\bf
+以下の3項目は,文字クラスに属する文字が「仮想的な文字」達だけでない場合に必須.}