X-Git-Url: http://git.osdn.jp/view?a=blobdiff_plain;f=doc%2Fmanual.dtx;h=ae1fe9c41fd3434a40af9dcb5727de6455854cb9;hb=89a59b773576447c0be8b57eb3aa5155df8d8f21;hp=f885b40205b67187f0b00f50e060d6ace940ac71;hpb=2b77b29b65a16cb75ba7f83a4bc1319fb36679a1;p=luatex-ja%2Fluatexja.git
diff --git a/doc/manual.dtx b/doc/manual.dtx
index f885b40..ae1fe9c 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[unicode=true]{hyperref}
\usepackage[all]{xy}
\SelectTips{cm}{}
+\def\labelenumii{(\arabic{enumii})}
\DeclareRobustCommand\eTeX{\ensuremath{\varepsilon}-\kern-.125em\TeX}
\DeclareRobustCommand\LuaTeX{Lua\TeX}
@@ -22,7 +29,7 @@
\DeclareRobustCommand\epTeX{\ensuremath{\varepsilon}-\kern-.125em\pTeX}
\ltjsetparameter{jacharrange={-3}}
-\ltjdefcharrange{6}{`â }
+\ltjdefcharrange{6}{`â ,`â¦,`â,`â,`â,`â,`â}
\theoremstyle{definition}
%\newtheorem{defn}{Definition}
%\newtheorem{defn}{å®ç¾©}
@@ -190,7 +197,7 @@ The followings are major changes from \pTeX:
`variation'.
%
%<*ja>
-\item åæãã©ã³ãã¯ãå®éã®ããã©ã³ãï¼åæãã©ã³ãã¡ããªãã¯ï¼JFM ã¨å¼ã¶ï¼ï¼ã
+\item åæãã©ã³ãã¯ï¼å°å¡ææï¼IPAææãªã©ã®ï¼å®éã®ãã©ã³ãï¼åæãã©ã³ãã¡ããªãã¯ï¼JFM ã¨å¼ã¶ï¼ï¼ã
ã㦠`variation' ã¨å¼ã°ããæååã®çµã§ããï¼
%
@@ -410,7 +417,7 @@ This project is hosted by SourceForge.JP.
\def\labelenumi{$\bullet$}
\mitemxxx{Hironori KITAGAWA}{Kazuki MAEDA}{Takayuki YATO}
\mitemxxx{Yusuke KUROKI}{Noriyuki ABE}{Munehiro YAMAMOTO}
-\mitemxxo{Tomoaki HONDA}{Shuzaburo SAITO}
+\mitemxxx{Tomoaki HONDA}{Shuzaburo SAITO}{MA Qiyuan}
\end{multienumerate}
%
%<*ja>
@@ -418,7 +425,7 @@ This project is hosted by SourceForge.JP.
\def\labelenumi{$\bullet$}
\mitemxxx{åå· å¼å
¸}{åç° ä¸è²´}{å
«ç» å´ä¹}
\mitemxxx{é»æ¨ è£ä»}{é¿é¨ ç´è¡}{å±±æ¬ å®å®}
-\mitemxxo{æ¬ç° ç¥äº®}{é½è¤ ä¿®ä¸é}
+\mitemxxx{æ¬ç° ç¥äº®}{é½è¤ ä¿®ä¸é}{馬 èµ·å}
\end{multienumerate}
%
@@ -471,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
@@ -482,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}.
@@ -492,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>
@@ -507,6 +516,8 @@ Note that the forefront of development may not be in \texttt{master} branch.
%
%<*ja>
\item \texttt{src/} ã®ä¸èº«å
¨ã¦ãèªåã® \texttt{TEXMF} ããªã¼ã«ã³ãã¼ããï¼
+ ã·ã³ããªãã¯ãªã³ã¯ãå©ç¨ã§ããç°å¢ã§ï¼ãã¤ã¬ãã¸ããªãç´æ¥åå¾ããã®ã§ããã°ï¼ã³ãã¼ã§ã¯ãªã
+ ãªã³ã¯ãè²¼ãã®ãé©åã ããï¼
%
%<*en>
@@ -526,8 +537,8 @@ 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>
@@ -621,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 ã¯
- å°å¡ææã§ä»£æ¿ãããï¼ï¼ããã§ï¼ããããããã©ã«ãã®ãã©ã³ãã¨
+ å°å¡ææã§ä»£æ¿ãããï¼ï¼ããã§ï¼ããããå¼ãç¶ãããã©ã«ãã®ãã©ã³ãã¨
ãã¦æ¡ç¨ããï¼
%
@@ -633,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}
@@ -783,13 +795,13 @@ 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
@@ -829,7 +841,7 @@ $f_{\text{é«æ¸©}}$~%
($f_{\text{high temperature}}$).
\[ 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>
@@ -1034,7 +1046,7 @@ 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
+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>
@@ -1048,7 +1060,7 @@ However, this reloading won't work for the current version (2011/09/09,~v0.981)
--- 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
+
@@ -1060,6 +1072,10 @@ However, this reloading won't work for the current version (2011/09/09,~v0.981)
\def\tipacatchonechar#1{\begingroup
\def\textipa##1{##1}% prevent recursion
\end{lstlisting}
+%<*ja>
+ãªãï¼ä¸æµã§ v0.984 (2011/10/14) ã§ãã®åé¡ã¯ä¿®æ£ããã¦ããããã§ãï¼ãï¼2012/03/20
+ç¾å¨ï¼ã¾ã CTAN ã«ã¯ä¸ãã£ã¦ããªãï¼ï¼
+%
%\section{Changing Parameters}
@@ -1076,7 +1092,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}
@@ -1086,14 +1102,14 @@ parameters, you have to use commands \verb+\ltjsetparameter+ and
To edit the range of \textbf{JAchar}s, you have to assign a non-zero
natural number which is less than 217 to the character range first. This
can be done by using \verb+\ltjdefcharrange+ primitive. For example, the
-next line assigns whole characters in Supplementary Multilingual Plane
+next line assigns whole characters in Supplementary Ideographic 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+ ããªããã£ããç¨ããï¼
+ä¾ãã°ï¼æ¬¡ã®ããã«æ¸ããã¨ã§è¿½å æ¼¢åé¢ (SIP) ã«ããå
¨ã¦ã®æå㨠`æ¼¢' ã
+ã100çªã®æåç¯å²ãã«å±ããããã«è¨å®ãããï¼
%
\begin{lstlisting}
\ltjdefcharrange{100}{"10000-"1FFFF,`æ¼¢}
@@ -1103,21 +1119,21 @@ This assignment of numbers to ranges are always global, so you should
not do this in the middle of a document.
%
%<*ja>
-ãã®æåç¯å²ã¸ã®çªå·ã®å²ãå½ã¦ã¯ãã¤ãã°ãã¼ãã«ã§ããï¼ãããã£ã¦ææ¸ã®éä¸ã§
+ãã®æåç¯å²ã®å²ãå½ã¦ã¯ãã¤ãã°ãã¼ãã«ã§ããï¼ãããã£ã¦ææ¸ã®éä¸ã§
ãã®æä½ãããã¹ãã§ã¯ãªãï¼
%
%<*en>
If some character has been belonged to some non-zero numbered range,
-this will be overwritten by the new setting. For example, whole SMP
+this will be overwritten by the new setting. For example, whole SIP
belong to the range~4 in the default setting of \LuaTeX-ja, and if you
-specify the above line, then SMP will belong to the range~100 and be
+specify the above line, then SIP will belong to the range~100 and be
removed from the range~4.
%
%<*ja>
ããæå®ãããããæåãããéé¶çªå·ã®ç¯å²ã«å±ãã¦ãããªãã°ï¼ããã¯æ°ããè¨å®ã§
-ä¸æ¸ããããï¼ä¾ãã°ï¼SMP ã¯å
¨ã¦ \LuaTeX-ja ã®ããã©ã«ãã§ã¯4çªã®æåç¯å²ã«
-å±ãã¦ãããï¼ä¸è¨ã®æå®ãè¡ãã° SMP ã¯100çªã«å±ãããã«ãªãï¼4çªããã¯é¤ãããï¼
+ä¸æ¸ããããï¼ä¾ãã°ï¼SIP ã¯å
¨ã¦ \LuaTeX-ja ã®ããã©ã«ãã§ã¯4çªã®æåç¯å²ã«
+å±ãã¦ãããï¼ä¸è¨ã®æå®ãè¡ãã° SIP ã¯100çªã«å±ãããã«ãªãï¼4çªããã¯é¤ãããï¼
%
%<*en>
@@ -1421,7 +1437,7 @@ This range consist of the following Unicode ranges, \emph{except characters in t
"FE10--"FE1F&縦æ¸ãå½¢&
"FE30--"FE4F&CJKäºæå½¢\\
"FE50--"FE6F&å°åå½¢&
-"{20}000--"{2F}FFF&ï¼è¿½å å¤è¨èªé¢ï¼
+"{20}000--"{2F}FFF&ï¼è¿½å æ¼¢åé¢ï¼
%
\end{tabular}
\end{center}
@@ -1741,30 +1757,6 @@ causes a error. We denote control sequences which are defined in
ã³ã³ããã¼ã«ã·ã¼ã±ã³ã¹ã ã§è¡¨ãï¼
%
-%\paragraph{Prefix \texttt{psft}}
-%\paragraph{\texttt{psft} ãã¬ãã£ãã¯ã¹}
-%<*en>
-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>
-\texttt{file:} 㨠\texttt{name:} ã®ãã¬ãã£ãã¯ã¹ã«å ãã¦ï¼
-\verb+\jfont+ ããªããã£ãï¼ã¨ \verb+\font+ ããªããã£ãï¼ã§ã¯
-\texttt{psft:} ãã¬ãã£ãã¯ã¹ç¨ãããã¨ãã§ããï¼
-ãã®ãã¬ãã£ãã¯ã¹ãç¨ãããã¨ã§ï¼PDF ã«ã¯åãè¾¼ã¾ããªããååã ãã®ã
-åæãã©ã³ããæå®ãããã¨ãã§ããï¼å
¸åçãªä½¿ãæ¹ã¯ãæ¨æºçãªãåæãã©ã³ãï¼
-ã¤ã¾ã `Ryumin-Light' 㨠`GothicBBB-Medium' ãæå®ãããã¨ã§ããï¼
-ãã®å ´åï¼ã«ã¼ãã³ã°ä»ã®æ
å ±ã¯å°å¡ææ Pr6N Regular
-ï¼Adobe 社ã«ãããã©ã³ãã§ï¼Adobe Reader ã®æ¥æ¬èªãã©ã³ãããã¯ã«å«ã¾ãã¦ããï¼
-ãç¨ããããï¼
-%
-
\paragraph{JFM}
%<*en>
As noted in Introduction, a JFM has measurements of characters and
@@ -1780,10 +1772,10 @@ which JFM will be used for this font by the following keys:
æå®ããå¿
è¦ãããï¼
%
-\begin{list}{}{\def\makelabel{\ttfamily}\def\{{\char`\{}\def\}{\char`\}}}
+\begin{list}{}{\def\makelabel{\ttfamily}\def\{{\char`\{}\def\}{\char`\}}\advance\leftmargin1\zw}
\item[jfm=]
%<*en>
-Specify the name of JFM. If specified JFM has not been loaded, \LuaTeX-ja search and load
+Specify the name of JFM. If specified JFM has not been loaded, \LuaTeX-ja search and load
a file named \texttt{jfm-.lua}.
The following JFMs are shipped with \LuaTeX-ja:
@@ -1915,73 +1907,180 @@ 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 ãã¡ã¤ã«ã®æ§é }
+
+%<*en>
A JFM file is a Lua script which has only one function call:
+%
+%<*ja>
+JFM ãã¡ã¤ã«ã¯ãã ä¸ã¤ã®é¢æ°å¼ã³åºããå«ã Lua ã¹ã¯ãªããã§ããï¼
+%
\begin{verbatim}
luatexja.jfont.define_jfm { ... }
\end{verbatim}
+%<*en>
Real data are stored in the table which indicated above by
\verb+{ ... }+. So, the rest of this subsection are devoted to describe the
structure of this table. Note that all lengths in a JFM file are
floating-point numbers in design-size unit.
+%
+%<*ja>
+å®éã®ãã¼ã¿ã¯ä¸ã§ \verb+{ ... }+ ã§ç¤ºããããã¼ãã«ã®ä¸ã«æ ¼ç´ããã¦ããï¼
+以ä¸ã§ã¯ãã®ãã¼ãã«ã®æ§é ã«ã¤ãã¦è¨ãï¼
+ãªãï¼JFM ãã¡ã¤ã«ä¸ã®é·ãã¯å
¨ã¦ design-size ãåä½ã¨ããæµ®åå°æ°ç¹æ°ã§ãããã¨ã«
+注æããï¼
+%
+
+\begin{list}{}{\def\makelabel{\ttfamily}\def\{{\char`\{}\def\}{\char`\}}\advance\leftmargin1\zw}
-\begin{list}{}{\def\makelabel{\ttfamily}\def\{{\char`\{}\def\}{\char`\}}}
-\item[dir=] (required)
+\item[dir=]
+%(required)
+%ï¼å¿
é ï¼
-The direction of JFM. At the present, only \texttt{'yoko'} is supported.
+%The direction of JFM. At the present, only \texttt{'yoko'} is supported.
+%JFM ã®æ¸åæ¹åï¼ç¾æç¹ã§ã¯ \texttt{'yoko'} ã®ã¿ããµãã¼ããããï¼
-\item[zw=] (required)
+\item[zw=]
+%(required)
+%ï¼å¿
é ï¼
-The amount of the length of the `full-width'.
+%The amount of the length of the `full-width'.
+%ãå
¨è§å¹
ãã®é·ãï¼
-\item[zh=] (required)
+\item[zh=]
+%(required)
+%ï¼å¿
é ï¼
-\item[kanjiskip=\{, , \}] (optional)
+%The amount of the length of the `full-height' (height + depth).
+%ãå
¨è§é«ããï¼height + depthï¼ã®é·ãï¼
+\item[kanjiskip=\{, , \}]
+%(optional)
+%ï¼ä»»æï¼
+
+%<*en>
This field specifies the `ideal' amount of \Param{kanjiskip}. As noted
in Subsection~\ref{subs-kskip}, if the parameter
\Param{kanjiskip} is \verb+\maxdimen+, the value specified
in this field is actually used (if this field is not specified in
JFM, it is regarded as 0\,pt). Note that and
fields are in design-size unit too.
+%
+%<*ja>
+ãçæ³çãªã \Param{kanjiskip} ã®éãæå®ããï¼\ref{subs-kskip} ç¯ã§è¿°ã¹ãããã«ï¼
+ãã \Param{kanjiskip} ã \verb+\maxdimen+ ã®å¤ãªãã°ï¼ãã®ãã£ã¼ã«ãã§æå®ããã
+å¤ãå®éã«ã¯ç¨ããããï¼ãããã®ãã£ã¼ã«ãã JFM ã§æå®ããã¦ããªããã°ï¼
+0\,pt ã§ãããã®ã¨ãã¦æ±ãããï¼ï¼ 㨠ã®ãã£ã¼ã«ãã design-size
+ãåä½ã§ãããã¨ã«æ³¨æããï¼
+%
+\item[xkanjiskip=\{, , \}]
+%(optional)
+%ï¼ä»»æï¼
-\item[xkanjiskip=\{, , \}] (optional)
-
+%<*en>
Like the \Param{kanjiskip} field, this field specifies the `ideal'
amount of \Param{xkanjiskip}.
-
+%
+%<*ja>
+\Param{kanjiskip} ãã£ã¼ã«ãã¨åæ§ã«ï¼\Param{xkanjiskip} ã®ãçæ³çãªãéã
+æå®ããï¼
+%
\end{list}
+%<*en>
Besides from above fields, a JFM file have several sub-tables those
indices are natural numbers. The table indexed by~$i\in\omega$ stores
information of `character class'~$i$. At least, the character class~0 is
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:
+%
+%<*ja>
+ä¸è¨ã®ãã£ã¼ã«ãã«å ãã¦ï¼JFM ãã¡ã¤ã«ã¯ãã®ã¤ã³ããã¯ã¹ãèªç¶æ°ã§ããããã¤ãã®
+ãµããã¼ãã«ãæã¤ï¼ã¤ã³ããã¯ã¹ã $i\in\omega$ ã§ãããã¼ãã«ã¯ãæåã¯ã©ã¹ã$i$ ã®
+æ
å ±ãæ ¼ç´ããï¼å°ãªãã¨ãï¼æåã¯ã©ã¹0ã¯å¸¸ã«åå¨ããã®ã§ï¼JFM ãã¡ã¤ã«ã¯ã¤ã³ããã¯ã¹
+ã \texttt{[0]} ã®ãµããã¼ãã«ãæããªããã°ãªããªãï¼ããããã®ãµããã¼ãã«
+ï¼ãã®ã¤ã³ããã¯ã¹ã $i$ ã§è¡¨ããï¼ã¯ä»¥ä¸ã®ãã£ã¼ã«ããæã¤ï¼
+%
-\begin{list}{}{\def\makelabel{\ttfamily}\def\{{\char`\{}\def\}{\char`\}}}
-\item[chars=\{, ...\}] (required except character class~0)
+\begin{list}{}{\def\makelabel{\ttfamily}\def\{{\char`\{}\def\}{\char`\}}\advance\leftmargin1\zw}
+\item[chars=\{, ...\}]
+%(required except character class~0)
+%ï¼æåã¯ã©ã¹0ãé¤ãã¦å¿
é ï¼
+%<*en>
This field is a list of characters which are in this character
type~$i$. This field is not required if $i=0$, since all
\textbf{JAchar} which are not in any character class other
- than 0 (hence, the character class~0 contains most of
+ than 0 are in the character class 0
+ (hence, the character class~0 contains most of
\textbf{JAchar}s). In the list, a character can be
specified by its code number, or by the character itself
(as a string of length~1). Moreover, there are `imaginary
characters' which specified in the list. We will describe these later.
+%
+%<*ja>
+ãã®ãã£ã¼ã«ãã¯æåã¯ã©ã¹~$i$ ã«å±ããæåã®ãªã¹ãã§ããï¼ãã®ãã£ã¼ã«ã㯠$i=0$ ã®
+å ´åã«ã¯å¿
é ã§ã¯ãªãï¼ãªããªãã°ï¼æåã¯ã©ã¹ 0 ã«ã¯ï¼0 以å¤ã®æåã¯ã©ã¹ã«å±ãããã®ã
+é¤ããå
¨ã¦ã® \textbf{JAchar} ãå±ããããã§ããï¼ãã£ã¦ï¼æåã¯ã©ã¹ 0 ã¯ã»ã¨ãã©ã®
+\textbf{JAchar} ãå«ãï¼ï¼ãã®ãªã¹ãã§ã¯ï¼æåã¯ãã®æåã³ã¼ããç¨ãã¦ï¼ãããã¯
+æåããèªä½ï¼é·ã1ã®æååï¼ã«ãã£ã¦æå®ãããï¼ããã«ï¼ãã®ãªã¹ãã§æå®ããã
+ãä»®æ³çãªæåããåå¨ããï¼ãããã«ã¤ãã¦ã¯å¾ã«è¨ãï¼
+%
-\item[width=, height=, depth=, italic=]\ (required)
+\item[width=, height=, depth=, italic=]
+%(required)
+%ï¼å¿
é ï¼
+%<*en>
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
+%
+%<*ja>
+æåã¯ã©ã¹~$i$ ã«å±ããæåã®å¹
ï¼é«ãï¼æ·±ãï¼ã¤ã¿ãªãã¯è£æ£ã®éãæå®ããï¼
+æåã¯ã©ã¹~$i$ ã«å±ããå
¨ã¦ã®æåã¯ï¼ãã®å¹
ï¼é«ãï¼æ·±ãããã®ãã£ã¼ã«ãã§æå®ãã
+å¤ã§ãããã®ã¨ãã¦æ±ãããï¼
+ãããï¼ä¾å¤ãä¸ã¤ããï¼ãã \texttt{'prop'} ã \texttt{width} ãã£ã¼ã«ãã«
+æå®ãããå ´åï¼æåã®å¹
ã¯ãã®ãå®éã®ãã°ãªãã®å¹
ã¨ãªãï¼
+%
\item[left=, down=, align=]\
+%<*en>
These fields are for adjusting the position of the `real' glyph. Legal
values of \texttt{align} field are \texttt{'left'},
\texttt{'middle'} and \texttt{'right'}. If one of these
@@ -1989,11 +2088,29 @@ These fields are for adjusting the position of the `real' glyph. Legal
treated as~0, and \texttt{align} field is treated as
\texttt{'left'}.
The effects of these 3~fields are indicated in Figure~\ref{fig-pos}.
+%
+%<*ja>
+ãããã®ãã£ã¼ã«ãã¯ãå®éã®ãã°ãªãã®ä½ç½®ã調æ´ããããã«ããï¼
+\texttt{align} ãã£ã¼ã«ãã«æå®ã§ããå¤ã¯ \texttt{'left'}, \texttt{'middle'},
+\texttt{'right'} ã®ããããã§ããï¼ããããã3ã¤ã®ãã£ã¼ã«ãã®ãã¡ã®1ã¤ãçããã
+å ´åï¼\texttt{left} 㨠\texttt{down} 㯠0ï¼\texttt{align} ãã£ã¼ã«ãã¯
+\texttt{'left'} ã§ãããã®ã¨ãã¦æ±ãããï¼
+ããã3ã¤ã®ãã£ã¼ã«ãã®æå³ã«ã¤ãã¦ã¯å³\ref{fig-pos} ã§èª¬æããï¼
+%
+%<*en>
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'.
+%
+%<*ja>
+å¤ãã®å ´åï¼\texttt{left} 㨠\texttt{down} 㯠0 ã§ããä¸æ¹ï¼
+\texttt{align} ãã£ã¼ã«ãã \texttt{'middle'} ã \texttt{'right'} ã§ãããã¨ã¯
+çãããã¨ã§ã¯ãªãï¼
+ä¾ãã°ï¼\texttt{align} ãã£ã¼ã«ãã \texttt{'right'} ã«æå®ãããã¨ã¯ï¼
+æåã¯ã©ã¹ãéãæ¬å¼§é¡ã§ããã¨ãã«å®éå¿
è¦ã§ããï¼
+%
\begin{figure}[!tb]
\begin{minipage}{0.4\textwidth}%
\begin{center}\unitlength=10pt\small
@@ -2048,19 +2165,49 @@ when the current character class is the class for opening delimiters'.
\end{center}
\end{minipage}%
\begin{minipage}{0.6\textwidth}%
+%<*en>
Consider a node containing Japanese character whose value of the \texttt{align}
field is \texttt{'middle'}.
+%
+%<*ja>
+\texttt{align} ãã£ã¼ã«ãã®å¤ã \texttt{'middle'} ã§ããåææåãå«ããã¼ãã
+èãããï¼
+%
\begin{itemize}
-\item The black rectangle is a frame of the node.
+\item
+%<*en>
+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'},
+%
+%<*ja>
+é»è²ã®é·æ¹å½¢ã¯ãã¼ãã®æ ã§ããï¼
+ãã®å¹
ï¼é«ãï¼æ·±ã㯠JFM ã«ãã£ã¦æå®ãããï¼
+%
+\item
+%<*en>
+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
+%
+%<*ja>
+\texttt{align} ãã£ã¼ã«ã㯠\texttt{middle} ãªã®ã§ï¼ãå®éã®ãã°ãªãã¯
+æ°´å¹³æ¹åã®ä¸å¿ã«é
ç½®ãããï¼ç·è²ã®é·æ¹å½¢ï¼ï¼
+%
+\item
+%<*en>
+Furthermore, the glyph is shifted according to values of fields
\texttt{left} and \texttt{down}. The ultimate position of the real
glyph is indicated by the red rectangle.
+%
+%<*ja>
+ããã«ï¼ã°ãªã㯠\texttt{left} 㨠\texttt{down} ã®å¤ã«å¾ã£ã¦ã·ãããããï¼
+æçµçãªå®éã®ã°ãªãã®ä½ç½®ã¯èµ¤è²ã®é·æ¹å½¢ã§ç¤ºãããä½ç½®ã«ãªãï¼
+%
\end{itemize}
\end{minipage}
-\caption{The position of the `real' glyph.}
+\caption{
+%The position of the `real' glyph.
+%ãå®éã®ãã°ãªãã®ä½ç½®ï¼
+}
\label{fig-pos}
\end{figure}
@@ -2071,7 +2218,8 @@ the `real' glyph is centered horizontally (the green rectangle).
\end{list}
%<*en>
-\begin{list}{}{\def\makelabel{\ttfamily}\def\{{\char`\{}\def\}{\char`\}}}
+The followings are `imaginary characters' which can be specified in \texttt{chars} field.
+\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.
@@ -2087,7 +2235,7 @@ the `real' glyph is centered horizontally (the green rectangle).
æå®å¯è½ã§ããï¼ãããã¯ï¼å¤§åã\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']
@@ -2135,9 +2283,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}}
@@ -2330,7 +2478,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
@@ -2441,7 +2589,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]
@@ -2457,9 +2605,11 @@ 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+:
@@ -2590,7 +2740,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\{\}]
@@ -2626,7 +2776,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)}]}
}
@@ -2778,7 +2928,7 @@ This problem is resolved by using
%\section{åææåç´å¾ã®æ¹è¡}
\label{sec-lbreak}
%\subsection{Reference: Behavior in \pTeX}
-%\subsection{åè: \pTeX ã®æå}
+%\subsection{åè: \pTeX ã®åä½}
%<*en>
In~\pTeX, a line break after a Japanese character doesn't emit a space,
since words are not separated by spaces in Japanese writings. However,
@@ -2818,7 +2968,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 ã®å
¥åå¦çé¨ã¨å
ããã®ã«ãªãï¼
@@ -2858,7 +3008,7 @@ after `beginning/ending of a group' characters.
%\subsection{Behavior in \LuaTeX-ja}
-%\subsection{\LuaTeX-ja ã®æå}
+%\subsection{\LuaTeX-ja ã®åä½}
%<*en>
States in the input processor of \LuaTeX\ is the same as that of \TeX,
and they can't be customized by any callbacks. Hence, we can only use
@@ -2987,6 +3137,8 @@ u
%\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 consecutive nodes in one of the following forms,
with the \textit{id} of it:
@@ -2995,13 +3147,12 @@ with the \textit{id} of it:
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}~$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+.
+\item A kern for the italic correction of~$p$.
+\item An accent attached to $p$ by \verb+\accent+.
\end{enumerate}
\[
\overbrace{%
@@ -3012,7 +3163,7 @@ HOGE
\end{array}\right\}\longrightarrow
\Node{kern}{$\mathit{subtype}=2$}}^{\text{(a)}}
\longrightarrow
-\Node{glyph}{$p$}\longrightarrow
+\Node{glyph}{$p$}\longrightarrow
\overbrace{%
\Node{kern}{italic corr.}}^{\text{(b)}}
\]
@@ -3020,7 +3171,7 @@ HOGE
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, an rule (\verb+\vrule+) and an \textit{unset\_node}.
+\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.
@@ -3033,10 +3184,13 @@ We denote a cluster by \textit{Np}, \textit{Nq} and \textit{Nr}.
以éã¯æ¥æ¬èªï¼
-次ã«ï¼$\mathit{Np}.\mathit{id}$ã®æå³ãè¿°ã¹ãã¨ã¨ãã«ï¼
+\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}] åææåï¼\\
@@ -3053,22 +3207,461 @@ $\mathit{Np}.\mathit{head}$, $\mathit{Np}.\mathit{tail}$ã¯ï¼ãã®åææå
ã¨å帰çã«æ¤ç´¢ãã¦ãã£ã¦ãã©ãçãã\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}
-\item[\textit{id\_pbox}] ãæ¢ã«å¦çãããããã¼ãã®ãªã¹ãï¼
-\item[\textit{id\_disc}] discretionary break (\verb+\discretionary{pre}{post}{nobreak}+).
+\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}
-\item[\textit{id\_box\_like}] \textit{id\_hlist}ã¨ãªããªãboxãï¼ruleï¼
-\item[ä»] ...
+ä¾ãã°ï¼
+\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}
+\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}