X-Git-Url: http://git.osdn.jp/view?a=blobdiff_plain;f=doc%2Fluatexja.dtx;h=e8cbcf496f63d7d070577c24bcb626a19e1e2710;hb=8156de215f4e7adf80d97612780d98aca0a924de;hp=c5b0118c9d1f90f2ccdd93d25b45185f1356f0f1;hpb=6dae88ff09809ed57e2f10124598a906a9795b03;p=luatex-ja%2Fluatexja.git
diff --git a/doc/luatexja.dtx b/doc/luatexja.dtx
index c5b0118..e8cbcf4 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
@@ -48,7 +33,8 @@
\usepackage{amsmath,array,tikz,pict2e,multienum,float}
\usepackage{booktabs,multicol,luatexja-ruby}
-\usepackage{xy}
+\usepackage[all]{xy}
+\usepackage{lltjext,alltt}
%%%%%%%% listings
@@ -65,7 +51,7 @@
tex.sprint(cat_str, string.format('%X', 0xE00EF+#1))
}}}
-\usepackage{listings,showexpl}
+\usepackage{listings,showexpl,enumitem}
\lstset{
basicstyle=\ttfamily\small, pos=r, breaklines=true,
numbers=none, rframe={}, basewidth=0.5em, numberstyle=\tiny, numbersep=0.5em,
@@ -74,6 +60,19 @@
% Suppress output from showexpl to stdout.
\let\SX@Info\relax
+%%%%%%%% colors
+%% modified from http://jfly.iam.u-tokyo.ac.jp/colorset/
+\usepackage{transparent}
+\definecolor{red}{rgb}{1, 0.16, 0}
+\definecolor{blue}{rgb}{0, 0.25, 1}
+\definecolor{gray}{rgb}{.50, .53, .56}
+\definecolor{green}{rgb}{.21, .63, .42}
+\definecolor{cyan}{rgb}{0.40, .80, 1}
+\definecolor{b_gray}{rgb}{0.78, 0.78, 0.80}
+\definecolor{b_pink}{rgb}{1, 0.82, 0.82}
+\definecolor{b_green}{rgb}{.53, .91, .69}
+\definecolor{b_cyan}{rgb}{0.70, .92, 98}
+
%%%%%%%% hyperref
\usepackage{hyperref,bookmark}
%<*en>
@@ -137,16 +136,12 @@
\DeclareRobustCommand\epTeX{\ensuremath{\varepsilon}-\kern-.125em\pTeX}
%%%%%%%% other macros
-\newenvironment{cslist}{%
-% \leftskip2\zw
-% \leftskip2em
- \parindent=0pt\def\makelabel##1{\cs{##1}}
- \def\{{\char`\{}\def\}{\char`\}}
- \let\origitem=\item
- \def\item[##1]{\par\smallskip\par\hskip-\leftskip\makelabel{##1}\par}
- \@totalleftmargin\leftskip
-}{\par%
-%\medskip
+\newlist{cslist}{description}{1}
+\setlist[cslist]{%
+ style=nextline,font=\mdseries\ttfamily,
+ before*=\def\<{\char`\<}\def\>{\char`\>}\def\{{\char`\{}\def\}{\char`\}},
+% leftmargin=2\zw,
+% leftmargin=2em,
}
\def\labelenumii{(\arabic{enumii})}
@@ -169,7 +164,11 @@
%%%%%%%%
\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}}}}\,}}
+ #1\mathstrut\cr\noalign{\vskip1pt\hrule height.4pt\vskip1pt}\strut#2\cr}}}}}\,}
+\def\HNode#1#2#3#4{\,\vcenter{\hbox{\fboxsep=1pt\fbox{\vbox{\small\halign{\hfil##\hfil\cr
+ #1\mathstrut\cr\noalign{\vskip1pt\hrule height.4pt\vskip1pt}%
+ width:\hfill\ #2\cr height:\hfill\ #3\cr depth:\hfill\ #4\cr
+ }}}}}\,}
\protected\def\Param#1{\hyperlink{fld:#1}{\textsf{#1}}} % parameter name
\protected\def\DParam#1{\hypertarget{fld:#1}{\textsf{#1}}} % parameter name (definition)
@@ -231,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ã¨ãã£ãè¨ç®æ©ã§æ¥æ¬èªãæ±ãéã®ç¶æ³ã®å¤åã«è¿½å¾ãããã¨
ãæ ã£ã¦ãã¾ã£ãã®ã ï¼
@@ -298,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 åæãã©ã³ãã¯ï¼å°å¡ææï¼IPAææãªã©ã®ï¼å®éã®ãã©ã³ãï¼åæãã©ã³
- ãã¡ããªãã¯ï¼JFMã¨å¼ã¶\footnote{æ··ä¹±ãé²ãããï¼p\TeX ã®æå³ã§ã®
- JFM (\texttt{min10.tfm}) ãªã©ã¯æ¬ããã¥ã¡ã³ãã§ã¯\emph{åæç¨
- TFM}ã¨ãã¶ãã¨ã«ããï¼}ï¼ã®çµã§ããï¼
+\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 ä¾ãã°\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
@@ -363,18 +389,18 @@ The followings are major changes from \pTeX:
\item \emph{注æï¼ä¸ã®2ã¤ã®å¤æ´ã«ããï¼å¾æ¥\textbf{JAglue}ã®æ¿å
¥å¦çãåæããã®ã«
使ããã¦ããããã¤ãã®æ¹æ³ã¯ç¨ãããã¨ãã§ããªãï¼å
·ä½çã«ã¯ï¼æ¬¡ã®æ¹æ³ã¯ãã¯ãç¡å¹ã§ããï¼}
%
-\begin{verbatim}
+\begin{lstlisting}
ã¡ã{}ã£ã¨ ã¡ã\/ã£ã¨
-\end{verbatim}
+\end{lstlisting}
%<*en>
If you want to do so, please put an empty horizontal box (hbox) between it instead:
%
%<*ja>
ããåããã¨ããããããã°ï¼ç©ºã®æ°´å¹³ããã¯ã¹(hbox)ãéã«æãã°ããï¼
%
-\begin{verbatim}
+\begin{lstlisting}
ã¡ã\hbox{}ã£ã¨
-\end{verbatim}
+\end{lstlisting}
%<*en>
@@ -388,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}
@@ -526,72 +554,79 @@ 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
-Now \LuaTeX-ja is available from the following archive and distributions:
+Now \LuaTeX-ja is available from
+CTAN (in the \texttt{macros/luatex/generic/luatexja} directory), and
+the following distributions:
\begin{itemize}
- \item CTAN (in the \texttt{macros/luatex/generic/luatexja} directory)
\item MiK\TeX\ (in \texttt{luatexja.tar.lzma}); see the next subsection
\item \TeX\ Live (in \texttt{texmf-dist/tex/luatex/luatexja})
\item W32\TeX\ (in \texttt{luatexja.tar.xz})
\end{itemize}
-
-If you are using \TeX~Live~2013, you can install \LuaTeX-ja
-from \TeX~Live manager (\texttt{tlmgr}):
-\begin{verbatim}
-$ tlmgr install luatexja
-\end{verbatim}
+IPAex fonts are also available in these distributions.
%
%<*ja>
-\emph{æ¬ãã¼ã¸ã§ã³ã®\LuaTeX-jaã¯\TeX~Live~2012以åã§ã¯åä½ããªãï¼}
-ããã¯ï¼\LuaTeX ã¨\Pkg{luaotfload}ã\TeX~Live~2013ã«ããã¦æ´æ°ããããã¨ã«ããï¼
+\emph{æ¬ãã¼ã¸ã§ã³ã®\LuaTeX-jaã¯\TeX~Live~2013以åã§ã¯åä½ããªãï¼\TeX~Live~2014ã§
+ç¨ãããå ´åã¯ï¼èªåã§\LuaTeX éçºçãã½ã¼ã¹ãããã«ãããå¿
è¦ãããï¼}
\medskip
-ç¾å¨ï¼\LuaTeX-jaã¯ä»¥ä¸ã®ã¢ã¼ã«ã¤ãï¼ããã³ãã£ã¹ããªãã¥ã¼ã·ã§ã³ã«åé²ããã¦ããï¼
+ç¾å¨ï¼\LuaTeX-jaã¯CTAN (\texttt{macros/luatex/generic/luatexja})ã«åé²ããã¦ããä»ï¼
+以ä¸ã®ãã£ã¹ããªãã¥ã¼ã·ã§ã³ã«ãåé²ããã¦ããï¼
\begin{itemize}
- \item CTAN (\texttt{macros/luatex/generic/luatexja})
\item MiK\TeX\ (\texttt{luatexja.tar.lzma})
\item \TeX\ Live (\texttt{texmf-dist/tex/luatex/luatexja})
\item W32\TeX\ (\texttt{luatexja.tar.xz})
\end{itemize}
-
-ä¾ãã°\TeX~Live~2013以éãå©ç¨ãã¦ãããªãï¼\LuaTeX-jaã¯\TeX~Live manager (\texttt{tlmgr})ã
-使ã£ã¦ã¤ã³ã¹ãã¼ã«ãããã¨ãã§ããï¼
-\begin{verbatim}
-$ tlmgr install luatexja
-\end{verbatim}
+ãããã®ãã£ã¹ããªãã¥ã¼ã·ã§ã³ã¯IPAexãã©ã³ããåé²ãã¦ããï¼
+W32\TeX ã«ããã¦ã¯IPAexãã©ã³ã㯠\texttt{luatexja.tar.xz} å
ã«ããï¼
%
+% %<*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:
-\begin{verbatim}
+\item Clone the Git repository:
+\begin{lstlisting}
$ git clone git://git.sourceforge.jp/gitroot/luatex-ja/luatexja.git
-\end{verbatim}
+\end{lstlisting}
\item Download the \texttt{tar.gz} archive of HEAD in the \texttt{master} branch from
\begin{flushleft}
\url{http://git.sourceforge.jp/view?p=luatex-ja/luatexja.git;a=snapshot;h=HEAD;sf=tgz}.
@@ -602,14 +637,14 @@ 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ãªãã¸ããªã®å
容ãã³ãã¼ããï¼
-\begin{verbatim}
+\item Gitãªãã¸ããªãã¯ãã¼ã³ããï¼
+\begin{lstlisting}
$ git clone git://git.sourceforge.jp/gitroot/luatex-ja/luatexja.git
-\end{verbatim}
+\end{lstlisting}
\item \texttt{master}ãã©ã³ãã®ã¹ãããã·ã§ããï¼\texttt{tar.gz}å½¢å¼ï¼ããã¦ã³ãã¼ãããï¼
\begin{flushleft}
\url{http://git.sourceforge.jp/view?p=luatex-ja/luatexja.git;a=snapshot;h=HEAD;sf=tgz}.
@@ -625,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/}以ä¸ã®å
容ã ãã§ååï¼
%
@@ -641,13 +676,13 @@ But only the contents in \texttt{src/} are needed to work \LuaTeX-ja.
æ ¼ç´ãã \texttt{ltj-kinsoku.lua} ãçæããããã«ï¼
以ä¸ãå®è¡ããå¿
è¦ãããï¼
%
-\begin{verbatim}
+\begin{lstlisting}
$ cd src
$ lualatex ltjclasses.ins
$ lualatex ltjsclasses.ins
$ lualatex ltjltxdoc.ins
$ luatex ltj-kinsoku_make.tex
-\end{verbatim}
+\end{lstlisting}
%<*en>
Note that \texttt{*.\{dtx,ins\}} and \texttt{ltj-kinsoku\_make.tex} are not needed in regular use.
%
@@ -666,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}
+ ãããï¼
ã·ã³ããªãã¯ãªã³ã¯ãå©ç¨ã§ããç°å¢ã§ï¼ãã¤ãªãã¸ããªãç´æ¥åå¾ããã®ã§ããã°ï¼
ï¼æ´æ°ã容æã«ããããã«ï¼ã³ãã¼ã§ã¯ãªããªã³ã¯ãè²¼ããã¨ãå§ããï¼
%
@@ -718,10 +757,10 @@ so you will encounter an error like the following:
\LuaTeX ã«ãã£ã¦è¦ã¤ãããããã¨ãå¿
è¦ã§ããï¼
ãããMiK\TeX ã§ã¯ãã®ããã«ãªã£ã¦ããªãã®ã§ï¼æ¬¡ã®ã¨ã©ã¼ãçºçããã ããï¼
%
-\begin{verbatim}
+\begin{lstlisting}
! LuaTeX error ...iles (x86)/MiKTeX 2.9/tex/luatex/luatexja/ltj-rmlgbm.lua
bad argument #1 to 'open' (string expected, got nil)
-\end{verbatim}
+\end{lstlisting}
%<*en>
If so, please execute a batch file which is written on
@@ -745,9 +784,9 @@ run \LuaTeX-ja in this directory, and finally delete the temporary directory.
%To use \LuaTeX-ja in plain \TeX, simply put the following at the beginning of the document:
%\LuaTeX-jaã plain \TeX ã§ä½¿ãããã«ã¯ï¼åã«æ¬¡ã®è¡ãã½ã¼ã¹ãã¡ã¤ã«ã®åé ã«è¿½å ããã°ããï¼
-\begin{verbatim}
+\begin{lstlisting}
\input luatexja.sty
-\end{verbatim}
+\end{lstlisting}
%This does minimal settings (like \texttt{ptex.tex}) for typesetting Japanese documents:
%ããã§ï¼\texttt{ptex.tex}ã®ããã«ï¼æ¥æ¬èªçµçã®ããã®æä½éã®è¨å®ããªãããï¼
@@ -760,12 +799,12 @@ run \LuaTeX-ja in this directory, and finally delete the temporary directory.
\textbf{direction}&
\textbf{classification}&\textbf{font name}&\bf `10\,pt'&\bf`7\,pt'&\bf`5\,pt'\\\midrule
\smash{\raisebox{-1ex}{\emph{yoko} (horizontal)}}&
-\emph{mincho}&Ryumin-Light &\cs{tenmin}&\cs{sevenmin}&\cs{fivemin}\\
-\emph{gothic}&GothicBBB-Medium&\cs{tengt} &\cs{sevengt} &\cs{fivegt}\\
+\emph{mincho}&IPAex Mincho&\cs{tenmin}&\cs{sevenmin}&\cs{fivemin}\\
+&\emph{gothic}&IPAex Gothic&\cs{tengt} &\cs{sevengt} &\cs{fivegt}\\
\midrule
\smash{\raisebox{-1ex}{\emph{tate} (vertical)}}&
-\emph{mincho}&Ryumin-Light &\cs{tentmin}&\cs{seventmin}&\cs{fivetmin}\\
-\emph{gothic}&GothicBBB-Medium&\cs{tentgt} &\cs{seventgt} &\cs{fivetgt}\\
+\emph{mincho}&IPAex Mincho&\cs{tentmin}&\cs{seventmin}&\cs{fivetmin}\\
+&\emph{gothic}&IPAex Gothic&\cs{tentgt} &\cs{seventgt} &\cs{fivetgt}\\
\bottomrule
\end{tabular}
\end{center}
@@ -777,30 +816,24 @@ run \LuaTeX-ja in this directory, and finally delete the temporary directory.
\toprule
\emph{çµæ¹å}&\emph{åä½}&\emph{ãã©ã³ãå}&\bf `10\,pt'&\bf`7\,pt'&\bf`5\,pt'\\\midrule
\smash{\raisebox{-1ex}{横çµ}}&
-ææä½&Ryumin-Light &\cs{tenmin}&\cs{sevenmin}&\cs{fivemin}\\
-ã´ã·ãã¯ä½&GothicBBB-Medium&\cs{tengt} &\cs{sevengt} &\cs{fivegt}\\
+ææä½&IPAexææ&\cs{tenmin}&\cs{sevenmin}&\cs{fivemin}\\
+&ã´ã·ãã¯ä½&IPAexã´ã·ãã¯&\cs{tengt} &\cs{sevengt} &\cs{fivegt}\\
\midrule
\smash{\raisebox{-1ex}{縦çµ}}&
-ææä½&Ryumin-Light &\cs{tentmin}&\cs{seventmin}&\cs{fivetmin}\\
-ã´ã·ãã¯ä½&GothicBBB-Medium&\cs{tentgt} &\cs{seventgt} &\cs{fivetgt}\\
+ææä½&IPAexææ&\cs{tentmin}&\cs{seventmin}&\cs{fivetmin}\\
+&ã´ã·ãã¯ä½&IPAexã´ã·ãã¯&\cs{tentgt} &\cs{seventgt} &\cs{fivetgt}\\
\bottomrule
\end{tabular}
\end{center}
%
\begin{itemize}
%<*en>
-\item It is widely accepted that fonts ``Ryumin-Light'' and
- ``GothicBBB-Medium'' aren't embedded into PDF files, and a PDF reader
- substitute them by some external Japanese fonts (\textit{e.g.},
- Ryumin-Light is substituted with Kozuka Mincho in Adobe Reader).
- We adopt this custom to the default setting.
+\item With \texttt{luatexja.cfg}, one can use other fonts
+as ``default'' Japanese fonts (Subsection~\ref{ssec-cfg}).
%
%<*ja>
-\item ``Ryumin-Light''ã¨``GothicBBB-Medium''ã¯PDFãã¡ã¤ã«ã«åãè¾¼ã¾ãã«
- åååç
§ã®ã¿ã§ç¨ãããã¨ãåºãåãå
¥ãããã¦ããï¼ãã®å ´åPDFãªã¼ãã¼ã
- é©åãªå¤é¨ãã©ã³ãã§ä»£ç¨ããï¼ä¾ãã°ï¼Adobe Readerã§ã¯Ryumin-Lightã¯
- å°å¡ææã§ä»£æ¿ãããï¼ï¼ããã§ï¼ããããå¼ãç¶ãããã©ã«ãã®ãã©ã³ãã¨
- ãã¦æ¡ç¨ããï¼
+\item \texttt{luatexja.cfg} ãç¨ãããã¨ã«ãã£ã¦ï¼æ¨æºåæãã©ã³ãã
+IPAexãã©ã³ãããå¥ã®ãã©ã³ãã«ç½®ãæãããã¨ãã§ããï¼\ref{ssec-cfg}ç¯ãåç
§ï¼
%
%<*en>
@@ -835,8 +868,6 @@ run \LuaTeX-ja in this directory, and finally delete the temporary directory.
%\subsection{\LaTeX ã§ä½¿ã}
\label{ssec-ltx}
-\paragraph{\LaTeXe}
-
%<*en>
Using in \LaTeXe\ is basically same. To set up the minimal environment
for Japanese, you only have to load \texttt{luatexja.sty}:
@@ -845,9 +876,9 @@ for Japanese, you only have to load \texttt{luatexja.sty}:
\LaTeXe ãç¨ããå ´åãåºæ¬çã«ã¯åãã§ããï¼æ¥æ¬èªçµçã®ããã®æä½éã®ç°å¢ã
è¨å®ããããã«ã¯ï¼\texttt{luatexja.sty}ãèªã¿è¾¼ãã ãã§ããï¼
%
-\begin{verbatim}
+\begin{lstlisting}
\usepackage{luatexja}
-\end{verbatim}
+\end{lstlisting}
%<*en>
It also does minimal settings (counterparts in \pLaTeX\ are \texttt{%
plfonts.dtx} and \texttt{pldefs.ltx}):
@@ -859,8 +890,8 @@ plfonts.dtx} and \texttt{pldefs.ltx}):
\begin{itemize}
%<*en>
-\item The font encoding for Japanese fonts (for horizontal direction) is \texttt{JY3}.\\
-\texttt{JT3} is used for Japanese fonts for vertical direction.
+\item Font encodings for Japanese fonts is \texttt{JY3}~(for horizontal direction) and
+\texttt{JT3}~(for vertical direction).
%
%<*ja>
\item åæãã©ã³ãã®ã¨ã³ã³ã¼ãã£ã³ã°ã¨ãã¦ã¯ï¼æ¨ªçµç¨ã«ã¯ \texttt{JY3}ï¼ç¸¦çµç¨ã«ã¯\
@@ -868,7 +899,7 @@ plfonts.dtx} and \texttt{pldefs.ltx}):
%
%<*en>
-\item Traditionally, Japanese documents use two typeface category: \emph{mincho}~(ææä½) and
+\item Traditionally, Japanese documents use two typeface categories: \emph{mincho}~(ææä½) and
\emph{gothic}~(\textgt{ã´ã·ãã¯ä½}). \emph{mincho} is used in the main text, while \emph{gothic}
is used in the headings or for emphasis.
\begin{center}\small
@@ -885,15 +916,14 @@ By default, the following fonts are used for \emph{mincho} and \emph{gothic}:
\begin{center}\small
\begin{tabular}{ccccc}
\toprule
-\textbf{classification}&\textbf{family name}&\cs{mdseries}&\cs{bfseries}&\textbf{scale}\\\midrule
-\emph{mincho} (ææä½)&\tt mc&Ryumin-Light &GothicBBB-Medium&0.962216\\
-\emph{gothic} (\textgt{ã´ã·ãã¯ä½})&\tt gt&GothicBBB-Medium&GothicBBB-Medium&0.962216\\
+\textbf{classification}&\textbf{family}&\cs{mdseries}&\cs{bfseries}&\textbf{scale}\\\midrule
+\emph{mincho} (ææä½)&\tt mc&IPAex Mincho&IPAex Gothic&0.962216\\
+\emph{gothic} (\textgt{ã´ã·ãã¯ä½})&\tt gt&IPAex Gothic&IPAex Gothic&0.962216\\
\bottomrule
\end{tabular}
\end{center}
-Note 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 trace that there were only 2~fonts (these are Ryumin-Light
-and GothicBBB-Medium) in early years of DTP. There is no italic nor slanted shape for
+Note that the bold series in both family are same as the medium series of \emph{gothic}
+ family. There is no italic nor slanted shape for
these \texttt{mc}~and~\texttt{gt}.
%
%<*ja>
@@ -912,21 +942,35 @@ and GothicBBB-Medium) in early years of DTP. There is no italic nor slanted shap
\begin{tabular}{ccccc}
\toprule
\emph{åä½}&\emph{ãã¡ããª}&\cs{mdseries}&\cs{bfseries}&\emph{ã¹ã±ã¼ã«}\\\midrule
-ææä½&\tt mc&Ryumin-Light &GothicBBB-Medium&0.962216\\
-ã´ã·ãã¯ä½&\tt gt&GothicBBB-Medium&GothicBBB-Medium&0.962216\\
+ææä½&\tt mc&IPAexææ&IPAexã´ã·ãã¯&0.962216\\
+ã´ã·ãã¯ä½&\tt gt&IPAexã´ã·ãã¯&IPAexã´ã·ãã¯&0.962216\\
\bottomrule
\end{tabular}
\end{center}
ã©ã¡ãã®ãã¡ããªã«ããã¦ãï¼ãã®boldã·ãªã¼ãºã§ä½¿ããããã©ã³ãã¯
-ã´ã·ãã¯ä½ã®mediumã·ãªã¼ãºã§ä½¿ããããã©ã³ãã¨åããããã¨ã«æ³¨æï¼
-ããã¯åæã®DTPã«ããã¦åæãã©ã³ãã2ã¤ï¼ãããã¡ããã©\
-Ryumin-Light, GothicBBB-Mediumã ã£ãï¼ããå©ç¨ã§ããªãã£ãæã®åæ®ã§ããï¼\pLaTeX{}
-ã§ã®æ¨æºè¨å®ã¨ãåãã§ããï¼
+ã´ã·ãã¯ä½ã®mediumã·ãªã¼ãºã§ä½¿ããããã©ã³ãã¨åãã§ãããã¨ã«æ³¨æï¼
+ã¾ãï¼ã©ã¡ãã®ãã¡ããªã§ãã¤ã¿ãªãã¯ä½ã»ã¹ã©ã³ãä½ã¯å®ç¾©ãããªãï¼
%
-
%\item Japanese characters in math mode are typeset by the font family \texttt{mc}.
%\item æ°å¼ã¢ã¼ãä¸ã®åææåã¯ææä½(\texttt{mc})ã§åºåãããï¼
+
+%<*en>
+\item If you use the \Pkg{beamer} class with the default font theme (which uses sans serif
+ fonts) and with \LuaTeX-ja, you might want to change default Japanese fonts to
+ \emph{gothic} family. The following line changes the default Japanese font family
+ to \emph{gothic}:
+%
+%<*ja>
+\item \Pkg{beamer}ã¯ã©ã¹ãæ¢å®ã®ãã©ã³ãè¨å®ã§ä½¿ãå ´åï¼æ¢å®æ¬§æãã©ã³ãããµã³ã»ãªããªã®
+ ã§ï¼æ¢å®åæãã©ã³ããã´ã·ãã¯ä½ã«ãããã¨æããããããªãï¼ãã®å ´åã¯ããªã¢ã³ãã«ã«
+次ãæ¸ãã°ããï¼
+%
+\begin{lstlisting}
+ \renewcommand{\kanjifamilydefault}{\gtdefault}
+\end{lstlisting}
+
+
\end{itemize}
%<*en>
@@ -935,15 +979,41 @@ documents. To typeset Japanese-based documents, you are better to use
class files other than \texttt{article.cls}, \texttt{book.cls}, and so on. At
the present, we have the counterparts of \Pkg{jclasses} (standard
classes in \pLaTeX) and \Pkg{jsclasses} (classes by Haruhiko
-Okumura), namely, \Pkg{ltjclasses} and \Pkg{ltjsclasses}.
+Okumura), namely, \Pkg{ltjclasses}\footnote{%
+ \texttt{ltjarticle.cls},~\texttt{ltjbook.cls}, \texttt{ltjreport.cls},
+ \texttt{ltjtarticle.cls}, \texttt{ltjtbook.cls}, \texttt{ltjtreport.cls}.
+ The latter \texttt{ltjt*.cls} are for vertically writtened Japanese documents.
+} and \Pkg{ltjsclasses}\footnote{%
+ \texttt{ltjsarticle.cls},~\texttt{ltjsbook.cls},~\texttt{ltjskiyou.cls}.}.
%
%<*ja>
ããããªããï¼ä¸è¨ã®è¨å®ã¯æ¥æ¬èªã®ææ¸ã«ã¨ã£ã¦ååã¨ã¯è¨ããªãï¼
æ¥æ¬èªææ¸ãçµçããããã«ã¯ï¼\texttt{article.cls}, \texttt{book.cls}ã¨ãã£ã
欧æç¨ã®ã¯ã©ã¹ãã¡ã¤ã«ã§ã¯ãªãï¼åæç¨ã®ã¯ã©ã¹ãã¡ã¤ã«ãç¨ããæ¹ãããï¼
ç¾æç¹ã§ã¯ï¼\Pkg{jclasses}ï¼\pLaTeX ã®æ¨æºã¯ã©ã¹ï¼ã¨\Pkg{jsclasses}
-ï¼å¥¥ææ´å½¦æ°ã«ããã\pLaTeXe æ°ããã¥ã¡ã³ãã¯ã©ã¹ãï¼ã«å¯¾å¿ãããã®ã¨ãã¦ï¼\Pkg{ltjclasses}ï¼
-\Pkg{ltjsclasses}ãããããç¨æããã¦ããï¼
+ï¼å¥¥ææ´å½¦æ°ã«ããã\pLaTeXe æ°ããã¥ã¡ã³ãã¯ã©ã¹ãï¼ã«å¯¾å¿ãããã®ã¨ãã¦ï¼
+\Pkg{ltjclasses}\footnote{%
+ 横çµç¨ã¯ \texttt{ltjarticle.cls},~\texttt{ltjbook.cls}, \texttt{ltjreport.cls} ã§ããï¼
+ 縦çµç¨ã¯ \texttt{ltjtarticle.cls}, \texttt{ltjtbook.cls}, \texttt{ltjtreport.cls} ã§ããï¼
+}ï¼
+\Pkg{ltjsclasses}\footnote{%
+ \texttt{ltjsarticle.cls},~\texttt{ltjsbook.cls},~\texttt{ltjskiyou.cls}.}%
+ãããããç¨æããã¦ããï¼
+%
+
+%<*ja>
+\paragraph{è注ã¨ããã ããã¼ãã®åºåé åº}
+ãªãªã¸ãã«ã®\LaTeX ã§ã¯è注ãããã ããã¼ãã®ä¸ã«æ¥ãããã«ãªã£ã¦ããï¼
+\pLaTeX ã§ã¯è注ãããã ããã¼ãã®ä¸ã«æ¥ãããã«å¤æ´ããã¦ããï¼
+
+\LuaTeX-jaã§ã¯ã欧æã¯ã©ã¹ã®ä¸ã«ã¡ãã£ã¨ã ãæ¥æ¬èªãå
¥ãããã¨ããå©ç¨ãèæ
®ãï¼
+è注ã¨ããã ããã¼ãã®é åºã¯\LaTeX éãã¨ããï¼ãã\pLaTeX ã®åºåé åºã好ã¿ãªãã°ï¼
+\Pkg{stfloats}ããã±ã¼ã¸ãå©ç¨ãã¦
+\begin{lstlisting}
+ \usepackage{stfloats} \fnbelowfloat
+\end{lstlisting}
+ã®ããã«ããã°ããï¼\Pkg{footmisc}ããã±ã¼ã¸ã \texttt{bottom}\ ãªãã·ã§ã³ãæå®ãã¦
+èªã¿è¾¼ãã¨ããæ¹æ³ããããï¼ããã ã¨ããã ããã¼ãã¨è注ã®éãéãã¦ãã¾ãï¼
%
%\section{Changing Fonts}
@@ -1050,15 +1120,16 @@ auto select&\cs{fontencoding}&\cs{fontfamily}&---&---&\cs{usefont}\\
å®è£
ã§ã¯ \cs{DeclareFontFamily} ãç¨ãã¦ãåé¡ã¯çããªãï¼
\item åæãã©ã³ãã®ã·ã§ã¤ããå®ç¾©ããã«ã¯ï¼é常㮠\cs{DeclareFontShape} ã使ãã°è¯ãï¼
%
-\begin{verbatim}
+\begin{lstlisting}
\DeclareFontShape{JY3}{mc}{bx}{n}{<-> s*KozMinPr6N-Bold:jfm=ujis;-kern}{}
% Kozuka Mincho Pr6N Bold
-\end{verbatim}
+\end{lstlisting}
%<*ja>
ä»®åæ¸ä½ã使ãå ´åãªã©ï¼è¤æ°ã®åæãã©ã³ããçµã¿åããã¦ä½¿ãããå ´åã¯
\ref{ssec-altfont}ç¯ã® \cs{ltjdeclarealtfont} ã¨ï¼ãã®\LaTeX çã®\
\cs{DeclareAlternateKanjiFont}ï¼\ref{ssec-nfsspat}ç¯ï¼ãåç
§ããï¼
%
+
\end{itemize}
%<*en>
@@ -1194,8 +1265,9 @@ alphabetic fonts
%
%<*en>
The package option of \Pkg{luatexja-fontspec} are the followings:
-\begin{list}{}{\def\makelabel{\ttfamily}\def\{{\char`\{}\def\}{\char`\}}\advance\leftmargin1\zw}
- \item[match] If this option is specified, usual family-changing commands such as
+\begin{cslist}
+ \item[match]
+If this option is specified, usual family-changing commands such as
\cs{rmfamily},~\cs{textrm}, \cs{sffamily},~\dots\ also change Japanese font family.
Note that \emph{\cs{setmonojfont} is defined
@@ -1203,7 +1275,7 @@ if and only if this \texttt{\textup{match}} option is specified}.
\item[pass=]
Specify options which will be passed to the \Pkg{fontspec} package.
-\end{list}
+\end{cslist}
The reason that \cs{setmonojfont} is not defined by default is that
it is popular for Japanese fonts that nearly all Japanese glyphs have same
widths. Also note that kerning information in a font is not used
@@ -1213,8 +1285,9 @@ This is because of the compatibility with previous versions of \LuaTeX-ja
%
%<*ja>
\Pkg{luatexja-fontspec} ããã±ã¼ã¸ã®ãªãã·ã§ã³ã¯ä»¥ä¸ã®éãã§ããï¼
-\begin{list}{}{\def\makelabel{\ttfamily}\def\{{\char`\{}\def\}{\char`\}}\advance\leftmargin1\zw}
- \item[match] ãã®ãªãã·ã§ã³ãæå®ãããã¨ï¼ã\pLaTeXe æ°ããã¥ã¡ã³ãã¯ã©ã¹ãã®ããã«\
+\begin{cslist}
+ \item[match]
+ãã®ãªãã·ã§ã³ãæå®ãããã¨ï¼ã\pLaTeXe æ°ããã¥ã¡ã³ãã¯ã©ã¹ãã®ããã«\
\cs{rmfamily}, \verb+\textrm{...}+, \cs{sffamily} çã
欧æãã©ã³ãã ãã§ãªãåæãã©ã³ããå¤æ´ããããã«ãªãï¼
@@ -1223,7 +1296,7 @@ This is because of the compatibility with previous versions of \LuaTeX-ja
\item[pass=]
\Pkg{fontspec} ããã±ã¼ã¸ã«æ¸¡ããªãã·ã§ã³ ãæå®ããï¼
-\end{list}
+\end{cslist}
æ¨æºã§ \cs{setmonojfont} ã³ãã³ããå®ç¾©ãããªãã®ã¯ï¼
åæãã©ã³ãã§ã¯ã»ã¼å
¨ã¦ã®åææåã®ã°ãªããçå¹
ã§ããã®ãä¼çµ±çã§ãã£ããã¨ã«ããï¼
ã¾ãï¼ãããã®åæç¨ã®ã³ãã³ãã§ã¯ãã©ã³ãå
ã®ãã¢ã«ã¼ãã³ã°æ
å ±ã¯æ¨æºã§ã¯ä½¿ç¨ãããªãï¼
@@ -1265,14 +1338,15 @@ before \Pkg{luatexja-preset}:
æä½å¤§æåãåºãªããªãï¼ãªã©ï¼}å ´åã¯ï¼
次ã®ããã«\Pkg{luatexja-preset}ã®åã«\Pkg{fontspec}ãæåã§èªã¿ããã°è¯ãï¼
%
-\begin{verbatim}
+\begin{lstlisting}
\usepackage[no-math]{fontspec}
\usepackage[...]{luatexja-preset}
-\end{verbatim}
+\end{lstlisting}
%\paragraph{General options}
%\paragraph{ä¸è¬çãªãªãã·ã§ã³}
-\begin{list}{}{\def\makelabel{\ttfamily}\def\{{\char`\{}\def\}{\char`\}}\advance\leftmargin1\zw}
+\begin{cslist}[before*=]
+
\item[nodeluxe]
%<*en>
Use one-weighted \textit{mincho} and \textit{gothic} font families.
@@ -1283,8 +1357,9 @@ This means that \verb+\mcfamily\bfseries+, \verb+\gtfamily\bfseries+ and
%<*ja>
\LaTeXe ç°å¢ä¸ã§ã®æ¨æºè¨å®ã®ããã«ï¼ææä½ã»ã´ã·ãã¯ä½ãå1ã¦ã§ã¤ãã§ä½¿ç¨ããï¼
ããå
·ä½çã«è¨ãã¨ï¼ãã®è¨å®ã®ä¸ã§ã¯
-\verb+\mcfamily\bfseries+, \verb+\gtfamily\bfseries+, \verb+\gtfamily\mdseries+ã¯
-ã¿ãªåããã©ã³ãã¨ãªãï¼\emph{ãã®ãªãã·ã§ã³ã¯æ¨æºã§æå¹ã«ãªã£ã¦ããï¼}
+\ \verb+\mcfamily\bfseries+, \verb+\gtfamily\bfseries+,
+\verb+\gtfamily\mdseries+ã¯ã¿ãªåããã©ã³ãã¨ãªãï¼
+\emph{ãã®ãªãã·ã§ã³ã¯æ¨æºã§æå¹ã«ãªã£ã¦ããï¼}
%
\item[deluxe]
%<*en>
@@ -1307,10 +1382,10 @@ bold (\cs{bfseries}).
%
\item[expert]
%<*en>
-Use horizontal kana alternates, and define a command \cs{rubyfamily} to use kana
+Use horizontal/vertical kana alternates, and define a command \cs{rubyfamily} to use kana
characters designed for ruby.
%
-%横çµå°ç¨ä»®åãç¨ããï¼ã¾ãï¼\cs{rubyfamily} ã§ã«ãç¨ä»®åã使ç¨å¯è½ã¨ãªãï¼
+%横çµã»ç¸¦çµå°ç¨ä»®åãç¨ããï¼ã¾ãï¼\cs{rubyfamily} ã§ã«ãç¨ä»®åã使ç¨å¯è½ã¨ãªãï¼
\item[bold]
%Substitute bold series of \textit{gothic} for bold series of \textit{mincho}.
%ãææã®å¤ªåããã´ã·ãã¯ä½ã®å¤ªåã«ãã£ã¦ä»£æ¿ããï¼
@@ -1329,7 +1404,7 @@ Use the JFM \texttt{jfm-jis.lua}, instead of \texttt{jfm-ujis.lua}, which is the
ç¨ããJFMãï¼JISãã©ã³ãã¡ããªãã¯é¡ä¼¼ã®ï¼\texttt{jfm-jis.lua}ã«ããï¼ãã®ãªãã·ã§ã³ããªãæã¯
\LuaTeX-jaæ¨æºã®\texttt{jfm-ujis.lua}ãç¨ããããï¼
%
-\end{list}
+\end{cslist}
%<*en>
Note that \texttt{90jis} and \texttt{jis2004} only affect with \textit{mincho},
\textit{gothic} (and possibly \textit{rounded gothic}) defined by this package.
@@ -1351,11 +1426,11 @@ fonts are specified by font name, not by file name.
\texttt{morisawa-pro}, \texttt{morisawa-pr6n}以å¤ã¯ãã©ã³ãã®æå®ã¯
ï¼ãã¡ã¤ã«åã§ãªãï¼ãã©ã³ãåã§è¡ãããï¼
%
-\begin{list}{}{\def\makelabel{\ttfamily}\def\{{\char`\{}\def\}{\char`\}}\advance\leftmargin1\zw}
+\begin{cslist}[style=standard]
\item[kozuka-pro] Kozuka Pro (Adobe-Japan1-4) fonts.
-% \\[-\dimexpr\medskipamount+\baselineskip\relax]
+% \\*[-\dimexpr\medskipamount+\baselineskip\relax]
\item[kozuka-pr6] Kozuka Pr6 (Adobe-Japan1-6) fonts.
-% \\[-\dimexpr\medskipamount+\baselineskip\relax]
+% \\*[-\dimexpr\medskipamount+\baselineskip\relax]
\item[kozuka-pr6n] Kozuka Pr6N (Adobe-Japan1-6, JIS04-savvy) fonts.
%<*en>
@@ -1404,7 +1479,7 @@ In above table, starred fonts (KozGo\dots-Regular) are used for medium series of
%\medskip
\item[hiragino-pro] Hiragino Pro (Adobe-Japan1-5) fonts.
-% \\[-\dimexpr\medskipamount+\baselineskip\relax]
+% \\*[-\dimexpr\medskipamount+\baselineskip\relax]
\item[hiragino-pron] Hiragino ProN (Adobe-Japan1-5, JIS04-savvy) fonts.
%<*en>
@@ -1444,11 +1519,12 @@ Std/StdNãã©ã³ãã§ããï¼ãã®ä»ã¯Adobe-Japan1-5対å¿ã§ããï¼
\end{tabular}
\end{center}
-%\medskip
+%\newpage
\item[morisawa-pro] Morisawa Pro (Adobe-Japan1-4) fonts.
-% \\[-\dimexpr\medskipamount+\baselineskip\relax]
+% \\*[-\dimexpr\medskipamount+\baselineskip\relax]
\item[morisawa-pr6n] Morisawa Pr6N (Adobe-Japan1-6, JIS04-savvy) fonts.
+
\begin{center}\small
\begin{tabular}{cl>{\tt}l>{\tt}l}
\toprule
@@ -1474,8 +1550,9 @@ Std/StdNãã©ã³ãã§ããï¼ãã®ä»ã¯Adobe-Japan1-5対å¿ã§ããï¼
\end{center}
\item[yu-win] Yu fonts bundled with Windows~8.1.
-% \\[-\dimexpr\medskipamount+\baselineskip\relax]
+% \\*[-\dimexpr\medskipamount+\baselineskip\relax]
\item[yu-osx] Yu fonts bundled with OSX~Mavericks.
+
\begin{center}\small
\begin{tabular}{clll}
\toprule
@@ -1502,7 +1579,7 @@ Std/StdNãã©ã³ãã§ããï¼ãã®ä»ã¯Adobe-Japan1-5対å¿ã§ããï¼
\end{tabular}
\end{center}
-\end{list}
+\end{cslist}
%\paragraph{Presets for single weight}
%\paragraph{åã¦ã§ã¤ãç¨ããªã»ããä¸è¦§}
%<*en>
@@ -1523,9 +1600,9 @@ even if \texttt{deluxe} option is also specified).
\midrule
%<*en>
\it mincho&Ryumin-Light (non-embedded)
-&IPAMincho&IPAexMincho&MS Mincho\\
+&IPA Mincho&IPAex Mincho&MS Mincho\\
\it gothic&GothicBBB-Medium (non-embedded)
-&IPAGothic&IPAexGothic&MS Gothic\\
+&IPA Gothic&IPAex Gothic&MS Gothic\\
%
%<*ja>
\gtfamily ææä½&Ryumin-Lightï¼éåè¾¼ï¼
@@ -1536,7 +1613,6 @@ even if \texttt{deluxe} option is also specified).
\bottomrule
\end{tabular}\par\medskip}
-
%\paragraph{Using HG fonts}
%\paragraph{HGãã©ã³ãã®å©ç¨}
%<*en>
@@ -1554,14 +1630,14 @@ We can use HG~fonts bundled with Microsoft~Office for realizing multiple weights
\midrule
%<*en>
\bf mincho medium
-&IPAMincho&IPAexMincho&MS Mincho\\\midrule
+&IPA Mincho&IPAex Mincho&MS Mincho\\\midrule
\bf mincho bold&
\multicolumn{3}{c}{HG Mincho E}\\\midrule
\bf Gothic medium\\
~~without \texttt{deluxe}
-&IPAGothic&IPAexGothic&MS Gothic\\
+&IPA Gothic&IPAex Gothic&MS Gothic\\
~~with {\tt jis2004}
-&IPAGothic&IPAexGothic&MS Gothic\\
+&IPA Gothic&IPAex Gothic&MS Gothic\\
\cmidrule(lr){1-4}
~~otherwise&
\multicolumn{3}{c}{HG Gothic M}\\\midrule
@@ -1605,6 +1681,7 @@ are internally specified by:
\end{description}
%
%<*ja>
+\newpage
ãªãï¼HGææEã»HGã´ã·ãã¯Eã»HGåµè±è§ã´ã·ãã¯UBã»HG丸ã´ã·ãã¯ä½PROã®4ã¤ã«ã¤ãã¦ã¯ï¼å
é¨ã§
\begin{description}
\item[æ¨æº] ãã©ã³ãåï¼\texttt{HGMinchoE} ãªã©ï¼
@@ -1647,11 +1724,12 @@ If you want to use these functions, load \Pkg{luatexja-otf} package.
%<*ja>
\Pkg{otf}ããã±ã¼ã¸ã§ã¯ï¼ãããã次ã®ãããªãªãã·ã§ã³ãåå¨ããï¼
-\begin{description}
-\item[\texttt{deluxe}] ææä½ã»ã´ã·ãã¯ä½å2ã¦ã§ã¤ãã¨ï¼ä¸¸ã´ã·ãã¯ä½ãæ±ããããã«ãªãï¼
-\item[\texttt{expert}] ä»®åã横çµã»ç¸¦çµå°ç¨ã®ãã®ã«åãæ¿ããï¼ã«ãç¨ä»®åãæ±ããããã«ãªãï¼
-\item[\texttt{bold}] ã´ã·ãã¯ä½ãæ¨æºã§å¤ªãã¦ã§ã¤ãã®ãã®ã«è¨å®ããï¼
-\end{description}
+\begin{cslist}
+\item[deluxe] ææä½ã»ã´ã·ãã¯ä½å2ã¦ã§ã¤ãã¨ï¼ä¸¸ã´ã·ãã¯ä½ãæ±ããããã«ãªãï¼
+\item[expert] ä»®åã横çµã»ç¸¦çµå°ç¨ã®ãã®ã«åãæ¿ããï¼ã«ãç¨ä»®åã
+\ \cs{rubyfamily}\ ã«ãã£ã¦æ±ããããã«ãªãï¼
+\item[bold] ã´ã·ãã¯ä½ãæ¨æºã§å¤ªãã¦ã§ã¤ãã®ãã®ã«è¨å®ããï¼
+\end{cslist}
ããããããã®ãªãã·ã§ã³ã¯\Pkg{luatexja-otf}ããã±ã¼ã¸ã«ã¯åå¨ããªãï¼
\Pkg{otf}ããã±ã¼ã¸ãææ¸ä¸ã§ä½¿ç¨ããåæç¨TFMãèªåã®ç©ã«ç½®ãæãã¦ããã®ã«å¯¾ãï¼
\Pkg{luatexja-otf}ããã±ã¼ã¸ã§ã¯ï¼ãã®ãããªãã¨ã¯è¡ããªãããã§ããï¼
@@ -1662,6 +1740,59 @@ If you want to use these functions, load \Pkg{luatexja-otf} package.
\ref{ssec-fontspec}ç¯ (\Pkg{fontspec}) ã®æ¹æ³ã§æåã§æå®ããå¿
è¦ãããï¼
%
+%\subsection{Changing default Japanese fonts}
+%\subsection{æ¨æºåæãã©ã³ãã®å¤æ´}
+\label{ssec-cfg}
+%<*en>
+If \texttt{luatexja.cfg} can be seen from \LuaTeX, \LuaTeX-ja automatically reads it.
+The main use of \texttt{luatexja.cfg} is for changing default Japanese fonts,
+when IPAex fonts cannot be installed in \TeX~system.
+One should not overuse this \texttt{luatexja.cfg}; fonts which will be used in
+a document should be specified in its source.
+
+For example,
+\begin{lstlisting}
+\def\ltj@stdmcfont{IPAMincho}
+\def\ltj@stdgtfont{IPAGothic}
+\end{lstlisting}
+makes that IPA~Mincho and IPA~Gothic will be used as default Japanese fonts, instead of
+IPAex~Mincho and IPAex~Gothic.
+
+For another example, the following two lines makes that
+non-embedded fonts Ryumin-Light~and~GothicBBB-Medium as default Japanese fonts
+(as the earlier version of \LuaTeX-ja):
+\begin{lstlisting}
+\def\ltj@stdmcfont{psft:Ryumin-Light}
+\def\ltj@stdgtfont{psft:GothicBBB-Medium}
+\end{lstlisting}
+%
+%<*ja>
+\LuaTeX ããè¦ããä½ç½®ã« \texttt{luatexja.cfg} ãããã°ï¼\LuaTeX-jaã¯ãããèªã¿è¾¼ãï¼
+ãã®ãã¡ã¤ã«ãç¨ããã¨plain~\TeX, \LaTeXe ã«ãããæ¨æºåæãã©ã³ãã
+IPAexææã»IPAexã´ã·ãã¯ããå¤æ´ãããã¨ãã§ããï¼
+ãããï¼åºæ¬çã«ã¯\emph{æç« ä¸ã§ç¨ãããã©ã³ãã¯ï¼ä¾ãã° \Pkg{luatexja-preset} ãªã©ã§ï¼
+ææ¸ã½ã¼ã¹å
ã§æå®ããã¹ã}ã§ããï¼ãã® \texttt{luatexja.cfg} ã¯ï¼
+ãIPAexãã©ã³ããã¤ã³ã¹ãã¼ã«ã§ããªãããªã©ï¼IPAexãã©ã³ãã使ç¨ã§ããªãå ´åã«ã®ã¿
+å¿æ¥å¦ç½®çã«ç¨ããã¹ãã§ããï¼
+
+ä¾ãã°
+\begin{lstlisting}
+\def\ltj@stdmcfont{IPAMincho}
+\def\ltj@stdgtfont{IPAGothic}
+\end{lstlisting}
+ã¨è¨è¿°ãã¦ããã°ï¼æ¨æºåæãã©ã³ããIPAææã»IPAã´ã·ãã¯ã¸ã¨å¤
+æ´ãããï¼
+
+
+ãªãï¼20140906.0以åã®ãã¼ã¸ã§ã³ã®ããã«ï¼
+Ryumin-Light, GothicBBB-Mediumã¨ããååã®éåè¾¼ãã©ã³ããç¨ããå ´åã¯
+\begin{lstlisting}
+\def\ltj@stdmcfont{psft:Ryumin-Light}
+\def\ltj@stdgtfont{psft:GothicBBB-Medium}
+\end{lstlisting}
+ã¨è¨è¿°ããã°ããï¼
+%
+
%\section{Changing Parameters}
%\section{ãã©ã¡ã¼ã¿ã®å¤æ´}
@@ -1731,9 +1862,9 @@ it sets
\item 2çªï¼3çªï¼6çªï¼7çªï¼8çªã®æåç¯å²ã«å±ããæåã¯\textbf{JAchar}ï¼
\end{itemize}
%
-\begin{verbatim}
+\begin{lstlisting}
\ltjsetparameter{jacharrange={-1, +2, +3, -4, -5, +6, +7, +8}}
-\end{verbatim}
+\end{lstlisting}
%<*en>
The argument to \textsf{jacharrange} parameter is a list of non-zero integer.
Negative integer $-n$ in the list means that ``each character in the range~$n$ is an
@@ -1781,6 +1912,7 @@ these eight ranges belongs to the character range~217.
%
\begin{description}
%<*en>
+
\item[Range~8${}^{\text{J}}$] The intersection of the upper half of ISO~8859-1
(Latin-1 Supplement) and JIS~X~0208 (a basic character set for Japanese). This character range
consists of the following characters:
@@ -1850,7 +1982,7 @@ This range consists of the following Unicode ranges, \emph{except characters in
ã«ç¤ºãã¦ããï¼
%
\begin{table}[!tb]
-%\caption{Unicode blocks in predefined character range~3.}
+%\caption{Unicode blocks in predefined character range~3.}\medskip
%\caption{æåç¯å²3ã«æå®ããã¦ããUnicodeãããã¯ï¼}
\label{table-rng3}
\catcode`\"=13\def"#1#2#3#4{\texttt{U+#1#2#3#4}}%"
@@ -1899,7 +2031,7 @@ This range consists of the following Unicode ranges, \emph{except characters in
%\item[Range~6${}^{\text{J}}$] Characters used in Japanese. The block list is indicated in Table~\ref{table-rng6}.
%\item[ç¯å²6${}^{\text{J}}$] æ¥æ¬èªã§ç¨ããããæåï¼ãããã¯ã®ãªã¹ãã¯è¡¨\ref{table-rng6}ã«ç¤ºãï¼
\begin{table}[!tb]
-%\caption{Unicode blocks in predefined character range~6.}
+%\caption{Unicode blocks in predefined character range~6.}\medskip
%\caption{æåç¯å²6ã«æå®ããã¦ããUnicodeãããã¯ï¼}
\label{table-rng6}
\catcode`\"=13\def"#1#2#3#4{\texttt{U+#1#2#3#4}}%"
@@ -1934,7 +2066,7 @@ The block list is indicated in Table~\ref{table-rng7}.
ãããã¯ã®ãªã¹ãã¯è¡¨\ref{table-rng7}ã«ç¤ºãï¼
%
\begin{table}[!tb]
-%\caption{Unicode blocks in predefined character range~7.}
+%\caption{Unicode blocks in predefined character range~7.}\medskip
%\caption{æåç¯å²7ã«æå®ããã¦ããUnicodeãããã¯ï¼}
\label{table-rng7}
\catcode`\"=13\def"#1#2#3#4{\texttt{U+#1#2#3#4}}%"
@@ -1956,7 +2088,6 @@ The block list is indicated in Table~\ref{table-rng7}.
\end{table}
\end{description}
-
%\subsection{\Param{kanjiskip} and \Param{xkanjiskip}}
%\subsection{\Param{kanjiskip}ã¨\Param{xkanjiskip}}
\label{subs-kskip}
@@ -2087,9 +2218,9 @@ as follows:
ä»æ§ã§ã¯ï¼\Param{jaxspmode}, \Param{alxspmode}ã¯ãã¼ãã«ãå
±æãã¦ããï¼
ä¸ã®ã³ã¼ãã®1è¡ç®ã次ã®ããã«å¤ãã¦ãåããã¨ã«ãªãï¼
%
-\begin{verbatim}
+\begin{lstlisting}
\ltjsetparameter{alxspmode={`ã,preonly}, jaxspmode={`\!,postonly}}
-\end{verbatim}
+\end{lstlisting}
%<*en>
One can use also numbers to specify these two parameters (see Subsection~\ref{ssec-param}).
%
@@ -2113,14 +2244,26 @@ parameters to \texttt{true}/\texttt{false}, respectively.
%<*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 \cs{ybaselineshift} to a non-zero length (the
+by setting \cs{ybaselineshift} (or \cs{tbaselineshift}) to a non-zero length (the
baseline of \textbf{ALchar} is shifted below). However, for documents
whose main language is not Japanese, it is good to shift the baseline of
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).
+of the baseline of alphabetic fonts and that of Japanese fonts.
+\begin{center}
+ \small
+\begin{tabular}{>{\bfseries}lcc}
+\toprule
+&\bfseries Horizontal writing (\emph{yoko} direction) etc.
+&\bfseries Vertical writing(\emph{tate} direction)\\
+\midrule
+Alphabetic fonts&\Param{yalbaselineshift}
+ parameter&\Param{talbaselineshift} parameter\\
+Japanese fonts&\Param{yjabaselineshift}
+ parameter&\Param{tjabaselineshift} parameter\\
+\bottomrule
+\end{tabular}
+\end{center}
%
%<*ja>
åæãã©ã³ãã¨æ¬§æãã©ã³ããåãããããã«ã¯ï¼æã
ã©ã¡ããã®ãã¼ã¹ã©ã¤ã³ã®ç§»åã
@@ -2128,21 +2271,33 @@ parameter).
ãªããã¦ããï¼\textbf{ALchar}ã®ãã¼ã¹ã©ã¤ã³ããã®åã ãä¸ããï¼ï¼ãããï¼æ¥æ¬èªã主ã§ã¯ãªã
ææ¸ã«å¯¾ãã¦ã¯ï¼æ¬§æãã©ã³ãã§ã¯ãªãåæãã©ã³ãã®ãã¼ã¹ã©ã¤ã³ã移åããæ¹ãããï¼
ãã®ããï¼\LuaTeX-jaã§ã¯æ¬§æãã©ã³ãã®ãã¼ã¹ã©ã¤ã³ã®ã·ããé
-ï¼\Param{yalbaselineshift}ãã©ã¡ã¼ã¿ï¼ã¨åæãã©ã³ãã®ãã¼ã¹ã©ã¤ã³ã®ã·ããé
-ï¼\Param{yjabaselineshift}ãã©ã¡ã¼ã¿ï¼ãç¬ç«ã«è¨å®ã§ããããã«ãªã£ã¦ããï¼
+ã¨åæãã©ã³ãã®ãã¼ã¹ã©ã¤ã³ã®ã·ããéãç¬ç«ã«è¨å®ã§ããããã«ãªã£ã¦ããï¼
+\begin{center}
+ \small
+\begin{tabular}{>{\bfseries}lcc}
+\toprule
+&\bfseries 横çµãªã©&\bfseries 縦çµ\\
+\midrule
+欧æãã©ã³ãã®ã·ããé&\Param{yalbaselineshift}
+ parameter&\Param{talbaselineshift} parameter\\
+åæãã©ã³ãã®ã·ããé&\Param{yjabaselineshift}
+ parameter&\Param{tjabaselineshift} parameter\\
+\bottomrule
+\end{tabular}
+\end{center}
%
+%<*en>
+Here the horizontal line in the below example is the baseline of a line.
+%
+%<*ja>
+ä¸ã®ä¾ã«ããã¦å¼ããã¦ããæ°´å¹³ç·ããã¼ã¹ã©ã¤ã³ã§ããï¼
+%
\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
@@ -2163,6 +2318,30 @@ xyzæ¼¢å
}abcããª
\end{LTXexample}
+%<*en>
+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 ã¨ã®éã}
@@ -2189,10 +2368,10 @@ xyzæ¼¢å
\begin{tabular}{lp{30\zw}}
\toprule
\emph{å
¥å}&\vspace*{\dimexpr-\origbaselineskip-\smallskipamount}
-\begin{verbatim}
+\begin{lstlisting}
æ°å¼abc: $ãa\hbox{ã}$, $\int_0^x t\,dt=x^2\!/2$,
$\Phi\vdash F(x)\ \hbox{for all}\ x\in A$
-\end{verbatim}\\
+\end{lstlisting}\\
\noalign{\vskip-\origbaselineskip}
\midrule
\emph{\pTeX}&
@@ -2212,12 +2391,14 @@ $\Phi\vdash F(x)\ \hbox{for all}\ x\in A$
\end{table}
%
+\clearpage
%\part{Reference}
%\part{ãªãã¡ã¬ã³ã¹}
\label{part-ref}
-
+\suppressfloats[t]
%<*ja>
\section{\LuaTeX-jaã«ããã \cs{catcode}}
+\label{sec-catcode}
\subsection{äºåç¥èï¼\pTeX ã¨\upTeX ã«ããã \cs{kcatcode}}
\pTeXï¼\upTeX ã«ããã¦ã¯ï¼åææåãå¶å¾¡ç¶´å
ã§å©ç¨ã§ãããã©ãã
㯠\cs{kcatcode} ã®å¤ã«ãã£ã¦æ±ºå®ãããã®ã§ãã£ãï¼
@@ -2225,6 +2406,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.
@@ -2472,8 +2654,13 @@ JIS~X~0213ã®ç¯å²ã«åºããã¨ï¼å·®ç°ã¯ããã«å¤§ãããªãï¼
%
-
-
+%<*en>
+\section{Directions}
+\LuaTeX\ supports four $\Omega$-style directions: \texttt{TLT},~\texttt{TRT}, \texttt{RTT}
+and \texttt{LTL}.
+However, neither directions are not well-suited for typesetting Japanese vertically, hence we
+implemented vertical writing by rotating \texttt{TLT}-box by 90~degrees.
+%
%<*ja>
\section{縦çµ}
\label{sec-direction}
@@ -2484,10 +2671,12 @@ JIS~X~0213ã®ç¯å²ã«åºããã¨ï¼å·®ç°ã¯ããã«å¤§ãããªãï¼
欧ææåãå
¥ã£ã¦ããå ´åã¯ãã¾ããããï¼\texttt{RTR} ã¨ããçµæ¹åãå¿
è¦ã«ãªãï¼
}ï¼ãã®ããï¼\LuaTeX-jaã§ã¯æ¨ªçµ(\texttt{TLT})ã§çµãã ããã¯ã¹ãå転ãããæ¹å¼ã§
縦çµãå®è£
ããï¼
+%
-\subsection{ãµãã¼ãããçµæ¹å}
+%\subsection{ãµãã¼ãããçµæ¹å}
\begin{table}[t]
-\caption{\LuaTeX-ja ã®ãµãã¼ãããçµæ¹å}
+%\caption{\LuaTeX-ja ã®ãµãã¼ãããçµæ¹å}
+%\caption{Directions supported by \LuaTeX-ja}
%\medskip
\label{tab-dir}
\centering\small
@@ -2501,11 +2690,12 @@ JIS~X~0213ã®ç¯å²ã«åºããã¨ï¼å·®ç°ã¯ããã«å¤§ãããªãï¼
\hbox to 60pt{\,éã¯ãAg\hss}}}%
\raise\dimexpr 0.5\ltjgetdp0-0.5\ltjgetht0\box0%
}
+%<*ja>
\begin{tabular}{>{\bfseries}lcccc}
\toprule
-&\cs{yoko}ï¼æ¨ªçµï¼&\cs{tate}ï¼ç¸¦çµï¼
- &\cs{dtou}&\cs{utod}\\
+&横çµ&ç¸¦çµ &\cs{dtou}ãdtouæ¹åã&ãutodæ¹åã\\
\midrule
+å½ä»¤&\cs{yoko}&\cs{tate}&\cs{dtou}&\cs{utod}\\
åéãæ¹å&æ°´å¹³å³åãï¼âï¼&åç´ä¸åãï¼âï¼&åç´ä¸åãï¼âï¼&åç´ä¸åãï¼âï¼\\
è¡éãæ¹å&åç´ä¸åãï¼âï¼&水平左åãï¼âï¼&æ°´å¹³å³åãï¼âï¼&水平左åãï¼âï¼\\
使ç¨ããåæãã©ã³ã&横çµç¨(\cs{jfont})&縦çµç¨(\cs{tfont})&
@@ -2526,9 +2716,51 @@ JIS~X~0213ã®ç¯å²ã«åºããã¨ï¼å·®ç°ã¯ããã«å¤§ãããªãï¼
$^*$\ å¹
(width)ï¼é«ã(height)ï¼æ·±ã(depth)ã®å¢å æ¹åãï¼
ããããã\R{>}ãï¼ã\R{>>}ãï¼ã\R{>|}ãã§è¡¨ãã¦ããï¼
\raggedright
+%
+%<*en>
+\begin{tabular}{>{\bfseries}lcccc}
+\toprule
+&horizontal (\emph{yoko}~direction)&vertical (\emph{tate}~direction)&%
+ \emph{dtou} direction&\emph{utod} direction\\
+\midrule
+Commands&\cs{yoko}&\cs{tate}&\cs{dtou}&\cs{utod}\\
+Beginning of the page&Top&Right&Left&Right\\
+Beginning of the line&Left&Top&Bottom&Top\\
+Used Japanese font&horizontal (\cs{jfont})&vertical (\cs{tfont})&
+\multicolumn{2}{c}{%
+ horizontal ($90^\circ$ rotated)}\\[\smallskipamount]
+Example&\obox{\yoko}&\obox{\tate}&\obox{\dtou}&\obox{\utod}\\
+\noalign{\medskip}
+(Notation used in $\Omega$)&TLT&RTR, RTT&LBL&RTR\\
+\bottomrule
+\end{tabular}
+
+\medskip\raggedright
+\def\R#1{%
+ \raise0.38\zw\hbox{%
+ \vrule height.2pt depth.2pt width2\zw%
+ \hbox to 0pt{\hss\composite{*d^@{#1}}\hss}%
+ }%
+}
+\raggedright
+%
\end{table}
+%<*en>
+\LuaTeX-ja supports four directions, as shown in Table~\ref{tab-dir}.
+The second column (\emph{yoko} direction) is just horizontal writing,
+and the third column (\emph{tate} direction) is vertical writing.
+The fourth column (\emph{dtou} direction) is actually a hidden feature of \pTeX.
+We implemented this for debugging purpose.
+The fifth column (\emph{utod} direction) corresponds the ``\texttt{tate (math) direction}'' of \pTeX.
+
+Directions can be changed by \cs{yoko},~\cs{tate}, \cs{dtou},~\cs{utod},
+only when the current list is null. Also, the direction of a math formula is changed to
+\emph{utod}, when the direction outside the math formula is \emph{tate} (vertical writing).
+%
+
+%<*ja>
\LuaTeX-jaããµãã¼ãããçµæ¹åã¯è¡¨\ref{tab-dir}ã«ç¤ºã4ã¤ã§ããï¼
4åç®ã® \cs{dtou} ã¯èãæ
£ããªãå½ä»¤ã ã¨æããï¼
å®ã¯\pTeX ã«ååã®å½ä»¤ãï¼ããã¥ã¡ã³ãã«ã¯æ¸ããã¦ããªããï¼åå¨ããï¼
@@ -2539,7 +2771,28 @@ Down-TO-Upã®æå³ãªã®ã ããï¼\cs{dtou} ã使ç¨ããæ©ä¼ã¯ãªãã
çµæ¹åã¯ï¼\cs{yoko},~\cs{tate}, \cs{dtou},~\cs{utod} ããããã使ç¨ãããã¨ã§ï¼
ç¾å¨ä½æä¸ã®ãªã¹ããããã¯ã¹ã空ã®æã«ã®ã¿å¤æ´å¯è½ã§ããï¼
ã¾ãï¼ç¸¦çµä¸ã®æ°å¼å
ã®ããã¯ã¹ã¯\pTeX ã¨åãããã«çµæ¹åã \cs{utod} ã¨ãªãï¼
+%
+
+%<*en>
+\subsection{Boxes in different direction}
+
+As in \pTeX, one can use boxes of different direction in one document.
+The below is an example.
+\begin{LTXexample}
+ããã¯æ¨ªçµ% yoko
+\hbox{\tate % tate
+ \hbox{縦çµ}% tate
+ ã®ä¸ã«
+ \hbox{\yoko 横çµã®å
容}% yoko
+ ãæ¿å
¥ãã
+}
+ã¾ã横çµã«æ»ã% yoko
+\end{LTXexample}
+Table~\ref{tab-diffdir} shows how a box is arranged when
+the direction inside the box and that outside the box differ.
+%
+%<*ja>
\subsection{ç°æ¹åã®ããã¯ã¹}
縦çµã®ä¸ã«ã42ããªã©ã®2æ¡ä»¥ä¸ã®ç®ç¨æ°åã横çµã§çµããªã©ï¼
@@ -2558,13 +2811,11 @@ Down-TO-Upã®æå³ãªã®ã ããï¼\cs{dtou} ã使ç¨ããæ©ä¼ã¯ãªãã
ç°ãªãçµæ¹åã®ããã¯ã¹ãé
ç½®ããå ´åã«ã©ãçµã¾ãããã®ä»æ§ãï¼\pTeX ã
è¸è¥²ãã¦ããï¼è¡¨\ref{tab-diffdir}ã«ç¤ºãï¼
-ãã®è¡¨\ref{tab-diffdir}ã§ã¯ \cs{utod} æ¹åã«ã¤ãã¦ã®è¨è¿°ãçç¥ãã¦ãããï¼
-ããã¯ç¸¦çµã®å ´åã¨å
¨ãåãã§ããããã§ããï¼
-å
é¨ã§ã¯ï¼ç°ãªãçµæ¹åã®ããã¯ã¹ãé
ç½®è£æ£ç¨ã®ããã¯ã¹
-ï¼æ¬ããã¥ã¡ã³ãã§ã¯\textit{dir\_node}ã¨å¼ã¶ï¼ã«å
ãå½¢æ
ãã¨ã£ã¦ããï¼
+%
\begin{table}[t]
-\caption{ç°æ¹åã®ããã¯ã¹ã®é
ç½®}
+%\caption{ç°æ¹åã®ããã¯ã¹ã®é
ç½®}
+%\caption{Boxes in different direction}
%\medskip
\label{tab-diffdir}
\centering\small\unitlength3mm
@@ -2573,6 +2824,7 @@ Down-TO-Upã®æå³ãªã®ã ããï¼\cs{dtou} ã使ç¨ããæ©ä¼ã¯ãªãã
\thicklines
\polyline(-2,0)(-2,-7)(5,-7)(5,0)
\put(0,0){\circle*{0.3}}
+ \put(2.5,-4){\makebox(0,0){\hbox{\tate\bfseries \emph{tate}/\emph{utod}}}}
\put(0,0){\vector(1,0){5}} \put(2.5,-0.2){\makebox(0,0)[t]{$h_{\mathrm{T}}$}}
\put(0,0){\vector(-1,0){2}}\put(-1,-0.2){\makebox(0,0)[t]{$d_{\mathrm{T}}$}}
\put(0,0){\vector(0,-1){7}}\put(0.2,-3.5){\makebox(0,0)[l]{$w_{\mathrm{T}}$}}
@@ -2583,6 +2835,7 @@ Down-TO-Upã®æå³ãªã®ã ããï¼\cs{dtou} ã使ç¨ããæ©ä¼ã¯ãªãã
\thicklines
\polyline(-5,0)(-5,7)(2,7)(2,0)
\put(0,0){\circle*{0.3}}
+ \put(-2.5,4){\makebox(0,0){\hbox{\dtou\bfseries \emph{dtou}}}}
\put(0,0){\vector(-1,0){5}} \put(-2.5,0.3){\makebox(0,0)[b]{$h_{\mathrm{D}}$}}
\put(0,0){\vector(1,0){2}}\put(1,0.3){\makebox(0,0)[b]{$d_{\mathrm{D}}$}}
\put(0,0){\vector(0,1){7}}\put(-0.2,3.5){\makebox(0,0)[r]{$w_{\mathrm{D}}$}}
@@ -2592,6 +2845,7 @@ Down-TO-Upã®æå³ãªã®ã ããï¼\cs{dtou} ã使ç¨ããæ©ä¼ã¯ãªãã
\hbox{\smash{\begin{picture}(0,0)
\thicklines
\polyline(0,5)(7,5)(7,-2)(0,-2)
+ \put(4,2.5){\makebox(0,0){\hbox{\yoko\bfseries \emph{yoko}}}}
\put(0,0){\circle*{0.3}}
\put(0,0){\vector(0,1){5}} \put(0.3,2.5){\makebox(0,0)[l]{$h_{\mathrm{Y}}$}}
\put(0,0){\vector(0,-1){2}}\put(0.3,-1){\makebox(0,0)[l]{$d_{\mathrm{Y}}$}}
@@ -2600,8 +2854,11 @@ Down-TO-Upã®æå³ãªã®ã ããï¼\cs{dtou} ã使ç¨ããæ©ä¼ã¯ãªãã
}
\begin{tabular}{ccc}
\toprule
-\emph{横çµä¸ã«é
ç½®}&\emph{縦çµä¸ã«é
ç½®}&%
-\emph{çµæ¹å \cs{dtou} ä¸ã«é
ç½®}\\
+%\emph{横çµä¸ã«é
ç½®}&\emph{縦çµä¸ã«é
ç½®}&%
+%\emph{çµæ¹å \cs{dtou} ä¸ã«é
ç½®}\\
+%\textbf{typeset in \emph{yoko} direction}
+%&\textbf{typeset in \emph{tate} or \emph{utod} direction}
+%&\textbf{typeset in \emph{dtou} direction}\\
\midrule
\parbox[c]{15\unitlength}{\begin{picture}(15,15)(0,-4)
\put(0,0){\line(1,0){3.8}}
@@ -2757,13 +3014,72 @@ Down-TO-Upã®æå³ãªã®ã ããï¼\cs{dtou} ã使ç¨ããæ©ä¼ã¯ãªãã
\end{table}
-\paragraph{\cs{wd} ã¯çµæ¹åã«ã¯å¯¾å¿ããªã}
+
+%<*en>
+\paragraph{\cs{wd} and direction}
+In \pTeX, \cs{wd},~\cs{ht},~\cs{dp} means the dimensions of a box register
+\emph{with respact to the current direction}.
+This means that the value of \cs{wd0} etc.\ might differ when the current direction is
+different, even if \cs{box0} stores the same box.
+However, this no longer applies in \LuaTeX-ja.
+
+\begin{LTXexample}
+% yoko direction
+\setbox0=\hbox to 20pt{foo}
+\the\wd0,~\hbox{\tate\vrule\the\wd0}
+\wd0=100pt
+\the\wd0,~\hbox{\tate \the\wd0}
+\end{LTXexample}
+
+To access box dimensions \emph{with respect to current direction},
+one have to use the following commands instead of \cs{wd} wtc.
+\begin{cslist}
+
+ \item[\cs{ltjgetwd}\{\}\textrm{, }\cs{ltjgetht}\{\}\textrm{, }%
+ \cs{ltjgetdp}\{\}]
+These commands return \emph{an internal dimension} of \cs{box} with respect to
+the current direction. One can use these in \cs{dimexpr} primitive, as the followings.
+\begin{lstlisting}
+\dimexpr 2\ltjgetwd{42}-3pt\relax, \the\ltjgetwd{1701}
+\end{lstlisting}
+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
+\setbox32767=\hbox{\yoko ãããã¿}
+\fboxsep=0mm\fbox{\copy32767}
+\vbox{\hsize=20mm
+\yoko YOKO \the\ltjgetwd{32767}, \\
+ \the\ltjgetht{32767}, \\ \the\ltjgetdp{32767}.}
+\vbox{\hsize=20mm\raggedleft
+\tate TATE \the\ltjgetwd{32767}, \\
+ \the\ltjgetht{32767}, \\ \the\ltjgetdp{32767}.}
+\vbox{\hsize=20mm\raggedleft
+\dtou DTOU \the\ltjgetwd{32767}, \\
+ \the\ltjgetht{32767}, \\ \the\ltjgetdp{32767}.}
+\end{LTXexample}
+
+ \item[\cs{ltjsetwd}=\textrm{, }\cs{ltjsetht}=\textrm{, }%
+ \cs{ltjsetdp}=]
+These commands set the dimension of \cs{box}. Unlike \cs{ltjgetwd}, one does not need
+ to group the argument ; four calls of \cs{ltjsetwd} below have the same meaning.
+\begin{lstlisting}
+\ltjsetwd42 20pt, \ltjsetwd42=20pt, \ltjsetwd=42 20pt, \ltjsetwd=42=20pt
+\end{lstlisting}
+
+\end{cslist}
+%
+%<*ja>
+\paragraph{\cs{wd} éã¨çµæ¹å}
ããã¯ã¹ã¬ã¸ã¹ã¿ \cs{box} ã«ã»ããããã¦ããããã¯ã¹ã®å¹
ã»é«ãã»æ·±ãã®åå¾ã
å¤æ´ã«ã¯ãããã \cs{wd},~\cs{ht},~\cs{dp} ããªããã£ããç¨ããã®ã§ãã£ãï¼
-\pTeX ã§ã¯ãããã®ããªããã£ãã¯ï¼ãç¾å¨ã®çµæ¹åã«ãããããã¯ã¹ã®å¯¸æ³ããæããã®ã§ãã£ãï¼
+\pTeX ã§ã¯ãããã®ããªããã£ãã¯ï¼ãç¾å¨ã®çµæ¹åã«ãããããã¯ã¹ã®å¯¸æ³ããæããã®ã§ï¼
+åãããã¯ã¹ã«å¯¾ãã¦ãç¾å¨ã®çµæ¹åã«ãã£ã¦è¿ãå¤ã¯ç°ãªããã§ãã£ãï¼
+
+\LuaTeX-jaã«ããã¦ã¯ç¶æ³ãç°ãªãï¼\cs{wd},~\cs{ht},~\cs{dp} ãè¿ãå¤ã¯
+ç¾å¨ã®çµæ¹åã«ã¯ä¾åããªãï¼ä¸ã®ä¾ã®ããã«ï¼æ¨ªçµã®ããã¯ã¹ãæ ¼ç´ããã¦ããã°
+\cs{wd}çã¯å¸¸ã«ã横çµã«ãããããã¯ã¹ã®å¯¸æ³ããæå³ããï¼
-\LuaTeX-jaã«ããã¦ã¯ç¶æ³ãç°ãªãï¼\cs{wd},~\cs{ht},~\cs{dp} ã¯\emph{çµæ¹åã
-æ··å¨ããç¶æ³ã«ããã¦ã¯æ£ããæ©è½ããªã}ï¼å
·ä½çã«ã¯ï¼ç¾å¨ã®çµæ¹åã«ä¾åããªããã¨ãæããããï¼
\begin{LTXexample}
% yoko direction
\setbox0=\hbox to 20pt{foo}
@@ -2772,23 +3088,23 @@ Down-TO-Upã®æå³ãªã®ã ããï¼\cs{dtou} ã使ç¨ããæ©ä¼ã¯ãªãã
\the\wd0,~\hbox{\tate \the\wd0}
\end{LTXexample}
-\paragraph{\cs{wd} çã®ä»£æ¿å½ä»¤}
-
-\pTeX ã®ããã«ç¾å¨ã®çµæ¹åã«å¿ããããã¯ã¹ã®å¯¸æ³ã®åå¾ã»è¨å®ãè¡ãããï¼
-次ã®å½ä»¤ãæ°è¨ããï¼
+\pTeX ã®ããã«ç¾å¨ã®çµæ¹åã«å¿ããããã¯ã¹ã®å¯¸æ³ã®åå¾ã»è¨å®ãè¡ãã«ã¯ï¼
+代ããã«æ¬¡ã®å½ä»¤ã使ç¨ããï¼
\begin{cslist}
- \item[ltjgetwd\{\}\textrm{, }\cs{ltjgetht}\{\}\textrm{, }%
+ \item[\cs{ltjgetwd}\{\}\textrm{, }\cs{ltjgetht}\{\}\textrm{, }%
\cs{ltjgetdp}\{\}]
ç¾å¨ã®çµæ¹åã«å¿ããããã¯ã¹ã®å¯¸æ³ã®åå¾ãè¡ãï¼çµæã¯å
é¨é·ãã§ããããï¼
-{\let\item=\origitem
-\begin{verbatim}
+\begin{lstlisting}
\dimexpr 2\ltjgetwd{42}-3pt\relax, \the\ltjgetwd{1701}
-\end{verbatim}
+\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
@@ -2803,67 +3119,131 @@ Down-TO-Upã®æå³ãªã®ã ããï¼\cs{dtou} ã使ç¨ããæ©ä¼ã¯ãªãã
\vbox{\hsize=20mm\raggedleft
\dtou DTOU \the\ltjgetwd{32767}, \\
\the\ltjgetht{32767}, \\ \the\ltjgetdp{32767}.}
-\end{LTXexample}}
+\end{LTXexample}
- \item[ltjsetwd=\textrm{, }\cs{ltjsetht}=\textrm{, }%
+ \item[\cs{ltjsetwd}=\textrm{, }\cs{ltjsetht}=\textrm{, }%
\cs{ltjsetdp}=]
ç¾å¨ã®çµæ¹åã«å¿ããããã¯ã¹ã®å¯¸æ³ã®è¨å®ãè¡ãï¼\cs{afterassignment} ã2åå©ç¨ãã¦
å®è£
ãã¦ããã®ã§ï¼æ¬¡ã®4éãã¯å
¨ã¦åãæå³ã§ããï¼
-{\let\item=\origitem
-\begin{verbatim}
+\begin{lstlisting}
\ltjsetwd42 20pt, \ltjsetwd42=20pt, \ltjsetwd=42 20pt, \ltjsetwd=42=20pt
-\end{verbatim}
-}%
+\end{lstlisting}
è¨å®å¤ã¯ã横çµãã縦çµåã³ \cs{utod} æ¹åãã\cs{dtou} æ¹åã
-ã®3種ãã¨ã«ç¬ç«ãã¦è¨é²ãããï¼
+ã®3種ãã¨ã«ç¬ç«ãã¦è¨é²ãããï¼åèã¨ãã¦ï¼Gitãªãã¸ããªå
ã®
+ \verb+test/test55-boxdim_diffdir.{tex,pdf}+ ãæãã¦ããï¼
\end{cslist}
+%
+%<*en>
+\subsection{Getting current direction}
+The \Param{direction} parameter returns the current direction, and
+the \Param{boxdir} parameter (with the argumant )
+returns the direction of a box register \cs{box}.
+The returned value of these parameters are a \emph{string}:
+\begin{center}
+\small
+\begin{tabular}{>{\bfseries}lccccc}
+\toprule
+Direction&\emph{yoko}&\emph{tate}&\emph{dtou}&\emph{utod}&(empty)\\
+\midrule
+Returned value&\texttt{4}&\texttt{3}&\texttt{1}&\texttt{11}&\texttt{0}\\
+\bottomrule
+\end{tabular}
+\end{center}
+\begin{LTXexample}[width=0.3\textwidth]
+\leavevmode\def\DIR{\ltjgetparameter{direction}}
+\hbox{\yoko \DIR}, \hbox{\tate\DIR},
+\hbox{\dtou\DIR}, \hbox{\utod\DIR},
+\hbox{\tate$\hbox{tate math: \DIR}$}
+
+\setbox2=\hbox{\tate}\ltjgetparameter{boxdir}{2}
+\end{LTXexample}
+%
+%<*ja>
\subsection{çµæ¹åã®åå¾}
ãç¾å¨ã®çµæ¹åãããçªã®ããã¯ã¹ã®çµæ¹åãã¯ï¼
-\pTeX ã§ã¯\cs{ifydir} ã \cs{ifybox} ã¨ãã£ãæ¡ä»¶å¤ææã使ã£ã¦
+\pTeX ã§ã¯ \cs{ifydir} ã \cs{ifybox} ã¨ãã£ãæ¡ä»¶å¤ææã使ã£ã¦
å¤æãããã¨ãã§ããï¼
ãããï¼\LuaTeX-jaã¯ããã¾ã§ã\TeX ãã¯ãã¨Luaã³ã¼ãã§
è¨è¿°ããã¦ããï¼ããã§ã¯æ°ããªæ¡ä»¶å¤æå½ä»¤ãä½ãã®ã¯é£ããï¼
\LuaTeX-jaã§ã¯ï¼\Param{direction}ãã©ã¡ã¼ã¿ã§ç¾å¨ã®çµæ¹åãï¼
-\Param{boxdir}ãã©ã¡ã¼ã¿ã«ãã£ã¦ããã¯ã¹ã®çµæ¹åãããããåå¾ã§ããããã«ããï¼
-æ»ãå¤ã¯1æåã®æ°åï¼æååï¼ã§ããï¼1㯠\cs{dtou} æ¹åãï¼
-3ã¯ç¸¦çµãï¼4ã¯æ¨ªçµï¼11㯠\cs{utod} æ¹åã表ãï¼
+\Param{boxdir}ãã©ã¡ã¼ã¿ï¼ã¨è¿½å ã®å¼æ°ï¼ã«ãã£ã¦
+\cs{box}ã®çµæ¹åãããããåå¾ã§ããããã«ããï¼
+æ»ãå¤ã¯æååã§ããï¼
+\begin{center}
+\small
+\begin{tabular}{>{\bfseries}lccccc}
+\toprule
+çµæ¹å&\emph{横çµ}&\emph{tate縦çµ}&\emph{dtouæ¹å}&\emph{utodæ¹å}&(æªå²ãå½ã¦)\\
+\midrule
+æ»ãå¤&\texttt{4}&\texttt{3}&\texttt{1}&\texttt{11}&\texttt{0}\\
+\bottomrule
+\end{tabular}
+\end{center}
+
\begin{LTXexample}[width=0.3\textwidth]
-\leavevmode\def\DIR{\ltjgetparameter{direction}}
-\hbox{\yoko \DIR}, \hbox{\tate\DIR}, \hbox{\dtou\DIR}, \hbox{\utod\DIR}
+\leavevmode\def\DIR{\ltjgetparameter{ direction}}
+\hbox{\yoko\DIR}, \hbox{\tate\DIR},
+\hbox{\dtou\DIR}, \hbox{\utod\DIR},
+\hbox{\tate$\hbox{tate math: \DIR}$}
\setbox2=\hbox{\tate}\ltjgetparameter{boxdir}{2}
\end{LTXexample}
ããããç¨ããã°ï¼ä¾ãã°
-\pTeX ã® \cs{ifydir}, \cs{iftbox200} ã¨åçã®æ¡ä»¶å¤æã
-\begin{verbatim}
+\pTeX ã® \cs{ifydir},~\cs{ifybox200} ã¨åçã®æ¡ä»¶å¤æã
+\begin{lstlisting}
\ifnum\ltjgetparameter{direction}=4
-\ifnum\ltjgetparameter{boxdir}{200}=3
-\end{verbatim}
+\ifnum\ltjgetparameter{boxdir}{200}=4
+\end{lstlisting}
ã®ããã«è¡ããã¨ãã§ããï¼
+\cs{iftdir} ã¯å°ã
é¢åã§ããã
+\begin{lstlisting}
+\ifnum\numexpr
+ \ltjgetparameter{direction}-(\ltjgetparameter{direction}/8)*8=3
+\end{lstlisting}
+ã¨ããã°ããï¼
+%
+%<*en>
+\subsection{Overridden box primitives}
+To cope with multiple directions, the following primitives are
+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}]
+\end{cslist}
+%
+%<*ja>
\subsection{ããªããã£ãã®åå®ç¾©}
ç°ãªãçµæ¹åã«å¯¾å¿ããããã«ï¼ä»¥ä¸ã«æããããªããã£ãã¯
\LuaTeX-jaã«ããåå¦çãããã¯å¾å¦çãè¡ãããããã«
\ \verb+\protected\def+ ã«ããåå®ç¾©ãã¦ããï¼
+
\begin{cslist}
- \item[unhbox\textrm{, }\cs{unvbox}]
+ \item[\cs{unhbox}\textrm{, }\cs{unvbox}\textrm{, }\cs{unhcopy}\textrm{, }\cs{unvcopy}]
ããã¯ã¹ã®çµæ¹åãç¾å¨ã®ãªã¹ãã¨ç°ãªãå ´åã¯äºåã«ã¨ã©ã¼ã¡ãã»ã¼ã¸ãåºåããï¼
\pTeX ã¨ç°ãªãï¼ã¨ã©ã¼ãç¡è¦ãã¦ç¡çç¢ç \cs{unhbox}, \cs{unvbox} ã
ç¶è¡ããããã¨ãã§ãããï¼ãã®å ´åã®çµççµæã¯ä¿è¨¼ããªãï¼
- \item[vadjust\{\}] ä¸æ¦ããªããã£ãæ¬æ¥ã®æåãè¡ãï¼ãã®å¾ï¼ã®çµæ¹åã
+ \item[\cs{vadjust}\{\}] ä¸æ¦ããªããã£ãæ¬æ¥ã®æåãè¡ãï¼ãã®å¾ï¼ã®çµæ¹åã
å¨å²ã®åç´ãªã¹ãã®çµæ¹åã¨ä¸è´ããªãå ´åã«ã¨ã©ã¼ãåºåãï¼
該å½ã® \cs{vadjust} ãç¡å¹ã«ããï¼
- \item[lastbox] å¿
è¦ãªãã°ããã¯ã¹ã®ãä¸èº«ããå
ãã§ãã\textit{dir\_node}ãé¤å»ãï¼
+ \item[\cs{insert}\{\}]
+ ä¸æ¦ããªããã£ãæ¬æ¥ã®æåãè¡ãï¼ãã®å¾å
ã®åããã¯ã¹ã»ç½«ç·ã®ç´åã«çµæ¹åã示
+ ãdirection whatsitãæ¿å
¥ããï¼
+ \item[\cs{lastbox}] ããã¯ã¹ã®ãä¸èº«ããç¾å¨ã®çµæ¹åã«åãããããã®ãã¼ã
+ ï¼\textit{dir\_box}ã¨ããï¼ãå¿
è¦ãªãã°é¤å»ãï¼
æ£ãããä¸èº«ãã®ããã¯ã¹ãè¿ãããããã«åå¦çãããï¼
- \item[raise\textrm{, }lower\textrm{\ etc.}]
- ä¸æ¹ï¼ãã¡ãã§ã¯å¿
è¦ã«å¿ãã¦\textit{dir\_node}ãä½æããåå¦çã追å ãã¦ããï¼
+ \item[\cs{raise}\textrm{, }\cs{lower}\textrm{\ etc., }\cs{vcenter}]
+ ä¸æ¹ï¼ãã¡ãã§ã¯å¿
è¦ã«å¿ãã¦\textit{dir\_box}ãä½æããåå¦çã追å ãã¦ããï¼
\end{cslist}
-
%
%\section{Font Metric and Japanese Font}
@@ -2881,7 +3261,7 @@ so TrueType/OpenType fonts with features can be used for Japanese fonts:
%
%<*ja>
ãã©ã³ããï¼æ¨ªçµç¨ï¼åæãã©ã³ãã¨ãã¦èªã¿è¾¼ãããã«ã¯ï¼\cs{jfont} ã
-\cs{font} ããªããã£ãã®ä»£ããã«ç¨ããï¼
+\ \cs{font} ããªããã£ãã®ä»£ããã«ç¨ããï¼
\cs{jfont} ã®ææ³ã¯ \cs{font} ã¨åãã§ããï¼
\LuaTeX-jaã¯\Pkg{luaotfload}ããã±ã¼ã¸ãèªåçã«èªã¿è¾¼ãã®ã§ï¼
TrueType/OpenTypeãã©ã³ãã«featureãæå®ãããã®ãåæãã©ã³ãã¨ãã¦ç¨ãã
@@ -2910,14 +3290,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ãç¨ããã®ãã以ä¸ã®ãã¼ã§
æå®ããå¿
è¦ãããï¼
@@ -2925,43 +3305,55 @@ which JFM will be used for this font by the following keys:
\begin{table}[t]
-%\caption{Differences between JFMs shipped with \LuaTeX-ja}
-%\caption{\LuaTeX-ja ã«å梱ããã¦ãã JFM ã®éã}
+%\caption{Differences between horizontal JFMs shipped with \LuaTeX-ja}
+%\caption{\LuaTeX-ja ã«å梱ããã¦ãã横çµç¨JFMã®éã}
%\medskip
\label{tab-difjfm}
\ltjsetparameter{jacharrange={+3}}
\centering\small
-\def\r#1{{\jfont\g=file:KozMinPr6N-Regular.otf:jfm=#1 at 14.43324pt \g
-\setbox0=\vtop{\hsize=7\zw\noindent âââââââ
-ããæ¥ã¢ã¢ã¡ãããã使ãã§è¿·åã«ãªã£ã¦æ³£ãã¾ããï¼}\copy0
-\vrule height 0pt depth \dp0}}
-\def\s#1{{\jfont\g=file:KozMinPr6N-Regular.otf:jfm=#1 at 14.43324pt \g
-\setbox0=\vtop{\hsize=7\zw\noindent ã¡ãã£ã¨ï¼ä½}\copy0}}
-\def\t#1{{\jfont\g=file:KozMinPr6N-Regular.otf:jfm=#1 at 19.24432pt \g
-\setbox0=\hbox{æ¼¢}%
-\vrule width 0.4pt height\ht0 depth\dp0\kern-.2pt\copy0
-\kern-\wd0\vrule width\wd0height .2pt depth .2pt
-\kern-\wd0\raise\ht0\hbox{\vrule width\wd0height .2pt depth .2pt}%
-\kern-\wd0\lower\dp0\hbox{\vrule width\wd0height .2pt depth .2pt}%
-\kern-.2pt\vrule width 0.4pt height\ht0 depth \dp0}}
-\begin{tabular}{rccc}
-\toprule
-&\tt jfm-ujis.lua&\tt jfm-jis.lua&\tt jfm-min.lua\\
-\midrule
-%Example~1~\cite{min10}
-%ä¾1~\cite{min10}
-&\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}
+\def\r#1#2{%
+ \hbox{\Large\vrule
+ \parbox[b]{7\zw}{%
+ \addjfontfeatures{YokoFeatures={Opacity=0.5, Color=#2, JFM=#1}}\noindent
+ âââââââ
+ ããæ¥ã¢ã¢ã¡ãããã使ãã§è¿·åã«ãªã£ã¦æ³£ãã¾ããï¼
+ }\vrule}}
+\def\s#1#2{%
+ \Large
+ \parbox[b]{7\zw}{%
+ \addjfontfeatures{YokoFeatures={Opacity=0.5, Color=#2, JFM=#1}}\noindent
+ ã¡ãã£ã¨ï¼ä½
+ }}
+\def\t#1#2#3{\hbox to 0pt{\hss%
+ \setbox0=\hbox{\addjfontfeatures{YokoFeatures={JFM=#1}}\huge #3}%
+ \textcolor{#2}{\transparent{0.5}\vrule width 0.4pt height\ht0 depth\dp0}\kern-.2pt\copy0
+ \textcolor{#2}{\transparent{0.5}\kern-\wd0\vrule width\wd0height .2pt depth .2pt
+ \kern-\wd0\raise\ht0\hbox{\vrule width\wd0height .2pt depth .2pt}%
+ \kern-\wd0\lower\dp0\hbox{\vrule width\wd0height .2pt depth .2pt}%
+ \kern-.2pt\vrule width 0.4pt height\ht0 depth \dp0}\hss}}
+{\Large\tabcolsep0pt
+\begin{tabular}{m{8\zw}m{8\zw}m{8\zw}}
+\leavevmode\hbox to 0pt{\r{ujis}{blue}\hss}\r{jis}{black}&
+\leavevmode\hbox to 0pt{\r{jis}{black}\hss}\r{min}{red}&
+\leavevmode\hbox to 0pt{\r{ujis}{blue}\hss}\r{min}{red}\\
+\leavevmode\hbox to 0pt{\s{ujis}{blue}\hss}\s{jis}{black}&
+\leavevmode\hbox to 0pt{\s{jis}{black}\hss}\s{min}{red}&
+\leavevmode\hbox to 0pt{\s{ujis}{blue}\hss}\s{min}{red}\\
+\leavevmode\qquad\t{ujis}{blue}{æ¼¢}\t{jis}{black}{æ¼¢}\qquad
+ \t{ujis}{blue}{ã£}\t{jis}{black}{ã£}&
+\leavevmode\qquad\t{jis}{black}{æ¼¢}\t{min}{red}{æ¼¢}\qquad
+ \t{jis}{black}{ã£}\t{min}{red}{ã£}&
+\leavevmode\qquad\t{ujis}{blue}{æ¼¢}\t{min}{red}{æ¼¢}\qquad
+ \t{ujis}{blue}{ã£}\t{min}{red}{ã£}\\
+\end{tabular}\par}
+
+(\textcolor{blue}{Blue: \texttt{jfm-ujis.lua}},
+\textcolor{black}{Black: \texttt{jfm-jis.lua}},
+\textcolor{red}{Red: \texttt{jfm-min.lua}})
\ltjsetparameter{jacharrange={-3}}
\end{table}
-
-\begin{list}{}{\def\makelabel{\ttfamily}\def\{{\char`\{}\def\}{\char`\}}\advance\leftmargin1\zw}
+\begin{cslist}
\item[jfm=]
%<*en>
Specify the name of (horizontal) JFM.
@@ -3006,14 +3398,16 @@ The following JFMs are shipped with \LuaTeX-ja:
%
%<*ja>
\item[\tt jfm-min.lua] \pTeX ã«å梱ããã¦ããããã©ã«ãã®åæç¨TFM
- ã§ãã \verb+min10.tfm+ ã«ç¸å½ããï¼
+(\verb+min10.tfm+)ã«ç¸å½ãï¼è¡æ«ã§æåãæãããã«ããããã«ãã£ããªã©ä¸é¨ã®æåå¹
ãå¤ãã£
+ ã¦ããï¼\verb+min10.tfm+ ã«ã¤ãã¦ã¯\cite{min10}ã詳ããï¼
%
\end{description}
%<*en>
The difference among these three~JFMs is shown in Table~\ref{tab-difjfm}.
%
%<*ja>
-ããã3ã¤ã®JFMã®éãã¯è¡¨\ref{tab-difjfm}ã«ç¤ºããï¼
+ããã3ã¤ã®JFMã®éãã¯è¡¨\ref{tab-difjfm}ã«ç¤ºããï¼è¡¨ä¸ã®æä¾ã®ä¸é¨ã«ã¯ï¼
+\cite{min10}ã®å³3,~4ã®ãã®ãç¨ããï¼
%
\begin{figure}
@@ -3035,10 +3429,12 @@ The difference among these three~JFMs is shown in Table~\ref{tab-difjfm}.
\end{figure}
%<*en>
-\item[jfmvar=] Sometimes there is a need that \ldots.
+\item[jfmvar=]
+Sometimes there is a need that \ldots.
%
%<*ja>
-\item[jfmvar=] æ¨æºã§ã¯ï¼JFMã¨ãµã¤ãºãåãã§ï¼
+\item[jfmvar=]
+æ¨æºã§ã¯ï¼JFMã¨ãµã¤ãºãåãã§ï¼
å®ãã©ã³ãã ããç°ãªã2ã¤ã®åæãã©ã³ãã¯ãåºå¥ãããªããï¼ä¾ãã°
å³\ref{fig:jfmvar}ã«ããã¦ï¼æåã®ãï¼ãã¨ãããã®å®ãã©ã³ãã¯ç°ãªããï¼
JFMããµã¤ãºãåããªã®ã§ï¼æ®éã«ãï¼ããã¨å
¥åããæã¨åãããã«åè§ç©ºãã¨ãªãï¼
@@ -3049,7 +3445,7 @@ JFMããµã¤ãºãåããªã®ã§ï¼æ®éã«ãï¼ããã¨å
¥åããæã¨
ãã¤\Param{differentjfm}ãã©ã¡ã¼ã¿ã \texttt{both} ã«è¨å®ããã°ï¼
\pTeX ã¨ä¼¼ãç¶æ³ã§çµçããããã¨ã«ãªãï¼
%
-\end{list}
+\end{cslist}
\begin{figure}
\begin{LTXexample}[pos=t]
@@ -3094,10 +3490,10 @@ because of the compatibility with previous versions of \LuaTeX-ja.
NFSS2ç¨ã®å½ä»¤ï¼\ref{ssec-chgfnt}ç¯ï¼\ref{ssec-nfsspat}ç¯ï¼ã«ãããæå®ã§ã¯
ã«ã¼ãã³ã°æ
å ±ã¯æ¨æºã§ä½¿ç¨ãã}ãã¨ã«ãªã£ã¦ããããã§ããï¼
è¨ãæããã°ï¼ã«ã¼ãã³ã°æ
å ±ã使ç¨ããªãè¨å®ã«ããã«ã¯ï¼é¢åã§ã
-\begin{verbatim}
+\begin{lstlisting}
\jfont\hoge=KozMinPr6N-Regular:jfm=ujis;-kern at 3.5mm
\DeclareFontShape{JY3}{fuga}{m}{n} {<-> s*KozMinPr6N-Regular:jfm=ujis;-kern}{}
-\end{verbatim}
+\end{lstlisting}
ã®ããã«ï¼\texttt{-kern} ã¨ããæå®ãèªåã§è¿½å ããªããã°ãããªãï¼
\item
ä¸æ¹ï¼\emph{\Pkg{luatexja-fontspec} ã®æä¾ãã \cs{setmainjfont}\
@@ -3122,45 +3518,103 @@ OpenType font featureã¨è¦ããä¸åããããªå½¢å¼ã§æå®ã§ããã
%<*en>
\paragraph{\texttt{extend} and \texttt{slant}}
The following setting can be specified as OpenType font features:
-\begin{description}
-\item[\texttt{extend=}] expand the font horizontally by .
-\item[\texttt{slant=}] slant the font.
-\end{description}
+\begin{cslist}[style=standard]
+\item[\cs{extend=}] expand the font horizontally by .
+\item[\cs{slant=}] slant the font.
+\end{cslist}
Note that \LuaTeX-ja doesn't adjust JFMs by these \texttt{extend} and \texttt{slant}
settings; you have to write new JFMs on purpose.
For example, the following example uses the standard JFM \texttt{jfm-ujis.lua}, hence
letter-spacing and the width of italic correction are not correct:
%
\begin{LTXexample}[width=0.3\textwidth]
-\jfont\E=file:KozMinPr6N-Regular.otf:extend=1.5;jfm=ujis;-kern
+\jfont\E=KozMinPr6N-Regular:extend=1.5;jfm=ujis;-kern
\E ããããã
-\jfont\S=file:KozMinPr6N-Regular.otf:slant=1;jfm=ujis;-kern
+\jfont\S=KozMinPr6N-Regular:slant=1;jfm=ujis;-kern
\S ããã\/ABC
\end{LTXexample}
%\subsection{\cs{tfont}}
%\subsection{\cs{tfont} å½ä»¤}
+
+\begin{table}[t]
+%\caption{Differences between vertical JFMs shipped with \LuaTeX-ja}
+%\caption{\LuaTeX-ja ã«å梱ããã¦ãã縦çµç¨ JFM ã®éã}
+%\medskip
+\label{tab-difjfm-tate}
+\catcode`\<=12\catcode`\>=12
+\ltjsetparameter{jacharrange={+3}}
+\small
+
+\def\r#1#2{%
+ \hbox{\tate\Large\vrule
+ \parbox{7\zw}{%
+ \addjfontfeatures{TateFeatures={Opacity=0.5, Color=#2, JFM=#1}}\noindent
+ âââââââ
+ ããæ¥ã¢ã¢ã¡ãããã使ãã§è¿·åã«ãªã£ã¦æ³£ãã¾ããï¼
+ }\vrule}}
+\def\s#1#2{%
+ \hbox{\tate\Large
+ \parbox{7\zw}{%
+ \addjfontfeatures{TateFeatures={Opacity=0.5, Color=#2, JFM=#1}}\noindent
+ ã¡ãã£ã¨ï¼ä½
+ }}}
+\def\t#1#2#3{\hbox to 0pt{\hss%
+ \setbox0=\hbox{\addjfontfeatures{TateFeatures={JFM=#1}}\huge #3}%
+ \textcolor{#2}{\transparent{0.5}\vrule width 0.4pt height\ht0 depth\dp0}\kern-.2pt\copy0
+ \textcolor{#2}{\transparent{0.5}\kern-\wd0\vrule width\wd0height .2pt depth .2pt
+ \kern-\wd0\raise\ht0\hbox{\vrule width\wd0height .2pt depth .2pt}%
+ \kern-\wd0\lower\dp0\hbox{\vrule width\wd0height .2pt depth .2pt}%
+ \kern-.2pt\vrule width 0.4pt height\ht0 depth \dp0}\hss}}
+
+\begin{minipage}{.7\textwidth}
+\centering
+\leavevmode\hbox to 0pt{\r{ujisv}{blue}\hss}\r{tmin}{red}\quad
+\leavevmode\hbox to 0pt{\s{ujisv}{blue}\hss}\s{tmin}{red}\quad
+\raise4\zw\hbox{\tate\Large\t{ujisv}{black}{æ¼¢}\t{tmin}{red}{æ¼¢}\qquad
+ \t{ujisv}{black}{ã£}\t{tmin}{red}{ã£}}
+\end{minipage}%
+\begin{minipage}{.3\textwidth}
+\textcolor{blue}{Blue: \texttt{jfm-ujisv.lua}}\\
+\textcolor{red}{Red: \texttt{jfm-tmin.lua}}
+\end{minipage}
+\ltjsetparameter{jacharrange={-3}}
+\end{table}
+
%<*en>
...
%
%<*ja>
\cs{tfont} ã¯ãã©ã³ãã縦çµç¨ã®åæãã©ã³ãã¨ãã¦èªã¿è¾¼ãå½ä»¤ã§ããï¼
-\cs{jfont} ã®ææ³ã¯ \cs{jfont} ã¨åãã§ããï¼
+\cs{tfont} ã®ææ³ã¯ \cs{jfont} ã¨åãã§ããï¼
\cs{tfont} ã§å®ç¾©ããã縦çµç¨åæãã©ã³ãã¯ï¼
以ä¸ã®ç¹ã \cs{jfont} ã«ãã横çµç¨åæãã©ã³ãã¨ã¯ç°ãªãï¼
\begin{itemize}
- \item åºåæã«ï¼èªåçã«ã\verb+vert+ featureç¸å½ãã®ã°ãªãç½®æãè¡ãããï¼
- ããã¯ï¼\Pkg{luaotfload}ã«ããå種featureã®ãµãã¼ãã¨ã¯å
¨ãå¥åã«è¡ããããã®ã§ï¼
- ãã¡ãã¡ \verb+vert+ featureãæå®ããå¿
è¦ã¯ãªãï¼
-\begin{verbatim}
-\tfont\S=file:KozMinPr6N-Regular.otf:jfm=ujis % OK
-\end{verbatim}
+ \item èªåçã« \texttt{vert}, \texttt{vrt2} ã®ä¸¡OpenType featureãæå¹åãããï¼
+ä½ãï¼ä»¥ä¸ã®ä¾ã®3è¡ç®ã«ç¤ºãããã«ï¼æ示çã« \texttt{vert}, \texttt{vrt2}ï¼ã®ããããï¼ã®
+æå¹ã»ç¡å¹ãæå®ããå ´åã¯å¥ã§ããï¼
+\begin{lstlisting}
+\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ãæå®ããï¼ç¾å¨å梱ããã¦ããã®ã¯ï¼
-OTFããã±ã¼ã¸ã® \verb+upnmlminr-v.tfm+ ãå
ã«ãã\texttt{jfm-ujisv.lua}\ ã®ã¿ã§ããï¼
+ \item \texttt{jfm=}\ ã®é¨åã«ã¯ç¸¦çµç¨JFMãæå®ããï¼
+以ä¸ã®ç¸¦çµç¨JFMã\LuaTeX-jaã«ã¯å梱ããã¦ããï¼éãã表\ref{tab-difjfm-tate}ã«ç¤ºããï¼
+\begin{description}
+\item[\tt jfm-ujisv.lua] \LuaTeX-jaã®æ¨æºç¸¦çµç¨JFMã§ããï¼ãã®JFMã¯\upTeX ã§
+ ç¨ããããUTF/OTFããã±ã¼ã¸ç¨ã®åæç¨TFMã§ãã \verb+upnmlminr-v.tfm+ ã
+ å
ã«ãã¦ããï¼
+\item[\tt jfm-tmin.lua] \pTeX ã«å梱ããã¦ããããã©ã«ãã®åæç¨ç¸¦çµTFM
+ ã§ãã \verb+tmin10.tfm+ ã«ç¸å½ãï¼\texttt{min10.tfm} ã¨åæ§ã«
+ ãã£ããªã©ä¸é¨ã®æåå¹
ãçãããã¦ããï¼
+\end{description}
\end{itemize}
+
+ãªãï¼\pTeX ã§ã¯ï¼\cs{font},~\cs{jfont},~\cs{tfont}ã®ã©ãã§ã欧æãã©ã³ãã»æ¨ªçµç¨åæãã©ã³
+ãã»ç¸¦çµç¨åæãã©ã³ãã®å®ç¾©ãå¯è½ã§ãã£ããï¼\LuaTeX-jaã§ã¯ããã§ãªãã®ã§æ³¨æï¼
%
%\subsection{Prefix \texttt{psft}}
@@ -3171,9 +3625,9 @@ Besides ``\texttt{file:}''\ and ``\texttt{name:}''\ prefixes which
are introduced in the \Pkg{luaotfload} package,
\LuaTeX-ja adds ``\texttt{psft:}''\ prefix in \cs{jfont} (and~\cs{font}),
to specify a ``name-only'' Japanese font which
-will not be embedded to PDF. Typical use of this prefix is to specify
-standard, non-embedded Japanese fonts, namely, ``Ryumin-Light'' and
-``GothicBBB-Medium''.
+will not be embedded to PDF.
+Note that these non-embedded fonts under current \LuaTeX\ has Identity-H encoding,
+and this violates the standard ISO32000-1:2008~(\cite{pdfstd}).
\emph{OpenType font features, such as ``{\tt +jp90}'',
have no meaning in name-only fonts using ``{\tt psft:}''\ prefix,
@@ -3187,8 +3641,10 @@ with \texttt{psft} prefix, because they are only simple linear transformations.
\cs{jfont}ï¼ã¨ \cs{font} ããªããã£ãï¼ã§ã¯
\texttt{psft:}ããªãã£ãã¯ã¹ãç¨ãããã¨ãã§ããï¼
ãã®ããªãã£ãã¯ã¹ãç¨ãããã¨ã§ï¼PDFã«ã¯åãè¾¼ã¾ããªããååã ãã®ã
-åæãã©ã³ããæå®ãããã¨ãã§ããï¼ãæ¨æºçãªãéåãè¾¼ã¿åæãã©ã³ãï¼
-ã¤ã¾ããRyumin-LightããGothicBBB-Mediumãã®æå®ã§ãã®ããªãã£ãã¯ã¹ã使ãããï¼
+åæãã©ã³ããæå®ãããã¨ãã§ããï¼
+ãªãï¼ç¾è¡ã®\LuaTeX ã§éåãè¾¼ã¿ãã©ã³ããä½æããã¨PDFå
ã§ã®ã¨ã³ã³ã¼ãã£ã³ã°ã
+Identity-Hã¨ãªãï¼PDFã®æ¨æºè¦æ ¼ISO32000-1:2008~(\cite{pdfstd})ã«éæºæ ã«ãªã£ã¦ãã¾ã
+ã®ã§æ³¨æãã¦ã»ããï¼
\emph{\texttt{psft} ããªãã£ãã¯ã¹ã®ä¸ã§ã¯
\texttt{+jp90} ãªã©ã®OpenType font featureã®å¹åã¯ãªãï¼
@@ -3269,9 +3725,9 @@ Please contact the LuaTeX-ja project team.
\label{ssec-jfm-str}
%A JFM file is a Lua script which has only one function call:
%JFMãã¡ã¤ã«ã¯ãã ä¸ã¤ã®é¢æ°å¼ã³åºããå«ãLuaã¹ã¯ãªããã§ããï¼
-\begin{verbatim}
+\begin{lstlisting}
luatexja.jfont.define_jfm { ... }
-\end{verbatim}
+\end{lstlisting}
%<*en>
Real data are stored in the table which indicated above by
\verb+{ ... }+. So, the rest of this subsection are devoted to describe the
@@ -3285,7 +3741,7 @@ floating-point numbers in design-size unit.
注æããï¼
%
-\begin{list}{}{\def\makelabel{\ttfamily}\def\{{\char`\{}\def\}{\char`\}}\advance\leftmargin1\zw}
+\begin{cslist}[style=standard]
\item[dir=]
%(required)
@@ -3304,14 +3760,22 @@ JFMã®æ¸åæ¹åï¼\texttt{'yoko'}ï¼æ¨ªçµï¼ã¨ \texttt{'tate'}ï¼ç¸¦çµï¼
%ï¼å¿
é ï¼
%The amount of the length of the ``full-width''.
-%ãå
¨è§å¹
ãã®é·ãï¼
+%<*ja>
+ãå
¨è§å¹
ãã®é·ãï¼ãã®éã \cs{zw} ã®é·ãã¨ãªãï¼\pTeX ã§ã¯
+ãå
¨è§å¹
ã\texttt{1zw} ã¯ãæåã¯ã©ã¹0ã®æåãã®å¹
ã¨æ±ºãããã¦ãããï¼
+\LuaTeX-jaã§ã¯ããã§æå®ããï¼
+%
\item[zh=]
%(required)
%ï¼å¿
é ï¼
%The amount of the ``full-height'' (height + depth).
-%ãå
¨è§é«ãã(height + depth)ã®é·ãï¼é常ã¯å
¨è§å¹
ã¨åãé·ãã«ãªãã ããï¼
+%<*ja>
+ãå
¨è§é«ãã(height + depth)ã®é·ãï¼é常ã¯å
¨è§å¹
ã¨åãé·ãã«ãªãã ããï¼
+\pTeX ã§ã¯ ãå
¨è§é«ãã\texttt{1zh} ã¯ãæåã¯ã©ã¹0ã®æåãã®é«ãã¨æ·±ãã®åã¨æ±ºãããã¦ãããï¼
+\LuaTeX-jaã§ã¯ããã§æå®ããï¼
+%
\item[kanjiskip=\{, , \}]
%(optional)
@@ -3344,7 +3808,7 @@ Like the \texttt{kanjiskip} field, this field specifies the ``ideal''
\texttt{kanjiskip}ãã£ã¼ã«ãã¨åæ§ã«ï¼\Param{xkanjiskip}ã®çæ³çãªéã
æå®ããï¼
%
-\end{list}
+\end{cslist}
%<*en>
\paragraph{Character classes}
@@ -3364,7 +3828,7 @@ the following fields:
ï¼ãã®ã¤ã³ããã¯ã¹ã$i$ã§è¡¨ããï¼ã¯ä»¥ä¸ã®ãã£ã¼ã«ããæã¤ï¼
%
-\begin{list}{}{\def\makelabel{\ttfamily}\def\{{\char`\{}\def\}{\char`\}}\advance\leftmargin1\zw}
+\begin{cslist}[style=standard]
\item[chars=\{, ...\}]
%(required except character class~0)
%ï¼æåã¯ã©ã¹0ãé¤ãã¦å¿
é ï¼
@@ -3426,7 +3890,7 @@ These fields are for adjusting the position of the ``real'' glyph. Legal
3~fields are omitted, \texttt{left} and \texttt{down} are
treated as~0, and \texttt{align} field is treated as
\texttt{'left'}.
-The effects of these 3~fields are indicated in
+The effects of these 3~fields are indicated in
Figures \ref{fig-pos}~and~\ref{fig-pos-tate}.
%
%<*ja>
@@ -3457,10 +3921,10 @@ when the current character class is the class for opening delimiters'.
\begin{minipage}{0.4\textwidth}%
\begin{center}\unitlength=10pt\small
\begin{picture}(15,12)(-1,-4)
-\color{black!10!white}% jfm
+\color{b_gray}% jfm
\put(0,0){\vrule width 12\unitlength height 8\unitlength depth 3\unitlength}
-\color{red!20!white}% step1
+\color{b_pink}% step1
\put(-1,-1.5){\vrule width 6\unitlength height 7\unitlength depth 2.5\unitlength}
\color{red}% real glyph
@@ -3470,7 +3934,7 @@ when the current character class is the class for opening delimiters'.
\put(-1,5.5){\line(1,0){6}}
\put(-1,-4){\line(1,0){6}}
-\color{green!20!white}% real glyph
+\color{b_green}% real glyph
\put(3,0){\vrule width 6\unitlength height 7\unitlength depth 2.5\unitlength}
\color{black}% jfm
@@ -3483,7 +3947,7 @@ when the current character class is the class for opening delimiters'.
\put(12.2,-1.5){\makebox(0,0)[l]{\texttt{depth}}}
\put(6,0.2){\makebox(0,0)[b]{\texttt{width}}}
-\color{green!50!black}% step1
+\color{green}% step1
\thicklines
\put(3,0){\vector(0,1){7}\vector(0,-1){2.5}\vector(1,0){6}}
\put(9,0){\line(0,1){7}\line(0,-1){2.5}}
@@ -3508,12 +3972,12 @@ when the current character class is the class for opening delimiters'.
\end{minipage}%
\begin{minipage}{0.6\textwidth}%
%<*en>
-Consider a Japanese character node which belongs to
+Consider a Japanese character node which belongs to
a character class whose the \texttt{align}
field is \texttt{'middle'}.
%
%<*ja>
-\texttt{align}ãã£ã¼ã«ãã®å¤ã\texttt{'middle'}ã§ãããããªæåã¯ã©ã¹ã«å±ãã
+\texttt{align}ãã£ã¼ã«ãã®å¤ã \texttt{'middle'} ã§ãããããªæåã¯ã©ã¹ã«å±ãã
åææåãã¼ããèãããï¼
%
\begin{itemize}
@@ -3532,7 +3996,7 @@ Since the \texttt{align} field is \texttt{'middle'},
the ``real'' glyph is centered horizontally (the green rectangle) first.
%
%<*ja>
-\texttt{align}ãã£ã¼ã«ãã¯\texttt{middle}ãªã®ã§ï¼
+\texttt{align}ãã£ã¼ã«ã㯠\texttt{'middle'} ãªã®ã§ï¼
å®éã®ã°ãªãã®ä½ç½®ã¯ã¾ãæ°´å¹³æ¹åã«ä¸å¤®æããããã®ã¨ãªãï¼ç·è²ã®é·æ¹å½¢ï¼ï¼
%
\item
@@ -3559,10 +4023,10 @@ Furthermore, the glyph is shifted according to values of fields
\begin{minipage}{0.4\textwidth}%
\begin{center}\unitlength=10pt\small
\begin{picture}(15,12)(-6,0)
-\color{black!10!white}% jfm
+\color{b_gray}% jfm
\put(-6,0){\vrule width 12\unitlength height 11\unitlength}
-\color{red!20!white}% real glyph
+\color{b_pink}% real glyph
\put(-6.5,5.5){\vrule width 8\unitlength height 6\unitlength depth 3\unitlength}
\color{red}% real glyph
@@ -3572,7 +4036,7 @@ Furthermore, the glyph is shifted according to values of fields
\put(-6.5,11.5){\line(1,0){8}}
\put(-6.5,2.5){\line(1,0){8}}
-\color{green!20!white}% step1
+\color{b_green}% step1
\put(-4,3){\vrule width 8\unitlength height 6\unitlength depth 3\unitlength}
\color{black}% jfm
@@ -3585,7 +4049,7 @@ Furthermore, the glyph is shifted according to values of fields
\put(-3,10.8){\makebox(0,0)[t]{\texttt{depth}}}
\put(0.2,5.5){\makebox(0,0)[l]{\texttt{width}}}
-\color{green!50!black}% step1
+\color{green}% step1
\thicklines
\put(-4,3){\vector(0,1){6}\vector(0,-1){3}\vector(1,0){8}}
\put( 4,3){\line(0,1){6}\line(0,-1){3}}
@@ -3613,17 +4077,16 @@ Furthermore, the glyph is shifted according to values of fields
(\dots)
%
%<*ja>
-\texttt{align}ãã£ã¼ã«ãã®å¤ã\texttt{'right'}ã§ãããããªæåã¯ã©ã¹ã«å±ãã
+\texttt{align}ãã£ã¼ã«ãã®å¤ã \texttt{'right'} ã§ãããããªæåã¯ã©ã¹ã«å±ãã
åææåãèãããï¼
\begin{itemize}
\item
-å®éã®ã°ãªãã®ãåç´ä½ç½®ãã¯ï¼ãã¼ã¹ã©ã¤ã³ãæåã®ç©ççãªå·¦å³æ¹åã®ä¸å¤®ãéã
+å®éã®ã°ãªãã®ãåç´ä½ç½®ãã¯ï¼ã¾ããã¼ã¹ã©ã¤ã³ãæåã®ç©ççãªå·¦å³æ¹åã®ä¸å¤®ãéã
ä½ç½®ã¨ãªãï¼
-\item
-ã¾ãï¼ãã®å ´å\texttt{align}ãã£ã¼ã«ãã¯\texttt{middle}ãªã®ã§ï¼
+\item
+ã¾ãï¼ãã®å ´å \texttt{align} ãã£ã¼ã«ã㯠\texttt{'right'} ãªã®ã§ï¼
ãæ°´å¹³ä½ç½®ãã¯åéãæ¹åã«ãå³å¯ãããããã®ã¨ãªãï¼ç·è²ã®é·æ¹å½¢ï¼ï¼
-ãã®éï¼é«ãã»æ·±ãã¯ï¼å®ãã©ã³ãã®ascender, descenderã®å¤ã使ãããï¼
-\item
+\item
ãã®å¾ããã« \texttt{left} 㨠\texttt{down} ã®å¤ã«å¾ã£ã¦ã·ããããã
ã®ã¯æ¨ªçµç¨åæãã©ã³ãã¨å¤ãããªãï¼
\end{itemize}
@@ -3640,8 +4103,9 @@ Furthermore, the glyph is shifted according to values of fields
\item[kern={\{[$j$]=, [$j'$]=\{, []\}, ...\}}]
-\item[glue={\{[$j$]=\{, , , [], []\}, ...\}}]
+\item[glue={\{[$j$]=\{, , , [], []\}, ...\}}]\
%<*ja>
+
æåã¯ã©ã¹$i$ã®æåã¨$j$ã®æåã®éã«æ¿å
¥ãããkernãglueã®éãæå®ããï¼
㯠\Pkg{luatexja-adjust} ã«ããåªå
é ä½ä»ã
@@ -3694,16 +4158,16 @@ we specify to
%
-\item[end\_stretch=]
-\item[end\_shrink=]
+\item[end\_stretch=, end\_shrink=]
%<*ja>
-ãããã®ãã£ã¼ã«ãã¯çç¥å¯è½ã§ããï¼
+ï¼ä»»æï¼
+
åªå
é ä½ä»ãè¡é·èª¿æ´ãæå¹ã§ããï¼ãã¤ç¾å¨ã®æåã¯ã©ã¹ã®æåãè¡
æ«ã«æ¥ãæã«ï¼è¡é·ãè©°ãã調æ´ã»ä¼¸ã°ã調æ´ã®ã
ãã«ãã®æåã¨è¡æ«ã®éã«æ¿å
¥å¯è½ãªã«ã¼ã³ã®å¤§ãããæå®ããï¼
%
-\end{list}
+\end{cslist}
%<*ja>
\paragraph{æåã¯ã©ã¹ã®æ±ºå®}
@@ -3717,93 +4181,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}
@@ -3821,7 +4271,7 @@ The following is the list of imaginary characters:
ãçµç調æ´ãã§ããããã«ãªã£ã¦ããï¼ä»¥ä¸ã§ãã®ä¸è¦§ãè¿°ã¹ãï¼
%
-\begin{list}{}{\def\makelabel{\ttfamily}\def\{{\char`\{}\def\}{\char`\}}\advance\leftmargin1\zw}
+\begin{cslist}
%%\item['diffmet']
%%Used at a boundary between two \textbf{JAchar}s whose JFM or size is different.
%%JFMããµã¤ãºãç°ãªã2ã¤ã®\textbf{JAchar}ã®éã®å¢çã¨ãã¦ç¨ããããï¼
@@ -3841,7 +4291,7 @@ The following is the list of imaginary characters:
\item[$-1$]
%The left/right boundary of an inline math formula.
%è¡ä¸æ°å¼ã¨å°ã®æã¨ã®å¢çï¼
-\end{list}
+\end{cslist}
%\paragraph{Porting JFM from \pTeX}
%\paragraph{\pTeX ç¨åæç¨TFMã®ç§»æ¤}
@@ -3862,9 +4312,9 @@ See Japanese version of this manual.
\item JFMä¸ã®å
¨ã¦ã®æ°å¤ã$1/0.962216$åãã¦ããï¼
\item \TeX ã½ã¼ã¹ä¸ã§ä½¿ç¨ããã¨ããã§ï¼ãµã¤ãºæå®ã0.962216åã«ããï¼
\LaTeX ã§ã®ãã©ã³ã宣è¨ãªãï¼ä¾ãã°æ¬¡ã®ããã«ï¼
-\begin{verbatim}
+\begin{lstlisting}
\DeclareFontShape{JY3}{mc}{m}{n}{<-> s*[0.962216] psft:Ryumin-Light:jfm=jis}{}
-\end{verbatim}
+\end{lstlisting}
\end{itemize}
\item ä¸ã«è¿°ã¹ãç¹æ®æåã¯ï¼\texttt{'boxbdd'}ãé¤ãæåã¯ã©ã¹ãå
¨é¨0ã¨ãã
ï¼JFMä¸ã«åã«æ¸ããªããã°ããï¼ï¼
@@ -3927,12 +4377,18 @@ Table~\ref{tab-math} shows counterparts to \TeX's primitives for math
font families. There is no relation between the value of
\cs{fam} and that of \cs{jfam}; with appropriate settings,
you can set both \cs{fam} and \cs{jfam} to the same value.
+Here in the argument of \Param{jatextfont} etc.\ is
+a control sequence which is defined by \cs{jfont}, i.e.,
+a \emph{horizontal} Japanese font.
%
%<*ja>
\LuaTeX-jaã®æ°å¼ä¸ã§ã®åæãã©ã³ãã®æ±ããåæ§ã§ããï¼
表\ref{tab-math}ã¯æ°å¼ãã©ã³ããã¡ããªã«å¯¾ãã \TeX ã®ããªããã£ãã¨å¯¾å¿ãã
ãã®ã示ãã¦ããï¼\cs{fam} 㨠\cs{jfam} ã®å¤ã®éã«ã¯é¢ä¿ã¯ãªãï¼
é©åãªè¨å®ã®ä¸ã§ã¯ \cs{fam} 㨠\cs{jfam} ã®ä¸¡æ¹ã«åãå¤ãè¨å®ãããã¨ãã§ããï¼
+\Param{jatextfont} ä»ã®ç¬¬2å¼æ°ã¯ï¼\cs{jfont} ã§å®ç¾©ããã
+\emph{横çµç¨}åæãã©ã³ãã§ããï¼\cs{tfont} ã§å®ç¾©ããã
+\emph{縦çµç¨}åæãã©ã³ããæå®ãããã¨ã¯æ³å®ãã¦ããªãï¼
%
\begin{table}[!tb]
@@ -3967,8 +4423,7 @@ be accessed via \verb+luatexbase.add_to_callback+ function and so on, as other c
ãããã®ã³ã¼ã«ããã¯ã«ã¯ï¼ä»ã®ã³ã¼ã«ããã¯ã¨åæ§ã« \verb+luatexbase.add_to_callback+
é¢æ°ãªã©ãç¨ãããã¨ã§ã¢ã¯ã»ã¹ãããã¨ãã§ããï¼
%
-\begin{list}{}%
-{\def\makelabel#1{\bfseries#1}}
+\begin{description}[font=\bfseries, style=nextline]
%\item[\texttt{luatexja.load\_jfm} callback]
%\item[\texttt{luatexja.load\_jfm}ã³ã¼ã«ããã¯]
%<*en>
@@ -4068,21 +4523,21 @@ where is also a node, and $\text{}=\textit{from\_jfm}+\text
%
%<*ja>
\verb+jfont_info+ ã¯æä½é以ä¸ã®ãã£ã¼ã«ããæã¤ãï¼ããããæ¸ãæãã¦ã¯ãªããªãï¼
-\begin{description}
-\item[\texttt{size}]
+\begin{cslist}
+\item[size]
å®éã«ä½¿ããããã©ã³ããµã¤ãºï¼spåä½ï¼ï¼$1\,\mathrm{sp}=2^{-16}\,\mathrm{pt}$ï¼
-\item[\texttt{zw}, \texttt{zh}, \texttt{kanjiskip}, \texttt{xkanjiskip}]
+\item[zw\textrm{, }zh\textrm{, }kanjiskip\textrm{, }xkanjiskip]
JFMãã¡ã¤ã«ã§æå®ããã¦ããããããã®å¤ããã©ã³ããµã¤ãºã«åããã¦ã¹ã±ã¼ãªã³ã°ãããã®ã
spåä½ã§æ ¼ç´ãã¦ããï¼
-\item[\texttt{jfm}]
+\item[jfm]
å©ç¨ããã¦ããJFMãèå¥ããããã®çªå·ï¼
-\item[\texttt{var}]
-\cs{jfont}ã§æå®ããã \texttt{jfmvar} ãã¼ã®å¤ï¼æªæå®ã®ã¨ãã¯ç©ºæååï¼ï¼
-\item[\texttt{chars}]
+\item[var]
+\cs{jfont},~\cs{tfont} ã§æå®ããã \texttt{jfmvar} ãã¼ã®å¤ï¼æªæå®ã®ã¨ãã¯ç©ºæååï¼ï¼
+\item[chars]
æåã³ã¼ãããæåã¯ã©ã¹ã¸ã®å¯¾å¿ãè¨è¿°ããããã¼ãã«ï¼\\
JFMå
ã® \texttt{[i].chars=\{, ...\}} ã¨ããæå®ã¯\
\texttt{chars=\{[]=\,$i$, ...\}} ã¨ããå½¢å¼ã«å¤æããã¦ããï¼
-\item[\texttt{char\_type}]
+\item[char\_type]
$i\in\omega$ã«å¯¾ãã¦ï¼\texttt{char\_type[$i$]} ã¯æåã¯ã©ã¹$i$ã®æåã®å¯¸æ³ãæ ¼ç´ãã¦ããï¼
以ä¸ã®ãã£ã¼ã«ããæã¤ï¼
\begin{itemize}
@@ -4101,7 +4556,7 @@ JFMã§æå®ããã¦ããããããã®å¤ãã¹ã±ã¼ãªã³ã°ãããã®
éã«å
¥ããã®ãkernã§ããã°ï¼ãã®ãã£ã¼ã«ãã®å¤ã¯\
\texttt{[$j$]=\{false, , \}} ã§ããï¼
ã¯kernã表ããã¼ããã®ãã®ã§ãã\footnote{%
-æ¬ãã¼ã¸ã§ã³ã§ã¯å©ç¨å¯è½ãªãã°ãã¼ãã®ã¢ã¯ã»ã¹ææ³ã«direct access
+æ¬ãã¼ã¸ã§ã³ã§ã¯ãã¼ãã®ã¢ã¯ã»ã¹ææ³ã«direct access
modelãç¨ãã¦ããï¼ãã®ããï¼ä¾ãã°\LuaTeX\ beta-0.78.2ã§ã¯ï¼åãªãèªç¶æ°ã®ããã«ã
ãè¦ããªããã¨ã«æ³¨æï¼
}ï¼
@@ -4109,7 +4564,11 @@ glueã§ããã°ï¼\texttt{[$j$]=\{false, , , \}} ã§
ã¯glueã®é·ãã表ããã¼ããã®ãã®ã§ããï¼
$\text{}=\textit{from\_jfm}+\text{}$ã§ããï¼
\end{itemize}
-\end{description}
+\item[ascent\textrm{, }descent]
+â¦â¦
+\item[chars\_cbcache]
+â¦â¦
+\end{cslist}
%
%<*en>
@@ -4229,7 +4688,7 @@ Then, the position of glyphs is shifted up by
\[
\frac{88x}{88x+12x} (28y+5y) - 28y = \frac{26}{25}y= 1.04y.
\]
-\end{list}
+\end{description}
@@ -4247,8 +4706,8 @@ is the position of \verb+hpack_filter+ callback in the source
of \LuaTeX, see Section~\ref{sec-para}.
%
%<*ja>
-å
ã«è¿°ã¹ãããã«ï¼\cs{ltjsetparameter} 㨠\cs{ltjgetparameter} ã¯
-\LuaTeX-jaã®ã»ã¨ãã©ã®ãã©ã¡ã¼ã¿ã«ã¢ã¯ã»ã¹ããããã®å½ä»¤ã§ããï¼
+å
ã«è¿°ã¹ãããã«ï¼\LuaTeX-jaã®ã»ã¨ãã©ã®å
é¨ãã©ã¡ã¼ã¿ã«ã¢ã¯ã»ã¹ããã«ã¯
+\cs{ltjsetparameter} 㨠\cs{ltjgetparameter} ãç¨ããï¼
\LuaTeX-jaã\pTeX ã®ãããªææ³ï¼ä¾ãã°ï¼\verb+\prebreakpenalty`ï¼=10000+ï¼ã
æ¡ç¨ããªãçç±ã®ä¸ã¤ã¯ï¼\LuaTeX ã®ã½ã¼ã¹ã«ããã \verb+hpack_filter+
ã³ã¼ã«ããã¯ã®ä½ç½®ã«ããï¼\ref{sec-para}ç« ãåç
§ï¼
@@ -4304,8 +4763,9 @@ adopted in the whole paragraph or the whole hbox.
%
\end{itemize}
-\begin{list}{}{\def\makelabel{\ttfamily}\def\{{\char`\{}\def\}{\char`\}}\advance\leftmargin1\zw}
-\item[\DParam{jcharwidowpenalty}\,=$^\ast$] [\cs{jcharwidowpenalty}]
+\begin{cslist}[style=standard]
+\item[\DParam{jcharwidowpenalty}\,=$^\ast$] [\cs{jcharwidowpenalty}]\
+
%<*en>
Penalty value for suppressing orphans. This penalty is inserted just
after the last \textbf{JAchar} which is not regarded as a
@@ -4318,6 +4778,7 @@ Penalty value for suppressing orphans. This penalty is inserted just
%
\item[\DParam{kcatcode}\,=\{,\}$^\ast$]\
+
%<*en>
An additional attributes which each character whose character code is has.
At the present version, the lowermost bit of indicates
@@ -4331,14 +4792,15 @@ At the present version, the lowermost bit of indicates
%
\item[\DParam{prebreakpenalty}\,=\{,\}$^\ast$] [\cs{prebreakpenalty}]\
+
%<*ja>
æåã³ã¼ãã®\textbf{JAchar}ãè¡é ã«ãããã¨ãææ¢ããããã«ï¼
ãã®æåã®åã«æ¿å
¥/追å ãããããã«ãã£ã®éãæå®ããï¼
ä¾ãã°éãæ¬å¼§ãããã¯çµ¶å¯¾ã«è¡é ã«ãã¦ã¯ãªããªãã®ã§ï¼
-\begin{verbatim}
+\begin{lstlisting}
\ltjsetparameter{prebreakpenalty={`ã,10000}}
-\end{verbatim}
+\end{lstlisting}
ã¨ï¼æ大å¤ã®10000ãæ¨æºã§æå®ããã¦ããï¼ä»ã«ãï¼å°æ¸ãã®ã«ããªã©ï¼çµ¶å¯¾ç¦æ¢ã¨ã
ãããã§ã¯ãªããã§ããã°è¡é ã«ã¯ãã¦æ¬²ãããªãå ´åã«ï¼0ã¨
10000ã®éã®å¤ãæå®ããã®ãæç¨ã§ããã.
@@ -4347,14 +4809,16 @@ At the present version, the lowermost bit of indicates
Set a penalty which is inserted automatically before the character ,
to prevent a line starts from this character. For example, a line cannot started
with one of closing brackets ``ã'', so \LuaTeX-ja sets
-\begin{verbatim}
+\begin{lstlisting}
\ltjsetparameter{prebreakpenalty={`ã,10000}}
-\end{verbatim}
+\end{lstlisting}
by default.
%
-\item[\DParam{postbreakpenalty}\,=\{,\}$^\ast$] [\cs{postbreakpenalty}]
+\item[\DParam{postbreakpenalty}\,=\{,\}$^\ast$]
+ [\cs{postbreakpenalty}]\
+
%<*ja>
æåã³ã¼ãã®\textbf{JAchar}ãè¡æ«ã«ãããã¨ãææ¢ããããã«ï¼
ãã®æåã®å¾ã«æ¿å
¥/追å ãããããã«ãã£ã®éãæå®ããï¼
@@ -4393,7 +4857,7 @@ for the same character.
\item[\DParam{tjabaselineshift}\,=]\
\item[\DParam{talbaselineshift}\,=] [\cs{tbaselineshift}]
-\item[\DParam{jaxspmode}\,=\{,\}$^\ast$]
+\item[\DParam{jaxspmode}\,=\{,\}$^\ast$]\
%<*en>
Setting whether inserting \Param{xkanjiskip} is allowed before/after a \textbf{JAchar} whose character code is .
@@ -4421,7 +4885,7 @@ This parameter is similar to the \cs{inhibitxspcode} primitive of \pTeX, but not
ãã®ãã©ã¡ã¼ã¿ã¯\pTeX ã® \cs{inhibitxspcode} ããªããã£ãã¨ä¼¼ã¦ãããï¼
äºææ§ã¯ãªãï¼
%
-\item[\DParam{alxspmode}\,=\{,\}$^\ast$] [\cs{xspcode}]
+\item[\DParam{alxspmode}\,=\{,\}$^\ast$] [\cs{xspcode}]\
%<*en>
Setting whether inserting \Param{xkanjiskip} is allowed before/after a
@@ -4448,12 +4912,13 @@ Note that parameters \Param{jaxspmode} and \Param{alxspmode} share a common tabl
%
%<*ja>
\Param{jaxspmode}ã¨\Param{alxspmode}ã¯å
±éã®ãã¼ãã«ãç¨ãã¦ããããï¼
-ããã2ã¤ã®ãã©ã¡ã¼ã¿ã¯äºãã®ç°åã¨ãªã£ã¦ãããã¨ã«æ³¨æããï¼
+ããã2ã¤ã®ãã©ã¡ã¼ã¿ã¯äºãã®å¥åã¨ãªã£ã¦ãããã¨ã«æ³¨æããï¼
%
\item[\DParam{autospacing}\,=] [\cs{autospacing}]
\item[\DParam{autoxspacing}\,=] [\cs{autoxspacing}]
-\item[\DParam{kanjiskip}\,=$^\ast$] [\cs{kanjiskip}]
+\item[\DParam{kanjiskip}\,=$^\ast$] [\cs{kanjiskip}]\
+
%<*ja>
ããã©ã«ãã§2ã¤ã®\textbf{JAchar}ã®éã«æ¿å
¥ãããã°ã«ã¼ã§ããï¼
é常ã§ã¯ï¼\pTeX ã¨åãããã«ãã©ã³ããµã¤ãºã«æ¯ä¾ãã¦å¤ãããã¨ã¯ãªãï¼
@@ -4461,7 +4926,8 @@ Note that parameters \Param{jaxspmode} and \Param{alxspmode} share a common tabl
å¤ãæ¡ç¨ï¼ãã¡ãã¯ãã©ã³ããµã¤ãºã«æ¯ä¾ï¼ãããã¨ã«ãªã£ã¦ããï¼
%
-\item[\DParam{xkanjiskip}\,=$^\ast$] [\cs{xkanjiskip}]
+\item[\DParam{xkanjiskip}\,=$^\ast$] [\cs{xkanjiskip}]\
+
%<*ja>
ããã©ã«ãã§\textbf{JAchar}ã¨\textbf{ALchar}ã®éã«æ¿å
¥ãããã°ã«ã¼ã§ããï¼
\Param{kanjiskip}ã¨åãããã«ï¼é常ã§ã¯ãã©ã³ããµã¤ãºã«æ¯ä¾ãã¦å¤ãããã¨ã¯ãªããï¼
@@ -4469,7 +4935,7 @@ Note that parameters \Param{jaxspmode} and \Param{alxspmode} share a common tabl
%
-\item[\DParam{differentjfm}\,=$^\dagger$]
+\item[\DParam{differentjfm}\,=$^\dagger$]\
%<*en>
Specify how glues/kerns between two \textbf{JAchar}s whose JFM (or size) are different.
@@ -4500,8 +4966,15 @@ The default value is \texttt{paverage}. \dots
\item[\DParam{jacharrange}\,=]
\item[\DParam{kansujichar}\,=\{, \}$^\ast$] [\cs{kansujichar}]
-\item[\DParam{direction}\,=\ \hbox{\rm (always local)}]
+\item[\DParam{direction}\,=\ \hbox{\rm (always local)}]\
+%<*en>
+Assigning to this parameter has the same effect as
+\cs{yoko}~(if $\hbox{}=4$), \cs{tate}~(if $\hbox{}=3$),
+\cs{dtou}~(if $\hbox{}=1$) or \cs{utod}~(if $\hbox{}=11$).
+If the argument is not one of 4,~3, 1~nor~11,
+the behavior of this assignment is undefined.
+%
%<*ja>
çµæ¹åãå¤æ´ãã \cs{yoko}~(if $\hbox{}=4$), \cs{tate}~(if $\hbox{}=3$),
\cs{dtou}~(if $\hbox{}=1$), \cs{utod}~(if $\hbox{}=11$) ã¨åãå½¹å²ãæã¤ï¼
@@ -4509,7 +4982,7 @@ The default value is \texttt{paverage}. \dots
åä½ã¯æªå®ç¾©ã§ããï¼
%
-\end{list}
+\end{cslist}
\subsection{\cs{ltjgetparameter}}
\label{ssec-getpar}
@@ -4591,7 +5064,7 @@ returns 0,~1, 2,~or~3, instead of \texttt{preonly} etc.
%<*en>
\verb+\ltjgetparameter{jacharrange}{+\verb+}+ returns \texttt{0}
if ``characters which belong to the character range~ are \textbf{JAchar}'',
-\texttt{1} if ``\dots are \textbf{ALchar}''.
+\texttt{1} if ``\dots~are \textbf{ALchar}''.
Although there is no character range~$-1$, specifying $-1$ to does not cause an
error (returns 1).
%
@@ -4632,7 +5105,7 @@ and 4 means \emph{yoko} direction (horizontal typesetting).
%<*en>
For an integer~ between 0~and~65535,
\verb+\ltjgetparameter{boxdim}{+\verb+}+ returns the direction of
-\cs{box}. If this box is void, the returned value is zero.
+\cs{box}. If this box register is void, the returned value is zero.
%
%<*ja>
0--65535ã®æ°ã«å¯¾ãã¦ï¼
@@ -4761,7 +5234,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} ã®æç¹ã§æ°´å¹³ã¢ã¼ãã«ãªãããã§ããï¼
%
@@ -4818,9 +5293,9 @@ ignored.
For example, if \cs{hoge} uses \texttt{jfm-ujis.lua}, the standard JFM of \LuaTeX-ja,
then
-\begin{verbatim}
+\begin{lstlisting}
\ltjdeclarealtfont\hoge\piyo{"3000-"30FF, {-1}-{-1}}
-\end{verbatim}
+\end{lstlisting}
does
\begin{quote}
If the current Japanese font is \cs{hoge}, \texttt{U+3000}--\texttt{U+30FF}
@@ -4852,9 +5327,9 @@ are typeset by \cs{piyo}.
ä¾ãã°ï¼\cs{hoge} ã®JFMã\LuaTeX-jaæ¨æºã®
\ \texttt{jfm-ujis.lua} ã§ãã£ãå ´åï¼
-\begin{verbatim}
+\begin{lstlisting}
\ltjdeclarealtfont\hoge\piyo{"3000-"30FF, {-1}-{-1}}
-\end{verbatim}
+\end{lstlisting}
ã¯ã\cs{hoge} ãå©ç¨ãã¦ããã¨ãï¼
\texttt{U+3000}--\texttt{U+30FF}ã¨
æåã¯ã©ã¹1ï¼éãæ¬å¼§é¡ï¼ä¸ã®æåã ã㯠\cs{piyo} ãç¨ããã
@@ -4872,22 +5347,6 @@ are typeset by \cs{piyo}.
%\subsection{NFSS2ã¸ã®ããã}
\label{ssec-nfsspat}
-\begin{figure}[!tb]
-\begin{LTXexample}[pos=b]
-\DeclareKanjiFamily{JY3}{edm}{}
-\DeclareFontShape{JY3}{edm}{m}{n} {<-> s*KozMinPr6N-Regular:jfm=ujis;}{}
-\DeclareFontShape{JY3}{edm}{m}{green}{<-> s*KozMinPr6N-Regular:jfm=ujis;color=007F00}{}
-\DeclareFontShape{JY3}{edm}{m}{blue} {<-> s*KozMinPr6N-Regular:jfm=ujis;color=0000FF}{}
-\DeclareAlternateKanjiFont{JY3}{edm}{m}{n}{JY3}{edm}{m}{green}{"4E00-"67FF,{-2}-{-2}}
-\DeclareAlternateKanjiFont{JY3}{edm}{m}{n}{JY3}{edm}{m}{blue}{ "6800-"9FFF}
-{\kanjifamily{edm}\selectfont
-æ¥æ¬å½æ°ã¯ãæ£å½ã«é¸æãããå½ä¼ã«ããã代表è
ãéãã¦è¡åããâ¦â¦}
-\end{LTXexample}
-%\caption{\cs{DeclareAlternateKanjiFont} ã®ä½¿ç¨ä¾}
-%\caption{An example of \cs{DeclareAlternateKanjiFont}}
-\label{fig:altkanji}
-\end{figure}
-
%<*en>
Japanese patch for NFSS2 in \LuaTeX-ja
is based on \texttt{plfonts.dtx} which plays the same role in \pLaTeXe.
@@ -4903,11 +5362,10 @@ commands which are not described in Subsection~\ref{ssec-chgfnt}.
%
\begin{cslist}%
-\par\smallskip\par\hskip-\leftskip{\bfseries%
+\item[\normalfont\bfseries %
%追å ã®é·ãå¤æ°é
%additonal dimensions
-}\par
-
+]
%<*en>
Like \pLaTeXe, \LuaTeX-ja defines the following dimensions
for information of current Japanese font:
@@ -4915,20 +5373,18 @@ for information of current Japanese font:
%<*ja>
\pLaTeXe ã¨åæ§ã«ï¼\LuaTeX-jaã¯ãç¾å¨ã®åæãã©ã³ãã®æ
å ±ããæ ¼ç´ããé·ãå¤æ°
%
-{\let\item=\origitem
\begin{quote}
\cs{cht}~(height), \cs{cdp}~(depth), \cs{cHT}~(sum of former two),\\
\cs{cwd}~(width), \cs{cvs}~(lineskip), \cs{chs}~(equals to \cs{cwd})
-\end{quote}}
+\end{quote}
%and its \cs{normalsize} version:
%ã¨ï¼ãã® \cs{normalsize} çã§ãã
-{\let\item=\origitem
\begin{quote}
\cs{Cht}~(height), \cs{Cdp}~(depth),
\cs{Cwd}~(width), \\\cs{Cvs}~(equals to \cs{baselineskip}),
\cs{Chs}~(equals to \cs{cwd})%
%.
-\end{quote}}
+\end{quote}
%<*ja>
ãå®ç¾©ãã¦ããï¼ãªãï¼\cs{cwd} 㨠\cs{zw}ï¼ã¾ã
\cs{cHT} 㨠\cs{zh} ã¯ä¸è´ããªãå¯è½æ§ãããï¼ãªããªãï¼
@@ -4943,8 +5399,10 @@ but on the other hand \cs{zw}~and~\cs{zh} are specified by JFM.
%
-\item[DeclareYokoKanjiEncoding\{\}\{\}\{\}]
-\item[DeclareYokoKanjiEncoding\{\}\{\}\{\}]
+\item[\cs{DeclareYokoKanjiEncoding}\{\}\{\}\{\}]
+%\ \\[\dimexpr-\medskipamount-2\baselineskip\relax]
+%\ \\[\dimexpr-2\baselineskip\relax]
+\item[\cs{DeclareTateKanjiEncoding}\{\}\{\}\{\}]
%<*en>
In NFSS2 under \LuaTeX-ja, distinction between alphabetic font families
@@ -4952,7 +5410,7 @@ In NFSS2 under \LuaTeX-ja, distinction between alphabetic font families
encodings. For example, encodings OT1 and T1 are for
alphabetic font families, and a Japanese font family cannot
have these encodings. These command define a new encoding
- scheme for Japanese font family.
+ scheme for Japanese font families.
%
%<*ja>
\LuaTeX-jaã®NFSS2ã«ããã¦ã¯ï¼æ¬§æãã©ã³ããã¡ããªã¨åæãã©ã³ããã¡ããªã¯
@@ -4963,9 +5421,13 @@ In NFSS2 under \LuaTeX-ja, distinction between alphabetic font families
ããããå®ç¾©ããï¼
%
-\item[DeclareKanjiEncodingDefaults\{\}\{\}]
-\item[DeclareKanjiSubstitution\{\}\{\}\{\}\{\}]
-\item[DeclareErrorKanjiFont\{\}\{\}\{\}\{\}\{\}]
+\item[\cs{DeclareKanjiEncodingDefaults}\{\}\{\}]
+%\ \\[\dimexpr-\medskipamount-2\baselineskip\relax]
+%\ \\[\dimexpr-2\baselineskip\relax]
+\item[\cs{DeclareKanjiSubstitution}\{\}\{\}\{\}\{\}]
+%\ \\[\dimexpr-\medskipamount-2\baselineskip\relax]
+%\ \\[\dimexpr-2\baselineskip\relax]
+\item[\cs{DeclareErrorKanjiFont}\{\}\{\}\{\}\{\}\{\}]
%<*en>
The above 3~commands are just the counterparts for \cs{DeclareFontEncodingDefaults} and~others.
@@ -4974,7 +5436,7 @@ The above 3~commands are just the counterparts for \cs{DeclareFontEncodingDefaul
ä¸è¨3ã¤ã®ã³ãã³ãã¯ã¡ããã© \cs{DeclareFontEncodingDefaults} ãªã©ã«å¯¾å¿ãããã®ã§ããï¼
%
-\item[reDeclareMathAlphabet\{\}\{\}\{\}]
+\item[\cs{reDeclareMathAlphabet}\{\}\{\}\{\}]
% ToDo: en
%<*ja>
@@ -4986,24 +5448,21 @@ The above 3~commands are just the counterparts for \cs{DeclareFontEncodingDefaul
æ´ãããããã«ããã®ãä¸è¬çã¨æãããï¼
æ¬å½ä»¤ã¯
-{\let\item=\origitem
\begin{center}\tt
\{\}\quad$\longrightarrow$\quad
(ã®1段å±éçµæ)\{ã®1段å±éçµæ)\{\}\}
\end{center}
ã¨å®ç¾©ãè¡ãã®ã§ï¼ä½¿ç¨ã«ã¯æ³¨æãå¿
è¦ã§ããï¼
-\vspace{-\medskipamount}
-%\advance\linewidth-2em
-%\advance\linewidth-2\zw
+%\vspace{-\medskipamount}
\begin{itemize}
\item ,~ã¯æ¢ã«å®ç¾©ããã¦ããªããã°ãªããªãï¼
\cs{reDeclareMathAlphabet}\\ã®å¾ã«
両å½ä»¤ã®å
容ãåå®ç¾©ãã¦ãï¼ã®å
容ã«ããã¯åæ ãããªãï¼
\item ,~ã«\verb+\@mathrm+ãªã©ã¨ \texttt{@} ãã¤ããå½ä»¤ãæå®ããæã®åä½ã¯ä¿è¨¼ã§ããªãï¼
-\end{itemize}}
+\end{itemize}
%
-\item[DeclareRelationFont\{\}\{\}\{\}\{\}\\*
+\item[\cs{DeclareRelationFont}\{\}\{\}\{\}\{\}\\*
\null\hfill\{\}\{\}\{\}\{\}]
%<*en>
This command sets the ``accompanied'' alphabetic font family (given by the latter 4~arguments)
@@ -5013,7 +5472,7 @@ with respect to a Japanese font family given by the former 4~arguments.
ãããããå¾å±æ¬§æããè¨å®ããããã®å½ä»¤ã§ããï¼ååã®4å¼æ°ã§è¡¨ãããåæãã©ã³ããã¡ããªã«å¯¾ãã¦ï¼
ãã®ãã©ã³ãã«å¯¾å¿ãããå¾å±æ¬§æãã®ãã©ã³ããã¡ããªãå¾åã®4å¼æ°ã«ããä¸ããï¼
%
-\item[SetRelationFont]
+\item[\cs{SetRelationFont}]
%<*en>
This command is almost same as \cs{DeclareRelationFont}, except that this command does a local
assignment, where \cs{DeclareRelationFont} does a global assignment.
@@ -5023,7 +5482,7 @@ assignment, where \cs{DeclareRelationFont} does a global assignment.
ã»ã¨ãã©åãã§ããï¼\cs{DeclareRelationFont} ã¯ã°ãã¼ãã«ï¼ï¼
%
-\item[userelfont]
+\item[\cs{userelfont}]
%<*en>
Change current alphabetic font encoding/family/\dots\ to the `accompanied' alphabetic
font family with respect to current Japanese font family,
@@ -5038,7 +5497,7 @@ Like \cs{fontfamily}, \cs{selectfont} is required to take an effect.
\cs{fontfamily} ã®ããã«ï¼æå¹ã«ããããã«ã¯ \cs{selectfont} ãå¿
è¦ã§ããï¼
%
-\item[adjustbaseline]
+\item[\cs{adjustbaseline}]
%<*en>
In \pLaTeXe, \cs{adjustbaseline} sets \cs{tbaselineshift}
to match the vertical center of ``M'' and that of ``ã'' in vertical typesetting:
@@ -5062,7 +5521,7 @@ In \LuaTeX-ja, this \cs{adjustbaseline} does same task.
\LuaTeX-jaã«ããã¦ã\cs{adjustbaseline} ã¯åæ§ã®å¦çãè¡ã£ã¦ããï¼
%
-\item[fontfamily\{\}]
+\item[\cs{fontfamily}\{\}]
%<*en>
As in \LaTeXe, this command changes current font family (alphabetic, Japanese,~\emph{or both})
to . Which family will be changed is determined as follows:
@@ -5072,10 +5531,6 @@ to . Which family will be changed is determined as follows:
åæï¼\emph{ãããã¯ä¸¡æ¹}ï¼ãã«å¤æ´ããï¼
ã©ã®ãã¡ããªãå¤æ´ããããã¯ä»¥ä¸ã®ããã«ãã¦æ±ºå®ãããï¼
%
-{\let\item\origitem
-%\advance\linewidth-2em
-%\advance\linewidth-2\zw
-\vspace{-\medskipamount}
\begin{itemize}
%<*en>
\item Let current encoding scheme for Japanese fonts be
@@ -5129,21 +5584,33 @@ In this case, the default family for font substitution is used for
%
\end{itemize}%
%\vspace{-\medskipamount}
-}
-\item[DeclareAlternateKanjiFont\{\}\{\}\{\}\{\}\\
+
+\begin{figure}[!tb]
+\begin{LTXexample}[pos=b]
+\DeclareKanjiFamily{JY3}{edm}{}
+\DeclareFontShape{JY3}{edm}{m}{n} {<-> s*KozMinPr6N-Regular:jfm=ujis;}{}
+\DeclareFontShape{JY3}{edm}{m}{green}{<-> s*KozMinPr6N-Regular:jfm=ujis;color=007F00}{}
+\DeclareFontShape{JY3}{edm}{m}{blue} {<-> s*KozMinPr6N-Regular:jfm=ujis;color=0000FF}{}
+\DeclareAlternateKanjiFont{JY3}{edm}{m}{n}{JY3}{edm}{m}{green}{"4E00-"67FF,{-2}-{-2}}
+\DeclareAlternateKanjiFont{JY3}{edm}{m}{n}{JY3}{edm}{m}{blue}{ "6800-"9FFF}
+{\kanjifamily{edm}\selectfont
+æ¥æ¬å½æ°ã¯ãæ£å½ã«é¸æãããå½ä¼ã«ããã代表è
ãéãã¦è¡åããâ¦â¦}
+\end{LTXexample}
+%\caption{\cs{DeclareAlternateKanjiFont} ã®ä½¿ç¨ä¾}
+%\caption{An example of \cs{DeclareAlternateKanjiFont}}
+\label{fig:altkanji}
+\end{figure}
+
+\item[\cs{DeclareAlternateKanjiFont}\{\}\{\}\{\}\{\}\\
\null\hfill\{\}\{\}\{\}\{\}\{\}]
%<*ja>
\ref{ssec-altfont}ç¯ã®\
\cs{ltjdeclarealtfont} ã¨åæ§ã«ï¼ååã®4å¼æ°ã®
åæãã©ã³ãï¼åºåºãã©ã³ãï¼ã®ãã¡ä¸ã®æåã
-第5--第8å¼æ°ã®åæãã©ã³ãã使ã£ã¦çµãããã«æ示ããï¼
+第5ãã第8å¼æ°ã®åæãã©ã³ãã使ã£ã¦çµãããã«æ示ããï¼
使ç¨ä¾ãå³\nobreak\ref{fig:altkanji}ã«è¼ããï¼
-{\let\item\origitem
-%\advance\linewidth-2em
-%\advance\linewidth-2\zw
-\vspace{-\medskipamount}
\begin{itemize}
\item
\cs{ltjdeclarealtfont} ã§ã¯åºåºãã©ã³ãã»ç½®ãæãå
åæãã©ã³ãã¯ãããããå®ç¾©ããã¦ã
@@ -5156,7 +5623,6 @@ In this case, the default family for font substitution is used for
ã«è² æ°$-n$ãæå®ããå ´åï¼ããããåºåºãã©ã³ãã®æåã¯ã©ã¹$n$ã«å±ããæåå
¨ä½ã
ã¨è§£éãããã®ã¯ \cs{ltjdeclarealtfont} ã¨åãã§ããï¼
\end{itemize}%
-}
%
%<*en>
As \cs{ltjdeclarealtfont}~(Subsection~\ref{ssec-altfont}),
@@ -5166,10 +5632,6 @@ by the Japanese font which specified by fifth to eighth arguments
(we say the \emph{alternate font}).
An example is shown in Figure~\ref{fig:altkanji}.
-{\let\item\origitem
-%\advance\linewidth-2em
-%\advance\linewidth-2\zw
-\vspace{-\medskipamount}
\begin{itemize}
\item
In \cs{ltjdeclarealtfont}, the base font and the alternate font must be already defined.
@@ -5179,7 +5641,6 @@ current Japanese font is changed, or only after \cs{selectfont} is executed.
\item \dots
\end{itemize}%
\vspace{-\medskipamount}
-}
%
\end{cslist}
@@ -5218,7 +5679,7 @@ by \cs{input}.
%<*en>
As described in Subsection~\ref{ssec-fontspec}, this optional package
provides the counterparts for several commands defined in the
-\Pkg{fontspec} packageï¼
+\Pkg{fontspec} package (requires \Pkg{fontspec}~v2.4).
In addition to OpenType font features in the original \Pkg{fontspec},
the following ``font features'' specifications are allowed for
the commands of Japanese version:
@@ -5226,30 +5687,38 @@ the commands of Japanese version:
%<*ja>
\ref{ssec-fontspec}ç¯ã§è¿°ã¹ãããã«ï¼ãã®è¿½å ããã±ã¼ã¸ã¯\Pkg{fontspec}
ããã±ã¼ã¸ã§å®ç¾©ããã¦ããã³ãã³ãã«å¯¾å¿ããåæãã©ã³ãç¨ã®ã³ãã³ããæä¾ããï¼
+\emph{以ä¸ã«è¿°ã¹ãåæçã®å½ä»¤ã®èª¬æ㯠\Pkg{fontspec}~v2.4 使ç¨æã«ã®ã¿å½ã¦ã¯ã¾ãï¼}
+
\Pkg{fontspec}ããã±ã¼ã¸ã§æå®å¯è½ãªå種font featureã«å ãã¦ï¼åæçã®ã³ãã³ãã«ã¯
以ä¸ã®``font feature''ãæå®ãããã¨ãã§ããï¼
%
-\begin{list}{}{\def\makelabel{\ttfamily}\def\{{\char`\{}\def\}{\char`\}}\advance\leftmargin1\zw}
-\item[CID=]
-\item[JFM=]
-\item[JFM-var=] \
+\begin{cslist}
+\item[CID=\textrm{, }JFM=\textrm{, }JFM-var=]
%<*en>
These 3 keys correspond to \texttt{cid}, \texttt{jfm} and
-\texttt{jfmvar} keys for \cs{jfont} respectively.
-\texttt{CID} is effective only when with \texttt{NoEmbed}
-described below.
-See Subsections~\ref{ssec-jfont} and \ref{ssec-psft} for details.
+\texttt{jfmvar} keys for \cs{jfont}~and~\cs{tfont} respectively.
+See Subsections~\ref{ssec-jfont} and \ref{ssec-psft} for details
+ of \texttt{cid}, \texttt{jfm} and
+\texttt{jfmvar} keys.
+
+The \texttt{CID} key is effective only when with \texttt{NoEmbed}
+described below. The same JFM cannot be used in both horizontal Japanese fonts and
+ vertical Japanese fonts, hence the \texttt{JFM} key
+will be actually used in \texttt{YokoFeatures}~and~\texttt{TateFeatures} keys.
%
%<*ja>
-ããã3ã¤ã®ãã¼ã¯ãããã \cs{jfont} ã«å¯¾ãã
+ããã3ã¤ã®ãã¼ã¯ãããã \cs{jfont},~\cs{tfont}ã«å¯¾ãã
\texttt{cid}, \texttt{jfm}, \texttt{jfmvar}ãã¼ã¨ãããã対å¿ããï¼
-\texttt{CID} ã¯ä¸ã® \texttt{NoEmbed} ã¨åããã¦ç¨ããããã¨ãã®ã¿æå¹ã§ããï¼
-\cs{jfont} ããªããã£ãã«å¯¾ãã
\texttt{cid}, \texttt{jfm}, \texttt{jfmvar}ãã¼ã®è©³ç´°ã¯\ref{ssec-jfont}ç¯
ã¨\ref{ssec-psft}ç¯ãåç
§ï¼
+
+\texttt{CID} ãã¼ã¯ä¸ã® \texttt{NoEmbed} ã¨åããã¦ç¨ããããã¨ãã®ã¿æå¹ã§ããï¼
+ã¾ãï¼æ¨ªçµç¨JFMã¨ç¸¦çµç¨JFMã¯å
±ç¨ã§ããªãããï¼å®éã« \texttt{JFM} ãã¼ãç¨ããéã¯
+å¾ã«è¿°ã¹ã\ \texttt{YokoFeatures} ãã¼ã \texttt{TateFeatures}\ ã®ä¸ã§ç¨ãã
+ãã¨ã«ãªãï¼
%
\item[NoEmbed]
@@ -5262,6 +5731,36 @@ will not be embedded in the output PDF file. See Subsection~\ref{ssec-psft}.
ã§ããï¼\ref{ssec-psft}ç¯ãåç
§ï¼
%
+\begin{figure}[!tb]
+\begin{LTXexample}
+\jfontspec[
+ YokoFeatures={Color=007F00},
+ TateFeatures={Color=00007F},
+ TateFont=KozGoPr6N-Regular
+]{KozMinPr6N-Regular}
+\hbox{\yoko 横çµã®ãã¹ã}
+\hbox{\tate 縦çµã®ãã¹ã}
+\end{LTXexample}
+%\caption{\texttt{TateFeatures} çã®ä½¿ç¨ä¾}
+%\caption{An example of \texttt{TateFeatures} etc.}
+\label{fig:yokotate-fontspec}
+\end{figure}
+
+
+\item[TateFeatures=\{\}\textrm{, }TateFont=]
+% ...
+%<*ja>
+縦çµã«ããã¦ä½¿ç¨ããããã©ã³ããï¼ç¸¦çµã«ããã¦ã®ã¿é©ç¨ãããfeatureéã
+æå®ããï¼ä½¿ç¨ä¾ã¯å³\ref{fig:yokotate-fontspec}åç
§ï¼
+%
+
+\item[YokoFeatures=\{\}]
+% ...
+%<*ja>
+横çµã«ããã¦ã®ã¿é©ç¨ãããfeatureéã
+æå®ããï¼ä½¿ç¨ä¾ã¯å³\ref{fig:yokotate-fontspec}åç
§ï¼
+%
+
\begin{figure}[!tb]
\begin{LTXexample}[pos=b]
@@ -5280,7 +5779,7 @@ will not be embedded in the output PDF file. See Subsection~\ref{ssec-psft}.
\label{fig:altkanji-fontspec}
\end{figure}
-\item[AltFont]\
+\item[AltFont]
%<*en>
As \cs{ltjdeclarealtfont}~(Subsection~\ref{ssec-altfont}) and
@@ -5294,7 +5793,7 @@ as the following:
\ref{ssec-altfont}ç¯ã® \cs{ltjdeclarealtfont} ãï¼
\ref{ssec-nfsspat}ç¯ã® \cs{DeclareAlternateKanjiFont} ã¨åæ§ã«ï¼
ãã®ãã¼ãç¨ããã¨ä¸é¨ã®æåãç°ãªã£ããã©ã³ããfont featureã使ã£ã¦çµããã¨ãã§ããï¼
-\texttt{AltFont} ã«æå®ããå¤ã¯ï¼æ¬¡ã®ããã«äºéã®ã³ã³ãåºåããªã¹ãã§ããï¼
+\texttt{AltFont} ãã¼ã«æå®ããå¤ã¯ï¼æ¬¡ã®ããã«äºéã®ã³ã³ãåºåããªã¹ãã§ããï¼
%
\begin{lstlisting}[escapechar=\#]
AltFont = {
@@ -5312,10 +5811,9 @@ A demonstrarion is shown in Figure~\ref{fig:altkanji-fontspec}.
%
%<*ja>
åé¨åãªã¹ãã«ã¯ \texttt{Range} ãã¼ãå¿
é ã§ããï¼å«ã¾ããªãé¨åãªã¹ãã¯
-åç´ã«ç¡è¦ãããï¼ï¼
-æå®ä¾ã¯å³\ref{fig:altkanji-fontspec}ã«ç¤ºããï¼
+åç´ã«ç¡è¦ãããï¼ï¼æå®ä¾ã¯å³\ref{fig:altkanji-fontspec}ã«ç¤ºããï¼
%
-\end{list}
+\end{cslist}
%<*ja>
ãªãï¼\Pkg{luatexja-fontspec} èªã¿è¾¼ã¿æã«ã¯åæãã©ã³ãå®ç¾©ãã¡ã¤ã«%
@@ -5323,6 +5821,61 @@ A demonstrarion is shown in Figure~\ref{fig:altkanji-fontspec}.
%
+%<*en>
+\paragraph{Remark on \texttt{AltFont}, \texttt{YokoFeatures}, \texttt{TateFeatures} keys}
+In \texttt{AltFont},~\texttt{YokoFeatures},~\texttt{TateFeatures} keys,
+one cannot specify per-shape settings such as \texttt{BoldFeatures}.
+For example,
+\begin{lstlisting}
+AltFont = {
+ { Font=HogeraMin-Light, BoldFont=HogeraMin-Bold,
+ Range="3000-"30FF, BoldFeatures={Color=007F00} }
+}
+\end{lstlisting}
+does \emph{not} work. Instead, one have to write
+\begin{lstlisting}
+UprightFeatures = {
+ AltFont = { { Font=HogeraMin-Light, Range="3000-"30FF, } },
+},
+BoldFeatures = {
+ AltFont = { { Font=HogeraMin-Bold, Range="3000-"30FF, Color=007F00 } },
+}
+\end{lstlisting}
+
+On the other hand, \texttt{YokoFeatures}, \texttt{TateFeatures} and \texttt{TateFont}
+keys can be specified in each list in the \texttt{AltFont} key. Also,
+one can specify \texttt{AltFont} inside \texttt{YokoFeatures},~\texttt{TateFeatures}.
+%
+%<*ja>
+\paragraph{\texttt{AltFont}, \texttt{YokoFeatures}, \texttt{TateFeatures} çã®å¶é}
+\texttt{AltFont},~\texttt{YokoFeatures},~\texttt{TateFeatures}ã®åãã¼ã¯
+ã·ã§ã¤ãå¥ã«æå®ãããã¹ããã®ã§ããï¼
+å
é¨ã§ã¯ \texttt{BoldFeatures} ãªã©ã®ã·ã§ã¤ãå¥ã®æå®ã¯è¡ããã¨ãåºæ¥ãªãï¼
+ä¾ãã°ï¼
+\begin{lstlisting}
+AltFont = {
+ { Font=HogeraMin-Light, BoldFont=HogeraMin-Bold,
+ Range="3000-"30FF, BoldFeatures={Color=007F00} }
+}
+\end{lstlisting}
+ã®ããã«æå®ãããã¨ã¯åºæ¥ãï¼
+\begin{lstlisting}
+UprightFeatures = {
+ AltFont = { { Font=HogeraMin-Light, Range="3000-"30FF, } },
+},
+BoldFeatures = {
+ AltFont = { { Font=HogeraMin-Bold, Range="3000-"30FF, Color=007F00 } },
+}
+\end{lstlisting}
+ã®ããã«æå®ããªããã°ãªããªãï¼
+
+ä¸æ¹ï¼\texttt{AltFont} ãã¼å
ã®åãªã¹ãã§ã¯
+\ \texttt{YokoFeatures},~\texttt{TateFeatures} åã³ \texttt{TateFont} ãã¼ã
+æå®ãããã¨ã¯å¯è½ã§ããï¼ã¾ã\ \texttt{YokoFeatures},~\texttt{TateFeatures} ãã¼ã®
+ä¸èº«ã« \texttt{AltFont} ãæå®ãããã¨ãã§ããï¼
+%
+
+
\subsection{\texttt{luatexja-otf.sty}}
\label{ssec-ltjotf}
%<*en>
@@ -5338,7 +5891,7 @@ commands:
\Pkg{luatexja-otf}ã¯ä»¥ä¸ã®2ã¤ã®ä½ã¬ãã«ã³ãã³ããæä¾ããï¼
%
\begin{cslist}
-\item[CID\{\}]
+\item[\cs{CID}\{\}]
%<*en>
Typeset a character whose CID number is .
%
@@ -5346,7 +5899,7 @@ Typeset a character whose CID number is .
CIDçªå·ãã®æåãåºåããï¼
%
-\item[UTF\{\}]
+\item[\cs{UTF}\{\}]
%<*en>
Typeset a character whose character code is (in hexadecimal).
This command is similar to \verb+\char"+,\ %"
@@ -5360,9 +5913,9 @@ but please remind remarks below.
%<*ja>
ãã®ããã±ã¼ã¸ã¯ï¼\texttt{ajmacros.sty}ï¼\Pkg{otf}ããã±ã¼ã¸ä»å±ã®ãã¯ãéï¼äºä¸æµ©ä¸æ°ä½ï¼ãã
-æ¼¢åã³ã¼ããUTF8ã«ãããï¼plain \LuaTeX ã§ãå©ç¨å¯è½ããã¨ãã
+æ¼¢åã³ã¼ããUTF8ã«ãããï¼plain \LuaTeX ã§ãå©ç¨å¯è½ã«ããã¨ãã
ä¿®æ£ãå ãã \texttt{luatexja-ajmacros.sty} ãèªåçã«èªã¿è¾¼ãï¼
-ãã®ããï¼ãã¯ãéã«ãã \verb+\ajåè§+ ãªã©ã®ãã¯ãããã®ã¾ã¾ä½¿ç¨å¯è½ã§ããï¼
+ãã®ããï¼\texttt{ajmacros.sty} ãã¯ãéã«ãã \verb+\ajåè§+ ãªã©ã®ãã¯ãããã®ã¾ã¾ä½¿ç¨å¯è½ã§ããï¼
%
%\paragraph{Remarks}
@@ -5438,9 +5991,9 @@ IVSã«å¯¾å¿ãã¦ã¯ããªãããã§ããï¼ãããã®ããã±ã¼ã¸ã§
æå¹ã«ããã«ã¯ï¼\Pkg{luatexja-otf}ããã±ã¼ã¸ãèªã¿è¾¼ãã ä¸ã§ä»¥ä¸ã®å½ä»¤ãå®è¡ãã%
\footnote{ãã®å½ä»¤ã2å以ä¸å®è¡ãã¦ãæå³ããªãï¼}ï¼}
%
-\begin{verbatim}
+\begin{lstlisting}
\directlua{luatexja.otf.enable_ivs()}
-\end{verbatim}
+\end{lstlisting}
% ããã¨ï¼ä¸ã®å½ä»¤ãå®è¡ããç®æ以éã§ã¯ï¼ä»¥ä¸ã®ããã«IVSã«ããåå½¢æå®ãæå¹ã¨ãªãï¼
% After executing the command above, you can use IVS like the following:
\begin{LTXexample}
@@ -5504,7 +6057,7 @@ Luaã»\TeX ã³ã¼ããåèã«ãªãã ããï¼
\def\outbox#1{{\Large%
\ltjsetparameter{kanjiskip=0pt plus .2\zw minus .2\zw}%
\setbox\gridbox=\hbox to 20\zw{\sq\sq\sq\sq\sb\sq\sq\sq\sq\sb\sq\sq\sq\sq\sb\sq\sq\sq\sq\sb}%
- \hbox{\textcolor{cyan!50!white}{\copy\gridbox}\hskip-20\zw%
+ \hbox{\textcolor{cyan}{\copy\gridbox}\hskip-20\zw%
\vbox{\hsize=20\zw\noindent\leftskip0pt\rightskip0pt\parfillskip0pt#1}\vrule}%
}}
@@ -5558,13 +6111,13 @@ for making the difference obvious.
\Pkg{luatexja-adjust} ã¯ï¼ä»¥ä¸ã®å½ä»¤ãæä¾ããï¼ãããã¯ãã¹ã¦ã°ãã¼ãã«ã«å¹åãçºæ®ããï¼
\begin{cslist}
-\item[ltjdisableadjust]
+\item[\cs{ltjdisableadjust}]
åªå
é ä½ä»ãã®è¡é·èª¿æ´ãç¡å¹åããï¼
-\item[ltjenableadjust]
+\item[\cs{ltjenableadjust}]
åªå
é ä½ä»ãã®è¡é·èª¿æ´ãæå¹åããï¼
-\origitem[\textsf{adjust}\,=] \cs{ltjsetparameter} ã§æå®å¯è½ãªè¿½å ãã©ã¡ã¼ã¿ã§ããï¼
+\item[\textsf{adjust}\,=] \cs{ltjsetparameter} ã§æå®å¯è½ãªè¿½å ãã©ã¡ã¼ã¿ã§ããï¼
ã\textit{true}ãªã \cs{ltjenableadjust} ãï¼
ããã§ãªããã° \cs{ltjdisableadjust} ãå®è¡ããï¼
\end{cslist}
@@ -5673,7 +6226,138 @@ among the line-head form, the line-middle form, and the line-end form.
\end{LTXexample}
+%<*ja>
+\subsection{\texttt{lltjext.sty}}
+\pLaTeX ã§ã¯ç¸¦çµç¨ã®æ¡å¼µã¨ã㦠\Pkg{plext} ããã±ã¼ã¸ãç¨æããã¦ãããï¼
+ããã\LuaTeX-jaç¨ã«æ¸ããªããããã®ãæ¬è¿½å ããã±ã¼ã¸ \Pkg{lltjext} ã§ããï¼
+
+å¾æ¥ã® \Pkg{plext} ããã±ã¼ã¸ã¨ã®éãã¯ï¼
+{\catcode`\<=12
+\begin{itemize}
+ \item çµæ¹åãªãã·ã§ã³ \texttt{}ï¼æ¨ªçµï¼ï¼\texttt{}ï¼ç¸¦çµï¼ï¼
+\texttt{}\ ã®ä»ã«\ \texttt{}ï¼dtouæ¹åï¼ï¼\texttt{}ï¼utodæ¹åï¼ã追å ããï¼
+\texttt{} 㨠\texttt{} ã®éãã¯ï¼\texttt{} ãï¼\Pkg{plext} ããã±ã¼ã¸ã¨åæ§ã«ï¼
+å¨å²ã®çµæ¹åã縦çµã®ã¨ãã«ããæå³ãæããªã
+ ã®ã«å¯¾ãï¼\texttt{} ã«ã¯ãã®ãããªå¶éããªããã¨ã§ããï¼
+
+ \item \Pkg{plext} ããã±ã¼ã¸ã§ã¯ï¼è¡¨çµï¼\texttt{tabular} ç°å¢ï¼\texttt{align} ç°å¢çï¼ã
+\texttt{minipage} ç°å¢ï¼\cs{parbox} å½ä»¤ã«ããã¦ï¼
+åç´ä½ç½®æå® \texttt{[t]},~\texttt{[b]} ã®æåãéèªã¿è¾¼ã¿æã¨å¾®å¦ã«å¤ãããã¨ããã£ãï¼
+
+\Pkg{lltjext} ããã±ã¼ã¸ã§ã¯ï¼åç´ä½ç½®æå®ã\LaTeXe ã¨åæ§ã®æåï¼ä»¥ä¸ã«ç¤ºãï¼ã«
+ãªãããã«ä¿®æ£ããï¼
+\begin{itemize}
+ \item \texttt{[t]} ãªãã·ã§ã³æå®æã¯ï¼ããã¯ã¹ã®ãã¼ã¹ã©ã¤ã³ãä¸èº«ã®1è¡ç®ã®ãã¼ã¹ã©ã¤ã³
+ ï¼1è¡ç®ã®ä¸ã«ç½«ç·ãªã©ãæ¥ãæã¯ï¼ããã¯ã¹ã®ä¸ç«¯ï¼ã«ä¸è´ããããã«é
ç½®ããï¼
+ \item \texttt{[b]} ãªãã·ã§ã³æå®æã¯ï¼ããã¯ã¹ã®ãã¼ã¹ã©ã¤ã³ãä¸èº«ã®æçµè¡ã®ãã¼ã¹ã©ã¤ã³
+ ï¼ä¸èº«ã®æå¾ã罫ç·ãªã©ã®æã¯ï¼ããã¯ã¹ã®ä¸ç«¯ï¼ã«ä¸è´ããããã«é
ç½®ããï¼
+ \item ãã以å¤ã®ã¨ãã¯ï¼ããã¯ã¹ã®ä¸å¤®ããæ°å¼ã®è»¸ãã«ä¸è´ããããã«é
ç½®ããï¼
+\end{itemize}
+
+ \item é£æ°åç¨å½ä»¤ \cs{rensuji} ã«ãããä½ç½®åãããªãã·ã§ã³ \texttt{[l]}, \texttt{[c]},
+ \texttt{[r]} ã®æåãè¥å¹²å¤æ´ããï¼
+
+\end{itemize}
+}
+%
+%<*en>
+\subsection{\texttt{lltjext.sty}}
+\pLaTeX\ supplies additional macros for vertical writing in the \Pkg{plext} package.
+The \Pkg{lltjext} package which we want to describe here is the \LuaTeX-ja
+counterpart of the \Pkg{plext} package.
+%
+
+%<*ja>
+念ã®çºï¼æ¬ \Pkg{lltjext} ããã±ã¼ã¸ã§è¿½å ã»å¤æ´ãã¦ããå½ä»¤ã®ä¸è¦§ãè¼ãã¦ããï¼
+\begin{cslist}
+\item[tabular\textrm{, }array\textrm{, }minipageç°å¢]
+ãããã®ç°å¢ã¯ï¼
+\begin{lstlisting}
+\begin{tabular}[pos]{table spec} ... \end{tabular}
+\begin{array}[pos]{table spec} ... \end{array}
+\begin{minipage}[pos]{width} ... \end{minipage}
+\end{lstlisting}
+ã®ããã«ï¼çµæ¹åãªãã·ã§ã³ \texttt{\} ãæ¡å¼µããã¦ããï¼
+æ¢ã«è¿°ã¹ãããã«ï¼çµæ¹åãªãã·ã§ã³ã«æå®ã§ããå¤ã¯ä»¥ä¸ã®5ã¤ã§ããï¼
+ãã以å¤ãæå®ããæãç¡æå®æã¯å¨å²ã®çµæ¹åã¨åãçµæ¹åã«ãªãï¼
+\begin{description}
+ \item[y] 横çµ(\cs{yoko})
+ \item[t] 縦çµ(\cs{tate})
+ \item[z] å¨å²ã縦çµã®æã¯utodæ¹åï¼ãã以å¤ã¯ãã®ã¾ã¾
+ \item[d] dtouæ¹å
+ \item[u] utodæ¹å
+\end{description}
+\item[\cs{parbox}\<\>{[]}\{\}\{\}]
+\cs{parbox} å½ä»¤ãåæ§ã«ï¼çµæ¹åã®æå®ãã§ããããã«æ¡å¼µããã¦ããï¼
+
+\item[\cs{pbox}\<\>{[][]}\{\}]
+çµæ¹åã§ã®ä¸èº«ãLRã¢ã¼ãã§çµãå½ä»¤ã§ããï¼
+ãæ£ã®å¤ã§ããã¨ãã¯ï¼ããã¯ã¹å
¨ä½ã®å¹
ããã®å¤ã¨ãªãï¼
+ãã®éï¼ä¸èº«ã¯ã®å¤ã«å¾ãï¼å·¦å¯ã(\texttt{l})ï¼å³æã(\texttt{r})ï¼
+ä¸å¤®æãï¼ãã以å¤ï¼ãããï¼
+\item[pictureç°å¢]
+å³è¡¨ä½æã«ç¨ãã \texttt{picture} ç°å¢ãï¼
+\begin{lstlisting}
+\begin{picture}(x_size, y_size)(x_offset,y_offset)
+ ...
+\end{picture}
+\end{lstlisting}
+ã¨çµæ¹åãæå®ã§ããããã«æ¡å¼µããã¦ããï¼
+$x$æåã®å¢å æ¹åã¯åéãæ¹åï¼$y$æåã®å¢å æ¹åã¯è¡éãæ¹åã®\emph{å対æ¹å}ã¨ãªãï¼
+\Pkg{plext} ããã±ã¼ã¸ã¨åæ§ã«
+å
é¨ã§ã¯ãã¼ã¹ã©ã¤ã³è£æ£ï¼\Param{yalbaselineshift}ãã©ã¡ã¼ã¿ãªã©ï¼ã®å½±é¿ãåããªãããã«ï¼
+\cs{put},~\cs{line}, \cs{vector}, \cs{dashbox}, \cs{oval},~\cs{circle}ã
+ãã¼ã¹ã©ã¤ã³è£æ£ãåããªãããã«åå®ç¾©ããã¦ããï¼
+
+\item[\cs{rensuji}{[]}\{\}\textrm{, }\cs{rensujiskip}]
+
+\item[\cs{Kanji}\{\}]
+
+\item[\cs{kasen}\{\}\textrm{, }\cs{bou}\{\}\textrm{,
+ }\cs{boutenchar}]
+
+\item[åç
§çªå·]
+\end{cslist}
+%
+%<*en>
+\begin{cslist}
+\item[tabular\textrm{, }array\textrm{, }minipage\textrm{ environments}]
+These environments are extended by \texttt{\}, which specifies the direction,
+as follows:
+\begin{lstlisting}
+\begin{tabular}[pos]{table spec} ... \end{tabular}
+\begin{array}[pos]{table spec} ... \end{array}
+\begin{minipage}[pos]{width} ... \end{minipage}
+\end{lstlisting}
+This option permits one of the following five values. If none of them is specified,
+the direction inside the environment is same as that outside the enviromnent.
+\begin{description}
+ \item[y] \emph{yoko} direction (horizontal writing)
+ \item[t] \emph{tate} direction (vertical writing)
+ \item[z] \emph{utod} direction if direction outside the env.\ is \emph{tate}.
+ \item[d] \emph{dtou} direction
+ \item[u] \emph{utod} direction
+\end{description}
+\item[\cs{parbox}\<\>{[]}\{\}\{\}]
+\cs{parbox} command is also extended by \texttt{\}.
+
+\item[\cs{pbox}\<\>{[][]}\{\}]
+This commands typeset in LR-mode, in direction.
+If is positive, the width of the box becomes this .
+In this case, will be aligned \dots
+
+\item[picture\textrm{environment}]
+
+\item[\cs{rensuji}{[]}\{\}\textrm{, }\cs{rensujiskip}]
+
+\item[\cs{Kanji}\{\}]
+\item[\cs{kasen}\{\}\textrm{, }\cs{bou}\{\}\textrm{,
+ }\cs{boutenchar}]
+
+\item[åç
§çªå·]
+\end{cslist}
+%
@@ -5872,7 +6556,7 @@ Glues from an italic correction, but already processed in the insertion process
é£ç¶ããå ´åã§ããããã¯ã¹ã®å¢çããèå¥ã§ããããã«ãªã£ã¦ããï¼
%
-\attr{ltj@kcat$i$}
+\attr{ltj@kcat\,$i$}
%<*en>
Where $i$~is a natural number which is less than~7.
These 7~attributes store bit~vectors indicating which character block is regarded as a block of \textbf{JAchar}s.
@@ -5885,19 +6569,18 @@ $i$ã¯7ããå°ããèªç¶æ°ï¼
\attr{ltj@dir}
%<*ja>
-ããã¯ã¹ã«ãããçµæ¹åã示ãï¼é常ã®ããã¯ã¹ã§ã¯
-\begin{description}
-\item[\textit{dir\_dtou} (1)]
-\item[\textit{dir\_tate} (3)]
-\item[\textit{dir\_yoko} (4)]
-\end{description}
-ã®ããããã«æ¬¡ãå ããå¤(17,~19, 20, 33, 35,~36)ãã¨ãããã¯ã¹ãä½ããããã¨ãã
- ãï¼\ref{sec-dir-imp}ç« åç
§ï¼ï¼
+\textit{direction}~whatsitï¼å¾è¿°ï¼ã«ããã¦çµæ¹åã示ãããã«ï¼ãããã¯\textit{dir\_box}ã®
+ çµæ¹åãç¨ããï¼\textit{direction}~whatsitã«ããã¦ã¯å¤ã¯
+\begin{quote}
+ \textit{dir\_dtou} (1), \textit{dir\_tate} (3),
+ \textit{dir\_yoko} (4), \textit{dir\_utod} (11)
+\end{quote}
+ã®ããããã§ããï¼\textit{dir\_box}ã§ã¯ãããã«æ¬¡ãå ããå¤ãã¨ãï¼\ref{sec-dir-imp}ç« åç
§ï¼ï¼
%
\begin{description}
-\item[\textit{dir\_node\_auto} (16)]
+\item[\textit{dir\_node\_auto} (128)]
% ç°ãªãçµæ¹åã«é
ç½®ããããã«èªåçã«ä½ãããããã¯ã¹ï¼
-\item[\textit{dir\_node\_manual} (32)]
+\item[\textit{dir\_node\_manual} (256)]
% \cs{ltjsetwd} ã«ãã£ã¦ãããã¯ã¹ã®æ¬æ¥ã®çµæ¹åã¨ã¯ç°ãªãçµæ¹åã§ã®å¯¸æ³ãã
% è¨å®ããã¨ãã«ï¼ãããè¨é²ããããã®ããã¯ã¹ï¼
\end{description}
@@ -6187,9 +6870,9 @@ store some data which obeys the grouping of \TeX.
%<*en>
The following function can be used to store data into a stack:
-\begin{verbatim}
+\begin{lstlisting}
luatexja.stack.set_stack_table(index, data)
-\end{verbatim}
+\end{lstlisting}
Any values which except \texttt{nil}~and~NaN are usable as \textit{index}.
However, a user should use only negative integers or strings as \textit{index},
since natural numbers are used by \LuaTeX-ja itself.
@@ -6199,9 +6882,9 @@ is determined by \texttt{luatexja.isglobal}
%
%<*ja>
ã¹ã¿ãã¯ã«å¤ãè¨å®ããã«ã¯ï¼ä»¥ä¸ã®Luaé¢æ°ãå¼ã³åºãã°è¯ãï¼
-\begin{verbatim}
+\begin{lstlisting}
luatexja.stack.set_stack_table( index, data)
-\end{verbatim}
+\end{lstlisting}
ç´æçã«ã¯ï¼ã¹ã¿ãã¯ãã¼ãã«ä¸ã®ã¤ã³ããã¯ã¹\textit{index}ã®å¤ã\textit{data}ã«ããï¼ã¨ããæå³ã§ããï¼
\textit{index}ã®å¤ã¨ãã¦ã¯ \texttt{nil} ã¨NaN以å¤ã®ä»»æã®å¤ã使ãããï¼
èªç¶æ°ã¯\LuaTeX-jaã使ç¨ããï¼å°æ¥ã®æ¡å¼µç¨ãå«ãï¼ã®ã§ï¼
@@ -6212,18 +6895,18 @@ luatexja.stack.set_stack_table( index, data)
%<*en>
Stored data can be obtained as the return value of
-\begin{verbatim}
+\begin{lstlisting}
luatexja.stack.get_stack_table(index, default, level)
-\end{verbatim}
+\end{lstlisting}
where \textit{level} is the stack level, which is usually the value of \verb+\ltj@@stack+,
and \textit{default} is the default value which will be returned if no values are stored
in the stack table whose level is \textit{level}.
%
%<*ja>
ã¹ã¿ãã¯ã®å¤ã¯ï¼
-\begin{verbatim}
+\begin{lstlisting}
luatexja.stack.get_stack_table( index, default, level)
-\end{verbatim}
+\end{lstlisting}
ã®æ»ãå¤ã§åå¾ã§ããï¼\textit{level}ã¯ã¹ã¿ãã¯ã¬ãã«ã§ããï¼
é常㯠\verb+\ltj@@stack+ ã®å¤ãæå®ãããã¨ã«ãªãã ããï¼
\textit{default}ã¯ã¬ãã«\textit{level}ã®ã¹ã¿ãã¯ã«å¤ãè¨å®ããã¦ããªãã£ãå ´åã«
@@ -6270,9 +6953,9 @@ which is offered by the \Pkg{xkeyval} package.
Hence, to add a key in \cs{ltjsetparameter}, one only have to add a key
whose prefix is \texttt{ltj} and whose family is \texttt{japaram}, as the following.
-\begin{verbatim}
+\begin{lstlisting}
\define@key[ltj]{japaram}{...}{...}
-\end{verbatim}
+\end{lstlisting}
\cs{ltjsetparameter}~and~\cs{ltjglobalsetparameter} automatically sets
\texttt{luatexja.isglobal}. Its meaning is the following.
@@ -6295,9 +6978,9 @@ but also by the value of \cs{globaldefs}.
ãã®ããï¼\cs{ltjsetparameter} ã«æå®å¯è½ãªãã©ã¡ã¼ã¿ã追å ããã«ã¯ï¼
ã \texttt{ltj}ï¼ã \texttt{japaram} ã¨ãããã¼ã
-\begin{verbatim}
+\begin{lstlisting}
\define@key[ltj]{japaram}{...}{...}
-\end{verbatim}
+\end{lstlisting}
ã®ããã«å®ç¾©ããã°è¯ãã ãã§ããï¼
ãªãï¼ãã©ã¡ã¼ã¿æå®ãã°ãã¼ãã«ããã¼ã«ã«ãã©ããã示ã \texttt{luatexja.isglobal} ãï¼
\begin{align}
@@ -6311,6 +6994,40 @@ but also by the value of \cs{globaldefs}.
ãªãï¼å®è¡æã® \cs{globaldefs} ã®å¤ã«ãä¾åãã¦å®ã¾ãï¼}ï¼
%
+%<*en>
+\paragraph{Getting parameters}
+\cs{ltjgetparameter} is implemented by a Lua script.
+
+For parameters that do not need additional arguments, one only have to
+define a function in the table \verb+luatexja.unary_pars+.
+For example, with the following function,
+\verb+\ltjgetparameter{hoge}+ returns a \emph{string} \texttt{42}.
+\begin{lstlisting}[numbers=left]
+function luatexja.unary_pars.hoge (t)
+ return 42
+end
+\end{lstlisting}
+Here the argument of \verb+luatexja.unary_pars.hoge+ is
+the stack level of \LuaTeX-ja's stack system (see Subsection~\ref{ssec-stack}).
+
+On the other hand, for parameters that need an additional argument
+(this must be an integer), one have to define a function in
+\verb+luatexja.binary_pars+ first. For example,
+\begin{lstlisting}[numbers=left]
+function luatexja.binary_pars.fuga (c, t)
+ return tostring(c) .. ', ' .. tostring(42)
+end
+\end{lstlisting}
+Here the first argument $t$ is the stack level, as before.
+The second argument $c$ is just the second argument of \cs{ltjgetparameter}.
+
+For parameters that need an additional argument, one also have to
+execute the \TeX\ code like
+\begin{lstlisting}
+\ltj@@decl@array@param{fuga}
+\end{lstlisting}
+to indicate that ``the parameter \texttt{fuga} needs an additional argument''.
+%
%<*ja>
\paragraph{ãã©ã¡ã¼ã¿ã®åå¾}
ä¸æ¹ï¼\cs{ltjgetparameter} ã¯Luaã¹ã¯ãªããã«ãã£ã¦å®è£
ããã¦ããï¼
@@ -6336,9 +7053,9 @@ end
å¼æ°$t$ã¯ï¼å
ã«è¿°ã¹ãéãã®ã¹ã¿ãã¯ã¬ãã«ã§ããï¼ä¸æ¹ï¼å¼æ°$c$ã¯\
\cs{ltjgetparameter} ã®ç¬¬2å¼æ°ã表ãæ°å¤ã§ããï¼
ãããããã ãã§ã¯é§ç®ã§ï¼
-\begin{verbatim}
+\begin{lstlisting}
\ltj@@decl@array@param{fuga}
-\end{verbatim}
+\end{lstlisting}
ãå®è¡ãï¼\TeX ã¤ã³ã¿ã¼ãã§ã¼ã¹å´ã«
ã\verb+\ltjgetparameter{fuga}+ ã¯è¿½å å¼æ°ãå¿
è¦ãã¨ãããã¨ãéç¥ããå¿
è¦ãããï¼
%
@@ -6408,11 +7125,11 @@ after ``beginning/ending of a group'' characters.
->, auto, shorten >=1pt
]
\node [shape=rectangle, font=\scriptsize] (init) at (2,7) {start};
-\node [shape=circle,draw, fill=blue!20] (newline) at (4,7) {$N$};
-\node [shape=circle,draw, fill=blue!20] (midline) at (4,4) {$M$};
-\node [shape=circle,draw, fill=blue!20] (skipspc) at (8,7) {$S$};
-\node [shape=circle,draw, fill=red!20] (kanji) at (8,4) {$K$};
-\node [shape=rectangle,draw, fill=green!20] (scanacs) at (6,8) {scan a c.s.};
+\node [shape=circle,draw, fill=b_cyan] (newline) at (4,7) {$N$};
+\node [shape=circle,draw, fill=b_cyan] (midline) at (4,4) {$M$};
+\node [shape=circle,draw, fill=b_cyan] (skipspc) at (8,7) {$S$};
+\node [shape=circle,draw, fill=b_pink] (kanji) at (8,4) {$K$};
+\node [shape=rectangle,draw, fill=b_green] (scanacs) at (6,8) {scan a c.s.};
\node (endk) at (8,2.5) {} ;
\node (endm) at (4,2.5) {} ;
\node (ends) at (8,8.5) {} ;
@@ -6565,7 +7282,7 @@ emits a space.
\end{quote}
ãã®ä»æ§ã¯ï¼åç¯ã§è¿°ã¹ã\pTeX ã®ä»æ§ã«ã§ããã ãè¿ã¥ãããã®ã¨ãªã£ã¦ããï¼æ¡ä»¶1.ã¯ï¼
-\texttt{verbatim}ç³»ç°å¢ãªã©ã®æ¥æ¬èªå¯¾å¿ãã¯ããæ¸ããªãã¦ãã¾ããããã®ãã®ã§ããï¼
+\texttt{lstlisting}ç³»ç°å¢ãªã©ã®æ¥æ¬èªå¯¾å¿ãã¯ããæ¸ããªãã¦ãã¾ããããã®ãã®ã§ããï¼
ããããªããï¼\pTeX ã¨å®å
¨ã«åãæåãå®ç¾ã§ããããã§ã¯ãªãï¼
次ã®ããã«ï¼åææåã®ç¯å²ãå¤æ´ããã¡ããã©ãã®è¡ã«ããã¦ã¯æåãç°ãªãï¼
@@ -6631,54 +7348,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}
\[
@@ -6696,41 +7413,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}ã§ã¯ã©ã¹ã¿ã表ãï¼
@@ -6766,11 +7493,12 @@ $\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{verbatim}
+\begin{lstlisting}
\hbox{\hbox{abc}...\hbox{\lower1pt\hbox{xyz}}}
-\end{verbatim}
+\end{lstlisting}
ã®ããã«ï¼$p$ã®å
容ãå¥ã®hboxã§éå§ã»çµäºãã¦ããå¯è½æ§ãååããå¾ãï¼ãã®ãããªå ´åï¼
$\mathit{Np}.\mathit{head}$, $\mathit{Np}.\mathit{tail}$ã®ç®åºã¯ï¼
\emph{åç´æ¹åã«ã·ããããã¦ããªã}hboxã®
@@ -6954,11 +7682,11 @@ x+y&\text{if\ }\Param{diffrentjfm}=\texttt{both};
\end{enumerate}
ä¾ãã°ï¼
-\begin{verbatim}
+\begin{lstlisting}
\jfont\foo=psft:Ryumin-Light:jfm=ujis;-kern
\jfont\bar=psft:GothicBBB-Medium:jfm=ujis;-kern
\jfont\baz=psft:GothicBBB-Medium:jfm=ujis;jfmvar=piyo;-kern
-\end{verbatim}
+\end{lstlisting}
ã¨ãã3ãã©ã³ããèãï¼
\[
\overbrace{\Node{glyph}{\cs{ foo}, `ã'}}^{p}
@@ -7186,11 +7914,11 @@ If this attempt fails, \LuaTeX-ja use the method ``\textsf{\Param{kanjiskip}~[K]
(a)é¨åã«ããã«ãã£ãåå¨ãã¦ããªãå ´åï¼
\LuaTeX-ja ã¯\textit{Nq}ã¨\textit{Np}ã®éã®è¡åå²ãå¯è½ã«ãããã¨ããï¼
-ãã®ããã«ï¼ä»¥ä¸ã®å ´åã«$a$ããã¤\textit{penalty\_node}ãä½ã£ã¦
+ãã®ããã«ï¼ä»¥ä¸ã®ããããã®å ´åã«$a$ããã¤\textit{penalty\_node}ãä½ã£ã¦
ãå³ç©ºç½ãã®ï¼ããæªå®ç¾©ãªã\textit{Np}ã®ï¼ç´åã«æ¿å
¥ããï¼
\begin{itemize}
\item ãå³ç©ºç½ããã°ã«ã¼ã§ãªãï¼ã«ã¼ã³ãæªå®ç¾©ï¼ã§ããã¨ãï¼
-%\item ã左空ç½ããã«ã¼ã³ã¨ãã¦ãã£ã¡ãå®ç¾©ããã¦ããæï¼
+\item $a\neq 0$ã®ã¨ãã¯ï¼ãå³ç©ºç½ããã°ã«ã¼ã§ãã£ã¦ã\textit{penalty\_node}ãä½ãï¼
\end{itemize}
\item[P-suppress~{[PS]}]
@@ -7203,30 +7931,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}ã®é åºãéã«ãªã£ã¦ããï¼å ´åã¨åãã§ããï¼
@@ -7284,6 +7988,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} ããã±ã¼ã¸ã¸ã®å¯¾å¿}
@@ -7358,7 +8125,7 @@ Consider the following input:
%The line~2 is transformed by the callback to
%ããã§ï¼2è¡ç®ã¯ \verb+process_input_buffer+ ã®ä½ç¨ã«ããï¼
\begin{lstlisting}[showspaces, escapechar=\!]
-#\!\IVSA FFFFF!ã»!\IVSA FFFFF !ã x!\IVSA FFFFF !ã´!\IVSA FFFFF !ã#
+#\!\IVSA FFFFF!ã»!\IVSA FFFFF!ã x!\IVSA FFFFF!ã´!\IVSA FFFFF!ã#
\end{lstlisting}
%<*en>
before the line is actually processed.
@@ -7640,12 +8407,12 @@ JFMä¸ã«ããæåã¯ã©ã¹$n$ã®å®ç¾©ã®
å
¨è§åä½ã®å¤ã¨ãã¦è¨è¿°ããã¦ããï¼
ä¾ãã°ï¼è¡æ«æåãå¥ç¹ãããã§ããï¼ããã§ç¨ãããã¦ããJFMä¸ã«
-\begin{verbatim}
+\begin{lstlisting}
[2] = {
chars = { 'ã', ... }, width = 0.5, ...,
end_stretch = 0.5, end_shrink = 0.5,
},
-\end{verbatim}
+\end{lstlisting}
ã¨ããæå®ããã£ãå ´åï¼ãã®è¡æ«ã®å¥ç¹ã¯
\begin{itemize}
\item é常ã®\TeX ã®è¡åå²å¦çã§ãåè§ä»¥ä¸ã®è©°ãããè¡ããã¦ããå ´åï¼
@@ -7811,27 +8578,26 @@ its binary version is also updated.
\subsection{ãã£ãã·ã¥ã®ä½¿ç¨ç®æ}
\LuaTeX-ja ã§ã¯ä»¥ä¸ã®3種é¡ã®ãã£ãã·ã¥ã使ç¨ãã¦ããï¼
-\begin{list}{}%
-{\def\makelabel#1{\ttfamily#1}}
+\begin{cslist}
\item[ltj-cid-auto-adobe-japan1.lua]
Ryumin-Lightã®ãããªéåãè¾¼ã¿ãã©ã³ãã®æ
å ±ãæ ¼ç´ãã¦ããï¼
ï¼ãããã\LuaTeX-jaã®æ¨æºåæãã©ã³ããªã®ã§ï¼\LuaTeX-jaã®èªã¿è¾¼ã¿æã«èªåã§èªã¾ããï¼
-çæã«ã¯\texttt{UniJIS2004-UTF32-H}, \texttt{Adobe-Japan1-UCS2}ã¨ãã2ã¤ã®
+çæã«ã¯\texttt{UniJIS2004-UTF32-\{H, V\}}, \texttt{Adobe-Japan1-UCS2}ã¨ãã3ã¤ã®
CMapãå¿
è¦ã§ããï¼
\pageref{para-cid}ãã¼ã¸ã§è¿°ã¹ãããã«ï¼\texttt{cid}ãã¼ã使ã£ã¦
éåãè¾¼ã¿ã®ä¸å½èªã»éå½èªãã©ã³ããå®ç¾©ããå ´åï¼åæ§ã®ãã£ãã·ã¥ãçæãããï¼
ãã£ãã·ã¥ã®å称ï¼å¿
è¦ã¨ãªãCMapã«ã¤ãã¦ã¯è¡¨\ref{tab:cid-cache}ãåç
§ãã¦æ¬²ããï¼
-\item[ivs\_***.lua]
-ãã©ã³ã``\texttt{***}''ã«ãããç°ä½åæ
å ±ãæ ¼ç´ãã¦ããï¼æ§é ã¯ä»¥ä¸ã®éãï¼
+\item[extra\_***.lua]
+ãã©ã³ã``\texttt{***}''ã«ãããç°ä½åã»ã¬ã¯ã¿ã®æ
å ±ï¼ç¸¦çµç¨åå½¢ã¸ã®å¤æãã¼ãã«ï¼ããã¦
+縦çµæã«ãããå¹
ãæ ¼ç´ãã¦ããï¼æ§é ã¯ä»¥ä¸ã®éãï¼
%
%<*en>
\subsection{Use of Cache}
\LuaTeX-ja uses the following cache:
-\begin{list}{}%
-{\def\makelabel#1{\ttfamily#1}}
+\begin{cslist}
\item[ltj-cid-auto-adobe-japan1.lua]
The font table of a CID-keyed non-embedded Japanese font.
This is loaded in every run.
@@ -7844,9 +8610,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]
@@ -7872,16 +8644,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>
@@ -7896,7 +8670,7 @@ The binary version of \texttt{ltj-jisx0208.lua}.
This is the conversion table between JIS~X~0208 and Unicode
which is used in Kanji-code conversion commands for compatibility with \pTeX.
%
-\end{list}
+\end{cslist}
%<*en>
\subsection{Internal}
@@ -7904,14 +8678,13 @@ Cache management system of \LuaTeX-ja is stored in \texttt{luatexja.base}
(\texttt{ltj-base.lua}).
There are three public functions for cache management in \texttt{luatexja.base},
where stands for the file name \emph{without suffix}:
-\begin{list}{}%
-{\def\makelabel#1{\ttfamily#1}}
+\begin{cslist}
\item[save\_cache(, )]
Save a non-nil table into a cache .
Both the text form \texttt{.lua} and its binary version
are created or updated.
-\item[save\_cache\_luc(, {[, ]})]\
+\item[save\_cache\_luc(, {[, ]})]
Same as \texttt{save\_cache}, except that only the binary cache is updated.
The third argument is not usually given.
@@ -7930,21 +8703,20 @@ its contents is outdated, \texttt{load\_cache} tries to
read the text form \texttt{.lua}.
Hence, the return value of \texttt{load\_cache} is non-nil,
if and only if the updated cache is found.
-\end{list}
+\end{cslist}
%
%<*ja>
\subsection{å
é¨å½ä»¤}
\LuaTeX-jaã«ããããã£ãã·ã¥ç®¡çã¯ï¼\texttt{luatexja.base}~(\texttt{ltj-base.lua})ã«
å®è£
ãã¦ããï¼ä»¥ä¸ã®3é¢æ°ãå
¬éããã¦ããï¼
ããã§ï¼ã¯ä¿åãããã£ãã·ã¥ã®ãã¡ã¤ã«åã\emph{æ¡å¼µåãªãã§}æå®ããï¼
-\begin{list}{}%
-{\def\makelabel#1{\ttfamily#1}}
+\begin{cslist}
\item[save\_cache(, )]
nilã§ãªãããã£ãã·ã¥ã«ä¿åããï¼
ããã¹ãå½¢å¼ã®\texttt{.lua}ã®ã¿ãªããï¼
ãã®ãã¤ããªçãä½æ/æ´æ°ãããï¼
-\item[save\_cache\_luc(, {[, ]})]\
+\item[save\_cache\_luc(, {[, ]})]
\texttt{save\_cache}ã¨åæ§ã ãï¼ãã¤ããªãã£ãã·ã¥ã®ã¿ãæ´æ°ãããï¼
第3å¼æ°ãä¸ããããå ´åï¼ããã
@@ -7964,7 +8736,7 @@ nilã§ãªãããã£ãã·ã¥ã«ä¿åããï¼
以ä¸ããï¼\texttt{load\_cache}èªä½ãnilã§ãªãå¤ãè¿ãã®ã¯ï¼ã¡ããã©ãæ°ããããã£ãã·ã¥ã
è¦ã¤ãã£ãå ´åã§ããï¼
-\end{list}
+\end{cslist}
%
@@ -7976,63 +8748,214 @@ nilã§ãªãããã£ãã·ã¥ã«ä¿åããï¼
縦çµãå®è£
ãã¦ããï¼
\LuaTeX-jaã«ããã縦çµã®å®è£
ã¯
-\pTeX ã«ãããå®è£
(\cite{ptexdoc,ptextug})ããã¼ã¹ã«ãã¦ããï¼â¦â¦
+\pTeX ã«ãããå®è£
(\cite{ptexdoc,ptextug})ããã¼ã¹ã«ãã¦ããï¼
-\subsection{\textit{direction}~whatsit}
+\subsection{direction~whatsit}
\textit{direction}~whatsitã¨ã¯ï¼\textit{direction}ã¨ããç¹å®ã® \verb+user_id+ ãæã¤
-whatsitã®ãã¨ã§ããï¼ãã®whatsitã¯ï¼ä»¥ä¸ã®3ã¤ã®å½¹å²ãããï¼
-\begin{enumerate}
-\def\labelenumi{(\roman{enumi})}
- \item ãç¾å¨ä½æä¸ã®ãªã¹ãã®çµæ¹åã \cs{tate} çã«ããå¤æ´ãããããã¨ã表ãï¼\\
-ãç¾å¨ã®çµæ¹åã㯠\verb+\ltj@dir@count+ ã¨ããã«ã¦ã³ã¿ã«æ ¼ç´ããã¦ãããï¼ããã ãã§ã¯
-\verb+hpack_filter+ã³ã¼ã«ããã¯ãªã©ããæ£ããå¦ç対象ã®ãªã¹ãã®çµæ¹åãæ£ããåå¾ãããã¨
- ã¯ã§ããªãï¼\ref{ssec-stack}ç¯åç
§ï¼ããï¼ãã®ããã«å¥éwhatsitãç¨ãã¦ããï¼
- \item \cs{hbox},~\cs{vbox}ã«ãã£ã¦ä½æãããããã¯ã¹ã®çµæ¹åã表ãï¼\\
-ååã¨ãã¦ï¼ããã¯ã¹ã®çµæ¹åã¯attribute \verb+\ltj@dir+ ã«æ ¼ç´ããããã¨ã«ãªã£ã¦ããï¼ãã
- ãï¼æ°è¦ã«ä½æãããããã¯ã¹ã®attributeãã³ã¼ã«ããã¯ã®å
é¨ããå¶å¾¡ããã«ã¯ï¼
-\verb+tex.setattribute+ ã«ããæ¹æ³ãããªãï¼ããã¯ä¸å®å®ã§ããï¼
-
-ãªãï¼ãã®å½¹å²ã®direction whatsitã¯ï¼æ¬¡ã®(iii)ã®å½¹å²ãä¸ç·ã«æã£ã¦ããï¼
- \item ãç°æ¹åã«ããã寸æ³ãã®è¨é²ç¨ï¼\\
-ä¾ãã° \cs{box0} ã«æ¨ªçµã®ããã¯ã¹ãæ ¼ç´ããã¦ããæï¼ç¸¦çµã \cs{dtou} æ¹å
-ã«ããã寸æ³å¤ã¯ï¼(ii)ã®å½¹å²ã¨ãã¦ä½æãããï¼direction~whatsitã
-æ ¼ç´ãã¦ãããã¼ããªã¹ãã«æ ¼ç´ãããï¼
-\end{enumerate}
-ãã®ããã«è¤æ°ã®å½¹å²ããããã¦ããã®ã§ï¼
-\begin{verbatim}
-% yoko direction
-\setbox0=\hbox{\tate B}
-\noindent \unhbox0 A
-\end{verbatim}
-ã®ãããªå ´åã«ï¼ã(ii)ã®å½¹å²ã®\textit{direction}~whatsitã(i)ã®å½¹å²ã¨ãã¦èªèããï¼
-ãã®ãªã¹ãã¯ç¸¦çµã¨ã¿ãªãããã®ã§ã¯ãªããï¼ãã¨æããããããªãï¼ãããï¼
-(i)ã®å½¹å²ã¨(ii)ã®æ å²ã®\textit{direction}~whatsit㯠\verb+\ltj@icflag+ ã®å¤ã«ãã
-åºå¥ããã¦ããã®ã§ï¼ãã®ãããªæ··ä¹±ã¯èµ·ãããªãï¼
-
-\medskip
-(ii)ã®å½¹å²ã®direction whatsitã¯ï¼åããã¯ã¹ã®å
容ã表ããªã¹ãã®å
é ã«æ¿å
¥ããããï¼
-ä¾å¤ã以ä¸ã®2ã¤ããï¼
+whatsitã®ãã¨ã§ããï¼ä»¥ä¸ã®ã¿ã¤ãã³ã°ã§ä½ãããï¼
\begin{itemize}
- \item \verb+\hbox{}+, \verb+\vbox{}+ ã¨ãã£ãï¼
+ \item çµæ¹åã \cs{tate} çã§å¤æ´ããã¨ãï¼
+ \item \cs{hbox}, \cs{vbox}, \cs{vtop} ã«ããæ示çãªããã¯ã¹ã®éå§æï¼\\
+\verb+\hbox{}+, \verb+\vbox{}+ ã¨ãã£ãï¼
\begin{itemize}
\item \cs{tate} çã«ããããã¯ã¹å
é¨ã®çµæ¹åãå¤æ´ãã¦ããªã
\item ããã¯ã¹ã®ä¸èº«ã®ãªã¹ãã空ã§ãã
\end{itemize}
å ´åã¯ï¼\LuaTeX ã® \verb+hpack_filter+, \verb+vpack_filter+ ã¨ãã£ã
-callbackã«å¦çãåããªãã®ã§ï¼ãã®å ´åã«ã¯direction whatsitã¯æ¿å
¥ãããªãï¼
- \item \verb+\vtop{...}+ ã®å ´åã¯ï¼å
é ã«direction whatsitãç½®ãã¨
-ããã¯ã¹ã®é«ããæ£ããè¨å®ãããªãï¼ãã®ããï¼ãã®å ´åã«éã£ã¦ã¯
-direction whatsitã¯ãªã¹ãã®2çªç®ã«æ¿å
¥ããããã¨ã¨ãªãï¼
+callbackã«å¦çãåããªãï¼ããã§ï¼\LuaTeX-ja ã§ã¯ï¼\cs{everyhbox}, \cs{everyvbox} ãå©ç¨ã
+ ããã¨ã§åããã¯ã¹ã®å
é ã«ç¢ºå®ã«è¿½å ããããã«ãã¦ãã\footnote{%
+ åé¡ã¯ \cs{hbox to 25pt\{\}} ã¨ããç¶æ³ã§ããï¼å®éã®ãã®ããã¯ã¹ã®ä¸èº«ã¯ç©ºã§ãªãï¼å°ãª
+ ãã¨ãdirection whatsitãããï¼ããï¼ä½ã対çãããªããã°hpackæã«Underfillè¦åãçº
+ çãã¦ãã¾ããã¨ã«ãªãï¼\LuaTeX-jaã§ã¯ãããªããªãããã«ã\cs{hbadness},
+ \cs{vbadness} ãä¸æçã«10000ã«å¤æ´ãï¼hpack, vpackå¾ã«å
ã®å¤ã«æ»ããå¦çãè¡ã£ã¦ã
+ ãï¼
+}ï¼
+ \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ã«ãªãã¨ããåé¡ãçºçããï¼ãã®ããï¼ãã®å ´åã«éã£ã¦ã¯
+vpackæã«direction whatsitããªã¹ãã®2çªç®ã«ç§»åããã¦ããï¼
-\subsection{ç°æ¹åã®ããã¯ã¹ã®æ´åå¦ç}
+direction whatsitã¯ããã¾ã§ãçµæ¹åå¦çã®ããã®è£å©çãªãã¼ãã§ããã®ã§ï¼
+\cs{unhbox}, \cs{unhcopy} ã«ãã£ã¦ããã¯ã¹ã®ä¸èº«ãå±éãããæã«ã¯å±éç´åã«åé¤ãããï¼
+ããã¯
+\begin{lstlisting}
+ % yoko direction
+\setbox0=\hbox{\tate B}
+\noindent % æ°´å¹³ã¢ã¼ãã«å
¥ãï¼ãã®æç¹ã§ã®ãªã¹ãã®ä¸èº«ã¯ç©º
+\unhbox0 A
+\end{lstlisting}
+ã¨ãã£ãå ´åã«ï¼æ®µè½ã縦çµã§çµã¾ãããï¼ãããã¯
+\begin{lstlisting}
+\setbox0=\hbox{}
+\leavevmode \hbox{A}\unhbox0
+\setbox1=\lastbox % \box1 ã¯ã©ããªãï¼
+\end{lstlisting}
+㧠\cs{box1} ã \cs{hbox\{A\}} ã§ãªã空ã«ãªã£ã¦ãã¾ããã¨ãé²ãããã§ããï¼
+
+
+\subsection{\textit{dir\_box}}
縦ä¸æ¨ªãªã©ç°æ¹åã®ããã¯ã¹ãé
ç½®ããå ´åã«ï¼å¨å²ã®çµæ¹åã¨å¤§ãããæ´åãããããï¼
\LuaTeX-jaã§ã¯ \verb+\ltj@dir+ ã128以éã®\textit{hlist\_node}, \textit{vlist\_node}ã
ç¨ããï¼ãããã¯\pTeX ã«ããã\textit{dir\_node}ã®å½¹å²ã¨åãæããã¦ããï¼
-ãã®æç« ä¸ã§ã\textit{dir\_node}ã¨å¼ç§°ããï¼
+ãã®æç« ä¸ã§ã¯\textit{dir\_box}ã¨å¼ç§°ããï¼
+
+\subsubsection{ç°æ¹åã®ããã¯ã¹ã®æ´å}
+\textit{dir\_box}ã®ç¬¬ä¸ã®ä½¿ç¨ç®çã¯ï¼ç°æ¹åã®ããã¯ã¹ã®å¤§ãããæ´åããããã¨ã§ããï¼
+ä¾ãã°ï¼
+\begin{lstlisting}
+ % yoko direction
+å¹³æ\hbox{\tate 26}å¹´
+\end{lstlisting}
+ã¯æ®µè½ä¸ã§
+\[
+ \xymatrix{
+ {}\Node{glyph}{`å¹³'}\ar[r]&{}\Node{glyph}{`æ'}\ar[r]&
+ {}\HNode{hlist}{10.00003}{3.02779}{0.0}\ar[r]\ar[d]^{\text{ä¸èº«}}&{}\Node{glyph}{`å¹´'}\\
+ &&{}\Node{whatsit}{\cs{tate}}\ar[r]&{}\Node{glyph}{`2'}\ar[r]&{}\Node{glyph}{`6'}
+ }
+\]
+ã¨ãããªã¹ããä½ãï¼ãã®å¾ï¼ãã®æ®µè½ãçµäºããã¨ãã«ï¼
+\LuaTeX-jaã®\textbf{JAglue}æ¿å
¥å¦çãè¡ãã
+\[
+ \xymatrix{
+ {}\Node{glyph}{`å¹³'}\ar[r]
+ &{}\textcolor{blue}{\Node{glue}{\Param{xkanjiskip}}}\ar[r]
+ &{}\Node{glyph}{`æ'}\ar[r]
+ &{}\textcolor{blue}{\Node{penalty}{0}}
+ \ar`r[d] `[l] `[ddll] `[dl] [dl]
+ \\
+ &&{}\textcolor{red}{\HNode{hlist}{3.02779}{10.00003}{0.0}}\ar[r]\ar[d]^{\text{ä¸èº«}}
+ &{}\textcolor{blue}{\Node{penalty}{0}}\ar[r]
+ &{}\Node{glyph}{`å¹´'}\\
+ &&{}\HNode{\textit{dir\_box} (\cs{yoko})}{10.00003}{3.02779}{0.0}\ar[d]^{\text{ä¸èº«}}\\
+ &&{}\Node{whatsit}{\cs{tate}}\ar[r]&{}\Node{glyph}{`2'}\ar[r]&{}\Node{glyph}{`6'}
+ }
+\]
+ã®ããã«ãªãï¼éåã¯\textbf{JAglue}ï¼èµ¤åãæ´åå¦çã®ããã®\textit{dir\_box}ã§ããï¼ï¼
+\TeX ã® \cs{showbox} å½¢å¼ã§æ¸ãã°
+
+\medskip{\narrowbaselines\ttfamily\obeylines\parindent0pt
+\catcode`\@=0 @catcode`@\=12
+.\tenmin å¹³
+@textcolor{blue}{.\glue 0.0 plus 0.4 minus 0.4}
+.\tenmin æ
+@textcolor{blue}{.\penalty 0}
+@textcolor{red}{.\hbox(10.00003+0.0)x3.02779, direction TLT}
+..\hbox(3.02779+0.0)x10.00003, direction TLT
+...\whatsit4=[]
+...\tenrm 2
+...\tenrm 6
+@textcolor{blue}{.\penalty 0}
+.\tenmin å¹´
+}\medskip
+
+\noindent ã§ããï¼
+
+ãªãï¼\cs{raise},~\cs{lower}, \cs{moveleft},~\cs{moveright} ã¨ãã£ãããã¯ã¹ç§»åå½ä»¤ã§ã¯ï¼
+移åãæ£ãã表ç¾ããããã«æ®µè½ãããã¯ã¹ã®éä¸ã§ãç°æ¹åã®ããã¯ã¹ã¯\textit{dir\_box}ã«ã«
+ãã»ã«åãã¦ããï¼
+ä¾ãã°
+\begin{lstlisting}
+ % yoko direction
+å¹³æ\raise1pt\hbox{\tate 26}å¹´\showlists
+\end{lstlisting}
+ã¯ä»¥ä¸ã®ãããªçµæãå¾ãï¼
+
+\medskip{\narrowbaselines\ttfamily\obeylines\parindent0pt
+\catcode`\@=0 @catcode`@\=12
+ï¼åç¥ï¼
+\tenrm å¹³
+\tenrm æ
+@textcolor{red}{\hbox(10.00003+0.0)x3.02779, shifted -1.0, direction TLT}
+.\hbox(3.02779+0.0)x10.00003, direction TLT
+..\whatsit4=[]
+..\tenrm 2
+..\tenrm 6
+\tenrm å¹´
+}\medskip
+
+ã¾ãï¼ã¡ã¤ã³ã®åç´ãªã¹ãã«ç°æ¹åã®ããã¯ã¹ã追å ãããå ´åã«ãåæ§ã«å³åº§ã«
+\textit{dir\_box}ã«ã«ãã»ã«åãã¦ããï¼ãã¼ã¸åå²ã®ã¿ã¤ãã³ã°ãæ£
+ãã\TeX ãå¤æããããã§ããï¼
+\cs{lastbox} ã«ããããã¯ã¹ã®åå¾ã§ã¯ï¼\textit{dir\_box}ã¯åé¤ãããï¼
+
+\subsubsection{ç°æ¹åã®ããã¯ã¹å¯¸æ³ã®æ ¼ç´}
+第äºã®ä½¿ç¨ç®çã¯ï¼ç¾å¨ã®çµæ¹åãããã¯ã¹æ¬æ¥ã®çµæ¹åã¨ã¯ç°ãªãç¶æ³ã§ï¼
+\cs{ltjsetwd} ã«ãã£ã¦ããã¯ã¹å¯¸æ³ãè¨å®ããããã¨ãè¨é²ãããã¨ã§ããï¼
+
+ä¾ãã°
+\begin{lstlisting}[numbers=left]
+\setbox0=\hbox{\vrule width 10pt height 5pt depth 2pt}
+\setbox1=\hbox{\tate\ltjsetwd0=20pt}
+\wd0=9pt
+\setbox1=\hbox{\dtou\ltjsetwd0=20pt}
+\setbox0=\hbox{\dtou a\box0}
+\end{lstlisting}
+ã¨ããã³ã¼ããèããï¼1è¡ç®ã§ \cs{box0} ã«ã¯æ¨ªçµã®
+å¹
10\,ptï¼é«ã5\,ptï¼æ·±ã2\,ptã®ããã¯ã¹ã代å
¥ãããï¼
+ãã£ã¦ï¼
+\begin{itemize}
+ \item 縦çµä¸ã§ã¯ \cs{box0} ã¯å¹
7\,ptï¼é«ãã»æ·±ã5\,ptã®ããã¯ã¹ã¨ãã¦æ±ãããï¼
+ \item \cs{dtou} ä¸ã§ã¯ \cs{box0} ã¯å¹
7\,ptï¼é«ã10\,ptï¼æ·±ã0\,ptã®ããã¯ã¹ã¨ãã¦æ±ãããï¼
+\end{itemize}
+ãã®ã¨ãï¼\cs{box0} ã®\emph{ä¸èº«}ã¯
+\[
+ \xymatrix{
+ {}\Node{whatsit}{\cs{yoko}}\ar[r]&{}\Node{rule}{}
+ }
+\]
+ã§ããï¼
+
+ãã¦ï¼2è¡ç®ã§ç¸¦çµæã® \cs{box0} ã®å¹
ã20\,ptã«è¨å®ãããï¼ãã®æ
å ±ã
+direction~whatsitå
é¨ã®ãã¼ããªã¹ãã«ï¼\textit{dir\_box}ã¨ãã¦æ ¼ç´ãããï¼
+\[
+ \xymatrix{
+ {}\Node{whatsit}{\cs{yoko}}\ar[r]\ar[d]_{\text{ä¸èº«}}&{}\Node{rule}{}\\
+ {}\textcolor{red}{\HNode{\textit{dir\_box} (\cs{tate})}{20.0}{5.0}{5.0}}
+ }
+\]
+
+次ã«ï¼3è¡ç®ã§ã¯æ¨ªçµæã®ï¼ã¤ã¾ã \cs{box0} æ¬æ¥ã®çµæ¹åã§ã®æ·±ãã9\,ptã«å¤æ´ãããï¼
+ãã®ã¨ãï¼\cs{box0} ã¯
+\begin{itemize}
+ \item 縦çµä¸ã§ã¯å¯¸æ³ä»£å
¥ãæ¢ã«è¡ããã¦ããã®ã§ï¼2è¡ç®ã§ä½æããã\textit{dir\_box}ã®éã
+ ã«å¹
20\,ptï¼é«ãã»æ·±ã5\,ptã®ããã¯ã¹ã¨ãã¦æ±ãããï¼
+ \item \cs{dtou} ä¸ã§ã¯ã¾ã 寸æ³ä»£å
¥ãè¡ããã¦ããªãã®ã§ï¼
+\cs{box0} ã®å¯¸æ³å¤æ´ã«è¿½å¾ãï¼å¹
7\,ptï¼é«ã9\,ptï¼æ·±ã0\,ptã®ããã¯ã¹ã¨ãã¦æ±ãããï¼
+\end{itemize}
+
+4è¡ç®ã§ã¯ \cs{dtou} ä¸ã§ã®\cs{box0} ã®å¹
ã20\,ptã«è¨å®ãããã®ã§ï¼2è¡ç®ã¨åãããã«
+\[
+ \xymatrix{
+ {}\Node{whatsit}{\cs{yoko}}\ar[r]\ar[d]_{\text{ä¸èº«}}&{}\Node{rule}{}\\
+ {}\textcolor{red}{\HNode{\textit{dir\_box} (\cs{dtou})}{20.0}{9.0}{0.0}}\ar[r]&
+ {}\HNode{\textit{dir\_box} (\cs{tate})}{20.0}{5.0}{5.0}
+ }
+\]
+ã¨\textit{dir\_box}ãä½æãããï¼
+ãã®ããã«å¯¸æ³ä»£å
¥ã«ãã£ã¦ã¤ãããã\textit{dir\_box}ã¯ï¼åç¯ã®æ´åéç¨ã®ã¨ãã«åå©ç¨ãã
+ãï¼ä¸è¨ã®ä¾ã§ããã°ï¼5è¡ç®ãå®è¡ããå¾ã® \cs{box0} ã®å
容ã¯
+\[
+ \xymatrix{
+ {}\Node{whatsit}{\cs{dtou}}\ar[r]&
+ {}\Node{glyph}{`a'}\ar[r]&
+ {}\textcolor{red}{\HNode{\textit{dir\_box} (\cs{dtou})}{20.0}{9.0}{0.0}}\ar[d]_{\text{ä¸èº«}}\\
+ &&{}\HNode{hlist}{9.0}{5.0}{2.0}\ar[d]_{\text{ä¸èº«}}\\
+ &&{}\Node{whatsit}{\cs{yoko}}\ar[r]&{}\Node{rule}{}
+ }
+\]
+ã®ããã«ãªãï¼
%
+\newpage
\begin{thebibliography}{99}
\addcontentsline{toc}{section}{\refname}
\bibitem{texbytopic}
@@ -8060,31 +8983,13 @@ Requirements for Japanese Text Layout (W3C Working Group Note), 2011, 2012. \new
\\\null\hfill\texttt{.../texmf-dist/doc/ptex/base/ptexdoc.pdf}
\bibitem{ptextug} Hisato Hamano. \newblock
\textit{Vertical Typesetting with \TeX}, TUGBoat~\textbf{11}(3), 346--352, 1990.
+\bibitem{pdfstd} International Organization for Standardization. \newblock
+ISO 32000-1:2008, \textit{Document management -- Portable document format -- Part 1: PDF
+ 1.7}, 2008. \newblock
+\\\null\hfill
+\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>