X-Git-Url: http://git.osdn.jp/view?a=blobdiff_plain;f=doc%2Fluatexja.dtx;h=9ddbee0e7a82857a96c971f8c5c45137fd037c43;hb=cdf699d8291fe43b3850058cea776cbbb387876f;hp=1eb4433b208535a9b9c506f2a9301ac96c50444d;hpb=239f1ce2935dd6ceb408049bf8db8362d020cb88;p=luatex-ja%2Fluatexja.git
diff --git a/doc/luatexja.dtx b/doc/luatexja.dtx
index 1eb4433..9ddbee0 100644
--- a/doc/luatexja.dtx
+++ b/doc/luatexja.dtx
@@ -15,22 +15,7 @@
%%%%%%%%
\makeatletter
%%%%%%%%
-
-%%%%%%%% record loaded packages
-\let\ltjpkglist\empty
-\newif\if@real@append@list
-\def\@append@newentry#1#2{{%
- \@real@append@listtrue \def\@tempa{#2}%
- \let\@pkglist\@append@newentry@pkglist#1%
- \if@real@append@list
- \let\@pkglist=\relax\xdef#1{#1\@pkglist{#2}}%
- \fi}}
-\def\@append@newentry@pkglist#1{%
- \def\@tempb{#1}%
- \ifx\@tempa\@tempb\@real@append@listfalse\fi}
-\def\@addtofilelist#1{\@append@newentry\ltjpkglist{#1}}
-\let\@listfiles\empty
-
+\directlua{if jit then jit.on() end}
%<*en>
\usepackage[margin=25mm,lmargin=30mm,rmargin=30mm,footskip=6mm]{geometry}
\usepackage{luatexja-adjust}\ltjdisableadjust
@@ -245,7 +230,7 @@ Japanese processing in computers (\textit{e.g.}, the UTF-8 encoding).
ASCII \pTeX ãããã®æ¡å¼µç©ãç¨ãããããã¨ãä¸è¬çã§ãã£ãï¼\pTeX ã¯\TeX
ã®ã¨ã³ã¸ã³æ¡å¼µã§ããï¼ï¼å°ã
ä»æ§ä¸ä¸ä¾¿ãªç¹ã¯ãããã®ã®ï¼åæ¥å°å·ã®åéã«
ãç¨ããããã»ã©ã®é«å質ãªæ¥æ¬èªçµçãå¯è½ã¨ãã¦ããï¼ã ãï¼ããã¯å¼±ç¹ã«
-ããªã£ã¦ãã¾ã£ãï¼\pTeX ã¨ããï¼çµççã«ï¼æºè¶³ãªãã®ããã£ãããï¼æµ·å¤ã§
+ããªã£ã¦ãã¾ã£ãï¼\pTeX ã¨ããï¼çµççã«ï¼æºè¶³ãªãã®ããã£ãããï¼æµ·å¤ã§
è¡ããã¦ããæ°ã
ã®\TeX ã®æ¡å¼µââä¾ãã°\eTeX ã\pdfTeX ââãï¼TrueType,
OpenType, Unicodeã¨ãã£ãè¨ç®æ©ã§æ¥æ¬èªãæ±ãéã®ç¶æ³ã®å¤åã«è¿½å¾ãããã¨
ãæ ã£ã¦ãã¾ã£ãã®ã ï¼
@@ -312,29 +297,56 @@ The followings are major changes from \pTeX:
\begin{itemize}
%<*en>
-\item A Japanese font is a tuple of a ``real'' font, a Japanese font
- metric (\emph{JFM}, for short).
+\item \emph{\LuaTeX-ja does all process only with Lua and \TeX\ macros},
+while \pTeX\ is an engine extension of \TeX82.
+This means that several features of \pTeX\ are not completely implemented
+in \LuaTeX-ja.
+%
+%<*ja>
+\item \pTeX ã¯ã¨ã³ã¸ã³æ¡å¼µã§ãã£ãã®ã«å¯¾ãï¼
+\emph{\LuaTeX-jaã¯Luaã³ã¼ãã¨\TeX ãã¯ããç¨ãã¦å
¨ã¦ãå®è£
ãã¦ãã}ï¼
+ãã®ããï¼\pTeX ã®ããã¤ãã®æ©è½ã¯\LuaTeX-ja ã«ï¼ãã®ã¾ã¾ã®å½¢ã§ã¯ï¼å®è£
ãã¦ããªãï¼
+%
+\begin{itemize}
+%<*en>
+ \item \pTeX\ addes several primitives, such as \cs{kanjiskip},
+\cs{prebreakpenalty},~and,~\cs{ifydir}. They can be used as follows:
%
%<*ja>
-\item åæãã©ã³ãã¯ï¼å°å¡ææï¼IPAææãªã©ã®ï¼å®éã®ãã©ã³ãï¼åæãã©ã³
- ãã¡ããªãã¯ï¼JFMã¨å¼ã¶\footnote{æ··ä¹±ãé²ãããï¼p\TeX ã®æå³ã§ã®
- JFM (\texttt{min10.tfm}) ãªã©ã¯æ¬ããã¥ã¡ã³ãã§ã¯\emph{åæç¨
- TFM}ã¨ãã¶ãã¨ã«ããï¼}ï¼ã®çµã§ããï¼
+ \item ä¾ãã°\pTeX ã§è¿½å ããã次ã®ãããªããªããã£ã
%
+\begin{verbatim}
+\kanjiskip=10pt \dimen0=kanjiskip
+\prebreakpenalty`ã=100
+\ifydir ... \fi
+\end{verbatim}
+% However, we cannot use them under \LuaTeX-ja.
+% Instead of them, we have to write as the following.
+% ã¯\LuaTeX-jaã«ã¯åå¨ããªãï¼\LuaTeX-jaã§ã¯ä»¥ä¸ã®ããã«è¨è¿°ãããã¨ã«ãªãï¼
+\begin{verbatim}
+\ltjsetparameter{kanjiskip} \dimen0=\ltjgetparameter{kanjiskip}
+\ltjsetparameter{prebreakpenalty={`ã,100}}
+\ifnum\ltjgetparemeter{direction}=4 ... \fi
+\end{verbatim}
%<*en>
\item In \pTeX, a line break after Japanese character is ignored (and
doesn't yield a space), since line breaks (in source files) are
permitted almost everywhere in Japanese texts. However, \LuaTeX-ja
- doesn't have this function completely, because of a specification
- of \LuaTeX.
+ doesn't have this feature completely, because of a specification
+ of \LuaTeX. For the detail, see Section~\ref{sec-lbreak}.
%
%<*ja>
\item æ¥æ¬èªã®ææ¸ä¸ã§ã¯æ¹è¡ã¯ã»ã¨ãã©ã©ãã§ã許ãããã®ã§ï¼\pTeX ã§ã¯åææå
ç´å¾ã®æ¹è¡ã¯ç¡è¦ãããï¼ã¹ãã¼ã¹ãå
¥ããªãï¼ããã«ãªã£ã¦ããï¼ãããï¼
\LuaTeX-ja ã§ã¯ \LuaTeX ã®ä»æ§ã®ããã«ãã®æ©è½ã¯å®å
¨ã«ã¯å®è£
ããã¦ããªãï¼
+ 詳ããã¯\ref{sec-lbreak}ç« ãåç
§ï¼
%
+\end{itemize}
+
+
+
%<*en>
\item The insertion process of glues/kerns between two Japanese
characters and between a Japanese character and other characters
@@ -402,15 +414,17 @@ The followings are major changes from \pTeX:
\end{itemize}
%<*ja>
-\item \LuaTeX-jaã§ã¯ï¼\pTeX ã¨åæ§ã«æ¼¢åã»ä»®åãå¶å¾¡ç¶´å
ã«ç¨ãããã¨ãã§ãï¼
-\cs{西æ¦} ãªã©ãæ£ããåä½ããããã«ãã¦ããï¼
-ä½ãï¼å¶å¾¡ç¶´ä¸ã«ä½¿ããåææåã\pTeXã»\upTeX ã¨å
¨ãåãã§ã¯ãªããã¨ã«æ³¨æãããã¨ï¼
+\item ****çããã¯ï¼ä¸å®å®ãªããã\LuaTeX-ja ã«ããã縦çµã¿ããµãã¼ããã¦ããï¼
+\LuaTeX ã®ã³ã¼ã«ããã¯ã®å¶éãªã©ã«ããï¼ç¹ã«ç°ãªã£ãçµæ¹åã®ããã¯ã¹ãæ±ãå ´åã«ã¯
+ä»æ§ãç°ãªãã®ã§æ³¨æï¼
%
+%<*en>
+\item Japanese characters in discretionary break (\cs{discretionary}) is not supported.
+%
%<*ja>
-\item ****çããã¯ï¼ä¸å®å®ãªããã\LuaTeX-ja ã«ããã縦çµã¿ããµãã¼ããã¦ããï¼
-\LuaTeX ã®ã³ã¼ã«ããã¯ã®å¶éãªã©ã«ããï¼ç¹ã«ç°ãªã£ãçµæ¹åã®ããã¯ã¹ãæ±ãå ´åã«ã¯
-ä»æ§ãç°ãªãã®ã§æ³¨æãããã¨ï¼
+\item \cs{discretionary} å
ã«ç´æ¥åææåãè¨è¿°ãããã¨ã¯ãµãã¼ããããªãï¼åææåãã©ã
+ ãã¦ã使ãããå ´å㯠\cs{hbox} ã§æ¬ããã¨ï¼
%
\end{itemize}
@@ -540,23 +554,21 @@ and \emph{Japanese fonts} for fonts used in \textbf{JAchar}.
%\subsection{Installation}
%\subsection{ã¤ã³ã¹ãã¼ã«}
-%To install the \LuaTeX-ja\ package, you will need:
-%\LuaTeX-jaããã±ã¼ã¸ã®ã¤ã³ã¹ãã¼ã«ã«ã¯ï¼æ¬¡ã®ãã®ãå¿
è¦ã§ããï¼
+%The following packages are needed for the \LuaTeX-ja\ package.
+%\LuaTeX-jaããã±ã¼ã¸ã«ã¯ï¼æ¬¡ã®ããã±ã¼ã¸é¡ãå¿
è¦ã§ããï¼
\begin{itemize}
-\item \LuaTeX\ beta-0.74.0 (or later)
-\item \Pkg{luaotfload} v2.2 (or later)
-\item \Pkg{luatexbase} v0.6
-\item \Pkg{xunicode} v0.981~(2011/09/09)
+\item \LuaTeX\ snapshot rev~5024 (or later)
+\item \Pkg{luaotfload} v2.5 (or later)
\item \Pkg{adobemapping} (Adobe cmap and pdfmapping files)
-\item \Pkg{everysel}
+\item \Pkg{everysel} (if you want to use \LuaTeX-ja with \LaTeXe)
%\item \emph{IPAex fonts(\url{http://ipafont.ipa.go.jp/})}
%\item \emph{IPAexãã©ã³ã(\url{http://ipafont.ipa.go.jp/})}
\end{itemize}
%<*en>
-\emph{This version of \LuaTeX-ja no longer supports \TeX~Live~2012 (or older version),
-since \LuaTeX\ binary and \Pkg{luaotfload} is updated in
-\TeX~Live~2013.}
+\emph{This version of \LuaTeX-ja no longer supports \TeX~Live~2013 (or older version).
+If you want to use this version with \TeX~Live~2014, you have to build a development
+version of \LuaTeX\ from its source.}
\medskip
@@ -569,16 +581,10 @@ the following distributions:
\item W32\TeX\ (in \texttt{luatexja.tar.xz})
\end{itemize}
IPAex fonts are also available in these distributions.
-
-If you are using \TeX~Live~2014, you can install \LuaTeX-ja
-from \TeX~Live manager (\texttt{tlmgr}):
-\begin{lstlisting}
-$ tlmgr install luatexja
-\end{lstlisting}
%
%<*ja>
-\emph{æ¬ãã¼ã¸ã§ã³ã®\LuaTeX-jaã¯\TeX~Live~2012以åã§ã¯åä½ããªãï¼}
-ããã¯ï¼\LuaTeX ã¨\Pkg{luaotfload}ã\TeX~Live~2013ã«ããã¦æ´æ°ããããã¨ã«ããï¼
+\emph{æ¬ãã¼ã¸ã§ã³ã®\LuaTeX-jaã¯\TeX~Live~2013以åã§ã¯åä½ããªãï¼\TeX~Live~2014ã§
+ç¨ãããå ´åã¯ï¼èªåã§\LuaTeX éçºçãã½ã¼ã¹ãããã«ãããå¿
è¦ãããï¼}
\medskip
@@ -591,24 +597,33 @@ $ tlmgr install luatexja
\end{itemize}
ãããã®ãã£ã¹ããªãã¥ã¼ã·ã§ã³ã¯IPAexãã©ã³ããåé²ãã¦ããï¼
W32\TeX ã«ããã¦ã¯IPAexãã©ã³ã㯠\texttt{luatexja.tar.xz} å
ã«ããï¼
-
-ä¾ãã°\TeX~Live~2014ãå©ç¨ãã¦ãããªãï¼\LuaTeX-jaã¯\TeX~Live manager (\texttt{tlmgr})ã
-使ã£ã¦ã¤ã³ã¹ãã¼ã«ãããã¨ãã§ããï¼
-\begin{lstlisting}
-$ tlmgr install luatexja
-\end{lstlisting}
%
+% %<*ja>
+% ä¾ãã°\TeX~Live~2015ãå©ç¨ãã¦ãããªãï¼\LuaTeX-jaã¯\TeX~Live manager (\texttt{tlmgr})ã
+% 使ã£ã¦ã¤ã³ã¹ãã¼ã«ãããã¨ãã§ããï¼
+% \begin{lstlisting}
+% $ tlmgr install luatexja
+% \end{lstlisting}
+% %
+% %<*en>
+% If you are using \TeX~Live~2015, you can install \LuaTeX-ja
+% from \TeX~Live manager (\texttt{tlmgr}):
+% \begin{lstlisting}
+% $ tlmgr install luatexja
+% \end{lstlisting}
+% %
+
%\paragraph{Manual installation}
%\paragraph{æåã¤ã³ã¹ãã¼ã«æ¹æ³}
\begin{enumerate}
%<*en>
-\item Download the source archive, by one of the following method.
+\item Download the source, by one of the following method.
At the present, \LuaTeX-ja has no \emph{stable} release.
\begin{itemize}
-\item Copy the Git repository:
+\item Clone the Git repository:
\begin{lstlisting}
$ git clone git://git.sourceforge.jp/gitroot/luatex-ja/luatexja.git
\end{lstlisting}
@@ -622,11 +637,11 @@ Note that the \texttt{master} branch, and hence the archive in CTAN, are not upd
the forefront of development is not the \texttt{master} branch.
%
%<*ja>
-\item ã½ã¼ã¹ã¢ã¼ã«ã¤ãã以ä¸ã®ããããã®æ¹æ³ã§åå¾ããï¼ç¾å¨å
¬éããã¦ããã®ã¯ããã¾ã§ã
+\item ã½ã¼ã¹ã以ä¸ã®ããããã®æ¹æ³ã§åå¾ããï¼ç¾å¨å
¬éããã¦ããã®ã¯ããã¾ã§ã
éçºçã§ãã£ã¦ï¼å®å®çã§ãªããã¨ã«æ³¨æï¼
\begin{itemize}
-\item Gitãªãã¸ããªã®å
容ãã³ãã¼ããï¼
+\item Gitãªãã¸ããªãã¯ãã¼ã³ããï¼
\begin{lstlisting}
$ git clone git://git.sourceforge.jp/gitroot/luatex-ja/luatexja.git
\end{lstlisting}
@@ -645,7 +660,7 @@ $ git clone git://git.sourceforge.jp/gitroot/luatex-ja/luatexja.git
But only the contents in \texttt{src/} are needed to work \LuaTeX-ja.
%
%<*ja>
-\item ãGitãªãã¸ããªãã³ãã¼ã以å¤ã®æ¹æ³ã§ã¢ã¼ã«ã¤ããåå¾ãããªãã°ï¼ãããå±éããï¼
+\item ãGitãªãã¸ããªãã¯ãã¼ã³ã以å¤ã®æ¹æ³ã§ã¢ã¼ã«ã¤ããåå¾ãããªãã°ï¼ãããå±éããï¼
\texttt{src/}ãã¯ããã¨ããããã¤ãã®ãã£ã¬ã¯ããªãã§ãããï¼
åä½ã«ã¯\texttt{src/}以ä¸ã®å
容ã ãã§ååï¼
%
@@ -686,7 +701,11 @@ Note that \texttt{*.\{dtx,ins\}} and \texttt{ltj-kinsoku\_make.tex} are not need
%
%<*ja>
\item \texttt{src}ã®ä¸èº«ãèªåã®\texttt{TEXMF}ããªã¼ã«ã³ãã¼ããï¼
- å ´æã®ä¾ã¨ãã¦ã¯ï¼ä¾ãã°\texttt{TEXMF/tex/luatex/luatexja/}ãããï¼
+ å ´æã®ä¾ã¨ãã¦ã¯ï¼ä¾ãã°
+\begin{quote}
+ \texttt{TEXMF/tex/luatex/luatexja/}
+\end{quote}
+ ãããï¼
ã·ã³ããªãã¯ãªã³ã¯ãå©ç¨ã§ããç°å¢ã§ï¼ãã¤ãªãã¸ããªãç´æ¥åå¾ããã®ã§ããã°ï¼
ï¼æ´æ°ã容æã«ããããã«ï¼ã³ãã¼ã§ã¯ãªããªã³ã¯ãè²¼ããã¨ãå§ããï¼
%
@@ -1309,7 +1328,7 @@ before \Pkg{luatexja-preset}:
%\paragraph{General options}
%\paragraph{ä¸è¬çãªãªãã·ã§ã³}
-\begin{cslist}
+\begin{cslist}[before*=]
\item[nodeluxe]
%<*en>
@@ -1689,10 +1708,10 @@ If you want to use these functions, load \Pkg{luatexja-otf} package.
%<*ja>
\Pkg{otf}ããã±ã¼ã¸ã§ã¯ï¼ãããã次ã®ãããªãªãã·ã§ã³ãåå¨ããï¼
\begin{cslist}
-\item[\cs{deluxe}] ææä½ã»ã´ã·ãã¯ä½å2ã¦ã§ã¤ãã¨ï¼ä¸¸ã´ã·ãã¯ä½ãæ±ããããã«ãªãï¼
-\item[\cs{expert}] ä»®åã横çµã»ç¸¦çµå°ç¨ã®ãã®ã«åãæ¿ããï¼ã«ãç¨ä»®åã
+\item[deluxe] ææä½ã»ã´ã·ãã¯ä½å2ã¦ã§ã¤ãã¨ï¼ä¸¸ã´ã·ãã¯ä½ãæ±ããããã«ãªãï¼
+\item[expert] ä»®åã横çµã»ç¸¦çµå°ç¨ã®ãã®ã«åãæ¿ããï¼ã«ãç¨ä»®åã
\ \cs{rubyfamily}\ ã«ãã£ã¦æ±ããããã«ãªãï¼
-\item[\cs{bold}] ã´ã·ãã¯ä½ãæ¨æºã§å¤ªãã¦ã§ã¤ãã®ãã®ã«è¨å®ããï¼
+\item[bold] ã´ã·ãã¯ä½ãæ¨æºã§å¤ªãã¦ã§ã¤ãã®ãã®ã«è¨å®ããï¼
\end{cslist}
ããããããã®ãªãã·ã§ã³ã¯\Pkg{luatexja-otf}ããã±ã¼ã¸ã«ã¯åå¨ããªãï¼
\Pkg{otf}ããã±ã¼ã¸ãææ¸ä¸ã§ä½¿ç¨ããåæç¨TFMãèªåã®ç©ã«ç½®ãæãã¦ããã®ã«å¯¾ãï¼
@@ -1733,7 +1752,7 @@ non-embedded fonts Ryumin-Light~and~GothicBBB-Medium as default Japanese fonts
%<*ja>
\LuaTeX ããè¦ããä½ç½®ã« \texttt{luatexja.cfg} ãããã°ï¼\LuaTeX-jaã¯ãããèªã¿è¾¼ãï¼
ãã®ãã¡ã¤ã«ãç¨ããã¨plain~\TeX, \LaTeXe ã«ãããæ¨æºåæãã©ã³ãã
-IPAexææã»IPAexã´ã·ãã¯ããå¤æ´ãããã¨ãdã§ããï¼
+IPAexææã»IPAexã´ã·ãã¯ããå¤æ´ãããã¨ãã§ããï¼
ãããï¼åºæ¬çã«ã¯\emph{æç« ä¸ã§ç¨ãããã©ã³ãã¯ï¼ä¾ãã° \Pkg{luatexja-preset} ãªã©ã§ï¼
ææ¸ã½ã¼ã¹å
ã§æå®ããã¹ã}ã§ããï¼ãã® \texttt{luatexja.cfg} ã¯ï¼
ãIPAexãã©ã³ããã¤ã³ã¹ãã¼ã«ã§ããªãããªã©ï¼IPAexãã©ã³ãã使ç¨ã§ããªãå ´åã«ã®ã¿
@@ -2283,36 +2302,29 @@ xyzæ¼¢å
\end{LTXexample}
%<*en>
-Note that setting a positive value to
-\Param{yalbaselineshift}~or~\Param{talbaselineshift} does not
-increase the depth of \textbf{ALchar}, as shown below.
-This is because these parameters are implemented by setting \verb+yoffset+
-field of a glyph node, and this does not increase the depth of the glyph.
-This problem does not apply for \Param{yjabaselineshift}, since
-\Param{yjabaselineshift}~and~\Param{tjabaselineshift}
-use a different implementation method.
-%
-%<*ja>
-ãªãï¼\Param{yalbaselineshift},~\Param{talbaselineshift}ãã©ã¡ã¼ã¿ã«
-æ£ã®å¤ãæå®ãã¦ãï¼
-ä¸ã®ä¾ã®ããã«\textbf{ALchar}ã®æ·±ãã¯å¢å ããªããã¨ã«æ³¨æï¼
-ããã¯ï¼2ãã©ã¡ã¼ã¿ãglyph~nodeã®\verb+yoffset+ã使ã£ã¦
-å®è£
ããã¦ããããã§ããï¼
-\Param{yjabaselineshift},~\Param{tjabaselineshift}ãã©ã¡ã¼ã¿ã¯
-å¥ã®æ¹æ³ã使ã£ã¦å®è£
ãã¦ããã®ã§ï¼
-ãã®ãããªåé¡ã¯èµ·ãããªãï¼
-%
-\begin{LTXexample}[width=.3\textwidth]
-\leavevmode\fboxsep=0pt
- \ltjsetparameter{yjabaselineshift=0pt,
- yalbaselineshift=0pt}
-\vrule width 105pt height 0.4pt depth 0pt \hskip-95pt
-\fbox{\ltjsetparameter{yalbaselineshift=10pt}ãããxyz}
-\fbox{\ltjsetparameter{yalbaselineshift=-10pt}ãããxyz}\\
-\vrule width 105pt height 0.4pt depth 0pt \hskip-95pt
-\fbox{\ltjsetparameter{yjabaselineshift=10pt}ãããxyz}
-\fbox{\ltjsetparameter{yjabaselineshift=-10pt}ãããxyz}
-\end{LTXexample}
+Note that setting positive \Param{yalbaselineshift}~or~\Param{talbaselineshift}
+parameters does not increase the depth of one-letter ``syllable'' $p$ of \textbf{Alchar}, if
+its left-protrusion~(\cs{lpcode}) and right-protrusion~(\cs{rpcode}) are both non-zero.
+This is because
+\begin{itemize}
+\item These two parameters are implemented by setting yoffset field of a
+glyph node, and this does not increase the depth of the glyph.
+\item To cope with the above situation, \LuaTeX-ja automatically supplies
+a rule in every ``syllable''.
+\item However, we cannot use this ``supplying a rule'' method if \dots
+\end{itemize}
+
+This problem does not apply for \Param{yjabaselineshift}~nor~\Param{tjabaselineshift}.
+%
+%<*ja>
+ãªãï¼ä»¥ä¸ã®å ´åã«ã¯1æåã®\textbf{ALchar}ãããªããé³ç¯ãã®æ·±ãã¯å¢å ããªããã¨ã«æ³¨æï¼
+\begin{itemize}
+ \item \Param{yalbaselineshift},~\Param{talbaselineshift}ãã©ã¡ã¼ã¿ãæ£ã«ãªã£ã¦ããï¼
+ \item ãé³ç¯ããæ§æããå¯ä¸ã®æå$p$ã®
+å·¦ä½ç½ã¸ã®çªåºé(\cs{lpcode})ï¼å³ä½ç½ã¸ã®çªåºé(\cs{rpcode})ãã©ã¡ããéé¶ã§ããï¼
+\end{itemize}
+\Param{yjabaselineshift},~\Param{tjabaselineshift}ãã©ã¡ã¼ã¿ã«ã¤ãã¦ã¯ãã®ãããªåé¡ã¯èµ·ãããªãï¼
+%
%<*ja>
\paragraph{æ°å¼ã«ãããæåï¼\pTeX ã¨ã®éã}
@@ -2369,6 +2381,7 @@ $\Phi\vdash F(x)\ \hbox{for all}\ x\in A$
\suppressfloats[t]
%<*ja>
\section{\LuaTeX-jaã«ããã \cs{catcode}}
+\label{sec-catcode}
\subsection{äºåç¥èï¼\pTeX ã¨\upTeX ã«ããã \cs{kcatcode}}
\pTeXï¼\upTeX ã«ããã¦ã¯ï¼åææåãå¶å¾¡ç¶´å
ã§å©ç¨ã§ãããã©ãã
㯠\cs{kcatcode} ã®å¤ã«ãã£ã¦æ±ºå®ãããã®ã§ãã£ãï¼
@@ -2376,6 +2389,7 @@ $\Phi\vdash F(x)\ \hbox{for all}\ x\in A$
%
%<*en>
\section{\cs{catcode} in \LuaTeX-ja}
+\label{sec-catcode}
\subsection{Preliminaries: \cs{kcatcode} in \pTeX\ and \upTeX}
In \pTeX~and~\upTeX, the value of \cs{kcatcode} determines
whether a Japanese character can be used in a control word.
@@ -3011,7 +3025,7 @@ the current direction. One can use these in \cs{dimexpr} primitive, as the follo
\begin{lstlisting}
\dimexpr 2\ltjgetwd{42}-3pt\relax, \the\ltjgetwd{1701}
\end{lstlisting}
-By implementaion, the argument must be grouped as \verb+\ltjgetwd{42}+,
+By its implementaion, the argument must be grouped as \verb+\ltjgetwd{42}+,
if the argument consists of more than one token.
\begin{LTXexample}[width=0.3\textwidth]
\parindent0pt
@@ -3070,7 +3084,10 @@ These commands set the dimension of \cs{box}. Unlike \cs{ltjgetwd}, one doe
\end{lstlisting}
ã®ããã« \cs{wd} ã®ä»£ããã¨ãã¦æ±ããã¨ãã§ããï¼å¼æ°ã1æ¡ã®å ´åã¯ï¼
\cs{ltjgetwd3} ã®ããã«å¼æ°ãã°ã«ã¼ãã§æ¬ããªãã¦ãè¯ããï¼ããã§ãªãå ´åã¯
-ï¼é常ã®å½ä»¤ã¸ã®å¼æ°ã®ããã«ï¼\verb+\ltjgetwd{42}+ ã¨ã°ã«ã¼ãã«æ¬ãå¿
è¦ãããï¼
+ï¼é常ã®å½ä»¤ã¸ã®å¼æ°ã®ããã«ï¼\verb+\ltjgetwd{42}+ ã¨ã°ã«ã¼ãã«æ¬ãå¿
è¦ããã%
+\footnote{\cs{afterassignment} ãå©ç¨ãã¦å®è£
ããã°ã°ã«ã¼ãã«æ¬ãå¿
è¦ããªããªãã®ã§ã¯ï¼ã¨æ
+ ããããããªããï¼ããã§ã¯æ¬æä¸ã«æ¸ããä¾ã®ããã« \cs{dimexpr} ä¸ã§ä½¿ç¨ã§ã
+ ãªããªã£ã¦ãã¾ãï¼}ï¼
使ç¨ä¾ã¯ä»¥ä¸ã®éãã§ããï¼
\begin{LTXexample}[width=0.3\textwidth]
\parindent0pt
@@ -3151,7 +3168,7 @@ Returned value&\texttt{4}&\texttt{3}&\texttt{1}&\texttt{11}&\texttt{0}\\
\end{center}
\begin{LTXexample}[width=0.3\textwidth]
-\leavevmode\def\DIR{\ltjgetparameter{direction}}
+\leavevmode\def\DIR{\ltjgetparameter{ direction}}
\hbox{\yoko\DIR}, \hbox{\tate\DIR},
\hbox{\dtou\DIR}, \hbox{\utod\DIR},
\hbox{\tate$\hbox{tate math: \DIR}$}
@@ -3181,6 +3198,7 @@ overridden by \LuaTeX-ja, using~\verb+\protected\def+.
\begin{cslist}[style=standard]
\item[\cs{unhbox}\textrm{, }\cs{unvbox}\textrm{, }\cs{unhcopy}\textrm{, }\cs{unvcopy}]
\item[\cs{vadjust}\{\}]
+ \item[\cs{insert}\{\}]
\item[\cs{lastbox}]
\item[\cs{raise}\textrm{, }\cs{lower}\textrm{\ etc., }\cs{vcenter}]
\item[\cs{vcenter}]
@@ -3200,6 +3218,9 @@ overridden by \LuaTeX-ja, using~\verb+\protected\def+.
\item[\cs{vadjust}\{\}] ä¸æ¦ããªããã£ãæ¬æ¥ã®æåãè¡ãï¼ãã®å¾ï¼ã®çµæ¹åã
å¨å²ã®åç´ãªã¹ãã®çµæ¹åã¨ä¸è´ããªãå ´åã«ã¨ã©ã¼ãåºåãï¼
該å½ã® \cs{vadjust} ãç¡å¹ã«ããï¼
+ \item[\cs{insert}\{\}]
+ ä¸æ¦ããªããã£ãæ¬æ¥ã®æåãè¡ãï¼ãã®å¾å
ã®åããã¯ã¹ã»ç½«ç·ã®ç´åã«çµæ¹åã示
+ ãdirection whatsitãæ¿å
¥ããï¼
\item[\cs{lastbox}] ããã¯ã¹ã®ãä¸èº«ããç¾å¨ã®çµæ¹åã«åãããããã®ãã¼ã
ï¼\textit{dir\_box}ã¨ããï¼ãå¿
è¦ãªãã°é¤å»ãï¼
æ£ãããä¸èº«ãã®ããã¯ã¹ãè¿ãããããã«åå¦çãããï¼
@@ -3252,14 +3273,14 @@ causes a error. We denote control sequences which are defined in
\paragraph{JFM}
%<*en>
-As noted in Introduction, a JFM has measurements of characters and
+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 \cs{jfont}, you must specify
which JFM will be used for this font by the following keys:
%
%<*ja>
-ãã¯ããã«ãã®ç¯ã§è¿°ã¹ãããã«ï¼JFMã¯æåã¨åæçµçã§èªåçã«æ¿å
¥ããã
+JFMã¯æåã¨åæçµçã§èªåçã«æ¿å
¥ããã
ã°ã«ã¼ï¼ã«ã¼ã³ã®å¯¸æ³æ
å ±ãæã£ã¦ããï¼JFMã®æ§é ã¯æ¬¡ã®ç¯ã§è¿°ã¹ãï¼
\cs{jfont} å½ä»¤ã®å¼ã³åºãã®éã«ã¯ï¼ã©ã®JFMãç¨ããã®ãã以ä¸ã®ãã¼ã§
æå®ããå¿
è¦ãããï¼
@@ -3554,20 +3575,22 @@ letter-spacing and the width of italic correction are not correct:
\cs{tfont} ã§å®ç¾©ããã縦çµç¨åæãã©ã³ãã¯ï¼
以ä¸ã®ç¹ã \cs{jfont} ã«ãã横çµç¨åæãã©ã³ãã¨ã¯ç°ãªãï¼
\begin{itemize}
- \item åºåæã«ï¼èªåçã«ã\verb+vert+ featureç¸å½ãã®ã°ãªãç½®æãè¡ãããï¼
- ããã¯ï¼\Pkg{luaotfload}ã«ããå種featureã®ãµãã¼ãã¨ã¯å
¨ãå¥åã«è¡ããããã®ã§ï¼
- ãã¡ãã¡ \verb+vert+ featureãæå®ããå¿
è¦ã¯ãªãï¼
+ \item èªåçã« \texttt{vert}, \texttt{vrt2} ã®ä¸¡OpenType featureãæå¹åãããï¼
+ä½ãï¼ä»¥ä¸ã®ä¾ã®3è¡ç®ã«ç¤ºãããã«ï¼æ示çã« \texttt{vert}, \texttt{vrt2}ï¼ã®ããããï¼ã®
+æå¹ã»ç¡å¹ãæå®ããå ´åã¯å¥ã§ããï¼
\begin{lstlisting}
-\tfont\S=file:KozMinPr6N-Regular.otf:jfm=ujis % OK
+\tfont\S=file:KozMinPr6N-Regular.otf:jfm=ujisv
+ % vert and vrt2 are automatically activated
+\tfont\T=file:KozMinPr6N-Regular.otf:jfm=ujisv;-vert % vert and vrt2 are not activated
\end{lstlisting}
\item \ref{ssec-math}ç¯ã§è¿°ã¹ãï¼æ°å¼ä¸ã®åæãã©ã³ãã«ã¯ç¸¦çµç¨åæãã©ã³ãã¯æå®ã§ããªãï¼
\item \texttt{jfm=}\ ã®é¨åã«ã¯ç¸¦çµç¨JFMãæå®ããï¼
以ä¸ã®ç¸¦çµç¨JFMã\LuaTeX-jaã«ã¯å梱ããã¦ããï¼éãã表\ref{tab-difjfm-tate}ã«ç¤ºããï¼
\begin{description}
-\item[\tt jfm-ujis.lua] \LuaTeX-jaã®æ¨æºç¸¦çµç¨JFMã§ããï¼ãã®JFMã¯\upTeX ã§
+\item[\tt jfm-ujisv.lua] \LuaTeX-jaã®æ¨æºç¸¦çµç¨JFMã§ããï¼ãã®JFMã¯\upTeX ã§
ç¨ããããUTF/OTFããã±ã¼ã¸ç¨ã®åæç¨TFMã§ãã \verb+upnmlminr-v.tfm+ ã
å
ã«ãã¦ããï¼
-\item[\tt jfm-min.lua] \pTeX ã«å梱ããã¦ããããã©ã«ãã®åæç¨ç¸¦çµTFM
+\item[\tt jfm-tmin.lua] \pTeX ã«å梱ããã¦ããããã©ã«ãã®åæç¨ç¸¦çµTFM
ã§ãã \verb+tmin10.tfm+ ã«ç¸å½ãï¼\texttt{min10.tfm} ã¨åæ§ã«
ãã£ããªã©ä¸é¨ã®æåå¹
ãçãããã¦ããï¼
\end{description}
@@ -4041,12 +4064,11 @@ Furthermore, the glyph is shifted according to values of fields
åææåãèãããï¼
\begin{itemize}
\item
-å®éã®ã°ãªãã®ãåç´ä½ç½®ãã¯ï¼ãã¼ã¹ã©ã¤ã³ãæåã®ç©ççãªå·¦å³æ¹åã®ä¸å¤®ãéã
+å®éã®ã°ãªãã®ãåç´ä½ç½®ãã¯ï¼ã¾ããã¼ã¹ã©ã¤ã³ãæåã®ç©ççãªå·¦å³æ¹åã®ä¸å¤®ãéã
ä½ç½®ã¨ãªãï¼
\item
-ã¾ãï¼ãã®å ´å\texttt{align}ãã£ã¼ã«ã㯠\texttt{'right'} ãªã®ã§ï¼
+ã¾ãï¼ãã®å ´å \texttt{align} ãã£ã¼ã«ã㯠\texttt{'right'} ãªã®ã§ï¼
ãæ°´å¹³ä½ç½®ãã¯åéãæ¹åã«ãå³å¯ãããããã®ã¨ãªãï¼ç·è²ã®é·æ¹å½¢ï¼ï¼
-ãã®éï¼é«ãã»æ·±ãã¯ï¼å®ãã©ã³ãã®ascender, descenderã®å¤ã使ãããï¼
\item
ãã®å¾ããã« \texttt{left} 㨠\texttt{down} ã®å¤ã«å¾ã£ã¦ã·ããããã
ã®ã¯æ¨ªçµç¨åæãã©ã³ãã¨å¤ãããªãï¼
@@ -4142,93 +4164,79 @@ using \texttt{jfm-test.lua} which contains the following:
%
\begin{lstlisting}
[0] = {
- chars = { 'æ¼¢', 'ã*' },
+ chars = { 'æ¼¢' },
align = 'left', left = 0.0, down = 0.0,
width = 1.0, height = 0.88, depth = 0.12, italic=0.0,
},
[2000] = {
- chars = { 'ã', 'ã*', 'ï¾' },
+ chars = { 'ã', 'ï¾' },
align = 'left', left = 0.0, down = 0.0,
width = 0.5, height = 0.88, depth = 0.12, italic=0.0,
},
\end{lstlisting}
-%å¥ç¹ãããã®å¹
ã¯äºåã§ããã®ã§
+%ããã§ï¼æ¬¡ã®ãããªå
¥åã¨ãã®å®è¡çµæãèããï¼
%Now consider the following input/output:
\begin{LTXexample}[width=0.3\textwidth]
-\jfont\a=file:KozMinPr6N-Regular.otf:jfm=test;+vert
-\setbox0\hbox{\a ã\inhibitglue æ¼¢}
+\jfont\a=file:KozMinPr6N-Regular.otf:jfm=test;+hwid
+\setbox0\hbox{\a ãæ¼¢}
\the\wd0
\end{LTXexample}
%<*en>
-Now we look why the above source outputs 20\,pt, not 15\,pt.
+Now we look why the above source outputs 15\,pt.
\begin{enumerate}
-\item The ideographic full stop ``ã'' is converted to its vertical form ``\char"FE12''~(\texttt{U+FE12}), %"
-by \verb+vert+ feature.
-\item The character class of ``\char"FE12'' is zero, hence its width is fullwidth.%"
-\item The character class of ``æ¼¢'', hence its width is fullwidth.
-\item \cs{inhibitglue} makes that no glue will be inserted between ``ã'' and ``æ¼¢''.
-\item Hence the width of \cs{hbox} equals to 20\,pt.
+\item The character ``ã'' is converted to its half width form ``ï¾'' by \verb+hwid+ feature.
+\item According to the JFM, the character class of ``ï¾'' is 2000, hence its width is halfwidth.
+\item The character class of ``æ¼¢'' is zero, hence its width is fullwidth.
+\item Hence the width of \cs{hbox} equals to 15\,pt.
\end{enumerate}
-This example shows that the character class of a character is determined \emph{after
+This example shows that the character class of a character is generally determined \emph{after
applying font features by \Pkg{luaotfload}}.
%
%<*ja>
-ã§ã¯ï¼å
¨è§äºå(15.0\,pt)ã¨ãªãã®ãèªç¶â¦â¦ã¨æããããããªããï¼ä¸ã®å®è¡çµæã§ã¯20\,ptã¨ãªã£ã¦ããï¼
-ããã¯ä»¥ä¸ã®äºæ
ã«ãããã®ã§ããï¼
+ä¸è¨ã®åºåçµæãï¼15\,ptã¨ãªã£ã¦ããã®ã¯çç±ã«ãããã®ã§ããï¼
\begin{enumerate}
-\item \verb+vert+ featureã«ãã£ã¦å¥ç¹(\texttt{U+3002})ã縦çµç¨ã®ã°ãªãã¨ç½®ãæããï¼\Pkg{luaotfload} ã«ããå¦çï¼ï¼
-\item ãã®ç¸¦çµç¨å¥ç¹ã®ã°ãªã㯠\texttt{U+FE12} ã§ããããï¼ãã®æåã¯ã©ã¹ã¯0ã¨ãªãï¼
-\item 以ä¸ã«ããæåã¯ã©ã¹0ã¨ã¿ãªãããããï¼çµæã¨ãã¦ãããã®å¹
ã¯å
¨è§ã ã¨èªèããã¦ãã¾ãï¼
+\item \verb+hwid+ featureã«ãã£ã¦ããããåè§å¹
ã®ã°ãªããï¾ãã¨ç½®ãæããï¼\Pkg{luaotfload} ã«ããå¦çï¼ï¼
+\item JFMã«ããã°ï¼ãã®ãï¾ãã®ã°ãªãã®æåã¯ã©ã¹ã¯2000ã§ããï¼
+\item 以ä¸ã«ããæåã¯ã©ã¹2000ã¨ã¿ãªãããããï¼çµæã¨ãã¦ãï¾ãã®å¹
ã¯åè§ã ã¨èªèãããï¼
\end{enumerate}
ãã®ä¾ã¯ï¼\emph{æåã¯ã©ã¹ã®æ±ºå®ã¯font featureã®é©ç¨ã«ããã°ãªãç½®æã®å¾ã«è¡ããã}ãã¨ã
示ãã¦ããï¼
%
%<*en>
-However, a starred specification like ``\texttt{'ã*'}'' changes the rule.
+However, ...
Consider the following input:
%
%<*ja>
-ä½ãï¼ã\texttt{'ã*'}ãã®ããã«ã¢ã¹ã¿ãªã¹ã¯ã¤ãã®æå®ãããã¨ï¼
+ä½ãï¼JFMã«ãã£ã¦æ±ºã¾ãç½®æå¾ã®ã°ãªãã®æåã¯ã©ã¹ã0ã§ããå ´åã¯ï¼
ç¶æ³ã¯ç°ãªãï¼
%
\begin{LTXexample}[width=0.3\textwidth]
\jfont\a=file:KozMinPr6N-Regular.otf:jfm=test;+vert
-\a æ¼¢ã\inhibitglue æ¼¢
+\a æ¼¢ã\inhibitglue æ¼¢
\end{LTXexample}
%<*en>
-Here, the character class of the ideographic comma ``ã''~(\texttt{U+3001}) is determined
+Here, the character class of the ideographic full stop ``ã''~(\texttt{U+3002}) is determined
as following:
\begin{enumerate}
-\item As the case of ``ã'', the ideographic comma ``ã'' is converted to its vertical
- form ``\char"FE11''~(\texttt{U+FE11}).%"
-\item The character class of ``\char"FE11'' is zero.
-\item However, \LuaTeX-ja remembers that this ``\char"FE11'' is obtained from ``ã'' by
- font features. The character class of ``ã'' is \emph{non-zero value}, namely, 2000.
-\item Hence the ideographic comma ``ã'' in above belongs the character class~2000.
+\item As the case of ``ã'', the ideographic full stop ``ã'' is converted to its vertical
+ form ``\char"FE12''~(\texttt{U+FE12}).%"
+\item The character class of ``\char"FE12'' is \emph{zero}.
+\item However, \LuaTeX-ja remembers that this ``\char"FE12'' is obtained from ``ã'' by
+ font features. The character class of ``ã'' is \emph{non-zero value}, namely, 2000.
+\item Hence the ideographic full stop ``ã'' in above belongs the character class~2000.
\end{enumerate}
%
%<*ja>
-ããã§ï¼èªç¹ããã(\texttt{U+3001})ã®æåã¯ã©ã¹ã¯ï¼ä»¥ä¸ã®ããã«ãã¦æ±ºã¾ãï¼
+ããã§ï¼å¥ç¹ããã(\texttt{U+3002})ã®æåã¯ã©ã¹ã¯ï¼ä»¥ä¸ã®ããã«ãã¦æ±ºã¾ãï¼
\begin{enumerate}
-\item ã¨ããããå¥ç¹ã®æã¨åãããã«ï¼\Pkg{luaotfload} ã«ãã£ã¦ç¸¦çµç¨èªç¹ã®ã°ãªãã«ç½®ãæããï¼
-\item ç½®æå¾ã®ã°ãªã㯠\texttt{U+FE11} ã§ããï¼ãã®ã¾ã¾ã§ã¯æåã¯ã©ã¹ã¯0ã¨å¤å®ãããï¼
-\item ã¨ãããï¼JFMã«ã¯ã\texttt{'ã*'}ãæå®ãããã®ã§ï¼ç½®æåã®æ¨ªçµç¨èªç¹ã®ã°ãªãã«ãã£ã¦æåã¯ã©ã¹ãå¤å®ããï¼
-\item çµæã¨ãã¦ï¼ä¸ã®åºåä¾ä¸ã®èªç¹ã®æåã¯ã©ã¹ã¯2000ã¨ãªãï¼
+\item \Pkg{luaotfload} ã«ãã£ã¦ç¸¦çµç¨å¥ç¹ã®ã°ãªãã«ç½®ãæããï¼
+\item ç½®æå¾ã®ã°ãªã㯠\texttt{U+FE12} ã§ããï¼JFMã«å¾ãã°æåã¯ã©ã¹ã¯\emph{0}ã¨å¤å®ãããï¼
+\item ãã®å ´åï¼ç½®æåã®æ¨ªçµç¨å¥ç¹ã®ã°ãªãã«ãã£ã¦æåã¯ã©ã¹ãå¤å®ããï¼
+\item çµæã¨ãã¦ï¼ä¸ã®åºåä¾ä¸ã®å¥ç¹ã®æåã¯ã©ã¹ã¯2000ã¨ãªãï¼
\end{enumerate}
%
-%<*ja>
-ãªãï¼ã\texttt{'\hbox{}ã*'}ãã®ããã«ã¢ã¹ã¿ãªã¹ã¯ã¤ãã®æå®ããã£ã¦ãï¼
-ç½®æå¾ã®ã°ãªãã§å¤å®ããæåã¯ã©ã¹ã®å¤ã0ã§ãªããã°ï¼ãã¡ãããã®ã¾ã¾ä½ç¨ããï¼
-\begin{LTXexample}[width=0.3\textwidth]
-\jfont\a=file:KozMinPr6N-Regular.otf:jfm=test;+hwid
-\a æ¼¢ãã²
-\end{LTXexample}
-ä¸ã®ä¾ã§ã¯ï¼
-\texttt{hwid} featureã«ããï¼ããããåè§ã®ãï¾ãã«ç½®ãæãããï¼
-æåã¯ã©ã¹ã¯ãããã®å±ãã0\emph{ã§ã¯ãªã}ï¼ãï¾ãã®å±ãã2000ã¨ãªãï¼
-%
%\paragraph{ä»®æ³çãªæå}
%\paragraph{Imaginary characters}
@@ -4531,7 +4539,7 @@ JFMã§æå®ããã¦ããããããã®å¤ãã¹ã±ã¼ãªã³ã°ãããã®
éã«å
¥ããã®ãkernã§ããã°ï¼ãã®ãã£ã¼ã«ãã®å¤ã¯\
\texttt{[$j$]=\{false, , \}} ã§ããï¼
ã¯kernã表ããã¼ããã®ãã®ã§ãã\footnote{%
-æ¬ãã¼ã¸ã§ã³ã§ã¯å©ç¨å¯è½ãªãã°ãã¼ãã®ã¢ã¯ã»ã¹ææ³ã«direct access
+æ¬ãã¼ã¸ã§ã³ã§ã¯ãã¼ãã®ã¢ã¯ã»ã¹ææ³ã«direct access
modelãç¨ãã¦ããï¼ãã®ããï¼ä¾ãã°\LuaTeX\ beta-0.78.2ã§ã¯ï¼åãªãèªç¶æ°ã®ããã«ã
ãè¦ããªããã¨ã«æ³¨æï¼
}ï¼
@@ -4539,6 +4547,10 @@ glueã§ããã°ï¼\texttt{[$j$]=\{false, , , \}} ã§
ã¯glueã®é·ãã表ããã¼ããã®ãã®ã§ããï¼
$\text{}=\textit{from\_jfm}+\text{}$ã§ããï¼
\end{itemize}
+\item[ascent\textrm{, }descent]
+â¦â¦
+\item[chars\_cbcache]
+â¦â¦
\end{cslist}
%
@@ -5205,7 +5217,9 @@ With the help of this example, we remark the specification of \cs{inhibitglue}:
simply ignored.
%
%<*ja>
-\item \cs{inhibitglue} ã®åç´ã¢ã¼ãä¸ã§ã®å¼ã³åºãã¯æå³ãæããªãï¼
+\item \emph{\cs{inhibitglue} ã®åç´ã¢ã¼ãä¸ã§ã®å¼ã³åºãã¯æå³ãæããªã}\footnote{%
+ ãã®ç¹ã¯\TeX~Live~2014ã§ã®\pTeX ã«ããã \cs{inhibitglue} ã®ä»æ§å¤æ´ã¨åãã§ããï¼
+}ï¼
4è¡ç®ã®å
¥åã§æå¹ã«ãªããªãã®ã¯ï¼\cs{inhibitglue} ã®æç¹ã§ã¯åç´ã¢ã¼ãã§ããï¼
\cs{noindent} ã®æç¹ã§æ°´å¹³ã¢ã¼ãã«ãªãããã§ããï¼
%
@@ -7317,54 +7331,54 @@ u
\def\OB{$\text{\sf O}_{\text{\sf B}}$}
\begin{defn}
%<*en>
-A \emph{cluster} is a list of consecutive nodes in one of the following forms,
+A \emph{cluster} is consecutive nodes in one of the following forms,
with the \textit{id} of it:
%
%<*ja>
-\emph{ã¯ã©ã¹ã¿}ã¯ä»¥ä¸ã®å½¢ã®ãã¡ã®ã©ããã²ã¨ã¤ãã¨ãé£ç¶çãªãã¼ãã®ãªã¹ãã§ããï¼
+\emph{ã¯ã©ã¹ã¿}ã¯ä»¥ä¸ã®å½¢ã®ãã¡ã®ã©ããã²ã¨ã¤ãã¨ããã¼ãã®ãªã¹ãã§ããï¼
%
\begin{enumerate}
%<*en>
\item Nodes whose value of\ \verb+\ltj@icflag+ is in $[3,15)$. These
nodes come from a hbox which is already packaged, by unpackaging
(\cs{unhbox}).
- The \textit{id} is \textit{id\_pbox}.
+ The \textit{id} of the cluster is \textit{id\_pbox}.
%
%<*ja>
\item ãã® \verb+\ltj@icflag+ ã®å¤ã$[3,15)$ã«å
¥ããã¼ãã®ãªã¹ãï¼
ãããã®ãã¼ãã¯ããæ¢ã«ããã±ã¼ã¸ã³ã°ãããhboxãã \cs{unhbox} ã§
ã¢ã³ããã¯ããããã®ã§ããï¼
- ãã®\textit{id}ã¯\textit{id\_pbox}ã§ããï¼
+ ãã®å ´åï¼ã¯ã©ã¹ã¿ã®\textit{id}ã¯\textit{id\_pbox}ã§ããï¼
%
%<*en>
\item A inline math formula, including two \textit{math\_node}s at the boundary of it.
- The \textit{id} is \textit{id\_math}.
+ The \textit{id} of the cluster is \textit{id\_math}.
%
%<*ja>
\item ã¤ã³ã©ã¤ã³æ°å¼ã§ãã®å¢çã«2ã¤ã®\textit{math\_node}ãå«ããã®ï¼
- ãã®\textit{id}ã¯\textit{id\_math}ã§ããï¼
+ ãã®å ´åï¼ã¯ã©ã¹ã¿ã®\textit{id}ã¯\textit{id\_math}ã§ããï¼
%
%<*en>
-\item A \textit{glyph\_node}~$p$ with nodes which relate with it:
+\item A \textit{glyph\_node}~$p$, which represents a \textbf{JAchar}, with nodes which relate with it:
%
%<*ja>
-\item \textit{glpyh\_node}~$p$ã¨ããã«é¢ä¿ãããã¼ãï¼
+\item \textbf{JAchar}ã表ã\textit{glyph\_node}~$p$ã¨ããã«é¢ä¿ãããã¼ãï¼
%
\begin{enumerate}
%<*en>
-\item A kern for the italic correction of~$p$.
+\item[(a)] A kern for the italic correction of~$p$.
%
%<*ja>
-\item $p$ã®ã¤ã¿ãªãã¯è£æ£ã®ããã®ã«ã¼ã³ï¼
+\item[(a)] $p$ã®ã¤ã¿ãªãã¯è£æ£ã®ããã®ã«ã¼ã³ï¼
%
%<*en>
-\item An accent attached to $p$ by \cs{accent}.
+\item[(b)] An accent attached to $p$ by \cs{accent}.
%
%<*ja>
-\item \cs{accent} ã«ãã$p$ã«ä»éããã¢ã¯ã»ã³ãï¼
+\item[(b)] \cs{accent} ã«ãã$p$ã«ä»éããã¢ã¯ã»ã³ãï¼
%
\end{enumerate}
\[
@@ -7382,41 +7396,51 @@ with the \textit{id} of it:
\]
%<*en>
-The \textit{id} is \textit{id\_jglyph} or
-\textit{id\_glyph}, according to whether the \textit{glyph\_node}
-represents a Japanese character or not.
+In this case, the \textit{id} is \textit{id\_jglyph}.
+%
+%<*ja>
+ãã®å ´åã®\textit{id}ã¯\textit{id\_jglyph}ã§ããï¼
+%
+
+%<*en>
+\item A list which begins from a \textit{glyph\_node} which represents a \textbf{ALchar},
+ and consists of \textbf{ALchar} \textit{glyph\_node}s,
+ kerns for adjusting accents~(its subtype is 2), kerns for italic corrections and
+ kerns which are automatically inserted by \LuaTeX~or~luaotfload.
+ In this case, the \textit{id} is \textit{id\_glyph}.
%
%<*ja>
-\textit{id}ã¯\textit{glyph\_node}ãåææåã表ããã©ããã«ãã£ã¦
-\textit{id\_jglyph}ï¼ãããã¯\textit{id\_glyph}ã¨ãªãï¼
+\item \textbf{ALchar}ã表ã\textit{glyph\_node}ï¼\cs{accent} ã«ããã¢ã¯ã»ã³ãä½ç½®è£æ£ç¨ã®
+ ã«ã¼ã³(subtypeã2)ï¼ããã¦ã¤ã¿ãªãã¯è£æ£ã»ã«ã¼ãã³ã°ã«ãã£ã¦æ¿å
¥ãããã«ã¼ã³éãé£ç¶
+ ãããã®ï¼ãã®å ´åã®\textit{id}ã¯\textit{id\_glyph}ã§ããï¼
%
%<*en>
\item An box-like node, that is, an hbox, a vbox, a rule (\cs{vrule}) and an \textit{unset\_node}.
-The \textit{id} is \textit{id\_hlist} if the node is an
+The \textit{id} of the cluster is \textit{id\_hlist} if the node is an
hbox which is not shifted vertically, or \textit{id\_box\_like}
otherwise.
%
%<*ja>
-\item ããã¯ã¹æ§ã®ãã¼ãï¼ã¤ã¾ãæ°´å¹³ããã¯ã¹ï¼åç´ããã¯ã¹ï¼ç½«ç· (\cs{vrule})ï¼
+\item æ°´å¹³ããã¯ã¹(hbox)ï¼åç´ããã¯ã¹ï¼ç½«ç· (\cs{vrule})ï¼
ããã¦\textit{unset\_node}ï¼
- ãã®\textit{id}ã¯åç´ã«ç§»åãã¦ããªãhboxãªãã°\textit{id\_hlist}ï¼
+ ã¯ã©ã¹ã¿ã®\textit{id}ã¯åç´ã«ç§»åãã¦ããªãhboxãªãã°\textit{id\_hlist}ï¼
ããã§ãªããã°\textit{id\_box\_like}ã¨ãªãï¼
%
%<*en>
\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}
+The \textit{id} of the cluster is \textit{id\_glue}, \textit{id\_kern}
and \textit{id\_disc}, respectively.
%
%<*ja>
-\item ã°ã«ã¼ï¼subtypeã 2~(\textit{accent})ã§ã¯ãªãã«ã¼ã³ï¼ããã¦ä»»ææ¹è¡ï¼
- ãã®\textit{id}ã¯ãããã\textit{id\_glue}, \textit{id\_kern}ï¼ããã¦
+\item ã°ã«ã¼ï¼subtypeã 2~(\textit{accent})ã§ã¯ãªãã«ã¼ã³ï¼ããã¦discretionary breakï¼
+ ãã®\textit{id} of the clusterã¯ãããã\textit{id\_glue}, \textit{id\_kern}ï¼ããã¦
\textit{id\_disc}ã§ããï¼
%
\end{enumerate}
%<*en>
-Let \textit{Np}, \textit{Nq} and \textit{Nr} denote a cluster.
+We use \textit{Np}, \textit{Nq} and \textit{Nr} to denote a cluster.
%
%<*ja>
以ä¸ã§ã¯\textit{Np}, \textit{Nq}, \textit{Nr}ã§ã¯ã©ã¹ã¿ã表ãï¼
@@ -7452,6 +7476,7 @@ $\mathit{Np}.\mathit{head}$, $\mathit{Np}.\mathit{tail}$ã¯ï¼ãã®åææå
\item[\textit{id\_hlist}] 縦æ¹åã«ã·ããããã¦ããªãhboxï¼\\
ãã®å ´åï¼$\mathit{Np}.\mathit{head}$, $\mathit{Np}.\mathit{tail}$ã¯ãããã$p$ã®å
容ã表ããªã¹ãã®ï¼
å
é ã»æ«å°¾ã®ãã¼ãã§ããï¼
+\medskip
\begin{itemize}
\item ç¶æ³ã«ãã£ã¦ã¯ï¼\TeX ã½ã¼ã¹ã§è¨ãã¨
\begin{lstlisting}
@@ -7889,30 +7914,6 @@ If this attempt fails, \LuaTeX-ja use the method ``\textsf{\Param{kanjiskip}~[K]
ãã®ããï¼ãå³ç©ºç½ããglueã§ããã°ï¼ãã®ç´åã« \cs{penalty10000} ãæ¿å
¥ããï¼
\end{description}
-ãªãï¼ãå³ç©ºç½ãã¯ã«ã¼ã³ã®%ï¼ã左空ç½ãã¯æªå®ç¾©ã®
-\[
- \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{ç®±ã»ã°ã«ã¼ã»ã«ã¼ã³ã¨åæAã®é}
\textit{Np}ã\textsf{ç®±}ã»ã°ã«ã¼ã»ã«ã¼ã³ã®ããããã§ï¼\textit{Np}ã\textsf{åæA}ã§ãã£ãå ´åã¯ï¼
ããä¸ã®ï¼\textit{Nq}ã¨\textit{Np}ã®é åºãéã«ãªã£ã¦ããï¼å ´åã¨åãã§ããï¼
@@ -7970,6 +7971,69 @@ $\mathit{Nq}.\mathit{tail}$ã¯ç¡æå³ãªã®ã§ï¼
\end{itemize}
%
+%<*ja>
+\section{ãã¼ã¹ã©ã¤ã³è£æ£ã®æ¹æ³}
+\subsection{\texttt{yoffset} ãã£ã¼ã«ã}
+\Param{yalbaselineshift}çã®ãã¼ã¹ã©ã¤ã³è£æ£ã¯ï¼åºæ¬çã«ã¯å¯¾è±¡ã¨ãªã£ã¦ãã
+\textit{glyph\_node}ã® \texttt{yoffset} ãã£ã¼ã«ãã®å¤ãå¢æ¸ãããã¨ã«ãã£ã¦
+å®è£
ããã¦ããï¼ãªãï¼\texttt{yoffset} ã®å¤ã¯ä¸æ¹åã¸ã®ç§»åéã§ããã®ã«å¯¾ãï¼
+\Param{yalbaselineshift}ãªã©ã¯ä¸æ¹åã¸ã®ç§»åéã§ããï¼
+
+ãã¦ï¼\texttt{yoffset} ã®å¢æ¸ã«ãã£ã¦è¦ããã®ã°ãªãä½ç½®ã¯ä¸ä¸ã«ç§»åãããï¼
+ä»®æ³ããã£ã®é«ã$h$ï¼æ·±ã$d$ã«ã¤ãã¦ã¯
+\begin{description}
+\catcode`\<=12\catcode`\>=12
+ \item[$\texttt{yoffset}\geq 0$ã®ã¨ã]
+$h = \max(\texttt{height} + \texttt{yoffset}, 0)$,
+$d = \max(\texttt{depth} - \texttt{yoffset}, 0)$,
+ \item[$\texttt{yoffset}<0$ã®ã¨ã]
+$h = \max(\texttt{height} + \texttt{yoffset}, 0)$, $d=\texttt{depth}$.
+\end{description}
+ã¨ããä»æ§ã«ãªã£ã¦ããï¼ã¤ã¾ãï¼\texttt{yoffset} ãè² ï¼ã°ãªããä¸ããï¼ã®å ´åã«æ·±ãã¯å¢å ããª
+ãï¼è¡¨\ref{tab:yoffset_and_im}åç
§ï¼ï¼
+
+\begin{table}[t]
+\caption{\texttt{yoffset} and imaginary body}
+\label{tab:yoffset_and_im}
+\centering\small
+\fboxsep0pt
+\def\T#1#2{\fcolorbox{blue}{white}{%
+ \setbox0=\hbox{\LARGE #1%
+ \directlua{
+ local p = tex.nest[tex.nest.ptr].tail
+ p.yoffset = #2 * 65536
+ }%
+ }%
+ \copy0\kern-\wd0\smash{\color{red}\vrule width \wd0 height 0.2pt depth 0.2pt}%
+}}
+\begin{tabular}{>{\bfseries}lccccc}
+\toprule
+\texttt{yoffset}&10\,pt&5\,pt&0&$-5$\,pt&$-10$\,pt\\
+\midrule
+ä»®æ³ããã£&\T{y}{10}, \T{H}{10}&\T{y}{5}, \T{H}{5}&\T{y}{0}, \T{H}{0}%
+&\T{y}{-5}, \T{H}{-5}&\T{y}{-10}, \T{H}{-10}\\[10pt]
+\bottomrule
+\end{tabular}
+\end{table}
+
+\subsection{\textbf{ALchar}ã®è£æ£}
+ä¸è¨ã®åé¡ã«ã¤ãã¦ï¼\textbf{ALchar}ã®ãã¼ã¹ã©ã¤ã³è£æ£ã§ã¯
+ãæ£ããæ·±ãããæã£ã罫ç·(rule)ãè£ãã¨ãã対å¿çãã¨ã£ãï¼
+ãã®ç½«ç·ã«ããè£æ£ã¯ï¼\textit{id}ã\textit{id\_glyph}ã§ããã¯ã©ã¹ã¿åä½ï¼
+大éæã«è¨ãã°é³ç¯åä½ã§è¡ãããï¼
+æåå``Typeset''ã
+\begin{itemize}
+ \item ãã©ã³ãã¯Latin Modern Roman (\texttt{lmroman10-regular.otf}) 10\,pt
+ \item \Param{yalbaselineshift}ã¯5\,pt
+\end{itemize}
+ã¨ããç¶æ³ã§çµãã å ´åãä¾ã«ã¨ã£ã¦èª¬æãããï¼
+
+\LuaTeXã»\Pkg{luaotfload}ã«ããã«ã¼ãã³ã°ã»ãã¤ããã¼ã·ã§ã³ãçµãã£ã段éã§ã¯ï¼
+
+
+
+%
+
%\section{Patch for the \Pkg{listings} Package}
%\section{\Pkg{listings} ããã±ã¼ã¸ã¸ã®å¯¾å¿}
@@ -8508,8 +8572,9 @@ CMapãå¿
è¦ã§ããï¼
éåãè¾¼ã¿ã®ä¸å½èªã»éå½èªãã©ã³ããå®ç¾©ããå ´åï¼åæ§ã®ãã£ãã·ã¥ãçæãããï¼
ãã£ãã·ã¥ã®å称ï¼å¿
è¦ã¨ãªãCMapã«ã¤ãã¦ã¯è¡¨\ref{tab:cid-cache}ãåç
§ãã¦æ¬²ããï¼
-\item[ivs\_***.lua]
-ãã©ã³ã``\texttt{***}''ã«ãããç°ä½åæ
å ±ãæ ¼ç´ãã¦ããï¼æ§é ã¯ä»¥ä¸ã®éãï¼
+\item[extra\_***.lua]
+ãã©ã³ã``\texttt{***}''ã«ãããç°ä½åã»ã¬ã¯ã¿ã®æ
å ±ï¼ç¸¦çµç¨åå½¢ã¸ã®å¤æãã¼ãã«ï¼ããã¦
+縦çµæã«ãããå¹
ãæ ¼ç´ãã¦ããï¼æ§é ã¯ä»¥ä¸ã®éãï¼
%
%<*en>
\subsection{Use of Cache}
@@ -8528,9 +8593,15 @@ if you specified \texttt{cid} key in \cs{jfont}
to use other CID-keyed non-embedded fonts for Chinese or Korean,
as in Page~\pageref{para-cid}.
-\item[ivs\_***.lua]
-This file stores the table of Unicode variants in a font ``\texttt{***}''.
-The structure of the table is the following:
+\item[extra\_***.lua]
+This file stores the table which stores the following.
+\begin{itemize}
+ \item unicode variants in a font ``\texttt{***}''
+ \item vertical width of glyphs, if it is not equal to the sum of
+the height of ascender and the depth of descender
+ \item vertical variants
+\end{itemize}
+The following is the structure of the that table.
%
\begin{table}[!tb]
@@ -8556,16 +8627,18 @@ return {
{
[10955]={ -- U+2ACB "Subset Of Above Not Equal To"
[65024]=983879, -- <2ACB FE00>
+ ["vwidth"]=0.98, -- vertical width
},
[37001]={ -- U+9089 "é"
[0]=37001, -- <9089 E0100>
991049, -- <9089 E0101>
...
+ ["vert"]=995025, -- vertical variant
},
...
},
["chksum"]="FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF", -- checksum of the fontfile
- ["version"]=4, -- version of the cache
+ ["version"]=2, -- version of the cache
}
\end{lstlisting}
%<*ja>
@@ -8680,8 +8753,13 @@ callbackã«å¦çãåããªãï¼ããã§ï¼\LuaTeX-ja ã§ã¯ï¼\cs{everyhbox
\cs{vbadness} ãä¸æçã«10000ã«å¤æ´ãï¼hpack, vpackå¾ã«å
ã®å¤ã«æ»ããå¦çãè¡ã£ã¦ã
ãï¼
}ï¼
- \item \cs{vsplit}ã«ãã£ã¦vboxãåå²ããæã®ãæ®ããï¼
+ \item \cs{vsplit}ã«ãã£ã¦vboxãåå²ããæã®ãæ®ããã®å
é ï¼
\item \LuaTeX-jaèªã¿è¾¼ã¿åã«ä½æããããã¯ã¹ã®å¯¸æ³ã \cs{ltjsetwd} çã«ãã£ã¦å¤æ´ããæï¼
+ \item \cs{insert} ã«ããinsertionã§ã¯ï¼ä¸èº«ã®å
é ã«\textit{direction}~whatsitã¯ä½ãããï¼
+ãã®ä»£ããã«ä¸èº«ã®åããã¯ã¹ã»ç½«ç·ã®ç´åã«ä½ããã\footnote{%
+ ããã¯ï¼ãã¼ã¸åå²ã®éç¨ã§insertionãåå²ãããæï¼ãç¾å¨ã®ãã¼ã¸ã§åºåãããé¨åãã空ã¨
+ ãªããã¨ããããã¨ã«ããï¼å
é ã«whatsitãç½®ãã¨ï¼ææªã§ããç¾å¨ã®ãã¼ã¸ã«whatsitã
+ æ®ãããã¨ã«ãªã£ã¦ãã¾ãï¼}ï¼
\end{itemize}
ãªãï¼\verb+\vtop{...}+ ã®å ´åã¯ï¼å
é ã«direction whatsitãç½®ãã¨
ããã¯ã¹ã®é«ãã常ã«0\,ptã«ãªãã¨ããåé¡ãçºçããï¼ãã®ããï¼ãã®å ´åã«éã£ã¦ã¯
@@ -8895,29 +8973,6 @@ ISO 32000-1:2008, \textit{Document management -- Portable document format -- Par
\url{http://www.iso.org/iso/iso\_catalogue/catalogue_tc/catalogue\_detail.htm?csnumber=51502}
\end{thebibliography}
-\newpage
-\appendix
-
-\section{Package versions used in this document}
-This document was typeset using the following packages:
-
-\medskip
-
-{\makeatletter\tt\footnotesize
- \def\@pkglist#1{%
- \filename@parse{#1}\def\@temp{sty}
- \ifx\@temp\filename@ext
- \edef\reserved@a{%
- \filename@base.%
- \ifx\filename@ext\relax tex\else\filename@ext\fi}%
- \leavevmode\hskip-13em\hbox to 13em{\filename@area\reserved@a\hss}%
- \csname ver@\reserved@a\endcsname\par
- \fi
- }%
-\parindent0pt\leftskip13em
-\ltjpkglist
-
-\makeatother}
\end{document}
%!showexpl>
%<*showexpl>