X-Git-Url: http://git.osdn.jp/view?a=blobdiff_plain;f=doc%2Fluatexja.dtx;h=f3e910c44198d84be6277b5b9dbba48a6ea2de3f;hb=029c74784e3acac4ca96ef9c8c3789faf7334d38;hp=68ce2c25e3b39b967372ea73f019222f0f2ac6eb;hpb=54c48f13ae5322dd79fb81f66f0b21ea5e9e5e87;p=luatex-ja%2Fluatexja.git
diff --git a/doc/luatexja.dtx b/doc/luatexja.dtx
index 68ce2c2..f3e910c 100644
--- a/doc/luatexja.dtx
+++ b/doc/luatexja.dtx
@@ -15,26 +15,36 @@
%%%%%%%%
\makeatletter
%%%%%%%%
+\directlua{if jit then jit.on() end}
-%%%%%%%% 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
+\usepackage{amsmath,array,tikz,pict2e,multienum,float}
+\usepackage{booktabs,multicol,luatexja-ruby}
+\usepackage[all]{xy}
+\usepackage{lltjext,alltt}
+%%%%%%%% fonts
+\usepackage{luatexja-otf}
+\directlua{luatexja.otf.enable_ivs()}
+\usepackage[match]{luatexja-fontspec}
+\usepackage[kozuka-pr6n]{luatexja-preset}
+\usepackage{unicode-math}
+\setmainfont[Ligatures=TeX]{Linux Libertine O}
+\setmonofont[Scale=MatchLowercase, ItalicFont=lmmono10-italic.otf,
+ BoldFont=lmmonolt10-bold.otf, BoldItalicFont=lmmonolt10-boldoblique.otf
+]{lmmono10-regular.otf}
+\setmonojfont{KozGoPr6N-Regular.otf}
+\setmathfont[Scale=MatchLowercase]{xits-math.otf}
+\setsansfont[Scale=MatchLowercase,Ligatures=TeX]{Linux Biolinum O}
+%<*ja>
+\def\emph#1{\textbf{\textgt{#1}}}
+\def\headfont{\normalfont\bfseries\gtfamily}\normalsize
+%
%<*en>
+\frenchspacing
\usepackage[margin=25mm,lmargin=30mm,rmargin=30mm,footskip=6mm]{geometry}
\usepackage{luatexja-adjust}\ltjdisableadjust
\parskip=\smallskipamount
+\makeatletter
\renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}%
{3.25ex \@plus1ex \@minus.2ex}%
{-1em}%
@@ -46,10 +56,6 @@
\advance\leftmargini-1\zw\advance\leftmarginii-1\zw
%
-\usepackage{amsmath,array,tikz,pict2e,multienum,float}
-\usepackage{booktabs,multicol,luatexja-ruby}
-\usepackage{xy}
-
%%%%%%%% listings
%%%%%%%% IVS
@@ -72,6 +78,7 @@
explpreset={numberstyle=\tiny, numbers=left, numbersep=1em, columns=fixed}
}
% Suppress output from showexpl to stdout.
+\makeatletter
\let\SX@Info\relax
%%%%%%%% colors
@@ -118,26 +125,6 @@
%\newtheorem{defn}{Definition}
%\newtheorem{defn}{å®ç¾©}
-%%%%%%%% fonts
-\usepackage{luatexja-otf}
-%\usepackage{lmodern}
-\directlua{luatexja.otf.enable_ivs()}
-\usepackage[match]{luatexja-fontspec}
-\usepackage[kozuka-pr6n]{luatexja-preset}
-\setmonojfont{KozGoPr6N-Regular.otf}
-%<*ja>
-\def\emph#1{\textbf{\textgt{#1}}}
-\def\headfont{\normalfont\bfseries\gtfamily}
-\usepackage{amssymb}
-%
-%<*en>
-\usepackage{unicode-math}
-\setmainfont[Ligatures=TeX]{TeX Gyre Termes}
-\setsansfont[Scale=0.95,Ligatures=TeX]{TeX Gyre Heros}
-\setmathfont{xits-math.otf}
-\frenchspacing
-%
-
%%%%%%%% logo
\usepackage{metalogo}
\DeclareRobustCommand\eTeX{\ensuremath{\varepsilon}-\kern-.125em\TeX}
@@ -147,7 +134,7 @@
\DeclareRobustCommand\upTeX{up\kern-.15em\TeX}
\DeclareRobustCommand\pLaTeX{p\kern-.05em\LaTeX}
\DeclareRobustCommand\pLaTeXe{p\kern-.05em\LaTeXe}
-\DeclareRobustCommand\epTeX{\ensuremath{\varepsilon}-\kern-.125em\pTeX}
+\DeclareRobustCommand\epTeX{\ensuremath{\varepsilon}-\pTeX}
%%%%%%%% other macros
\newlist{cslist}{description}{1}
@@ -171,14 +158,19 @@
\vskip\belowcaptionskip}
\def\_{\leavevmode \kern .06em\vbox {\hrule \@width .333em}}
-\def\cs#1{\texttt{\upshape\textbackslash #1}}
+\def\cs#1{\texttt{\upshape
+ \texorpdfstring{\textbackslash\ltjsetparameter{autoxspacing=false}#1}{\textbackslash#1}}}
%%%%%%%%
\makeatother
%%%%%%%%
\def\Node#1#2{\,\vcenter{\hbox{\fboxsep=1pt\fbox{\vbox{\small\halign{\hfil##\hfil\cr
- #1\mathstrut\cr\noalign{\hrule height.4pt}\strut#2\cr}}}}\,}}
+ #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)
@@ -240,7 +232,7 @@ Japanese processing in computers (\textit{e.g.}, the UTF-8 encoding).
ASCII \pTeX ãããã®æ¡å¼µç©ãç¨ãããããã¨ãä¸è¬çã§ãã£ãï¼\pTeX ã¯\TeX
ã®ã¨ã³ã¸ã³æ¡å¼µã§ããï¼ï¼å°ã
ä»æ§ä¸ä¸ä¾¿ãªç¹ã¯ãããã®ã®ï¼åæ¥å°å·ã®åéã«
ãç¨ããããã»ã©ã®é«å質ãªæ¥æ¬èªçµçãå¯è½ã¨ãã¦ããï¼ã ãï¼ããã¯å¼±ç¹ã«
-ããªã£ã¦ãã¾ã£ãï¼\pTeX ã¨ããï¼çµççã«ï¼æºè¶³ãªãã®ããã£ãããï¼æµ·å¤ã§
+ããªã£ã¦ãã¾ã£ãï¼\pTeX ã¨ããï¼çµççã«ï¼æºè¶³ãªãã®ããã£ãããï¼æµ·å¤ã§
è¡ããã¦ããæ°ã
ã®\TeX ã®æ¡å¼µââä¾ãã°\eTeX ã\pdfTeX ââãï¼TrueType,
OpenType, Unicodeã¨ãã£ãè¨ç®æ©ã§æ¥æ¬èªãæ±ãéã®ç¶æ³ã®å¤åã«è¿½å¾ãããã¨
ãæ ã£ã¦ãã¾ã£ãã®ã ï¼
@@ -286,12 +278,15 @@ scripts for appropriate callbacks.
%<*en>
The \LuaTeX-ja package is under much influence of \pTeX\ engine. The initial
target of development was to implement features of \pTeX. However,
-\emph{\LuaTeX-ja is not a just porting of \pTeX; unnatural
+implementing all feature of \pTeX\ is impossible,
+since all process of \LuaTeX-ja must be implemented only by Lua and \TeX\ macros.
+Hence \emph{\LuaTeX-ja is not a just porting of \pTeX; unnatural
specifications/behaviors of \pTeX\ were not adopted}.
%
%<*ja>
\LuaTeX-jaã¯ï¼\pTeX ã«å¤å¤§ãªå½±é¿ãåãã¦ããï¼åæã®éçºç®æ¨ã¯ï¼\pTeX ã®æ©
-è½ãLuaã³ã¼ãã«ããå®è£
ãããã¨ã§ãã£ãï¼ãããï¼éçºãé²ãã«ã¤ãï¼\pTeX
+è½ãLuaã³ã¼ãã«ããå®è£
ãããã¨ã§ãã£ãï¼ãããï¼ï¼\pTeX ã¯ã¨ã³ã¸ã³æ¡å¼µã§ãã£ãã®ã«å¯¾ãï¼
+\LuaTeX-jaã¯Luaã³ã¼ãã¨\TeX ãã¯ããç¨ãã¦å
¨ã¦ãå®è£
ãã¦ããªããã°ãªããªãããï¼\pTeX
ã®å®å
¨ãªç§»æ¤ã¯ä¸å¯è½ã§ããï¼ã¾ã\pTeX ã«ãããå®è£
ãããããä¸å¯è§£ã«ãªã£
ã¦ãããããªç¶æ³ãçºè¦ãããï¼ãã®ããï¼\emph{\LuaTeX-jaã¯ï¼ãã¯ã
\pTeX ã®å®å
¨ãªç§»æ¤ã¯ç®æ¨ã¨ã¯ããªãï¼\pTeX ã«ãããä¸èªç¶ãªä»æ§ã»æåãã
@@ -299,53 +294,82 @@ specifications/behaviors of \pTeX\ were not adopted}.
%
%<*en>
-The followings are major changes from \pTeX:
+The followings are major changes from \pTeX.
+For more detailed information, see Part~\ref{part-imp} or other sections of this manual.
%
%<*ja>
以ä¸ã¯ \pTeX ããã®ä¸»ãªå¤æ´ç¹ã§ããï¼
+ãã詳細ã«ã¤ãã¦ã¯ç¬¬\ref{part-imp}é¨ãªã©æ¬ææ¸ã®æ®ããåç
§ï¼
%
-\begin{itemize}
%<*en>
-\item A Japanese font is a tuple of a ``real'' font, a Japanese font
- metric (\emph{JFM}, for short).
+\paragraph{Command names} \pTeX\ addes several primitives, such as \cs{kanjiskip},
+\cs{prebreakpenalty},~and,~\cs{ifydir}. They can be used as follows:
+%
+%<*ja>
+\paragraph{å½ä»¤ã®å称} ä¾ãã°\pTeX ã§è¿½å ããã次ã®ãããªããªããã£ã
+%
+\begin{verbatim}
+\kanjiskip=10pt \dimen0=kanjiskip
+\tbaselineshift=0.1zw
+\dimen0=\tbaselineshift
+\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=10pt} \dimen0=\ltjgetparameter{kanjiskip}
+\ltjsetparameter{talbaselineshift=0.1\zw}
+\dimen0=\ltjgetparameter{talbaselineshift}
+\ltjsetparameter{prebreakpenalty={`ã,100}}
+\ifnum\ltjgetparemeter{direction}=4 ... \fi
+\end{verbatim}
+%<*en>
+Note that \pTeX\ adds new two useful units, namely \texttt{zw}~and~\texttt{zh}.
+As shown above, they are changed by \cs{zw}~and~\cs{zh} respectively, in \LuaTeX-ja.
%
%<*ja>
-\item åæãã©ã³ãã¯ï¼å°å¡ææï¼IPAææãªã©ã®ï¼å®éã®ãã©ã³ãï¼åæãã©ã³
- ãã¡ããªãã¯ï¼JFMã¨å¼ã¶\footnote{æ··ä¹±ãé²ãããï¼p\TeX ã®æå³ã§ã®
- JFM (\texttt{min10.tfm}) ãªã©ã¯æ¬ããã¥ã¡ã³ãã§ã¯\emph{åæç¨
- TFM}ã¨ãã¶ãã¨ã«ããï¼}ï¼ã®çµã§ããï¼
+ç¹ã«æ³¨æãã¦ã»ããã®ã¯ï¼\pTeX ã§è¿½å ããã \texttt{zw} 㨠\texttt{zh} ã¨ããåä½ã
+\LuaTeX-ja ã§æ±ãã«ã¯ï¼\cs{zw}, \cs{zh} ã¨å¶å¾¡ç¶´ã®å½¢ã«ããªãã¨ãããªãã¨ããç¹ã§ããï¼
%
%<*en>
-\item In \pTeX, a line break after Japanese character is ignored (and
+\paragraph{Linebreak after a Japanese character}
+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 ã§ã¯åææå
+\paragraph{åææåç´å¾ã®æ¹è¡}
+æ¥æ¬èªã®ææ¸ä¸ã§ã¯æ¹è¡ã¯ã»ã¨ãã©ã©ãã§ã許ãããã®ã§ï¼\pTeX ã§ã¯åææå
ç´å¾ã®æ¹è¡ã¯ç¡è¦ãããï¼ã¹ãã¼ã¹ãå
¥ããªãï¼ããã«ãªã£ã¦ããï¼ãããï¼
\LuaTeX-ja ã§ã¯ \LuaTeX ã®ä»æ§ã®ããã«ãã®æ©è½ã¯å®å
¨ã«ã¯å®è£
ããã¦ããªãï¼
+ 詳ããã¯\ref{sec-lbreak}ç« ãåç
§ï¼
%
%<*en>
-\item The insertion process of glues/kerns between two Japanese
+
+\paragraph{Spaces related to Japanese characters}
+The insertion process of glues/kerns between two Japanese
characters and between a Japanese character and other characters
(we refer glues/kerns of both kinds as \textbf{JAglue}) is rewritten from
scratch.
%
%<*ja>
-\item 2ã¤ã®åææåã®éãï¼åææåã¨æ¬§ææåã®éã«å
¥ãã°ã«ã¼ï¼ã«ã¼ã³
+\paragraph{åæé¢é£ã®ç©ºç½}
+2ã¤ã®åææåã®éãï¼åææåã¨æ¬§ææåã®éã«å
¥ãã°ã«ã¼ï¼ã«ã¼ã³
ï¼ä¸¡è
ããããã¦\textbf{JAglue}ã¨å¼ã¶ï¼ã®æ¿å
¥å¦çã0ããæ¸ãç´ããã¦ããï¼
%
\begin{itemize}
%<*en>
-\item As \LuaTeX's internal ligature handling is ``node-based''
+\item As \LuaTeX's internal ligature handling is \emph{node-based}
(\textit{e.g.}, \verb+of{}fice+ doesn't prevent ligatures), the
- insertion process of \textbf{JAglue} is now ``node-based''.
+ insertion process of \textbf{JAglue} is now \emph{node-based}.
%
%<*ja>
\item \LuaTeX ã®å
é¨ã§ã®ååã®æ±ãã¯ããã¼ãããåä½ã¨ãã¦è¡ãããããã«ãªã£ã¦ããï¼ä¾ãã°ï¼
@@ -372,19 +396,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>
\item In the process, two Japanese fonts which only differ in their ``real''
@@ -396,21 +419,34 @@ The followings are major changes from \pTeX:
%
\end{itemize}
+%<*en>
+\paragraph{Directions}
+From version~20150420.0, \LuaTeX-ja supports vertical writing;
+but this feature must \emph{not} be confused with $\Omega$-style direction support of \LuaTeX\
+itself. ...
+%
%<*ja>
-\item \LuaTeX-jaã§ã¯ï¼\pTeX ã¨åæ§ã«æ¼¢åã»ä»®åãå¶å¾¡ç¶´å
ã«ç¨ãããã¨ãã§ãï¼
-\cs{西æ¦} ãªã©ãæ£ããåä½ããããã«ãã¦ããï¼
-ä½ãï¼å¶å¾¡ç¶´ä¸ã«ä½¿ããåææåã\pTeXã»\upTeX ã¨å
¨ãåãã§ã¯ãªããã¨ã«æ³¨æãããã¨ï¼
+\paragraph{çµæ¹å}
+20150420.0çããã¯ï¼ä¸å®å®ãªããã\LuaTeX-ja ã«ããã縦çµã¿ããµãã¼ããã¦ããï¼
+ãªãï¼\LuaTeX æ¬ä½ãï¼$\Omega$æµã®çµæ¹åããµãã¼ããã¦ãããï¼ããã¨ã¯å
¨ãã®å¥ç©ã§ãããã¨
+ã«æ³¨æãã¦ã»ããï¼
+\LuaTeX ã®ã³ã¼ã«ããã¯ãå®è£
ã«ããï¼ç¹ã«ç°ãªã£ãçµæ¹åã®ããã¯ã¹ãæ±ãå ´åã«ã¯
+\cs{wd}, \cs{ht}, \cs{dp}çã®ä»æ§ãç°ãªãã®ã§æ³¨æï¼è©³ç´°ã¯ç¬¬\ref{sec-direction}ç« ãåç
§ï¼
%
-\end{itemize}
-
%<*en>
-For detailed information, see Part~\ref{part-imp}.
+\paragraph{\cs{discretionary}}
+Japanese characters in discretionary break (\cs{discretionary}) is not supported.
%
%<*ja>
-詳細ã«ã¤ãã¦ã¯ç¬¬\ref{part-imp}é¨ãåç
§ï¼
+\paragraph{\cs{discretionary}}
+ \cs{discretionary} å
ã«ç´æ¥åææåãè¨è¿°ãããã¨ã¯ï¼\pTeX ã«ããã¦ãæ³å®ããã¦ããªãã£ã
+ æããããï¼\LuaTeX-jaã«ããã¦ãæ³å®ãã¦ããªãï¼åææåãã©ã
+ ãã¦ã使ãããå ´å㯠\cs{hbox} ã§æ¬ããã¨ï¼
%
+
+
%\subsection{Notations}
%\subsection{ç¨èªã¨è¨æ³}
@@ -427,12 +463,12 @@ In this document, the following terms and notations are used:
(see Subsection~\ref{ssec-setrange}).
%
%<*ja>
-\item æåã¯æ¬¡ã®2種é¡ã«åããããï¼ãã®é¡å¥ã¯ã¦ã¼ã¶ãå¾ããå¤æ´å¯è½ã§ãã
+\item æåã¯æ¬¡ã®2種é¡ã«åããããï¼ãã®é¡å¥ã¯åºå®ããã¦ãããã®ã§ã¯ãªãï¼ã¦ã¼ã¶ãå¾ããå¤æ´å¯è½ã§ãã
ï¼\ref{ssec-setrange}ç¯ãåç
§ï¼ï¼
%
\begin{itemize}
%<*en>
-\item \textbf{JAchar}: standing for characters which used in Japanese typesetting,
+\item \textbf{JAchar}: standing for characters which is used in Japanese typesetting,
such as Hiragana,~Katakana, Kanji, and~other Japanese punctuation marks.
%
%<*ja>
@@ -486,21 +522,21 @@ and \emph{Japanese fonts} for fonts used in \textbf{JAchar}.
%\paragraph{ããã¸ã§ã¯ãWiki} ããã¸ã§ã¯ãWikiã¯æ§ç¯ä¸ã§ããï¼
%<*en>
\begin{itemize}
-\item \url{http://sourceforge.jp/projects/luatex-ja/wiki/FrontPage%28en%29} (English)
-\item \url{http://sourceforge.jp/projects/luatex-ja/wiki/FrontPage} (Japanese)
-\item \url{http://sourceforge.jp/projects/luatex-ja/wiki/FrontPage%28zh%29} (Chinese)
+\item \url{https://osdn.jp/projects/luatex-ja/wiki/FrontPage%28en%29} (English)
+\item \url{https://osdn.jp/projects/luatex-ja/wiki/FrontPage} (Japanese)
+\item \url{https://osdn.jp/projects/luatex-ja/wiki/FrontPage%28zh%29} (Chinese)
\end{itemize}
%
%<*ja>
\begin{itemize}
-\item \url{http://sourceforge.jp/projects/luatex-ja/wiki/FrontPage}ï¼æ¥æ¬èªï¼
-\item \url{http://sourceforge.jp/projects/luatex-ja/wiki/FrontPage%28en%29}ï¼è±èªï¼
-\item \url{http://sourceforge.jp/projects/luatex-ja/wiki/FrontPage%28zh%29}ï¼ä¸å½èªï¼
+\item \url{https://osdn.jp/projects/luatex-ja/wiki/FrontPage}ï¼æ¥æ¬èªï¼
+\item \url{https://osdn.jp/projects/luatex-ja/wiki/FrontPage%28en%29}ï¼è±èªï¼
+\item \url{https://osdn.jp/projects/luatex-ja/wiki/FrontPage%28zh%29}ï¼ä¸å½èªï¼
\end{itemize}
%
-%This project is hosted by SourceForge.JP.
-%æ¬ããã¸ã§ã¯ãã¯SourceForge.JPã®ãµã¼ãã¹ãç¨ãã¦éå¶ããã¦ããï¼
+%This project is hosted by OSDN.
+%æ¬ããã¸ã§ã¯ãã¯OSDNã®ãµã¼ãã¹ãç¨ãã¦éå¶ããã¦ããï¼
%\paragraph{Members}\
%\paragraph{éçºã¡ã³ãã¼}\
@@ -530,28 +566,26 @@ and \emph{Japanese fonts} for fonts used in \textbf{JAchar}.
%\subsection{Installation}
%\subsection{ã¤ã³ã¹ãã¼ã«}
-%To install the \LuaTeX-ja\ package, you will need the following engine and packages:
-%\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 (or later)
-\item \Pkg{everysel} v1.2 (or later)
-\item \Pkg{xunicode} v0.981~(2011/09/09)
+\item \LuaTeX\ beta-0.80.0 (or later)
+\item \Pkg{luaotfload} v2.5 (or later)
\item \Pkg{adobemapping} (Adobe cmap and pdfmapping files)
-\item \Pkg{everysel}
-%\item \emph{IPAex fonts(\url{http://ipafont.ipa.go.jp/})}
+\item \Pkg{everysel} (if you want to use \LuaTeX-ja with \LaTeXe)
+\item \Pkg{fontspec} v2.4
+%\item \emph{IPAex fonts} (\url{http://ipafont.ipa.go.jp/})
%\item \emph{IPAexãã©ã³ã(\url{http://ipafont.ipa.go.jp/})}
\end{itemize}
+%In summary, this version of \LuaTeX-ja no longer supports \TeX~Live~2014 (or older version).
+%<*ja>
+è¦ç´ããã¨ï¼æ¬ãã¼ã¸ã§ã³ã®\LuaTeX-jaã¯\TeX~Live~2014以åã§ã¯åä½ããªã\footnote{%
+ ãã£ã¨ãï¼èªåã§\LuaTeX ã®ãã¤ããªãSubversionãªãã¸ããªãããã«ããã¦ããã°è©±ã¯å¥ã§ããï¼
+}ï¼
+%
%<*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.}
-
-\medskip
-
-Now \LuaTeX-ja is available from
+Now \LuaTeX-ja is available from
CTAN (in the \texttt{macros/luatex/generic/luatexja} directory), and
the following distributions:
\begin{itemize}
@@ -560,19 +594,8 @@ the following distributions:
\item W32\TeX\ (in \texttt{luatexja.tar.xz})
\end{itemize}
IPAex fonts are also available in these distributions.
-
-If you are using \TeX~Live~2014, you can install \LuaTeX-ja
-from \TeX~Live manager (\texttt{tlmgr}):
-\begin{verbatim}
-$ tlmgr install luatexja
-\end{verbatim}
%
%<*ja>
-\emph{æ¬ãã¼ã¸ã§ã³ã®\LuaTeX-jaã¯\TeX~Live~2012以åã§ã¯åä½ããªãï¼}
-ããã¯ï¼\LuaTeX ã¨\Pkg{luaotfload}ã\TeX~Live~2013ã«ããã¦æ´æ°ããããã¨ã«ããï¼
-
-\medskip
-
ç¾å¨ï¼\LuaTeX-jaã¯CTAN (\texttt{macros/luatex/generic/luatexja})ã«åé²ããã¦ããä»ï¼
以ä¸ã®ãã£ã¹ããªãã¥ã¼ã·ã§ã³ã«ãåé²ããã¦ããï¼
\begin{itemize}
@@ -582,30 +605,39 @@ $ tlmgr install luatexja
\end{itemize}
ãããã®ãã£ã¹ããªãã¥ã¼ã·ã§ã³ã¯IPAexãã©ã³ããåé²ãã¦ããï¼
W32\TeX ã«ããã¦ã¯IPAexãã©ã³ã㯠\texttt{luatexja.tar.xz} å
ã«ããï¼
-
-ä¾ãã°\TeX~Live~2014ãå©ç¨ãã¦ãããªãï¼\LuaTeX-jaã¯\TeX~Live manager (\texttt{tlmgr})ã
-使ã£ã¦ã¤ã³ã¹ãã¼ã«ãããã¨ãã§ããï¼
-\begin{verbatim}
-$ tlmgr install luatexja
-\end{verbatim}
%
+% %<*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}
-$ git clone git://git.sourceforge.jp/gitroot/luatex-ja/luatexja.git
-\end{verbatim}
+\item Clone the Git repository:
+\begin{lstlisting}
+$ git clone git://git.osdn.jp/gitroot/luatex-ja/luatexja.git
+\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}.
+\url{http://git.osdn.jp/view?p=luatex-ja/luatexja.git;a=snapshot;h=HEAD;sf=tgz}.
\end{flushleft}
\end{itemize}
@@ -613,17 +645,17 @@ 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}
-$ git clone git://git.sourceforge.jp/gitroot/luatex-ja/luatexja.git
-\end{verbatim}
+\item Gitãªãã¸ããªãã¯ãã¼ã³ããï¼
+\begin{lstlisting}
+$ git clone git://git.osdn.jp/gitroot/luatex-ja/luatexja.git
+\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}.
+\url{http://git.osdn.jp/view?p=luatex-ja/luatexja.git;a=snapshot;h=HEAD;sf=tgz}.
\end{flushleft}
\end{itemize}
\texttt{master}ãã©ã³ãï¼å¾ã£ã¦ï¼CTANå
ã®ã¢ã¼ã«ã¤ããï¼ã¯ãã¾ã«ããæ´æ°ãããªããã¨ã«æ³¨æï¼
@@ -636,7 +668,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/}以ä¸ã®å
容ã ãã§ååï¼
%
@@ -652,17 +684,19 @@ 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.
+\emph{Do not forget The last line (processing \texttt{ltj-kinsoku\_make.tex})}.
+\texttt{*.\{dtx,ins\}} and \texttt{ltj-kinsoku\_make.tex} used here are not needed in regular use.
%
%<*ja>
+\emph{æå¾ã® \texttt{ltj-kinsoku\_make.tex} ã®å®è¡ãå¿ããªãããã«æ³¨æ}ï¼
ããã§ä½¿ç¨ãã \texttt{*.\{dtx,ins\}} 㨠\texttt{ltj-kinsoku\_make.tex} ã¯
é常ã®ä½¿ç¨ã«ããã£ã¦ã¯å¿
è¦ãªãï¼
%
@@ -677,7 +711,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}
+ ãããï¼
ã·ã³ããªãã¯ãªã³ã¯ãå©ç¨ã§ããç°å¢ã§ï¼ãã¤ãªãã¸ããªãç´æ¥åå¾ããã®ã§ããã°ï¼
ï¼æ´æ°ã容æã«ããããã«ï¼ã³ãã¼ã§ã¯ãªããªã³ã¯ãè²¼ããã¨ãå§ããï¼
%
@@ -685,16 +723,22 @@ Note that \texttt{*.\{dtx,ins\}} and \texttt{ltj-kinsoku\_make.tex} are not need
\item If \texttt{mktexlsr} is needed to update the file name database, make it so.
%
%<*ja>
-\item å¿
è¦ãããã°ï¼\texttt{mktexlsr}ãå®è¡ããï¼
+\item å¿
è¦ãããã°ï¼\texttt{mktexlsr} ãå®è¡ããï¼
%
\end{enumerate}
-%\subsection{Cautions}
-%\subsection{注æç¹}
-
+%<*en>
+\subsection{Cautions}
+For changes from \pTeX, see Subsection~\ref{ssec:chgptex}.
+%
+%<*ja>
+\subsection{注æç¹}
+\pTeX ããã®å¤æ´ç¹ã¨ãã¦ï¼\ref{ssec:chgptex}ç¯ãçèªããã®ãæã¾ããï¼
+ããã§ã¯ä¸è¬çãªæ³¨æç¹ãè¿°ã¹ãï¼
+%
\begin{itemize}
%<*en>
-\item The encoding of your source file must be UTF-8. No other
+\item The encoding of your source file must be UTF-8. Other
encodings, such as EUC-JP or Shift-JIS, are not supported.
%
%<*ja>
@@ -702,6 +746,26 @@ Note that \texttt{*.\{dtx,ins\}} and \texttt{ltj-kinsoku\_make.tex} are not need
å¾æ¥æ¥æ¬èªã®æåã³ã¼ãã¨ãã¦ç¨ãããã¦ããEUC-JPãShift-JISã¯ä½¿ç¨ã§ããªãï¼
%
%<*en>
+\item By default, \LuaTeX-ja uses Japanese fonts to typeset Greek and Cyrillic letters.
+ To change this behavior,
+ put \verb!\ltjsetparameter{jacharrange={-2,-3}}! in the preamble.
+ For the detailed description, see Subsection~\ref{ssec-setrange}.
+%
+%<*ja>
+\item
+æ¨æºã§ã¯ï¼\LuaTeX-jaã¯ã®ãªã·ã£æåãããªã«æåãåæãã©ã³ãã使ã£
+ ã¦çµãï¼ã®ãªã·ã£èªãªã©ãæ¬æ ¼çã«çµããªã©ãã®ç¶æ³ãæã¾ãããªãå ´åï¼
+ ããªã¢ã³ãã«ã«
+\begin{lstlisting}
+ \ltjsetparameter{jacharrange={-2,-3}}
+\end{lstlisting}
+ ãå
¥ããã¨
+ ä¸è¨ç¨®é¡ã®æåã¯æ¬§æãã©ã³ããç¨ãã¦çµã¾ããããã«ãªãï¼
+ ãªãï¼\P,~\S ã¨ãã£ãISO~8859-1ã®ä¸ä½é åã¨JIS~X~0208ã®å
±éé¨åã®æåã¯
+ æ¬ãã¼ã¸ã§ã³ããæ¨æºã§æ¬§ææ±ã(\textbf{ALchar})ã¨ãªã£ãï¼
+ 詳ãã説æã¯\ref{ssec-setrange}ç¯ãåç
§ãã¦ã»ããï¼
+%
+%<*en>
\item \LuaTeX-ja is very slower than \pTeX.
Generally speaking, LuaJIT\TeX\ processes \LuaTeX-ja
about 30\% faster than \LuaTeX, but not always.
@@ -712,9 +776,10 @@ about 30\% faster than \LuaTeX, but not always.
LuaJIT\TeX ãç¨ããã¨\LuaTeX ã®ã ããã1.3åã®é度ã§åãããã§ãããï¼
IPA mjææãªã©ã®å¤§ãããã©ã³ããç¨ããå ´åã«ã¯\LuaTeX ãããé
ããªããã¨ãããï¼
%
+
\item%
%<*en>
-\textbf{Note for MiK\TeX\ users}\quad
+\textbf{(Outdated) note for MiK\TeX\ users}\quad
\LuaTeX-ja requires that several CMap files%
\footnote{\texttt{UniJIS2004-UTF32-\{H,V\}} and \texttt{Adobe-Japan1-UCS2}.}
must be found from \LuaTeX.
@@ -727,22 +792,23 @@ so you will encounter an error like the following:
\LuaTeX-jaãåä½ããããã«ã¯ï¼\emph{å°å
¥ã»æ´æ°å¾ã®ååèµ·åæã«}
\texttt{UniJIS2004-UTF32-\{H,V\}}, \texttt{Adobe-Japan1-UCS2}ã¨ãã3ã¤ã®CMapã
\LuaTeX ã«ãã£ã¦è¦ã¤ãããããã¨ãå¿
è¦ã§ããï¼
-ãããMiK\TeX ã§ã¯ãã®ããã«ãªã£ã¦ããªãã®ã§ï¼æ¬¡ã®ã¨ã©ã¼ãçºçããã ããï¼
+ãããå¤ããã¼ã¸ã§ã³ã®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
-\href{http://sourceforge.jp/projects/luatex-ja/wiki/FrontPage%28en%29}{ the Project Wiki (English)}.
+\href{https://osdn.jp/projects/luatex-ja/wiki/FrontPage%28en%29}{ the Project Wiki (English)}.
This batch file creates a temporary directory, copy CMaps in it,
-run \LuaTeX-ja in this directory, and finally delete the temporary directory.
+run a test file which loads \LuaTeX-ja in this directory,
+and finally delete the temporary directory.
%
%<*ja>
ãã®ãããªå ´åã«ã¯ï¼
-\href{http://sourceforge.jp/projects/luatex-ja/wiki/FrontPage%28en%29}{%
+\href{https://osdn.jp/projects/luatex-ja/wiki/FrontPage%28en%29}{%
ããã¸ã§ã¯ãWikiè±èªçããããã¼ã¸}ä¸ã«æ¸ããã¦ããããããã¡ã¤ã«ã
å®è¡ãã¦æ¬²ããï¼ãã®ããããã¡ã¤ã«ã¯ï¼ä½æ¥ç¨ãã£ã¬ã¯ããªã«CMapéã
ã³ãã¼ãï¼ãã®ä¸ã§\LuaTeX-ja ã®ååèµ·åãè¡ãï¼ä½æ¥ç¨ãã£ã¬ã¯ããªãæ¶ãä½æ¥ããã¦ããï¼
@@ -756,9 +822,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}ã®ããã«ï¼æ¥æ¬èªçµçã®ããã®æä½éã®è¨å®ããªãããï¼
@@ -769,10 +835,14 @@ run \LuaTeX-ja in this directory, and finally delete the temporary directory.
\begin{tabular}{cccccc}
\toprule
\textbf{direction}&
-\textbf{classification}&\textbf{font name}&\bf `10\,pt'&\bf`7\,pt'&\bf`5\,pt'\\\midrule
+\textbf{classification}&\textbf{font name}&\bf ``10\,pt''&\bf``7\,pt''&\bf``5\,pt''\\\midrule
\smash{\raisebox{-1ex}{\emph{yoko} (horizontal)}}&
\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}&IPAex Mincho&\cs{tentmin}&\cs{seventmin}&\cs{fivetmin}\\
+&\emph{gothic}&IPAex Gothic&\cs{tentgt} &\cs{seventgt} &\cs{fivetgt}\\
\bottomrule
\end{tabular}
\end{center}
@@ -782,17 +852,21 @@ run \LuaTeX-ja in this directory, and finally delete the temporary directory.
\begin{center}\small
\begin{tabular}{cccccc}
\toprule
-&\emph{åä½}&\emph{ãã©ã³ã}&\bf `10\,pt'&\bf`7\,pt'&\bf`5\,pt'\\\midrule
-&
-ææä½&IPexææ&\cs{tenmin}&\cs{sevenmin}&\cs{fivemin}\\
+\emph{çµæ¹å}&\emph{åä½}&\emph{ãã©ã³ãå}&\bf ``10\,pt''&\bf``7\,pt''&\bf``5\,pt''\\\midrule
+\smash{\raisebox{-1ex}{横çµ}}&
+ææä½&IPAexææ&\cs{tenmin}&\cs{sevenmin}&\cs{fivemin}\\
&ã´ã·ãã¯ä½&IPAexã´ã·ãã¯&\cs{tengt} &\cs{sevengt} &\cs{fivegt}\\
+\midrule
+\smash{\raisebox{-1ex}{縦çµ}}&
+ææä½&IPAexææ&\cs{tentmin}&\cs{seventmin}&\cs{fivetmin}\\
+&ã´ã·ãã¯ä½&IPAexã´ã·ãã¯&\cs{tentgt} &\cs{seventgt} &\cs{fivetgt}\\
\bottomrule
\end{tabular}
\end{center}
%
\begin{itemize}
%<*en>
-\item With \texttt{luatexja.cfg}, one can use other fonts
+\item With \texttt{luatexja.cfg}, one can use other fonts
as ``default'' Japanese fonts (Subsection~\ref{ssec-cfg}).
%
%<*ja>
@@ -840,9 +914,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}):
@@ -854,13 +928,12 @@ plfonts.dtx} and \texttt{pldefs.ltx}):
\begin{itemize}
%<*en>
-\item The font encoding for Japanese fonts is \texttt{JY3}~(for horizontal direction).
-When vertical typesetting is supported by \LuaTeX-ja in the future, \texttt{JT3} will be used for vertical fonts.
+\item Font encodings for Japanese fonts is \texttt{JY3}~(for horizontal direction) and
+\texttt{JT3}~(for vertical direction).
%
%<*ja>
-\item åæãã©ã³ãã®ã¨ã³ã³ã¼ãã£ã³ã°ã¨ãã¦ã¯ï¼\texttt{JY3} ãç¨ããããï¼
-å°æ¥çã«ï¼\LuaTeX-jaã§ç¸¦çµããµãã¼ããããéã«ã¯ï¼\texttt{JT3}ã縦çµç¨ã¨ãã¦
-ç¨ããäºå®ã§ããï¼
+\item åæãã©ã³ãã®ã¨ã³ã³ã¼ãã£ã³ã°ã¨ãã¦ã¯ï¼æ¨ªçµç¨ã«ã¯ \texttt{JY3}ï¼ç¸¦çµç¨ã«ã¯\
+\texttt{JT3}ãç¨ããããï¼
%
%<*en>
@@ -917,9 +990,25 @@ Note that the bold series in both family are same as the medium series of \emph{
ã¾ãï¼ã©ã¡ãã®ãã¡ããªã§ãã¤ã¿ãªãã¯ä½ã»ã¹ã©ã³ãä½ã¯å®ç¾©ãããªãï¼
%
-
%\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>
@@ -929,7 +1018,9 @@ 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}\footnote{%
- \texttt{ltjarticle.cls},~\texttt{ltjbook.cls}, \texttt{ltjreport.cls}.
+ \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}.}.
%
@@ -940,7 +1031,8 @@ Okumura), namely, \Pkg{ltjclasses}\footnote{%
ç¾æç¹ã§ã¯ï¼\Pkg{jclasses}ï¼\pLaTeX ã®æ¨æºã¯ã©ã¹ï¼ã¨\Pkg{jsclasses}
ï¼å¥¥ææ´å½¦æ°ã«ããã\pLaTeXe æ°ããã¥ã¡ã³ãã¯ã©ã¹ãï¼ã«å¯¾å¿ãããã®ã¨ãã¦ï¼
\Pkg{ltjclasses}\footnote{%
- \texttt{ltjarticle.cls},~\texttt{ltjbook.cls}, \texttt{ltjreport.cls}.
+ 横çµç¨ã¯ \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}.}%
@@ -956,11 +1048,43 @@ Okumura), namely, \Pkg{ltjclasses}\footnote{%
è注ã¨ããã ããã¼ãã®é åºã¯\LaTeX éãã¨ããï¼ãã\pLaTeX ã®åºåé åºã好ã¿ãªãã°ï¼
\Pkg{stfloats}ããã±ã¼ã¸ãå©ç¨ãã¦
\begin{lstlisting}
- \usepackage{stfloats} \fnbelowfloat
+ \usepackage{stfloats}\fnbelowfloat
\end{lstlisting}
ã®ããã«ããã°ããï¼\Pkg{footmisc}ããã±ã¼ã¸ã \texttt{bottom}\ ãªãã·ã§ã³ãæå®ãã¦
èªã¿è¾¼ãã¨ããæ¹æ³ããããï¼ããã ã¨ããã ããã¼ãã¨è注ã®éãéãã¦ãã¾ãï¼
%
+%%% âã¯è±è¨³ããªã
+
+%<*en>
+\paragraph{\Pkg{geometry} package and classes for vertical writing}
+It is well-known that the \Pkg{geometry} package produces the following error, when classes for
+vertical writing is used:
+%
+%<*ja>
+\paragraph{縦çµã§ã®\Pkg{geometry}ããã±ã¼ã¸}
+\pLaTeX ã®ç¸¦çµç¨æ¨æºã¯ã©ã¹ãã¡ã¤ã«ã§ã¯\Pkg{geometry}ããã±ã¼ã¸ãå©ç¨ãããã¨ã¯åºæ¥ãï¼
+%
+\begin{lstlisting}
+! Incompatible direction list can't be unboxed.
+\@begindvi ->\unvbox \@begindvibox
+ \global \let \@begindvi \@empty
+\end{lstlisting}
+%<*en>
+Now, \LuaTeX-ja automatically applies the patch \Pkg{lltjp-geometry} to the
+\Pkg{geometry} package, when the direction of the document is \emph{tate} (vertical
+writing).
+This patch \Pkg{lltjp-geometry} also can be used in \pLaTeX; for the detail, please refer
+\url{lltjp-geometry.pdf}~(Japanese).
+%
+%<*ja>
+ã¨ãããããªã¨ã©ã¼ãçºçãããã¨ãç¥ããã¦ããï¼
+\LuaTeX-jaã§ã¯ï¼ \texttt{ltjtarticle.cls} ã¨ãã£ã縦çµã¯ã©ã¹ã®ä¸ã§ã
+\Pkg{geometry}ããã±ã¼ã¸ãå©ç¨ã§ããããã«ããã\Pkg{lltjp-geometry}ããã±ã¼ã¸ãèªåçã«å½ã¦ã¦ããï¼
+
+ãªãï¼\Pkg{lltjp-geometry}ããã±ã¼ã¸ã¯\pTeX ç³»åã§ãæ示çã«èªã¿è¾¼ããã¨ã«ãã£ã¦
+使ç¨å¯è½ã§ããï¼è©³ç´°ã注æäºé
㯠\url{lltjp-geometry.pdf} ãåç
§ã®ãã¨ï¼
+%
+
%\section{Changing Fonts}
%\section{ãã©ã³ãã®å¤æ´}
@@ -971,11 +1095,11 @@ Okumura), namely, \Pkg{ltjclasses}\footnote{%
\paragraph{plain \TeX}
%<*en>
To change Japanese fonts in plain \TeX, you must use the command
-\cs{jfont}. So please see Subsection~\ref{ssec-jfont}.
+\cs{jfont}~and~\cs{tfont}. So please see Subsection~\ref{ssec-jfont}.
%
%<*ja>
plain \TeX ã§åæãã©ã³ããå¤æ´ããããã«ã¯ï¼
-\pTeX ã®ããã« \cs{jfont} å½ä»¤ãç´æ¥ç¨ããï¼
+\pTeX ã®ããã« \cs{jfont} å½ä»¤ã \cs{tfont} å½ä»¤ãç´æ¥ç¨ããï¼
\ref{ssec-jfont}ç¯ãåç
§ï¼
%
@@ -984,18 +1108,16 @@ plain \TeX ã§åæãã©ã³ããå¤æ´ããããã«ã¯ï¼
For \LaTeXe, \LuaTeX-ja adopted most of the font selection system of \pLaTeXe\ (in \texttt{plfonts.dtx}).
%
%<*ja>
-\LaTeXe ã«ã¤ãã¦ã¯ï¼\LuaTeX-jaã§ã¯ãã©ã³ãé¸æã·ã¹ãã ã\pLaTeXe\ (\texttt{plfonts.dtx})
-ã®å¤§é¨åããã®ã¾ã¾æ¡ç¨ãã¦ããï¼
+\LaTeX ã§ç¨ããéã«ã¯ï¼\pLaTeXe\ (\texttt{plfonts.dtx})ç¨ã®ãã©ã³ãé¸ææ©æ§ã®å¤§é¨åãæµç¨ãã¦ããï¼
%
\begin{itemize}
%<*en>
-\item Commands \cs{fontfamily}, \cs{fontseries},
- \cs{fontshape}, and \cs{selectfont} can be used to change
+\item Commands \cs{fontfamily}, \cs{fontseries}, and \cs{fontshape} can be used to change
attributes of Japanese fonts.
%
%<*ja>
-\item \cs{fontfamily}, \cs{fontseries}, \cs{fontshape}, ããã¦
- \cs{selectfont} ãåæãã©ã³ãã®å±æ§ãå¤æ´ããããã«ä½¿ç¨ã§ããï¼
+\item åæãã©ã³ãã®å±æ§ãå¤æ´ããã«ã¯ï¼\cs{fontfamily}, \cs{fontseries}, \cs{fontshape} ã使ç¨ããï¼
+ ãã¡ããï¼ããããå®éã«åæ ãããã«ã¯æå㧠\cs{selectfont} ãå®è¡ããå¿
è¦ãããï¼
%
%<*en>
@@ -1037,7 +1159,7 @@ auto select&\cs{fontencoding}&\cs{fontfamily}&---&---&\cs{usefont}\\
\verb+\fontencoding{+\verb+}+ changes the encoding of alphabetic fonts
or Japanese fonts depending on the argument. For example,
\verb+\fontencoding{JY3}+ changes the encoding of Japanese fonts to
- \texttt{JY3},and \verb+\fontencoding{T1}+ changes the encoding of
+ \texttt{JY3}, and \verb+\fontencoding{T1}+ changes the encoding of
alphabetic fonts to \texttt{T1}.
\cs{fontfamily} also changes the current Japanese font family,
the current alphabetic font family, \emph{or both}.
@@ -1056,25 +1178,28 @@ auto select&\cs{fontencoding}&\cs{fontfamily}&---&---&\cs{usefont}\\
%<*en>
\item For defining a Japanese font family, use
\cs{DeclareKanjiFamily} instead of
- \cs{DeclareFontFamily}. However, in the present implementation,
- using \cs{DeclareFontFamily} doesn't cause any problem.
+ \cs{DeclareFontFamily}. (In previous version of \LuaTeX-ja,
+ using \cs{DeclareFontFamily} didn't cause any problem. But this no longer applies
+ the current version.)
\item Defining a Japanese font shape can be done by usual \cs{DeclareFontShape}:
%
%<*ja>
\item åæãã©ã³ããã¡ããªã®å®ç¾©ã«ã¯ \cs{DeclareFontFamily} ã®
- 代ããã« \cs{DeclareKanjiFamily} ãç¨ããï¼ãããï¼ç¾å¨ã®
- å®è£
ã§ã¯ \cs{DeclareFontFamily} ãç¨ãã¦ãåé¡ã¯çããªãï¼
+ 代ããã« \cs{DeclareKanjiFamily} ãç¨ããï¼ä»¥åã®
+ å®è£
ã§ã¯ \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>
@@ -1141,17 +1266,17 @@ this chapter. For the method, please see Subsection~\ref{ssec-math}.
\label{ssec-fontspec}
%<*en>
To coexist with the \Pkg{fontspec} package, it is needed to load
-\Pkg{luatexja-fontspec} package in the preamble, as follows:
+the \Pkg{luatexja-fontspec} package in the preamble, as follows:
\begin{quote}
\ttfamily \textbackslash usepackage[]\{luatexja-fontspec\}
\end{quote}
This \Pkg{luatexja-fontspec} package
automatically loads \Pkg{luatexja} and \Pkg{fontspec}
-package, if needed.
+packages, if needed.
%
%<*ja>
\Pkg{fontspec}ããã±ã¼ã¸ã¨åæ§ã®æ©è½ãåæãã©ã³ãã«å¯¾ãã¦ãç¨ããå ´åï¼
-\Pkg{luatexja-fontspec}ããã±ã¼ã¸ãèªã¿è¾¼ãï¼
+\Pkg{luatexja-fontspec}ããã±ã¼ã¸ãèªã¿è¾¼ãã°ããï¼
\begin{quote}
\ttfamily \textbackslash usepackage[]\{luatexja-fontspec\}
\end{quote}
@@ -1160,7 +1285,7 @@ package, if needed.
%
%<*en>
-In \Pkg{luatexja-fontspec} package, the following seven~commands are defined as
+In the \Pkg{luatexja-fontspec} package, the following seven~commands are defined as
counterparts of original commands in the \Pkg{fontspec} package:
%
%<*ja>
@@ -1227,6 +1352,8 @@ widths. Also note that kerning information in a font is not used
(that is, \texttt{kern} feature is set off) by default in these seven (or~eight) commands.
This is because of the compatibility with previous versions of \LuaTeX-ja
(see \ref{para-kern}).
+
+Below is an example of \cs{jfontspec}.
%
%<*ja>
\Pkg{luatexja-fontspec} ããã±ã¼ã¸ã®ãªãã·ã§ã³ã¯ä»¥ä¸ã®éãã§ããï¼
@@ -1247,13 +1374,13 @@ This is because of the compatibility with previous versions of \LuaTeX-ja
ã¾ãï¼ãããã®åæç¨ã®ã³ãã³ãã§ã¯ãã©ã³ãå
ã®ãã¢ã«ã¼ãã³ã°æ
å ±ã¯æ¨æºã§ã¯ä½¿ç¨ãããªãï¼
è¨ãæããã° \texttt{kern} featureã¯æ¨æºã§ã¯ç¡å¹åã¨ãªã£ã¦ããï¼
ããã¯ä»¥åã®ãã¼ã¸ã§ã³ã®\LuaTeX-jaã¨ã®äºææ§ã®ããã§ããï¼\ref{para-kern}ç¯ãåç
§ï¼ï¼
+
+以ä¸ã«\cs{jfontspec}ã®ä½¿ç¨ä¾ã示ãï¼
%
\begin{LTXexample}[width=0.4\textwidth]
-\fontspec[Numbers=OldStyle]{LMSans10-Regular}
\jfontspec[CJKShape=NLC]{KozMinPr6N-Regular}
-JIS~X~0213:2004âè¾»
-
+JIS~X~0213:2004âè¾»\par
\jfontspec[CJKShape=JIS1990]{KozMinPr6N-Regular}
JIS~X~0208:1990âè¾»
\end{LTXexample}
@@ -1263,34 +1390,75 @@ JIS~X~0208:1990âè¾»
\label{ssec-preset}
%<*en>
-To use standard Japanese font settings easily, one can load \Pkg{luatexja-preset}
+To use standard Japanese font settings easily, one can load the \Pkg{luatexja-preset}
package with several options. This package provides functions in a part of
-\Pkg{japanese-otf} package and a part of \Pkg{PXchfon} package by Takayuki Yato,
-and loads \Pkg{luatexja-fontspec}, hence \Pkg{fontspec} internally.
-
-If you need to pass some options to \Pkg{fontspec}, load \Pkg{fontspec} manually
-before \Pkg{luatexja-preset}:
+\Pkg{japanese-otf} package and a part of \Pkg{PXchfon} package by Takayuki Yato.
%
%<*ja>
ãã使ããã¦ããåæãã©ã³ãè¨å®ãä¸è¡ã§æå®ã§ããããã«ããã®ã
\Pkg{luatexja-preset}ããã±ã¼ã¸ã§ããï¼ãã®ããã±ã¼ã¸ã¯ï¼
\Pkg{otf}ããã±ã¼ã¸ã®ä¸é¨æ©è½ã¨å
«ç»å´ä¹æ°ã«ãã\Pkg{PXchfon}ããã±ã¼ã¸ã®ä¸é¨æ©è½ã¨ã
-åããããããªæ ¼å¥½ããã¦ããï¼å
é¨ã§\Pkg{luatexja-fontspec}ï¼å¾ã£ã¦
-\Pkg{fontspec}ãèªã¿è¾¼ãã§ããï¼
+åããããããªæ ¼å¥½ããã¦ããï¼
+%
+
+%\paragraph{General options}
+%\paragraph{ä¸è¬çãªãªãã·ã§ã³}
+\begin{cslist}[before*=]
+
+\item[fontspec]
+%<*en>
+With this option, Japanese fonts are selected using functionality of
+the \Pkg{luatexja-fontspec} package. This means that the \Pkg{fontspec} package is
+ automatically loaded by this package.
+\emph{This option is enabled by default.}
+
+If you need to pass some options to \Pkg{fontspec}, load \Pkg{fontspec} manually
+before \Pkg{luatexja-preset}:
+%
+%<*ja>
+\Pkg{luatexja-fontspec}ããã±ã¼ã¸ã®æ©è½ãç¨ãã¦åæãã©ã³ããé¸æããï¼
+ããã¯ï¼\Pkg{fontspec}ããã±ã¼ã¸ãèªåã§èªã¿è¾¼ã¾ãããã¨ãæå³ããï¼
+\emph{ãã®ãªãã·ã§ã³ã¯æ¨æºã§æå¹ã«ãªã£ã¦ããï¼}
ãã\Pkg{fontspec}ããã±ã¼ã¸ã«ä½ããã®ãªãã·ã§ã³ã渡ãå¿
è¦ããã
\footnote{ä¾ãã°ï¼æ°å¼ãã©ã³ãã¾ã§ç½®æããã¦ãã¾ãï¼\cs{mathit}ã«ãã£ã¦ã®ãªã·ã£æåã®
æä½å¤§æåãåºãªããªãï¼ãªã©ï¼}å ´åã¯ï¼
次ã®ããã«\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{cslist}[]
+\item[nfssonly]
+%<*en>
+With this option, selecting Japanese fonts won't be performed using the functionality of
+ the \Pkg{fontspec} package, but only standard NFSS2 (hence without
+ \cs{addjfontfeatures} etc.).
+This option is ignored when \Pkg{luatexja-fontspec} package is loaded.
+
+Note that the \Pkg{fontspec} can coexist with the option as the following:
+\begin{lstlisting}
+\usepackage{fontspec}
+\usepackage[hiragino-pron,nfssonly]{luatexja-preset}
+\end{lstlisting}
+In this case, one can use \cs{setmainfont} etc.\ to select \emph{alphabetic} fonts.
+%
+%<*ja>
+\LaTeX æ¨æºã®ãã©ã³ãé¸ææ©æ§(NFSS2)ãç¨ãã¦
+\texttt{ltjpm}ï¼ææï¼ï¼\texttt{ltjpg}ï¼ã´ã·ãã¯ï¼ï¼ããã«å¾ã«è¿°ã¹ã \texttt{deluxe} ãªã
+ ã·ã§ã³ãæå®ãããå ´åã«ã¯ \texttt{ltjpmg}ï¼ä¸¸ã´ã·ãã¯ï¼ã¨ãã
+3ã¤ã®åæãã©ã³ããã¡ããªãå®ç¾©ãï¼ããããç¨ããï¼
+
+欧æãã©ã³ãã®æå®ã§\Pkg{fontspec}ããã±ã¼ã¸ãèªã¿è¾¼ãã§ããå ´åã§ã
+\begin{lstlisting}
+\usepackage{fontspec}
+\usepackage[hiragino-pron,nfssonly]{luatexja-preset}
+\end{lstlisting}
+ã®ããã«ãã®ãªãã·ã§ã³ãæå®ãããã¨ã¯å¯è½ã§ããï¼ä¸æ¹ï¼
+ããã±ã¼ã¸èªã¿è¾¼ã¿æã«æ¢ã«\Pkg{luatexja-fontspec}ããã±ã¼ã¸ãèªã¿è¾¼ã¾ãã¦
+ ããå ´å㯠\texttt{nfssonly} ãªãã·ã§ã³ã¯ç¡è¦ãããï¼
+%
\item[nodeluxe]
%<*en>
@@ -1300,9 +1468,9 @@ This means that \verb+\mcfamily\bfseries+, \verb+\gtfamily\bfseries+ and
\emph{This option is enabled by default.}
%
%<*ja>
-\LaTeXe ç°å¢ä¸ã§ã®æ¨æºè¨å®ã®ããã«ï¼ææä½ã»ã´ã·ãã¯ä½ãå1ã¦ã§ã¤ãã§ä½¿ç¨ããï¼
+\LaTeXe ç°å¢ä¸ã®æ¨æºè¨å®ã®ããã«ï¼ææä½ã»ã´ã·ãã¯ä½ãå1ã¦ã§ã¤ãã§ä½¿ç¨ããï¼
ããå
·ä½çã«è¨ãã¨ï¼ãã®è¨å®ã®ä¸ã§ã¯
-\ \verb+\mcfamily\bfseries+, \verb+\gtfamily\bfseries+,
+\ \verb+\mcfamily\bfseries+, \verb+\gtfamily\bfseries+,
\verb+\gtfamily\mdseries+ã¯ã¿ãªåããã©ã³ãã¨ãªãï¼
\emph{ãã®ãªãã·ã§ã³ã¯æ¨æºã§æå¹ã«ãªã£ã¦ããï¼}
%
@@ -1314,23 +1482,32 @@ Use \textit{mincho} with two weights (medium~and~bold),
because \textit{rounded gothic} is called \textit{maru gothic} (丸ã´ã·ãã¯) in Japanese.}.
The heavy weight of \textit{gothic} can be used by ``changing the family'' \cs{gtebfamily},
or \verb+\textgteb{...}+.
-This is because \Pkg{fontspec} package can handle only medium (\cs{mdseries}) and
+This is because the \Pkg{fontspec} package can handle only medium (\cs{mdseries}) and
bold (\cs{bfseries}).
%
%<*ja>
ææä½2ã¦ã§ã¤ãã»ã´ã·ãã¯ä½3ã¦ã§ã¤ãã¨ï¼
丸ã´ã·ãã¯ä½ (\cs{mgfamily}, \verb+\textmg{...}+) ã使ç¨å¯è½ã¨ããï¼
-ã´ã·ãã¯ä½ã¯ç´°åã»å¤ªåã»æ¥µå¤ªã®3ã¦ã§ã¤ãããããï¼
-極太ã´ã·ãã¯ä½ã¯ãã¡ããªã®åãæ¿ã (\cs{gtebfamily}, \verb+\textgteb{...}+) %
-ã§å®ç¾ãã¦ããï¼\Pkg{fontspec}ã§ã¯é常 (\cs{mdseries}) ã¨å¤ªå (\cs{bfseries}) ããæ±ããªãããã«
-ãã®ãããªä¸éå端ãªå®è£
ã«ãªã£ã¦ããï¼
+ã´ã·ãã¯ä½ã¯ä¸åã»å¤ªåã»æ¥µå¤ªã®3ã¦ã§ã¤ãããããï¼
+極太ã´ã·ãã¯ä½ã使ãå ´åï¼
+\begin{itemize}
+ \item \cs{gtebfamily}, \verb+\textgteb{...}+
+ \item \cs{ebseries} ï¼å¨å²ãã´ã·ãã¯ä½ã®ã¨ãï¼\texttt{nfssonly} ãªãã·ã§ã³æå®æã®ã¿ï¼
+\end{itemize}
+ã®ãããããç¨ããï¼æ¨æºã§ \cs{ebseries} ãæºåããã¦ããªãã®ã¯ï¼ãã¼ã¸ã§ã³ãå¤ã
+\Pkg{fontspec}ã§ã¯ä¸å(\cs{mdseries})ã¨å¤ªå(\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} ã§ã«ãç¨ä»®åã使ç¨å¯è½ã¨ãªãï¼
+%<*ja>
+横çµã»ç¸¦çµå°ç¨ä»®åãç¨ããï¼ã¾ãï¼\cs{rubyfamily} ã§ã«ãç¨ä»®åã使ç¨å¯è½ã¨ãªã\footnote{%
+ \cs{rubyfamily}ã¨ã¯ããã¤ã¤ï¼å®éã«ã¯ãã©ã³ããã¡ããªãåãæ¿ããã®ã§ã¯ãªãï¼é常ã§ã¯
+ font featureã®è¿½å ï¼\texttt{nfssonly} æå®æã«ã¯ã·ã§ã¤ãã \texttt{rb} ã«åãæ¿ãï¼ï¼
+}ï¼
+%
\item[bold]
%Substitute bold series of \textit{gothic} for bold series of \textit{mincho}.
%ãææã®å¤ªåããã´ã·ãã¯ä½ã®å¤ªåã«ãã£ã¦ä»£æ¿ããï¼
@@ -1361,17 +1538,19 @@ We didn't taken account of when both \texttt{90jis} and \texttt{jis2004} are sp
åæã«æå®ãããå ´åã®åä½ã«ã¤ãã¦ã¯å
¨ãèæ
®ãã¦ããªãï¼
%
-
-\newpage
%\paragraph{Presets for multi weight}
%\paragraph{å¤ã¦ã§ã¤ãç¨ããªã»ããã®ä¸è¦§}
%<*en>
Besides \texttt{morisawa-pro}~and~\texttt{morisawa-pr6n} presets,
fonts are specified by font name, not by file name.
+In following tables, starred fonts (e.g.~KozGo\dots-Regular) are used for medium series of \textit{gothic},
+\emph{if and only if \texttt{deluxe} option is specified}.
%
%<*ja>
\texttt{morisawa-pro}, \texttt{morisawa-pr6n}以å¤ã¯ãã©ã³ãã®æå®ã¯
ï¼ãã¡ã¤ã«åã§ãªãï¼ãã©ã³ãåã§è¡ãããï¼
+以ä¸ã®è¡¨ã«ããã¦ï¼*\,ã¤ãã®ãã©ã³ã(e,g,~KozGo\dots-Regular)ã¯ï¼\emph{\texttt{deluxe}ãªãã·ã§ã³æå®æã«}
+ã´ã·ãã¯ä½ä¸åã¨ãã¦ç¨ãããããã®ã示ãã¦ããï¼
%
\begin{cslist}[style=standard]
\item[kozuka-pro] Kozuka Pro (Adobe-Japan1-4) fonts.
@@ -1414,17 +1593,6 @@ There is not rounded gothic family in Kozuka fonts.
\end{tabular}
\end{center}
-%<*en>
-In above table, starred fonts (KozGo\dots-Regular) are used for medium series of \textit{gothic},
-\emph{if and only if \texttt{deluxe} option is specified}.
-%
-%<*ja>
-ä¸ã®è¡¨ã«ããã¦ï¼*ã¤ãã®ãã©ã³ã(KozGo\dots-Regular)ã¯ï¼\emph{\texttt{deluxe}ãªãã·ã§ã³éæå®æã«}
-ã´ã·ãã¯ä½ç´°åã¨ãã¦ç¨ããããï¼
-%
-
-%\medskip
-
\item[hiragino-pro] Hiragino Pro (Adobe-Japan1-5) fonts.
% \\*[-\dimexpr\medskipamount+\baselineskip\relax]
\item[hiragino-pron] Hiragino ProN (Adobe-Japan1-5, JIS04-savvy) fonts.
@@ -1461,7 +1629,7 @@ Std/StdNãã©ã³ãã§ããï¼ãã®ä»ã¯Adobe-Japan1-5対å¿ã§ããï¼
\midrule
%\textit{rounded gothic}
%\gt 丸ã´ã·ãã¯
-&&Hiragino~Maru~Gothic~ProN~W4&Hiragino~Maru~Gothic~ProN~W4\\
+&&Hiragino~Maru~Gothic~Pro~W4&Hiragino~Maru~Gothic~ProN~W4\\
\bottomrule
\end{tabular}
\end{center}
@@ -1496,7 +1664,6 @@ Std/StdNãã©ã³ãã§ããï¼ãã®ä»ã¯Adobe-Japan1-5対å¿ã§ããï¼
\end{tabular}
\end{center}
-\newpage
\item[yu-win] Yu fonts bundled with Windows~8.1.
% \\*[-\dimexpr\medskipamount+\baselineskip\relax]
\item[yu-osx] Yu fonts bundled with OSX~Mavericks.
@@ -1527,18 +1694,46 @@ Std/StdNãã©ã³ãã§ããï¼ãã®ä»ã¯Adobe-Japan1-5対å¿ã§ããï¼
\end{tabular}
\end{center}
-\end{cslist}
+ \item[moga-mobo] MogaMincho, MogaGothic, and MoboGothic.
+%These fonts can be downloaded from\\\hfill \url{http://yozvox.web.fc2.com/}.
+%ãããã®ãã©ã³ã㯠\url{http://yozvox.web.fc2.com/} ãããã¦ã³ãã¼ãã§ããï¼
+
+\begin{center}\small
+\begin{tabular}{clll}
+\toprule
+\bf family&\bf series&\bf default, \texttt{90jis}~option&\bf \texttt{jis2004} option\\
+\midrule
+ &medium&Moga90Mincho&MogaMincho\\
+%\smash{\raisebox{1.5ex}{\textit{mincho}}}%
+%\smash{\raisebox{1.5ex}{\gt ææ}}%
+ &bold&Moga90Mincho Bold&MogaMincho Bold\\
+\midrule
+ &&Moga90Gothic&MogaGothic\\
+ &\smash{\raisebox{1.5ex}{medium}}
+ &Moga90Gothic&MogaGothic\\
+\cmidrule(l){2-4}
+%\textit{gothic}%
+%\gt ã´ã·ãã¯
+ &bold&Moga90Gothic Bold&MogaGothic Bold\\
+ &heavy&Moga90Gothic Bold&MogaGothic Bold\\
+\midrule
+%\textit{rounded gothic}
+%\gt 丸ã´ã·ãã¯
+&&Mobo90Gothic&MoboGothic\\
+\bottomrule
+\end{tabular}
+\end{center}
+
+
+\end{cslist}
%\paragraph{Presets for single weight}
%\paragraph{åã¦ã§ã¤ãç¨ããªã»ããä¸è¦§}
%<*en>
Next, we describe settings for using only single weight.
-In four settings below, we use same fonts for medium and bold (and heavy) weights.
-(Hence \verb+\mcfamily\bfseries+ and \verb+\mcfamily\mdseries+ yields same Japanese fonts,
-even if \texttt{deluxe} option is also specified).
%
%<*ja>
-次ã«ï¼åã¦ã§ã¤ãç¨ã®è¨å®ãè¿°ã¹ãï¼ãã®4è¨å®ã§ã¯ãç´°åãã太åãã®åºå¥ã¯ãªãï¼
-ã¾ãï¼ä¸¸ã´ã·ãã¯ä½ã¯ã´ã·ãã¯ä½ã¨åããã©ã³ããç¨ããï¼
+次ã«ï¼åã¦ã§ã¤ãç¨ã®è¨å®ãè¿°ã¹ãï¼ãã®4è¨å®ã§ã¯
+ææä½å¤ªåã»ä¸¸ã´ã·ãã¯ä½ã¯ã´ã·ãã¯ä½ã¨åããã©ã³ããç¨ããããï¼
%
\par\nobreak\medskip
{\centering\small
@@ -1561,7 +1756,6 @@ even if \texttt{deluxe} option is also specified).
\bottomrule
\end{tabular}\par\medskip}
-
%\paragraph{Using HG fonts}
%\paragraph{HGãã©ã³ãã®å©ç¨}
%<*en>
@@ -1584,7 +1778,7 @@ We can use HG~fonts bundled with Microsoft~Office for realizing multiple weights
\multicolumn{3}{c}{HG Mincho E}\\\midrule
\bf Gothic medium\\
~~without \texttt{deluxe}
-&IPAG othic&IPAex Gothic&MS Gothic\\
+&IPA Gothic&IPAex Gothic&MS Gothic\\
~~with {\tt jis2004}
&IPA Gothic&IPAex Gothic&MS Gothic\\
\cmidrule(lr){1-4}
@@ -1598,11 +1792,11 @@ We can use HG~fonts bundled with Microsoft~Office for realizing multiple weights
\multicolumn{3}{c}{HG Maru Gothic PRO}\\
%
%<*ja>
-\gtfamily ææä½ç´°å
+\gtfamily ææä½ä¸å
&IPAææ&IPAexææ&MSææ\\\midrule
\gtfamily ææä½å¤ªå&
\multicolumn{3}{c}{HGææE}\\\midrule
-\gtfamily ã´ã·ãã¯ä½ç´°å\\
+\gtfamily ã´ã·ãã¯ä½ä¸å\\
ãåã¦ã§ã¤ãæ
&IPAã´ã·ãã¯&IPAexã´ã·ãã¯&MSã´ã·ãã¯\\
ã{\tt jis2004}æå®æ
@@ -1647,16 +1841,15 @@ are internally specified by:
Under \pLaTeX, \Pkg{japanese-otf} package (developed by Shuzaburo Saito) is
used for typesetting characters which is in Adobe-Japan1-6 CID but not
in JIS~X~0208. Since this package is widely used, \LuaTeX-ja
-supports some of functions in \Pkg{japanese-otf} package.
-If you want to use these functions, load \Pkg{luatexja-otf} package.
+supports some of functions in the \Pkg{japanese-otf} package,
+as an external package \Pkg{luatexja-otf}.
%
%<*ja>
\subsection{\cs{CID}, \cs{UTF}ã¨\Pkg{otf}ããã±ã¼ã¸ã®ãã¯ã}
\pLaTeX ã§ã¯ï¼JIS~X~0208ã«ãªãAdobe-Japan1-6ã®æåãåºåããããã«ï¼
é½è¤ä¿®ä¸éæ°ã«ãã\Pkg{otf}ããã±ã¼ã¸ãç¨ãããã¦ããï¼ãã®ããã±ã¼ã¸ã¯
åºãç¨ãããã¦ããããï¼\LuaTeX-jaã«ããã¦ã\Pkg{otf}ããã±ã¼ã¸ã®æ©è½ã®
-ä¸é¨ããµãã¼ããã¦ããï¼ãããã®æ©è½ãç¨ããããã«ã¯\Pkg{luatexja-otf}ããã±ã¼ã¸
-ãèªã¿è¾¼ãã°ããï¼
+ä¸é¨ãï¼\Pkg{luatexja-otf}ã¨ããå¥ã®ããã±ã¼ã¸ã¨ãã¦ï¼å®è£
ããï¼
%
\begin{LTXexample}
@@ -1673,8 +1866,8 @@ If you want to use these functions, load \Pkg{luatexja-otf} package.
%<*ja>
\Pkg{otf}ããã±ã¼ã¸ã§ã¯ï¼ãããã次ã®ãããªãªãã·ã§ã³ãåå¨ããï¼
\begin{cslist}
-\item[deluxe] ææä½ã»ã´ã·ãã¯ä½å2ã¦ã§ã¤ãã¨ï¼ä¸¸ã´ã·ãã¯ä½ãæ±ããããã«ãªãï¼
-\item[expert] ä»®åã横çµå°ç¨ã®ãã®ã«åãæ¿ããï¼ã«ãç¨ä»®åã
+\item[deluxe] ææä½ã»ã´ã·ãã¯ä½å3ã¦ã§ã¤ãã¨ï¼ä¸¸ã´ã·ãã¯ä½ãæ±ããããã«ãªãï¼
+\item[expert] ä»®åã横çµã»ç¸¦çµå°ç¨ã®ãã®ã«åãæ¿ããï¼ã«ãç¨ä»®åã
\ \cs{rubyfamily}\ ã«ãã£ã¦æ±ããããã«ãªãï¼
\item[bold] ã´ã·ãã¯ä½ãæ¨æºã§å¤ªãã¦ã§ã¤ãã®ãã®ã«è¨å®ããï¼
\end{cslist}
@@ -1695,8 +1888,8 @@ If you want to use these functions, load \Pkg{luatexja-otf} package.
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.
+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}
@@ -1717,7 +1910,7 @@ non-embedded fonts Ryumin-Light~and~GothicBBB-Medium as default Japanese fonts
%<*ja>
\LuaTeX ããè¦ããä½ç½®ã« \texttt{luatexja.cfg} ãããã°ï¼\LuaTeX-jaã¯ãããèªã¿è¾¼ãï¼
ãã®ãã¡ã¤ã«ãç¨ããã¨plain~\TeX, \LaTeXe ã«ãããæ¨æºåæãã©ã³ãã
-IPAexææã»IPAexã´ã·ãã¯ããå¤æ´ãããã¨ãdã§ããï¼
+IPAexææã»IPAexã´ã·ãã¯ããå¤æ´ãããã¨ãã§ããï¼
ãããï¼åºæ¬çã«ã¯\emph{æç« ä¸ã§ç¨ãããã©ã³ãã¯ï¼ä¾ãã° \Pkg{luatexja-preset} ãªã©ã§ï¼
ææ¸ã½ã¼ã¹å
ã§æå®ããã¹ã}ã§ããï¼ãã® \texttt{luatexja.cfg} ã¯ï¼
ãIPAexãã©ã³ããã¤ã³ã¹ãã¼ã«ã§ããªãããªã©ï¼IPAexãã©ã³ãã使ç¨ã§ããªãå ´åã«ã®ã¿
@@ -1742,11 +1935,11 @@ Ryumin-Light, GothicBBB-Mediumã¨ããååã®éåè¾¼ãã©ã³ããç¨ã
%
-%\section{Changing Parameters}
+%\section{Changing Internal Parameters}
%\section{ãã©ã¡ã¼ã¿ã®å¤æ´}
%<*en>
-There are many parameters in \LuaTeX-ja. And due to the behavior of \LuaTeX,
+There are many internal parameters in \LuaTeX-ja. And due to the behavior of \LuaTeX,
most of them are not stored as internal register of \TeX, but as an
original storage system in \LuaTeX-ja. Hence, to assign or acquire those
parameters, you have to use commands \cs{ltjsetparameter} and
@@ -1759,8 +1952,8 @@ parameters, you have to use commands \cs{ltjsetparameter} and
ç¨ããï¼
%
-%\subsection{Editing the Range of \textbf{JAchar}s}
-%\subsection{\textbf{JAchar}ã®ç¯å²ã®è¨å®}
+%\subsection{Range of \textbf{JAchar}s}
+%\subsection{\textbf{JAchar}ã®ç¯å²}
\label{ssec-setrange}
%<*en>
@@ -1779,6 +1972,7 @@ and the character ``æ¼¢'' to the character range~100.
\begin{lstlisting}
\ltjdefcharrange{100}{"20000-"2FFFF,`æ¼¢}
\end{lstlisting}
+
%<*en>
A character can belong to only one character range.
For example, whole SIP belong to the range~4 in the default setting of \LuaTeX-ja,
@@ -1787,18 +1981,18 @@ removed from the range~4.
%
%<*ja>
åæåã¯ãã ä¸ã¤ã®æåç¯å²ã«æå±ãããã¨ãã§ããï¼
-ä¾ãã°ï¼SIPã¯å
¨ã¦\LuaTeX-jaã®ããã©ã«ãã§ã¯4çªã®æåç¯å²ã«
-å±ãã¦ãããï¼ä¸è¨ã®æå®ãè¡ãã°SIPã¯100çªã«å±ãããã«ãªãï¼4çªããã¯é¤ãããï¼
+ä¾ãã°ï¼SIPå
ã®æåã¯å
¨ã¦\LuaTeX-jaã®ããã©ã«ãã§ã¯4çªã®æåç¯å²ã«
+å±ãã¦ãããï¼ä¸è¨ã®æå®ãè¡ãã°SIPå
ã®æåã¯100çªã«å±ãããã«ãªãï¼4çªããã¯é¤ãããï¼
%
%<*en>
-The distinction between \textbf{ALchar} and \textbf{JAchar} is done for character ranges.
+The distinction between \textbf{ALchar} and \textbf{JAchar} is performed by character ranges.
This can be edited by setting the \textsf{jacharrange} parameter.
-For example, this is just the default setting of \LuaTeX-ja, and
+For example, the code below is just the default setting of \LuaTeX-ja, and
it sets
\begin{itemize}
- \item a character which belongs character ranges 1,~4, and~5 is \textbf{ALchar},
- \item a character which belongs character ranges 2,~3, 6, 7, and~8 is \textbf{JAchar}.
+ \item a character which belongs character ranges 1,~4, 5, and~8 is \textbf{ALchar},
+ \item a character which belongs character ranges 2,~3, 6, and~7 is \textbf{JAchar}.
\end{itemize}
%
%<*ja>
@@ -1806,13 +2000,13 @@ it sets
ããã¯\textsf{jacharrange}ãã©ã¡ã¼ã¿ã«ãã£ã¦ç·¨éã§ããï¼
ä¾ãã°ï¼ä»¥ä¸ã¯\LuaTeX-jaã®åæè¨å®ã§ããï¼æ¬¡ã®å
容ãè¨å®ãã¦ããï¼
\begin{itemize}
- \item 1çªï¼4çªï¼5çªã®æåç¯å²ã«å±ããæåã¯\textbf{ALchar}ï¼
- \item 2çªï¼3çªï¼6çªï¼7çªï¼8çªã®æåç¯å²ã«å±ããæåã¯\textbf{JAchar}ï¼
+ \item 1çªï¼4çªï¼5çªï¼8çªã®æåç¯å²ã«å±ããæåã¯\textbf{ALchar}ï¼
+ \item 2çªï¼3çªï¼6çªï¼7çªã®æåç¯å²ã«å±ããæåã¯\textbf{JAchar}ï¼
\end{itemize}
%
-\begin{verbatim}
-\ltjsetparameter{jacharrange={-1, +2, +3, -4, -5, +6, +7, +8}}
-\end{verbatim}
+\begin{lstlisting}
+\ltjsetparameter{jacharrange={-1, +2, +3, -4, -5, +6, +7, -8}}
+\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
@@ -1826,12 +2020,12 @@ and positive integer $+n$ means that ``\dots\ is a \textbf{JAchar}''.
%
%<*en>
-\paragraph{Default setting}
+\paragraph{Default character ranges}
\LuaTeX-ja predefines eight character ranges for convenience. They are
determined from the following data:
%
%<*ja>
-\paragraph{åæè¨å®}
+\paragraph{æåç¯å²ã®åæå¤}
\LuaTeX-jaã§ã¯8ã¤ã®æåç¯å²ãäºãå®ç¾©ãã¦ããï¼
ãããã¯ä»¥ä¸ã®ãã¼ã¿ã«åºã¥ãã¦æ±ºå®ãã¦ããï¼
%
@@ -1849,24 +2043,26 @@ Now we describe these eight ranges. The superscript ``J'' or ``A'' after the
number shows whether each character in the range is treated as
\textbf{JAchar}s or not by default. These settings are similar to the
\texttt{prefercjk} settings defined in \texttt{PXbase} bundle.
-Any characters above \texttt{U+0080} which does not belong to
+Any characters equal to or above \texttt{U+0080} which does not belong to
these eight ranges belongs to the character range~217.
%
%<*ja>
以ä¸ã§ã¯ããã8ã¤ã®æåç¯å²ã«ã¤ãã¦è¨è¿°ããï¼æ·»åã®ã¢ã«ãã¡ããããJããAã
-ã¯ï¼ãã®æåç¯å²å
ã®æåã\textbf{JAchar}ã\textbf{ALchar}ãã表ãã¦ããï¼ãããã®è¨å®ã¯
-\texttt{PXbase}ãã³ãã«ã§å®ç¾©ããã¦ãã\texttt{prefercjk}ã¨é¡ä¼¼ã®ãã®ã§ããï¼
+ã¯ï¼ãã®æåç¯å²å
ã®æåã\textbf{JAchar}ã\textbf{ALchar}ãã表ãã¦ããï¼ãããã®åæè¨å®ã¯
+\texttt{PXbase}ãã³ãã«ã§å®ç¾©ããã¦ãã\texttt{prefercjk}ã¨é¡ä¼¼ã®ãã®ã§ãããï¼
+8ããããã©ã³ã使ç¨æã®ãã©ãã«ãé²ãããã« \texttt{U+0080}--\texttt{U+00FF} ã®æåã¯å
¨é¨
+\textbf{ALchar}ã¨ãã¦ããï¼
ãªãï¼\texttt{U+0080} 以éã§ããã8ã¤ã®æåç¯å²ã«å±ããªãæåã¯ï¼217çªã®æåç¯å²ã«å±ãããã¨ã«ãªã£ã¦ããï¼
%
\begin{description}
%<*en>
-\item[Range~8${}^{\text{J}}$] The intersection of the upper half of ISO~8859-1
+\item[Range~8${}^{\text{A}}$] 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:
%
%<*ja>
-\item[ç¯å²8${}^{\text{J}}$] ISO~8859-1ã®ä¸ä½é åï¼ã©ãã³1è£å©ï¼ã¨
+\item[ç¯å²8${}^{\text{A}}$] ISO~8859-1ã®ä¸ä½é åï¼ã©ãã³1è£å©ï¼ã¨
JIS~X~0208ã®å
±éé¨åï¼ãã®æåç¯å²ã¯
以ä¸ã®æåã§æ§æãããï¼
%
@@ -1900,18 +2096,19 @@ This range consists of the following Unicode ranges, \emph{except characters in
\item \texttt{U+0180}--\texttt{U+024F}: Latin Extended-B
\item \texttt{U+0250}--\texttt{U+02AF}: IPA Extensions
\item \texttt{U+02B0}--\texttt{U+02FF}: Spacing Modifier Letters
-\item \texttt{U+0300}--\texttt{U+036F}: \\\null\hfill Combining Diacritical Marks
-\item \texttt{U+1E00}--\texttt{U+1EFF}: \\\null\hfill Latin Extended Additional
-\par\
+%\par\
+\item \texttt{U+0300}--\texttt{U+036F}: \\*\null\hfill Combining Diacritical Marks
+\item \texttt{U+1E00}--\texttt{U+1EFF}: \\*\null\hfill Latin Extended Additional
+%\par\
\end{itemize}
\end{multicols}
%<*en>
-\item[Range~2${}^{\text{J}}$] Greek and Cyrillic letters. JIS~X~0208 (hence most of Japanese
+\item[Range~2${}^{\text{\kern.1emJ}}$] Greek and Cyrillic letters. JIS~X~0208 (hence most of Japanese
fonts) has some of these characters.
%
%<*ja>
-\item[ç¯å²2${}^{\text{J}}$] ã®ãªã·ã£æåã¨ããªã«æåï¼JIS~X~0208ï¼ãããã£ã¦ã»ã¨ãã©ã®
- åæãã©ã³ãï¼ã¯ãããã®æåãæã¤ï¼
+\item[ç¯å²2${}^{\text{\kern.1emJ}}$] ã®ãªã·ã£æåã¨ããªã«æåï¼JIS~X~0208ï¼ãããã£ã¦ã»ã¨ãã©ã®
+ åæãã©ã³ãï¼ã«ã¯ï¼ãããã®æåã®ä¸é¨ãå«ã¾ãã¦ããï¼
%
\begin{multicols}{2}
\begin{itemize}
@@ -1922,11 +2119,11 @@ This range consists of the following Unicode ranges, \emph{except characters in
\end{itemize}
\end{multicols}
%<*en>
-\item[Range~3${}^{\text{J}}$] Punctuations and Miscellaneous symbols. The block list is
+\item[Range~3${}^{\text{\kern.1emJ}}$] Punctuations and Miscellaneous symbols. The block list is
indicated in Table~\ref{table-rng3}.
%
%<*ja>
-\item[ç¯å²3${}^{\text{J}}$] å¥èªç¹ã¨è¨å·é¡ï¼ãããã¯ã®ãªã¹ãã¯è¡¨\ref{table-rng3}%
+\item[ç¯å²3${}^{\text{\kern.1emJ}}$] å¥èªç¹ã¨è¨å·é¡ï¼ãããã¯ã®ãªã¹ãã¯è¡¨\ref{table-rng3}%
ã«ç¤ºãã¦ããï¼
%
\begin{table}[!tb]
@@ -1976,8 +2173,8 @@ This range consists of the following Unicode ranges, \emph{except characters in
\end{lstlisting}
%\item[Range~5${}^{\text{A}}$] Surrogates and Supplementary Private Use Areas.
%\item[ç¯å²5${}^{\text{A}}$] 代ç¨ç¬¦å·ã¨è£å©ç§ç¨é åï¼
-%\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}ã«ç¤ºãï¼
+%\item[Range~6${}^{\text{\kern.1emJ}}$] Characters used in Japanese. The block list is indicated in Table~\ref{table-rng6}.
+%\item[ç¯å²6${}^{\text{\kern.1emJ}}$] æ¥æ¬èªã§ç¨ããããæåï¼ãããã¯ã®ãªã¹ãã¯è¡¨\ref{table-rng6}ã«ç¤ºãï¼
\begin{table}[!tb]
%\caption{Unicode blocks in predefined character range~6.}\medskip
%\caption{æåç¯å²6ã«æå®ããã¦ããUnicodeãããã¯ï¼}
@@ -2005,11 +2202,11 @@ This range consists of the following Unicode ranges, \emph{except characters in
\end{tabular}
\end{table}
%<*en>
-\item[Range~7${}^{\text{J}}$] Characters used in CJK languages, but not included in Adobe-Japan1-6.
+\item[Range~7${}^{\text{\kern.1emJ}}$] Characters used in CJK languages, but not included in Adobe-Japan1-6.
The block list is indicated in Table~\ref{table-rng7}.
%
%<*ja>
-\item[ç¯å²7${}^{\text{J}}$] CJKè¨èªã§ç¨ããããæåã®ãã¡ï¼Adobe-Japan1-6ã«
+\item[ç¯å²7${}^{\text{\kern.1emJ}}$] CJKè¨èªã§ç¨ããããæåã®ãã¡ï¼Adobe-Japan1-6ã«
å«ã¾ãã¦ããªããã®ï¼
ãããã¯ã®ãªã¹ãã¯è¡¨\ref{table-rng7}ã«ç¤ºãï¼
%
@@ -2036,6 +2233,53 @@ The block list is indicated in Table~\ref{table-rng7}.
\end{table}
\end{description}
+%<*en>
+\paragraph{Notes on \texttt{U+0080}--\texttt{U+00FF}}
+You should treat characters in \\texttt{U+0080}--\texttt{U+00FF} as \textbf{ALchar},
+when you use traditional 8-bit fonts, such as the \Pkg{textcomp} package or the
+\Pkg{marvosym} package.
+
+For example, the codepoint \cs{textparagraph} which is provided by the \Pkg{textcomp}
+package is 182. This codepoint corresponds \P\ (\text{U+00B6}) in Unicode.
+Similarly, \cs{Frowny} which is provided by the \Pkg{marvosym} package has
+the same codepoint as \S\ (\text{U+00A7}).
+Hence, as previous versions of \LuaTeX-ja, if these characters are treated as
+\text{JAchar}s, then \cs{textparagraph} produces ``ltjjachar`¶'' (in a Japanese font),
+and \cs{Frowny} produces ``\ltjjachar`§'' (in a Japanese font).
+
+To avoid such situations, the default setting of \LuaTeX-ja is changed in this release
+so that all characters \texttt{U+0080}--\texttt{U+00FF} are treated as \textbf{ALchar}.
+If you want to output a character as \textbf{ALchar}/\textbf{JAchar} regardless the range
+setting, you can use \cs{ltjalchar}/\cs{ltjjachar} respectively.
+\begin{LTXexample}[width=0.3\textwidth]
+\gtfamily
+¶ï¼\ltjalchar`¶ï¼\ltjjachar`¶\\ % default: ALchar
+αï¼\ltjalchar`αï¼\ltjjachar`α % default: JAchar
+\end{LTXexample}
+%
+%<*ja>
+\paragraph{\texttt{U+0080}--\texttt{U+00FF}ã«ã¤ãã¦ã®æ³¨æ}
+\LuaTeX-jaã§ï¼\Pkg{textcomp}ããã±ã¼ã¸ã\Pkg{marvosym}ããã±ã¼ã¸çï¼Unicodeãã©ã³ãã§ãªã
+ä¼çµ±çãª8ããããã©ã³ããç¨ããå ´åã«ã¯æ³¨æãå¿
è¦ã§ããï¼
+
+ä¾ãã°ï¼\Pkg{textcomp}ããã±ã¼ã¸ã®æä¾ãã \cs{textparagraph} ã¯ï¼
+符å·ä½ç½®ã182ï¼ã¤ã¾ã \texttt{0xB6} ã§ããï¼Unicodeã§ã¯ãã®ç¬¦å·ä½ç½®ã§ã¯\P\ (\text{U+00B6}) ã«å¯¾å¿ããï¼
+ã¾ãï¼\Pkg{marvosym}ããã±ã¼ã¸ã®æä¾ãã \cs{Frowny} ãï¼ç¬¦å·ä½ç½®ã¯167ï¼ã¤ã¾ãUnicodeã«ããã
+\S\ (\text{U+00A7}) ã¨åã符å·ä½ç½®ã«ããï¼
+å³ã¡ï¼ä»¥åã®ãã¼ã¸ã§ã³ã®ããã«ï¼ãåç¯ã®æåç¯å²8å
ã®æåã¯\textbf{JAchar}ãã¨ããè¨å®ã§
+ãã£ãã¨ããã¨ï¼ä¸è¨ã® \cs{textparagraph} ã¯åæãã©ã³ãã§ã\ltjjachar`¶ããåºåãï¼
+ã¾ã \cs{Frowny} ã¯åæãã©ã³ãã§ã\ltjjachar`§ããåºåãããã¨ã«ãªãï¼
+ãã®ãããªäºæ
ãé¿ããããã«ï¼\emph{æ¬ãã¼ã¸ã§ã³ãã㯠\texttt{U+0080}--\texttt{U+00FF} ã®ç¯å²ã®
+æåã¯å
¨ã¦\textbf{ALchar}ã¨ãªãããã«åæè¨å®ãå¤æ´}ãã¦ããï¼
+
+ãªãï¼æåç¯å²ã®è¨å®ã«é¢ãããæåã\textbf{ALchar}, \textbf{JAchar}ã§åºåãããå ´åã«ã¯ï¼
+ãããã \cs{ltjalchar},~\cs{ltjjachar} ã«è©²å½æåã®æåã³ã¼ãã渡ãã°ããï¼
+\begin{LTXexample}[width=0.3\textwidth]
+\gtfamily
+¶ï¼\ltjalchar`¶ï¼\ltjjachar`¶\\ % default: ALchar
+αï¼\ltjalchar`αï¼\ltjjachar`α % default: JAchar
+\end{LTXexample}
+%
%\subsection{\Param{kanjiskip} and \Param{xkanjiskip}}
%\subsection{\Param{kanjiskip}ã¨\Param{xkanjiskip}}
@@ -2046,11 +2290,11 @@ The block list is indicated in Table~\ref{table-rng7}.
\begin{itemize}
%<*en>
\item Glues/kerns specified in JFM. If \cs{inhibitglue} is issued
- around a Japanese character, this glue will not be inserted at the
+ around a \textbf{JAchar}, this glue will not be inserted at the
place.
%
%<*ja>
-\item JFMã§æå®ãããã°ã«ã¼ï¼ã«ã¼ã³ï¼ãã \cs{inhibitglue} ãåææåã®å¨ãã§
+\item JFMã§æå®ãããã°ã«ã¼ï¼ã«ã¼ã³ï¼ãã \cs{inhibitglue} ã\textbf{JAchar}ã®å¨ãã§
çºè¡ããã¦ããã°ï¼ãã®ã°ã«ã¼ã¯æ¿å
¥ãããªãï¼
%
%<*en>
@@ -2167,9 +2411,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}).
%
@@ -2198,18 +2442,42 @@ 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>
åæãã©ã³ãã¨æ¬§æãã©ã³ããåãããããã«ã¯ï¼æã
ã©ã¡ããã®ãã¼ã¹ã©ã¤ã³ã®ç§»åã
-å¿
è¦ã«ãªãï¼\pTeX ã§ã¯ãã㯠\cs{ybaselineshift} ãè¨å®ãããã¨ã§
+å¿
è¦ã«ãªãï¼\pTeX ã§ã¯ãã㯠\cs{ybaselineshift}ï¼ã¾ãã¯\cs{tbaselineshift}ï¼ãè¨å®ãããã¨ã§
ãªããã¦ããï¼\textbf{ALchar}ã®ãã¼ã¹ã©ã¤ã³ããã®åã ãä¸ããï¼ï¼ãããï¼æ¥æ¬èªã主ã§ã¯ãªã
ææ¸ã«å¯¾ãã¦ã¯ï¼æ¬§æãã©ã³ãã§ã¯ãªãåæãã©ã³ãã®ãã¼ã¹ã©ã¤ã³ã移åããæ¹ãããï¼
-ãã®ããï¼\LuaTeX-jaã§ã¯
-欧æãã©ã³ãã®ãã¼ã¹ã©ã¤ã³ã®ã·ããéï¼\Param{yalbaselineshift}ãã©ã¡ã¼ã¿ï¼
-ã¨åæãã©ã³ãã®ãã¼ã¹ã©ã¤ã³ã®ã·ããéï¼\Param{yjabaselineshift}ãã©ã¡ã¼ã¿ï¼ã
-ç¬ç«ã«è¨å®ã§ããããã«ãªã£ã¦ããï¼
+ãã®ããï¼\LuaTeX-jaã§ã¯æ¬§æãã©ã³ãã®ãã¼ã¹ã©ã¤ã³ã®ã·ããé
+ã¨åæãã©ã³ãã®ãã¼ã¹ã©ã¤ã³ã®ã·ããéãç¬ç«ã«è¨å®ã§ããããã«ãªã£ã¦ããï¼
+\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>
@@ -2226,12 +2494,12 @@ Here the horizontal line in the below example is the baseline of a line.
%<*en>
There is an interesting side-effect: characters in different size can be
-``vertically aligned center'' in a line, by setting two parameters appropriately.
+vertically aligned center in a line, by setting two parameters appropriately.
The following is an example (beware the value is not well tuned):
%
%<*ja>
ãã®æ©è½ã«ã¯é¢ç½ã使ãæ¹ãããï¼2ã¤ã®ãã©ã¡ã¼ã¿ãé©åã«è¨å®ãããã¨ã§ï¼ãµã¤ãºã®
-ç°ãªãæåããä¸å¿ç·ãã«æãããã¨ãã§ããï¼
+ç°ãªãæåãä¸å¿ç·ã«æãããã¨ãã§ããï¼
以ä¸ã¯ä¸ã¤ã®ä¾ã§ããï¼å¤ã¯ãã¾ã調æ´ããã¦ããªããã¨ã«æ³¨æï¼ï¼
%
\begin{LTXexample}
@@ -2244,34 +2512,32 @@ xyzæ¼¢å
\end{LTXexample}
%<*en>
-Note that setting a positive value to \Param{yalbaselineshift} does not
-increase the depth of \textbf{ALchar}, as shown below.
-This is because \Param{yalbaselineshift} is implemented by setting \verb+yoffset+
-field of a glyph node, and this does not increase the depth of the glyph.
-This problem does not apply for \Param{yjabaselineshift}, since
-\Param{yjabaselineshift} uses a different implementation method.
-%
-%<*ja>
-ãªãï¼\Param{yalbaselineshift}ãã©ã¡ã¼ã¿ã«æ£ã®å¤ãæå®ãã¦ãï¼
-ä¸ã®ä¾ã®ããã«\textbf{ALchar}ã®æ·±ãã¯å¢å ããªããã¨ã«æ³¨æï¼
-ããã¯ï¼\Param{yalbaselineshift} ã¯glyph~nodeã®\verb+yoffset+ã使ã£ã¦
-å®è£
ãã¦ããããã§ããï¼
-\Param{yjabaselineshift}ãã©ã¡ã¼ã¿ã¯å¥ã®æ¹æ³ã使ã£ã¦å®è£
ãã¦ããã®ã§ï¼
-ãã®ãããªåé¡ã¯èµ·ãããªãï¼
-%
-\begin{LTXexample}[width=.3\textwidth]
-\leavevmode\fboxsep=0pt
- \ltjsetparameter{yjabaselineshift=0pt,
- yalbaselineshift=0pt}
-\vrule width 105pt height 0.4pt depth 0pt \hskip-95pt
-\fbox{\ltjsetparameter{yalbaselineshift=10pt}ãããxyz}
-\fbox{\ltjsetparameter{yalbaselineshift=-10pt}ãããxyz}\\
-\vrule width 105pt height 0.4pt depth 0pt \hskip-95pt
-\fbox{\ltjsetparameter{yjabaselineshift=10pt}ãããxyz}
-\fbox{\ltjsetparameter{yjabaselineshift=-10pt}ãããxyz}
-\end{LTXexample}
-
+Note that setting positive \Param{yalbaselineshift}~or~\Param{talbaselineshift}
+parameters does not increase the depth of one-letter \emph{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 \texttt{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 a syllable comprises just
+ one letter whose \cs{lpcode}~and~\cs{rpcode} are both non-zero.
+\end{itemize}
+This problem does not apply for \Param{yjabaselineshift}~nor~\Param{tjabaselineshift},
+becuse a \emph{JAchar} is encapsulated by a horizontal box if needed.
+%
+%<*ja>
+ãªãï¼ä»¥ä¸ã®å ´åã«ã¯1æåã®\textbf{ALchar}ãããªããé³ç¯ãã®æ·±ãã¯å¢å ããªããã¨ã«æ³¨æï¼
+\begin{itemize}
+ \item \Param{yalbaselineshift},~\Param{talbaselineshift}ãã©ã¡ã¼ã¿ãæ£ã«ãªã£ã¦ããï¼
+ \item ãé³ç¯ããæ§æããå¯ä¸ã®æå$p$ã®
+å·¦ä½ç½ã¸ã®çªåºé(\cs{lpcode})ï¼å³ä½ç½ã¸ã®çªåºé(\cs{rpcode})ãã©ã¡ããéé¶ã§ããï¼
+\end{itemize}
+\emph{JAchar}ã¯å¿
è¦ã«å¿ãã¦1æåãã¤ããã¯ã¹ã«ã«ãã»ã«åãããããï¼
+\Param{yjabaselineshift},~\Param{tjabaselineshift}ãã©ã¡ã¼ã¿ã«ã¤ãã¦ã¯ãã®ãããªåé¡ã¯èµ·ãããªãï¼
+%
%<*ja>
\paragraph{æ°å¼ã«ãããæåï¼\pTeX ã¨ã®éã}
@@ -2298,10 +2564,10 @@ This problem does not apply for \Param{yjabaselineshift}, since
\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}&
@@ -2321,6 +2587,49 @@ $\Phi\vdash F(x)\ \hbox{for all}\ x\in A$
\end{table}
%
+%<*en>
+\subsection{\emph{kinsoku} parameters and OpenType features}
+Among parameters which related to Japanese word-wrapping process (\emph{kinsoku shori}),
+\begin{quote}
+ \Param{jaxspmode},~\Param{alxspmode}, \Param{prebreakpenalty},
+ \Param{postbreakpenalty}~and~\Param{kcatcode}
+\end{quote}
+are stored by each character codes. ...
+
+For example, a fullwidth katakana ``ã¢'' on line~10 in the below input is replaced to
+its halfwidth variant ``ï½±'', by \verb+hwid+ feature.
+However, the penalty inserted after it is 10 which is the \Param{postbreakpenalty} of
+``ã¢'', not 20.
+%
+%<*ja>
+\subsection{ç¦åå¦çé¢é£ãã©ã¡ã¼ã¿ã¨font feature}
+ç¦åå¦çã \Param{kanjiskip}, \Param{xkanjiskip} ã®æ¿å
¥ã«é¢é£ãããã©ã¡ã¼ã¿ã®ãã¡
+\begin{quote}
+ \Param{jaxspmode},~\Param{alxspmode}, \Param{prebreakpenalty},
+ \Param{postbreakpenalty}, \Param{kcatcode}
+\end{quote}
+ã¯ï¼æåã³ã¼ããã¨ã«è¨å®ããéã§ããï¼
+
+\Pkg{fontspec}ããã±ã¼ã¸ã使ãï¼\ref{ssec-fontspec}ç¯ï¼å ´åãªã©ï¼
+å種ã®OpenType featureãé©ç¨ãããã¨ãããã¨æããï¼å段è½ã«è¿°ã¹ããã©ã¡ã¼ã¿é¡ã¯ï¼
+\emph{OpenType featureã®é©ç¨åã®æåã³ã¼ãã«ãã£ã¦å¤å®ãããï¼}
+ä¾ãã°ï¼ä»¥ä¸ã®ä¾ã«ããã¦10è¡ç®ã®ãã¢ãã¯ï¼\verb+hwid+ featureã®é©ç¨ã«ããåè§ã«ã¿ã«ãã®ãï½±ã
+ã«ç½®ãæããï¼ãããï¼ãã®ç´å¾ã«æ¿å
¥ããã \Param{postbreakpenalty}ã¯ï¼ç½®æåã®ãã¢ãã«å¯¾ããå¤10ã§ããï¼
+%
+
+\begin{LTXexample}[width=0.2\textwidth]
+\ltjsetparameter{postbreakpenalty={`ã¢, 10}}
+\ltjsetparameter{postbreakpenalty={`ï½±, 20}}
+
+\newcommand\showpostpena[1]{%
+ \leavevmode\setbox0=\hbox{#1\hbox{}}%
+ \unhbox0\setbox0=\lastbox\the\lastpenalty}
+
+\showpostpena{ã¢},
+\showpostpena{ï½±},
+{\addjfontfeatures{CharacterWidth=Half}\showpostpena{ã¢}}
+\end{LTXexample}
+
\clearpage
%\part{Reference}
%\part{ãªãã¡ã¬ã³ã¹}
@@ -2328,6 +2637,7 @@ $\Phi\vdash F(x)\ \hbox{for all}\ x\in A$
\suppressfloats[t]
%<*ja>
\section{\LuaTeX-jaã«ããã \cs{catcode}}
+\label{sec-catcode}
\subsection{äºåç¥èï¼\pTeX ã¨\upTeX ã«ããã \cs{kcatcode}}
\pTeXï¼\upTeX ã«ããã¦ã¯ï¼åææåãå¶å¾¡ç¶´å
ã§å©ç¨ã§ãããã©ãã
㯠\cs{kcatcode} ã®å¤ã«ãã£ã¦æ±ºå®ãããã®ã§ãã£ãï¼
@@ -2335,6 +2645,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.
@@ -2408,7 +2719,7 @@ and \LuaTeX-ja can control these four kinds separately:
\begin{itemize}
\item
\emph{Distinction between \textbf{JAchar} or \textbf{ALchar}}
-is controlled by using the character range, see Subsection~\ref{ssec-setrange}.
+is controlled by the character range, see Subsection~\ref{ssec-setrange}.
\item
\emph{Whether the character can be used in a control word}
is controlled by setting \cs{catcode} to 11~(enabled) or 12~(disabled), as usual.
@@ -2416,7 +2727,7 @@ is controlled by setting \cs{catcode} to 11~(enabled) or 12~(disabled), as usual
\emph{Whether \Param{jcharwidowpenalty} can be inserted before the character}
is controlled by the lowermost bit of the \Param{kcatcode} parameter.
\item
-\emph{Ignoring linebreak after a \textbf{JAchar}} is always ignored.
+\emph{Linebreak after a \textbf{JAchar}} does not produce a space.
\end{itemize}
%
%<*ja>
@@ -2430,25 +2741,26 @@ is controlled by the lowermost bit of the \Param{kcatcode} parameter.
\LuaTeX èªèº«ã® \cs{catcode} ã§ãã
\item[\Param{jcharwidowpenalty}ãæ¿å
¥å¯ã]
\Param{kcatcode}ãã©ã¡ã¼ã¿ã®æä¸ä½ããã
- \item[ç´å¾ã®æ¹è¡ã®ç¡è¦]
-æ¥æ¬èªããæ³å®ãã¦ããªãã®ã§\textbf{JAchar}ã«ã¤ãã¦ã¯ä¸å¾æå¹
+ \item[ç´å¾ã®æ¹è¡]
+æ¥æ¬èªããæ³å®ãã¦ããªãã®ã§ï¼\textbf{JAchar}ç´å¾ã®æ¹è¡ã§åè§ã¹ãã¼ã¹ãæ¿å
¥ããããã¨ã¯ãªãï¼
\end{description}
%
%<*en>
-Default setting of \cs{catcode} of \LuaTeX\ can be found
-in \texttt{luatex-unicode-letters.tex},
-which is based on \texttt{unicode-letters.tex} (for \XeTeX).
+Default setting of \cs{catcode} of Unicode characters are located in
+\begin{description}
+ \item[plain \LuaTeX] \texttt{luatex-unicode-letters.tex}, which is based on \texttt{unicode-letters.tex}
+(for \XeTeX).
+ \item[\LuaLaTeX] now included in \LaTeX\ kernel as~\texttt{unicode-letters.def}.
+\end{description}
However, the default setting of \cs{catcode} differs
between \XeTeX\ and \LuaTeX, by the following reasons:
\begin{itemize}
- \item \texttt{luatex-unicode-letters.tex} is based on old \texttt{unicode-letters.tex}.
- \item The latter half of \texttt{unicode-letters.tex} sets
-\cs{catcode} of Kanji and kana characters to 11,
-via setting \cs{XeTeXcharclass}.
+ \item (plain format) \texttt{luatex-unicode-letters.tex} is based on old \texttt{unicode-letters.tex}.
+ \item The latter half of \texttt{unicode-letters.tex}~and~\texttt{unicode-letters.def}
+sets\cs{catcode} of Kanji and kana characters to 11, via setting \cs{XeTeXcharclass}.
-However, this latter half is simply omitted in
-\texttt{luatex-unicode-letters.tex}, hence
+However, this latter half does not exist (plain case), or not executed (\LaTeX~case) in \LuaTeX, hence
\cs{catcode} of Kanji and kana characters remains 12 in \LuaTeX.
\end{itemize}
In other words, Kanji nor kana characters cannot be used in
@@ -2463,21 +2775,25 @@ for \LuaTeX, \emph{to match the \cs{catcode} setting with that of \XeTeX.}
%<*ja>
ãã¤ãã£ãã«Unicodeå
¨é¨ã®æåãæ±ãã\XeTeX ã\LuaTeX ã§ã¯ï¼
æåãå¶å¾¡ç¶´å
ã§ä½¿ç¨ã§ãããã¯é常ã®æ¬§ææåã¨åãã \cs{catcode}
-ã§æå®ãããã¨ã¨ãªãï¼\XeTeX ã«ããã \cs{catcode} ã®åæè¨å®ã¯\
-\texttt{unicode-letters.tex} ä¸ã«è¨è¿°ããã¦ããï¼\LuaTeX ã§ã¯ããã
+ã§æå®ãããã¨ã¨ãªãï¼plain \XeTeX ã«ããã \cs{catcode} ã®åæè¨å®ã¯\
+\texttt{unicode-letters.tex} ä¸ã«è¨è¿°ããã¦ããï¼plain \LuaTeX ã§ã¯ããã
å
ã«ãã \texttt{luatex-unicode-letters.tex} ãç¨ãã¦ããï¼
+\LaTeX ã§ã¯ \cs{catcode} ã®è¨å®ã¯ã«ã¼ãã«ã« \texttt{unicode-letters.def} ã¨ãã¦çµ±åããï¼
+ãã®ãã¡ã¤ã«ã\XeLaTeX, \LuaLaTeX ã®ä¸¡æ¹ãç¨ãã¦ããï¼
+
ã ãï¼\XeTeX ã«ããã \cs{catcode} ã®åæè¨å®ã¨
\LuaTeX ã«ãããããã¯ä¸è´ãã¦ããªãï¼
\begin{itemize}
\item \texttt{luatex-unicode-letters.tex} ã®å
ã«ãªã£ã\
\texttt{unicode-letters.tex} ãå¤ã
- \item \texttt{unicode-letters.tex} ã®å¾åé¨ã§ã¯
+ \item \texttt{unicode-letters.tex} å¾åé¨ã \texttt{unicode-letters.def} å¾åé¨ã§ã¯
\cs{XeTeXcharclass} ã®è¨å®ãè¡ãªã£ã¦ããï¼
ããã«ãã£ã¦æ¼¢åãä»®åã® \cs{catcode} ã11ã«è¨å®ããã¦ããï¼
ãããï¼\texttt{luatex-unicode-letters.tex} ã§ã¯ãã®ãå¾åé¨ãã
-ã¾ããã¨çç¥ããã¦ããï¼æ¼¢åãä»®åã® \cs{catcode} ã¯12ã®ã¾ã¾ï¼
+ã¾ããã¨çç¥ããã¦ããï¼ã¾ã\LuaLaTeX ã§ã \texttt{unicode-letters.def} å¾åé¨ã¯å®è¡ãããª
+ ãï¼å¾ã£ã¦æ¼¢åãä»®åã® \cs{catcode} ã¯12ã®ã¾ã¾ã«ãªã£ã¦ããï¼
\end{itemize}
è¨ãæããã¨ï¼\LuaTeX ã®åæç¶æ
ã§ã¯æ¼¢åãä»®åãå¶å¾¡ç¶´å
ã«
使ç¨ãããã¨ã¯ã§ããªãï¼
@@ -2502,7 +2818,7 @@ for \LuaTeX, \emph{to match the \cs{catcode} setting with that of \XeTeX.}
%&\bf row&\bf col.&\bf \pTeX&\bf \upTeX&\bf\LuaTeX-ja\\
%&\bf åº&\bf ç¹&\bf \pTeX&\bf \upTeX&\fontseries{b}\selectfont\LuaTeX-ja\\
\midrule
-\D 3000&1&1&N&N&Y\\
+%\D 3000&1&1&N&N&Y\\
\D 30FB&1&6&N&Y&N\\
\D 309B&1&11&N&Y&N\\
\D 309C&1&12&N&Y&N\\
@@ -2510,16 +2826,18 @@ for \LuaTeX, \emph{to match the \cs{catcode} setting with that of \XeTeX.}
\D FF3E&1&16&N&N&Y\\
\D FFE3&1&17&N&N&Y\\
\D FF3F&1&18&N&N&Y\\
-\D 30FD&1&19&N&Y&Y\\
-\D 30FE&1&20&N&Y&Y\\
-\D 309D&1&21&N&Y&Y\\
-\D 309E&1&22&N&Y&Y\\
+%\D 30FD&1&19&N&Y&Y\\
+%\D 30FE&1&20&N&Y&Y\\
+%\D 309D&1&21&N&Y&Y\\
+%\D 309E&1&22&N&Y&Y\\
\D 3003&1&23&N&N&Y\\
\D 4EDD&1&24&N&Y&Y\\
\D 3005&1&25&N&N&Y\\
\D 3006&1&26&N&N&Y\\
\D 3007&1&27&N&N&Y\\
\D 30FC&1&28&N&Y&Y\\
+\D FF0F&1&31&N&N&Y\\
+\D FF3C&1&32&N&N&Y\\
\bottomrule
\end{tabular}\qquad
\begin{tabular}{cccccc}
@@ -2527,8 +2845,6 @@ for \LuaTeX, \emph{to match the \cs{catcode} setting with that of \XeTeX.}
%&\bf row&\bf col.&\bf \pTeX&\bf \upTeX&\bf\LuaTeX-ja\\
%&\bf åº&\bf ç¹&\bf \pTeX&\bf \upTeX&\fontseries{b}\selectfont\LuaTeX-ja\\
\midrule
-\D FF0F&1&31&N&N&Y\\
-\D FF3C&1&32&N&N&Y\\
\D FF5C&1&35&N&N&Y\\
\D FF0B&1&60&N&N&Y\\
\D FF1D&1&65&N&N&Y\\
@@ -2546,7 +2862,6 @@ for \LuaTeX, \emph{to match the \cs{catcode} setting with that of \XeTeX.}
%\multicolumn{3}{c}{$\vphantom{\D 3000}$\hbox{}Cyrillic letters (row 7)}&N&N&Y\\
%\multicolumn{3}{c}{$\vphantom{\D 3000}$\hbox{}ã®ãªã·ã£æåï¼6åºï¼}&Y&N&Y\\
%\multicolumn{3}{c}{$\vphantom{\D 3000}$\hbox{}ããªã«æåï¼7åºï¼}&N&N&Y\\
-$\vphantom{\D 3000}$\\
\bottomrule
\end{tabular}\hss}\par
\end{table}
@@ -2558,8 +2873,6 @@ which can be used in a control word differ in \pTeX, in \upTeX,~and~in \LuaTeX-j
Table~\ref{table-kcat-diff} shows the difference.
Except for four characters ``ã»'',~``ã'', ``ã'',~``ã '',
\LuaTeX-ja admits more characters in a control word than \upTeX.
-\emph{Note that the ideographic space~\texttt{U+3000} can be used
-in a control word in \LuaTeX-ja.}
Difference becomes larger, if we consider
non-kanji JIS~X~0213 characters.
@@ -2573,12 +2886,597 @@ For the detail, see \url{https://github.com/h-kitagawa/kct}.
ç°ãªã£ã¦ããã¨ããã ããè¼ããã¨ï¼è¡¨\ref{table-kcat-diff}ã®ããã«ãªãï¼
ãã»ããããããããã ããé¤ãã°ï¼\LuaTeX-jaã§ã¯\upTeX ããå¤ãã®æåã
å¶å¾¡ç¶´ã«ä½¿ç¨å¯è½ã«ãªã£ã¦ããï¼
-\textbf{ç¹ã«éè¦ãªã®ã¯ï¼å
¨è§ç©ºç½(\texttt{U+3000})ã
-\LuaTeX-jaã§ã¯å¶å¾¡ç¶´ä¸ã«ä½¿ç¨å¯è½ã§ãããã¨ã§ããï¼}
JIS~X~0213ã®ç¯å²ã«åºããã¨ï¼å·®ç°ã¯ããã«å¤§ãããªãï¼
詳細ã«ã¤ãã¦ã¯ä¾ãã° \url{https://github.com/h-kitagawa/kct} ä¸ã®\
-\texttt{kct-uni-out.pdf} ãªã©ãåç
§ãããã¨ï¼
+\texttt{kct-out.pdf} ãªã©ãåç
§ãããã¨ï¼
+%
+
+
+%<*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}
+\LuaTeX æ¬ä½ã§ãï¼$\Omega$ã»$\aleph$ç±æ¥ã®æ©è½ã¨ãã¦ï¼è¤æ°ã®çµæ¹åããµãã¼ããã¦ããï¼
+ãããï¼\LuaTeX ããµãã¼ãããã®ã¯ \texttt{TLT},~\texttt{TRT}, \texttt{RTT},~\texttt{LTL}\
+ã®ã¿ã§ããï¼æ¥æ¬èªã®ç¸¦çµã«ä½¿ãã®ã¯æã¾ãããªã\footnote{%
+åææåã ããªãã° \texttt{RTT} ã使ãã°ãªãã¨ããªãã¨æããï¼
+欧ææåãå
¥ã£ã¦ããå ´åã¯ãã¾ããããï¼\texttt{RTR} ã¨ããçµæ¹åãå¿
è¦ã«ãªãï¼
+}ï¼ãã®ããï¼\LuaTeX-jaã§ã¯æ¨ªçµ(\texttt{TLT})ã§çµãã ããã¯ã¹ãå転ãããæ¹å¼ã§
+縦çµãå®è£
ããï¼
+%
+
+%\subsection{ãµãã¼ãããçµæ¹å}
+\begin{table}[t]
+%\caption{\LuaTeX-ja ã®ãµãã¼ãããçµæ¹å}
+%\caption{Directions supported by \LuaTeX-ja}
+%\medskip
+\label{tab-dir}
+\centering\small
+\def\obox#1{%
+ \setbox0=\hbox{\yoko\hbox{#1%
+ \large\ltjsetparameter{talbaselineshift=0pt}%
+ \vrule height 25pt width 0.4pt depth 15pt\kern-.2pt%
+ \raise25pt\hbox to 0pt{\hss\composite{*r^@{>>}}\hss}%
+ \raise-15pt\hbox to 0pt{\hss\composite{*l^@{>|}}\hss}\kern.2pt%
+ \vrule height.2pt depth.2pt width 60pt\hbox to 0pt{\hss\composite{*d^@{>}}\hss}\kern-60pt
+ \hbox to 60pt{\,éã¯ãAg\hss}}}%
+ \raise\dimexpr 0.5\ltjgetdp0-0.5\ltjgetht0\box0%
+}
+%<*ja>
+\begin{tabular}{>{\bfseries}lcccc}
+\toprule
+&横çµ&ç¸¦çµ &ãdtouæ¹åã&ãutodæ¹åã\\
+\midrule
+å½ä»¤&\cs{yoko}&\cs{tate}&\cs{dtou}&\cs{utod}\\
+åéãæ¹å&æ°´å¹³å³åãï¼âï¼&åç´ä¸åãï¼âï¼&åç´ä¸åãï¼âï¼&åç´ä¸åãï¼âï¼\\
+è¡éãæ¹å&åç´ä¸åãï¼âï¼&水平左åãï¼âï¼&æ°´å¹³å³åãï¼âï¼&水平左åãï¼âï¼\\
+使ç¨ããåæãã©ã³ã&横çµç¨(\cs{jfont})&縦çµç¨(\cs{tfont})&
+\multicolumn{2}{c}{%
+ 横çµç¨(\cs{jfont})ã®$90^\circ$å転}\\[\smallskipamount]
+çµçä¾\null $^*$ &\obox{\yoko}&\obox{\tate}&\obox{\dtou}&\obox{\utod}\\
+\noalign{\medskip}
+\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}%
+ }%
+}
+$^*$\ å¹
(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 ã«ååã®å½ä»¤ãï¼ããã¥ã¡ã³ãã«ã¯æ¸ããã¦ããªããï¼åå¨ããï¼
+Down-TO-Upã®æå³ãªã®ã ããï¼\cs{dtou} ã使ç¨ããæ©ä¼ã¯ãªãã ãããï¼
+\LuaTeX-jaã§ã¯ãããã°ç¨ã«å®è£
ãã¦ããï¼
+5åç®ã® \cs{utod} ã¯ï¼\pTeX ã§è¨ãã縦æ°å¼ãã£ã¬ã¯ã·ã§ã³ãã«ç¸å½ãããã®ã§ããï¼
+
+çµæ¹åã¯ï¼\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æ¡ä»¥ä¸ã®ç®ç¨æ°åã横çµã§çµããªã©ï¼
+ç°ãªãçµæ¹åãæ··å¨ããããã¨ããã°ãã°è¡ãããï¼
+çµæ¹åã®æ··å¨ã\pTeX ã¨åãããã«ã§ããï¼
+\begin{LTXexample}
+ããã¯æ¨ªçµ% yoko
+\hbox{\tate % tate
+ \hbox{縦çµ}% tate
+ ã®ä¸ã«
+ \hbox{\yoko 横çµã®å
容}% yoko
+ ãæ¿å
¥ãã
+}
+ã¾ã横çµã«æ»ã% yoko
+\end{LTXexample}
+
+ç°ãªãçµæ¹åã®ããã¯ã¹ãé
ç½®ããå ´åã«ã©ãçµã¾ãããã®ä»æ§ãï¼\pTeX ã
+è¸è¥²ãã¦ããï¼è¡¨\ref{tab-diffdir}ã«ç¤ºãï¼
+%
+
+\begin{table}[t]
+%\caption{ç°æ¹åã®ããã¯ã¹ã®é
ç½®}
+%\caption{Boxes in different direction}
+%\medskip
+\label{tab-diffdir}
+ \centering\small\unitlength3mm
+ \def\TATEeg{%
+ \hbox{\smash{\begin{picture}(0,0)(-2,0)
+ \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}}$}}
+ \end{picture}}}%
+ }
+ \def\DTOUeg{%
+ \hbox{\smash{\begin{picture}(0,0)(-5,0)
+ \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}}$}}
+ \end{picture}}}%
+ }
+ \def\YOKOeg{%
+ \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}}$}}
+ \put(0,0){\vector(1,0){7}}\put(3.5,0.2){\makebox(0,0)[b]{$w_{\mathrm{Y}}$}}
+ \end{picture}}}%
+ }
+\begin{tabular}{ccc}
+\toprule
+%\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}}
+ \put(4,7){\TATEeg}
+ \put(11.2,0){\line(1,0){3.8}}
+%
+ \put(2,7){\line(1,0){1.8}}
+ \put(3,3.5){\vector(0,1){3.5}\vector(0,-1){3.5}}
+ \put(2.8,3.5){\makebox(0,0)[r]{$H_{\mathrm{Y}}$}}
+ \put(3,-2){\vector(0,1){2}}
+ \put(2.8,-1){\makebox(0,0)[r]{$D_{\mathrm{Y}}$}}
+%
+ \put(4,7.2){\line(0,1){1.8}}
+ \put(11,7.2){\line(0,1){1.8}}
+ \put(6,8){\vector(-1,0){2}}
+ \put(9,8){\vector(1,0){2}}
+ \put(7.5,8){\makebox(0,0){$W_{\mathrm{Y}}$}}
+%
+ \end{picture}\vspace{-\baselineskip}
+ \begin{align*}
+ W_{\mathrm{Y}} &= h_{\mathrm{T}}+d_{\mathrm{T}},\\
+ H_{\mathrm{Y}} &= w_{\mathrm{T}},\\
+ D_{\mathrm{Y}} &=0\,\mathrm{pt}
+ \end{align*}%
+ }&
+ \parbox[c]{15\unitlength}{\begin{picture}(15,15)(0,-4)
+ \put(7.5,-0.2){\line(0,-1){2.8}}
+ \put(4,2){\YOKOeg}
+ \put(7.5, 7.2){\line(0,1){3.8}}
+%
+ \put(2,7){\line(1,0){1.8}}
+ \put(2,0){\line(1,0){1.8}}
+ \put(3,5){\vector(0,1){2}}
+ \put(3,2){\vector(0,-1){2}}
+ \put(3,3.5){\makebox(0,0){$W_{\mathrm{T}}$}}
+%
+ \put(4,7.2){\line(0,1){1.8}}
+ \put(11,7.2){\line(0,1){1.8}}
+ \put(8,8){\vector(-1,0){0.5}\vector(1,0){3}}
+ \put(7,8){\vector(-1,0){3}\vector(1,0){0.5}}
+ \put(9.25,8.2){\makebox(0,0)[b]{$H_{\mathrm{T}}$}}
+ \put(5.75,8.2){\makebox(0,0)[b]{$D_{\mathrm{T}}$}}
+%
+ \end{picture}\vspace{-\baselineskip}
+ \begin{align*}
+ W_{\mathrm{T}} &= h_{\mathrm{Y}}+d_{\mathrm{Y}},\\
+ H_{\mathrm{T}} &= w_{\mathrm{Y}}/2,\\
+ D_{\mathrm{T}} &= w_{\mathrm{Y}}/2
+ \end{align*}%
+ }&
+ \parbox[c]{15\unitlength}{\begin{picture}(15,15)(0,-4)
+ \put(11,-0.2){\line(0,-1){2.8}}
+ \put(4,2){\YOKOeg}
+ \put(11, 7.2){\line(0,1){3.8}}
+%
+ \put(2,7){\line(1,0){1.8}}
+ \put(2,0){\line(1,0){1.8}}
+ \put(3,5){\vector(0,1){2}}
+ \put(3,2){\vector(0,-1){2}}
+ \put(3,3.5){\makebox(0,0){$W_{\mathrm{D}}$}}
+%
+ \put(4,7.2){\line(0,1){1.8}}
+ \put(11,7.2){\line(0,1){1.8}}
+ \put(7.5,8){\vector(-1,0){3.5}\vector(1,0){3.5}}
+ \put(13,8){\vector(-1,0){2}}
+ \put(7.5,8.2){\makebox(0,0)[b]{$H_{\mathrm{D}}$}}
+ \put(12,8.2){\makebox(0,0)[b]{$D_{\mathrm{D}}$}}
+%
+ \end{picture}\vspace{-\baselineskip}
+ \begin{align*}
+ W_{\mathrm{D}} &= h_{\mathrm{Y}}+d_{\mathrm{Y}},\\
+ H_{\mathrm{D}} &= w_{\mathrm{Y}},\\
+ D_{\mathrm{D}} &= 0\,\mathrm{pt}
+ \end{align*}%
+ }%
+\\\midrule
+ \parbox[c]{15\unitlength}{\begin{picture}(15,15)(0,-4)
+ \put(0,0){\line(1,0){3.8}}
+ \put(4,0){\DTOUeg}
+ \put(11.2,0){\line(1,0){3.8}}
+%
+ \put(2,7){\line(1,0){1.8}}
+ \put(3,3.5){\vector(0,1){3.5}\vector(0,-1){3.5}}
+ \put(2.8,3.5){\makebox(0,0)[r]{$H_{\mathrm{Y}}$}}
+ \put(3,-2){\vector(0,1){2}}
+ \put(2.8,-1){\makebox(0,0)[r]{$D_{\mathrm{Y}}$}}
+%
+ \put(4,7.2){\line(0,1){1.8}}
+ \put(11,7.2){\line(0,1){1.8}}
+ \put(6,8){\vector(-1,0){2}}
+ \put(9,8){\vector(1,0){2}}
+ \put(7.5,8){\makebox(0,0){$W_{\mathrm{Y}}$}}
+%
+ \end{picture}\vspace{-\baselineskip}
+ \begin{align*}
+ W_{\mathrm{Y}} &= h_{\mathrm{D}}+d_{\mathrm{D}},\\
+ H_{\mathrm{Y}} &= w_{\mathrm{D}},\\
+ D_{\mathrm{Y}} &= 0\,\mathrm{pt}
+ \end{align*}%
+ }&
+ \parbox[c]{15\unitlength}{\begin{picture}(15,15)(0,-4)
+ \put(9,-0.2){\line(0,-1){2.8}}
+ \put(4,0){\DTOUeg}
+ \put(9, 7.2){\line(0,1){3.8}}
+%
+ \put(2,7){\line(1,0){1.8}}
+ \put(2,0){\line(1,0){1.8}}
+ \put(3,5){\vector(0,1){2}}
+ \put(3,2){\vector(0,-1){2}}
+ \put(3,3.5){\makebox(0,0){$W_{\mathrm{T}}$}}
+%
+ \put(4,7.2){\line(0,1){1.8}}
+ \put(11,7.2){\line(0,1){1.8}}
+ \put(6.5,8){\vector(-1,0){2.5}\vector(1,0){2.5}}
+ \put(10,8){\vector(-1,0){1}\vector(1,0){1}}
+ \put(10,8.2){\makebox(0,0)[b]{$H_{\mathrm{T}}$}}
+ \put(6.5,8.2){\makebox(0,0)[b]{$D_{\mathrm{T}}$}}
+%
+ \end{picture}\vspace{-\baselineskip}
+ \begin{align*}
+ W_{\mathrm{T}} &= h_{\mathrm{D}}+d_{\mathrm{D}},\\
+ H_{\mathrm{T}} &= d_{\mathrm{D}},\\
+ D_{\mathrm{T}} &= h_{\mathrm{D}}
+ \end{align*}%
+ }&
+ \parbox[c]{15\unitlength}{\begin{picture}(15,15)(0,-4)
+ \put(6,-0.2){\line(0,-1){2.8}}
+ \put(4,7){\TATEeg}
+ \put(6, 7.2){\line(0,1){3.8}}
+%
+ \put(2,7){\line(1,0){1.8}}
+ \put(2,0){\line(1,0){1.8}}
+ \put(3,5){\vector(0,1){2}}
+ \put(3,2){\vector(0,-1){2}}
+ \put(3,3.5){\makebox(0,0){$W_{\mathrm{D}}$}}
+%
+ \put(4,7.2){\line(0,1){1.8}}
+ \put(11,7.2){\line(0,1){1.8}}
+ \put(5,8){\vector(-1,0){1}\vector(1,0){1}}
+ \put(8.5,8){\vector(-1,0){2.5}\vector(1,0){2.5}}
+ \put(5,8.2){\makebox(0,0)[b]{$H_{\mathrm{D}}$}}
+ \put(8.5,8.2){\makebox(0,0)[b]{$D_{\mathrm{D}}$}}
+%
+ \end{picture}\vspace{-\baselineskip}
+ \begin{align*}
+ W_{\mathrm{D}} &= w_{\mathrm{T}},\\
+ H_{\mathrm{D}} &= d_{\mathrm{T}},\\
+ D_{\mathrm{D}} &= h_{\mathrm{T}}
+ \end{align*}%
+ }\\
+\bottomrule
+\end{tabular}
+\end{table}
+
+
+
+%<*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\ltjgetwd42-3pt\relax, \the\ltjgetwd1701
+\end{lstlisting}
+The following is an example.
+\begin{LTXexample}[width=0.3\textwidth]
+\parindent0pt
+\setbox32767=\hbox{\yoko ãããã¿}
+\fboxsep=0mm\fbox{\copy32767}
+\vbox{\hsize=20mm
+\yoko YOKO \the\ltjgetwd32767, \\
+ \the\ltjgetht32767, \\ \the\ltjgetdp32767.}
+\vbox{\hsize=20mm\raggedleft
+\tate TATE \the\ltjgetwd32767, \\
+ \the\ltjgetht32767, \\ \the\ltjgetdp32767.}
+\vbox{\hsize=20mm\raggedleft
+\dtou DTOU \the\ltjgetwd32767, \\
+ \the\ltjgetht32767, \\ \the\ltjgetdp32767.}
+\end{LTXexample}
+
+ \item[\cs{ltjsetwd}=\textrm{, }\cs{ltjsetht}=\textrm{, }%
+ \cs{ltjsetdp}=]
+These commands set the dimension of \cs{box}. 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 ã§ã¯ãããã®ããªããã£ãã¯ï¼ãç¾å¨ã®çµæ¹åã«ãããããã¯ã¹ã®å¯¸æ³ããæããã®ã§ï¼
+åãããã¯ã¹ã«å¯¾ãã¦ãç¾å¨ã®çµæ¹åã«ãã£ã¦è¿ãå¤ã¯ç°ãªããã§ãã£ãï¼
+
+\LuaTeX-jaã«ããã¦ã¯ç¶æ³ãç°ãªãï¼\cs{wd},~\cs{ht},~\cs{dp} ãè¿ãå¤ã¯
+ç¾å¨ã®çµæ¹åã«ã¯ä¾åããªãï¼ä¸ã®ä¾ã®ããã«ï¼æ¨ªçµã®ããã¯ã¹ãæ ¼ç´ããã¦ããã°
+\cs{wd}çã¯å¸¸ã«ã横çµã«ãããããã¯ã¹ã®å¯¸æ³ããæå³ããï¼
+
+\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}
+
+\pTeX ã®ããã«ç¾å¨ã®çµæ¹åã«å¿ããããã¯ã¹ã®å¯¸æ³ã®åå¾ã»è¨å®ãè¡ãã«ã¯ï¼
+代ããã«æ¬¡ã®å½ä»¤ã使ç¨ããï¼
+
+\begin{cslist}
+
+ \item[\cs{ltjgetwd}\textrm{, }\cs{ltjgetht}\textrm{, }%
+ \cs{ltjgetdp}]
+ç¾å¨ã®çµæ¹åã«å¿ããããã¯ã¹ã®å¯¸æ³ã®åå¾ãè¡ãï¼çµæã¯å
é¨é·ãã§ããããï¼
+\begin{lstlisting}
+\dimexpr 2\ltjgetwd42-3pt\relax, \the\ltjgetwd1701
+\end{lstlisting}
+ã®ããã« \cs{wd} ã®ä»£ããã¨ãã¦æ±ããã¨ãã§ããï¼
+使ç¨ä¾ã¯ä»¥ä¸ã®éãã§ããï¼
+\begin{LTXexample}[width=0.3\textwidth]
+\parindent0pt
+\setbox32767=\hbox{\yoko ãããã¿}
+\fboxsep=0mm\fbox{\copy32767}
+\vbox{\hsize=20mm
+\yoko YOKO \the\ltjgetwd32767, \\
+ \the\ltjgetht32767, \\ \the\ltjgetdp32767.}
+\vbox{\hsize=20mm\raggedleft
+\tate TATE \the\ltjgetwd32767, \\
+ \the\ltjgetht32767, \\ \the\ltjgetdp32767.}
+\vbox{\hsize=20mm\raggedleft
+\dtou DTOU \the\ltjgetwd32767, \\
+ \the\ltjgetht32767, \\ \the\ltjgetdp32767.}
+\end{LTXexample}
+
+ \item[\cs{ltjsetwd}=\textrm{, }\cs{ltjsetht}=\textrm{, }%
+ \cs{ltjsetdp}=]
+ç¾å¨ã®çµæ¹åã«å¿ããããã¯ã¹ã®å¯¸æ³ã®è¨å®ãè¡ãï¼\cs{afterassignment} ã2åå©ç¨ãã¦
+å®è£
ãã¦ããã®ã§ï¼æ¬¡ã®4éãã¯å
¨ã¦åãæå³ã§ããï¼
+\begin{lstlisting}
+\ltjsetwd42 20pt, \ltjsetwd42=20pt, \ltjsetwd=42 20pt, \ltjsetwd=42=20pt
+\end{lstlisting}
+
+è¨å®å¤ã¯ã横çµãã縦çµåã³ \cs{utod} æ¹åãã\cs{dtou} æ¹åã
+ã®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 argument )
+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} ã¨ãã£ãæ¡ä»¶å¤ææã使ã£ã¦
+å¤æãããã¨ãã§ããï¼
+ãããï¼\LuaTeX-jaã¯ããã¾ã§ã\TeX ãã¯ãã¨Luaã³ã¼ãã§
+è¨è¿°ããã¦ããï¼ããã§ã¯æ°ããªæ¡ä»¶å¤æå½ä»¤ãä½ãã®ã¯é£ããï¼
+
+\LuaTeX-jaã§ã¯ï¼\Param{direction}ãã©ã¡ã¼ã¿ã§ç¾å¨ã®çµæ¹åãï¼
+\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},
+\hbox{\tate$\hbox{tate math: \DIR}$}
+
+\setbox2=\hbox{\tate}\ltjgetparameter{boxdir}{2}
+\end{LTXexample}
+
+ããããç¨ããã°ï¼ä¾ãã°
+\pTeX ã® \cs{ifydir},~\cs{ifybox200} ã¨åçã®æ¡ä»¶å¤æã
+\begin{lstlisting}
+\ifnum\ltjgetparameter{direction}=4
+\ifnum\ltjgetparameter{boxdir}{200}=4
+\end{lstlisting}
+ã®ããã«è¡ããã¨ãã§ããï¼
+\cs{iftdir} ã¯å°ã
é¢åã§ãããï¼8ã§å²ã£ãä½ãã3ã§ãããå¦ããå¤æããã°è¯ããã
+\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[\cs{unhbox}\textrm{, }\cs{unvbox}\textrm{, }\cs{unhcopy}\textrm{, }\cs{unvcopy}]
+ ããã¯ã¹ã®çµæ¹åãç¾å¨ã®ãªã¹ãã¨ç°ãªãå ´åã¯äºåã«ã¨ã©ã¼ã¡ãã»ã¼ã¸ãåºåããï¼
+ \pTeX ã¨ç°ãªãï¼ã¨ã©ã¼ãç¡è¦ãã¦ç¡çç¢ç \cs{unhbox}, \cs{unvbox} ã
+ ç¶è¡ããããã¨ãã§ãããï¼ãã®å ´åã®çµççµæã¯ä¿è¨¼ããªãï¼
+ \item[\cs{vadjust}\{\}] ä¸æ¦ããªããã£ãæ¬æ¥ã®æåãè¡ãï¼ãã®å¾ï¼ã®çµæ¹åã
+ å¨å²ã®åç´ãªã¹ãã®çµæ¹åã¨ä¸è´ããªãå ´åã«ã¨ã©ã¼ãåºåãï¼
+ 該å½ã® \cs{vadjust} ãç¡å¹ã«ããï¼
+ \item[\cs{insert}\{\}]
+ ä¸æ¦ããªããã£ãæ¬æ¥ã®æåãè¡ãï¼ãã®å¾å
ã®åããã¯ã¹ã»ç½«ç·ã®ç´åã«çµæ¹åã示
+ ãdirection whatsitãæ¿å
¥ããï¼
+ \item[\cs{lastbox}] ããã¯ã¹ã®ãä¸èº«ããç¾å¨ã®çµæ¹åã«åãããããã®ãã¼ã
+ ï¼\textit{dir\_box}ã¨ããï¼ãå¿
è¦ãªãã°é¤å»ãï¼
+ æ£ãããä¸èº«ãã®ããã¯ã¹ãè¿ãããããã«åå¦çãããï¼
+ \item[\cs{raise}\textrm{, }\cs{lower}\textrm{\ etc., }\cs{vcenter}]
+ ä¸æ¹ï¼ãã¡ãã§ã¯å¿
è¦ã«å¿ãã¦\textit{dir\_box}ãä½æããåå¦çã追å ãã¦ããï¼
+\end{cslist}
%
%\section{Font Metric and Japanese Font}
@@ -2625,14 +3523,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ãç¨ããã®ãã以ä¸ã®ãã¼ã§
æå®ããå¿
è¦ãããï¼
@@ -2649,18 +3547,18 @@ which JFM will be used for this font by the following keys:
\def\r#1#2{%
\hbox{\Large\vrule
\parbox[b]{7\zw}{%
- \addjfontfeatures{Opacity=0.5, Color=#2, JFM=#1}\noindent
+ \addjfontfeatures{YokoFeatures={Opacity=0.5, Color=#2, JFM=#1}}\noindent
âââââââ
ããæ¥ã¢ã¢ã¡ãããã使ãã§è¿·åã«ãªã£ã¦æ³£ãã¾ããï¼
}\vrule}}
\def\s#1#2{%
\Large
\parbox[b]{7\zw}{%
- \addjfontfeatures{Opacity=0.5, Color=#2, JFM=#1}\noindent
+ \addjfontfeatures{YokoFeatures={Opacity=0.5, Color=#2, JFM=#1}}\noindent
ã¡ãã£ã¨ï¼ä½
}}
\def\t#1#2#3{\hbox to 0pt{\hss%
- \setbox0=\hbox{\addjfontfeatures{JFM=#1}\huge #3}%
+ \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}%
@@ -2825,10 +3723,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}\
@@ -2870,6 +3768,88 @@ letter-spacing and the width of italic correction are not correct:
\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{tfont} ã®ææ³ã¯ \cs{jfont} ã¨åãã§ããï¼
+\cs{tfont} ã§å®ç¾©ããã縦çµç¨åæãã©ã³ãã¯ï¼
+以ä¸ã®ç¹ã \cs{jfont} ã«ãã横çµç¨åæãã©ã³ãã¨ã¯ç°ãªãï¼
+\begin{itemize}
+ \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ãæå®ããï¼
+以ä¸ã®ç¸¦çµç¨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}}
%\subsection{\texttt{psft}ããªãã£ãã¯ã¹}
\label{ssec-psft}
@@ -2978,9 +3958,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
@@ -3001,12 +3981,11 @@ floating-point numbers in design-size unit.
%ï¼å¿
é ï¼
%<*en>
-The direction of JFM. Only \texttt{'yoko'}~(horizontal) is supported.
+The direction of JFM. \texttt{'yoko'}~(horizontal)
+or \texttt{'tate'}~(vertical) are supported.
%
%<*ja>
-JFMã®æ¸åæ¹åï¼ç¾æç¹ã§ã¯ \texttt{'yoko'}ï¼æ¨ªçµï¼ã®ã¿ããµãã¼ããããï¼
-å°æ¥çã«\LuaTeX-ja ã«ããã縦çµããµãã¼ããããéã«ã¯ï¼ \texttt{'tate'} ã
-ç¨ãããã¨ã«ãªãäºå®ã§ããï¼
+JFMã®æ¸åæ¹åï¼\texttt{'yoko'}ï¼æ¨ªçµï¼ã¨ \texttt{'tate'}ï¼ç¸¦çµï¼ããµãã¼ããããï¼
%
\item[zw=]
@@ -3014,14 +3993,22 @@ JFMã®æ¸åæ¹åï¼ç¾æç¹ã§ã¯ \texttt{'yoko'}ï¼æ¨ªçµï¼ã®ã¿ããµã
%ï¼å¿
é ï¼
%The amount of the length of the ``full-width''.
-%ãå
¨è§å¹
ãã®é·ãï¼ãã®éã \cs{zw} ã®é·ãã決å®ããï¼
+%<*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)
@@ -3103,7 +4090,7 @@ This field is a list of characters which are in this character
\item ã\hbox{\ltjsetparameter{autoxspacing=false}\verb+'ã*'+}ãã®ãããªï¼æåããèªä½ã®å¾ã«ã¢ã¹ã¿ãªã¹ã¯ãã¤ãããã®
\item ããã¤ãã®ãä»®æ³çãªæåãï¼å¾ã«èª¬æããï¼
\end{itemize}
-%
+%
\item[width=, height=, depth=, italic=]
%(required)
@@ -3136,8 +4123,8 @@ 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
-Figures \ref{fig-pos}.
+The effects of these 3~fields are indicated in
+Figures \ref{fig-pos}~and~\ref{fig-pos-tate}.
%
%<*ja>
ãããã®ãã£ã¼ã«ãã¯å®éã®ã°ãªãã®ä½ç½®ã調æ´ããããã«ããï¼
@@ -3145,7 +4132,8 @@ Figures \ref{fig-pos}.
\texttt{'right'} ã®ããããã§ããï¼ããããã3ã¤ã®ãã£ã¼ã«ãã®ãã¡ã®1ã¤ãçããã
å ´åï¼\texttt{left} 㨠\texttt{down} ã¯0ï¼\texttt{align} ãã£ã¼ã«ãã¯
\ \texttt{'left'} ã§ãããã®ã¨ãã¦æ±ãããï¼
-ããã3ã¤ã®ãã£ã¼ã«ãã®æå³ã«ã¤ãã¦ã¯å³\ref{fig-pos}ï¼æ¨ªçµç¨åæãã©ã³ãï¼ã§èª¬æããï¼
+ããã3ã¤ã®ãã£ã¼ã«ãã®æå³ã«ã¤ãã¦ã¯å³\ref{fig-pos}ï¼æ¨ªçµç¨åæãã©ã³ãï¼ï¼
+å³\ref{fig-pos-tate}ï¼ç¸¦çµç¨åæãã©ã³ãï¼ã§èª¬æããï¼
%
%<*en>
@@ -3217,7 +4205,7 @@ 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'}.
%
@@ -3259,10 +4247,91 @@ Furthermore, the glyph is shifted according to values of fields
\medskip
\caption{%
-%The position of the real glyph (horizontal Japanese fonts)
-%横çµåæãã©ã³ãã«ããããå®éã®ãã°ãªãã®ä½ç½®
+%The position of the real glyph (horizontal Japanese fonts)
+%横çµåæãã©ã³ãã«ããããå®éã®ãã°ãªãã®ä½ç½®
+}
+\label{fig-pos}
+\end{figure}
+\begin{figure}[!tb]
+\begin{minipage}{0.4\textwidth}%
+\begin{center}\unitlength=10pt\small
+\begin{picture}(15,12)(-6,0)
+\color{b_gray}% jfm
+\put(-6,0){\vrule width 12\unitlength height 11\unitlength}
+
+\color{b_pink}% real glyph
+\put(-6.5,5.5){\vrule width 8\unitlength height 6\unitlength depth 3\unitlength}
+
+\color{red}% real glyph
+\thicklines
+\put(-6.5,5.5){\vector(0,1){6}\vector(0,-1){3}\vector(1,0){8}}
+\put( 1.5,5.5){\line(0,1){6}\line(0,-1){3}}
+\put(-6.5,11.5){\line(1,0){8}}
+\put(-6.5,2.5){\line(1,0){8}}
+
+\color{b_green}% step1
+\put(-4,3){\vrule width 8\unitlength height 6\unitlength depth 3\unitlength}
+
+\color{black}% jfm
+\thicklines
+\put(0,11){\vector(1,0){6}\vector(-1,0){6}\vector(0,-1){11}}
+\put(0,0){\line(1,0){6}\line(-1,0){6}}
+\put(-6,0){\line(0,1){11}}
+\put( 6,0){\line(0,1){11}}
+\put( 3,10.8){\makebox(0,0)[t]{\texttt{height}}}
+\put(-3,10.8){\makebox(0,0)[t]{\texttt{depth}}}
+\put(0.2,5.5){\makebox(0,0)[l]{\texttt{width}}}
+
+\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}}
+\put(-4,9){\line(1,0){8}}
+\put(-4,0){\line(1,0){8}}
+\savebox{\eqdist}(0,0)[b]{%
+ \thinlines
+ \put(-0.08,0.2){\line(0,-1){0.4}}%
+ \put(0.08,0.2){\line(0,-1){0.4}}}
+\put(2,9){\usebox{\eqdist}}
+\put(-2,9){\usebox{\eqdist}}
+
+
+\color{blue}% shifted
+\thicklines
+\put(-4,3){\vector(0,1){2.5}}
+\put(-3.8,4.25){\makebox(0,0)[l]{\texttt{left}}}
+\put(-4,5.5){\vector(-1,0){2.5}}
+\put(-5.,5.7){\makebox(0,0)[b]{\texttt{down}}}
+\end{picture}
+\end{center}
+\end{minipage}%
+\begin{minipage}{0.6\textwidth}%
+%<*en>
+(\dots)
+%
+%<*ja>
+\texttt{align}ãã£ã¼ã«ãã®å¤ã \texttt{'right'} ã§ãããããªæåã¯ã©ã¹ã«å±ãã
+åææåãèãããï¼
+\begin{itemize}
+\item
+å®éã®ã°ãªãã®ãåç´ä½ç½®ãã¯ï¼ã¾ããã¼ã¹ã©ã¤ã³ãæåã®ç©ççãªå·¦å³æ¹åã®ä¸å¤®ãéã
+ä½ç½®ã¨ãªãï¼
+\item
+ã¾ãï¼ãã®å ´å \texttt{align} ãã£ã¼ã«ã㯠\texttt{'right'} ãªã®ã§ï¼
+ãæ°´å¹³ä½ç½®ãã¯åéãæ¹åã«ãå³å¯ãããããã®ã¨ãªãï¼ç·è²ã®é·æ¹å½¢ï¼ï¼
+\item
+ãã®å¾ããã« \texttt{left} 㨠\texttt{down} ã®å¤ã«å¾ã£ã¦ã·ããããã
+ã®ã¯æ¨ªçµç¨åæãã©ã³ãã¨å¤ãããªãï¼
+\end{itemize}
+%
+\end{minipage}
+\medskip
+
+\caption{%
+%The position of the real glyph (vertical Japanese fonts)
+%縦çµåæãã©ã³ãã«ããããå®éã®ãã°ãªãã®ä½ç½®
}
-\label{fig-pos}
+\label{fig-pos-tate}
\end{figure}
\item[kern={\{[$j$]=, [$j'$]=\{, []\}, ...\}}]
@@ -3335,8 +4404,8 @@ we specify to
%<*ja>
\paragraph{æåã¯ã©ã¹ã®æ±ºå®}
-æåãããã®æåã®å±ããæåã¯ã©ã¹ãç®åºããéç¨ã¯å°ã
è¤éã§ããï¼
-次ã®å
容ãä¸é¨ã«å«ãã \texttt{jfm-test.lua} ãç¨ãã¦èª¬æããï¼
+æåãããã®æåã®å±ããæåã¯ã©ã¹ãç®åºããéç¨ã«ã¤ãã¦ï¼
+次ã®å
容ãå«ãã \texttt{jfm-test.lua} ãç¨ãã¦èª¬æããï¼
%
%<*en>
\paragraph{Character to character classes}
@@ -3345,93 +4414,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ã®é©ç¨ã«ããã°ãªãç½®æã®å¾ã«è¡ããã}ãã¨ã
+ãã®ä¾ã¯ï¼\emph{æåã¯ã©ã¹ã®æ±ºå®ã¯font featureã®é©ç¨ã«ããã°ãªãç½®æã®çµæã«åºã¥ã}ãã¨ã
示ãã¦ããï¼
%
%<*en>
-However, a starred specification like ``\texttt{'ã*'}'' changes the rule.
-Consider the following input:
+However, if the class determined by the glyph after application of features is zero,
+\LuaTeX-ja adopts the class determined by the glyph \emph{before} application of features.
+The following input is an example.
%
%<*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
-as following:
+Here, the character class of the ideographic full stop ``ã''~(\texttt{U+3002}) is determined
+as follows:
\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}) by \verb+vert+ feature.%"
+\item The character class of ``\char"FE12'', according to the JFM 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}
@@ -3464,7 +4519,7 @@ The following is the list of imaginary characters:
\item['jcharbdd']
%A boundary between \textbf{JAchar} and anything else (such as \textbf{ALchar}, kern, glue,\,\ldots).
-%åææåã¨ããã®ä»ã®ãã®ãï¼æ¬§ææåï¼glueï¼kernçï¼ã¨ã®å¢çï¼
+%\textbf{JAchar}ã¨ããã®ä»ã®ãã®ãï¼æ¬§ææåï¼glueï¼kernçï¼ã¨ã®å¢çï¼
\item[$-1$]
%The left/right boundary of an inline math formula.
@@ -3490,9 +4545,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ä¸ã«åã«æ¸ããªããã°ããï¼ï¼
@@ -3557,7 +4612,7 @@ font families. There is no relation between the value of
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.
+a \emph{horizontal} Japanese font.
%
%<*ja>
\LuaTeX-jaã®æ°å¼ä¸ã§ã®åæãã©ã³ãã®æ±ããåæ§ã§ããï¼
@@ -3565,7 +4620,8 @@ a \emph{horizontal} Japanese font.
ãã®ã示ãã¦ããï¼\cs{fam} 㨠\cs{jfam} ã®å¤ã®éã«ã¯é¢ä¿ã¯ãªãï¼
é©åãªè¨å®ã®ä¸ã§ã¯ \cs{fam} 㨠\cs{jfam} ã®ä¸¡æ¹ã«åãå¤ãè¨å®ãããã¨ãã§ããï¼
\Param{jatextfont} ä»ã®ç¬¬2å¼æ°ã¯ï¼\cs{jfont} ã§å®ç¾©ããã
-\emph{横çµç¨}åæãã©ã³ãã§ããï¼
+\emph{横çµç¨}åæãã©ã³ãã§ããï¼\cs{tfont} ã§å®ç¾©ããã
+\emph{縦çµç¨}åæãã©ã³ããæå®ãããã¨ã¯æ³å®ãã¦ããªãï¼
%
\begin{table}[!tb]
@@ -3683,7 +4739,7 @@ For $i\in\omega$, \texttt{char\_type[$i$]} is information of characters whose cl
\item \texttt{align} is a number which is determined from \texttt{align}~field in the JFM:
\[
\begin{cases}
- 0&\text{\texttt{'left'} and the default value}\\0.5&\text{\tt 'middle'}\\1&\text{\tt 'right'}
+ 0&\text{\texttt{'left'} (default)}\\0.5&\text{\tt 'middle'}\\1&\text{\tt 'right'}
\end{cases}
\]
\item For $j\in \omega$, \texttt{[$j$]} stores a kern or a glue which will be inserted
@@ -3733,7 +4789,7 @@ JFMã§æå®ããã¦ããããããã®å¤ãã¹ã±ã¼ãªã³ã°ãããã®
éã«å
¥ããã®ãkernã§ããã°ï¼ãã®ãã£ã¼ã«ãã®å¤ã¯\
\texttt{[$j$]=\{false, , \}} ã§ããï¼
ã¯kernã表ããã¼ããã®ãã®ã§ãã\footnote{%
-æ¬ãã¼ã¸ã§ã³ã§ã¯å©ç¨å¯è½ãªãã°ãã¼ãã®ã¢ã¯ã»ã¹ææ³ã«direct access
+æ¬ãã¼ã¸ã§ã³ã§ã¯ãã¼ãã®ã¢ã¯ã»ã¹ææ³ã«direct access
modelãç¨ãã¦ããï¼ãã®ããï¼ä¾ãã°\LuaTeX\ beta-0.78.2ã§ã¯ï¼åãªãèªç¶æ°ã®ããã«ã
ãè¦ããªããã¨ã«æ³¨æï¼
}ï¼
@@ -3741,6 +4797,10 @@ glueã§ããã°ï¼\texttt{[$j$]=\{false, , , \}} ã§
ã¯glueã®é·ãã表ããã¼ããã®ãã®ã§ããï¼
$\text{}=\textit{from\_jfm}+\text{}$ã§ããï¼
\end{itemize}
+\item[ascent\textrm{, }descent]
+â¦â¦
+\item[chars\_cbcache]
+â¦â¦
\end{cslist}
%
@@ -3879,8 +4939,8 @@ is the position of \verb+hpack_filter+ callback in the source
of \LuaTeX, see Section~\ref{sec-para}.
%
%<*ja>
-å
ã«è¿°ã¹ãããã«ï¼\LuaTeX-jaã®ã»ã¨ãã©ã®å
é¨ãã©ã¡ã¼ã¿ã«ã¢ã¯ã»ã¹ããã«ã¯
-\cs{ltjsetparameter} 㨠\cs{ltjgetparameter} ãç¨ããï¼
+å
ã«è¿°ã¹ãããã«ï¼\LuaTeX-jaã®å
é¨ãã©ã¡ã¼ã¿ã«ã¢ã¯ã»ã¹ããã«ã¯
+\cs{ltjsetparameter}ï¼ã¾ã㯠\cs{ltjglobalsetparameter}ï¼ã¨ \cs{ltjgetparameter} ãç¨ããï¼
\LuaTeX-jaã\pTeX ã®ãããªææ³ï¼ä¾ãã°ï¼\verb+\prebreakpenalty`ï¼=10000+ï¼ã
æ¡ç¨ããªãçç±ã®ä¸ã¤ã¯ï¼\LuaTeX ã®ã½ã¼ã¹ã«ããã \verb+hpack_filter+
ã³ã¼ã«ããã¯ã®ä½ç½®ã«ããï¼\ref{sec-para}ç« ãåç
§ï¼
@@ -3890,24 +4950,19 @@ of \LuaTeX, see Section~\ref{sec-para}.
\cs{ltjsetparameter} and \cs{ltjglobalsetparameter} are commands
for assigning parameters. These take one argument which is a
\texttt{=} list.
-The list of allowed keys are described in the next subsection.
-The difference between
-\cs{ltjsetparameter} and \cs{ltjglobalsetparameter} is only the
+The difference between these two commands is the
scope of assignment;
\cs{ltjsetparameter} does a local assignment and
\cs{ltjglobalsetparameter} does a global one.
-They also obey the value of \cs{globaldefs},
-like other assignment.
+They also obey the value of \cs{globaldefs}, like other assignments.
%
%<*ja>
\cs{ltjsetparameter} 㨠\cs{ltjglobalsetparameter} ã¯ãã©ã¡ã¼ã¿ã
-æå®ããããã®å½ä»¤ã§ããï¼ãããã¯\texttt{=}ã®ãªã¹ãã
-å¼æ°ã¨ãã¦ã¨ãï¼è¨±ããããã¼ã®ä¸è¦§ã¯æ¬¡ã®ç¯ã«ããï¼
-\cs{ltjsetparameter} 㨠\cs{ltjglobalsetparameter} ã®éãã¯ã¹ã³ã¼ãã®
-éãã®ã¿ã§ï¼
-\cs{ltjsetparameter} ã¯ãã¼ã«ã«ãªæå®ï¼\cs{ltjglobalsetparameter} ã¯
-ã°ãã¼ãã«ãªæå®ãè¡ãï¼
-ãããã¯ä»ã®ãã©ã¡ã¼ã¿æå®ã¨åæ§ã« \cs{globaldefs} ã®å¤ã«å¾ãï¼
+æå®ããããã®å½ä»¤ã§ï¼\texttt{=}ã®ãªã¹ãã
+å¼æ°ã¨ãã¦ã¨ãï¼ä¸¡è
ã®éãã¯ã¹ã³ã¼ãã§ããï¼
+\cs{ltjsetparameter} ã¯ãã¼ã«ã«ãªè¨å®ãè¡ãã®ã«å¯¾ãï¼
+\cs{ltjglobalsetparameter} ã¯ã°ãã¼ãã«ãªè¨å®ãè¡ãï¼
+ã¾ãï¼ä»ã®ãã©ã¡ã¼ã¿æå®ã¨åæ§ã« \cs{globaldefs} ã®å¤ã«ãå¾ãï¼
%
%<*en>
@@ -3918,7 +4973,7 @@ in \pTeX, and symbols beside each parameter has the following meaning:
%<*ja>
以ä¸ã¯ \cs{ltjsetparameter} ã«æå®ãããã¨ãã§ãããã©ã¡ã¼ã¿ã®ä¸è¦§ã§ããï¼
[\cs{cs}]ã¯\pTeX ã«ããã対å¿ç©ã示ãï¼
-ã¾ãï¼ããããã®ãã©ã¡ã¼ã¿ã®å³ä¸ã«ããè¨å·ã«ã¯æ¬¡ã®æå³ãããï¼
+ã¾ãï¼ããããã®ãã©ã¡ã¼ã¿ã®å³ä¸ã®è¨å·ã«ã¯æ¬¡ã®æå³ãããï¼
%
\begin{itemize}
%<*en>
@@ -3937,7 +4992,7 @@ adopted in the whole paragraph or the whole hbox.
\end{itemize}
\begin{cslist}[style=standard]
-\item[\DParam{jcharwidowpenalty}\,=$^\ast$] [\cs{jcharwidowpenalty}]\
+\item[\DParam{jcharwidowpenalty}\,=$^\ast$] [\cs{jcharwidowpenalty}]\
%<*en>
Penalty value for suppressing orphans. This penalty is inserted just
@@ -3959,7 +5014,7 @@ At the present version, the lowermost bit of indicates
(see the description of \Param{jcharwidowpenalty} above).
%
%<*ja>
-æåã³ã¼ããã®æåãæã¤ä»å çãªå±æ§å¤(attribute)ï¼
+æåã³ã¼ããã®æåãæã¤ä»å çãªå±æ§å¤ï¼
ç¾å¨ã®ãã¼ã¸ã§ã³ã§ã¯ï¼ã®æä¸ä½ããããï¼ãã®æåãå¥èªç¹ã¨
ã¿ãªããããã©ããã表ãã¦ããï¼ä¸ã®\Param{jcharwidowpenalty}ã®è¨è¿°ãåç
§ï¼ï¼
%
@@ -3971,23 +5026,38 @@ At the present version, the lowermost bit of indicates
ãã®æåã®åã«æ¿å
¥/追å ãããããã«ãã£ã®éãæå®ããï¼
ä¾ãã°éãæ¬å¼§ãããã¯çµ¶å¯¾ã«è¡é ã«ãã¦ã¯ãªããªãã®ã§ï¼
-\begin{verbatim}
+\begin{lstlisting}
\ltjsetparameter{prebreakpenalty={`ã,10000}}
-\end{verbatim}
+\end{lstlisting}
ã¨ï¼æ大å¤ã®10000ãæ¨æºã§æå®ããã¦ããï¼ä»ã«ãï¼å°æ¸ãã®ã«ããªã©ï¼çµ¶å¯¾ç¦æ¢ã¨ã
ãããã§ã¯ãªããã§ããã°è¡é ã«ã¯ãã¦æ¬²ãããªãå ´åã«ï¼0ã¨
- 10000ã®éã®å¤ãæå®ããã®ãæç¨ã§ããã.
+ 10000ã®éã®å¤ãæå®ããã®ãæç¨ã§ãããï¼
+
+\pTeX ã§ã¯ï¼\cs{prebreakpenalty}, \cs{postbreakpenalty}ã«ããã¦ï¼
+\begin{itemize}
+\item ä¸ã¤ã®æåã«å¯¾ãã¦ï¼pre, postã©ã¡ããä¸ã¤ããæå®ãããã¨ãã§ããªã%
+ \footnote{å¾ããæå®ããæ¹ã§ä¸æ¸ããããï¼}
+\item pre, poståããã¦256æååã®æ
å ±ãæ ¼ç´ãããã¨ããã§ããªã
+\end{itemize}
+ã¨ããå¶éããã£ããï¼\LuaTeX-jaã§ã¯ãããã®å¶éã¯è§£æ¶ããã¦ããï¼
%
%<*en>
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.
-%
+\pTeX\ has following restrictions on \cs{prebreakpenalty} and \cs{postbreakpenalty},
+but they don't exist in \LuaTeX-ja:
+\begin{itemize}
+ \item Both \cs{prebreakpenalty} and \cs{postbreakpenalty} cannot be set
+for the same character.
+ \item We can set \cs{prebreakpenalty} and \cs{postbreakpenalty} up to 256~characters.
+\end{itemize}
+%
\item[\DParam{postbreakpenalty}\,=\{,\}$^\ast$]
[\cs{postbreakpenalty}]\
@@ -3995,25 +5065,10 @@ by default.
%<*ja>
æåã³ã¼ãã®\textbf{JAchar}ãè¡æ«ã«ãããã¨ãææ¢ããããã«ï¼
ãã®æåã®å¾ã«æ¿å
¥/追å ãããããã«ãã£ã®éãæå®ããï¼
-
-\pTeX ã§ã¯ï¼\cs{prebreakpenalty}, \cs{postbreakpenalty}ã«ããã¦ï¼
-\begin{itemize}
-\item ä¸ã¤ã®æåã«å¯¾ãã¦ï¼pre, postã©ã¡ããä¸ã¤ããæå®ãããã¨ãã§ããªãã£
- ãï¼å¾ããæå®ããæ¹ã§ä¸æ¸ããããï¼ï¼
-\item pre, poståããã¦256æååã®æ
å ±ãæ ¼ç´ãããã¨ããã§ããªãã£ãï¼
-\end{itemize}
-ã¨ããå¶éããã£ããï¼\LuaTeX-jaã§ã¯ãããã®å¶éã¯è§£æ¶ããã¦ããï¼
%
%<*en>
Set a penalty which is inserted automatically after the character ,
to prevent a line ends with this character.
-\pTeX\ has following restrictions on \cs{prebreakpenalty} and \cs{postbreakpenalty},
-but they don't exist in \LuaTeX-ja:
-\begin{itemize}
- \item Both \cs{prebreakpenalty} and \cs{postbreakpenalty} cannot be set
-for the same character.
- \item We can set \cs{prebreakpenalty} and \cs{postbreakpenalty} up to 256~characters.
-\end{itemize}
%
\item[\DParam{jatextfont}\,=\{,\}$^\ast$]
@@ -4027,11 +5082,13 @@ for the same character.
%[\TeX ã® \cs{scriptscriptfont}]
\item[\DParam{yjabaselineshift}\,=]\
\item[\DParam{yalbaselineshift}\,=] [\cs{ybaselineshift}]
+\item[\DParam{tjabaselineshift}\,=]\
+\item[\DParam{talbaselineshift}\,=] [\cs{tbaselineshift}]
\item[\DParam{jaxspmode}\,=\{,\}$^\ast$]\
%<*en>
-Setting whether inserting \Param{xkanjiskip} is allowed before/after a \textbf{JAchar} whose character code is .
+Set whether inserting \Param{xkanjiskip} is allowed before/after a \textbf{JAchar} whose character code is .
The followings are allowed for :
%
%<*ja>
@@ -4059,7 +5116,7 @@ This parameter is similar to the \cs{inhibitxspcode} primitive of \pTeX, but not
\item[\DParam{alxspmode}\,=\{,\}$^\ast$] [\cs{xspcode}]\
%<*en>
-Setting whether inserting \Param{xkanjiskip} is allowed before/after a
+Set whether inserting \Param{xkanjiskip} is allowed before/after a
\textbf{ALchar} whose character code is .
The followings are allowed for :
%
@@ -4096,6 +5153,13 @@ Note that parameters \Param{jaxspmode} and \Param{alxspmode} share a common tabl
ãããï¼èªç¶é·ã \cs{maxdimen} ã®å ´åã¯ï¼ä¾å¤çã«åæãã©ã³ãã®JFMå´ã§æå®ããã¦ãã
å¤ãæ¡ç¨ï¼ãã¡ãã¯ãã©ã³ããµã¤ãºã«æ¯ä¾ï¼ãããã¨ã«ãªã£ã¦ããï¼
%
+%<*en>
+The default glue which inserted between two \textbf{JAchar}s.
+Changing current Japanese font does not alter this parameter, as \pTeX.
+
+If the natural width of this parameter is \cs{maxdimen}, \LuaTeX-ja uses
+the value which is specified in the JFM for current Japanese font (See Subsection~\ref{ssec-jfm-str}).
+%
\item[\DParam{xkanjiskip}\,=$^\ast$] [\cs{xkanjiskip}]\
@@ -4104,6 +5168,14 @@ Note that parameters \Param{jaxspmode} and \Param{alxspmode} share a common tabl
\Param{kanjiskip}ã¨åãããã«ï¼é常ã§ã¯ãã©ã³ããµã¤ãºã«æ¯ä¾ãã¦å¤ãããã¨ã¯ãªããï¼
èªç¶é·ã \cs{maxdimen} ã®å ´åãä¾å¤ã§ããï¼
%
+%<*en>
+The default glue which inserted between a \textbf{JAchar} and an
+ \textbf{ALchar}.
+Changing current font does not alter this parameter, as \pTeX.
+
+As \Param{kanjiskip}, if the natural width of this parameter is \cs{maxdimen}, \LuaTeX-ja uses
+the value which is specified in the JFM for current Japanese font (See Subsection~\ref{ssec-jfm-str}).
+%
\item[\DParam{differentjfm}\,=$^\dagger$]\
@@ -4137,8 +5209,25 @@ The default value is \texttt{paverage}. \dots
\item[\DParam{jacharrange}\,=]
\item[\DParam{kansujichar}\,=\{, \}$^\ast$] [\cs{kansujichar}]
+\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$) ã¨åãå½¹å²ãæã¤ï¼
+å©ç¨å¯è½ãªç¶æ³ãããã4å½ä»¤ã¨åä¸ã§ããï¼å¼æ°ã4,~3, 1,~11ã®ãããã§ãç¡ãã¨ãã®
+åä½ã¯æªå®ç¾©ã§ããï¼
+%
+
\end{cslist}
+
\subsection{\cs{ltjgetparameter}}
\label{ssec-getpar}
%<*en>
@@ -4158,8 +5247,8 @@ always takes a parameter name as first argument.
%<*en>
\emph{The return value of\/ \cs{ltjgetparameter} is
-always a string}. This is outputted by \texttt{tex.write()}, so any
-character other than space~``\texttt{\char32}''~(\texttt{U+0020}) has the category code
+always a string}, which is outputted by \texttt{tex.write()}.
+Hence any character other than space~``\texttt{\char32}''~(\texttt{U+0020}) has the category code
12~(other), while the space has 10~(space).
%
%<*ja>
@@ -4191,7 +5280,7 @@ returns 1 or 0, not
%<*ja>
\verb+\ltjgetparameter{autospacing}+ 㨠\verb+\ltjgetparameter{autoxspacing}+ ã¯ï¼
\texttt{true}ã\texttt{false}ãè¿ãã®\emph{ã§ã¯ãªã}ï¼
-1ã¨0ã®ãããããè¿ããã¨ã«æ³¨æï¼
+1ã0ã®ãããããè¿ããã¨ã«æ³¨æï¼
%
\item
@@ -4200,7 +5289,7 @@ If first argument is one of the
following, an additional argument---a character code, for example---is needed.
%
%<*ja>
-第1å¼æ°ã次ã®ããããã®å ´åã«ã¯ï¼ããã«æåã³ã¼ãã第äºå¼æ°ã¨ãã¦ã¨ãï¼
+第1å¼æ°ã次ã®ããããã®å ´åã«ã¯ï¼ããã«æåã³ã¼ãã第2å¼æ°ã¨ãã¦ã¨ãï¼
%
\begin{quote}
\sffamily
@@ -4243,6 +5332,33 @@ of the result of \cs{kansuji}.
\item
%<*en>
+\verb+\ltjgetparameter{adjustdir}+ returns a integer which represents
+the direction of the surrounding vertical list.
+As \Param{direction}, the return value 1 means \emph{down-to-up} direction,
+3 means \emph{tate} direction (vertical typesetting),
+and 4 means \emph{yoko} direction (horizontal typesetting).
+%
+%<*ja>
+\verb+\ltjgetparameter{adjustdir}+ ã¯ï¼å¨å²ã®vboxã®çµæ¹åï¼è¨ãæããã°ï¼
+\cs{vadjust} ã§ç¨ããããçµæ¹åï¼ã表ãæ°å¤ãè¿ãï¼
+\Param{direction}ã¨åæ§ã«ï¼1㯠\cs{dtou} æ¹åãï¼
+3ã¯ç¸¦çµã¿ãï¼4ã¯æ¨ªçµã¿ã表ãï¼
+%
+
+\item
+%<*en>
+For an integer~ between 0~and~65535,
+\verb+\ltjgetparameter{boxdim}{+\verb+}+ returns the direction of
+\cs{box}. If this box register is void, the returned value is zero.
+%
+%<*ja>
+0--65535ã®æ°ã«å¯¾ãã¦ï¼
+\verb+\ltjgetparameter{boxdim}{+\verb+}+ ã¯ï¼\cs{box}ã«
+æ ¼ç´ããã¦ããããã¯ã¹ã®çµæ¹åã表ãï¼ãããã®ã¬ã¸ã¹ã¿ã空ã®å ´åã¯ï¼0ãè¿ãããï¼
+%
+
+\item
+%<*en>
The following parameter names \emph{cannot be specified} in \cs{ltjgetparameter}.
%
%<*ja>
@@ -4282,59 +5398,133 @@ by the following:
\verb+}}+\\\null\hfill\verb+% 0 if JAchar, 1 if ALchar+
\end{quote}
+%<*en>
+\item Because the returned value is string, the following conditionals do not work
+if \Param{kanjiskip} (or~\Param{xkanjiskip}) has the stretch part or the shrink part.
+\begin{lstlisting}
+\ifdim\ltjgetparameter{kanjiskip}>\z@ ... \fi
+\ifdim\ltjgetparameter{xkanjiskip}>\z@ ... \fi
+\end{lstlisting}
+The correct way is using a temporary register.
+\begin{lstlisting}
+\@tempskipa=\ltjgetparameter{kanjiskip} \ifdim\@tempskipa>\z@ ... \fi
+\@tempskipa=\ltjgetparameter{xkanjiskip}\ifdim\@tempskipa>\z@ ... \fi
+\end{lstlisting}
+%
+%<*ja>
+\item è¿ãå¤ãæååã§ãããã¨ããï¼\Param{kanjiskip}ã\Param{xkanjiskip}ãç´æ¥
+\ \cs{ifdim} ã使ã£ã¦æ¯è¼ãããã¨ã¯æã¾ãããªãï¼ä¼¸ã³éã縮ã¿éãæã£ã¦ããæã«ã¯ï¼
+次ã¯ã¨ã©ã¼ãçºçãããï¼
+\begin{lstlisting}
+\ifdim\ltjgetparameter{kanjiskip}>\z@ ... \fi
+\ifdim\ltjgetparameter{xkanjiskip}>\z@ ... \fi
+\end{lstlisting}
+ã¬ã¸ã¹ã¿ã«ä¸æ¦ä»£å
¥ããã®ãè¯ãï¼
+\begin{lstlisting}
+\@tempskipa=\ltjgetparameter{kanjiskip} \ifdim\@tempskipa>\z@ ... \fi
+\@tempskipa=\ltjgetparameter{xkanjiskip}\ifdim\@tempskipa>\z@ ... \fi
+\end{lstlisting}
+%
+
\end{itemize}
-\subsection{\texttt{\textbackslash ltjsetkanjiskip}, \texttt{\textbackslash ltjsetxkanjiskip}}
%<*ja>
-\verb+\ltjsetparameter+ 㨠\verb+\ltjglobalsetparameter+ ã¯ï¼å¼æ°ã常ã«key-valueãªã¹ãã§ã
-ãããï¼ä¸åã®å®è¡ã«æéããããã¨ããé£ç¹ãããï¼ç¹ã«ã¯ã©ã¹ \Pkg{ltjsclasses} ã«ããã¦ã¯ï¼
-ãã©ã³ããµã¤ãºã®è¨å®(\verb+\@setfontsize+)ãã¨ã«æ¯å
-\Param{kanjiskip}ã¨\Param{xkanjiskip}ãè¨å®ãããããï¼
-ããã«ããé度ä½ä¸ãé¡èãªãã®ã¨ãªã£ã¦ããï¼
+\subsection{\cs{ltjsetparameter} ã®ä»£æ¿}
+ååã¨ãã¦å種å
é¨ãã©ã¡ã¼ã¿ã®è¨å®ã«ã¯ \cs{ltjsetparameter} ãããã¯
+\ \cs{ltjglobalsetparameter}\ ãç¨ãããã¨ã«ãªããï¼
+\cs{ltjsetparameter} ã®å®è¡ã«ã¯æéããããã¨ããé£ç¹ãããï¼
+\LuaTeX-ja ã®å
é¨ã§ã¯ããé«éã«å®è¡ã§ããå¥ã®å½¢å¼ãç¨ãã¦ããï¼
+\emph{æ¬ç¯ã¯ä¸è¬å©ç¨è
ããã®å
容ã§ã¯ãªãï¼}
-ããã解決ããããï¼ããå
é¨ã«è¿ãå½ä»¤ã¨ãã¦\
-\verb+\ltjsetkanjiskip{+\verb+}+ ã¨\\
-\verb+\ltjsetxkanjiskip{+\verb+}+\ ã
-ç¨æããï¼ãããã®å®è¡ã®åã«ã¯ï¼\TeX ã® \verb+\globaldefs+ ã®å¤ãåæ ãããããã«\
-\verb+\ltj@setpar@global+\ ã®å®è¡ãå¿
è¦ã¨ãï¼
+\paragraph{\Param{kanjiskip}, \Param{xkanjiskip} ã®è¨å®}
+\pLaTeXe æ°ããã¥ã¡ã³ãã¯ã©ã¹ã§ã¯ï¼
+\begin{lstlisting}
+\def\@setfontsize#1#2#3{%
+ ...
+ \kanjiskip=0zw plus .1zw minus .01zw
+ \ifdim\xkanjiskip>\z@
+ \if@slide \xkanjiskip=0.1em \else
+ \xkanjiskip=0.25em plus 0.15em minus 0.06em
+ \fi
+ \fi}
+\end{lstlisting}
+ã¨ï¼ãã©ã³ããµã¤ãºãå¤æ´ãããã¨ã« \cs{kanjiskip}, \cs{xkanjiskip} ãå¤æ´ãã¦ããï¼
+ãã® \cs{@setfontsize} ã¯ææ¸ã®ä¸ã§å¤æ°åå®è¡ãããã®ã§ï¼
+\LuaTeX-ja ç¨ã«ç´ ç´ã«æ¸ãæãã
\begin{lstlisting}
-\ltj@setpar@global
-\ltjsetkanjiskip{0pt plus .1\zw minus .01\zw}
-\ltjsetxkanjiskip{0.25em plus 0.15em minus 0.06em}
+ \ltjsetparameter{kanjiskip=0\zw plus .1\zw minus .01\zw}
+ \@tempskipa=\ltjgetparameter{xkanjiskip}
+ \ifdim\@tempskipa>\z@
+ \if@slide
+ \ltjsetparameter{xkanjiskip=0.1em}
+ \else
+ \ltjsetparameter{xkanjiskip=0.25em plus 0.15em minus 0.06em}
+ \fi
+ \fi
\end{lstlisting}
-ã¨
+ã¨ããã®ã§ã¯ã¿ã¤ãã»ãããé
ããªã£ã¦ãã¾ãï¼
+ããã§ï¼\cs{ltjsetparameter} ã®ä¸ã§
+\begin{itemize}
+\item \cs{globaldefs} ã®å¤ãèªã¿åã \cs{ltj@setpar@global}
+\item \Param{kanjiskip} ã®è¨å®ãè¡ã \cs{ltjsetkanjiskip}
+\item \Param{xkanjiskip} ã®è¨å®ãè¡ã \cs{ltjsetxkanjiskip}
+\end{itemize}
+ãç¬ç«ããï¼\Pkg{ltjsclasses}ã§ã¯ï¼
\begin{lstlisting}
-\ltjsetparemeter{%
- kanjiskip=0pt plus .1\zw minus .01\zw,
- xkanjiskip=0.25em plus 0.15em minus 0.06em}
+ \ltj@setpar@global
+ \ltjsetkanjiskip{\z@ plus .1\zw minus .01\zw}
+ \@tempskipa=\ltjgetparameter{xkanjiskip}
+ \ifdim\@tempskipa>\z@
+ \if@slide
+ \ltjsetxkanjiskip.1em
+ \else
+ \ltjsetxkanjiskip.25em plus .15em minus .06em
+ \fi
+ \fi
\end{lstlisting}
-ã¯åãæå³ãæã¤ï¼
-%
-%<*en>
-\verb+\ltjsetparameter+ and \verb+\ltjglobalsetparameter+ are slow,
-since their argument is a key-value list.
-This can be a problem in \Pkg{ltjsclasses}, because
-\Param{kanjiskip} and \Param{xkanjiskip} are set in every font resizing commands
-(\verb+\@setfontsize+). To overcome this problem,
-this version of \LuaTeX-ja provides two more internal commands, namely
-\verb+\ltjsetkanjiskip{+\verb+}+ and \verb+\ltjsetxkanjiskip{+\verb+}+.
+ã¨ãã¦ããï¼
+\cs{ltj@setpar@global}ãç´åã«å®è¡ããï¼åç¬ã§
+\cs{ltjsetkanjiskip}, \cs{ltjsetxkanjiskip}ãå®è¡ãããã¨ã¯æ³å®ããã¦ããªãã®ã§æ³¨æï¼
-Note that \verb+\ltj@setpar@global+ command is needed before these two commands
-to reflect \TeX's internal parameter \verb+\globaldefs+.
+
+
+\paragraph{ãã¼ã¹ã©ã¤ã³è£æ£éã®è¨å®}
+\pLaTeX ã®\Pkg{ascmac}ããã±ã¼ã¸ã§ã¯ï¼ç¸¦çµã®æ¬§æãã¼ã¹ã©ã¤ã³è£æ£éã®ä¸æå¾
é¿ã»å¾©å¸°å¦çã«
+\ \cs{@saveybaselineshift}\ ã¨ãã寸æ³ã¬ã¸ã¹ã¿ãç¨ã
\begin{lstlisting}
-\ltj@setpar@global
-\ltjsetkanjiskip{0pt plus .1\zw minus .01\zw}
-\ltjsetxkanjiskip{0.25em plus 0.15em minus 0.06em}
+\@savetbaselineshift\tbaselineshift\tbaselineshift\z@
+...
+\tbaselineshift\@savetbaselineshift
\end{lstlisting}
-and
+ã¨ããå¦çãè¡ã£ã¦ããï¼
+
+ããã\LuaTeX-ja ç¨ã« \cs{ltjsetparameter} ã使ã£ã¦æ¸ãç´ãã¨ï¼
\begin{lstlisting}
-\ltjsetparemeter{%
- kanjiskip=0pt plus .1\zw minus .01\zw,
- xkanjiskip=0.25em plus 0.15em minus 0.06em}
+\@savetbaselineshift\ltjgetparameter{talbaselineshift}
+\ltjsetparameter{talbaselineshift=\z@}
+...
+\ltjsetparameter{talbaselineshift=\@savetbaselineshift}
\end{lstlisting}
-have the same meaning.
-%
+ã¨ãªãï¼
+ãã¦ï¼ç¸¦çµã®æ¬§æãã¼ã¹ã©ã¤ã³è£æ£é\Param{talbaselineshift}ã¯ï¼
+å®éã«ã¯ \cs{ltj@tablshift} ã¨ããå±æ§ã¬ã¸ã¹ã¿ã«æ ¼ç´ããã¦ãã
+ï¼\ref{sec-para}\nobreak ç¯åç
§ï¼ï¼å±æ§ã¬ã¸ã¹ã¿ã¯é·ãã§ã¯ãªãæ´æ°å¤ãæ ¼ç´ãã\footnote{%
+ å¾ã£ã¦ï¼\texttt{\textbackslash @savetbaselineshift=\textbackslash ltj@tablshift}\
+ ã®ããã«è¨è¿°ãããã¨ã¯ã§ããªãï¼å±æ§ã¬ã¸ã¹ã¿ã \cs{tbaselineshift} ã¨ããå称ã«ããªãã£
+ ãã®ã¯ãã®ããã§ããï¼
+}ãã®ã§ããï¼\cs{ltj@tablshift} ã¯è£æ£éã sp åä½ã§ä¿æãããã¨ããï¼
+ä¸è¨ã®ã³ã¼ãã¨åãå
容ãããéã以ä¸ã®ã³ã¼ãã§å®ç¾ãããã¨ãã§ããï¼
+\begin{lstlisting}
+\@savetbaselineshift\ltj@tablshift sp%
+\ltj@tablshift\z@
+...
+\ltj@tablshift\@savetbaselineshift
+\end{lstlisting}
+ãã®ææ³ã¯ \Pkg{ascmac} ããã±ã¼ã¸ã®\LuaTeX-ja対å¿ããã \Pkg{lltjp-tascmac.sty} ã§
+å®éã«ç¨ãããã¦ããï¼\Pkg{lltjp-tascmac.sty} ã¯èªåçã«èªã¿è¾¼ã¾ããã®ã§ï¼
+ã¦ã¼ã¶ã¯ä½ãæ°ã«ããæ®éã« \Pkg{ascmac} ããã±ã¼ã¸ã \cs{usepackage} ã§èªã¿ããã°è¯ãï¼
+%
%\section{Other Commands for plain \TeX\ and \LaTeXe}
@@ -4412,7 +5602,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} ã®æç¹ã§æ°´å¹³ã¢ã¼ãã«ãªãããã§ããï¼
%
@@ -4453,7 +5645,7 @@ With the help of this example, we remark the specification of \cs{inhibitglue}:
Using \cs{ltjdeclarealtfont}, one can ``compose'' more than one Japanese fonts.
This \cs{ltjdeclarealtfont} uses in the following form:
\begin{quote}
-\ttfamily \textbackslash ltjdeclarealtfont{}
+\ttfamily \textbackslash ltjdeclarealtfont\{\}
\end{quote}
where ~and~ are defined by \cs{jfont}.
Its meaning is
@@ -4461,17 +5653,16 @@ Its meaning is
If the current Japanese font is , characters which belong to
is typeset by another Japanese font , instead of .
\end{quote}
-
- is a comma-separated list of character codes, but also accepts negative integers:
+Here is a comma-separated list of character codes, but also accepts negative integers:
$-n$~($nâ¥1$) means that all characters of character classes~$n$, with respect to JFM used
by . Note that characters which do not exist in are
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}
@@ -4486,7 +5677,7 @@ are typeset by \cs{piyo}.
\cs{ltjdeclarealtfont} ã¯ä»¥ä¸ã®æ¸å¼ã§ä½¿ç¨ããï¼
\begin{quote}
-\ttfamily \textbackslash ltjdeclarealtfont{}
+\ttfamily \textbackslash ltjdeclarealtfont\{\}
\end{quote}
ããã¯ãç¾å¨ã®åæãã©ã³ãããã§ããã¨ãï¼
ã«å±ããæåã¯ãç¨ãã¦çµçãããï¼ã¨ããæå³ã§ããï¼
@@ -4503,9 +5694,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} ãç¨ããã
@@ -4576,21 +5767,24 @@ but on the other hand \cs{zw}~and~\cs{zh} are specified by JFM.
\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
- and Japanese font families are only made by their
- encodings. For example, encodings OT1 and T1 are for
- alphabetic font families, and a Japanese font family cannot
- have these encodings. This command defines a new encoding
+In NFSS2 under \LuaTeX-ja, distinction between alphabetic fonts
+ and Japanese fonts are only made by their
+ encodings. For example, encodings OT1 and T1 are encodings for
+ alphabetic fonts, and Japanese fonts cannot
+ have these encodings. These command define a new encoding
scheme for Japanese font families.
%
%<*ja>
-\LuaTeX-jaã®NFSS2ã«ããã¦ã¯ï¼æ¬§æãã©ã³ããã¡ããªã¨åæãã©ã³ããã¡ããªã¯
+\LuaTeX-jaã®NFSS2ã«ããã¦ã¯ï¼æ¬§æãã©ã³ãã¨åæãã©ã³ãã¯
ãã®ã¨ã³ã³ã¼ãã£ã³ã°ã«ãã£ã¦ã®ã¿åºå¥ãããï¼
-ä¾ãã°ï¼OT1ã¨T1ã®ã¨ã³ã³ã¼ãã£ã³ã°ã¯æ¬§æãã©ã³ããã¡ããªã«å¯¾ãããã®ã§ããï¼
-åæãã©ã³ããã¡ããªã¯ãããã®ã¨ã³ã³ã¼ãã£ã³ã°ãæã¤ãã¨ã¯ã§ããªãï¼
-ãã®ã³ãã³ãã¯æ¨ªçµç¨åæãã©ã³ãã®ããã®æ°ããã¨ã³ã³ã¼ãã£ã³ã°ã
+ä¾ãã°ï¼OT1ã¨T1ã®ã¨ã³ã³ã¼ãã£ã³ã°ã¯æ¬§æãã©ã³ãã®ã¨ã³ã³ã¼ãã£ã³ã°ã§ããï¼
+åæãã©ã³ãã¯ãããã®ã¨ã³ã³ã¼ãã£ã³ã°ãæã¤ãã¨ã¯ã§ããªãï¼
+ãããã³ãã³ãã¯æ¨ªçµç¨ã»ç¸¦çµç¨åæãã©ã³ãã®ããã®æ°ããã¨ã³ã³ã¼ãã£ã³ã°ã
ããããå®ç¾©ããï¼
%
@@ -4606,7 +5800,7 @@ In NFSS2 under \LuaTeX-ja, distinction between alphabetic font families
The above 3~commands are just the counterparts for \cs{DeclareFontEncodingDefaults} and~others.
%
%<*ja>
-ä¸è¨3ã¤ã®ã³ãã³ãã¯ã¡ããã© \cs{DeclareFontEncodingDefaults} ãªã©ã«å¯¾å¿ãããã®ã§ããï¼
+ä¸è¨3ã¤ã®ã³ãã³ãã¯ã¡ããã©NFSS2 ã® \cs{DeclareFontEncodingDefaults} ãªã©ã«å¯¾å¿ãããã®ã§ããï¼
%
\item[\cs{reDeclareMathAlphabet}\{\}\{\}\{\}]
@@ -4638,12 +5832,12 @@ The above 3~commands are just the counterparts for \cs{DeclareFontEncodingDefaul
\item[\cs{DeclareRelationFont}\{\}\{\}\{\}\{\}\\*
\null\hfill\{\}\{\}\{\}\{\}]
%<*en>
-This command sets the ``accompanied'' alphabetic font family (given by the latter 4~arguments)
-with respect to a Japanese font family given by the former 4~arguments.
+This command sets the ``accompanied'' alphabetic font (given by the latter 4~arguments)
+with respect to a Japanese font given by the former 4~arguments.
%
%<*ja>
-ãããããå¾å±æ¬§æããè¨å®ããããã®å½ä»¤ã§ããï¼ååã®4å¼æ°ã§è¡¨ãããåæãã©ã³ããã¡ããªã«å¯¾ãã¦ï¼
-ãã®ãã©ã³ãã«å¯¾å¿ãããå¾å±æ¬§æãã®ãã©ã³ããã¡ããªãå¾åã®4å¼æ°ã«ããä¸ããï¼
+ãããããå¾å±æ¬§æããè¨å®ããããã®å½ä»¤ã§ããï¼ååã®4å¼æ°ã§è¡¨ãããåæãã©ã³ãã«å¯¾ãã¦ï¼
+ãã®ãã©ã³ãã«å¯¾å¿ãããå¾å±æ¬§æãã®ãã©ã³ããå¾åã®4å¼æ°ã«ããä¸ããï¼
%
\item[\cs{SetRelationFont}]
%<*en>
@@ -4666,7 +5860,7 @@ Like \cs{fontfamily}, \cs{selectfont} is required to take an effect.
%<*ja>
ç¾å¨ã®æ¬§æãã©ã³ãã®ã¨ã³ã³ã¼ãã£ã³ã°ï¼ãã¡ããªï¼â¦â¦ ãï¼
\cs{DeclareRelationFont} ã \cs{SetRelationFont} ã§æå®ããã
-ç¾å¨ã®åæãã©ã³ããã¡ããªã«å¯¾å¿ãããå¾å±æ¬§æããã©ã³ããã¡ããªã«å¤æ´ããï¼
+ç¾å¨ã®åæãã©ã³ãã«å¯¾å¿ãããå¾å±æ¬§æããã©ã³ãã«å¤æ´ããï¼
\cs{fontfamily} ã®ããã«ï¼æå¹ã«ããããã«ã¯ \cs{selectfont} ãå¿
è¦ã§ããï¼
%
@@ -4680,7 +5874,8 @@ to match the vertical center of ``M'' and that of ``ã'' in vertical typesetti
+ d_{\text{ã}} - d_{\text{M}},
\]
where $h_{a}$~and~$d_{a}$ denote the height of ``$a$'' and the depth, respectively.
-In \LuaTeX-ja, this \cs{adjustbaseline} does same task.
+In \LuaTeX-ja, this \cs{adjustbaseline} does same task, namely setting the
+ \Param{talbaselineshift} parameter.
%
%<*ja>
\pLaTeXe ã§ã¯ï¼\cs{adjustbaseline} ã¯ç¸¦çµæã«ãMãã¨ãããã®ä¸å¿ç·ãä¸è´ãããããã«ï¼
@@ -4691,74 +5886,22 @@ In \LuaTeX-ja, this \cs{adjustbaseline} does same task.
+ d_{\text{ã}} - d_{\text{M}},
\]
ããã§ï¼$h_{a}$,~$d_{a}$ã¯ããããã$a$ãã®é«ãã»æ·±ãã表ãï¼
+\LuaTeX-jaã«ããã¦ã\cs{adjustbaseline} ã¯åæ§ã«\Param{talbaselineshift}ãã©ã¡ã¼ã¿ã®èª¿æ´å¦
+ çãè¡ã£ã¦ããï¼
-ç¾å¨ã®\LuaTeX-jaã¯ç¸¦çµããµãã¼ããã¦ããªãã®ã§ï¼ãã® \verb+\adjustbaseline+ ã¯
-ã»ã¨ãã©ä½ããã¦ããªãï¼
+åæã«ï¼ããã\pLaTeXe ã® \cs{adjustbaseline} ã§è¡ããã¦ãããï¼
+ãæ¼¢ãã®å¯¸æ³ãå
ã«ï¼ï¼æ¬ç¯ã®æåã«è¿°ã¹ãï¼å°æåã§å§ã¾ãï¼\cs{cht}, \cs{cwd} ã¨ãã£ãé·ãå¤æ°ãè¨å®ããï¼
%
\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:
+to . See Subsection~\ref{ssec-fontfamilycmd} for detail.
%
%<*ja>
å
ã
ã®\LaTeXe ã«ããããã®ã¨åæ§ã«ï¼ãã®ã³ãã³ãã¯ç¾å¨ã®ãã©ã³ããã¡ããªï¼æ¬§æï¼
-åæï¼\emph{ãããã¯ä¸¡æ¹}ï¼ãã«å¤æ´ããï¼
-ã©ã®ãã¡ããªãå¤æ´ããããã¯ä»¥ä¸ã®ããã«ãã¦æ±ºå®ãããï¼
-%
-\begin{itemize}
-%<*en>
-\item Let current encoding scheme for Japanese fonts be
- . Current Japanese font family will be changed to
- , if one of the following two conditions is met:
-%
-%<*ja>
-\item ç¾å¨ã®åæãã©ã³ãã«å¯¾ããã¨ã³ã³ã¼ãã£ã³ã°ãã§ããã¨ãããï¼
- ç¾å¨ã®åæãã©ã³ããã¡ããªã¯ï¼ä»¥ä¸ã®2ã¤ã®æ¡ä»¶ã®ãã¡ã®1ã¤ãæºãããã¦ããã¨ãã«
- ã«å¤æ´ãããï¼
-%
-\begin{itemize}
-%<*en>
-\item The family under the encoding has been already defined by
- \cs{DeclareKanijFamily}.
-%
-%<*ja>
-\item ã¨ã³ã³ã¼ãã£ã³ã°ã«ããããã¡ããªã
-æ¢ã« \cs{DeclareKanjiFamily} ã«ãã£ã¦å®ç¾©ããã¦ããï¼
-%
-%<*en>
-\item A font definition named \texttt{.fd} (the file name is
- all lowercase) exists.
-%
-%<*ja>
-\item ãã©ã³ãå®ç¾©ãã¡ã¤ã«\texttt{.fd}ï¼ãã¡ã¤ã«åã¯å
¨ã¦å°æåï¼ãåå¨ããï¼
-%
-\end{itemize}
-%<*en>
-\item Let current encoding scheme for alphabetic fonts be
- . For alphabetic font family, the criterion as above is used.
-%
-%<*ja>
-\item ç¾å¨ã®æ¬§æãã©ã³ãã«å¯¾ããã¨ã³ã³ã¼ãã£ã³ã°ãã¨ããï¼
- 欧æãã©ã³ããã¡ããªã«å¯¾ãã¦ãï¼ä¸è¨ã®åºæºãç¨ããããï¼
-%
-%<*en>
-\item There is a case which none of the above applies, that is, the font
- family named doesn't seem to be defined neither under the
- encoding , nor under .
-In this case, the default family for font substitution is used for
- alphabetic and Japanese fonts. Note that current encoding will not
- be set to , unlike the original implementation in \LaTeX.
-%
-%<*ja>
-\item ä¸è¨ã®ãããããé©ç¨ãããªãï¼ã¤ã¾ããã¨ã®
- ã©ã¡ãã§ãå®ç¾©ãããªããããªå ´åãããï¼
- ãã®å ´åï¼ä»£æ¿ãã©ã³ãã«ç¨ããããããã©ã«ãã®ãã©ã³ããã¡ããªã欧æãã©ã³ãã¨
- åæãã©ã³ãã«ç¨ããããï¼\LaTeX ã®ãªãªã¸ãã«ã®å®è£
ã¨ã¯ç°ãªãï¼
- ç¾å¨ã®ã¨ã³ã³ã¼ãã£ã³ã°ã¯ã«ã¯è¨å®ãããªããã¨ã«æ³¨æããï¼
+åæï¼\emph{ãããã¯ä¸¡æ¹}ï¼ãã«å¤æ´ããï¼è©³ç´°ã¯\ref{ssec-fontfamilycmd}ç¯ãåç
§ãããã¨ï¼
%
-\end{itemize}%
-%\vspace{-\medskipamount}
\begin{figure}[!tb]
@@ -4835,6 +5978,172 @@ Avant Garde (OT1/pag/m/n) ã«å¤ãã£ã¦ãããã¨ããããï¼
\userelfont\selectfont ãããabc
\end{LTXexample}
+%\subsection{\cs{fontfamily}}
+%\subsection{\cs{fontfamily}}
+\label{ssec-fontfamilycmd}
+%<*en>
+In this subsection, we describe when \cs{fontfamily} changes current
+Japanese/alphabetic font family. Basically, current Japanese fotn family is changed to
+ if it is recognized as a Japanese font family, and similar with alphabetic font
+family. There is a case that current Japanese/alphabetic font family are both changed to
+, and another case that isn't recognized as a Japanese/alphabetic font
+family either.
+
+\paragraph{Recognition as Japanese font family}
+First, Whether Japanese font family will be changed is determined in following order.
+This order is very similar to \cs{fontfamily} in \pLaTeXe, but we re-implemented in Lua.
+We use an auxiliary list~$N_{\mathrm{J}}$.
+%
+%<*ja>
+æ¬ç¯ã§ã¯ï¼\cs{fontfamily} ããã¤åæ/欧æãã©ã³ããã¡ããªãå¤æ´ãããã«ã¤ãã¦è§£èª¬
+ããï¼åºæ¬çã«ã¯ï¼ãåæãã©ã³ããã¡ããªã ã¨èªèãããã°åæå´ãï¼æ¬§æãã©ã³ããã¡
+ããªã ã¨èªèãããã°æ¬§æå´ãå¤æ´ãããï¼ã©ã¡ãã¨ãèªèãããã°åæã»æ¬§æã®ä¸¡æ¹ãå¤ããã
+ã¨ã«ãªããï¼å½ç¶ã©ã¡ãã¨ãèªèãããªããã¨ãããï¼
+
+\paragraph{åæãã©ã³ããã¡ããªã¨ãã¦ã®èªè}
+ã¾ãï¼ãåæãã©ã³ããã¡ããªã¨ãã¦èªèããããã¯ä»¥ä¸ã®é åºã§æ±ºå®ãããï¼
+ããã¯\pLaTeXe ã® \cs{fontfamily} ã«ã¨ã¦ãä¼¼ã¦ãããï¼ããã§ã¯Luaã«ãã£ã¦å®è£
ãã¦ããï¼
+è£å©çã«ãåæãã©ã³ããã¡ããªã§ã¯ãªãã¨èªèãããããã¡ããªãæ ¼ç´ãããªã¹ã$N_{\mathrm{J}}$ãç¨ããï¼
+%
+\begin{enumerate}
+%<*en>
+\item If the family~ has been defined already by \cs{DeclareKanjiFamily},
+ is recognized as a Japanese font family.
+ Note that need not be defined under \emph{current} Japanese font encoding.
+%
+%<*ja>
+\item ãã¡ããªãæ¢ã« \cs{DeclareKanjiFamily} ã«ãã£ã¦å®ç¾©ããã¦ããå ´åï¼
+ ã¯åæãã©ã³ããã¡ããªã§ããã¨èªèãããï¼
+ ããã§ï¼ã¯ç¾å¨ã®åæãã©ã³ãã¨ã³ã³ã¼ãã£ã³ã°ã§å®ç¾©ããã¦ããªãã¦ãããï¼
+%
+%<*en>
+\item If the family~ has been listed in a list~$N_{\mathrm{J}}$, this means
+ that is not a Japanese font family.
+%
+%<*ja>
+\item ãã¡ããªããªã¹ã$N_{\mathrm{J}}$ã«æ¢ã«å«ã¾ãã¦ããã°ï¼ããã¯
+ ãåæãã©ã³ããã¡ããªã§ã¯ãªããã¨ãæå³ããï¼
+%
+%<*en>
+\item If the \Pkg{luatexja-fontspec} package is loaded, we stop here, and is not
+ recognized as a Japanese font family.
+
+ If the \Pkg{luatexja-fontspec} package is \emph{not} loaded,
+now \LuaTeX-ja looks whether there exists a Japanese font encoding~ such that
+ a font definition named \texttt{.fd} (the file name is
+ all lowercase) exists. If so, is recognized as a Japanese font family (the font definition file won't be loaded here).
+ If not, is not a Japanese font family, and
+ is appended to the list~$N_{\mathrm{J}}$.
+%
+%<*ja>
+\item ãã\Pkg{luatexja-fontspec}ããã±ã¼ã¸ãèªã¿è¾¼ã¾ãã¦ããã°ï¼ããã§çµäºã§ããï¼
+ã¯åæãã©ã³ããã¡ããªã¨ãã¦èªèãããªããã¨ã«ãªãï¼
+
+ãã\Pkg{luatexja-fontspec}ããã±ã¼ã¸ãèªã¿è¾¼ã¾ãã¦ããªããã°ï¼åæã¨ã³ã³ã¼ãã£ã³ã°ã§
+ãã©ã³ãå®ç¾©ãã¡ã¤ã«\texttt{.fd}ï¼ãã¡ã¤ã«åã¯å
¨ã¦å°æåï¼ãåå¨ãããããªã
+ ã®ããããã©ããã調ã¹ãï¼
+åå¨ããã°ï¼ã¯åæãã©ã³ããã¡ããªã¨èªèãããï¼ãã©ã³ãå®ç¾©ãã¡ã¤ã«ã¯èªã¿è¾¼ã¾ããª
+ ãï¼ï¼
+åå¨ããªããã°ï¼ã¯åæãã©ã³ããã¡ããªã§ãªãã¨èªèããï¼ãªã¹ã$N_{\mathrm{J}}$ã«ã追å ãããã¨ã§ãããè¨æ¶ããï¼
+
+%
+\end{enumerate}
+
+%<*en>
+\paragraph{Recognition as alphabetic font family}
+Next, whether alphabetic font family will be changed is determined in following order.
+We use auxiliary lists $F_{\mathrm{A}}$~and~$N_{\mathrm{A}}$,
+%
+%<*ja>
+\paragraph{欧æãã©ã³ããã¡ããªã¨ãã¦ã®èªè}
+åæ§ã«ï¼ãåæãã©ã³ããã¡ããªã¨ãã¦èªèããããã¯ä»¥ä¸ã®é åºã§æ±ºå®ãããï¼
+è£å©çã«ã欧æãã©ã³ããã¡ããªã¨æ¢ã«èªèãããããã¡ããªã®ãªã¹ã$F_{\textrm{A}}$ã¨ï¼
+ã欧æãã©ã³ããã¡ããªã§ã¯ãªãã¨èªèãããããã¡ããªãæ ¼ç´ãããªã¹ã$N_{\mathrm{A}}$ãç¨ããï¼
+%
+
+\begin{enumerate}
+%<*en>
+\item If the family~ has been listed in a list~$F_{\mathrm{A}}$,
+ is recognized as an alphabetic font family.
+%
+%<*ja>
+\item ãã¡ããªããªã¹ã$F_{\mathrm{A}}$ã«æ¢ã«å«ã¾ãã¦ããã°ï¼
+ ã¯æ¬§æãã©ã³ããã¡ããªã¨èªèãããï¼
+%
+%<*en>
+\item If the family~ has been listed in a list~$N_{\mathrm{A}}$, this means
+ that is not an alphabetic font family.
+%
+%<*ja>
+\item ãã¡ããªããªã¹ã$N_{\mathrm{A}}$ã«æ¢ã«å«ã¾ãã¦ããã°ï¼ããã¯
+ ã欧æãã©ã³ããã¡ããªã§ã¯ãªããã¨ãæå³ããï¼
+%
+%<*en>
+\item If there exists an alphabetic font encoding such that the family~ has been
+ defined under it, is recognized as an alphabetic font family, and
+ to memorize this, is appended to the list~$F_{\mathrm{A}}$.
+%
+%<*ja>
+\item ãã欧æãã©ã³ãã¨ã³ã³ã¼ãã£ã³ã°ä¸ã§ãã¡ããªãå®ç¾©ããã¦ããã°ï¼
+ ã¯æ¬§æãã©ã³ããã¡ããªã¨èªèããï¼ãªã¹ã$F_{\mathrm{A}}$ã«ã追å ãããã¨ã§ãã®ãã¨ãè¨æ¶ããï¼
+%
+%<*en>
+\item Now \LuaTeX-ja looks whether there exists an alphabetic font encoding~ such that
+ a font definition named \texttt{.fd} (the file name is
+ all lowercase) exists. If so, current alphabetic font family will be changed to
+ ~(the font definition file won't be loaded here).
+ If not, current alphabetic font family won't be changed, and
+ is appended to the list~$N_{\mathrm{A}}$.
+%
+%<*ja>
+\item æçµæ®µéã§ã¯ï¼æ¬§æã¨ã³ã³ã¼ãã£ã³ã°ã§
+ãã©ã³ãå®ç¾©ãã¡ã¤ã«\texttt{.fd}ï¼ãã¡ã¤ã«åã¯å
¨ã¦å°æåï¼ãåå¨ãããããªã
+ ã®ããããã©ããã調ã¹ãï¼
+åå¨ããã°ï¼ã¯æ¬§æãã©ã³ããã¡ããªã¨èªèãããï¼ãã©ã³ãå®ç¾©ãã¡ã¤ã«ã¯èªã¿è¾¼ã¾ããªãï¼ï¼
+åå¨ããªããã°ï¼ã¯æ¬§æãã©ã³ããã¡ããªã¨èªèãããªãã®ã§ï¼ãªã¹ã$N_{\mathrm{A}}$ã«
+ ã追å ãã¦ãã®ãã¨ãè¨æ¶ããï¼
+%
+\end{enumerate}
+
+%<*en>
+Also, each call of \cs{DeclareFontFamily} \emph{after} loading of \LuaTeX-ja makes
+the second argument (family) is appended to the list~$F_{\mathrm{A}}$.
+%
+%<*ja>
+ã¾ãï¼\cs{DeclareFontFamily}ã\LuaTeX-jaã®èªã¿è¾¼ã¿å¾ã«å®è¡ãããå ´åã¯ï¼
+第2å¼æ°ï¼ãã¡ããªåï¼ãèªåçã«$F_{\mathrm{A}}$ã«è¿½å ãããï¼
+%
+
+%<*en>
+The above order is very similar to \cs{fontfamily} in \pLaTeXe, but more complicated (clause~3.).
+This is because \pLaTeXe\ is a \emph{format} however \LuaTeX-ja is not,
+hence \LuaTeX-ja does not know calls of \cs{DeclareFontFamily} \emph{before} itself is
+loaded.
+%
+%<*ja>
+以ä¸ã®æ¹éã¯\pLaTeXe ã«ããã \cs{fontfamily} ã«ãã¯ãé¡ä¼¼ãã¦ãããï¼3.ãå ããè¥å¹²è¤éã«ãªã£ã¦ããï¼
+ããã¯\pLaTeXe ããã©ã¼ãããã§ããã®ã«å¯¾ã\LuaTeX-jaã¯ããã§ãªãããï¼
+\LuaTeX-jaã¯èªèº«ãèªã¿è¾¼ã¾ããåã«ã©ããã\cs{DeclareFontFamily}ã®å¼ã³åºãããã£ãã
+ææ¡ã§ããªãããã§ããï¼
+%
+
+%\paragraph{Remarks}
+%\paragraph{注æ}
+%<*en>
+Of course, there is a case that is not recognized as a Japanese font family, nor
+an alphabetic font family.
+In this case, \LuaTeX-ja treats ``the argument is wrong'', so
+set both current alphabetic and Japanese font family to ,
+to use the default family for font substitution.
+%
+%<*ja>
+ãã¦ï¼å¼æ°ã«ãã£ã¦ã¯ï¼ãåæãã©ã³ããã¡ããªã¨ã欧æãã©ã³ããã¡ããªãèªèãããªãã£ãã
+ã¨ããäºæ
ãããå¾ãï¼
+ ãã®å ´åï¼å¼æ°ã¯ä¸æ£ã ã£ãï¼ã¨ãããã¨ã«ãªãã®ã§ï¼
+åæã»æ¬§æã®ä¸¡æ¹ã®ãã©ã³ããã¡ããªãã«è¨å®ãï¼ä»£ç¨ãã©ã³ãã使ãããã«ä»»ãããã¨ã«ããï¼
+%
+
+
%<*en>
\section{Addons}
\LuaTeX-ja has several addon packages.
@@ -4860,9 +6169,8 @@ the following ``font features'' specifications are allowed for
the commands of Japanese version:
%
%<*ja>
-\ref{ssec-fontspec}ç¯ã§è¿°ã¹ãããã«ï¼ãã®è¿½å ããã±ã¼ã¸ã¯\Pkg{fontspec}
+\ref{ssec-fontspec}ç¯ã§è¿°ã¹ãããã«ï¼ãã®è¿½å ããã±ã¼ã¸ã¯\Pkg{fontspec}%
ããã±ã¼ã¸ã§å®ç¾©ããã¦ããã³ãã³ãã«å¯¾å¿ããåæãã©ã³ãç¨ã®ã³ãã³ããæä¾ããï¼
-\emph{以ä¸ã«è¿°ã¹ãåæçã®å½ä»¤ã®èª¬æ㯠\Pkg{fontspec}~v2.4 使ç¨æã«ã®ã¿å½ã¦ã¯ã¾ãï¼}
\Pkg{fontspec}ããã±ã¼ã¸ã§æå®å¯è½ãªå種font featureã«å ãã¦ï¼åæçã®ã³ãã³ãã«ã¯
以ä¸ã®``font feature''ãæå®ãããã¨ãã§ããï¼
@@ -4880,7 +6188,9 @@ See Subsections~\ref{ssec-jfont} and \ref{ssec-psft} for details
\texttt{jfmvar} keys.
The \texttt{CID} key is effective only when with \texttt{NoEmbed}
-described below.
+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},~\cs{tfont}ã«å¯¾ãã
@@ -4889,6 +6199,9 @@ described below.
ã¨\ref{ssec-psft}ç¯ãåç
§ï¼
\texttt{CID} ãã¼ã¯ä¸ã® \texttt{NoEmbed} ã¨åããã¦ç¨ããããã¨ãã®ã¿æå¹ã§ããï¼
+ã¾ãï¼æ¨ªçµç¨JFMã¨ç¸¦çµç¨JFMã¯å
±ç¨ã§ããªãããï¼å®éã« \texttt{JFM} ãã¼ãç¨ããéã¯
+å¾ã«è¿°ã¹ã\ \texttt{YokoFeatures} ãã¼ã \texttt{TateFeatures}\ ã®ä¸ã§ç¨ãã
+ãã¨ã«ãªãï¼
%
\item[NoEmbed]
@@ -4902,6 +6215,47 @@ will not be embedded in the output PDF file. See Subsection~\ref{ssec-psft}.
%
\begin{figure}[!tb]
+\begin{LTXexample}[width=0.25\textwidth]
+\jfontspec[
+ YokoFeatures={Color=007F00}, TateFeatures={Color=00007F},
+ TateFont=KozGoPr6N-Regular
+]{KozMinPr6N-Regular}
+\hbox{\yoko 横çµã®ãã¹ã}\hbox{\tate 縦çµã®ãã¹ã}
+\addjfontfeatures{Color=FF0000}
+\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=]
+%<*en>
+The \texttt{TateFeatures} key specifies font features which are only turned~on in
+vertical writing, such as \texttt{Style=VerticalKana}~(\texttt{vkna} feature).
+Similarly, the \texttt{TateFont} key specifies the Japanese font which will be used only
+ in vertical writing.
+A demonstrarion is shown in Figure~\ref{fig:yokotate-fontspec}.
+%
+%<*ja>
+縦çµã«ããã¦ä½¿ç¨ããããã©ã³ããï¼ç¸¦çµã«ããã¦ã®ã¿é©ç¨ãããfeatureéã
+æå®ããï¼ä½¿ç¨ä¾ã¯å³\ref{fig:yokotate-fontspec}åç
§ï¼
+%
+
+\item[YokoFeatures=\{\}]
+%<*en>
+The \texttt{YokoFeatures} key specifies font features which are only turned~on in
+horizontal writing,.
+A demonstrarion is shown in Figure~\ref{fig:yokotate-fontspec}.
+%
+%<*ja>
+åæ§ã«ï¼æ¨ªçµã«ããã¦ã®ã¿é©ç¨ãããfeatureéã
+æå®ããï¼ä½¿ç¨ä¾ã¯å³\ref{fig:yokotate-fontspec}åç
§ï¼
+%
+
+
+\begin{figure}[!tb]
\begin{LTXexample}[pos=b]
\jfontspec[
AltFont={
@@ -4943,22 +6297,90 @@ AltFont = {
...
}
\end{lstlisting}
-%<*en>
-Each sublist should have the \texttt{Range} key
-(sublist which does not contain \texttt{Range} key is simply ignored).
-A demonstrarion is shown in Figure~\ref{fig:altkanji-fontspec}.
+%<*en>
+Each sublist should have the \texttt{Range} key
+(sublist which does not contain \texttt{Range} key is simply ignored).
+A demonstrarion is shown in Figure~\ref{fig:altkanji-fontspec}.
+%
+%<*ja>
+åé¨åãªã¹ãã«ã¯ \texttt{Range} ãã¼ãå¿
é ã§ããï¼å«ã¾ããªãé¨åãªã¹ãã¯
+åç´ã«ç¡è¦ãããï¼ï¼æå®ä¾ã¯å³\ref{fig:altkanji-fontspec}ã«ç¤ºããï¼
+%
+\end{cslist}
+
+%<*ja>
+ãªãï¼\Pkg{luatexja-fontspec} èªã¿è¾¼ã¿æã«ã¯åæãã©ã³ãå®ç¾©ãã¡ã¤ã«%
+\texttt{.fd}ã¯å
¨ãåç
§ãããªããªãï¼
+%
+
+
+%<*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}.
+
+Note that features which are specified in \texttt{YokoFeatures}~and~\texttt{TateFeatures}
+are always interpreted \emph{after} other ``direction-independent'' features.
+This explains why \cs{addjfontfeatures} at~line~6 in~Figure~\ref{fig:yokotate-fontspec}
+has no effect, because a color specification is already done in
+\texttt{YokoFeatures}~and~\texttt{TateFeatures} keys.
%
%<*ja>
-åé¨åãªã¹ãã«ã¯ \texttt{Range} ãã¼ãå¿
é ã§ããï¼å«ã¾ããªãé¨åãªã¹ãã¯
-åç´ã«ç¡è¦ãããï¼ï¼æå®ä¾ã¯å³\ref{fig:altkanji-fontspec}ã«ç¤ºããï¼
-%
-\end{cslist}
+\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} ãæå®ãããã¨ãã§ããï¼
+
+ã¾ãï¼å³\ref{fig:yokotate-fontspec}å¾åé¨ã§ã¯6è¡ç®ã®è²ã®æå®ãå¹ããï¼
+2è¡ç®ã§æå®ãã\ \texttt{YokoFeatures},~\texttt{TateFeatures}\ ã«ããè²ã®æå®ãæå¹ã«ãªã£
+ãã¾ã¾ã§ããï¼ããã¯\emph{\ \texttt{YokoFeatures},~\texttt{TateFeatures}\ ã«ããfeatureæå®ã¯
+çµæ¹åã«ä¾åããªãfeatureæå®ããå¾ã«è§£éããã}ããã§ããï¼
-%<*ja>
-ãªãï¼\Pkg{luatexja-fontspec} èªã¿è¾¼ã¿æã«ã¯åæãã©ã³ãå®ç¾©ãã¡ã¤ã«%
-\texttt{.fd}ã¯å
¨ãåç
§ãããªããªãï¼
%
+
\subsection{\texttt{luatexja-otf.sty}}
\label{ssec-ltjotf}
%<*en>
@@ -4990,16 +6412,24 @@ but please remind remarks below.
%
%<*ja>
æåã³ã¼ããï¼16é²ã§ï¼ã®æåãåºåããï¼
-ãã®ã³ãã³ã㯠\verb+\char"+ã¨ä¼¼ã¦ãããï¼ä¸ã®è¨è¿°ã«æ³¨æãããã¨ï¼%"
+ãã®ã³ãã³ã㯠\verb+\char"+ã¨ä¼¼ã¦ãããï¼ä¸ã®æ³¨æãåç
§ãããã¨ï¼%"
%
\end{cslist}
%<*ja>
-ãã®ããã±ã¼ã¸ã¯ï¼\texttt{ajmacros.sty}ï¼\Pkg{otf}ããã±ã¼ã¸ä»å±ã®ãã¯ãéï¼äºä¸æµ©ä¸æ°ä½ï¼ãã
-æ¼¢åã³ã¼ããUTF8ã«ãããï¼plain \LuaTeX ã§ãå©ç¨å¯è½ã«ããã¨ãã
-ä¿®æ£ãå ãã \texttt{luatexja-ajmacros.sty} ãèªåçã«èªã¿è¾¼ãï¼
-ãã®ããï¼\texttt{ajmacros.sty} ãã¯ãéã«ãã \verb+\ajåè§+ ãªã©ã®ãã¯ãããã®ã¾ã¾ä½¿ç¨å¯è½ã§ããï¼
+ãã®ããã±ã¼ã¸ã¯ï¼ãã¯ãé \texttt{luatexja-ajmacros.sty}\footnote{\Pkg{otf}ããã±ã¼ã¸ä»å±ã®äºä¸æµ©ä¸æ°ã«ãããã¯ãé
+\texttt{ajmacros.sty} ã«å¯¾ãã¦
+æ¼¢åã³ã¼ããUTF-8ã«ãããï¼plain \LuaTeX ã§ãå©ç¨å¯è½ã«ããã¨ãã
+ä¿®æ£ãå ãããã®ã§ããï¼}\ ãèªåçã«èªã¿è¾¼ãï¼
+\texttt{luatexja-ajmacros.sty} ã¯ï¼
+ãã®ããï¼\Pkg{luatexja-otf} ãèªã¿ããã° \texttt{ajmacros.sty} ãã¯ãéã«ãã \cs{ajåè§} ãªã©ã®ãã¯ãããã®ã¾ã¾ä½¿ããã¨ãã§ããï¼
%
+%<*en>
+This package automatically loads \texttt{luatexja-ajmacros.sty}, which is slightly
+modified version of \texttt{ajmacros.sty}\footnote{Useful macros by iNOUE Koich!, for the
+\Pkg{japanese-otf} package.}.
+Hence one can use macros which sre defined in \texttt{ajmacros.sty}, such as~\cs{ajåè§}.
+%
%\paragraph{Remarks}
%\paragraph{注æ}
@@ -5074,9 +6504,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}
@@ -5309,6 +6739,141 @@ 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}
+%
+
+
+
%\part{Implementations}
%\part{å®è£
}
\label{part-imp}
@@ -5396,12 +6961,21 @@ The font index of current Japanese font for horizontal direction.
ç¾å¨ã®æ¨ªçµç¨åæãã©ã³ãã®ãã©ã³ãçªå·ï¼
%
+\attr{ltj@curtfnt}
+%<*en>
+The font index of current Japanese font for vertical direction.
+%
+%<*ja>
+ç¾å¨ã®ç¸¦çµç¨åæãã©ã³ãã®ãã©ã³ãçªå·ï¼
+%
+
\attr{ltj@charclass}
%<*en>
-The character class of Japanese \textit{glyph\_node}.
+The character class of a \textbf{JAchar}. This attribute is only set on a
+ \textit{glyph\_node} which contains a \textbf{JAchar}.
%
%<*ja>
-åææåã®\textit{glyph\_node}ã®æåã¯ã©ã¹ï¼
+\textbf{JAchar}ã®æåã¯ã©ã¹ï¼\textbf{JAchar}ãæ ¼ç´ããã\textit{glyph\_node}ã§ã®ã¿ä½¿ãããï¼
%
\attr{ltj@yablshift}
@@ -5507,18 +7081,39 @@ $i$ã¯7ããå°ããèªç¶æ°ï¼
æ±ããããã示ãããããã¯ãã«ãæ ¼ç´ããï¼
%
+\attr{ltj@dir}
+%<*ja>
+\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} (128)]
+% ç°ãªãçµæ¹åã«é
ç½®ããããã«èªåçã«ä½ãããããã¯ã¹ï¼
+\item[\textit{dir\_node\_manual} (256)]
+% \cs{ltjsetwd} ã«ãã£ã¦ãããã¯ã¹ã®æ¬æ¥ã®çµæ¹åã¨ã¯ç°ãªãçµæ¹åã§ã®å¯¸æ³ãã
+% è¨å®ããã¨ãã«ï¼ãããè¨é²ããããã®ããã¯ã¹ï¼
+\end{description}
+% \TeX å´ããè¦ããå¤ï¼ã¤ã¾ã \verb+\the\ltj@dir+ ã®å¤ã¯å¸¸ã«0ã§ããï¼
+
\end{list}
%<*en>
Furthermore, \LuaTeX-ja uses several user-defined whatsit nodes for
-internal processing. All those nodes
+internal processing. All those nodes except \emph{direction} whatsits
store a natural number (hence its \texttt{type} is 100).
+\emph{direction} whatsits store a node list, hence its \texttt{type} is 110.
Their \texttt{user\_id} (used for distinguish user-defined whatsits)
are allocated by \texttt{luatexbase.newuserwhatsitid}.
%
%<*ja>
ããã«ï¼\LuaTeX-jaã¯ããã¤ãã®user-defined whatsit nodeãå
é¨å¦çã«ç¨ããï¼
-ãããwhatsitãã¼ãã® \texttt{type} ã¯100ã§ããï¼ãã¼ãã¯èªç¶æ°ãæ ¼ç´ãã¦ããï¼
+\textit{direction} whatsitã¯ãã¼ããªã¹ããæ ¼ç´ãããï¼
+ãã以å¤ã®whatsitãã¼ãã® \texttt{type} ã¯100ã§ããï¼ãã¼ãã¯èªç¶æ°ãæ ¼ç´ãã¦ããï¼
user-defined whatsitãèå¥ããããã® \texttt{user\_id} ã¯\
\texttt{luatexbase.newuserwhatsitid} ã«ãã確ä¿ããã¦ããï¼
ä¸ã®è¦åºãã¯åãªãèå¥ç¨ã§ãããªãï¼
@@ -5585,6 +7180,8 @@ for its label before the actual contents. So \dots
listç°å¢ï¼itemizeç°å¢ãªã©ã«ããã¦ï¼\cs{item} ã§å§ã¾ãåé
ç®ã¯â¦â¦
%
+\item[\textit{direction}]
+
\end{description}
%<*en>
@@ -5787,9 +7384,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.
@@ -5799,9 +7396,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ã使ç¨ããï¼å°æ¥ã®æ¡å¼µç¨ãå«ãï¼ã®ã§ï¼
@@ -5812,18 +7409,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}ã®ã¹ã¿ãã¯ã«å¤ãè¨å®ããã¦ããªãã£ãå ´åã«
@@ -5862,7 +7459,7 @@ as in \Pkg{luatexja-adjust}.
%<*en>
\paragraph{Setting parameters}
-Figure~\ref{fig:setpar-def} shows the ``most outer'' definition of
+Figure~\ref{fig:setpar-def} shows the \emph{most outer} definition of
two commands,
\cs{ltjsetparameter} and \cs{ltjglobalsetparameter}.
Most important part is the last \cs{setkeys},
@@ -5870,9 +7467,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.
@@ -5895,9 +7492,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}
@@ -5917,7 +7514,7 @@ but also by the value of \cs{globaldefs}.
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,
+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)
@@ -5938,11 +7535,11 @@ end
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
+For parameters that need an additional argument, one also have to
execute the \TeX\ code like
-\begin{verbatim}
+\begin{lstlisting}
\ltj@@decl@array@param{fuga}
-\end{verbatim}
+\end{lstlisting}
to indicate that ``the parameter \texttt{fuga} needs an additional argument''.
%
%<*ja>
@@ -5970,9 +7567,9 @@ end
å¼æ°$t$ã¯ï¼å
ã«è¿°ã¹ãéãã®ã¹ã¿ãã¯ã¬ãã«ã§ããï¼ä¸æ¹ï¼å¼æ°$c$ã¯\
\cs{ltjgetparameter} ã®ç¬¬2å¼æ°ã表ãæ°å¤ã§ããï¼
ãããããã ãã§ã¯é§ç®ã§ï¼
-\begin{verbatim}
+\begin{lstlisting}
\ltj@@decl@array@param{fuga}
-\end{verbatim}
+\end{lstlisting}
ãå®è¡ãï¼\TeX ã¤ã³ã¿ã¼ãã§ã¼ã¹å´ã«
ã\verb+\ltjgetparameter{fuga}+ ã¯è¿½å å¼æ°ãå¿
è¦ãã¨ãããã¨ãéç¥ããå¿
è¦ãããï¼
%
@@ -6142,7 +7739,7 @@ process it}, if and only if the following three conditions are satisfied:
\paragraph{Remark}
The following example shows the major difference from the behavior of \pTeX.
\begin{LTXexample}
-\fontspec[Ligatures=TeX]{TeX Gyre Termes}
+\fontspec[Ligatures=TeX]{Linux Libertine O}
\ltjsetparameter{autoxspacing=false}
\ltjsetparameter{jacharrange={-6}}xã
y\ltjsetparameter{jacharrange={+6}}zã
@@ -6199,10 +7796,10 @@ emits a space.
\end{quote}
ãã®ä»æ§ã¯ï¼åç¯ã§è¿°ã¹ã\pTeX ã®ä»æ§ã«ã§ããã ãè¿ã¥ãããã®ã¨ãªã£ã¦ããï¼æ¡ä»¶1.ã¯ï¼
-\texttt{verbatim}ç³»ç°å¢ãªã©ã®æ¥æ¬èªå¯¾å¿ãã¯ããæ¸ããªãã¦ãã¾ããããã®ãã®ã§ããï¼
+\texttt{lstlisting}ç³»ç°å¢ãªã©ã®æ¥æ¬èªå¯¾å¿ãã¯ããæ¸ããªãã¦ãã¾ããããã®ãã®ã§ããï¼
ããããªããï¼\pTeX ã¨å®å
¨ã«åãæåãå®ç¾ã§ããããã§ã¯ãªãï¼
-次ã®ããã«ï¼åææåã®ç¯å²ãå¤æ´ããã¡ããã©ãã®è¡ã«ããã¦ã¯æåãç°ãªãï¼
+次ã®ããã«ï¼\textbf{JAchar}ã®ç¯å²ãå¤æ´ããã¡ããã©ãã®è¡ã«ããã¦ã¯æåãç°ãªãï¼
\begin{LTXexample}
\fontspec[Ligatures=TeX]{TeX Gyre Termes}
\ltjsetparameter{autoxspacing=false}
@@ -6210,7 +7807,7 @@ emits a space.
y\ltjsetparameter{jacharrange={+6}}zã
u
\end{LTXexample}
-ä¸ã½ã¼ã¹ä¸ã®ãããã¯æ¬§ææåæ±ãã§ããï¼
+ä¸ã½ã¼ã¹ä¸ã®ãããã¯\textbf{ALchar}ï¼æ¬§ææ±ãï¼ã§ããï¼
ããã§ä½¿ç¨ãã¦ãã欧æãã©ã³ã\TeX\ Gyre Termesã¯ããããå«ã¾ãªãï¼
ãã£ã¦ï¼åºåã«ãããã¯ç¾ããªããã¨ã¯ä¸æè°ã§ã¯ãªãï¼
ããã§ãï¼\pTeX ã¨ã¾ã£ããåãæåã示ããªãã°ï¼åºåã¯
@@ -6218,14 +7815,14 @@ u
ä¸ã®ããã«ç°ãªãæåã¨ãªã£ã¦ãããï¼ããã¯ä»¥ä¸ã®çç±ã«ããï¼
\begin{itemize}
\item 3è¡ç®ã \texttt{process\_input\_buffer} ã§å¦çããæç¹ã§ã¯ï¼
- ãããã¯åææåæ±ãã§ããï¼ãã£ã¦3è¡ç®ã¯åææåã§çµãããã¨ã«ãªãï¼
+ ãããã¯\textbf{JAchar}ï¼åææ±ãï¼ã§ããï¼ãã£ã¦3è¡ç®ã¯\textbf{JAchar}ã§çµãããã¨ã«ãªãï¼
ã³ã¡ã³ãæå \texttt{U+FFFFF} ã追å ãããï¼
ãã£ã¦ï¼ç´å¾ã®æ¹è¡æåã¯ç¡è¦ããããã¨ã«ãªãï¼ç©ºç½ã¯å
¥ããªãï¼
\item 4è¡ç®ã \texttt{process\_input\_buffer} ã§å¦çããæç¹ã§ã¯ï¼
- ãããã¯æ¬§ææåæ±ãã§ããï¼ãã£ã¦4è¡ç®ã¯æ¬§ææåã§çµãããã¨ã«ãªãï¼
+ ãããã¯\textbf{ALchar}ã§ããï¼ãã£ã¦4è¡ç®ã¯\textbf{ALchar}ã§çµãããã¨ã«ãªãï¼
ç´å¾ã®æ¹è¡æåã¯ç©ºç½ã«ç½®ãæããï¼
\end{itemize}
-ãã®ããï¼ãã©ãã«ãé¿ããããã«ï¼åææåã®ç¯å²ã\cs{ltjsetparameter}ã§ç·¨éããå ´åï¼
+ãã®ããï¼ãã©ãã«ãé¿ããããã«ï¼\textbf{JAchar}ã®ç¯å²ã\cs{ltjsetparameter}ã§ç·¨éããå ´åï¼
ãã®è¡ã¯ããã§æ¹è¡ããããã«ããæ¹ãããã ããï¼
%
@@ -6265,54 +7862,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}
\[
@@ -6330,41 +7927,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}ã§ã¯ã©ã¹ã¿ã表ãï¼
@@ -6380,11 +7987,11 @@ $\mathit{Np}.\mathit{id}$ã®æå³ãè¿°ã¹ãã¨ã¨ãã«ï¼
説æç¨ã«æºåããæ¦å¿µã§ãã£ã¦ï¼å®éã®Luaã³ã¼ãä¸ã«ãã®ããã«æ¸ããã¦ããããã§ã¯ãªããã¨ã«æ³¨æï¼
\begin{description}
-\item[\textit{id\_jglyph}] åææåï¼\\
-$\mathit{Np}.\mathit{head}$, $\mathit{Np}.\mathit{tail}$ã¯ï¼ãã®åææåã表ãã¦ãã
+\item[\textit{id\_jglyph}] \textbf{JAchar}ï¼åææåï¼ï¼\\
+$\mathit{Np}.\mathit{head}$, $\mathit{Np}.\mathit{tail}$ã¯ï¼ãã®\textbf{JAchar}ã表ãã¦ãã
\textit{glyph\_node}ãã®ãã®ã§ããï¼
-\item[\textit{id\_glyph}] åææåã表ãã¦ããªã\textit{glyph\_node}~$p$ï¼\\
-å¤ãã®å ´åï¼$p$ã¯æ¬§ææåãæ ¼ç´ãã¦ãããï¼ãffiããªã©ã®ååã«ãã£ã¦ä½ããã
+\item[\textit{id\_glyph}] \textbf{JAchar}ï¼åææåï¼ä»¥å¤ã®ãã®ã表ã\textit{glyph\_node}~$p$ï¼\\
+å¤ãã®å ´åï¼$p$ã¯\textbf{ALchar}ï¼æ¬§ææåï¼ãæ ¼ç´ãã¦ãããï¼ãffiããªã©ã®ååã«ãã£ã¦ä½ããã
\textit{glyph\_node}ã§ããå¯è½æ§ãããï¼
åè
ã®å ´åï¼$\mathit{Np}.\mathit{head}$,~$\mathit{Np}.\mathit{tail} = p$ã§ããï¼
ä¸æ¹ï¼å¾è
ã®å ´åï¼
@@ -6400,11 +8007,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ã®
@@ -6435,15 +8043,15 @@ $\mathit{Np}.\mathit{head}$, $\mathit{Np}.\mathit{tail}$ã®ç®åºã¯ï¼
空ç½çã®å®éã®æ¿å
¥ãè¡ããã¨ã¯åã«æ¸ãããï¼ããã§ã®èª¬æã§ã¯ï¼åé¡ã«ãã¦ããã¯ã©ã¹ã¿\textit{Np}ã¯ãå¾ãå´ãã®ã¯ã©ã¹ã¿ã§ãã
ã¨ããï¼ãåå´ãã®ã¯ã©ã¹ã¿ã«ã¤ãã¦ã¯ï¼ä»¥ä¸ã®èª¬æã§\textit{head}ã\textit{last}ã«ç½®ãæãããã¨ã«æ³¨æãããã¨ï¼
\begin{description}
-\item[åæA] ãªã¹ãä¸ã«ç´æ¥åºç¾ãã¦ããåææåï¼
+\item[åæA] ãªã¹ãä¸ã«ç´æ¥åºç¾ãã¦ãã\textbf{JAchar}ï¼
\textit{id}ã\textit{id\_jglyph}ã§ãããï¼\\
\textit{id}ã\textit{id\_pbox}ã§ãã£ã¦$\mathit{Np}.\mathit{head}$ã\textbf{JAchar}ã§ããã¨ãï¼
-\item[åæB] ãªã¹ãä¸ã®hboxã®ä¸èº«ã®å
é ã¨ãã¦åºç¾ããåææåï¼åæAã¨ã®éãã¯ï¼ããã®åã«
+\item[åæB] ãªã¹ãä¸ã®hboxã®ä¸èº«ã®å
é ã¨ãã¦åºç¾ãã\textbf{JAchar}ï¼åæAã¨ã®éãã¯ï¼ããã®åã«
JFMã°ã«ã¼ã®æ¿å
¥ãè¡ãããªãï¼\Param{xkanjiskip},~\Param{kanjiskip}ã¯å
¥ãå¾ãï¼ãã¨ã§ããï¼\\
\textit{id}ã\textit{id\_hlist}ã\textit{id\_disc}ã§ãã£ã¦$\mathit{Np}.\mathit{head}$ã\textbf{JAchar}ã§ããã¨ãï¼
-\item[欧æ] ãªã¹ãä¸ã«ç´æ¥ï¼hboxã®ä¸èº«ã¨ãã¦åºç¾ãã¦ãã欧ææåï¼æ¬¡ã®3ã¤ã®å ´åã該å½ï¼
+\item[欧æ] ãªã¹ãä¸ã«ç´æ¥ï¼hboxã®ä¸èº«ã¨ãã¦åºç¾ãã¦ããã\textbf{JAchar}以å¤ã®æåãï¼æ¬¡ã®3ã¤ã®å ´åã該å½ï¼
\begin{itemize}
\item \textit{id}ã\textit{id\_glyph}ã§ããï¼
\item \textit{id}ã\textit{id\_math}ã§ããï¼
@@ -6491,7 +8099,7 @@ $g$ã¯ãæåã³ã¼ã \texttt{'boxbdd'} ã®æåãã¨\textit{Np}ã®éã«
ä¸æ¹ï¼åè
ï¼æ®µè½ï¼ã®å ´åã¯ï¼ãªã¹ãã®æ«å°¾ã¯å¸¸ã« \cs{penalty10000} ã¨ï¼
\cs{parfillskip} ç±æ¥ã®ã°ã«ã¼ãåå¨ããï¼%ãã£ã¦ï¼æå¾ã®ã¯ã©ã¹ã¿\textit{Np}ã¯
%ãã® \cs{parfillskip} ç±æ¥ã®ã°ã«ã¼ã¨ãªãï¼å®è³ªçãªä¸èº«ã®æå¾ã¯ãã®1ã¤åã®ã¯ã©ã¹ã¿\textit{Nq}ã¨ãªãï¼
-段è½ã®æå¾ã®ãé常ã®åææå${}+{}$å¥ç¹ããç¬ç«ããè¡ã¨ãªãã®ãé²ãããã«ï¼
+段è½ã®æå¾ã®ãé常ã®\textbf{JAchar}${}+{}$å¥ç¹ããç¬ç«ããè¡ã¨ãªãã®ãé²ãããã«ï¼
\Param{jcharwidowpenalty}ã®å¤ã®åã ãé©åãªå ´æã®ããã«ãã£ãå¢ããï¼
ããã«ãã£éãå¢ããå ´æã¯ï¼\textit{head}ã\textbf{JAchar}ã§ããï¼
@@ -6526,7 +8134,7 @@ $g$ã¯ãæåã³ã¼ã \texttt{'boxbdd'} ã®æåãã¨\textit{Np}ã®éã«
ãã®å ´åãå
¨ã¦ã®å ´åã®åºæ¬ã¨ãªãï¼
\paragraph{ãå³ç©ºç½ãã®ç®åº}
-ã¾ãï¼ãå³ç©ºç½ãã«ãããéãç®åºããï¼é常ã¯ãããï¼é£ãåã£ã2ã¤ã®åææåéã«å
¥ã空ç½éã¨ãªãï¼
+ã¾ãï¼ãå³ç©ºç½ãã«ãããéãç®åºããï¼é常ã¯ãããï¼é£ãåã£ã2ã¤ã®\textbf{JAchar}éã«å
¥ã空ç½éã¨ãªãï¼
\begin{description}
\item[JFMç±æ¥{[M]}] JFMã®æåã¯ã©ã¹æå®ã«ãã£ã¦å
¥ã空ç½ã以ä¸ã«ãã£ã¦æ±ããï¼ãã®æ®µéã§ç©ºç½éãæªå®ç¾©ï¼æªæå®ï¼ã ã£ãå ´åï¼
ããã©ã«ãå¤\Param{kanjiskip}ãæ¡ç¨ãããã¨ã¨ãªãã®ã§ï¼æ¬¡ã¸ï¼
@@ -6588,11 +8196,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}
@@ -6605,14 +8213,14 @@ $q$ã¨$r$ã®éã¯ï¼å®ãã©ã³ããåããªã®ã«ï¼\texttt{jfmvar} ãã¼
\item[\Param{kanjiskip}~{[K]}] ä¸ã®[M]ã«ããã¦ç©ºç½ãå®ã¾ããªãã£ãå ´åï¼
以ä¸ã§å®ããéãå³ç©ºç½ãã¨ãã¦æ¡ç¨ããï¼
ãã®æ®µéã«ããã¦ã¯ï¼\cs{inhibitglue} ã¯å¹åãæããªãããï¼
-çµæã¨ãã¦ï¼2ã¤ã®åææåéã«ã¯å¸¸ã«ä½ããã®ã°ã«ã¼ï¼ã«ã¼ã³ãæ¿å
¥ããããã¨ã¨ãªãï¼
+çµæã¨ãã¦ï¼2ã¤ã®\textbf{JAchar}éã«ã¯å¸¸ã«ä½ããã®ã°ã«ã¼ï¼ã«ã¼ã³ãæ¿å
¥ããããã¨ã¨ãªãï¼
\begin{enumerate}
\item 両ã¯ã©ã¹ã¿ï¼å³å¯ã«ã¯$\mathit{Nq}.\mathit{tail}$ï¼$\mathit{Np}.\mathit{head}$ï¼ã®ä¸èº«ã®æåã³ã¼ãã«å¯¾ãã
\Param{autospacing}ãã©ã¡ã¿ã両æ¹ã¨ãfalseã ã£ãå ´åã¯ï¼é·ã0ã®glueã¨ããï¼
\item ã¦ã¼ã¶å´ããè¦ã\Param{kanjiskip}ãã©ã¡ã¿ã®èªç¶é·ã$\cs{maxdimen}=(2^{30}-1)\,{\rm sp}$ã§
ãªããã°ï¼\Param{kanjiskip}ãã©ã¡ã¿ã®å¤ãæã¤glueãæ¡ç¨ããï¼
\item 2.ã§ãªãå ´åã¯ï¼\textit{Nq}, \textit{Np}ã§ä½¿ããã¦ããJFMã«æå®ããã¦ãã\Param{kanjiskip}ã®å¤ãç¨ããï¼
-ã©ã¡ããçæ¹ã®ã¯ã©ã¹ã¿ã ããåææåï¼\textsf{åæA}ã»\textsf{åæB}ï¼ã®ã¨ãã¯ï¼ãã¡ãã®ã¯ã©ã¹ã¿ã§ä½¿ããã¦ãã
+ã©ã¡ããçæ¹ã®ã¯ã©ã¹ã¿ã ãã\textbf{JAchar}ï¼\textsf{åæA}ã»\textsf{åæB}ï¼ã®ã¨ãã¯ï¼ãã¡ãã®ã¯ã©ã¹ã¿ã§ä½¿ããã¦ãã
JFMç±æ¥ã®å¤ã ããç¨ããï¼ãã両è
ã§ä½¿ããã¦ããJFMãç°ãªã£ãå ´åã¯ï¼ä¸ã®[M]~3.ã¨åæ§ã®æ¹æ³ãç¨ãã¦èª¿æ´ããï¼
\end{enumerate}
\end{description}
@@ -6734,7 +8342,7 @@ If this attempt fails, \LuaTeX-ja use the method ``\textsf{\Param{kanjiskip}~[K]
\item ç¦åç¨ããã«ãã£ãï¼ä»¥åè¿°ã¹ã\textsf{P-normal~[PN]}ã¨åãã§ããï¼
\end{itemize}
\begin{description}
-\item[Boundary-B~{[\OB]}] åææåã¨ãåæã§ãªããã®ãã¨ã®éã«å
¥ã空ç½ã以ä¸ã«ãã£ã¦æ±ãï¼
+\item[Boundary-B~{[\OB]}] \textbf{JAchar}ã¨ã\textbf{JAchar}ã§ãªããã®ãã¨ã®éã«å
¥ã空ç½ã以ä¸ã«ãã£ã¦æ±ãï¼
æªå®ç¾©ã§ãªããã°ããããå³ç©ºç½ãã¨ãã¦æ¡ç¨ããï¼
\textsf{JFM-origin~[M]}ã®å¤ç¨®ã¨èãã¦è¯ãï¼
ããã«ãã£ã¦å®ã¾ã空ç½ã®å
¸åä¾ã¯ï¼åæã®éãæ¬å¼§ã¨æ¬§ææåã®éã«å
¥ãåè§ã¢ãã§ããï¼
@@ -6774,7 +8382,7 @@ If this attempt fails, \LuaTeX-ja use the method ``\textsf{\Param{kanjiskip}~[K]
\item ç¦åç¨ããã«ãã£ã¯ï¼ä»¥åè¿°ã¹ã\textsf{P-normal~[PN]}ã¨åãã§ããï¼
\end{itemize}
\begin{description}
-\item[Boundary-A~{[\OA]}] ãåæã§ãªããã®ãã¨åææåã¨ã®éã«å
¥ã空ç½ã以ä¸ã«ãã£ã¦æ±ãï¼
+\item[Boundary-A~{[\OA]}] ã\textbf{JAchar}ã§ãªããã®ãã¨\textbf{JAchar}ã¨ã®éã«å
¥ã空ç½ã以ä¸ã«ãã£ã¦æ±ãï¼
æªå®ç¾©ã§ãªããã°ããããå³ç©ºç½ãã¨ãã¦æ¡ç¨ããï¼
\textsf{JFM-origin~[M]}ã®å¤ç¨®ã¨èãã¦è¯ãï¼
ããã«ãã£ã¦å®ã¾ã空ç½ã®å
¸åä¾ã¯ï¼æ¬§ææåã¨åæã®éãæ¬å¼§ã¨ã®éã«å
¥ãåè§ã¢ãã§ããï¼
@@ -6837,30 +8445,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}ã®é åºãéã«ãªã£ã¦ããï¼å ´åã¨åãã§ããï¼
@@ -6883,7 +8467,7 @@ $\mathit{Nq}.\mathit{tail}$ã¯ç¡æå³ãªã®ã§ï¼
\paragraph{åæAã¨åæBã®éã}
å
ã«è¿°ã¹ãããã«ï¼\textsf{åæB}ã¯hboxã®ä¸èº«ã®å
é ï¼or æ«å°¾ï¼ã¨ãã¦åºç¾ãã¦ãã
-åææåã§ããï¼ãªã¹ãå
ã«ç´æ¥ãã¼ãã¨ãã¦ç¾ãã¦ããåææåï¼\textsf{åæA}ï¼ã¨ã®éãã¯ï¼
+\textbf{JAchar}ã§ããï¼ãªã¹ãå
ã«ç´æ¥ãã¼ãã¨ãã¦ç¾ãã¦ãã\textbf{JAchar}ï¼\textsf{åæA}ï¼ã¨ã®éãã¯ï¼
\begin{itemize}
\item \textsf{åæB}ã«å¯¾ãã¦ã¯ï¼JFMã®æåã¯ã©ã¹æå®ããå®ã¾ã空ç½
\textsf{JFM-origin~[M]}ï¼\textsf{Boundary-A~[\OA]}ï¼\textsf{Boundary-B~[\OB]}ï¼ã®æ¿å
¥ã¯è¡ãããªãï¼
@@ -6918,6 +8502,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} ããã±ã¼ã¸ã¸ã®å¯¾å¿}
@@ -6967,7 +8614,7 @@ then the patch \Pkg{lltjp-listings} is loaded automatically at \verb+\begin{docu
æèããå¿
è¦ã¯ãªãï¼
%
-%\subsection{Notes}
+%\subsection{Notes and additional keys}
%\subsection{注æ}
%<*en>
\paragraph{Escaping to \LaTeX}
@@ -7009,6 +8656,20 @@ instead of ``\verb+\ã»ã+''.
ã\cs{}\IVSA FFFFFãã¨ããcontrol symbolãå®è¡ããããã¨ã«ãªãï¼
%
+%<*en>
+\paragraph{Variation selectors}
+\Pkg{lltjp-listings} add two keys, namely \texttt{vsraw}~and~\texttt{vscmd},
+which specify how variation selectors are treated in
+\texttt{lstlisting} or other enviroments.
+Note that these additional keys are not usable in the preamble,
+since \Pkg{lltjp-listings} is loaded at \verb+\begin{document}+.
+
+\texttt{vsraw} is a key which takes a boolean value, and its default value is
+false.
+\begin{itemize}
+ \item If the \texttt{vsraw} key is true, then
+variation selectors are ``combined'' with the previous character.
+%
%<*ja>
\paragraph{ç°ä½åã»ã¬ã¯ã¿ã®æ±ã}
\texttt{lstlisting} ç°å¢ãªã©ã®å
é¨ã«ããç°ä½åã»ã¬ã¯ã¿ãæ±ãããï¼
@@ -7021,21 +8682,31 @@ instead of ``\verb+\ã»ã+''.
\item trueã®å ´åã¯ï¼ç°ä½åã»ã¬ã¯ã¿ã¯ãç´åã®æåã«ç¶ãã¦ãåºåãããï¼
ãããIVSãµãã¼ãï¼\ref{ssec-ltjotf}ç¯ï¼ãæå¹ã«ãªã£ã¦ããå ´åã¯ï¼
以ä¸ã®ä¾ï¼å·¦å´ã¯å
¥åï¼å³å´ã¯ãã®åºåï¼ã®ããã«ãªãï¼
+%
\begin{LTXexample}
\begin{lstlisting}[vsraw=true]
èó åå¸ï¼èó 飾åºï¼è西
\end{lstlisting}
\end{LTXexample}
+%<*en>
+\item If the \texttt{vsraw} key is false, then
+variation selectors are typeset by an appropriate command, which is specified by
+ the \texttt{vscmd} key.
+The default setting of the \texttt{vscmd} key produces the following.
+%
+%<*ja>
\item falseã®å ´åã¯ï¼ç°ä½åã»ã¬ã¯ã¿ã¯é©å½ãªå½ä»¤ã«ãã£ã¦ãè¦ããå½¢ã§ãåºåãããï¼
ã©ã®ãããªå½¢ã§åºåãããããè¦å®ããã®ã \texttt{vscmd} ãã¼ã§ããï¼
\Pkg{lltjp-listings} ã®æ¨æºè¨å®ã§ã¯ä»¥ä¸ã®ä¾ã®å³å´ã®ããã«åºåãããï¼
+%
\begin{LTXexample}
\begin{lstlisting}[vsraw=false,
vscmd=\ltjlistingsvsstdcmd]
èó åå¸ï¼èó 飾åºï¼è西
\end{lstlisting}
\end{LTXexample}
-ã¡ãªã¿ã«ï¼æ¬ããã¥ã¡ã³ãã§ã¯æ¬¡ã®ããã«ãã¦ããï¼
+% ã¡ãªã¿ã«ï¼æ¬ããã¥ã¡ã³ãã§ã¯æ¬¡ã®ããã«ãã¦ããï¼
+% For example, the following code is the setting of the \texttt{vscmd} key in this document.
\begin{lstlisting}[numbers=left]
\def\IVSA#1#2#3#4#5{%
\textcolor{blue}{\raisebox{3.5pt}{\tt%
@@ -7049,10 +8720,56 @@ instead of ``\verb+\ã»ã+''.
\lstset{vscmd=\IVSB}
\end{lstlisting}
\end{itemize}
-æ¢å®ã®åºåå½ä»¤ã復活ããããå ´åã¯\ \verb+vsraw=\ltjlistingsvsstdcmd+\
+%<*en>
+The default output command of variation selectors is stored in \verb+\ltjlistingsvsstdcmd+.
+%
+%<*ja>
+æ¢å®ã®åºåå½ä»¤ã復活ããããå ´åã¯\ \verb+vscmd=\ltjlistingsvsstdcmd+\
ã¨ããã°è¯ãï¼
%
+%<*en>
+\paragraph{The \texttt{doubleletterspace} key}
+Even the column format is \texttt{[c]fixed}, sometimes characters are not vertically aligned.
+The following example is typeset with \texttt{basewidth=2em}, and
+you'll see the leftmost ``\texttt{H}'' are not vertically aligned.
+\begin{lstlisting}[basewidth=2em, basicstyle=\tt,numbers=left]
+:H:
+:HHHH:
+\end{lstlisting}
+
+\Pkg{lltjp-listing} adds the \texttt{doubleletterspace} key (not activated by default, for
+compatibility) to
+improve the situation, namely doubles inter-character space in each output unit.
+With this key, the above input now produces better output.
+\begin{lstlisting}[basewidth=2em, basicstyle=\tt,numbers=left, doubleletterspace]
+:H:
+:HHHH:
+\end{lstlisting}
+%
+%<*ja>
+\paragraph{\texttt{doubleletterspace}ãã¼}
+\Pkg{listings}ããã±ã¼ã¸ã§åæãã \texttt{[c]fixed} ã¨ãªã£ã¦ããå ´åã§ãï¼
+å ´åã«ãã£ã¦ã¯æåã縦ã«æããªãå ´åãããï¼
+ä¾ã以ä¸ã«ç¤ºããï¼ããã¯å¼·èª¿ããããã« \texttt{basewidth=2em} ãè¨å®ãã¦ããï¼
+\begin{lstlisting}[basewidth=2em, basicstyle=\tt,numbers=left]
+:H:
+:HHHH:
+\end{lstlisting}
+1è¡ç®ã¨2è¡ç®ã®ã\texttt{H}ãã®ä½ç½®ãæã£ã¦ããªããï¼
+ããã¯åºååä½ãã¨ã«ï¼å
é ã»æ«å°¾ã»åæåéã«åãéã®ç©ºç½ãæ¿å
¥ãããã¨ã«ããï¼
+
+\Pkg{lltjp-listing}ã§ã¯ï¼ãã®ãããªçç¶ãæ¹åãããããã« \texttt{doubleletterspace} ãã¼
+ã追å ããï¼æ¨æºã§ã¯äºææ§ã®ããã«ç¡å¹ã«ãªã£ã¦ããï¼ï¼ãã®ãã¼ãæå¹ã«ããã¨ï¼
+åºååä½ä¸ã®åæåéã®ç©ºç½ã2åã«ãããã¨ã§æåãæãããããã¦ããï¼
+ä¸ã¨åããã®ã \texttt{doubleletterspace} ãã¼ãæå¹ã«ãã¦çµãã ãã®ã以ä¸ã§ããï¼
+ãã¡ãã¨ã\texttt{H}ãã®ä½ç½®ãæã£ã¦ãããã¨ãåããï¼
+\begin{lstlisting}[basewidth=2em, basicstyle=\tt,numbers=left, doubleletterspace]
+:H:
+:HHHH:
+\end{lstlisting}
+%
+
%\subsection{Class of Characters}
%\subsection{æå種}
@@ -7174,7 +8891,7 @@ Prev&Kanji&\multicolumn{4}{c}{\hrulefill \ outputs\ \hrulefill}&collects\\
\end{itemize}
%<*en>
-Characters above \texttt{U+0080} \emph{except Variation Selectors}
+Characters above or equal to~\texttt{U+0080} \emph{except Variation Selectors}
are classified into above 5~classes by the following rules:
%
%<*ja>
@@ -7182,7 +8899,7 @@ are classified into above 5~classes by the following rules:
Letter, Other, Kanji, Open, Closeã®ã©ãã«å±ãããã¯æ¬¡ã«ãã£ã¦æ±ºã¾ãï¼
%
\begin{itemize}
-%\item \textbf{ALchar}s above \texttt{U+0080} are classified as Letter.
+%\item \textbf{ALchar}s above or equal to~\texttt{U+0080} are classified as Letter.
%\item ï¼\texttt{U+0080}以éã®ï¼\textbf{ALchar}ã¯ï¼ãã¹ã¦Letteræ±ãã§ããï¼
%\item \textbf{JAchar}s are classified in the order as follows:
@@ -7274,12 +8991,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 ã®è¡åå²å¦çã§ãåè§ä»¥ä¸ã®è©°ãããè¡ããã¦ããå ´åï¼
@@ -7309,7 +9026,7 @@ JFMä¸ã«ããæåã¯ã©ã¹$n$ã®å®ç¾©ã®
\item \Param{kanjiskip}
\end{enumerate}
\begin{enumerate}
- \item è¡æ«ã®åææåã移åãããã¨ã§$\textit{total}=0$ã¨ãªãã°ï¼
+ \item è¡æ«ã®\textbf{JAchar}ã移åãããã¨ã§$\textit{total}=0$ã¨ãªãã°ï¼
調æ´ã®å¿
è¦ã¯ãªãï¼è¡ãæ ¼ç´ããã¦ããhboxã®
\texttt{glue\_set}, \texttt{glue\_sign}, \texttt{glue\_order}ãåè¨ç®ããã°ããï¼
以éï¼$\textit{total}\neq 0$ã¨ä»®å®ããï¼
@@ -7394,10 +9111,11 @@ OpenTypeãã©ã³ãã§ãTrueTypeãã©ã³ãã§ãIVSæ
å ±ãæ ¼ç´ããã¦
\texttt{fontloader} ã®å¼ã³åºãã§ããªãæéãæ¶è²»ãããã¨ããï¼
%%% to_table ã使ããªããããã¨ã§ï¼ã¡ã¢ãªä½¿ç¨éã¯æ¸ã£ã
IVSæ
å ±ããã£ãã·ã¥ã«ä¿åãããã¨ã§2åç®ä»¥éã®å®è¡æéãç¯ç´ãã¦ããï¼
+%
+%<*ja>
\section{è¤æ°ãã©ã³ãã®ãåæãï¼æªå®ï¼}
-
\section{\LuaTeX-jaã«ããããã£ãã·ã¥}
\Pkg{luaotfload}ããã±ã¼ã¸ãï¼åTrueTypeã»OpenTypeãã©ã³ãã®æ
å ±ã
ãã£ãã·ã¥ã¨ãã¦ä¿åãã¦ããã®ã¨åæ§ã®æ¹æ³ã§ï¼
@@ -7456,8 +9174,9 @@ CMapãå¿
è¦ã§ããï¼
éåãè¾¼ã¿ã®ä¸å½èªã»éå½èªãã©ã³ããå®ç¾©ããå ´åï¼åæ§ã®ãã£ãã·ã¥ãçæãããï¼
ãã£ãã·ã¥ã®å称ï¼å¿
è¦ã¨ãªãCMapã«ã¤ãã¦ã¯è¡¨\ref{tab:cid-cache}ãåç
§ãã¦æ¬²ããï¼
-\item[ivs\_***.lua]
-ãã©ã³ã``\texttt{***}''ã«ãããç°ä½åæ
å ±ãæ ¼ç´ãã¦ããï¼æ§é ã¯ä»¥ä¸ã®éãï¼
+\item[extra\_***.lua]
+ãã©ã³ã``\texttt{***}''ã«ãããç°ä½åã»ã¬ã¯ã¿ã®æ
å ±ï¼ç¸¦çµç¨åå½¢ã¸ã®å¤æãã¼ãã«ï¼ããã¦
+縦çµæã«ãããå¹
ãæ ¼ç´ãã¦ããï¼æ§é ã¯ä»¥ä¸ã®éãï¼
%
%<*en>
\subsection{Use of Cache}
@@ -7467,7 +9186,7 @@ CMapãå¿
è¦ã§ããï¼
\item[ltj-cid-auto-adobe-japan1.lua]
The font table of a CID-keyed non-embedded Japanese font.
This is loaded in every run.
-It is created from two CMaps, \texttt{UniJIS2004-UTF32-H} and
+It is created from three CMaps, \texttt{UniJIS2004-UTF32-\{H,V\}} and
\texttt{Adobe-Japan1-UCS2},
and this is why these two CMaps are needed in the first run of \LuaTeX-ja.
@@ -7476,9 +9195,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]
@@ -7491,10 +9216,10 @@ The structure of the table is the following:
\bf \texttt{cid} key&\bf name of the cache &
\multicolumn{2}{c}{\bf used CMaps}\\
\midrule
-Adobe-Japan1-*<j-cid-auto-adobe-japan1.lua&UniJIS2004-UTF32-H&Adobe-Japan1-UCS2\\
-Adobe-Korea1-*<j-cid-auto-adobe-korea1.lua&UniKS-UTF32-H&Adobe-Korea1-UCS2\\
-Adobe-GB1-*<j-cid-auto-adobe-gb1.lua&UniGB-UTF32-H&Adobe-GB1-UCS2\\
-Adobe-CNS1-*<j-cid-auto-adobe-cns1.lua&UniCNS-UTF32-H&Adobe-CNS1-UCS2\\
+Adobe-Japan1-*<j-cid-auto-adobe-japan1.lua&UniJIS2004-UTF32-*&Adobe-Japan1-UCS2\\
+Adobe-Korea1-*<j-cid-auto-adobe-korea1.lua&UniKS-UTF32-*&Adobe-Korea1-UCS2\\
+Adobe-GB1-*<j-cid-auto-adobe-gb1.lua&UniGB-UTF32-*&Adobe-GB1-UCS2\\
+Adobe-CNS1-*<j-cid-auto-adobe-cns1.lua&UniCNS-UTF32-*&Adobe-CNS1-UCS2\\
\bottomrule
\end{tabular}
\end{table}
@@ -7504,16 +9229,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>
@@ -7597,6 +9324,223 @@ nilã§ãªãããã£ãã·ã¥ã«ä¿åããï¼
\end{cslist}
%
+
+%<*ja>
+\section{縦çµã®å®è£
}
+\label{sec-dir-imp}
+\ref{sec-direction}ç« ã®æåã§ãè¿°ã¹ãããã«ï¼
+\LuaTeX-jaã¯æ¨ªçµ(\texttt{TLT})ã§çµãã ããã¯ã¹ãå転ãããæ¹å¼ã§
+縦çµãå®è£
ãã¦ããï¼
+
+\LuaTeX-jaã«ããã縦çµã®å®è£
ã¯
+\pTeX ã«ãããå®è£
(\cite{ptexdoc,ptextug})ããã¼ã¹ã«ãã¦ããï¼
+
+\subsection{direction~whatsit}
+\textit{direction}~whatsitã¨ã¯ï¼\textit{direction}ã¨ããç¹å®ã® \verb+user_id+ ãæã¤
+whatsitã®ãã¨ã§ããï¼ä»¥ä¸ã®ã¿ã¤ãã³ã°ã§ä½ãããï¼
+\begin{itemize}
+ \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ã«å¦çãåããªãï¼ããã§ï¼\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çªç®ã«ç§»åããã¦ããï¼
+
+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\_box}ã¨å¼ç§°ããï¼
+
+\subsubsection{ç°æ¹åã®ããã¯ã¹ã®æ´å}
+\textit{dir\_box}ã®ç¬¬ä¸ã®ä½¿ç¨ç®çã¯ï¼ç°æ¹åã®ããã¯ã¹ã®å¤§ãããæ´åããããã¨ã§ããï¼
+ä¾ãã°ï¼
+\begin{lstlisting}
+ % yoko direction
+å¹³æ\hbox{\tate 26}å¹´
+\end{lstlisting}
+ã¯æ®µè½ä¸ã§
+\[
+ \xymatrix{
+ {}\Node{glyph}{`å¹³'}\ar[r]&{}\Node{glyph}{`æ'}\ar[r]&
+ {}\HNode{hbox}{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{\textit{dir\_box} (\cs{yoko})}{3.02779}{10.00003}{0.0}}\ar[r]\ar[d]^{\text{ä¸èº«}}
+ &{}\textcolor{blue}{\Node{penalty}{0}}\ar[r]
+ &{}\Node{glyph}{`å¹´'}\\
+ &&{}\HNode{hbox}{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{hbox}{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}
@@ -7611,7 +9555,7 @@ TUG 2013, October 2013.
\bibitem{jlisting} Thor Watanabe. \newblock Listings\ -\ MyTeXpert.
%\newblock
%\\\null\hfill
-\url{http://mytexpert.sourceforge.jp/index.php?Listings}
+\url{http://mytexpert.osdn.jp/index.php?Listings}
\bibitem{jlreq} W3C Japanese Layout Task Force~(ed). \newblock
Requirements for Japanese Text Layout (W3C Working Group Note), 2011, 2012. \newblock
\url{http://www.w3.org/TR/jlreq/}%
@@ -7631,29 +9575,6 @@ ISO 32000-1:2008, \textit{Document management -- Portable document format -- Par
\url{http://www.iso.org/iso/iso\_catalogue/catalogue_tc/catalogue\_detail.htm?csnumber=51502}
\end{thebibliography}
-\newpage
-\appendix
-
-\section{Package versions used in this document}
-This document was typeset using the following packages:
-
-\medskip
-
-{\makeatletter\tt\footnotesize
- \def\@pkglist#1{%
- \filename@parse{#1}\def\@temp{sty}
- \ifx\@temp\filename@ext
- \edef\reserved@a{%
- \filename@base.%
- \ifx\filename@ext\relax tex\else\filename@ext\fi}%
- \leavevmode\hskip-13em\hbox to 13em{\filename@area\reserved@a\hss}%
- \csname ver@\reserved@a\endcsname\par
- \fi
- }%
-\parindent0pt\leftskip13em
-\ltjpkglist
-
-\makeatother}
\end{document}
%!showexpl>
%<*showexpl>