X-Git-Url: http://git.osdn.jp/view?a=blobdiff_plain;f=doc%2Fmanual.dtx;h=8247a873303dccc95e9adef1a0a07438c2673725;hb=b492cbaeb89e6baa78c93c07e0d30431e3cf075b;hp=654c33e5276d39dc15d9e1f48cf704a1c8c8fc52;hpb=6abeb05c5b8703d1871f6d4e861b3505ed8100cf;p=luatex-ja%2Fluatexja.git
diff --git a/doc/manual.dtx b/doc/manual.dtx
index 654c33e..8247a87 100644
--- a/doc/manual.dtx
+++ b/doc/manual.dtx
@@ -1,16 +1,23 @@
%#! lualatex -shell-escape manual.ins
-%\documentclass[a4paper,titlepage]{article}
-%\documentclass[a4paper,titlepage]{ltjsarticle}
-\usepackage[margin=20mm,footskip=5mm]{geometry}
+%<*en>
+\documentclass[a4paper,titlepage]{article}
+\usepackage[margin=25mm,footskip=5mm]{geometry}
+%
+%<*ja>
+\documentclass[a4paper,titlepage]{ltjsarticle}
+\usepackage[margin=25mm, footskip=5mm]{geometry}
+\advance\leftmargini-1\zw\advance\leftmarginii-1\zw
+%
-\usepackage{amsmath,amssymb,xcolor,pict2e,multienum,amsthm,float}
+\usepackage{amsmath,amssymb,xcolor,pict2e,multienum,amsthm,float,makecell}
\usepackage{booktabs,listings,showexpl,multicol}
\usepackage{luatexja-otf}
\usepackage{luatexja-fontspec}
\usepackage[unicode]{hyperref}
\usepackage[all]{xy}
\SelectTips{cm}{}
+\def\labelenumii{(\arabic{enumii})}
\DeclareRobustCommand\eTeX{\ensuremath{\varepsilon}-\kern-.125em\TeX}
\DeclareRobustCommand\LuaTeX{Lua\TeX}
@@ -22,6 +29,7 @@
\DeclareRobustCommand\epTeX{\ensuremath{\varepsilon}-\kern-.125em\pTeX}
\ltjsetparameter{jacharrange={-3}}
+\ltjdefcharrange{6}{`â ,`â¦,`â,`â,`â,`â}
\theoremstyle{definition}
%\newtheorem{defn}{Definition}
%\newtheorem{defn}{å®ç¾©}
@@ -44,8 +52,13 @@
\hb@xt@\hsize{\hfil\box\@tempboxa\hfil}%
\fi
\vskip\belowcaptionskip}
+% Suppress output from showexpl to stdout.
+\let\SX@Info\relax
\makeatother
+\def\Node#1#2{\,\vcenter{\hbox{\fboxsep=1pt\fbox{\vbox{\small\halign{\hfil##\hfil\cr
+ #1\mathstrut\cr\noalign{\hrule height.4pt}\strut#2\cr}}}}\,}}
+
%<*en>
\title{The \LuaTeX-ja package}
\author{The \LuaTeX-ja project team}
@@ -184,7 +197,7 @@ The followings are major changes from \pTeX:
`variation'.
%
%<*ja>
-\item åæãã©ã³ãã¯ãå®éã®ããã©ã³ãï¼åæãã©ã³ãã¡ããªãã¯ï¼JFM ã¨å¼ã¶ï¼ï¼ã
+\item åæãã©ã³ãã¯ï¼å°å¡ææï¼IPAææãªã©ã®ï¼å®éã®ãã©ã³ãï¼åæãã©ã³ãã¡ããªãã¯ï¼JFM ã¨å¼ã¶ï¼ï¼ã
ã㦠`variation' ã¨å¼ã°ããæååã®çµã§ããï¼
%
@@ -276,7 +289,7 @@ The followings are major changes from \pTeX:
\item ç¾æç¹ã§ã¯ï¼ç¸¦æ¸ã㯠\LuaTeX-ja ã§ã¯ãµãã¼ãããã¦ããªãï¼
%
-\end{itemize}
+\end{itemize}
%<*en>
For detailed information, see Part~\ref{part-imp}.
@@ -297,7 +310,7 @@ In this document, the following terms and notations are used:
\begin{itemize}
%<*en>
-\item Characters are divided into two types:
+\item Characters are divided into two types:
%
%<*ja>
\item æåã¯2種é¡ã«åããããï¼
@@ -314,7 +327,7 @@ In this document, the following terms and notations are used:
%
%<*en>
-\item \textbf{ALchar}: standing for all other characters like alphabets.
+\item \textbf{ALchar}: standing for all other characters like alphabets.
%
%<*ja>
\item \textbf{ALchar}: ã¢ã«ãã¡ããããå§ãã¨ããï¼ãã®ä»å
¨ã¦ã®æåãæãï¼
@@ -397,8 +410,8 @@ This project is hosted by SourceForge.JP.
æ¬ããã¸ã§ã¯ã㯠SourceForge.JP ã®ãµã¼ãã¹ãç¨ãã¦éå¶ããã¦ããï¼
%
-%\paragraph{Members}\
-%\paragraph{éçºã¡ã³ãã¼}\
+%\paragraph{Members}\
+%\paragraph{éçºã¡ã³ãã¼}\
%<*en>
\begin{multienumerate}
\def\labelenumi{$\bullet$}
@@ -465,9 +478,8 @@ The installation methods are as follows:
%<*ja>
\item ã½ã¼ã¹ã¢ã¼ã«ã¤ãããã¦ã³ãã¼ãããï¼
- ç¾æç¹ã§ã¯ï¼\LuaTeX-ja ã®å
¬å¼ãªãªã¼ã¹ã¯ãªãã®ã§ï¼ã¬ãã¸ããªããã¢ã¼ã«ã¤ãã
- åå¾ããªããã°ãªããªãï¼
- 次ã®ããã«ãããã¨ã§ï¼Git ã¬ãã¸ããªãåå¾ãããã¨ãã§ããï¼
+ ç¾æç¹ã§ã¯ï¼\LuaTeX-ja ã®å
¬å¼ãªãªã¼ã¹ã¯ã¾ã ãªãï¼ãã®ããï¼Git ã¬ãã¸ããªã
+ 次ã®ããã«ãããã¨ã§åå¾ããå¿
è¦ãããï¼
%
\begin{verbatim}
$ git clone git://git.sourceforge.jp/gitroot/luatex-ja/luatexja.git
@@ -476,7 +488,7 @@ $ git clone git://git.sourceforge.jp/gitroot/luatex-ja/luatexja.git
or download the archive of HEAD in \texttt{master} branch from
%
%<*ja>
- ãããã¯ï¼\texttt{master} ãã©ã³ãã® HEAD ã¢ã¼ã«ã¤ãã以ä¸ãããã¦ã³ãã¼ããããã¨ãã§ããï¼
+ ãããã¯ï¼\texttt{master} ãã©ã³ãã® HEAD ã®ã¢ã¼ã«ã¤ãã以ä¸ãããã¦ã³ãã¼ããã¦ãããï¼
%
\begin{flushleft}
\url{http://git.sourceforge.jp/view?p=luatex-ja/luatexja.git;a=snapshot;h=HEAD;sf=tgz}.
@@ -486,14 +498,17 @@ $ git clone git://git.sourceforge.jp/gitroot/luatex-ja/luatexja.git
Note that the forefront of development may not be in \texttt{master} branch.
%
%<*ja>
-éçºä¸ã®ææ°ã®ææ㯠\texttt{master} ãã©ã³ãã«ã¯å«ã¾ãã¦ããªããããããªããã¨ã«æ³¨æï¼
+\texttt{master} ãã©ã³ãã¯ãã¾ã«ããæ´æ°ãããªãï¼
+ææ°ã®éçºä¸ã®ã³ã¼ã㯠\texttt{master} ãã©ã³ãã«ã¯å«ã¾ãã¦ããªãå ´åãããªãå¤ãã®ã§æ³¨æï¼
%
%<*en>
\item Extract the archive. You will see \texttt{src/} and several other sub-directories.
%
%<*ja>
-\item ã¢ã¼ã«ã¤ããå±éããï¼\texttt{src/} ãã¯ããã¨ããããã¤ãã®ãã£ã¬ã¯ããªãã§ããï¼
+\item å¾è
ã®æ¹æ³ã§ã¢ã¼ã«ã¤ãåå¾ãããªãã°ï¼ããããå±éããï¼
+ \texttt{src/} ãã¯ããã¨ããããã¤ãã®ãã£ã¬ã¯ããªãã§ãããï¼
+ åä½ã«ã¯ \texttt{src/} 以ä¸ã®å
容ã ãã§ååï¼
%
%<*en>
@@ -501,13 +516,15 @@ Note that the forefront of development may not be in \texttt{master} branch.
%
%<*ja>
\item \texttt{src/} ã®ä¸èº«å
¨ã¦ãèªåã® \texttt{TEXMF} ããªã¼ã«ã³ãã¼ããï¼
+ ã·ã³ããªãã¯ãªã³ã¯ãå©ç¨ã§ããç°å¢ã§ï¼ãã¤ã¬ãã¸ããªãç´æ¥åå¾ããã®ã§ããã°ï¼ã³ãã¼ã§ã¯ãªã
+ ãªã³ã¯ãè²¼ãã®ãé©åã ããï¼
%
%<*en>
\item If \texttt{mktexlsr} is needed to update the file name database, make it so.
%
%<*ja>
-\item ãã \texttt{mktexlsr} ãå®è¡ããå¿
è¦ãããã°ããããï¼
+\item å¿
è¦ãããã°ï¼\texttt{mktexlsr} ãå®è¡ããï¼
%
\end{enumerate}
@@ -520,12 +537,12 @@ Note that the forefront of development may not be in \texttt{master} branch.
encodings, such as EUC-JP or Shift-JIS, are not supported.
%
%<*ja>
-\item å稿ã®ã½ã¼ã¹ãã¡ã¤ã«ã®æåã³ã¼ã㯠UTF-8 ã§ãªããã°ãªããªãï¼
- EUC-JP ã Shift-JIS ã¯ä½¿ç¨ã§ããªãï¼
+\item å稿ã®ã½ã¼ã¹ãã¡ã¤ã«ã®æåã³ã¼ã㯠UTF-8 åºå®ã§ããï¼
+ å¾æ¥æ¥æ¬èªã®æåã³ã¼ãã¨ãã¦ç¨ãããã¦ãã EUC-JP ã Shift-JIS ã¯ä½¿ç¨ã§ãã¾ããï¼
%
%<*en>
-\item May be conflict with other packages.
+\item May be conflict with other packages.
For example, the default setting of \textbf{JAchar} in the present
version does not coexist with the \Pkg{unicode-math}
@@ -587,8 +604,8 @@ This does minimal settings (like \texttt{ptex.tex}) for typesetting Japanese doc
\begin{tabular}{ccccc}
\toprule
\textbf{åä½}&\textbf{ãã©ã³ãå}&\bf `10\,pt'&\bf`7\,pt'&\bf`5\,pt'\\\midrule
-\emph{ææä½}&Ryumin-Light &\verb+\tenmin+&\verb+\sevenmin+&\verb+\fivemin+\\
-\emph{ã´ã·ãã¯ä½}&GothicBBB-Medium&\verb+\tengt+ &\verb+\sevengt+ &\verb+\fivegt+\\
+ææä½&Ryumin-Light &\verb+\tenmin+&\verb+\sevenmin+&\verb+\fivemin+\\
+ã´ã·ãã¯ä½&GothicBBB-Medium&\verb+\tengt+ &\verb+\sevengt+ &\verb+\fivegt+\\
\bottomrule
\end{tabular}
\end{center}
@@ -615,7 +632,7 @@ This does minimal settings (like \texttt{ptex.tex}) for typesetting Japanese doc
\item `Ryumin-Light' 㨠`GothicBBB-Medium' 㯠PDF ãã¡ã¤ã«ã«åãè¾¼ã¾ãã«
åååç
§ã®ã¿ã§ç¨ãããã¨ãåºãåãå
¥ãããã¦ããï¼ãã®å ´å PDF ãªã¼ãã¼ã
é©åãªå¤é¨ãã©ã³ãã§ä»£ç¨ããï¼ä¾ãã°ï¼Adobe Reader ã§ã¯ Ryumin-Light ã¯
- å°å¡ææã§ä»£æ¿ãããï¼ï¼ããã§ï¼ããããããã©ã«ãã®ãã©ã³ãã¨
+ å°å¡ææã§ä»£æ¿ãããï¼ï¼ããã§ï¼ããããå¼ãç¶ãããã©ã«ãã®ãã©ã³ãã¨
ãã¦æ¡ç¨ããï¼
%
@@ -627,8 +644,9 @@ This does minimal settings (like \texttt{ptex.tex}) for typesetting Japanese doc
%
%<*ja>
\item 欧æãã©ã³ãã®æåã¯åæãã©ã³ãã®æåãããï¼åãæåãµã¤ãºã§ã
- ä¸è¬ã«å°ããï¼ããã§ï¼ãããã®åæãã©ã³ãã®å®éã®ãµã¤ãºã¯æå®ãããå¤ããã
+ ä¸è¬ã«å°ãããã¶ã¤ã³ããã¦ããï¼ããã§ï¼æ¨æºã§ã¯ãããã®åæãã©ã³ãã®å®éã®ãµã¤ãºã¯æå®ãããå¤ããã
å°ãããªãããã«è¨å®ããã¦ããï¼å
·ä½çã«ã¯æå®ã® 0.962216 åã«ã¹ã±ã¼ã«ãããï¼
+ ãã® 0.962216 ã¨ããæ°å¤ãï¼p\TeX ã«ãããã¹ã±ã¼ãªã³ã°ãè¸è¥²ããå¤ã§ããï¼
%
\end{itemize}
@@ -641,7 +659,7 @@ This does minimal settings (like \texttt{ptex.tex}) for typesetting Japanese doc
éã¯æ¬¡ã®ããã«è¨å®ããã¦ããï¼
%
\[
- (0.25\cdot 0.962216\cdot 10\,\mathrm{pt})^{+1\,\text{pt}}_{-1\,\text{pt}}
+ (0.25\cdot 0.962216\cdot 10\,\mathrm{pt})^{+1\,\text{pt}}_{-1\,\text{pt}}
= 2.40554\,\mathrm{pt}^{+1\,\text{pt}}_{-1\,\text{pt}}.
\]
\end{itemize}
@@ -684,7 +702,7 @@ When vertical typesetting is supported by \LuaTeX-ja in the future, \texttt{JT3}
%
%<*en>
-\item Two font families \texttt{mc} and \texttt{gt} are defined:
+\item Two font families \texttt{mc} and \texttt{gt} are defined:
\begin{center}
\begin{tabular}{ccccc}
\toprule
@@ -695,7 +713,7 @@ When vertical typesetting is supported by \LuaTeX-ja in the future, \texttt{JT3}
\end{tabular}
\end{center}
Remark that the bold series in both family are same as the medium series of \emph{gothic} family.
-This is a convention in \pLaTeX. This is a trace that there were only 2~fonts (these are Ryumin-Light
+This is a convention in \pLaTeX. This is a trace that there were only 2~fonts (these are Ryumin-Light
and GothicBBB-Medium) in early years of DTP.
%
%<*ja>
@@ -710,7 +728,7 @@ and GothicBBB-Medium) in early years of DTP.
\end{tabular}
\end{center}
ã©ã¡ãã®ãã¡ããªã«ããã¦ãï¼ãã® bold ã·ãªã¼ãºã¯ã´ã·ãã¯ä½ã® medium ã·ãªã¼ãºã§
-ãããã¨ã«æ³¨æï¼ããã¯åæã® DTP ã«ããã¦åæãã©ã³ãã2ã¤ï¼ãããã¡ããã©\
+ãããã¨ã«æ³¨æï¼ããã¯åæã® DTP ã«ããã¦åæãã©ã³ãã2ã¤ï¼ãããã¡ããã©\
Ryumin-Light, GothicBBB-Medium ã ã£ãï¼ããå©ç¨ã§ããªãã£ãæã®åæ®ã§ããï¼\pLaTeX{}
ã§ã®æ¨æºè¨å®ã¨ãåãã§ããï¼
%
@@ -777,18 +795,18 @@ sources like the following:
%
%<*ja>
\paragraph{æè¦ï¼æ°å¼ã¢ã¼ãä¸ã®åææå}
-\pTeX ã§ã¯æ°å¼ä¸ã§ã®åææåã®ä½¿ç¨ããµãã¼ãããã¦ããã®ã§ï¼
-以ä¸ã®ãããªã½ã¼ã¹ãåå¨ããï¼
+\pTeX ã§ã¯ï¼ç¹ã«ä½ãããªãã§ãæ°å¼ä¸ã«åææåãè¨è¿°ãããã¨ãã§ããï¼ãã®ããï¼
+以ä¸ã®ãããªã½ã¼ã¹ãè¦ãããï¼
%
\begin{LTXexample}
$f_{é«æ¸©}$~($f_{\text{high temperature}}$).
-\[ y=(x-1)^2+2\quad{}ãã£ã¦\quad y>0 \]
-$5\in{}ç´ :=\{\,p\in\mathbb N:\text{$p$ is a prime}\,\}$.
+\[ y=(x-1)^2+2\quad ãã£ã¦\quad y>0 \]
+$5\in ç´ :=\{\,p\in\mathbb N:\text{$p$ is a prime}\,\}$.
\end{LTXexample}
%<*en>
We (the project members of \LuaTeX-ja) think that using
Japanese characters in math mode are allowed if and only if these are used as identifiers.
-In this point of view,
+In this point of view,
%
%<*ja>
\LuaTeX-ja ããã¸ã§ã¯ãã§ã¯ï¼æ°å¼ã¢ã¼ãä¸ã§ã®åææåã¯ããããèå¥åã¨ãã¦ç¨ãããã
@@ -798,7 +816,7 @@ In this point of view,
\begin{itemize}
%<*en>
\item The lines 1~and~2 above are not correct, since `é«æ¸©' in above is used as a textual label, and
-`ãã£ã¦' is used as a conjunction.
+`ãã£ã¦' is used as a conjunction.
%
%<*ja>
\item ä¸è¨æ°å¼ã®ãã¡ 1, 2 è¡ç®ã¯æ£ãããªãï¼ãªããªãã° `é«æ¸©' ãæå³ã®ããã©ãã«ã¨
@@ -821,9 +839,9 @@ Hence, in our opinion, the above input should be corrected as:
\begin{LTXexample}
$f_{\text{é«æ¸©}}$~%
($f_{\text{high temperature}}$).
-\[ y=(x-1)^2+2\quad
+\[ y=(x-1)^2+2\quad
\mathrel{\text{ãã£ã¦}}\quad y>0 \]
-$5\in{}ç´ :=\{\,p\in\mathbb N:\text{$p$ is a prime}\,\}$.
+$5\in ç´ :=\{\,p\in\mathbb N:\text{$p$ is a prime}\,\}$.
\end{LTXexample}
%BUG?: \{\}ããªããã°ãç´ ããã§ãªãï¼ä¸ã®æ®µè½ã®ããã£ã¦ããã§ã¦ãªãï¼
%<*en>
@@ -833,7 +851,7 @@ this chapter. For the method, please see Part~\ref{part-ref}.
%
%<*ja>
ã¾ã \LuaTeX-ja ããã¸ã§ã¯ãã§ã¯ï¼åææåãèå¥åã¨ãã¦ç¨ãããããã¨ã¯ã»ã¨ãã©ãªã
-ã¨èãã¦ããï¼ãããã£ã¦ãã®ç« ã§ã¯æ°å¼ã¢ã¼ãä¸ã®åæãã©ã³ããå¤æ´ããæ¹æ³ã«ã¤ãã¦ã¯
+ã¨èãã¦ããï¼ãããã£ã¦ãã®ç¯ã§ã¯æ°å¼ã¢ã¼ãä¸ã®åæãã©ã³ããå¤æ´ããæ¹æ³ã«ã¤ãã¦ã¯
è¨è¿°ããªãï¼ãã®æ¹æ³ã«ã¤ãã¦ã¯ç¬¬ \ref{part-ref} é¨ãåç
§ã®ãã¨ï¼
%
@@ -850,13 +868,12 @@ plain \TeX ã§åæãã©ã³ããå¤æ´ããããã«ã¯ï¼\verb+\jfont+ ã
%<*en>
\paragraph{NFSS2}
-For \LaTeXe, \LuaTeX-ja simply adopted the font selection system from that
-of \pLaTeXe\ (in \texttt{plfonts.dtx}).
+For \LaTeXe, \LuaTeX-ja adopted most of the font selection system of \pLaTeXe\ (in \texttt{plfonts.dtx}).
%
%<*ja>
\paragraph{NFSS2}
-\LaTeXe ã«ã¤ãã¦ã¯ï¼\LuaTeX-ja ã§ã¯åã«ãã©ã³ãé¸æã·ã¹ãã ã \pLaTeXe\ (\texttt{plfonts.dtx})
-ããæ¡ç¨ãã¦ããï¼
+\LaTeXe ã«ã¤ãã¦ã¯ï¼\LuaTeX-ja ã§ã¯ãã©ã³ãé¸æã·ã¹ãã ã \pLaTeXe\ (\texttt{plfonts.dtx})
+ã®å¤§é¨åãæ¡ç¨ãã¦ããï¼
%
\begin{itemize}
%<*en>
@@ -873,10 +890,10 @@ of \pLaTeXe\ (in \texttt{plfonts.dtx}).
%<*en>
\item Commands \verb+\fontfamily+, \verb+\fontseries+,
\verb+\fontshape+ and \verb+\selectfont+ can be used to change
- attributes of Japanese fonts.
+ attributes of Japanese fonts.
%
%<*ja>
-\item \verb+\fontfamily+, \verb+\fontseries+, \verb+\fontshape+, ããã¦
+\item \verb+\fontfamily+, \verb+\fontseries+, \verb+\fontshape+, ããã¦
\verb+\selectfont+ ãåæãã©ã³ãã®å±æ§ãå¤æ´ããããã«ä½¿ç¨ã§ããï¼
%
@@ -917,20 +934,21 @@ auto select&\verb+\fontencoding+&\verb+\fontfamily+&---&---&\verb+\usefont+\\
%<*en>
\verb+\fontencoding{}+ changes the encoding of alphabetic fonts
- or Japanese fonts depending on the argument. For example,
- \verb+\fontencoding{JY3}+ changes the encoding of Japanese fonts to
- \texttt{JY3} and \verb+\fontencoding{T1}+ changes the encoding of
+ or Japanese fonts depending on the argument. For example,
+ \verb+\fontencoding{JY3}+ changes the encoding of Japanese fonts to
+ \texttt{JY3} and \verb+\fontencoding{T1}+ changes the encoding of
alphabetic fonts to \texttt{T1}.
\verb+\fontfamily+ also changes the family of Japanese fonts, alphabetic
fonts, \emph{or both}. For detail, see Subsection~\ref{ssub-nfsspat}.
%
%<*ja>
- ããã§ï¼\verb+\fontencoding{}+ã¯ï¼å¼æ°ã«ããåæå´ã欧æå´ãã®
- ã©ã¡ãããåãæ¿ããï¼ä¾ãã°ï¼\verb+\fontencoding{JY3}+ã¯åæãã©ã³ãã®
- ã¨ã³ã³ã¼ãã£ã³ã°ã\texttt{JY3}ã«å¤æ´ãï¼\verb+\fontencoding{T1}+ ã¯æ¬§æ
- ãã©ã³ãå´ã\texttt{T1}ã¸ã¨å¤æ´ããï¼
- \verb+\fontfamily+ãå¼æ°ã«ããåæå´ï¼æ¬§æå´ï¼\textbf{ãããã¯ä¸¡æ¹}ã®ãã©
- ã³ããã¡ããªãåãæ¿ããï¼è©³ç´°ã¯\ref{ssub-nfsspat}ç¯ãåç
§ãããã¨ï¼
+ ããã§ï¼\verb+\fontencoding{}+ã¯ï¼å¼æ°ã«ããåæå´ã欧æ
+ å´ãã®ã©ã¡ããã®ã¨ã³ã³ã¼ãã£ã³ã°ãå¤æ´ããï¼ä¾ãã°ï¼
+ \verb+\fontencoding{JY3}+ã¯åæãã©ã³ãã®ã¨ã³ã³ã¼ãã£ã³ã°ã
+ \texttt{JY3}ã«å¤æ´ãï¼\verb+\fontencoding{T1}+ ã¯æ¬§æãã©ã³ãå´ã
+ \texttt{T1}ã¸ã¨å¤æ´ããï¼\verb+\fontfamily+ãå¼æ°ã«ããåæå´ï¼æ¬§æ
+ å´ï¼\textbf{ãããã¯ä¸¡æ¹}ã®ãã©ã³ããã¡ããªãå¤æ´ããï¼è©³ç´°ã¯
+ \ref{ssub-nfsspat}ç¯ãåç
§ãããã¨ï¼
%
%<*en>
@@ -941,13 +959,13 @@ auto select&\verb+\fontencoding+&\verb+\fontfamily+&---&---&\verb+\usefont+\\
%
%<*ja>
\item åæãã©ã³ããã¡ããªã®å®ç¾©ã«ã¯ \verb+\DeclareFontFamily+ ã®ä»£ããã«
- \verb+\DeclareKanjiFamily+ ãç¨ããï¼ãããï¼ç¾å¨ã®å®è£
ã§ã¯
+ \verb+\DeclareKanjiFamily+ ãç¨ããï¼ãããï¼ç¾å¨ã®å®è£
ã§ã¯
\verb+\DeclareFontFamily+ ãç¨ãã¦ãåé¡ã¯çããªãï¼
%
\end{itemize}
+\subsection{fontspec}
%<*en>
-\paragraph{fontspec}
To coexist with the \Pkg{fontspec} package, it is needed to load
\Pkg{luatexja-fontspec} package in the preamble. This additional
package automatically loads \Pkg{luatexja} and \Pkg{fontspec}
@@ -964,7 +982,7 @@ In \Pkg{luatexja-fontspec} package, the following 7~commands are defined as
counterparts of original commands in the \Pkg{fontspec} package:
%
%<*ja>
-\Pkg{luatexja-fontspec} ããã±ã¼ã¸ã§ã¯ï¼ä»¥ä¸ã®7ã¤ã®ã³ãã³ãã \Pkg{fontspec}
+\Pkg{luatexja-fontspec} ããã±ã¼ã¸ã§ã¯ï¼ä»¥ä¸ã®7ã¤ã®ã³ãã³ãã \Pkg{fontspec}
ããã±ã¼ã¸ã®å
ã®ã³ãã³ãã«å¯¾å¿ãããã®ã¨ãã¦å®ç¾©ãã¦ããï¼
%
%<*en>
@@ -1022,9 +1040,43 @@ these 7~commands, since this feature and \textbf{JAglue} will clash (see
åæãã©ã³ãã«ã¤ãã¦ã¯å
¨ã¦ã®åææåã®ã°ãªããã»ã¼çå¹
ã§ããã®ãæ®éã§ããããï¼
\verb+\setmonojfont+ ã³ãã³ãã¯åå¨ããªããã¨ã«æ³¨æï¼ã¾ãï¼ãããã®åæç¨ã®7ã¤ã®ã³ã
ã³ãã§ã¯ Kerning feature ã¯ããã©ã«ãã§ã¯ off ã¨ãªã£ã¦ããï¼ããã¯ãã®
-feature ã \textbf{JAglue} ã¨è¡çªããããã§ããï¼\ref{para-kern} ç¯ãè¦ãï¼ï¼
+feature ã \textbf{JAglue} ã¨è¡çªããããã§ããï¼\ref{para-kern} ç¯ãåç
§ï¼ï¼
%
+%<*en>
+\paragraph{Caution}
+\Pkg{xunicode} package will be reloaded during the loading of \Pkg{luatexja-fontspec} package.
+However, this reloading won't work for the current version (2011/09/09,~v0.981) of
+\Pkg{xunicode} package. Hence we have to patch it, using the following patch, for example:
+%
+%<*ja>
+\paragraph{注æ}
+\Pkg{luatexja-fontspec}ããã±ã¼ã¸ã§ã¯ï¼å
é¨ã§ \Pkg{xunicode} ããã±ã¼ã¸ã®åèªã¿è¾¼ã¿ã
+è¡ã£ã¦ãããï¼ \textbf{\TeX\ Live\ 2011 ä»ã«å«ã¾ãã¦ãã \Pkg{xunicode} ããã±ã¼ã¸
+(2011/09/09,~v0.981) ã§ã¯ãã®åèªã¿è¾¼ã¿ããã¾ãåä½ãã}ï¼ä¾ãã°
+以ä¸ã®ãããªããããå½ã¦ãå¿
è¦ãããï¼
+%
+\begin{lstlisting}
+--- xunicode.sty.orig 2011-09-12 08:31:47.000000000 +0900
++++ xunicode.sty 2011-11-16 22:06:17.061413113 +0900
+@@ -1475,7 +1475,11 @@
+
+ \newtoks\tipasavetokens
+ \newtoks\tipachecktokens
++
++\fi
+ \newif\iftipaonetoken
++\expandafter\ifx\csname ReloadXunicode\endcsname\relax
++
+ \def\tipalasttoken{!@! do nothing with this !@!}
+ \def\tipacatchonechar#1{\begingroup
+ \def\textipa##1{##1}% prevent recursion
+\end{lstlisting}
+%<*ja>
+ãªãï¼ä¸æµã§ v0.984 (2011/10/14) ã§ãã®åé¡ã¯ä¿®æ£ããã¦ããããã§ãï¼
+%
+
+
%\section{Changing Parameters}
%\section{ãã©ã¡ã¼ã¿ã®å¤æ´}
@@ -1039,7 +1091,7 @@ parameters, you have to use commands \verb+\ltjsetparameter+ and
\LuaTeX-ja ã«ã¯å¤ãã®ãã©ã¡ã¼ã¿ãåå¨ããï¼ãã㦠\LuaTeX ã®æ¯ãèãã®ããã«ï¼
ãã®å¤ã㯠\TeX ã®ã¬ã¸ã¹ã¿ã«ã§ã¯ãªãï¼\LuaTeX-ja ç¬èªã®æ¹æ³ã§ä¿æããã¦ããï¼
ãã®ããï¼ãããã®ãã©ã¡ã¼ã¿ãè¨å®ã»åå¾ããããã«ã¯ \verb+\ltjsetparameter+ ã¨
-\verb+\ltjgetparameter+ ãç¨ããªããã°ãªããªãï¼
+\verb+\ltjgetparameter+ ãç¨ããå¿
è¦ãããï¼
%
%\subsection{Editing the range of \textbf{JAchar}s}
@@ -1053,20 +1105,20 @@ next line assigns whole characters in Supplementary Multilingual Plane
and the character `æ¼¢' to the range number~100.
%
%<*ja>
-\textbf{JAchar} ã®ç¯å²ãè¨å®ããããã«ã¯ï¼ã¾ãæåç¯å²ã«0ãã大ãã217ããå°ãã
-èªç¶æ°ãå²ãå½ã¦ãå¿
è¦ãããï¼ããã«ã¯ \verb+\ltjdefcharrange+ ããªããã£ããç¨ããï¼
-ä¾ãã°ï¼æ¬¡ã®ããã«æ¸ããã¨ã§è¿½å å¤è¨èªé¢ (SMP) ã«ããå
¨ã¦ã®æå㨠`æ¼¢' ã®ç¯å²çªå·ã
-100ã«è¨å®ãããï¼
+\textbf{JAchar} ã®ç¯å²ãè¨å®ããããã«ã¯ï¼ã¾ãåæåã«0ãã大ãã217ããå°ãã index ã
+å²ãå½ã¦ãå¿
è¦ãããï¼ããã«ã¯ \verb+\ltjdefcharrange+ ããªããã£ããç¨ããï¼
+ä¾ãã°ï¼æ¬¡ã®ããã«æ¸ããã¨ã§è¿½å å¤è¨èªé¢ (SMP) ã«ããå
¨ã¦ã®æå㨠`æ¼¢' ã
+ã100çªã®æåç¯å²ãã«å±ããè¨å®ãããï¼
%
\begin{lstlisting}
\ltjdefcharrange{100}{"10000-"1FFFF,`æ¼¢}
\end{lstlisting}
%<*en>
This assignment of numbers to ranges are always global, so you should
-not do this in the middle of a document.
+not do this in the middle of a document.
%
%<*ja>
-ãã®æåç¯å²ã¸ã®çªå·ã®å²ãå½ã¦ã¯ãã¤ãã°ãã¼ãã«ã§ããï¼ãããã£ã¦ææ¸ã®éä¸ã§
+ãã®æåç¯å²ã®å²ãå½ã¦ã¯ãã¤ãã°ãã¼ãã«ã§ããï¼ãããã£ã¦ææ¸ã®éä¸ã§
ãã®æä½ãããã¹ãã§ã¯ãªãï¼
%
@@ -1098,8 +1150,8 @@ setting of \LuaTeX-ja):
\ltjsetparameter{jacharrange={-1, +2, +3, -4, -5, +6, +7, +8}}
\end{verbatim}
%<*en>
-The argument to \textsf{jacharrange} parameter is a list of integer.
-Negative integer $-n$ in the list means that `the characters that belong to
+The argument to \textsf{jacharrange} parameter is a list of integer.
+Negative integer $-n$ in the list means that `the characters that belong to
range~$n$ are treated as \textbf{ALchar}', and positive integer $+n$ means
that `the characters that belong to range~$n$ are treated as \textbf{JAchar}'.
%
@@ -1144,7 +1196,7 @@ determined from the following data:
%<*en>
Now we describe these eight ranges. The alphabet `J' or `A' after the
number shows whether characters in the range is treated as
-\textbf{JAchar}s or not by default. These settings are similar to the
+\textbf{JAchar}s or not by default. These settings are similar to the
\texttt{prefercjk} settings defined in \texttt{PXbase} bundle.
%
%<*ja>
@@ -1159,7 +1211,7 @@ number shows whether characters in the range is treated as
consists of the following characters:
%
%<*ja>
-\item{ç¯å² 8${}^{\text{J}}$} ISO~8869~1 ã®ä¸ååï¼ã©ãã³1è£å©ï¼ã¨
+\item[ç¯å² 8${}^{\text{J}}$] ISO~8859-1 ã®ä¸ä½é åï¼ã©ãã³1è£å©ï¼ã¨
JIS~X~0208 ã®å
±éé¨åã«ããè¨å·ï¼ãã®æåç¯å²ã¯
以ä¸ã®æåã§æ§æãããï¼
%
@@ -1194,7 +1246,7 @@ number shows whether characters in the range is treated as
This range consist of the following Unicode ranges, \emph{except characters in the range~8 above}:
%
%<*ja>
-\item{ç¯å² 1${}^{\text{A}}$} ã©ãã³æåï¼ä¸é¨ã¯Adobe-Japan1-6 ã«ãå«ã¾ãã¦ããï¼
+\item[ç¯å² 1${}^{\text{A}}$] ã©ãã³æåï¼ä¸é¨ã¯Adobe-Japan1-6 ã«ãå«ã¾ãã¦ããï¼
ãã®ç¯å²ã¯ä»¥ä¸ã® Unicode ã®ãããã¯ããæ§æããã¦ããï¼
\textbf{ãã ãï¼ç¯å² 8 ã¯é¤ãï¼}
%
@@ -1218,7 +1270,7 @@ This range consist of the following Unicode ranges, \emph{except characters in t
\item \texttt{U+0300}--\texttt{U+036F}: ãã¤ã¢ã¯ãªãã£ã«ã«ãã¼ã¯ï¼åæå¯è½ï¼
\item \texttt{U+1E00}--\texttt{U+1EFF}: ã©ãã³æåæ¡å¼µè¿½å
%
-\par\
+\par\
\end{itemize}
\end{multicols}
%<*en>
@@ -1241,7 +1293,7 @@ This range consist of the following Unicode ranges, \emph{except characters in t
\item \texttt{U+0400}--\texttt{U+04FF}: ããªã«æå
\item \texttt{U+1F00}--\texttt{U+1FFF}: ããªã«æåè£å©
%
-\\\
+\\\
\end{itemize}
\end{multicols}
%<*en>
@@ -1322,8 +1374,8 @@ This range consist of the following Unicode ranges, \emph{except characters in t
%
\begin{lstlisting}
\ltjdefcharrange{4}{%
- "500-"10FF, "1200-"1DFF, "2440-"245F, "27C0-"28FF, "2A00-"2AFF,
- "2C00-"2E7F, "4DC0-"4DFF, "A4D0-"A82F, "A840-"ABFF, "FB50-"FE0F,
+ "500-"10FF, "1200-"1DFF, "2440-"245F, "27C0-"28FF, "2A00-"2AFF,
+ "2C00-"2E7F, "4DC0-"4DFF, "A4D0-"A82F, "A840-"ABFF, "FB50-"FE0F,
"FE20-"FE2F, "FE70-"FEFF, "FB00-"FB4F, "10000-"1FFFF} % non-Japanese
\end{lstlisting}
%<*en>
@@ -1446,59 +1498,124 @@ The block list is indicated in Table~\ref{table-rng7}.
%\subsection{\Param{kanjiskip} and \Param{xkanjiskip}}
%\subsection{\Param{kanjiskip} 㨠\Param{xkanjiskip}}
\label{subs-kskip}
+
+%<*en>
\textbf{JAglue} is divided into the following three categories:
+%
+%<*ja>
+\textbf{JAglue} ã¯ä»¥ä¸ã®3ã¤ã®ã«ãã´ãªã«åé¡ãããï¼
+%
\begin{itemize}
+%<*en>
\item Glues/kerns specified in JFM. If \verb+\inhibitglue+ is issued
around a Japanese character, this glue will be not inserted at the
place.
-\item The default glue which inserted between two \textbf{JAchar}s (\textsf{
+%
+%<*ja>
+\item JFM ã§æå®ãããã°ã«ã¼ï¼ã«ã¼ã³ï¼ãã \verb+\inhibitglue+ ãåææåã®å¨ãã§
+ çºè¡ããã¦ããã°ï¼ãã®ã°ã«ã¼ã¯æ¿å
¥ãããªãï¼
+%
+%<*en>
+\item The default glue which inserted between two \textbf{JAchar}s (\Param{
kanjiskip}).
+%
+%<*ja>
+\item ããã©ã«ãã§2ã¤ã® \textbf{JAchar} ã®éã«æ¿å
¥ãããã°ã«ã¼ï¼\Param{kanjiskip}ï¼ï¼
+%
+%<*en>
\item The default glue which inserted between a \textbf{JAchar} and an
\textbf{ALchar} (\Param{xkanjiskip}).
+%
+%<*ja>
+\item ããã©ã«ã㧠\textbf{JAchar} 㨠\textbf{ALchar} ã®éã«æ¿å
¥ãããã°ã«ã¼ï¼\Param{xkanjiskip}ï¼ï¼
+%
\end{itemize}
+%<*en>
The value (a skip) of \Param{kanjiskip} or \Param{xkanjiskip} can be
changed as the following.
+%
+%<*ja>
+\Param{kanjiskip} ã \Param{xkanjiskip} ã®å¤ã¯ä»¥ä¸ã®ããã«ãã¦å¤æ´å¯è½ã§ãã.
+%
\begin{lstlisting}
-\ltjsetparameter{kanjiskip={0pt plus 0.4pt minus 0.4pt},
+\ltjsetparameter{kanjiskip={0pt plus 0.4pt minus 0.4pt},
xkanjiskip={0.25\zw plus 1pt minus 1pt}}
\end{lstlisting}
-
-It may occur that JFM contains the data of `ideal width of \textsf{kanjiskip}'
+%<*en>
+It may occur that JFM contains the data of `ideal width of \Param{kanjiskip}'
and/or `ideal width of \Param{xkanjiskip}'.
-To use these data from JFM, set the value of \Param{kanjiskip} or
+To use these data from JFM, set the value of \Param{kanjiskip} or
\Param{xkanjiskip} to \verb+\maxdimen+.
+%
+%<*ja>
+JFM ã¯ãæã¾ãã \Param{kanjiskip} ã®å¤ãããæã¾ãã \Param{xkanjiskip} ã®å¤ãã
+æã£ã¦ãããã¨ãããï¼
+ãããã®ãã¼ã¿ã使ãããã«ã¯ï¼\Param{kanjiskip} ã \Param{xkanjiskip} ã®å¤ã
+\verb+\maxdimen+ ã®å¤ã«è¨å®ããã°ããï¼
+%
%\subsection{Insertion Setting of \Param{xkanjiskip}}
%\subsection{\Param{xkanjiskip} ã®è¨å®ã®æ¿å
¥}
-It is not desirable that \Param{xkanjiskip} is inserted between every
+
+%<*en>
+It is not desirable that \Param{xkanjiskip} is inserted into every
boundary between \textbf{JAchar}s and \textbf{ALchar}s. For example,
\Param{xkanjiskip} should not be inserted after opening parenthesis
(\textit{e.g.}, compare `(ã' and `(\hskip\ltjgetparameter{xkanjiskip}ã').
-
\LuaTeX-ja can control whether \Param{xkanjiskip} can be inserted
before/after a character, by changing \Param{jaxspmode} for \textbf{JAchar}s and
-\Param{alxspmode} parameters \textbf{ALchar}s respectively.
+\Param{alxspmode} parameters \textbf{ALchar}s respectively.
+%
+%<*ja>
+\Param{xkanjiskip} ããã¹ã¦ã® \textbf{JAchar} 㨠\textbf{ALchar} ã®å¢çã«
+æ¿å
¥ãããã®ã¯æã¾ãããã¨ã§ã¯ãªãï¼ä¾ãã°ï¼\Param{xkanjiskip} ã¯éãæ¬å¼§ã®
+å¾ã«ã¯æ¿å
¥ãããã¹ãã§ã¯ãªãï¼`(ã' 㨠`(\hskip\ltjgetparameter{xkanjiskip}ã' ã
+æ¯ã¹ã¦ã¿ãï¼ï¼
+\LuaTeX-ja ã§ã¯ \Param{xkanjiskip} ãããæåã®åï¼å¾ã«æ¿å
¥ãããã©ãããï¼
+\textbf{JAchar} ã«å¯¾ãã¦ã¯ \Param{jaxspmode} ãï¼\textbf{ALchar} ã«å¯¾ãã¦ã¯
+\Param{alxspmode} ãããããå¤ãããã¨ã§å¶å¾¡ãããã¨ãã§ããï¼
+%
\begin{LTXexample}
-\ltjsetparameter{jaxspmode={`ã,preonly}, alxspmode={`\!,postonly}}
+\ltjsetparameter{jaxspmode={`ã,preonly}, alxspmode={`\!,postonly}}
pãq ã!ã
\end{LTXexample}
+%<*en>
The second argument \texttt{preonly} means `the insertion of
\Param{xkanjiskip} is allowed before this character, but not after'.
the other possible values are \texttt{postonly}, \texttt{allow} and \texttt{
-inhibit}. For the compatibility with \pTeX, natural numbers between
-0~and~3 are also allowed as the second argument\footnote{But we don't
-recommend this: since numbers 1~and~2 have opposite meanings in
-\Param{jaxspmode} and \Param{alxspmode}.}.
+inhibit}. ...
+%
+%<*ja>
+2ã¤ç®ã®å¼æ°ã® \texttt{preonly} ã¯ã\Param{xkanjiskip} ã®æ¿å
¥ã¯ãã®æåã®
+åã§ã®ã¿è¨±ããï¼å¾ã§ã¯è¨±ããªãããã¨ãæå³ããï¼ä»ã«æå®å¯è½ãªå¤ã¯
+\texttt{postonly}, \texttt{allow}, \texttt{inhibit} ã§ããï¼
+
+ãªãï¼ç¾è¡ã®
+ä»æ§ã§ã¯ï¼\Param{jaxspmode}, \Param{alxspmode} ã¯ãã¼ãã«ãå
±æãã¦ããï¼
+ä¸ã®ã½ã¼ã¹ã®1è¡ç®ã次ã®ããã«å¤ãã¦ãåããã¨ã«ãªãï¼
+\begin{verbatim}
+\ltjsetparameter{alxspmode={`ã,preonly}, jaxspmode={`\!,postonly}}
+\end{verbatim}
+ã¾ãï¼ããã2ãã©ã¡ã¼ã¿ã«ã¯æ°å¤ã§å¤ãæå®ãããã¨ãã§ããï¼ç¬¬\ref{part-ref}é¨ãåç
§ï¼ï¼
+%
+%<*en>
If you want to enable/disable all insertions of \Param{kanjiskip} and
\Param{xkanjiskip}, set \Param{autospacing} and \Param{autoxspacing}
-parameters to \texttt{false}, respectively.
-
+parameters to \texttt{true}/\texttt{false}, respectively.
+%
+%<*ja>
+ããå
¨ã¦ã® \Param{kanjiskip} 㨠\Param{xkanjiskip} ã®æ¿å
¥ãæå¹åï¼ç¡å¹å
+ããããã°ï¼ãããã \Param{autospacing} 㨠\Param{autoxspacing} ã
+\texttt{true}/\texttt{false} ã«è¨å®ããã°ããï¼
+%
%\subsection{Shifting Baseline}
%\subsection{ãã¼ã¹ã©ã¤ã³ã®ç§»å}
+
+%<*en>
To make a match between a Japanese font and an alphabetic font, sometimes
shifting of the baseline of one of the pair is needed. In \pTeX, this is achieved
by setting \verb+\ybaselineshift+ to a non-zero length (the
@@ -1508,22 +1625,44 @@ Japanese fonts, but not that of alphabetic fonts.
Because of this, \LuaTeX-ja can independently set the shifting amount
of the baseline of alphabetic fonts (\Param{yalbaselineshift}
parameter) and that of Japanese fonts (\Param{yjabaselineshift}
-parameter).
+parameter).
+%
+%<*ja>
+åæãã©ã³ãã¨æ¬§æãã©ã³ããåãããããã«ã¯ï¼æã
ã©ã¡ããã®ãã¼ã¹ã©ã¤ã³ã®ç§»åã
+å¿
è¦ã«ãªãï¼\pTeX ã§ã¯ãã㯠\verb+\ybaselineshift+ ãéé¶ã®é·ãã«è¨å®ãããã¨ã§
+ãªããã¦ããï¼æ¬§æãã©ã³ãã®ãã¼ã¹ã©ã¤ã³ãä¸ããï¼ï¼ãããï¼æ¥æ¬èªã主ã§ã¯ãªã
+ææ¸ã«å¯¾ãã¦ã¯ï¼æ¬§æãã©ã³ãã§ã¯ãªãåæãã©ã³ãã®ãã¼ã¹ã©ã¤ã³ã移åããæ¹ãããï¼
+ãã®ããï¼\LuaTeX-ja ã§ã¯æ¬§æãã©ã³ãã®ãã¼ã¹ã©ã¤ã³ã®ã·ããé
+ï¼\Param{yalbaselineshift} ãã©ã¡ã¼ã¿ï¼ã¨åæãã©ã³ãã®ãã¼ã¹ã©ã¤ã³ã®ã·ããé
+ï¼\Param{yjabaselineshift}ãã©ã¡ã¼ã¿ï¼ãç¬ç«ã«è¨å®ã§ããããã«ãªã£ã¦ããï¼
+%
\begin{LTXexample}
\vrule width 150pt height 0.4pt depth 0pt\hskip-120pt
\ltjsetparameter{yjabaselineshift=0pt, yalbaselineshift=0pt}abcããã
\ltjsetparameter{yjabaselineshift=5pt, yalbaselineshift=2pt}abcããã
\end{LTXexample}
+%<*en>
Here the horizontal line in above is the baseline of a line.
+%
+%<*ja>
+ä¸ã®ä¾ã«ããã¦å¼ããã¦ããæ°´å¹³ç·ããã¼ã¹ã©ã¤ã³ã§ããï¼
+%
+%<*en>
There is an interesting side-effect: characters in different size can be
vertically aligned center in a line, by setting two parameters appropriately.
The following is an example (beware the value is not well tuned):
+%
+%<*ja>
+ãã®æ©è½ã«ã¯é¢ç½ã使ãæ¹ãããï¼2ã¤ã®ãã©ã¡ã¼ã¿ãé©åã«è¨å®ãããã¨ã§ï¼ãµã¤ãºã®
+ç°ãªãæåãä¸å¿ç·ã«æãããã¨ãã§ããã®ã ï¼
+以ä¸ã¯ä¸ã¤ã®ä¾ã§ããï¼å¤ã¯ãã¾ã調æ´ããã¦ããªããã¨ã«æ³¨æï¼ï¼
+%
\begin{LTXexample}
-xyzæ¼¢å
+xyzæ¼¢å
{\scriptsize
- \ltjsetparameter{yjabaselineshift=-1pt,
+ \ltjsetparameter{yjabaselineshift=-1pt,
yalbaselineshift=-1pt}
XYZã²ãããª
}abcããª
@@ -1532,17 +1671,34 @@ xyzæ¼¢å
%\subsection{Cropmark}
%\subsection{ãã³ã}
+
+%<*en>
Cropmark is a mark for indicating 4~corners and horizontal/vertical
center of the paper. In Japanese, we call cropmark as tombo(w).
\pLaTeX\ and this \LuaTeX-ja support `tombow' by their kernel.
The following steps are needed to typeset cropmark:
+%
+%<*ja>
+ãã³ãã¯ç¨ç´ã®åã¤è§ã¨æ°´å¹³ï¼åç´æ¹åã®ä¸å¿ã表ãå°ã§ããï¼
+\pLaTeX 㨠\LuaTeX-ja ã§ã¯ãã³ãã®åºåããµãã¼ããã¦ããï¼
+ãã³ããåºåããããã«ã¯ä»¥ä¸ã®æé ãå¿
è¦ã§ããï¼
+%
\begin{enumerate}
+%<*en>
\item First, define the banner which will be printed at the upper left
of the paper. This is done by assigning a token list to
\verb+\@bannertoken+.
-For example, the following sets banner as `\texttt{filename (2012-01-01 17:01)}':
+For example, the following sets banner as `\texttt{filename (YYYY-MM-DD hh:mm)}':
+%
+%<*ja>
+\item ã¾ãï¼ç¨ç´ã®å·¦ä¸ã«å°å·ãããããã¼ãå®ç¾©ããï¼ãã㯠\verb+\@bannertoken+
+ ã«ãã¼ã¯ã³ãªã¹ããä¸ãããã¨ã§ãªãããï¼
+
+ä¾ãã°ï¼ä»¥ä¸ã¯ããã¼ã¨ã㦠`\texttt{filename (YYYY-MM-DD hh:mm)}' ãè¨å®ãã:
+%
+
\begin{verbatim}
\makeatletter
@@ -1561,71 +1717,118 @@ For example, the following sets banner as `\texttt{filename (2012-01-01 17:01)}'
%\part{ãªãã¡ã¬ã³ã¹}
\label{part-ref}
%\section{Font Metric and Japanese Font}
-%\section{ãã©ã³ãã¡ããªãã¯ã¨æ¥æ¬èªãã©ã³ã}
+%\section{ãã©ã³ãã¡ããªãã¯ã¨åæãã©ã³ã}
%\subsection{\texttt{\char92jfont} primitive}
%\subsection{\texttt{\char92jfont} ããªããã£ã}
+
+%<*en>
To load a font as a Japanese font, you must use the
\verb+\jfont+ primitive instead of~\verb+\font+, while
-\verb+\jfont+ admits the same syntax used in~\verb+\font+.
+\verb+\jfont+ admits the same syntax used in~\verb+\font+.
\LuaTeX-ja automatically loads \Pkg{luaotfload} package,
so TrueType/OpenType fonts with features can be used for Japanese fonts:
+%
+%<*ja>
+ãã©ã³ããåæãã©ã³ãã¨ãã¦èªã¿è¾¼ãããã«ã¯ï¼\verb+\jfont+ ããªããã£ãã
+\verb+\font+ ããªããã£ãã®ä»£ããã«ç¨ããï¼
+\verb+\jfont+ ããªããã£ãã®ææ³ã¯ \verb+\font+ ã¨åãã§ããï¼
+\LuaTeX-ja 㯠\Pkg{luaotfload} ããã±ã¼ã¸ãèªåçã«èªã¿è¾¼ãã®ã§ï¼
+TrueType/OpenType ãã©ã³ãã« feature ãæå®ãããã®ãåæãã©ã³ãã¨ãã¦ç¨ãã
+ãã¨ãã§ããï¼
+%
\begin{LTXexample}
\jfont\tradgt={file:ipaexg.ttf:script=latn;%
+trad;-kern;jfm=ujis} at 14pt
\tradgt{}å½ï¼ä½ï¼å»ï¼åº
\end{LTXexample}
+%<*en>
Note that the defined control sequence
(\verb+\tradgt+ in the example above) using \verb+\jfont+ is not a
\textit{font\_def} token, hence the input like \verb+\fontname\tradgt+
causes a error. We denote control sequences which are defined in
\verb+\jfont+ by .
-
-\paragraph{Prefix \texttt{psft}}
-Besides \texttt{file:}\ and \texttt{name:}\ prefixes, \texttt{psft:}\
-can be used a prefix in \verb+\jfont+ (and~\verb+\font+) primitive.
-Using this prefix, you can specify a `name-only' Japanese font which
-will be not embedded to PDF. Typical use of this prefix is to specify
-the `standard' Japanese fonts, namely, `Ryumin-Light' and
-`GothicBBB-Medium'. For kerning or other information, that of Kozuka
-Mincho Pr6N Regular (this is a font by Adobe Inc., and included in
-Japanese Font Packs for Adore Reader) will be used.
-
+%
+%<*ja>
+ãªãï¼\verb+\jfont+ ã§å®ç¾©ãããã³ã³ããã¼ã«ã·ã¼ã±ã³ã¹ï¼ä¸ã®ä¾ã 㨠\verb+\tradgt+ï¼
+㯠\textit{font\_def} ãã¼ã¯ã³ã§ã¯ãªãã®ã§ï¼\verb+\fontname\tradgt+ ã®ãããª
+å
¥åã¯ã¨ã©ã¼ã¨ãªããã¨ã«æ³¨æããï¼ä»¥ä¸ã§ã¯ \verb+\jfont+ ã§å®ç¾©ããã
+ã³ã³ããã¼ã«ã·ã¼ã±ã³ã¹ã ã§è¡¨ãï¼
+%
\paragraph{JFM}
+%<*en>
As noted in Introduction, a JFM has measurements of characters and
glues/kerns that are automatically inserted for Japanese
typesetting. The structure of JFM will be described in the next
subsection. At the calling of \verb+\jfont+ primitive, you must specify
which JFM will be used for this font by the following keys:
+%
+%<*ja>
+ãã¯ããã«ãã®ç¯ã§è¿°ã¹ãããã«ï¼JFM ã¯æåã¨åæçµçã§èªåçã«æ¿å
¥ããã
+ã°ã«ã¼ï¼ã«ã¼ã³ã®å¯¸æ³æ
å ±ãæã£ã¦ããï¼JFM ã®æ§é ã¯æ¬¡ã®å°ç¯ã§è¿°ã¹ãï¼
+\verb+\jfont+ ããªããã£ãã®å¼ã³åºãã®éã«ã¯ï¼ã©ã® JFM ãç¨ããã®ãã以ä¸ã®ãã¼ã§
+æå®ããå¿
è¦ãããï¼
+%
-\begin{list}{}{\def\makelabel{\ttfamily}\def\{{\char`\{}\def\}{\char`\}}}
+\begin{list}{}{\def\makelabel{\ttfamily}\def\{{\char`\{}\def\}{\char`\}}\advance\leftmargin1\zw}
\item[jfm=]
-Specify the name of JFM. A file named \texttt{jfm-.lua} will be searched and/or loaded.
+%<*en>
+Specify the name of JFM. If specified JFM has not been loaded, \LuaTeX-ja search and load
+a file named \texttt{jfm-.lua}.
-The followings are JFMs shipped with \LuaTeX-ja:
+The following JFMs are shipped with \LuaTeX-ja:
+%
+%<*ja>
+JFM ã®ååãæå®ããï¼ãã以åã«æå®ãããJFMãèªã¿è¾¼ã¾ãã¦ããªããã°ï¼
+\texttt{jfm-.lua} ãèªã¿è¾¼ãï¼
+
+以ä¸ã® JFM ã \LuaTeX-ja ã«ã¯å梱ããã¦ããï¼
+%
\begin{description}
+%<*en>
\item[\tt jfm-ujis.lua] A standard JFM in \LuaTeX-ja. This JFM is
- based on \verb+upnmlminr-h.tfm+, a metric for UTF/OTF package that
- is used in \upTeX. When you use the \Pkg{luatexja-otf} package, please use this JFM.
+ based on \verb+upnmlminr-h.tfm+, a metric for UTF/OTF package that
+ is used in \upTeX. When you use the \Pkg{luatexja-otf} package, you should use this JFM.
+%
+%<*ja>
+\item[\tt jfm-ujis.lua] \LuaTeX-ja ã®æ¨æº JFM ã§ããï¼ãã® JFM 㯠\upTeX ã§
+ ç¨ãããã UTF/OTF ããã±ã¼ã¸ç¨ã®ã¡ããªãã¯ã§ãã \verb+upnmlminr-h.tfm+ ã
+ å
ã«ãã¦ããï¼\Pkg{luatexja-otf} ããã±ã¼ã¸ã使ãã¨ãã¯ãã® JFM ãæå®ããã¹ãã§ããï¼
+%
+%<*en>
\item[\tt jfm-jis.lua] A counterpart for \verb+jis.tfm+, `JIS font
- metric' which is widely used in \pTeX. A major difference of
- \texttt{jfm-ujis.lua} and this \texttt{jfm-jis.lua} is that
- most characters under \texttt{jfm-ujis.lua} are square-shaped,
- while that under \texttt{jfm-jis.lua} are horizontal
- rectangles.
-
+ metric' which is widely used in \pTeX. A major difference of
+ \texttt{jfm-ujis.lua} and this \texttt{jfm-jis.lua} is that
+ most characters under \texttt{jfm-ujis.lua} are square-shaped,
+ while that under \texttt{jfm-jis.lua} are horizontal
+ rectangles.
+%
+%<*ja>
+\item[\tt jfm-jis.lua] \pTeX ã§åºãç¨ãããã¦ãããJIS ãã©ã³ãã¡ããªãã¯ã
+ \verb+jis.tfm+ ã«ç¸å½ãã JFM ã§ããï¼\texttt{jfm-ujis.lua} ã¨ãã®
+ \texttt{jfm-jis.lua} ã®ä¸»ãªéãã¯ï¼\texttt{jfm-ujis.lua} ã§ã¯ã»ã¨ãã©ã®æåã
+ æ£æ¹å½¢ç¶ã§ããã®ã«å¯¾ãï¼\texttt{jfm-jis.lua} ã§ã¯æ¨ªé·ã®é·æ¹å½¢ç¶ã§ããï¼
+%
+%<*en>
\item[\tt jfm-min.lua] A counterpart for \verb+min10.tfm+, which is one
- of the default Japanese font metric shipped with \pTeX. There
- are notable difference between this JFM and other 2~JFMs, as
- shown in Table~\ref{tab-difjfm}.
+ of the default Japanese font metric shipped with \pTeX. There
+ are notable difference between this JFM and other 2~JFMs, as
+ shown in Table~\ref{tab-difjfm}.
+%
+%<*ja>
+\item[\tt jfm-min.lua] \pTeX ã«å梱ããã¦ããããã©ã«ãã®åæãã©ã³ãã¡ããªãã¯
+ ã§ãã \verb+min10.tfm+ ã«ç¸å½ãã JFM ã§ããï¼ãã® JFM ã¨ä»ã®2ã¤ã® JFM ã®éã«ã¯
+ 表 \ref{tab-difjfm} ã«ç¤ºããããªç¹çãã¹ãéããããï¼
+%
\end{description}
-\item[jfmvar=] Sometimes there is a need that
+\item[jfmvar=] Sometimes there is a need that ...
\end{list}
\begin{table}[t]
-\caption{Differences between JFMs shipped with \LuaTeX-ja}
+%\caption{Differences between JFMs shipped with \LuaTeX-ja}
+%\caption{\LuaTeX-ja ã«å梱ããã¦ãã JFM ã®éã}
\label{tab-difjfm}
\ltjsetparameter{jacharrange={+3}}
\begin{center}
@@ -1646,34 +1849,93 @@ The followings are JFMs shipped with \LuaTeX-ja:
\toprule
&\tt jfm-ujis.lua&\tt jfm-jis.lua&\tt jfm-min.lua\\
\midrule
-Example~1&\r{ujis}&\r{jis}&\r{min}\\
-Example~2&\s{ujis}&\s{jis}&\s{min}\\
+%Example~1\footnotemark
+%ä¾1\footnotemark
+&\r{ujis}&\r{jis}&\r{min}\\
+%Example~2
+%ä¾2
+&\s{ujis}&\s{jis}&\s{min}\\
Bounding Box&\t{ujis}&\t{jis}&\t{min}\\
\bottomrule
\end{tabular}
\end{center}
\ltjsetparameter{jacharrange={-3}}
\end{table}
+\footnotetext{from: ä¹é¨å³å·±, min10ãã©ã³ãã«ã¤ãã¦.
+\texttt{http://argent.shinshu-u.ac.jp/\~{\ }otobe/tex/files/min10.pdf}.}
-\paragraph{Note: kern feature}\label{para-kern}
+%\paragraph{Note: kern feature}
+%\paragraph{注æï¼kern feature}
+\label{para-kern}
+%<*en>
Some fonts have information for inter-glyph spacing. However, this
information is not well-compatible with \LuaTeX-ja. More concretely,
this kerning space from this information are inserted \emph{before} the
insertion process of \textbf{JAglue}, and this causes incorrect spacing
between two characters when both a glue/kern from the data in the font
and it from JFM are present.
+%
+%<*ja>
+ããã¤ãã®ãã©ã³ãã¯ã°ãªãéã®ã¹ãã¼ã¹ã«ã¤ãã¦ã®æ
å ±ãæã£ã¦ããï¼ãããï¼
+ãã®æ
å ±ã¯ \LuaTeX-ja ã¨ã¯ãã¾ãç¸æ§ããããªãï¼å
·ä½çã«ã¯ï¼ãã®æ
å ±ã«åºã¥ãã¦æ¿å
¥
+ãããã«ã¼ãã³ã°ã¹ãã¼ã¹ã¯ \textbf{JAglue} ã®æ¿å
¥éç¨ã®\textbf{åã«}æ¿å
¥ããï¼
+JFM ã«åºã¥ãã°ã«ã¼ï¼ã«ã¼ã³ãæ¿å
¥ãããå ´åã«ã¯2æåéã®æå³ããªãã¹ãã¼ã¹ã®åå ã¨
+ãªãï¼
+%
\begin{itemize}
+%<*en>
\item You should specify \texttt{-kern} in
-\texttt{\char92jfont} primitive, when you want to use other font features,
- such as \texttt{script=...}\,.
+ \verb+jfont+ primitive, when you want to use other font features,
+ such as \texttt{script=...}\,.
+%
+%<*ja>
+\item \texttt{script=...} ã¨ãã£ã feature ã使ãããå ´åã«ã¯ï¼\verb+\jfont+
+ ããªããã£ãã« \texttt{-kern} ãæå®ããã¹ãã§ããï¼
+%
+%<*en>
\item If you want to use Japanese fonts in proportional width, and use
information from this font, use \texttt{jfm-prop.lua} for its JFM, and ...
+%
+%<*ja>
+\item ãããããã¼ã·ã§ãã«å¹
ã®åæãã©ã³ãããã®ãã©ã³ãã®æ
å ±ã«åºã¥ãã¦ä½¿ããã
+ ãªãã°ï¼\texttt{jfm-prop.lua} ã JFM ã¨ãã¦æå®ãï¼â¦â¦
+%
TODO: kanjiskip?
\end{itemize}
+%\subsection{Prefix \texttt{psft}}
+%\subsection{\texttt{psft} ãã¬ãã£ãã¯ã¹}
+%<*en>
+Besides \texttt{file:}\ and \texttt{name:}\ prefixes, one can use \texttt{psft:}\
+prefix in \verb+\jfont+ (and~\verb+\font+) primitive,
+to specify a `name-only' Japanese font which
+will be not embedded to PDF. Typical use of this prefix is to specify
+the `standard' Japanese fonts, namely, `Ryumin-Light' and
+`GothicBBB-Medium'. For kerning or other information, that of Kozuka
+Mincho Pr6N Regular (this is a font by Adobe Inc., and included in
+Japanese Font Packs for Adobe Reader) will be used.
+%
+%<*ja>
+\texttt{file:} 㨠\texttt{name:} ã®ãã¬ãã£ãã¯ã¹ã«å ãã¦ï¼
+\verb+\jfont+ ããªããã£ãï¼ã¨ \verb+\font+ ããªããã£ãï¼ã§ã¯
+\texttt{psft:} ãã¬ãã£ãã¯ã¹ãç¨ãããã¨ãã§ããï¼
+ãã®ãã¬ãã£ãã¯ã¹ãç¨ãããã¨ã§ï¼PDF ã«ã¯åãè¾¼ã¾ããªããååã ãã®ã
+åæãã©ã³ããæå®ãããã¨ãã§ããï¼å
¸åçãªä½¿ãæ¹ã¯ãæ¨æºçãªãåæãã©ã³ãï¼
+ã¤ã¾ã `Ryumin-Light' 㨠`GothicBBB-Medium' ãæå®ãããã¨ã§ããï¼
+ãã®å ´åï¼ã«ã¼ãã³ã°ä»ã®æ
å ±ã¯å°å¡ææ Pr6N Regular
+ï¼Adobe 社ã«ãããã©ã³ãã§ï¼Adobe Reader ã®æ¥æ¬èªãã©ã³ãããã¯ã«å«ã¾ãã¦ããï¼
+ãç¨ããããï¼
+%
+
+\paragraph{\texttt{cid} key}
+\label{para-cid}
+
+ \texttt{cid} key, ...
+
+
%\subsection{Structure of JFM file}
%\subsection{JFM ãã¡ã¤ã«ã®æ§é }
A JFM file is a Lua script which has only one function call:
@@ -1685,7 +1947,7 @@ Real data are stored in the table which indicated above by
structure of this table. Note that all lengths in a JFM file are
floating-point numbers in design-size unit.
-\begin{list}{}{\def\makelabel{\ttfamily}\def\{{\char`\{}\def\}{\char`\}}}
+\begin{list}{}{\def\makelabel{\ttfamily}\def\{{\char`\{}\def\}{\char`\}}\advance\leftmargin1\zw}
\item[dir=] (required)
The direction of JFM. At the present, only \texttt{'yoko'} is supported.
@@ -1720,7 +1982,7 @@ always present, so each JFM file must have a sub-table whose index is
\texttt{[0]}. Each sub-table (its numerical index is denoted by $i$) has
the following fields:
-\begin{list}{}{\def\makelabel{\ttfamily}\def\{{\char`\{}\def\}{\char`\}}}
+\begin{list}{}{\def\makelabel{\ttfamily}\def\{{\char`\{}\def\}{\char`\}}\advance\leftmargin1\zw}
\item[chars=\{, ...\}] (required except character class~0)
This field is a list of characters which are in this character
@@ -1736,10 +1998,10 @@ This field is a list of characters which are in this character
Specify width of characters in character class~$i$, height, depth and
the amount of italic correction. All characters in character class~$i$ are regarded that its width, height and depth are
-as values of these fields.
-But there is one exception: if \texttt{'prop'} is specified in \texttt{width} field, width of a character becomes that of its `real' glyph
+as values of these fields.
+But there is one exception: if \texttt{'prop'} is specified in \texttt{width} field, width of a character becomes that of its `real' glyph
-\item[left=, down=, align=]\
+\item[left=, down=, align=]\
These fields are for adjusting the position of the `real' glyph. Legal
values of \texttt{align} field are \texttt{'left'},
@@ -1751,8 +2013,8 @@ The effects of these 3~fields are indicated in Figure~\ref{fig-pos}.
In most cases, \texttt{left} and \texttt{down} fields are~0, while
it is not uncommon that the \texttt{align} field is \texttt{'middle'} or \texttt{'right'}.
-For example, setting the \texttt{align} field to \texttt{'right'} is practically needed
-when the current character class is the class for opening delimiters'.
+For example, setting the \texttt{align} field to \texttt{'right'} is practically needed
+when the current character class is the class for opening delimiters'.
\begin{figure}[!tb]
\begin{minipage}{0.4\textwidth}%
\begin{center}\unitlength=10pt\small
@@ -1803,16 +2065,16 @@ when the current character class is the class for opening delimiters'.
\put(1,-1.7){\makebox(0,0)[t]{\texttt{left}}}
\put(3,0){\vector(0,-1){1.5}}
\put(3.2,-0.75){\makebox(0,0)[l]{\texttt{down}}}
-\end{picture}
+\end{picture}
\end{center}
\end{minipage}%
\begin{minipage}{0.6\textwidth}%
-Consider a node containing Japanese character whose value of the \texttt{align}
+Consider a node containing Japanese character whose value of the \texttt{align}
field is \texttt{'middle'}.
\begin{itemize}
\item The black rectangle is a frame of the node.
Its width, height and depth are specified by JFM.
-\item Since the \texttt{align} field is \texttt{'middle'},
+\item Since the \texttt{align} field is \texttt{'middle'},
the `real' glyph is centered horizontally (the green rectangle).
\item Furthermore, the glyph is shifted according to values of fields
\texttt{left} and \texttt{down}. The ultimate position of the real
@@ -1830,8 +2092,8 @@ the `real' glyph is centered horizontally (the green rectangle).
\end{list}
%<*en>
-\begin{list}{}{\def\makelabel{\ttfamily}\def\{{\char`\{}\def\}{\char`\}}}
-\item['lineend'] An ending of a line.
+\begin{list}{}{\def\makelabel{\ttfamily}\def\{{\char`\{}\def\}{\char`\}}\advance\leftmargin1\zw}
+\item['lineend'] An ending of a line.
\item['diffmet'] Used at a boundary between two \textbf{JAchar}s whose JFM or size is different.
\item['boxbdd'] The beginning/ending of a horizontal box, and the beginning of a noindented paragraph.
\item['parbdd'] The beginning of an (indented) paragraph.
@@ -1845,10 +2107,10 @@ the `real' glyph is centered horizontally (the green rectangle).
ä¸ã§èª¬æããéãï¼\texttt{chars}ãã£ã¼ã«ãä¸ã«ã¯ããã¤ãã®ãç¹æ®æåãã
æå®å¯è½ã§ããï¼ãããã¯ï¼å¤§åã\pTeX ã®JFMã°ã«ã¼ã®æ¿å
¥å¦çã§ã¯ã¿ãªãæå
ã¯ã©ã¹0ã®æåãã¨ãã¦æ±ããã¦ããæåã§ããï¼ãã®çµæã¨ãã¦\pTeX ããç´°ã
-ãçµç調æ´ãã§ããããã«ãªã£ã¦ããï¼ä»¥ä¸ã®ãã®ä¸è¦§ãè¿°ã¹ãï¼
-\begin{list}{}{\def\makelabel{\ttfamily}\def\{{\char`\{}\def\}{\char`\}}}
+ãçµç調æ´ãã§ããããã«ãªã£ã¦ããï¼ä»¥ä¸ã§ãã®ä¸è¦§ãè¿°ã¹ãï¼
+\begin{list}{}{\def\makelabel{\ttfamily}\def\{{\char`\{}\def\}{\char`\}}\advance\leftmargin1\zw}
\item['lineend'] è¡ã®çµç«¯ã表ãï¼
-\item['diffmet']
+\item['diffmet']
\item['boxbdd'] hboxã®å
é ã¨æ«å°¾ï¼åã³ã¤ã³ãã³ãããã¦ããªã
ï¼\verb+\noindent+ã§éå§ãããï¼æ®µè½ã®å
é ã表ãï¼
@@ -1894,9 +2156,9 @@ the `real' glyph is centered horizontally (the green rectangle).
\begin{LTXexample}
\jfont\g=psft:Ryumin-Light:jfm=test \g
\parindent1\zw\noindent{}âââââ
-\par{}ãâââäºåä¸ãã
-\par{}ãâââå
¨è§ä¸ãã
-\par{}ãâââå
¨è§äºåä¸ãã
+\par ãâââäºåä¸ãã
+\par ãâââå
¨è§ä¸ãã
+\par ãâââå
¨è§äºåä¸ãã
\end{LTXexample}
\end{itemize}
\ltjsetparameter{jacharrange={-3}}
@@ -1913,7 +2175,7 @@ an external package is needed to support this in plain \TeX\ and
\LuaTeX-ja's handling of Japanese fonts in math formulas is similar;
Table~\ref{tab-math} shows counterparts to \TeX's primitives for math
font families. There is no relation between the value of
-\verb+\fam+ and that of \verb+\jfam+; with appropriate settings,
+\verb+\fam+ and that of \verb+\jfam+; with appropriate settings,
you can set both \verb+\fam+ and \verb+\jfam+ to~the same value.
\begin{table}[!tb]
@@ -1940,7 +2202,7 @@ be accessed via \verb+luatexbase.add_to_callback+ function and so on, as other c
\begin{list}{}%
{\def\makelabel#1{\bfseries#1}}
\item[\texttt{luatexja.load\_jfm} callback]
-With this callback you can overwrite JFMs.
+With this callback you can overwrite JFMs.
This callback is called when a new JFM is loaded.
\begin{verbatim}
@@ -1949,7 +2211,7 @@ function ( jfm_info, jfm_name)
end
\end{verbatim}
-The argument \verb+jfm_info+ contains a table similar to the table in a JFM file, except
+The argument \verb+jfm_info+ contains a table similar to the table in a JFM file, except
this argument has \texttt{chars} field which contains character codes
whose character class is not~0.
@@ -1975,8 +2237,8 @@ You may assume that \verb+jfont_info+ has the following fields:
\item[\tt var] The value specified in \texttt{jfmvar=...} at a call of \verb+\jfont+.
\end{description}
-The returned table \verb+new_jfont_info+ also should include these three fields.
-The \verb+font_number+ is a font number.
+The returned table \verb+new_jfont_info+ also should include these three fields.
+The \verb+font_number+ is a font number.
A good example of this and the next callbacks is the \Pkg{luatexja-otf}
package, supporting \verb+"AJ1-xxx"+ form for Adobe-Japan1
@@ -2017,7 +2279,7 @@ function ( shift_info, jfont_info, char_class)
end
\end{lstlisting}
-The argument \verb+shift_info+ and the returned \verb+new_shift_info+ have
+The argument \verb+shift_info+ and the returned \verb+new_shift_info+ have
\texttt{down} and \texttt{left} fields, which are the amount of shifting
down/left the character in a scaled-point.
@@ -2047,20 +2309,20 @@ The argument \verb+shift_info+ and the returned \verb+new_shift_info+ have
%\subsection{\texttt{\char92 ltjsetparameter} ããªããã£ã}
As noted before, \verb+\ltjsetparameter+ and \verb+\ltjgetparameter+ are
primitives for accessing most parameters of \LuaTeX-ja. One of the main
-reason that \LuaTeX-ja didn't adopted the syntax similar to that of \pTeX\
-(\textit{e.g.},~\verb+\prebreakpenalty`ï¼=10000+)
+reason that \LuaTeX-ja didn't adopted the syntax similar to that of \pTeX\
+(\textit{e.g.},~\verb+\prebreakpenalty`ï¼=10000+)
is the position of \verb+hpack_filter+ callback in the source
of \LuaTeX, see Section~\ref{sec-para}.
\verb+\ltjsetparameter+ and \verb+\ltjglobalsetparameter+ are primitives
for assigning parameters. These take one argument which is a
\texttt{=} list. Allowed keys are described in the next
-subsection.
+subsection.
The difference between
\verb+\ltjsetparameter+ and \verb+\ltjglobalsetparameter+ is only the
scope of assignment;
-\verb+\ltjsetparameter+ does a local assignment and
-\verb+\ltjglobalsetparameter+ does a global one.
+\verb+\ltjsetparameter+ does a local assignment and
+\verb+\ltjglobalsetparameter+ does a global one.
They also obey the value of \verb+\globaldefs+,
like other assignment.
@@ -2068,7 +2330,7 @@ like other assignment.
always takes a parameter name as first argument, and also takes the
additional argument---a character code, for example---in some cases.
\begin{LTXexample}
-\ltjgetparameter{differentjfm},
+\ltjgetparameter{differentjfm},
\ltjgetparameter{autospacing},
\ltjgetparameter{prebreakpenalty}{`ï¼}.
\end{LTXexample}
@@ -2089,7 +2351,7 @@ in \pTeX, and symbols beside each parameter has the following meaning:
\item `\dagger': assignments are always global.
\end{itemize}
-\begin{list}{}{\def\makelabel{\ttfamily}\def\{{\char`\{}\def\}{\char`\}}}
+\begin{list}{}{\def\makelabel{\ttfamily}\def\{{\char`\{}\def\}{\char`\}}\advance\leftmargin1\zw}
\item[\Param{jcharwidowpenalty}\,=] [\verb+\jcharwidowpenalty+]
Penalty value for suppressing orphans. This penalty is inserted just
@@ -2098,13 +2360,13 @@ Penalty value for suppressing orphans. This penalty is inserted just
\item[\Param{kcatcode}\,=\{,\}]\
-An additional attributes having each character whose character code is .
+An additional attributes having each character whose character code is .
At the present version, the lowermost bit of indicates
whether the character is considered as a punctuation mark
(see the description of \Param{jcharwidowpenalty} above).
-\item[\Param{prebreakpenalty}\,=\{,\}] [\verb+\prebreakpenalty+]\
+\item[\Param{prebreakpenalty}\,=\{,\}] [\verb+\prebreakpenalty+]\
%<*ja>
æåã³ã¼ãã®\textbf{JAchar}ãè¡é ã«ãããã¨ãææ¢ããããã«ï¼
ãã®æåã®åã«æ¿å
¥/追å ãããããã«ãã£ã®éãæå®ããï¼
@@ -2139,20 +2401,22 @@ At the present version, the lowermost bit of indicates
\item[\Param{jatextfont}\,=\{,\}] [\verb+\textfont+ in \TeX]
\item[\Param{jascriptfont}\,=\{,\}] [\verb+\scriptfont+ in \TeX]
\item[\Param{jascriptscriptfont}\,=\{,\}] [\verb+\scriptscriptfont+ in \TeX]
-\item[\Param{yjabaselineshift}\,=$^\ast$]\
+\item[\Param{yjabaselineshift}\,=$^\ast$]\
\item[\Param{yalbaselineshift}\,=$^\ast$] [\verb+\ybaselineshift+]
-\item[\Param{jaxspmode}\,=\{,\}] [\verb+\inhibitxspcode+]
+\item[\Param{jaxspmode}\,=\{,\}]
Setting whether inserting \Param{xkanjiskip} is allowed before/after a \textbf{JAchar} whose character code is .
The followings are allowed for :
\begin{description}
\item[0, \texttt{inhibit}] Insertion of \Param{xkanjiskip} is inhibited before the character, nor after the character.
-\item[2, \texttt{preonly}] Insertion of \Param{xkanjiskip} is allowed before the character, but not after.
-\item[1, \texttt{postonly}] Insertion of \Param{xkanjiskip} is allowed after the character, but not before.
+\item[1, \texttt{preonly}] Insertion of \Param{xkanjiskip} is allowed before the character, but not after.
+\item[2, \texttt{postonly}] Insertion of \Param{xkanjiskip} is allowed after the character, but not before.
\item[3, \texttt{allow}] Insertion of \Param{xkanjiskip} is allowed before the character and after the character.
This is the default value.
\end{description}
+This parameter is similar to the \verb+\inhibitxspcode+ primitive of \pTeX, but not compatible with \verb+\inhibitxspcode+.
+
\item[\Param{alxspmode}\,=\{,\}] [\verb+\xspcode+]
@@ -2170,7 +2434,7 @@ The followings are allowed for :
before the character and after the character.
This is the default value.
\end{description}
-Note that parameters \Param{jaxspmode} and \Param{alxspmode} use a common table.
+Note that parameters \Param{jaxspmode} and \Param{alxspmode} use a common table, hence these two parameters are synonyms of each other.
\item[\Param{autospacing}\,=$^\ast$] [\verb+\autospacing+]
\item[\Param{autoxspacing}\,=$^\ast$] [\verb+\autoxspacing+]
@@ -2179,7 +2443,7 @@ Note that parameters \Param{jaxspmode} and \Param{alxspmode} use a common table.
\item[\Param{differentjfm}\,=$^\dagger$]
-Specify how glues/kerns between two \textbf{JAchar}s whose JFM (or size) are different.
+Specify how glues/kerns between two \textbf{JAchar}s whose JFM (or size) are different.
The allowed arguments are the followings:
\begin{description}
\item[\texttt{average}]
@@ -2198,7 +2462,7 @@ The allowed arguments are the followings:
%\subsection{Primitives for Compatibility}
%\subsection{äºæããªããã£ã}
The following primitives are implemented for compatibility with \pTeX:
-\begin{list}{}{\def\makelabel{\ttfamily\char92 }}
+\begin{list}{}{\def\makelabel{\ttfamily\char92 }\advance\leftmargin1\zw}
\item[kuten]
\item[jis]
\item[euc]
@@ -2209,14 +2473,16 @@ The following primitives are implemented for compatibility with \pTeX:
%\subsection{\texttt{\char92 inhibitglue} primitive}
%\subsection{\texttt{\char92 inhibitglue} ããªããã£ã}
The primitive \verb+\inhibitglue+ suppresses the insertion of \textbf{JAglue}.
-The following is an example, using a special JFM that there will be a glue between
+The following is an example, using a special JFM that there will be a glue between
the beginning of a box and `ã', and also between `ã' and `ã¦'.
\begin{LTXexample}
\jfont\g=psft:Ryumin-Light:jfm=test \g
-ãã¦ã\inhibitglue{}ã¦\inhibitglue\par
-ã\par\inhibitglue{}ã
-\par\inhibitglue\hrule{}ãoff\inhibitglue ice
+\fbox{\hbox{ãã¦ã\inhibitglue ã¦}}
+\inhibitglue\par\noindent ã1
+\par\inhibitglue\noindent ã2
+\par\noindent\inhibitglue ã3
+\par\inhibitglue\hrule ãoff\inhibitglue ice
\end{LTXexample}
With the help of this example, we remark the specification of \verb+\inhibitglue+:
@@ -2258,27 +2524,37 @@ The above 3~commands are just the counterparts for \verb+DeclareFontEncodingDefa
\item[reDeclareMathAlphabet\{\}\{\}\{\}]
åæã»æ¬§æã®æ°å¼ç¨ãã©ã³ããã¡ããªãä¸åº¦ã«å¤æ´ããå½ä»¤ãä½æããï¼
-å
·ä½çã«ã¯ï¼æ¬§ææ°å¼ç¨ãã©ã³ããã¡ããªå¤æ´ã®å½ä»¤ã¨ï¼åææ°å¼ç¨ãã©
- ã³ããã¡ããªå¤æ´ã®å½ä»¤ã®2ã¤ãåæã«è¡ãå½ä»¤ã¨ãã¦
+å
·ä½çã«ã¯ï¼æ¬§ææ°å¼ç¨ãã©ã³ããã¡ããªå¤æ´ã®å½ä»¤ ï¼\verb+\mathrm+çï¼ã¨ï¼åææ°å¼ç¨ãã©
+ ã³ããã¡ããªå¤æ´ã®å½ä»¤ï¼\verb+\mathmc+çï¼ã®2ã¤ãåæã«è¡ãå½ä»¤ã¨ãã¦
ãï¼åï¼å®ç¾©ããï¼å®éã®ä½¿ç¨ã§ã¯ã¨
- ã«åããã®ãæå®ããï¼ããªãã¡ï¼ã«åæå´ãå¤
+ ã«åããã®ãæå®ããï¼ããªãã¡ï¼ã§åæå´ãå¤
æ´ãããããã«ããã®ãä¸è¬çã¨æãããï¼
-æ¬ã³ãã³ãã®ä½¿ç¨ã«ã¤ãã¦ã¯ï¼\pLaTeX é
å¸ä¸ã®\texttt{plfonts.dtx}ã«è©³ãã
- 注æç¹ãè¿°ã¹ããã¦ããã®ã§ï¼ãã¡ããåç
§ããããï¼
+{\let\item=\origitem
+æ¬å½ä»¤ã¯
+\begin{center}\tt
+\{\}\quad$\longrightarrow$\quad
+(ã1段å±éãããã®)\{ã1段å±éãããã®)\{\}\}
+\end{center}
+ã¨å®ç¾©ãè¡ãã®ã§ï¼ä½¿ç¨ã«ã¯æ³¨æãå¿
è¦ã§ããï¼
+\begin{itemize}
+\item ,~ã¯æ¢ã«å®ç¾©ããã¦ããªããã°ãªããªãï¼\verb+\reDeclareMathAlphabet+å¾ã«
+両å½ä»¤ã®å
容ãåå®ç¾©ãã¦ãï¼ã®å
容ã«ããã¯åæ ãããªãï¼
+\item ,~ã«\verb+\@mathrm+ãªã©ã¨ \texttt{@} ãã¤ããå½ä»¤ãæå®ããæã®åä½ã¯ä¿è¨¼ã§ããªãï¼
+\end{itemize}}
\item[DeclareRelationFont\{\}\{\}\{\}\{\}\\
\hfill\{\}\{\}\{\}\{\}]
%<*en>
-This command sets the `accompanied' alphabetic font family (given by the latter 4~arguments)
-with respect to a Japanese font family given by the former 4~arguments.
+This command sets the `accompanied' alphabetic font family (given by the latter 4~arguments)
+with respect to a Japanese font family given by the former 4~arguments.
%
%<*ja>
ãããããå¾å±æ¬§æããè¨å®ããããã®å½ä»¤ã§ããï¼ååã®4å¼æ°ã§è¡¨ãããåæãã©ã³ããã¡ããªã«å¯¾ãã¦ï¼
ãã®ãã©ã³ãã«å¯¾å¿ãããå¾å±æ¬§æããã©ã³ããã¡ããªãå¾åã®4å¼æ°ã«ããä¸ããï¼
%
\item[SetRelationFont]
-This command is almost same as \verb+\DeclareRelationFont+, except that this command does a local
+This command is almost same as \verb+\DeclareRelationFont+, except that this command does a local
assignment, where \verb+\DeclareRelationFont+ does a global assignment.
\item[userelfont]
Change current alphabetic font encoding/family/\dots\ to the `accompanied' alphabetic
@@ -2292,7 +2568,7 @@ Like \verb+\fontfamily+, \verb+\selectfont+ is required to take an effect.
\item[fontfamily\{\}]
{\let\item\origitem
-As in \LaTeXe, this command changes current font family (alphabetic, Japanese,~\emph{or both})
+As in \LaTeXe, this command changes current font family (alphabetic, Japanese,~\emph{or both})
to . Which family will be changed is determined as follows:
\begin{itemize}
\item Let current encoding scheme for Japanese fonts be
@@ -2308,7 +2584,7 @@ to . Which family will be changed is determined as follows:
. For alphabetic font family, the criterion as above is used.
\item There is a case which none of the above applies, that is, the font
family named doesn't seem to be defined neither under the
- encoding , nor under .
+ encoding , nor under .
In this case, the default family for font substitution is used for
alphabetic and Japanese fonts. Note that current encoding will not
@@ -2337,7 +2613,7 @@ As closing this subsection, we shall introduce an example of
This optional package supports typesetting characters in
Adobe-Japan1. \texttt{luatexja-otf.sty} offers the following 2~low-level
commands:
-\begin{list}{}{\def\makelabel{\ttfamily}\def\{{\char`\{}\def\}{\char`\}}}
+\begin{list}{}{\def\makelabel{\ttfamily}\def\{{\char`\{}\def\}{\char`\}}\advance\leftmargin1\zw}
\item[\char92CID\{\}]
Typeset a character whose CID number is .
\item[\char92UTF\{\}]
@@ -2360,8 +2636,8 @@ ordinary characters in the following points:
\paragraph{Additionally Syntax of JFM}
\texttt{luatexja-otf.sty} extends the syntax of JFM; the entries of \texttt{
chars} table in JFM now allows a string in the form
-\verb+'AJ1-xxx'+, which stands for the character
-whose CID number in Adobe-Japan1 is \verb+xxx+.
+\verb+'AJ1-xxx'+, which stands for the character
+whose CID number in Adobe-Japan1 is \verb+xxx+.
%\part{Implementations}
%\part{å®è£
}
@@ -2373,7 +2649,7 @@ whose CID number in Adobe-Japan1 is \verb+xxx+.
%\subsection{ç¨ãããã寸æ³ã¬ã¸ã¹ã¿ï¼å±æ§ã¬ã¸ã¹ã¿ï¼whatsit ãã¼ã}
Here the following is the list of dimensions and attributes which are used in \LuaTeX-ja.
\begin{list}{}{%
-\def\makelabel{\ttfamily}
+\def\makelabel{\ttfamily}\advance\leftmargin1\zw
\def\dim#1{\item[\char92 #1\ \textrm{(dimension)}]}
\def\attr#1{\item[\char92 #1\ \textrm{(attribute)}]}
}
@@ -2381,7 +2657,7 @@ Here the following is the list of dimensions and attributes which are used in \L
\dim{jQ}
As explained in Subsection~\ref{ssec-plain}, \verb+\jQ+ is equal to
$1\,\textrm{Q}=0.25\,\textrm{mm}$, where `Q'~(also called `ç´') is
- a unit used in Japanese phototypesetting. So one should not change the value of this dimension.
+ a unit used in Japanese phototypesetting. So one should not change the value of this dimension.
\dim{jH}
There is also a unit called `æ¯' which equals to $0.25\,\textrm{mm}$ and
used in Japanese phototypesetting. This
@@ -2401,10 +2677,10 @@ There is also a unit called `æ¯' which equals to $0.25\,\textrm{mm}$ and
assigned to this attribute:
\begin{description}
\item[\textit{italic} (1)] Glues from an italic correction
- (\verb+\/+). This distinction of origins of glues
+ (\verb+\/+). This distinction of origins of glues
(from explicit \verb+\kern+, or from \verb+\/+)
is needed in the insertion process of \Param{xkanjiskip}.
-\item[\textit{packed} (2)]
+\item[\textit{packed} (2)]
\item[\textit{kinsoku} (3)] Penalties inserted for the word-wrapping process of Japanese characters (\emph{kinsoku}).
\item[\textit{from\_jfm} (4)] Glues/kerns from JFM.
\item[\textit{line\_end} (5)] Kerns for ...
@@ -2515,7 +2791,7 @@ group, then:
\end{itemize}
Note that to work this trick correctly, assignments to
-\verb+\ltj@@stack+ and \verb+\ltj@@group@level+ have to be local always,
+\verb+\ltj@@stack+ and \verb+\ltj@@group@level+ have to be local always,
regardless the value of \verb+\globaldefs+.
This problem is resolved by using
\hbox{\verb+\directlua{tex.globaldefs=0}+} (this assignment is local).
@@ -2532,7 +2808,7 @@ since words are not separated by spaces in Japanese writings. However,
this feature isn't fully implemented in \LuaTeX-ja due to the
specification of callbacks in~\LuaTeX. To clarify the difference between
\pTeX~and~\LuaTeX, We briefly describe the handling of a line break in~\pTeX, in
-this subsection.
+this subsection.
\pTeX's input processor can be described in terms of a finite state
automaton, as that of~\TeX\ in~Section~2.5 of~\cite{texbytopic}. The
@@ -2552,7 +2828,7 @@ after `beginning/ending of a group' characters.
%<*ja>
欧æã§ã¯æç« ã®æ¹è¡ã¯åèªéã§ããè¡ããªãï¼ãã®ããï¼\TeX ã§ã¯ï¼ï¼æåã®ç´å¾ã®ï¼æ¹è¡ã¯
-空ç½æåã¨åãæ±ãã¨ãã¦æ±ãããï¼ä¸æ¹ï¼åæã§ã¯ã»ã¨ãã©ã©ã©ãã§ãæ¹è¡ãå¯è½ãªããï¼
+空ç½æåã¨åãæ±ãã¨ãã¦æ±ãããï¼ä¸æ¹ï¼åæã§ã¯ã»ã¨ãã©ã©ãã§ãæ¹è¡ãå¯è½ãªããï¼
\pTeX ã§ã¯åææåã®ç´å¾ã®æ¹è¡ã¯åç´ã«ç¡è¦ãããããã«ãªã£ã¦ããï¼
ãã®ãããªåä½ã¯ï¼\pTeX ã\TeX ããã¨ã³ã¸ã³ã¨ãã¦æ¡å¼µããããã¨ã«ãã£ã¦å¯è½ã«ãªã£ããã¨ã§ããï¼
@@ -2565,7 +2841,7 @@ after `beginning/ending of a group' characters.
\item State~$M$: è¡ä¸ï¼
\item State~$K$: è¡ä¸ï¼åææåã®å¾ï¼ï¼
\end{itemize}
-ã¾ãï¼ç¶æ
é·ç§»ã¯ï¼å³~\ref{fig-ptexipro} ã®ããã«ãªã£ã¦ããï¼å³ä¸ã®æ°åã¯
+ã¾ãï¼ç¶æ
é·ç§»ã¯ï¼å³\ref{fig-ptexipro} ã®ããã«ãªã£ã¦ããï¼å³ä¸ã®æ°åã¯
ã«ãã´ãªã¼ã³ã¼ãã表ãã¦ããï¼æåã®3ç¶æ
ã¯\TeX ã®å
¥åå¦çé¨ã¨åãã§ããï¼
å³ä¸ããç¶æ
$K$ã¨ã$j$ãã¨æ¸ãããç¢å°ãåãé¤ãã°ï¼\TeX ã®å
¥åå¦çé¨ã¨å
ããã®ã«ãªãï¼
@@ -2708,11 +2984,8 @@ u
%\section{JFM ã°ã«ã¼ã®æ¿å
¥ï¼\Param{kanjiskip} 㨠\Param{xkanjiskip}}
%\subsection{Overview}
%\subsection{æ¦è¦}
-%<*en>
-NOT COMPLETED
-%
-%<*ja>
+
\LuaTeX-ja ã«ãããåæå¦çã°ã«ã¼ã®æ¿å
¥æ¹æ³ã¯ï¼\pTeX ã®ããã¨ã¯å
¨ãç°ãªãï¼
\pTeX ã§ã¯æ¬¡ã®ãããªä»æ§ã§ãã£ãï¼
\begin{itemize}
@@ -2727,66 +3000,541 @@ NOT COMPLETED
3種é¡ãä¸åº¦ã«æ¿å
¥ãããã¨ã«ãªã£ã¦ããï¼ããã¯ï¼\LuaTeX ã«ããã¦æ¬§æã®ååã»
ã«ã¼ãã³ã°å¦çããã¼ããã¼ã¹ã«ãªã£ããã¨ã«å¯¾å¿ããå¤æ´ã§ããï¼
-\LuaTeX-jaã«ããã\textbf{JAglue}æ¿å
¥å¦çã§ã¯ï¼ä¸ã®å³\ref{fig-clu}ã®ãã
-ã«ãå¡ããåä½ã«ãã¦è¡ãããï¼å¤§éæã«ããã¨ï¼ãå¡ãã¯æåã¨ããã«ä»éã
+\LuaTeX-jaã«ããã\textbf{JAglue}æ¿å
¥å¦çã§ã¯ï¼æ¬¡ç¯ã§å®ç¾©ãã
+ãã¯ã©ã¹ã¿ããåä½ã«ãã¦è¡ãããï¼å¤§éæã«ããã¨ï¼ãã¯ã©ã¹ã¿ãã¯æåã¨ããã«ä»éã
ããã¼ãéï¼ã¢ã¯ã»ã³ãä½ç½®è£æ£ç¨ã®kernãï¼ã¤ã¿ãªãã¯è£æ£ï¼ãã¾ã¨ãããã®
-ã§ããï¼2ã¤ã®å¡ã®éã«ã¯ï¼ããã«ãã£ï¼\verb+\vadjust+ï¼whatsitãªã©ï¼è¡çµç
-ã«ã¯é¢ä¿ããªããã®ãããï¼ãã®ããï¼â¦â¦
-%
+ã§ããï¼2ã¤ã®ã¯ã©ã¹ã¿ã®éã«ã¯ï¼ããã«ãã£ï¼\verb+\vadjust+ï¼whatsitãªã©ï¼è¡çµç
+ã«ã¯é¢ä¿ããªããã®ãããï¼
-% \begin{figure}[!tb]
-% \unitlength=10mm
-% \end{figure}
-%\subsection{Definition of a `cluster'}
+%\subsection{definition of a `cluster'}
%\subsection{ãã¯ã©ã¹ã¿ãã®å®ç¾©}
+\def\OA{$\text{\sf O}_{\text{\sf A}}$}
+\def\OB{$\text{\sf O}_{\text{\sf B}}$}
\begin{defn}
-A \emph{cluster} is a list of nodes in one of the following forms, with the \textit{id} of it:
+A \emph{cluster} is a list of consecutive nodes in one of the following forms,
+with the \textit{id} of it:
\begin{enumerate}
\item Nodes whose value of\ \verb+\ltj@icflag+ is in $[3,15)$. These
nodes come from a hbox which is already packaged, by unpackaging
(\verb+\unhbox+).
The \textit{id} is \textit{id\_pbox}.
-\item A inline math formula, including two \textit{math\_node}s at the boundary of it:
-HOGE
+\item A inline math formula, including two \textit{math\_node}s at the boundary of it.
The \textit{id} is \textit{id\_math}.
-\item A \textit{glyph\_node} with nodes which relate with it:
-HOGE
+\item A \textit{glyph\_node}~$p$ with nodes which relate with it:
+\begin{enumerate}
+\item A kern for the italic correction of~$p$.
+\item An accent attached to $p$ by \verb+\accent+.
+\end{enumerate}
+\[
+\overbrace{%
+ \Node{kern}{$\mathit{subtype}=2$}\longrightarrow
+\left\{\begin{array}{c}
+\Node{glyph}{accent}\\\noalign{\medskip}
+\Node{hbox}{accent (shifted vert.)}
+\end{array}\right\}\longrightarrow
+\Node{kern}{$\mathit{subtype}=2$}}^{\text{(a)}}
+\longrightarrow
+\Node{glyph}{$p$}\longrightarrow
+\overbrace{%
+\Node{kern}{italic corr.}}^{\text{(b)}}
+\]
+
The \textit{id} is \textit{id\_jglyph} or
\textit{id\_glyph}, according to whether the \textit{glyph\_node}
represents a Japanese character or not.
-\item An box-like node, that is, an hbox, an vbox and an rule (\verb+\vrule+).
+\item An box-like node, that is, an hbox, a vbox, a rule (\verb+\vrule+) and an \textit{unset\_node}.
The \textit{id} is \textit{id\_hlist} if the node is an
hbox which is not shifted vertically, or \textit{id\_box\_like}
otherwise.
\item A glue, a kern whose subtype is not 2~(\textit{accent}), and a discretionary break.
The \textit{id} is \textit{id\_glue}, \textit{id\_kern}
and \textit{id\_disc}, respectively.
-%Just a node which will \dots, \textit{i.e.}, a node which is \emph{not} one of the following:
-%\textit{ins\_node}, \textit{mark\_node}, \textit{adjust\_node}, \textit{whatsit\_node}
-%and \textit{penalty\_node}.
\end{enumerate}
We denote a cluster by \textit{Np}, \textit{Nq} and \textit{Nr}.
\end{defn}
-Internally, a cluster is represented by a table $\textit{Np}$ with the following fields.
+以éã¯æ¥æ¬èªï¼
+
+\paragraph{\textit{id}ã®æå³}
+$\mathit{Np}.\mathit{id}$ã®æå³ãè¿°ã¹ãã¨ã¨ãã«ï¼
+ãå
é ã®æåãã表ã\textit{glyph\_node}~$\mathit{Np}.\mathit{head}$ã¨ï¼
+ãæå¾ã®æåãã表ã\textit{glyph\_node}~$\mathit{Np}.\mathit{tail}$ã次ã®ããã«å®ç¾©ããï¼
+ç´æçã«è¨ãã¨ï¼\textit{Np}ã¯$\mathit{Np}.\mathit{head}$ã§å§ã¾ã$\mathit{Np}.\mathit{tail}$ã§çµãããããªåèªï¼
+ã¨è¦åããã¨ãã§ããï¼ããã$\mathit{Np}.\mathit{head}$, $\mathit{Np}.\mathit{tail}$ã¯
+説æç¨ã«æºåããæ¦å¿µã§ãã£ã¦ï¼å®éã® Lua ã³ã¼ãä¸ã«ãã®ããã«æ¸ããã¦ããããã§ã¯ãªããã¨ã«æ³¨æï¼
+
+\begin{description}
+\item[\textit{id\_jglyph}] åææåï¼\\
+$\mathit{Np}.\mathit{head}$, $\mathit{Np}.\mathit{tail}$ã¯ï¼ãã®åææåã表ãã¦ãã
+\textit{glyph\_node}ãã®ãã®ã§ããï¼
+\item[\textit{id\_glyph}] åææåã表ãã¦ããªã\textit{glyph\_node}~$p$ï¼\\
+å¤ãã®å ´åï¼$p$ã¯æ¬§ææåãæ ¼ç´ãã¦ãããï¼`ffi'ãªã©ã®ååã«ãã£ã¦ä½ããã
+\textit{glyph\_node}ã§ããå¯è½æ§ãããï¼
+åè
ã®å ´åï¼$\mathit{Np}.\mathit{head}$,~$\mathit{Np}.\mathit{tail} = p$ã§ããï¼
+ä¸æ¹ï¼å¾è
ã®å ´åï¼
+\begin{itemize}
+\item $\mathit{Np}.\mathit{head}$ã¯ï¼
+ååã®æ§æè¦ç´ ã®å
é âï¼ãã®\textit{glyph\_node}ã«ãããï¼ååã®æ§æè¦ç´ ã®å
é ââ¦â¦
+ã¨å帰çã«æ¤ç´¢ãã¦ãã£ã¦ãã©ãçãã\textit{glyph\_node}ã§ããï¼
+\item $\mathit{Np}.\mathit{last}$ã¯ï¼åæ§ã«æ«å°¾âæ«å°¾âã¨æ¤ç´¢ãã¦ãã©ãçãã\textit{glyph\_node}ã§ããï¼
+\end{itemize}
+\item[\textit{id\_math}] ã¤ã³ã©ã¤ã³æ°å¼ï¼\\
+便å®çã«ï¼$\mathit{Np}.\mathit{head}$, $\mathit{Np}.\mathit{tail}$ã¨ãã«
+ãæåã³ã¼ã$-1$ã®æ¬§ææåãã¨ããï¼
+\item[\textit{id\_hlist}] 縦æ¹åã«ã·ããããã¦ããªã hboxï¼\\
+ãã®å ´åï¼$\mathit{Np}.\mathit{head}$, $\mathit{Np}.\mathit{tail}$ã¯ãããã$p$ã®å
容ã表ããªã¹ãã®ï¼
+å
é ã»æ«å°¾ã®ãã¼ãã§ããï¼
+\begin{itemize}
+\item ç¶æ³ã«ãã£ã¦ã¯ï¼\TeX ã½ã¼ã¹ã§è¨ãã¨
+\begin{verbatim}
+\hbox{\hbox{abc}...\hbox{\lower1pt\hbox{xyz}}}
+\end{verbatim}
+ã®ããã«ï¼$p$ã®å
容ãå¥ã® hbox ã§éå§ã»çµäºãã¦ããå¯è½æ§ãååããå¾ãï¼ãã®ãããªå ´åï¼
+$\mathit{Np}.\mathit{head}$, $\mathit{Np}.\mathit{tail}$ã®ç®åºã¯ï¼\textbf{åç´æ¹åã«ã·ããããã¦ããªã} hbox ã®
+å ´åã ãå
é¨ãå帰çã«æ¢ç´¢ããï¼ä¾ãã°ä¸ã®ä¾ã§ã¯ï¼$\mathit{Np}.\mathit{head}$ã¯æåãaãã表ããã¼ãã§ããï¼
+ä¸æ¹$\mathit{Np}.\mathit{tail}$ã¯åç´æ¹åã«ã·ããããã hboxï¼\verb+\lower1pt\hbox{xyz}+ã«å¯¾å¿ãããã¼ãã§ããï¼
+\item ã¾ãï¼å
é ã«ã¢ã¯ã»ã³ãä»ãã®æåããããï¼æ«å°¾ã«ã¤ã¿ãªãã¯è£æ£ç¨ã® kern ã
+æ¥ããã¨ãããå¾ãï¼ãã®å ´åã¯ï¼ã¯ã©ã¹ã¿ã®å®ç¾©ã®ã¨ããã«ããã£ãããã«ï¼ãããã¯ç¡è¦ãã¦ç®åºãè¡ãï¼
+\item æåã»æå¾ã®ãã¼ããååã«ãã£ã¦ä½ããã\textit{glyph\_node}ã®ã¨ãã¯ï¼ããããã«å¯¾ãã¦\textit{id\_glyph}%
+ã¨åæ§ã«å帰çã«æ§æè¦ç´ ããã©ã£ã¦ããï¼
+\end{itemize}
+\item[\textit{id\_pbox}] ãæ¢ã«å¦çãããããã¼ãã®ãªã¹ãã§ããï¼ãããã®ãã¼ããäºåº¦å¦çãåããªãããã«
+ã¾ã¨ãã¦1ã¤ã®ã¯ã©ã¹ã¿ã¨ãã¦åãæ±ãã ãã§ããï¼
+\textit{id\_hlist}ã¨åãæ¹æ³ã§$\mathit{Np}.\mathit{head}$, $\mathit{Np}.\mathit{tail}$ãç®åºããï¼
+\item[\textit{id\_disc}] discretionary break (\verb+\discretionary{pre}{post}{nobreak}+).\\
+\textit{id\_hlist}ã¨åãæ¹æ³ã§$\mathit{Np}.\mathit{head}$, $\mathit{Np}.\mathit{tail}$ãç®åºãããï¼
+第3å¼æ°ã® \texttt{nobreak}ï¼è¡åå²ãè¡ãããªãæã®å
容ï¼ã使ãï¼è¨ãæããã°ï¼ããã§è¡åå²ãçºçããæã®ç¶æ³ã¯
+å
¨ãèæ
®ã«å
¥ããªãï¼
+\item[\textit{id\_box\_like}] \textit{id\_hlist}ã¨ãªããªãboxãï¼ruleï¼\\
+ãã®å ´åã¯ï¼$\mathit{Np}.\mathit{head}$, $\mathit{Np}.\mathit{tail}$ã®ãã¼ã¿ã¯å©ç¨ãããªãã®ã§ï¼2ã¤ã®ç®åºã¯ç¡æå³ã§ããï¼
+æ¢ãã¦æ示ãããªãã°ï¼$\mathit{Np}.\mathit{head}$, $\mathit{Np}.\mathit{tail}$ã¯å
±ã«nilå¤ã§ããï¼
+\item[ä»] 以ä¸ã«ãªã\textit{id}ã«å¯¾ãã¦ãï¼$\mathit{Np}.\mathit{head}$, $\mathit{Np}.\mathit{tail}$ã®ç®åºã¯ç¡æå³ï¼
+\end{description}
+
+\paragraph{ã¯ã©ã¹ã¿ã®å¥ã®åé¡}
+ããã«ï¼JFMã°ã«ã¼æ¿å
¥å¦çã®å®éã®èª¬æã«ãã便å©ãªããã«ï¼\textit{id}ã¨ã¯å¥ã®ã¯ã©ã¹ã¿ã®åé¡ãè¡ã£ã¦ããï¼
+æ¿å
¥å¦çã§ã¯2ã¤ã®é£ãåã£ãã¯ã©ã¹ã¿ã®éã«
+空ç½çã®å®éã®æ¿å
¥ãè¡ããã¨ã¯åã«æ¸ãããï¼ããã§ã®èª¬æã§ã¯ï¼åé¡ã«ãã¦ããã¯ã©ã¹ã¿\textit{Np}ã¯ãå¾ãå´ãã®ã¯ã©ã¹ã¿ã§ãã
+ã¨ããï¼ãåå´ãã®ã¯ã©ã¹ã¿ã«ã¤ãã¦ã¯ï¼ä»¥ä¸ã®èª¬æã§\textit{head}ã\textit{last}ã«ç½®ãæãããã¨ã«æ³¨æãããã¨ï¼
+\begin{description}
+\item[åæA] ãªã¹ãä¸ã«ç´æ¥åºç¾ãã¦ããåææåï¼
+\textit{id}ã\textit{id\_jglyph}ã§ãããï¼\\
+\textit{id}ã\textit{id\_pbox}ã§ãã£ã¦$\mathit{Np}.\mathit{head}$ã\textbf{JAchar}ã§ããã¨ãï¼
+
+\item[åæB] ãªã¹ãä¸ã®hboxã®ä¸èº«ã®å
é ã¨ãã¦åºç¾ããåææåï¼åæAã¨ã®éãã¯ï¼ããã®åã«
+JFMã°ã«ã¼ã®æ¿å
¥ãè¡ãããªãï¼\Param{xkanjiskip},~\Param{kanjiskip}ã¯å
¥ãå¾ãï¼ãã¨ã§ããï¼\\
+\textit{id}ã\textit{id\_hlist}ã\textit{id\_disc}ã§ãã£ã¦$\mathit{Np}.\mathit{head}$ã\textbf{JAchar}ã§ããã¨ãï¼
+
+\item[欧æ] ãªã¹ãä¸ã«ç´æ¥/hboxã®ä¸èº«ã¨ãã¦åºç¾ãã¦ãã欧ææåï¼æ¬¡ã®3ã¤ã®å ´åã該å½ï¼
+\begin{itemize}
+\item \textit{id}ã\textit{id\_glyph}ã§ããï¼
+\item \textit{id}ã\textit{id\_math}ã§ããï¼
+\item \textit{id}ã\textit{id\_pbox}ã\textit{id\_hlist}ã\textit{id\_disc}ã§ãã£ã¦ï¼$\mathit{Np}.\mathit{head}$ã\textbf{ALchar}ï¼
+\end{itemize}
+\item[ç®±] boxï¼ã¾ãã¯ããã«é¡ä¼¼ãããã®ï¼æ¬¡ã®2ã¤ã該å½ï¼
+\begin{itemize}
+\item \textit{id}ã\textit{id\_pbox}ã\textit{id\_hlist}ã\textit{id\_disc}ã§ãã£ã¦ï¼$\mathit{Np}.\mathit{head}$ã\textit{glyph\_node}ã§ãªãï¼
+\item \textit{id}ã\textit{id\_box\_like}ã§ããï¼
+\end{itemize}
+
+\end{description}
+
+\subsection{段è½/hboxã®å
é ãæ«å°¾}
+\paragraph{å
é é¨ã®å¦ç}
+ã¾ãï¼æ®µè½/hboxã®ä¸çªæåã«ããã¯ã©ã¹ã¿\textit{Np}ãæ¢ç´¢ããï¼
+hboxã®å ´åã¯ä½ã®åé¡ããªããï¼æ®µè½ã®å ´åã§ã¯ä»¥ä¸ã®ãã¼ãéãäºåã«èªã¿é£ã°ãã¦ããï¼
+\begin{center}
+\verb+\parindent+ç±æ¥ã®hbox ($\mathit{subtype}=3$)ï¼åã³\textit{subtype}ã44~(\textit{user\_defined})ã§ãªã
+ãããªwhatsitï¼
+\end{center}
+ããã¯ï¼\verb+\parindent+ç±æ¥ã®hboxãã¯ã©ã¹ã¿ãæ§æããªãããã«ããããã§ããï¼
+
+次ã«ï¼\textit{Np}ã®ç´åã«ç©ºç½$g$ãå¿
è¦ãªãæ¿å
¥ããï¼
+\begin{enumerate}
+\item ãã®å¦çãåããããª\textit{Np}ã¯\textsf{åæA}ã§ããï¼
+\item åé¡ã®ãªã¹ããåä¸ãããã®æ®µè½ï¼\verb+\parindent+ç±æ¥ã®hboxããï¼ã®å ´åã¯ï¼
+ãã®ç©ºç½$g$ã¯ãæåã³ã¼ã\texttt{'parbdd'}ã®æåãã¨\textit{Np}ã®éã«å
¥ãglue/kernã§ããï¼
+\item ããã§ãªãã¨ãï¼\verb+noindent+ã§éå§ããã段è½ãï¼hboxï¼ã¯ï¼
+$g$ã¯ãæåã³ã¼ã\texttt{'boxbdd'}ã®æåãã¨\textit{Np}ã®éã«å
¥ãglue/kernã§ããï¼
+\end{enumerate}
+ãã ãï¼ãã$g$ãglueã§ãã£ãå ´åï¼ãã®æ¿å
¥ã«ãã£ã¦\textit{Np}ã«ããè¡åå²ãæ°ãã«å¯è½ã«ãªãã¹ãã§ã¯ãªãï¼
+ããã§ï¼ä»¥ä¸ã®å ´åã«ã¯ï¼$g$ã®ç´åã«\verb+\penalty10000+ãæ¿å
¥ããï¼
+\begin{itemize}
+\item åé¡ã«ãã¦ãããªã¹ãã段è½ã§ããï¼ãã¤
+\item \textit{Np}ã®åã«ã¯äºãããã«ãã£ããªãï¼$g$ã¯glueï¼
+\end{itemize}
+
+\paragraph{æ«å°¾ã®å¦ç}
+æ«å°¾ã®å¦çã¯ï¼åé¡ã®ãªã¹ãã段è½ã®ãã®ãhboxã®ãã®ãã«ãã£ã¦ç°ãªãï¼
+å¾è
ã®å ´åã¯å®¹æãï¼æå¾ã®ã¯ã©ã¹ã¿ã\textit{Nq}ã¨ããã¨ï¼\textit{Nq}ã¨ãæåã³ã¼ã\texttt{'boxbdd'}ã®æåãã®éã«å
¥ãglue/kernãï¼
+\textit{Nq}ã®ç´å¾ã«æ¿å
¥ããã®ã¿ã§ããï¼
+
+ä¸æ¹ï¼åè
ï¼æ®µè½ï¼ã®å ´åã¯ï¼ãªã¹ãã®æ«å°¾ã¯å¸¸ã«\verb+\penalty10000+ã¨ï¼
+\verb+\parfillskip+ç±æ¥ã®ã°ã«ã¼ãåå¨ããï¼ãã£ã¦ï¼æå¾ã®ã¯ã©ã¹ã¿\textit{Np}ã¯
+ãã®\verb+\parfillskip+ç±æ¥ã®ã°ã«ã¼ã¨ãªãï¼å®è³ªçãªä¸èº«ã®æå¾ã¯ãã®1ã¤åã®ã¯ã©ã¹ã¿\textit{Nq}ã¨ãªãï¼
+\begin{enumerate}
+\item ã¾ã\textit{Nq}ã®ç´å¾ã«ï¼å¾ã«è¿°ã¹ãï¼\textsf{line-end~[E]}ã«ãã£ã¦å®ã¾ã空ç½ãæ¿å
¥ããï¼
+\item 次ã«ï¼æ®µè½ã®æå¾ã®ãé常ã®åææå${}+{}$å¥ç¹ããç¬ç«ããè¡ã¨ãªãã®ãé²ãããã«ï¼
+\Param{jcharwidowpenalty}ã®å¤ã®åã ãé©åãªå ´æã®ããã«ãã£ãå¢ããï¼
+
+ããã«ãã£éãå¢ããå ´æã¯ï¼\textit{head}ã\textbf{JAchar}ã§ããï¼ãã¤ãã®æåã®\Param{kcatcode}ãå¶æ°ã§ãããããª
+æå¾ã®ã¯ã©ã¹ã¿ã®ç´åã«ãããã®ãã¡ã§ãã\footnote{大éæã«è¨ãã°ï¼\Param{kcatcode}ãå¥æ°ã§ãããããª\textbf{JAchar}
+ãç´ç©ã¨ãã¦èãã¦ãããã¨ã«ãªãï¼\Param{kcatcode}ã®æä¸ä½ãããã¯ãã®\Param{jcharwidowpenalty}ç¨ã«ã®ã¿å©ç¨ãããï¼}ï¼
+\end{enumerate}
+
+\subsection{æ¦è¦³ã¨å
¸åä¾ï¼2ã¤ã®ãåæAãã®å ´å}
+å
ã«è¿°ã¹ãããã«ï¼2ã¤ã®é£ãåã£ãã¯ã©ã¹ã¿ï¼\textit{Nq}ã¨\textit{Np}ã®éã«ã¯ï¼
+ããã«ãã£ï¼\verb+\vadjust+ï¼whatsitãªã©ï¼è¡çµçã«ã¯é¢ä¿ããªããã®ãããï¼æ¨¡å¼çã«è¡¨ãã¨ï¼
+\[
+ \Node{cluster}{\textit{Nq}}\longrightarrow
+\overbrace{
+\Node{penalty}{$p$}\longrightarrow \cdots\longrightarrow \Node{whatsit}{}}^{(a)}
+\longrightarrow \Node{cluster}{\textit{Np}}
+\]
+ã®ããã«ãªã£ã¦ããï¼éã®(a)ã«ç¸å½ããé¨åã«ã¯ï¼ä½ã®ãã¼ãããªãå ´åããã¡ããããå¾ãï¼
+ãããã¦ï¼JFMã°ã«ã¼æ¿å
¥å¾ã«ã¯ï¼ãã®2ã¯ã©ã¹ã¿éã¯æ¬¡ã®ããã«ãªãï¼
+\[
+ \Node{cluster}{\textit{Nq}}\longrightarrow\Node{kern}{左空ç½}\longrightarrow
+\overbrace{
+\Node{penalty}{$p+x$}\longrightarrow \cdots\longrightarrow \Node{whatsit}{}}^{(a)}
+\longrightarrow \Node{glue or kern}{å³ç©ºç½}\longrightarrow \Node{cluster}{\textit{Np}}
+\]
+
+以å¾ï¼\textbf{å
¸åçãªä¾ã¨ãã¦ï¼ã¯ã©ã¹ã¿\textit{Nq}ã¨\textit{Np}ãå
±ã«\textsf{\textmd{åæA}}ã§ããå ´åãè¦ã¦ãããï¼}
+ãã®å ´åãå
¨ã¦ã®å ´åã®åºæ¬ã¨ãªãï¼
+
+\paragraph{ãå³ç©ºç½ãã®ç®åº}
+ã¾ãï¼ãå³ç©ºç½ãã«ãããéãç®åºããï¼é常ã¯ãããï¼é£ãåã£ã2ã¤ã®åææåéã«å
¥ã空ç½éã¨ãªãï¼
+\begin{description}
+\item[JFMç±æ¥{[M]}] JFMã®æåã¯ã©ã¹æå®ã«ãã£ã¦å
¥ã空ç½ã以ä¸ã«ãã£ã¦æ±ããï¼ãã®æ®µéã§ç©ºç½éãæªå®ç¾©ï¼æªæå®ï¼ã ã£ãå ´åï¼
+ ããã©ã«ãå¤\Param{kanjiskip}ãæ¡ç¨ãããã¨ã¨ãªãã®ã§ï¼æ¬¡ã¸ï¼
+\begin{enumerate}
+\item ãã両ã¯ã©ã¹ã¿ã®éã§\verb+\inhibitglue+ãå®è¡ããã¦ããå ´åï¼è¨¼ã¨ãã¦whatsitãã¼ããèªåæ¿å
¥ãããï¼ï¼
+ 代ããã«\Param{kanjiskip}ãæ¿å
¥ããããã¨ã¨ãªãï¼æ¬¡ã¸ï¼
+\item \textit{Nq}ã¨\textit{Np}ãåãJFMã»åã\texttt{jfmvar}ãã¼ã»åããµã¤ãºã®åæãã©ã³ãã§ãã£ããªãã°ï¼
+ å
±éã«ä½¿ã£ã¦ããJFMå
ã§æ¿å
¥ãããç©ºç½ (glue or kern) ã決ã¾ã£ã¦ããã調ã¹ãï¼
+\item 1.ã§ã2.ã§ããªãå ´åã¯ï¼\textit{Nq}ã¨\textit{Np}ãéãJFM/\texttt{jfmvar}/ãµã¤ãºã§ããï¼
+ãã®å ´åï¼ã¾ã
+\[
+\vcenter{\halign{\hfil$#:={}$&(\inhibitglue#\inhibitglue)\cr
+gb&\textit{Nq}ã¨ãæåã³ã¼ãã{\tt'diffmet'}ã®æåãã¨ã®éã«å
¥ãglue/kern\cr
+ga&ãæåã³ã¼ãã{\tt'diffmet'}ã®æåãã¨\textit{Np}ã¨ã®éã«å
¥ãglue/kern\cr
+}}
+\]
+ã¨ãã¦ï¼å·¦å´ç±æ¥ã»å³å´ç±æ¥ã®ç©ºç½ (glue/kern) ãï¼ããããã®JFMããï¼æ±ããï¼
+$\mathit{ga}$ã¨$\mathit{gb}$ã®ã©ã¡ããçæ¹ãæªå®ç¾©ã§ãããªãã°ï¼å®ç¾©ããã¦ããå´ã®å¤ããã®ã¾ã¾æ¡ç¨ããï¼
+ãã$\mathit{ga}$ã¨$\mathit{gb}$ã両æ¹æ±ºã¾ã£ã¦ãããªãã°ï¼ä¸¡è
ã®å¤ãå¹³å\footnote{\Param{differentjfm}ãã©ã¡ã¿ã®
+å¤ã«ãã£ã¦ï¼ã大ããæ¹ããå°ããæ¹ããåè¨ãã«å¤ãããã¨ãã§ããï¼}ããå¤ãæ¡ç¨ããï¼
+\end{enumerate}
+
+ä¾ãã°ï¼
+\begin{verbatim}
+\jfont\foo=psft:Ryumin-Light:jfm=ujis
+\jfont\bar=psft:GothicBBB-Medium:jfm=ujis
+\jfont\baz=psft:GothicBBB-Medium:jfm=ujis;jfmvar=piyo
+\end{verbatim}
+ã¨ãã3ãã©ã³ããèãï¼
+\[
+ \overbrace{\Node{glyph}{{\tt\char92 foo}, `ã'}}^{p}
+\longrightarrow \overbrace{\Node{glyph}{{\tt\char92 bar}, `ã'}}^{q}
+\longrightarrow \overbrace{\Node{glyph}{{\tt\char92 baz}, `ã'}}^{r}
+\]
+ã¨ãã3ãã¼ããèããï¼ããããåç¬ã§ã¯ã©ã¹ã¿ããªãï¼ï¼
+ãã®å ´åï¼$p$ã¨$q$ã®éã¯ï¼å®ãã©ã³ããç°ãªãã«ãããããã(2)ã®ç¶æ³ã¨ãªãä¸æ¹ã§ï¼
+$q$ã¨$r$ã®éã¯ï¼å®ãã©ã³ããåããªã®ã«ï¼\texttt{jfmvar}ãã¼ã®å
容ãç°ãªãã®ã§(3)ã®ç¶æ³ã¨ãªãï¼
+\item[\Param{kanjiskip}~{[K]}] ä¸ã®[M]ã«ããã¦ç©ºç½ãå®ã¾ããªãã£ãå ´åï¼
+\Param{kanjiskip}ã®å¤ã以ä¸ã§å®ãï¼ããããå³ç©ºç½ãã¨ãã¦æ¡ç¨ããï¼
+ãã®æ®µéã«ããã¦ã¯ï¼\verb+\inhibitglue+ã¯å¹åãæããªãããï¼
+çµæã¨ãã¦ï¼2ã¤ã®åææåéã«ã¯å¸¸ã«ä½ããã®glue/kernãæ¿å
¥ããããã¨ã¨ãªãï¼
+\begin{enumerate}
+\item 両ã¯ã©ã¹ã¿ï¼å³å¯ã«ã¯$\mathit{Nq}.\mathit{tail}$ï¼$\mathit{Np}.\mathit{head}$ï¼ã®ä¸èº«ã®æåã³ã¼ãã«å¯¾ãã
+\Param{autospacing}ãã©ã¡ã¿ã両æ¹ã¨ãfalseã ã£ãå ´åã¯ï¼é·ã0ã®glueã¨ããï¼
+\item ã¦ã¼ã¶å´ããè¦ã\Param{kanjiskip}ãã©ã¡ã¿ã®èªç¶é·ã${\tt \char92 maxdimen}=(2^{30}-1)\,{\rm sp}$ã§
+ãªããã°ï¼\Param{kanjiskip}ãã©ã¡ã¿ã®å¤ãæã¤glueãæ¡ç¨ããï¼
+\item 2.ã§ãªãå ´åã¯ï¼\textit{Nq}, \textit{Np}ã§ä½¿ããã¦ããJFMã«æå®ããã¦ãã\Param{kanjiskip}ã®å¤ãç¨ããï¼
+ã©ã¡ããçæ¹ã®ã¯ã©ã¹ã¿ã ããåææåï¼\textsf{åæA}ã»\textsf{åæB}ï¼ã®ã¨ãã¯ï¼ãã¡ãã®ã¯ã©ã¹ã¿ã§ä½¿ããã¦ãã
+JFMç±æ¥ã®å¤ã ããç¨ããï¼ãã両è
ã§ä½¿ããã¦ããJFMãç°ãªã£ãå ´åã¯ï¼ä¸ã®[M]~3.ã¨åæ§ã®æ¹æ³ãç¨ãã¦èª¿æ´ããï¼
+\end{enumerate}
+\end{description}
+\paragraph{ã左空ç½ãã®ç®åºã¨ããã«ä¼´ãè£æ£}
+次ã«ï¼ã左空ç½ãã«ãããéãç®åºããï¼
+\begin{description}
+\item[line-end~{[E]}]
+\textit{Nq}ã¨\textit{Np}ã®éã§è¡åå²ãèµ·ããã¨ãã«ï¼
+\textit{Nq}ã¨è¡æ«ã®éã«å
¥ã空ç½ã§ããï¼ã¶ãä¸ãçµã®çµçãªã©ã«ç¨ãããããã¨ãæå¾
ãã¦ããï¼
+\begin{enumerate}
+\item æ¢ã«ç®åºãããå³ç©ºç½ããkernã§ããå ´åã¯ï¼ã左空ç½ãã¯æ¿å
¥ãããªãï¼
+\item ãå³ç©ºç½ããglueãæªå®ç¾©ï¼é·ã0ã®glueã¨ã¿ãªãï¼ã®å ´åã¯ï¼ã左空ç½ãã¯
+\textit{Nq}ã¨ãæåã³ã¼ã\texttt{'lineend'}ã®æåãã¨ã®éã«å
¥ãkernã¨ãã¦ï¼JFMãã決å®ãããï¼
+\item 2.ã§æ±ºã¾ã£ãã左空ç½ãã®é·ãã0ã§ãªããã°ï¼ãã®åã ãå
ã»ã©ç®åºãããå³ç©ºç½ãã®èªç¶é·ãå¼ãï¼
+\end{enumerate}
+\end{description}
+\paragraph{ç¦åç¨ããã«ãã£ã®æ¿å
¥}
+ã¾ãï¼
+\[
+ a:=(\text{\textit{Nq}{\footnotemark}ã®æåã«å¯¾ãã\Param{postbreakpenalty}ã®å¤})
++(\text{\textit{Np}{\footnotemark}ã®æåã«å¯¾ãã\Param{prebreakpenalty}ã®å¤})
+\]
+ã¨ãã\footnotetext{å³å¯ã«ã¯ãããã$\mathit{Nq}.\mathit{tail}$ï¼$\mathit{Np}.\mathit{head}$ï¼}ï¼
+ããã«ãã£ã¯é常$[-10000,10000]$ã®æ´æ°å¤ãã¨ãï¼ã¾ã$\pm 10000$ã¯æ£è² ã®ç¡é大ãæå³ãããã¨ã«ãªã£ã¦ãããï¼ãã®$a$ã®
+ç®åºã§ã¯åç´ãªæ´æ°ã®å æ¸ç®ãè¡ãï¼
+
+$a$ã¯ç¦åå¦çç¨ã«\textit{Nq}ã¨\textit{Np}ã®éã«å ããããã¹ãããã«ãã£éã§ããï¼
+\begin{description}
+\item[P-normal~{[PN]}]
+\textit{Nq}ã¨\textit{Np}ã®éã®(a)é¨åã«ããã«ãã£(\textit{penalty\_node})ãããã°å¦çã¯ç°¡åã§ããï¼
+ãããã®åãã¼ãã«ããã¦ï¼ããã«ãã£å¤ãï¼$\pm 10000$ãç¡é大ã¨ãã¦æ±ãã¤ã¤ï¼$a$ã ãå¢å ãããã°ããï¼
+ã¾ãï¼$10000 + (-10000) = 0$ã¨ãã¦ããï¼
+
+å°ã
å°ãã®ã¯ï¼(a)é¨åã«ããã«ãã£ãåå¨ãã¦ããªãå ´åã§ããï¼
+ç´æçã«ï¼è£æ£ãã¹ãé$a$ã0ã§ãªãã¨ãï¼ãã®å¤ããã¤\textit{penalty\_node}ãä½ã£ã¦
+ãå³ç©ºç½ãã®ï¼ããæªå®ç¾©ãªã\textit{Np}ã®ï¼ç´åã«æ¿å
¥â¦â¦
+ã¨ãããã¨ã«ãªããï¼å®éã«ã¯å
ãã«ããããè¤éã§ããï¼
+\begin{itemize}
+\item ãå³ç©ºç½ããkernã§ããã¨ãï¼
+ããã¯ã\textit{Nq}ã¨\textit{Np}ã®éã§æ¹è¡ã¯è¨±ãããªãããã¨ãæå³ãã¦ããï¼ãã®ããï¼
+ãã®å ´åã¯$a\neq 0$ã§ãã£ã¦ãããã«ãã£ã®æ¿å
¥ã¯ããªãï¼
+\item ã左空ç½ããkernã¨ãã¦ãã£ã¡ãå®ç¾©ããã¦ããæï¼ãã®ã¨ãï¼ãå³ç©ºç½ãã¯kernã§ãªãï¼ï¼
+ãã®ã左空ç½ãã®ç´å¾ã§ã®è¡åå²ã許容ããªãã¨ãããªãã®ã§ï¼$a=0$ã§ãã£ã¦ã
+\textit{penalty\_node}ãä½ã£ã¦æ¿å
¥ããï¼
+\item 以ä¸ã®ã©ãã§ããªãã¨ãã¯ï¼$a\neq 0$ãªãã°\textit{penalty\_node}ãä½ã£ã¦æ¿å
¥ããï¼
+\end{itemize}
+\end{description}
+
+\def\gkf#1#2#3{\sf$\displaystyle\vphantom{\Bigg(}%
+ \frac{\hbox to 1\zw{#1}\hbox to 4.5\zw{\hss #2}}{\hbox{#3}}$}
+\begin{table}[t]
+\caption{Summary of JFM glues}
+\label{tab-jfmglue}
+\begin{center}
+\small
+\begin{tabular}{>{\sf}c|cccccc}
+\toprule
+{\bf\textit{Np}}â&\sf åæA&\sf åæB&\sf 欧æ&\sf ç®±&\sf glue&\sf kern\\\midrule
+åæA&
+\gkf{E}{MâK}{PN}&
+\gkf{---}{\OA âK}{PN}&
+\gkf{---}{\OA âX}{PN}&
+\gkf{---}{\OA}{PA}&
+\gkf{---}{\OA}{PN}&
+\gkf{---}{\OA}{PS}\\
+åæB&
+\gkf{E}{\OBâK}{PA}&
+\gkf{---}{K}{PS}&
+\gkf{---}{X}{PS}\\
+欧æ&
+\gkf{E}{\OB âX}{PA}&
+\gkf{---}{X}{PS}\cr
+ç®±&\gkf{E}{\OB}{PA}\\
+glue&\gkf{E}{\OB}{PN}\\
+kern&\gkf{E}{\OB}{PS}\\
+\bottomrule
+\end{tabular}
+\end{center}
+\begin{quote}
+Here {\small\gkf{E}{MâK}{PN}} means that
+\begin{enumerate}
+\item To determine the `right-space', \LuaTeX-ja first attempts by the method `\textsf{JFM-origin~[M]}'.
+If this attempt fails, \LuaTeX-ja use the method `\textsf{\Param{kanjiskip}~[K]}'.
+\item The `left space' between \textit{Nq}~and~\textit{Np} is determined by the method `\textsf{line-end~[E]}'.
+\item \LuaTeX-ja adopts the method `\textsf{P-normal~[PN]}' to adjust the penalty between two clusters for \emph{kinsoku shori}.
+\end{enumerate}
+\end{quote}
+\end{table}
+
+\subsection{ãã®ä»ã®å ´å}
+æ¬ç¯ã®å
容ã¯è¡¨\ref{tab-jfmglue}ã«ã¾ã¨ãã¦ããï¼
+
+\paragraph{åæAã¨æ¬§æã®é}
+\textit{Nq}ã\textsf{åæA}ã§ï¼\textit{Np}ã\textsf{欧æ}ã®å ´åï¼JFMã°ã«ã¼æ¿å
¥å¦çã¯æ¬¡ã®ããã«ãã¦è¡ãããï¼
+\begin{itemize}
+\item ãå³ç©ºç½ãã«ã¤ãã¦ã¯ï¼ã¾ã以ä¸ã«è¿°ã¹ã\textsf{Boundary-B~[\OB]}ã«ãã空ç½ã決å®ãããã¨è©¦ã¿ãï¼
+ããã失æããå ´åã¯ï¼\textsf{\Param{xkanjiskip}~[X]}ã«ãã£ã¦å®ããï¼
+\item ã左空ç½ãã«ã¤ãã¦ã¯ï¼æ¢ã«è¿°ã¹ã\textsf{line-end~[E]}ããã®ã¾ã¾æ¡ç¨ããï¼ããã«ä¼´ããå³ç©ºç½ãã®è£æ£ãåãï¼
+\item ç¦åç¨ããã«ãã£ãï¼ä»¥åè¿°ã¹ã\textsf{P-normal~[PN]}ã¨åãã§ããï¼
+\end{itemize}
+\begin{description}
+\item[Boundary-B~{[\OB]}] åææåã¨ãåæã§ãªããã®ãã¨ã®éã«å
¥ã空ç½ã以ä¸ã«ãã£ã¦æ±ãï¼
+æªå®ç¾©ã§ãªããã°ããããå³ç©ºç½ãã¨ãã¦æ¡ç¨ããï¼
+\textsf{JFM-origin~[M]}ã®å¤ç¨®ã¨èãã¦è¯ãï¼
+ããã«ãã£ã¦å®ã¾ã空ç½ã®å
¸åä¾ã¯ï¼åæã®éãæ¬å¼§ã¨æ¬§ææåã®éã«å
¥ãåè§ã¢ãã§ããï¼
+\begin{enumerate}
+\item ãã両ã¯ã©ã¹ã¿ã®éã§\verb+\inhibitglue+ãå®è¡ããã¦ããå ´åï¼è¨¼ã¨ãã¦whatsitãã¼ããèªåæ¿å
¥ãããï¼ï¼æ¬¡ã¸ï¼
+\item ããã§ãªããã°ï¼
+\textit{Nq}ã¨ãæåã³ã¼ãã{\tt'jcharbdd'}ã®æåãã¨ã®éã«å
¥ãglue/kernã¨ãã¦å®ã¾ãï¼
+\end{enumerate}
+\item[\Param{xkanjiskip}~{[X]}]
+ãã®æ®µéã§ã¯ï¼\textsf{\Param{kanjiskip}~[K]}ã®ã¨ãã¨åãããã«ï¼
+\Param{xkanjiskip}ã®å¤ã以ä¸ã§å®ãï¼ããããå³ç©ºç½ãã¨ãã¦æ¡ç¨ããï¼
+ãã®æ®µéã§\verb+\inhibitglue+ã¯å¹åãæããªãã®ãåãã§ããï¼
+\begin{enumerate}
+\item 以ä¸ã®ããããã®å ´åã¯ï¼\Param{xkanjiskip}ã®æ¿å
¥ã¯ææ¢ãããï¼ãããï¼å®éã«ã¯è¡åå²ã許容ããããã«ï¼é·ã0ã®glueãæ¡ç¨ããï¼
+\begin{itemize}
+\item 両ã¯ã©ã¹ã¿ã«ããã¦ï¼ãããã®ä¸èº«ã®æåã³ã¼ãã«å¯¾ãã\Param{autoxspacing}ãã©ã¡ã¿ãå
±ã«falseã§ããï¼
+\item \textit{Nq}ã®ä¸èº«ã®æåã³ã¼ãã«ã¤ãã¦ï¼ãç´å¾ã¸ã®\Param{xkanjiskip}ã®æ¿å
¥ããç¦æ¢ããã¦ãã
+ï¼ã¤ã¾ãï¼\Param{jaxspmode}~(or \Param{alxspmode})ãã©ã¡ã¿ã2以ä¸ï¼ï¼
+\item \textit{Np}ã®ä¸èº«ã®æåã³ã¼ãã«ã¤ãã¦ï¼ãç´åã¸ã®\Param{xkanjiskip}ã®æ¿å
¥ããç¦æ¢ããã¦ãã
+ï¼ã¤ã¾ãï¼\Param{jaxspmode}~(or \Param{alxspmode})ãã©ã¡ã¿ãå¶æ°ï¼ï¼
+\end{itemize}
+\item ã¦ã¼ã¶å´ããè¦ã\Param{xkanjiskip}ãã©ã¡ã¿ã®èªç¶é·ã${\tt \char92 maxdimen}=(2^{30}-1)\,{\rm sp}$ã§
+ãªããã°ï¼\Param{xkanjiskip}ãã©ã¡ã¿ã®å¤ãæã¤glueãæ¡ç¨ããï¼
+\item 2.ã§ãªãå ´åã¯ï¼\textit{Nq}, \textit{Np}ï¼\textsf{åæA}/\textsf{åæB}ãªã®ã¯çæ¹ã ãï¼
+ã§ä½¿ããã¦ããJFMã«æå®ããã¦ãã\Param{xkanjiskip}ã®å¤ãç¨ããï¼
+\end{enumerate}
+\end{description}
+
+\paragraph{欧æã¨åæAã®é}
+\textit{Nq}ã\textsf{欧æ}ã§ï¼\textit{Np}ã\textsf{åæA}ã®å ´åï¼JFMã°ã«ã¼æ¿å
¥å¦çã¯ä¸ã®å ´åã¨ã»ã¼åãã§ããï¼
+\textsf{åæA}ã®ã¯ã©ã¹ã¿ãéã«ãªãã®ã§ï¼\textsf{Boundary-A~[\OA]}ã®é¨åãå¤ããã ãï¼
+\begin{itemize}
+\item ãå³ç©ºç½ãã«ã¤ãã¦ã¯ï¼ã¾ã以ä¸ã«è¿°ã¹ã\textsf{Boundary-A~[\OA]}ã«ãã空ç½ã決å®ãããã¨è©¦ã¿ãï¼
+ããã失æããå ´åã¯ï¼\textsf{\Param{xkanjiskip}~[X]}ã«ãã£ã¦å®ããï¼
+\item \textit{Nq}ãåæã§ãªãã®ã§ï¼ã左空ç½ãã¯ç®åºãããªãï¼
+\item ç¦åç¨ããã«ãã£ã¯ï¼ä»¥åè¿°ã¹ã\textsf{P-normal~[PN]}ã¨åãã§ããï¼
+\end{itemize}
+\begin{description}
+\item[Boundary-A~{[\OA]}] ãåæã§ãªããã®ãã¨åææåã¨ã®éã«å
¥ã空ç½ã以ä¸ã«ãã£ã¦æ±ãï¼
+æªå®ç¾©ã§ãªããã°ããããå³ç©ºç½ãã¨ãã¦æ¡ç¨ããï¼
+\textsf{JFM-origin~[M]}ã®å¤ç¨®ã¨èãã¦è¯ãï¼
+ããã«ãã£ã¦å®ã¾ã空ç½ã®å
¸åä¾ã¯ï¼æ¬§ææåã¨åæã®éãæ¬å¼§ã¨ã®éã«å
¥ãåè§ã¢ãã§ããï¼
+\begin{enumerate}
+\item ãã両ã¯ã©ã¹ã¿ã®éã§\verb+\inhibitglue+ãå®è¡ããã¦ããå ´åï¼è¨¼ã¨ãã¦whatsitãã¼ããèªåæ¿å
¥ãããï¼ï¼æ¬¡ã¸ï¼
+\item ããã§ãªããã°ï¼
+ãæåã³ã¼ãã{\tt'jcharbdd'}ã®æåãã¨\textit{Np}ã¨ã®éã«å
¥ãglue/kernã¨ãã¦å®ã¾ãï¼
+\end{enumerate}
+\end{description}
+
+\paragraph{åæAã¨ç®±ã»glueã»kernã®é}
+\textit{Nq}ã\textsf{åæA}ã§ï¼\textit{Np}ã\textsf{ç®±}ã»glueã»kernã®ããããã§ãã£ãå ´åï¼
+両è
ã®éã«æ¿å
¥ãããJFMã°ã«ã¼ã«ã¤ãã¦ã¯åãå¦çã§ããï¼ãããï¼ããã§ã®è¡åå²ã«å¯¾ããä»æ§ãç°ãªãã®ã§ï¼
+ããã«ãã£ã®æ¿å
¥å¦çã¯è¥å¹²ç°ãªã£ããã®ã¨ãªã£ã¦ããï¼
+
+\begin{itemize}
+\item ãå³ç©ºç½ãã«ã¤ãã¦ã¯ï¼æ¢ã«è¿°ã¹ã\textsf{Boundary-B~[\OB]}ã«ãã空ç½ã決å®ãããã¨è©¦ã¿ãï¼
+ããã失æããå ´åã¯ï¼ãå³ç©ºç½ãã¯æ¿å
¥ãããªãï¼
+\item ã左空ç½ãã«ã¤ãã¦ã¯ï¼æ¢ã«è¿°ã¹ã\textsf{line-end~[E]}ã®ç®åºæ¹æ³ããã®ã¾ã¾æ¡ç¨ããï¼ããã«ä¼´ããå³ç©ºç½ãã®è£æ£ãåãï¼
+\item ç¦åç¨ããã«ãã£ã®å¦çã¯ï¼å¾ãã®ã¯ã©ã¹ã¿\textit{Np}ã®ç¨®é¡ã«ãã£ã¦ç°ãªãï¼
+ãªãï¼$\mathit{Np}.\mathit{head}$ã¯ç¡æå³ã§ããããï¼
+ã$\mathit{Np}.\mathit{head}$ã«å¯¾ãã\Param{prebreakpenalty}ã®å¤ãã¯0ã¨ã¿ãªãããï¼è¨ãæããã°ï¼
+\[
+ a:=(\text{\textit{Nq}{\footnotemark}ã®æåã«å¯¾ãã\Param{postbreakpenalty}ã®å¤}).
+\]
+\begin{description}
+\item[ç®±] \textit{Np}ã\textsf{ç®±}ã§ãã£ãå ´åã¯ï¼ä¸¡ã¯ã©ã¹ã¿ã®éã§ã®è¡åå²ã¯
+ï¼æ示çã«ä¸¡ã¯ã©ã¹ã¿ã®éã«\verb+\penalty10000+ããã£ãå ´åãé¤ãï¼ãã¤ã許容ãããï¼ãã®ããï¼
+ããã«ãã£å¦çã¯ï¼å¾ã«è¿°ã¹ã\textsf{P-allow~[PA]}ã\textsf{P-normal~[PN]}ã®ä»£ããã«ç¨ããããï¼
+\item[glue] \textit{Np}ãglueã®å ´åï¼ããã«ãã£å¦çã¯\textsf{P-normal~[PN]}ãç¨ããï¼
+\item[kern] \textit{Np}ãkernã§ãã£ãå ´åã¯ï¼ä¸¡ã¯ã©ã¹ã¿ã®éã§ã®è¡åå²ã¯
+ï¼æ示çã«ä¸¡ã¯ã©ã¹ã¿ã®éã«ããã«ãã£ããã£ãå ´åãé¤ãï¼è¨±å®¹ãããªãï¼
+ããã«ãã£å¦çã¯ï¼å¾ã«è¿°ã¹ã\textsf{P-suppress~[PS]}ã使ãï¼
+\end{description}
+ãããã®\textsf{P-normal~[PN]}ï¼\textsf{P-allow~[PA]}ï¼\textsf{P-suppress~[PS]}ã®éãã¯ï¼
+\textit{Nq}ã¨\textit{Np}ã®éï¼ä»¥åã®å³ã ã¨(a)ã®é¨åï¼ã«ããã«ãã£ãåå¨ããªãå ´åã«ã®ã¿åå¨ããï¼
+\end{itemize}
+
+\begin{description}
+\item[P-allow~{[PA]}]
+\textit{Nq}ã¨\textit{Np}ã®éã®(a)é¨åã«ããã«ãã£ãããã°ï¼\textsf{P-normal~[PN]}ã¨åæ§ã«ï¼
+ãããã®åãã¼ãã«ããã¦ããã«ãã£å¤ã$a$ã ãå¢å ãããï¼
+
+(a)é¨åã«ããã«ãã£ãåå¨ãã¦ããªãå ´åï¼
+\LuaTeX-ja ã¯\textit{Nq}ã¨\textit{Np}ã®éã®è¡åå²ãå¯è½ã«ãããã¨ããï¼
+ãã®ããã«ï¼ä»¥ä¸ã®å ´åã«$a$ããã¤\textit{penalty\_node}ãä½ã£ã¦
+ãå³ç©ºç½ãã®ï¼ããæªå®ç¾©ãªã\textit{Np}ã®ï¼ç´åã«æ¿å
¥ããï¼
+\begin{itemize}
+\item ãå³ç©ºç½ããglueã§ãªãï¼kernãæªå®ç¾©ï¼ã§ããã¨ãï¼
+\item ã左空ç½ããkernã¨ãã¦ãã£ã¡ãå®ç¾©ããã¦ããæï¼
+\end{itemize}
+
+\item[P-suppress~{[PS]}]
+\textit{Nq}ã¨\textit{Np}ã®éã®(a)é¨åã«ããã«ãã£ãããã°ï¼\textsf{P-normal~[PN]}ã¨åæ§ã«ï¼
+ãããã®åãã¼ãã«ããã¦ããã«ãã£å¤ã$a$ã ãå¢å ãããï¼
+
+(a)é¨åã«ããã«ãã£ãåå¨ãã¦ããªãå ´åï¼
+\textit{Nq}ã¨\textit{Np}ã®éã®è¡åå²ã¯å
ã
ä¸å¯è½ã®ã¯ãã ã£ãã®ã§ãããï¼
+\LuaTeX-ja ã¯ãããããããè¡åå²å¯è½ã«ã¯ããªãï¼
+ãã®ããï¼ãå³ç©ºç½ããglueã§ããã°ï¼ãã®ç´åã«\verb+\penalty10000+ãæ¿å
¥ããï¼
+\end{description}
+
+ãªãï¼ãå³ç©ºç½ãã¯kernï¼ã左空ç½ãã¯æªå®ç¾©ã®
+\[
+ \overbrace{\Node{glyph}{`ã'}}^{\mathit{Nq}}\longrightarrow \overbrace{\Node{glue}{1\,pt}}^{\mathit{Np}}
+\]
+ã®ãããªç¶æ³ãèããï¼
+ãã®ã¨ãï¼$a$ï¼å³ã¡ãããã®\Param{postbreakpenalty}ããããªãå¤ã§ãã£ã¦ãï¼
+ãã®2ã¯ã©ã¹ã¿éã¯æçµçã«
+\begin{equation}
+ \overbrace{\Node{glyph}{`ã'}}^{\mathit{Nq}}\longrightarrow
+\Node{kern}{å³ç©ºç½}\longrightarrow \overbrace{\Node{glue}{1\,pt}}^{\mathit{Np}}
+\label{eq-gref}
+\end{equation}
+ã¨ãªãï¼$a$åã®ããã«ãã£ã¯æ¿å
¥ãããªããã¨ã«æ³¨æãã¦æ¬²ããï¼
+\Param{postbreakpenalty}ã¯ï¼$a$ã¯ï¼æ®ã©ã®å ´åãéè² ã®å¤ã¨èãããï¼ãã®ãããªå ´åã§ã¯
+\eqref{eq-gref}ã¨
+\[
+ \overbrace{\Node{glyph}{`ã'}}^{\mathit{Nq}}\longrightarrow
+\Node{penalty}{$a$}\longrightarrow
+\Node{kern}{å³ç©ºç½}\longrightarrow \overbrace{\Node{glue}{1\,pt}}^{\mathit{Np}}
+\]
+ã¨ã®éã«å·®ç°ã¯çããªã%
+\footnote{kern$\rightarrow$glueã1ã¤ã®è¡åå²å¯è½ç¹(è¡åå²ã«ä¼´ãããã«ãã£ã¯0)
+ã§ããããï¼ãã¨ã$a=10000$ã§ãã£ã¦ãï¼\textit{Nq}ã¨\textit{Np}ã®éã§è¡åå²ãç¦æ¢ãããã¨ã¯ã§ããªãï¼}ï¼
+\paragraph{ç®±ã»glueã»kernã¨åæAã®é}
+\textit{Np}ã\textsf{ç®±}ã»glueã»kernã®ããããã§ï¼\textit{Np}ã\textsf{åæA}ã§ãã£ãå ´åã¯ï¼
+ããä¸ã®ï¼\textit{Nq}ã¨\textit{Np}ã®é åºãéã«ãªã£ã¦ããï¼å ´åã¨ã»ã¼åãã§ãããï¼ã左空ç½ãããªããªããã¨ã«ã®ã¿æ³¨æï¼
+\begin{itemize}
+\item ãå³ç©ºç½ãã«ã¤ãã¦ã¯ï¼æ¢ã«è¿°ã¹ã\textsf{Boundary-A~[\OA]}ã«ãã空ç½ã決å®ãããã¨è©¦ã¿ãï¼
+ããã失æããå ´åã¯ï¼ãå³ç©ºç½ãã¯æ¿å
¥ãããªãï¼
+\item \textit{Nq}ãåæã§ãªãã®ã§ï¼ã左空ç½ãã¯ç®åºãããªãï¼
+\item ç¦åç¨ããã«ãã£ã®å¦çã¯ï¼\textit{Nq}ã®ç¨®é¡ã«ãã£ã¦ç°ãªãï¼
+$\mathit{Nq}.\mathit{tail}$ã¯ç¡æå³ãªã®ã§ï¼
+\[
+ a:=(\text{\textit{Np}{\footnotemark}ã®æåã«å¯¾ãã\Param{prebreakpenalty}ã®å¤}).
+\]
\begin{description}
-\def\makelabel#1{\textbf{\textit{#1}}}
-\item[first, last] The first/last node of the cluster.
-\item[id] The \textit{id} in above definition.
-\item[nuc]
-
-% jachar
-\item[auto\_kspc, auto\_xspc]
-\item[xspc\_before, xspc\_after]
-
-% alchar, jachar
-\item[pre, post]
-\item[char]
-\item[class]
-\item[lend]
-\item[met, var]
+\item[ç®±] \textit{Nq}ã\textsf{ç®±}ã®å ´åã¯ï¼\textsf{P-allow~[PA]}ãç¨ããï¼
+\item[glue] \textit{Nq}ãglueã®å ´åã¯ï¼\textsf{P-normal~[PN]}ãç¨ããï¼
+\item[kern] \textit{Nq}ãkernã®å ´åã¯ï¼\textsf{P-suppress~[PS]}ãç¨ããï¼
\end{description}
+\end{itemize}
+
+\paragraph{åæAã¨åæBã®éã}
+å
ã«è¿°ã¹ãããã«ï¼\textsf{åæB}ã¯hboxã®ä¸èº«ã®å
é ï¼or æ«å°¾ï¼ã¨ãã¦åºç¾ãã¦ãã
+åææåã§ããï¼ãªã¹ãå
ã«ç´æ¥ãã¼ãã¨ãã¦ç¾ãã¦ããåææåï¼\textsf{åæA}ï¼ã¨ã®éãã¯ï¼
+\begin{itemize}
+\item \textsf{åæB}ã«å¯¾ãã¦ã¯ï¼JFMã®æåã¯ã©ã¹æå®ããå®ã¾ã空ç½
+\textsf{JFM-origin~[M]}ï¼\textsf{Boundary-A~[\OA]}ï¼\textsf{Boundary-B~[\OB]}ï¼ã®æ¿å
¥ã¯è¡ãããªãï¼
+ã左空ç½ãã®ç®åºãè¡ãããªãï¼ä¾ãã°ï¼
+\begin{itemize}
+\item çæ¹ã\textsf{åæA}ï¼ããçæ¹ã\textsf{åæB}ã®ã¯ã©ã¹ã¿ã®å ´åï¼
+\textsf{Boundary-A~[\OA]}ã¾ãã¯\textsf{Boundary-B~[\OB]}ã®æ¿å
¥ã試ã¿ï¼ããããã¡ãªã
+\Param{kanjiskip}~\textsf{[K]}ã®æ¿å
¥ãè¡ãï¼
+\item \textsf{åæB}ã®2ã¤ã®ã¯ã©ã¹ã¿ã®éã«ã¯ï¼\Param{kanjiskip}~\textsf{[K]}ãèªåçã«å
¥ãï¼
+\end{itemize}
+\item \textsf{åæB}ã¨ç®±ã»glueã»kernãé£æ¥ããã¨ãï¼ã©ã¡ããåãã¯é¢ä¿ãªãï¼ï¼éã«JFMã°ã«ã¼ã»ããã«ãã£ã®æ¿å
¥ã¯ä¸åããªãï¼
+\item \textsf{åæB}ã¨\textsf{åæB}ï¼ã¾ã\textsf{åæB}ã¨\textsf{欧æ}ã¨ãé£æ¥ããæã¯ï¼ç¦åç¨ããã«ãã£æ¿å
¥å¦çã¯
+\textsf{P-suppress~[PS]}ãç¨ããããï¼
+\item \textsf{åæB}ã®æåã«å¯¾ãã\Param{prebreakpenalty},~\Param{postbreakpenalty}ã®å¤ã¯ä½¿ãããï¼0ã¨ãã¦è¨ç®ãããï¼
+\end{itemize}
+
+
+次ãå
·ä½ä¾ã§ããï¼
+\begin{LTXexample}
+ãï¼\inhibitglue A\\
+\hbox{ãï¼}A\\
+ãï¼A
+\end{LTXexample}
+\begin{itemize}
+\item 1è¡ç®ã®\verb+\inhibitglue+ã¯\textsf{Boundary-B~[\OB]}ã®å¦çã®ã¿ãææ¢ããã®ã§ï¼ããªãªãã¨ãAãã®éã«ã¯
+\Param{xkanjiskip}ï¼ååã¢ãï¼ãå
¥ããã¨ã«æ³¨æï¼
+\item 2è¡ç®ã®ããªãªãã¨ãAãã®éã«ããã¦ã¯ï¼åè
ã\textsf{åæB}ã¨ãªãï¼hboxã®ä¸èº«ã®æ«å°¾ã¨ãã¦ç»å ´ãã¦ããããï¼ã®ã§ï¼
+ãããã\textsf{Boundary-B~[\OB]}ã®å¦çã¯è¡ãããªãï¼ãã£ã¦ï¼\Param{xkanjiskip}ãå
¥ããã¨ã¨ãªãï¼
+\item 3è¡ç®ã§ã¯ï¼ããªãªãã®å±ããã¯ã©ã¹ã¿ã¯\textsf{åæA}ã§ããï¼ããã«ãã£ã¦ï¼
+ããªãªãã¨ãAãã®éã«ã¯\textsf{Boundary-B~[\OB]}ç±æ¥ã®åè§ã¢ããå
¥ããã¨ã«ãªãï¼
+\end{itemize}
+
+\section{psft}
\end{document}