X-Git-Url: http://git.osdn.jp/view?a=blobdiff_plain;f=doc%2Fluatexja.dtx;h=0f95747b7d6aabb22297d9f946bf43c8d4c5a47f;hb=f702bd7ffe06f376115615e94ecd2527aa8cf34c;hp=1ad0cd8408d909b0a7ea79e9080cb6858318063b;hpb=1e613b6753484098195998e8777888f59ac5858a;p=luatex-ja%2Fluatexja.git
diff --git a/doc/luatexja.dtx b/doc/luatexja.dtx
index 1ad0cd8..0f95747 100644
--- a/doc/luatexja.dtx
+++ b/doc/luatexja.dtx
@@ -6,36 +6,50 @@
% - KozGoPr6N-Medium.otf
% - KozGoPr6N-Regular.otf
+%%%%% section ==> ç«
+%%%%% subsection => ç¯
+
%\documentclass[a4paper,titlepage]{article}
%\documentclass[a4paper,titlepage]{ltjsarticle}
%%%%%%%%
\makeatletter
%%%%%%%%
+\directlua{if jit then jit.on() end}
+\usepackage{metalogo,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}
-%%%%%%%% 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
-
-%<*en>
-\usepackage[margin=25mm,footskip=6mm]{geometry}
+\setLaTeXa{\scshape a}
+%<*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}%
- {\normalfont\normalsize\bfseries\raisebox{.2ex}{$\mdlgblksquare\mkern1mu$}}}
+ {3.25ex \@plus1ex \@minus.2ex}%
+ {-1em}%
+ {\normalfont\normalsize\bfseries\raisebox{.2ex}{$\mdlgblksquare\mkern1mu$}}}
%
%<*ja>
\usepackage[textwidth=45\zw, lines=45, footskip=6mm]{geometry}
@@ -43,21 +57,46 @@
\advance\leftmargini-1\zw\advance\leftmarginii-1\zw
%
-\usepackage{amsmath,array,tikz,pict2e,multienum,float}
-\usepackage{booktabs,multicol}
-
%%%%%%%% listings
-\usepackage{listings,showexpl}
+
+%%%%%%%% IVS
+
+\def\IVS#1{\char\numexpr "E0100+#1\relax}%"
+\def\IVSA#1#2#3#4#5{%
+ \textcolor{blue}{\raisebox{3.5pt}{\tt%
+ \fboxsep=0.5pt\fbox{\tiny \oalign{0#1#2\crcr#3#4#5\crcr}}}}%
+}
+{\catcode`\%=11
+ \gdef\IVSB#1{\expandafter\IVSA\directlua{
+ local cat_str = luatexbase.catcodetables['string']
+ tex.sprint(cat_str, string.format('%X', 0xE00EF+#1))
+}}}
+
+\usepackage{listings,showexpl,enumitem}
\lstset{
basicstyle=\ttfamily\small, pos=r, breaklines=true,
numbers=none, rframe={}, basewidth=0.5em, numberstyle=\tiny, numbersep=0.5em,
- explpreset={numberstyle=\tiny, numbers=left, numbersep=1em}
+ explpreset={numberstyle=\tiny, numbers=left, numbersep=1em, columns=fixed}
}
% Suppress output from showexpl to stdout.
+\makeatletter
\let\SX@Info\relax
+%%%%%%%% colors
+%% modified from http://jfly.iam.u-tokyo.ac.jp/colorset/
+\usepackage{transparent}
+\definecolor{red}{rgb}{1, 0.16, 0}
+\definecolor{blue}{rgb}{0, 0.25, 1}
+\definecolor{gray}{rgb}{.50, .53, .56}
+\definecolor{green}{rgb}{.21, .63, .42}
+\definecolor{cyan}{rgb}{0.40, .80, 1}
+\definecolor{b_gray}{rgb}{0.78, 0.78, 0.80}
+\definecolor{b_pink}{rgb}{1, 0.82, 0.82}
+\definecolor{b_green}{rgb}{.53, .91, .69}
+\definecolor{b_cyan}{rgb}{0.70, .92, 98}
+
%%%%%%%% hyperref
-\usepackage{hyperref}
+\usepackage{hyperref,bookmark}
%<*en>
\title{The \LuaTeX-ja package}
\author{The \LuaTeX-ja project team}
@@ -87,29 +126,6 @@
%\newtheorem{defn}{Definition}
%\newtheorem{defn}{å®ç¾©}
-%%%%%%%% fonts
-\usepackage{luatexja-otf}
-%\usepackage{lmodern}
-\directlua{luatexja.otf.enable_ivs()}
-\usepackage[kozuka-pr6n]{luatexja-preset}
-%<*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
-%
-\DeclareRobustCommand\ttfamily
- {\not@math@alphabet\ttfamily\mathtt
- \romanfamily\ttdefault\ttjfam\selectfont}
-\newjfontfamily\ttjfam{KozGoPr6N-Regular.otf}
-
-
%%%%%%%% logo
\usepackage{metalogo}
\DeclareRobustCommand\eTeX{\ensuremath{\varepsilon}-\kern-.125em\TeX}
@@ -119,19 +135,16 @@
\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
-\newenvironment{cslist}{%
-% \leftskip2\zw
-% \leftskip2em
- \parindent=0pt\def\makelabel##1{{\tt\char92##1}}
- \def\{{\char`\{}\def\}{\char`\}}
- \let\origitem=\item
- \def\item[##1]{\par\smallskip\par\hskip-\leftskip\makelabel{##1}\par}
- \@totalleftmargin\leftskip
-}{\par%
-%\medskip
+\newlist{cslist}{description}{2}
+\setlist[cslist]{%
+ style=nextline,font=\mdseries\ttfamily,
+ before*=\def\<{\char`\<}\def\>{\char`\>}\def\{{\char`\{}\def\}{\char`\}},
+ topsep=\medskipamount,
+% leftmargin=2\zw,
+% leftmargin=2em,
}
\def\labelenumii{(\arabic{enumii})}
@@ -147,21 +160,33 @@
\vskip\belowcaptionskip}
\def\_{\leavevmode \kern .06em\vbox {\hrule \@width .333em}}
+\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{\textsf{#1}} % parameter name
-\protected\def\Pkg#1{\underline{\smash{\texttt{#1}}}} % packages/classes
+\protected\def\Param#1{\hyperlink{fld:#1}{\underline{\smash{\textsf{#1}}}}} % parameter name
+\protected\def\DParam#1{\hypertarget{fld:#1}{\underline{\smash{\textsf{#1}}}}} % parameter name (definition)
+\protected\def\Pkg#1{\textsf{#1}} % packages/classes
\begin{document}
+\lstset{
+ vscmd=\IVSB
+}
+
\catcode`\<=13
-\def<#1>{{\normalfont\rm\itshape$\langle$#1$\rangle$}}
+\def<#1>{{\normalfont\rm\itshape$\langle$#1\/$\rangle$}}
+\let\LARG=<
\maketitle
\tableofcontents
@@ -209,7 +234,7 @@ Japanese processing in computers (\textit{e.g.}, the UTF-8 encoding).
ASCII \pTeX ãããã®æ¡å¼µç©ãç¨ãããããã¨ãä¸è¬çã§ãã£ãï¼\pTeX ã¯\TeX
ã®ã¨ã³ã¸ã³æ¡å¼µã§ããï¼ï¼å°ã
ä»æ§ä¸ä¸ä¾¿ãªç¹ã¯ãããã®ã®ï¼åæ¥å°å·ã®åéã«
ãç¨ããããã»ã©ã®é«å質ãªæ¥æ¬èªçµçãå¯è½ã¨ãã¦ããï¼ã ãï¼ããã¯å¼±ç¹ã«
-ããªã£ã¦ãã¾ã£ãï¼\pTeX ã¨ããï¼çµççã«ï¼æºè¶³ãªãã®ããã£ãããï¼æµ·å¤ã§
+ããªã£ã¦ãã¾ã£ãï¼\pTeX ã¨ããï¼çµççã«ï¼æºè¶³ãªãã®ããã£ãããï¼æµ·å¤ã§
è¡ããã¦ããæ°ã
ã®\TeX ã®æ¡å¼µââä¾ãã°\eTeX ã\pdfTeX ââãï¼TrueType,
OpenType, Unicodeã¨ãã£ãè¨ç®æ©ã§æ¥æ¬èªãæ±ãéã®ç¶æ³ã®å¤åã«è¿½å¾ãããã¨
ãæ ã£ã¦ãã¾ã£ãã®ã ï¼
@@ -248,19 +273,22 @@ scripts for appropriate callbacks.
ãå§ã¾ã£ãããã±ã¼ã¸ã§ããï¼
%
-%\subsection{Major Changes from \pTeX}
+%\subsection{Major changes from \pTeX}
%\subsection{\pTeX ããã®ä¸»ãªå¤æ´ç¹}
\label{ssec:chgptex}
%<*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 ã«ãããä¸èªç¶ãªä»æ§ã»æåãã
@@ -268,53 +296,81 @@ 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 ã®å
é¨ã§ã®ååã®æ±ãã¯ããã¼ãããåä½ã¨ãã¦è¡ãããããã«ãªã£ã¦ããï¼ä¾ãã°ï¼
@@ -324,11 +380,11 @@ The followings are major changes from \pTeX:
%<*en>
\item Furthermore, nodes between two characters which have no effects in
- line break (\textit{e.g.}, \verb+\special+ node) and kerns from
+ line break (\textit{e.g.}, \cs{special} node) and kerns from
italic correction are ignored in the insertion process.
%
%<*ja>
-\item ããã«ï¼2ã¤ã®æåã®éã«ããè¡æ«ã§ã¯å¹æãæããªããã¼ãï¼ä¾ãã° \verb+\special+ ãã¼ãï¼ãï¼
+\item ããã«ï¼2ã¤ã®æåã®éã«ããè¡æ«ã§ã¯å¹æãæããªããã¼ãï¼ä¾ãã° \cs{special} ãã¼ãï¼ãï¼
ã¤ã¿ãªãã¯è£æ£ã«ä¼´ãæ¿å
¥ãããã«ã¼ã³ã¯æ¿å
¥å¦çä¸ã§ã¯ç¡è¦ãããï¼
%
@@ -341,23 +397,22 @@ 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 hbox between it instead:
+ 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''
- fonts are identified.
+ fonts are identified.
%
%<*ja>
\item å¦çä¸ã§ã¯ï¼2ã¤ã®åæãã©ã³ãã¯ï¼å®ãã©ã³ããç°ãªãã ãã®å ´åã«ã¯åä¸è¦
@@ -365,26 +420,62 @@ The followings are major changes from \pTeX:
%
\end{itemize}
+%<*en>
+\paragraph{Directions}
+From version~20150420.0, \LuaTeX-ja supports vertical writing.
+We implement this feature by using callbacks of \LuaTeX; so it must \emph{not} be confused
+with $\Omega$-style direction support of \LuaTeX\ itself.
+Due to implementation, the dimension returned by \cs{wd},~\cs{ht}, or~\cs{dp} depends
+on the content of the register \emph{only}. This is major difference with \pTeX.
+%
%<*ja>
-\item \LuaTeX-jaã§ã¯ï¼\pTeX ã¨åæ§ã«æ¼¢åã»ä»®åãå¶å¾¡ç¶´å
ã«ç¨ãããã¨ãã§ãï¼
-\verb+\西æ¦+ ãªã©ãæ£ããåä½ããããã«ãã¦ããï¼
-ä½ãï¼å¶å¾¡ç¶´ä¸ã«ä½¿ããåææåã\pTeXã»\upTeX ã¨å
¨ãåãã§ã¯ãªããã¨ã«æ³¨æãããã¨ï¼
+\paragraph{çµæ¹å}
+20150420.0çããã¯ï¼ä¸å®å®ãªããã\LuaTeX-ja ã«ããã縦çµã¿ããµãã¼ããã¦ããï¼
+ãªãï¼\LuaTeX æ¬ä½ã$\Omega$æµã®çµæ¹åããµãã¼ããã¦ãããï¼ããã¨ã¯å
¨ãã®å¥ç©ã§ãããã¨
+ã«æ³¨æãã¦ã»ããï¼
+ç¹ã«ï¼ç°ãªã£ãçµæ¹åã®ããã¯ã¹ãæ±ãå ´åã«ã¯
+\cs{wd}, \cs{ht}, \cs{dp}çã®ä»æ§ã\pTeX ã¨ç°ãªãã®ã§æ³¨æï¼è©³ç´°ã¯ç¬¬\ref{sec-direction}ç« ãåç
§ï¼
%
%<*en>
-\item At the present, vertical typesetting (\emph{tategaki}), is not
- supported in \LuaTeX-ja.
+\paragraph{\cs{discretionary}}
+Japanese characters in discretionary break (\cs{discretionary}) is not supported.
%
%<*ja>
-\item ç¾æç¹ã§ã¯ï¼ç¸¦æ¸ãã¯\LuaTeX-jaã§ã¯ãµãã¼ãããã¦ããªãï¼
+\paragraph{\cs{discretionary}}
+ \cs{discretionary} å
ã«ç´æ¥åææåãè¨è¿°ãããã¨ã¯ï¼\pTeX ã«ããã¦ãæ³å®ããã¦ããªãã£ã
+ æããããï¼\LuaTeX-jaã«ããã¦ãæ³å®ãã¦ããªãï¼åææåãã©ã
+ ãã¦ã使ãããå ´å㯠\cs{hbox} ã§æ¬ããã¨ï¼
%
-\end{itemize}
%<*en>
-For detailed information, see Part~\ref{part-imp}.
+\paragraph{Greek and Cyrillic letters, and ISO~8859-1 symbols}
+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}.
+
+From this version, characters which belongs both ISO~8859-1 and JIS~X~0208,
+ such as \P~and~\S, are now typeset in alphabetic fonts. This means that
+ without the \cs{fontspec} (and~\Pkg{luatexja-fontspec}) package, these characters are not typeset correctly.
%
%<*ja>
-詳細ã«ã¤ãã¦ã¯ç¬¬\ref{part-imp}é¨ãåç
§ï¼
+\paragraph{ã®ãªã·ã£æåã»ããªã«æåã¨ISO~8859-1ã®è¨å·}
+æ¨æºã§ã¯ï¼\LuaTeX-jaã¯ã®ãªã·ã£æåãããªã«æåãåæãã©ã³ãã使ã£
+ ã¦çµãï¼ã®ãªã·ã£èªãªã©ãæ¬æ ¼çã«çµããªã©ãã®ç¶æ³ãæã¾ãããªãå ´åï¼
+ ããªã¢ã³ãã«ã«
+\begin{lstlisting}
+ \ltjsetparameter{jacharrange={-2,-3}}
+\end{lstlisting}
+ ãå
¥ããã¨
+ ä¸è¨ç¨®é¡ã®æåã¯æ¬§æãã©ã³ããç¨ãã¦çµã¾ããããã«ãªãï¼
+ 詳ãã説æã¯\ref{ssec-setrange}ç¯ãåç
§ãã¦ã»ããï¼
+
+ã¾ãï¼\P,~\S ã¨ãã£ãISO~8859-1ã®ä¸ä½é åã¨JIS~X~0208ã®å
±éé¨åã®æåã¯
+ æ¬ãã¼ã¸ã§ã³ããæ¨æºã§æ¬§ææ±ãã¨ãªãï¼\emph{ã½ã¼ã¹ä¸ã«ç´æ¥è¨è¿°ãã¦ã
+ \Pkg{fontspec}ããã±ã¼ã¸ï¼ããã³\Pkg{luatexja-fontspec}ããã±ã¼ã¸ï¼éèªã¿è¾¼ã¿ã®ç¶æ
ã§ã¯åºåãããªããªã£ã}ï¼
+ åææ±ãã§åºåããã«ã¯ \verb+\ltjjachar`§+ ã®ããã« \cs{ltjjachar} å½ä»¤
+ ã使ãã°ããï¼
%
%\subsection{Notations}
@@ -403,13 +494,13 @@ 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,
- such as Hiragana, Katakana, Kanji and other Japanese punctuation marks.
+\item \textbf{JAchar}: standing for characters which is used in Japanese typesetting,
+ such as Hiragana,~Katakana, Kanji, and~other Japanese punctuation marks.
%
%<*ja>
\item \textbf{JAchar}: ã²ãããªï¼ã«ã¿ã«ãï¼æ¼¢åï¼åæç¨ã®ç´ç©ã¨ãã£ã
@@ -421,7 +512,7 @@ In this document, the following terms and notations are used:
\end{itemize}
%<*en>
-We say \emph{alphabetic fonts} for fonts used in \textbf{ALchar},
+We say \emph{alphabetic fonts} for fonts used in \textbf{ALchar},
and \emph{Japanese fonts} for fonts used in \textbf{JAchar}.
%
%<*ja>
@@ -429,28 +520,29 @@ and \emph{Japanese fonts} for fonts used in \textbf{JAchar}.
\textbf{JAchar}ã®åºåã«ç¨ãããããã©ã³ãã\emph{åæãã©ã³ã}ã¨å¼ã¶ï¼
%
%<*en>
-\item A word in a sans-serif font (like \Param{\hyperlink{fld:prebp}{prebreakpenalty}})
+\item A word in a sans-serif font with underline (like \Param{prebreakpenalty})
means an internal parameter for Japanese typesetting, and it
- is used as a key in \verb+\ltjsetparameter+ command.
+ is used as a key in \cs{ltjsetparameter} command.
%
%<*ja>
-\item ãµã³ã»ãªãä½ã§æ¸ãããèªï¼ä¾ï¼\Param{\hyperlink{fld:prebp}{prebreakpenalty}}ï¼ã¯æ¥æ¬èªçµçç¨ã®
- ãã©ã¡ã¼ã¿ã表ãï¼ããã㯠\verb+\ltjsetparameter+ ã³ãã³ãã®ãã¼ã¨ãã¦
+\item ä¸ç·ã¤ããã¼ãã³ä½ã§æ¸ãããèªï¼ä¾ï¼\Param{prebreakpenalty}ï¼ã¯æ¥æ¬èªçµçç¨ã®
+ ãã©ã¡ã¼ã¿ã表ãï¼ããã㯠\cs{ltjsetparameter} å½ä»¤ã®ãã¼ã¨ãã¦
ç¨ããããï¼
%
%<*en>
-\item A word in typewriter font with underline (like \Pkg{fontspec})
+\item A word in a sens-serif font without underline (like \Pkg{fontspec})
means a package or a class of \LaTeX.
%
%<*ja>
-\item ä¸ç·ä»ãã¿ã¤ãã©ã¤ã¿ä½ã®èªï¼ä¾ï¼\Pkg{fontspec}ï¼ã¯\LaTeX ã®
+\item ä¸ç·ãªããµã³ã»ãªãä½ã®èªï¼ä¾ï¼\Pkg{fontspec}ï¼ã¯\LaTeX ã®
ããã±ã¼ã¸ãã¯ã©ã¹ã表ãï¼
%
%<*en>
-\item In this document, natural numbers start from~0.
+\item In this document, natural numbers start from~zero.
+ $\omega$ denotes the set of all natural numbers.
%
%<*ja>
-\item æ¬ããã¥ã¡ã³ãã§ã¯ï¼èªç¶æ°ã¯0ããå§ã¾ãï¼
+\item æ¬ããã¥ã¡ã³ãã§ã¯ï¼èªç¶æ°ã¯0ããå§ã¾ãï¼èªç¶æ°å
¨ä½ã®éåã¯$\omega$ã¨è¡¨è¨ããï¼
%
\end{itemize}
@@ -461,21 +553,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{éçºã¡ã³ãã¼}\
@@ -505,99 +597,100 @@ and \emph{Japanese fonts} for fonts used in \textbf{JAchar}.
%\subsection{Installation}
%\subsection{ã¤ã³ã¹ãã¼ã«}
-%To install the \LuaTeX-ja\ package, you will need:
-%\LuaTeX-jaããã±ã¼ã¸ã®ã¤ã³ã¹ãã¼ã«ã«ã¯ï¼æ¬¡ã®ãã®ãå¿
è¦ã§ããï¼
+%The following packages are needed for the \LuaTeX-ja\ package.
+%\LuaTeX-jaããã±ã¼ã¸ã®åä½ã«ã¯æ¬¡ã®ããã±ã¼ã¸é¡ãå¿
è¦ã§ããï¼
\begin{itemize}
-\item \LuaTeX\ beta-0.74.0 (or later)
-\item \Pkg{luaotfload} v2.2 (or later)
-\item \Pkg{luatexbase} v0.6
-\item \Pkg{xunicode} v0.981~(2011/09/09)
+\item \LuaTeX\ beta-0.80.0 (or later)
+\item \Pkg{luaotfload} v2.5 (or later)
\item \Pkg{adobemapping} (Adobe cmap and pdfmapping files)
+\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{From this version of \LuaTeX-ja, \TeX~Live~2012 (or older version) is
-no longer supported, since \LuaTeX\ binary and \Pkg{luaotfload} is updated in
-\TeX~Live~2013.}
-And conversely, older versions of \LuaTeX-ja (20130318.1 or earlier) don't work in
-\TeX~Live~2013.
-
-\medskip
-
-Now \LuaTeX-ja is available from the following archive and distributions:
+Now \LuaTeX-ja is available from
+CTAN (in the \texttt{macros/luatex/generic/luatexja} directory), and
+the following distributions:
\begin{itemize}
- \item CTAN (in the \texttt{macros/luatex/generic/luatexja} directory)
- \item MiK\TeX\ (in \texttt{luatexja.tar.lzma})
+ \item MiK\TeX\ (in \texttt{luatexja.tar.lzma}); see the next subsection
\item \TeX\ Live (in \texttt{texmf-dist/tex/luatex/luatexja})
\item W32\TeX\ (in \texttt{luatexja.tar.xz})
\end{itemize}
-
-If you are using \TeX~Live~2013, you can install \LuaTeX-ja
-from \TeX~Live manager (\texttt{tlmgr}):
-\begin{verbatim}
-$ tlmgr install luatexja
-\end{verbatim}
+IPAex fonts are also available in these distributions.
%
%<*ja>
-\emph{æ¬ãã¼ã¸ã§ã³ä»¥éã®\LuaTeX-jaã¯\TeX~Live~2012以åã§ã¯åä½ããªãï¼}
-ããã¯ï¼\LuaTeX ã¨\Pkg{luaotfload}ã\TeX~Live~2013ã«ããã¦æ´æ°ããããã¨ã«ããï¼
-éã«ï¼20130318.1以åã®\LuaTeX-jaã¯\TeX~Live~2013ã§ã¯åä½ããªãï¼
-
-\medskip
-
-ç¾å¨ï¼\LuaTeX-jaã¯ä»¥ä¸ã®ã¢ã¼ã«ã¤ãï¼ããã³ãã£ã¹ããªãã¥ã¼ã·ã§ã³ã«åé²ããã¦ããï¼
+ç¾å¨ï¼\LuaTeX-jaã¯CTAN (\texttt{macros/luatex/generic/luatexja})ã«åé²ããã¦ããä»ï¼
+以ä¸ã®ãã£ã¹ããªãã¥ã¼ã·ã§ã³ã«ãåé²ããã¦ããï¼
\begin{itemize}
- \item CTAN (\texttt{macros/luatex/generic/luatexja})
\item MiK\TeX\ (\texttt{luatexja.tar.lzma})
\item \TeX\ Live (\texttt{texmf-dist/tex/luatex/luatexja})
\item W32\TeX\ (\texttt{luatexja.tar.xz})
\end{itemize}
-
-ä¾ãã°\TeX~Live~2013ãå©ç¨ãã¦ãããªãï¼\LuaTeX-jaã¯\TeX~Live manager (\texttt{tlmgr})ã
-使ã£ã¦ã¤ã³ã¹ãã¼ã«ãããã¨ãã§ããï¼
-\begin{verbatim}
-$ tlmgr install luatexja
-\end{verbatim}
+ãããã®ãã£ã¹ããªãã¥ã¼ã·ã§ã³ã¯IPAexãã©ã³ããåé²ãã¦ããï¼
+W32\TeX ã«ããã¦ã¯IPAexãã©ã³ã㯠\texttt{luatexja.tar.xz} å
ã«ããï¼
%
+% %<*ja>
+% ä¾ãã°\TeX~Live~2015ãå©ç¨ãã¦ãããªãï¼\LuaTeX-jaã¯\TeX~Live manager (\texttt{tlmgr})ã
+% 使ã£ã¦ã¤ã³ã¹ãã¼ã«ãããã¨ãã§ããï¼
+% \begin{lstlisting}
+% $ tlmgr install luatexja
+% \end{lstlisting}
+% %
+% %<*en>
+% If you are using \TeX~Live~2015, you can install \LuaTeX-ja
+% from \TeX~Live manager (\texttt{tlmgr}):
+% \begin{lstlisting}
+% $ tlmgr install luatexja
+% \end{lstlisting}
+% %
+
%\paragraph{Manual installation}
%\paragraph{æåã¤ã³ã¹ãã¼ã«æ¹æ³}
\begin{enumerate}
%<*en>
-\item Download the source archive, by one of the following method.
+\item Download the source, by one of the following method.
At the present, \LuaTeX-ja has no \emph{stable} release.
\begin{itemize}
-\item Copy the Git repository:
-\begin{verbatim}
-$ 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}
+\end{itemize}
Note that the \texttt{master} branch, and hence the archive in CTAN, are not updated frequently;
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 \texttt{master}ãã©ã³ãã®ã¹ãããã·ã§ããï¼\texttt{tar.gz}å½¢å¼ï¼ããã¦ã³ãã¼ãããï¼
+\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å
ã®ã¢ã¼ã«ã¤ããï¼ã¯ãã¾ã«ããæ´æ°ãããªããã¨ã«æ³¨æï¼
-主ãªéçºã¯\texttt{master}ã®å¤ã§è¡ããï¼æ¯è¼çã¾ã¨ã¾ã£ã¦ãããããã\texttt{master}ã«
+\texttt{master} ãã©ã³ãï¼å¾ã£ã¦ï¼CTANå
ã®ã¢ã¼ã«ã¤ããï¼ã¯ãã¾ã«ããæ´æ°ãããªããã¨ã«æ³¨æï¼
+主ãªéçºã¯\texttt{master}ã®å¤ã§è¡ããï¼æ¯è¼çã¾ã¨ã¾ã£ã¦ãããããã \texttt{master} ã«
åæ ããããã¨ã«ãã¦ããï¼
%
@@ -606,14 +699,14 @@ $ 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ãªãã¸ããªãã³ãã¼ã以å¤ã®æ¹æ³ã§ã¢ã¼ã«ã¤ããåå¾ãããªãã°ï¼ãããå±éããï¼
- \texttt{src/}ãã¯ããã¨ããããã¤ãã®ãã£ã¬ã¯ããªãã§ãããï¼
- åä½ã«ã¯\texttt{src/}以ä¸ã®å
容ã ãã§ååï¼
+\item ãGitãªãã¸ããªãã¯ãã¼ã³ã以å¤ã®æ¹æ³ã§ã¢ã¼ã«ã¤ããåå¾ãããªãã°ï¼ãããå±éããï¼
+ \texttt{src/} ãã¯ããã¨ããããã¤ãã®ãã£ã¬ã¯ããªãã§ãããï¼
+ åä½ã«ã¯ \texttt{src/} 以ä¸ã®å
容ã ãã§ååï¼
%
%<*en>
\item If you downloaded this package from CTAN, you have to run following commands
- to generate classes
+ to generate classes
and \texttt{ltj-kinsoku.lua} (the file which stores default ``\textit{kinsoku}'' parameters):
%
%<*ja>
@@ -622,17 +715,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} ã¯
é常ã®ä½¿ç¨ã«ããã£ã¦ã¯å¿
è¦ãªãï¼
%
@@ -646,8 +741,12 @@ Note that \texttt{*.\{dtx,ins\}} and \texttt{ltj-kinsoku\_make.tex} are not need
instead copying is also good.
%
%<*ja>
-\item \texttt{src}ã®ä¸èº«ãèªåã®\texttt{TEXMF}ããªã¼ã«ã³ãã¼ããï¼
- å ´æã®ä¾ã¨ãã¦ã¯ï¼ä¾ãã°\texttt{TEXMF/tex/luatex/luatexja/}ãããï¼
+\item \texttt{src} ã®ä¸èº«ãèªåã® \texttt{TEXMF} ããªã¼ã«ã³ãã¼ããï¼
+ å ´æã®ä¾ã¨ãã¦ã¯ï¼ä¾ãã°
+\begin{quote}
+ \texttt{TEXMF/tex/luatex/luatexja/}
+\end{quote}
+ ãããï¼
ã·ã³ããªãã¯ãªã³ã¯ãå©ç¨ã§ããç°å¢ã§ï¼ãã¤ãªãã¸ããªãç´æ¥åå¾ããã®ã§ããã°ï¼
ï¼æ´æ°ã容æã«ããããã«ï¼ã³ãã¼ã§ã¯ãªããªã³ã¯ãè²¼ããã¨ãå§ããï¼
%
@@ -655,68 +754,77 @@ 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}
%<*en>
-\paragraph{Note for MiK\TeX\ Users}
-\LuaTeX-ja requires that two CMap files,
-\texttt{UniJIS2004-UTF32-H} and \texttt{Adobe-Japan1-UCS2},
+\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. Other
+ encodings, such as EUC-JP or Shift-JIS, are not supported.
+%
+%<*ja>
+\item å稿ã®ã½ã¼ã¹ãã¡ã¤ã«ã®æåã³ã¼ãã¯UTF-8åºå®ã§ããï¼
+ å¾æ¥æ¥æ¬èªã®æåã³ã¼ãã¨ãã¦ç¨ãããã¦ããEUC-JPãShift-JISã¯ä½¿ç¨ã§ããªãï¼
+%
+%<*en>
+\item \LuaTeX-ja is very slower than \pTeX.
+Generally speaking, LuaJIT\TeX\ processes \LuaTeX-ja
+about 30\% faster than \LuaTeX, but not always.
+%
+%<*ja>
+\item \LuaTeX-jaã¯åä½ã\pTeX ã«æ¯ã¹ã¦é常ã«é
ãï¼
+ã³ã¼ãã調æ´ãã¦å¾ã
ã«éããã¦ãããï¼ã¾ã æºè¶³ã§ããé度ã§ã¯ãªãï¼
+LuaJIT\TeX ãç¨ããã¨\LuaTeX ã®ã ããã1.3åã®é度ã§åãããã§ãããï¼
+IPA mjææãªã©ã®å¤§ãããã©ã³ããç¨ããå ´åã«ã¯\LuaTeX ãããé
ããªããã¨ãããï¼
+%
+
+\item%
+%<*en>
+\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.
-Strictly speaking, those CMaps are needed
+Strictly speaking, those CMaps are needed
only in the first run of \LuaTeX-ja after installing or updating.
-
-But it seems that MiK\TeX\ does not satisfy this condition,
+But it seems that MiK\TeX\ does not satisfy this condition,
so you will encounter an error like the following:
%
%<*ja>
\LuaTeX-jaãåä½ããããã«ã¯ï¼\emph{å°å
¥ã»æ´æ°å¾ã®ååèµ·åæã«}
-\texttt{UniJIS2004-UTF32-H}, \texttt{Adobe-Japan1-UCS2}ã¨ãã2ã¤ã®CMapã
+\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)}.
-This batch file creates a temporaly directory, copy CMaps in it,
-run \LuaTeX-ja in this directory, and finally delete the temporaly directory.
+\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 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 ã®ååèµ·åãè¡ãï¼ä½æ¥ç¨ãã£ã¬ã¯ããªãæ¶ãä½æ¥ããã¦ããï¼
+ã³ãã¼ãï¼ãã®ä¸ã§\LuaTeX-jaã®ååèµ·åãè¡ãï¼ä½æ¥ç¨ãã£ã¬ã¯ããªãæ¶ãä½æ¥ããã¦ããï¼
%
-%\subsection{Cautions}
-%\subsection{注æç¹}
-
-\begin{itemize}
-%<*en>
-\item The encoding of your source file must be UTF-8. No other
- encodings, such as EUC-JP or Shift-JIS, are not supported.
-%
-%<*ja>
-\item å稿ã®ã½ã¼ã¹ãã¡ã¤ã«ã®æåã³ã¼ãã¯UTF-8åºå®ã§ããï¼
- å¾æ¥æ¥æ¬èªã®æåã³ã¼ãã¨ãã¦ç¨ãããã¦ããEUC-JPãShift-JISã¯ä½¿ç¨ã§ããªãï¼
-%
-%<*en>
-\item \LuaTeX-ja is very slower than \pTeX.
-Using LuaJIT\TeX\ usually improve the situation, but not always.
-%
-%<*ja>
-\item \LuaTeX-jaã¯åä½ã\pTeX ã«æ¯ã¹ã¦é常ã«é
ãï¼
-ã³ã¼ãã調æ´ãã¦å¾ã
ã«éããã¦ãããï¼ã¾ã æºè¶³ã§ããé度ã§ã¯ãªãï¼
-LuaJIT\TeX ãç¨ããã¨\LuaTeX ã®ã ããã1.3åã®é度ã§åãããã§ãããï¼
-IPA mjææãªã©ã®å¤§ãããã©ã³ããç¨ããå ´åã«ã¯\LuaTeX ãããé
ããªããã¨ãããï¼
-%
\end{itemize}
%\subsection{Using in plain \TeX}
@@ -725,51 +833,56 @@ IPA mjææãªã©ã®å¤§ãããã©ã³ããç¨ããå ´åã«ã¯\LuaTeX ãã
%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}ã®ããã«ï¼æ¥æ¬èªçµçã®ããã®æä½éã®è¨å®ããªãããï¼
\begin{itemize}
%<*en>
-\item The following 6~Japanese fonts are preloaded:
+\item The following 12~Japanese fonts are preloaded:
\begin{center}\small
-\begin{tabular}{ccccc}
+\begin{tabular}{cccccc}
\toprule
-\textbf{classification}&\textbf{font name}&\bf `10\,pt'&\bf`7\,pt'&\bf`5\,pt'\\\midrule
-\emph{mincho}&Ryumin-Light &\verb+\tenmin+&\verb+\sevenmin+&\verb+\fivemin+\\
-\emph{gothic}&GothicBBB-Medium&\verb+\tengt+ &\verb+\sevengt+ &\verb+\fivegt+\\
+\textbf{direction}&
+\textbf{classification}&\textbf{font name}&\bf ``10\,pt''&\bf``7\,pt''&\bf``5\,pt''\\\midrule
+\smash{\raisebox{-1ex}{\emph{yoko} (horizontal)}}&
+\emph{mincho}&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}
%
%<*ja>
-\item 以ä¸ã®6ã¤ã®åæãã©ã³ããå®ç¾©ãããï¼
+\item 以ä¸ã®12åã®åæãã©ã³ããå®ç¾©ãããï¼
\begin{center}\small
-\begin{tabular}{ccccc}
+\begin{tabular}{cccccc}
\toprule
-\emph{åä½}&\emph{ãã©ã³ãå}&\bf `10\,pt'&\bf`7\,pt'&\bf`5\,pt'\\\midrule
-ææä½&Ryumin-Light &\verb+\tenmin+&\verb+\sevenmin+&\verb+\fivemin+\\
-ã´ã·ãã¯ä½&GothicBBB-Medium&\verb+\tengt+ &\verb+\sevengt+ &\verb+\fivegt+\\
+\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 It is widely accepted that fonts ``Ryumin-Light'' and
- ``GothicBBB-Medium'' aren't embedded into PDF files, and a PDF reader
- substitute them by some external Japanese fonts (\textit{e.g.},
- Ryumin-Light is substituted with Kozuka Mincho in Adobe Reader).
- We adopt this custom to the default setting.
+\item With \texttt{luatexja.cfg}, one can use other fonts
+as ``default'' Japanese fonts (Subsection~\ref{ssec-cfg}).
%
%<*ja>
-\item ``Ryumin-Light''ã¨``GothicBBB-Medium''ã¯PDFãã¡ã¤ã«ã«åãè¾¼ã¾ãã«
- åååç
§ã®ã¿ã§ç¨ãããã¨ãåºãåãå
¥ãããã¦ããï¼ãã®å ´åPDFãªã¼ãã¼ã
- é©åãªå¤é¨ãã©ã³ãã§ä»£ç¨ããï¼ä¾ãã°ï¼Adobe Readerã§ã¯Ryumin-Lightã¯
- å°å¡ææã§ä»£æ¿ãããï¼ï¼ããã§ï¼ããããå¼ãç¶ãããã©ã«ãã®ãã©ã³ãã¨
- ãã¦æ¡ç¨ããï¼
+\item \texttt{luatexja.cfg} ãç¨ãããã¨ã«ãã£ã¦ï¼æ¨æºåæãã©ã³ãã
+IPAexãã©ã³ãããå¥ã®ãã©ã³ãã«ç½®ãæãããã¨ãã§ããï¼\ref{ssec-cfg}ç¯ãåç
§ï¼
%
%<*en>
@@ -788,10 +901,10 @@ IPA mjææãªã©ã®å¤§ãããã©ã³ããç¨ããå ´åã«ã¯\LuaTeX ãã
%<*en>
\item The amount of glue that are inserted between a \textbf{JAchar} and
- an \textbf{ALchar} (the parameter \Param{\hyperlink{fld:xks}{xkanjiskip}}) is set to
+ an \textbf{ALchar} (the parameter \Param{xkanjiskip}) is set to
%
%<*ja>
-\item \textbf{JAchar}ã¨\textbf{ALchar}ã®éã«å
¥ãã°ã«ã¼(\Param{\hyperlink{fld:xks}{xkanjiskip}})ã®
+\item \textbf{JAchar}ã¨\textbf{ALchar}ã®éã«å
¥ãã°ã«ã¼(\Param{xkanjiskip})ã®
éã¯æ¬¡ã®ããã«è¨å®ããã¦ããï¼
%
\[
@@ -804,8 +917,6 @@ IPA mjææãªã©ã®å¤§ãããã©ã³ããç¨ããå ´åã«ã¯\LuaTeX ãã
%\subsection{\LaTeX ã§ä½¿ã}
\label{ssec-ltx}
-\paragraph{\LaTeXe}
-
%<*en>
Using in \LaTeXe\ is basically same. To set up the minimal environment
for Japanese, you only have to load \texttt{luatexja.sty}:
@@ -814,11 +925,11 @@ 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{
+It also does minimal settings (counterparts in \pLaTeX\ are \texttt{%
plfonts.dtx} and \texttt{pldefs.ltx}):
%
%<*ja>
@@ -828,42 +939,40 @@ plfonts.dtx} and \texttt{pldefs.ltx}):
\begin{itemize}
%<*en>
-\item \texttt{JY3} is the font encoding for Japanese fonts (in 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>
-\item Traditionally, Japanese documents use two typeface category: \emph{mincho}~(ææä½) and
+\item Traditionally, Japanese documents use two typeface categories: \emph{mincho}~(ææä½) and
\emph{gothic}~(\textgt{ã´ã·ãã¯ä½}). \emph{mincho} is used in the main text, while \emph{gothic}
is used in the headings or for emphasis.
\begin{center}\small
\begin{tabular}{lllc}
\toprule
\textbf{classification}&&&\textbf{family name}\\\midrule
-\emph{mincho} (ææä½)&\verb+\textmc{...}+&\verb+{\mcfamily ...}+&\verb+\mcdefault+\\
-\emph{gothic} (\textgt{ã´ã·ãã¯ä½})&\verb+\textgt{...}+&\verb+{\gtfamily ...}+&\verb+\gtdefault+\\
+\emph{mincho} (ææä½)&\verb+\textmc{...}+&\verb+{\mcfamily ...}+&\cs{mcdefault}\\
+\emph{gothic} (\textgt{ã´ã·ãã¯ä½})&\verb+\textgt{...}+&\verb+{\gtfamily ...}+&\cs{gtdefault}\\
\bottomrule
\end{tabular}
\end{center}
-\item
+\item
By default, the following fonts are used for \emph{mincho} and \emph{gothic}:
\begin{center}\small
\begin{tabular}{ccccc}
\toprule
-\textbf{classification}&\textbf{family name}&\verb+\mdseries+&\verb+\bfseries+&\textbf{scale}\\\midrule
-\emph{mincho} (ææä½)&\tt mc&Ryumin-Light &GothicBBB-Medium&0.962216\\
-\emph{gothic} (\textgt{ã´ã·ãã¯ä½})&\tt gt&GothicBBB-Medium&GothicBBB-Medium&0.962216\\
+\textbf{classification}&\textbf{family}&\cs{mdseries}&\cs{bfseries}&\textbf{scale}\\\midrule
+\emph{mincho} (ææä½)&\tt mc&IPAex Mincho&IPAex Gothic&0.962216\\
+\emph{gothic} (\textgt{ã´ã·ãã¯ä½})&\tt gt&IPAex Gothic&IPAex Gothic&0.962216\\
\bottomrule
\end{tabular}
\end{center}
-Note that the bold series in both family are same as the medium series of \emph{gothic} family.
-This is a convention in \pLaTeX. This is trace that there were only 2~fonts (these are Ryumin-Light
-and GothicBBB-Medium) in early years of DTP. There is no italic nor slanted shape for
+Note that the bold series in both family are same as the medium series of \emph{gothic}
+ family. There is no italic nor slanted shape for
these \texttt{mc}~and~\texttt{gt}.
%
%<*ja>
@@ -872,8 +981,8 @@ and GothicBBB-Medium) in early years of DTP. There is no italic nor slanted shap
\begin{tabular}{cllc}
\toprule
\emph{åä½}&&&\emph{ãã¡ããªå}\\\midrule
-ææä½&\verb+\textmc{...}+&\verb+{\mcfamily ...}+&\verb+\mcdefault+\\
-\textgt{ã´ã·ãã¯ä½}&\verb+\textgt{...}+&\verb+{\gtfamily ...}+&\verb+\gtdefault+\\
+ææä½&\verb+\textmc{...}+&\verb+{\mcfamily ...}+&\cs{mcdefault}\\
+\textgt{ã´ã·ãã¯ä½}&\verb+\textgt{...}+&\verb+{\gtfamily ...}+&\cs{gtdefault}\\
\bottomrule
\end{tabular}
\end{center}
@@ -881,22 +990,36 @@ and GothicBBB-Medium) in early years of DTP. There is no italic nor slanted shap
\begin{center}\small
\begin{tabular}{ccccc}
\toprule
-\emph{åä½}&\emph{ãã¡ããª}&\verb+\mdseries+&\verb+\bfseries+&\emph{ã¹ã±ã¼ã«}\\\midrule
-ææä½&\tt mc&Ryumin-Light &GothicBBB-Medium&0.962216\\
-ã´ã·ãã¯ä½&\tt gt&GothicBBB-Medium&GothicBBB-Medium&0.962216\\
+\emph{åä½}&\emph{ãã¡ããª}&\cs{mdseries}&\cs{bfseries}&\emph{ã¹ã±ã¼ã«}\\\midrule
+ææä½&\tt mc&IPAexææ&IPAexã´ã·ãã¯&0.962216\\
+ã´ã·ãã¯ä½&\tt gt&IPAexã´ã·ãã¯&IPAexã´ã·ãã¯&0.962216\\
\bottomrule
\end{tabular}
\end{center}
ã©ã¡ãã®ãã¡ããªã«ããã¦ãï¼ãã®boldã·ãªã¼ãºã§ä½¿ããããã©ã³ãã¯
-ã´ã·ãã¯ä½ã®mediumã·ãªã¼ãºã§ä½¿ããããã©ã³ãã¨åããããã¨ã«æ³¨æï¼
-ããã¯åæã®DTPã«ããã¦åæãã©ã³ãã2ã¤ï¼ãããã¡ããã©\
-Ryumin-Light, GothicBBB-Mediumã ã£ãï¼ããå©ç¨ã§ããªãã£ãæã®åæ®ã§ããï¼\pLaTeX{}
-ã§ã®æ¨æºè¨å®ã¨ãåãã§ããï¼
+ã´ã·ãã¯ä½ã®mediumã·ãªã¼ãºã§ä½¿ããããã©ã³ãã¨åãã§ãããã¨ã«æ³¨æï¼
+ã¾ãï¼ã©ã¡ãã®ãã¡ããªã§ãã¤ã¿ãªãã¯ä½ã»ã¹ã©ã³ãä½ã¯å®ç¾©ãããªãï¼
%
-
%\item Japanese characters in math mode are typeset by the font family \texttt{mc}.
%\item æ°å¼ã¢ã¼ãä¸ã®åææåã¯ææä½(\texttt{mc})ã§åºåãããï¼
+
+%<*en>
+\item If you use the \Pkg{beamer} class with the default font theme (which uses sans serif
+ fonts) and with \LuaTeX-ja, you might want to change default Japanese fonts to
+ \emph{gothic} family. The following line changes the default Japanese font family
+ to \emph{gothic}:
+%
+%<*ja>
+\item \Pkg{beamer}ã¯ã©ã¹ãæ¢å®ã®ãã©ã³ãè¨å®ã§ä½¿ãå ´åï¼æ¢å®æ¬§æãã©ã³ãããµã³ã»ãªããªã®
+ ã§ï¼æ¢å®åæãã©ã³ããã´ã·ãã¯ä½ã«ãããã¨æããããããªãï¼ãã®å ´åã¯ããªã¢ã³ãã«ã«
+次ãæ¸ãã°ããï¼
+%
+\begin{lstlisting}
+ \renewcommand{\kanjifamilydefault}{\gtdefault}
+\end{lstlisting}
+
+
\end{itemize}
%<*en>
@@ -905,30 +1028,89 @@ documents. To typeset Japanese-based documents, you are better to use
class files other than \texttt{article.cls}, \texttt{book.cls}, and so on. At
the present, we have the counterparts of \Pkg{jclasses} (standard
classes in \pLaTeX) and \Pkg{jsclasses} (classes by Haruhiko
-Okumura), namely, \Pkg{ltjclasses} and \Pkg{ltjsclasses}.
+Okumura), namely, \Pkg{ltjclasses}\footnote{%
+ \texttt{ltjarticle.cls},~\texttt{ltjbook.cls}, \texttt{ltjreport.cls},
+ \texttt{ltjtarticle.cls}, \texttt{ltjtbook.cls}, \texttt{ltjtreport.cls}.
+ The latter \texttt{ltjt*.cls} are for vertically writtened Japanese documents.
+} and \Pkg{ltjsclasses}\footnote{%
+ \texttt{ltjsarticle.cls},~\texttt{ltjsbook.cls},~\texttt{ltjskiyou.cls}.}.
%
%<*ja>
ããããªããï¼ä¸è¨ã®è¨å®ã¯æ¥æ¬èªã®ææ¸ã«ã¨ã£ã¦ååã¨ã¯è¨ããªãï¼
æ¥æ¬èªææ¸ãçµçããããã«ã¯ï¼\texttt{article.cls}, \texttt{book.cls}ã¨ãã£ã
欧æç¨ã®ã¯ã©ã¹ãã¡ã¤ã«ã§ã¯ãªãï¼åæç¨ã®ã¯ã©ã¹ãã¡ã¤ã«ãç¨ããæ¹ãããï¼
-ç¾æç¹ã§ã¯ï¼\Pkg{jclasses}ï¼\pLaTeX ã®æ¨æºã¯ã©ã¹ï¼ã¨\Pkg{jsclasses}
-ï¼å¥¥ææ´å½¦æ°ã«ããã¯ã©ã¹ãã¡ã¤ã«ï¼ã«å¯¾å¿ãããã®ã¨ãã¦ï¼\Pkg{ltjclasses}ï¼
-\Pkg{ltjsclasses}ãããããç¨æããã¦ããï¼
+ç¾æç¹ã§ã¯ï¼\Pkg{jclasses}ï¼\pLaTeX ã®æ¨æºã¯ã©ã¹ï¼ã¨\Pkg{jsclasses}%
+ï¼å¥¥ææ´å½¦æ°ã«ããã\pLaTeXe æ°ããã¥ã¡ã³ãã¯ã©ã¹ãï¼ã«å¯¾å¿ãããã®ã¨ãã¦ï¼
+\Pkg{ltjclasses}\footnote{%
+ 横çµç¨ã¯ \texttt{ltjarticle.cls},~\texttt{ltjbook.cls}, \texttt{ltjreport.cls} ã§ããï¼
+ 縦çµç¨ã¯ \texttt{ltjtarticle.cls}, \texttt{ltjtbook.cls}, \texttt{ltjtreport.cls} ã§ããï¼
+}ï¼
+\Pkg{ltjsclasses}\footnote{%
+ \texttt{ltjsarticle.cls},~\texttt{ltjsbook.cls},~\texttt{ltjskiyou.cls}.}%
+ãããããç¨æããã¦ããï¼
+%
+
+%<*ja>
+\paragraph{è注ã¨ããã ããã¼ãã®åºåé åº}
+ãªãªã¸ãã«ã®\LaTeX ã§ã¯è注ãããã ããã¼ãã®ä¸ã«æ¥ãããã«ãªã£ã¦ããï¼
+\pLaTeX ã§ã¯è注ãããã ããã¼ãã®ä¸ã«æ¥ãããã«å¤æ´ããã¦ããï¼
+
+\LuaTeX-jaã§ã¯ã欧æã¯ã©ã¹ã®ä¸ã«ã¡ãã£ã¨ã ãæ¥æ¬èªãå
¥ãããã¨ããå©ç¨ãèæ
®ãï¼
+è注ã¨ããã ããã¼ãã®é åºã¯\LaTeX éãã¨ããï¼ãã\pLaTeX ã®åºåé åºã好ã¿ãªãã°ï¼
+\Pkg{stfloats}ããã±ã¼ã¸ãå©ç¨ãã¦
+\begin{lstlisting}
+ \usepackage{stfloats}\fnbelowfloat
+\end{lstlisting}
+ã®ããã«ããã°ããï¼\Pkg{footmisc}ããã±ã¼ã¸ã \texttt{bottom}\ ãªãã·ã§ã³ãæå®ãã¦
+èªã¿è¾¼ãã¨ããæ¹æ³ããããï¼ããã ã¨ããã ããã¼ãã¨è注ã®éãéãã¦ãã¾ãï¼
+%
+%%% âã¯è±è¨³ããªã
+
+%<*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{ãã©ã³ãã®å¤æ´}
\subsection{plain \TeX~and~\LaTeXe}
-\label{ssub-chgfnt}
+\label{ssec-chgfnt}
\paragraph{plain \TeX}
%<*en>
-To change Japanese fonts in plain \TeX, you must use the control sequence
-\verb+\jfont+. So please see Subsection~\ref{ssec-jfont}.
+To change Japanese fonts in plain \TeX, you must use the command
+\cs{jfont}~and~\cs{tfont}. So please see Subsection~\ref{ssec-jfont}.
%
%<*ja>
-plain \TeX ã§åæãã©ã³ããå¤æ´ããããã«ã¯ï¼\pTeX ã®ããã« \verb+\jfont+ å½ä»¤ãç´æ¥ç¨ããï¼
+plain \TeX ã§åæãã©ã³ããå¤æ´ããããã«ã¯ï¼
+\pTeX ã®ããã« \cs{jfont} å½ä»¤ã \cs{tfont} å½ä»¤ãç´æ¥ç¨ããï¼
\ref{ssec-jfont}ç¯ãåç
§ï¼
%
@@ -937,18 +1119,16 @@ plain \TeX ã§åæãã©ã³ããå¤æ´ããããã«ã¯ï¼\pTeX ã®ããã«
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 \verb+\fontfamily+, \verb+\fontseries+,
- \verb+\fontshape+ and \verb+\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 \verb+\fontfamily+, \verb+\fontseries+, \verb+\fontshape+, ããã¦
- \verb+\selectfont+ ãåæãã©ã³ãã®å±æ§ãå¤æ´ããããã«ä½¿ç¨ã§ããï¼
+\item åæãã©ã³ãã®å±æ§ãå¤æ´ããã«ã¯ï¼\cs{fontfamily}, \cs{fontseries}, \cs{fontshape} ã使ç¨ããï¼
+ ãã¡ããï¼ããããå®éã«åæ ãããã«ã¯æå㧠\cs{selectfont} ãå®è¡ããå¿
è¦ãããï¼
%
%<*en>
@@ -957,13 +1137,13 @@ For \LaTeXe, \LuaTeX-ja adopted most of the font selection system of \pLaTeXe\ (
\toprule
&\textbf{encoding}&\textbf{family}&\textbf{series}&\textbf{shape}&\textbf{selection}\\\midrule
alphabetic fonts
-&\verb+\romanencoding+&\verb+\romanfamily+&\verb+\romanseries+&\verb+\romanshape+
-&\verb+\useroman+\\
+&\cs{romanencoding}&\cs{romanfamily}&\cs{romanseries}&\cs{romanshape}
+&\cs{useroman}\\
Japanese fonts
-&\verb+\kanjiencoding+&\verb+\kanjifamily+&\verb+\kanjiseries+&\verb+\kanjishape+
-&\verb+\usekanji+\\
-both&---&--&\verb+\fontseries+&\verb+\fontshape+&---\\
-auto select&\verb+\fontencoding+&\verb+\fontfamily+&---&---&\verb+\usefont+\\
+&\cs{kanjiencoding}&\cs{kanjifamily}&\cs{kanjiseries}&\cs{kanjishape}
+&\cs{usekanji}\\
+both&---&--&\cs{fontseries}&\cs{fontshape}&---\\
+auto select&\cs{fontencoding}&\cs{fontfamily}&---&---&\cs{usefont}\\
\bottomrule
\end{tabular}
\end{center}
@@ -974,63 +1154,67 @@ auto select&\verb+\fontencoding+&\verb+\fontfamily+&---&---&\verb+\usefont+\\
\toprule
&\emph{ã¨ã³ã³ã¼ãã£ã³ã°}&\emph{ãã¡ããª}&\emph{ã·ãªã¼ãº}&\emph{ã·ã§ã¼ã}&\emph{é¸æ}\\\midrule
欧æ
-&\verb+\romanencoding+&\verb+\romanfamily+&\verb+\romanseries+&\verb+\romanshape+
-&\verb+\useroman+\\
+&\cs{romanencoding}&\cs{romanfamily}&\cs{romanseries}&\cs{romanshape}
+&\cs{useroman}\\
åæ
-&\verb+\kanjiencoding+&\verb+\kanjifamily+&\verb+\kanjiseries+&\verb+\kanjishape+
-&\verb+\usekanji+\\
-両æ¹&---&--&\verb+\fontseries+&\verb+\fontshape+&---\\
-èªåé¸æ&\verb+\fontencoding+&\verb+\fontfamily+&---&---&\verb+\usefont+\\
+&\cs{kanjiencoding}&\cs{kanjifamily}&\cs{kanjiseries}&\cs{kanjishape}
+&\cs{usekanji}\\
+両æ¹&---&--&\cs{fontseries}&\cs{fontshape}&---\\
+èªåé¸æ&\cs{fontencoding}&\cs{fontfamily}&---&---&\cs{usefont}\\
\bottomrule
\end{tabular}
\end{center}
%
%<*en>
- \verb+\fontencoding{}+ changes the encoding of alphabetic fonts
+ \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}.
- \verb+\fontfamily+ also changes the family of Japanese fonts, alphabetic
- fonts, \emph{or both}. For detail, see Subsection~\ref{ssub-nfsspat}.
+ \cs{fontfamily} also changes the current Japanese font family,
+ the current alphabetic font family, \emph{or both}.
+ For the detail, see Subsection~\ref{ssec-nfsspat}.
%
%<*ja>
- ããã§ï¼\verb+\fontencoding{}+ ã¯ï¼å¼æ°ã«ããåæå´ã欧æ
+ ããã§ï¼\verb+\fontencoding{+\verb+}+ ã¯ï¼å¼æ°ã«ããåæå´ã欧æ
å´ãã®ã©ã¡ããã®ã¨ã³ã³ã¼ãã£ã³ã°ãå¤æ´ããï¼ä¾ãã°ï¼
\verb+\fontencoding{JY3}+ ã¯åæãã©ã³ãã®ã¨ã³ã³ã¼ãã£ã³ã°ã
\texttt{JY3}ã«å¤æ´ãï¼\verb+\fontencoding{T1}+ ã¯æ¬§æãã©ã³ãå´ã
- \texttt{T1}ã¸ã¨å¤æ´ããï¼\verb+\fontfamily+ ãå¼æ°ã«ããåæå´ï¼æ¬§æ
+ \texttt{T1}ã¸ã¨å¤æ´ããï¼\cs{fontfamily} ãå¼æ°ã«ããåæå´ï¼æ¬§æ
å´ï¼\emph{ãããã¯ä¸¡æ¹}ã®ãã©ã³ããã¡ããªãå¤æ´ããï¼è©³ç´°ã¯
- \ref{ssub-nfsspat}ç¯ãåç
§ãããã¨ï¼
+ \ref{ssec-nfsspat}ç¯ãåç
§ãããã¨ï¼
%
%<*en>
\item For defining a Japanese font family, use
- \verb+\DeclareKanjiFamily+ instead of
- \verb+\DeclareFontFamily+. However, in the present implementation,
- using \verb+\DeclareFontFamily+ doesn't cause any problem.
-\item Defining a Japanese font shape can be done by usual \verb+\DeclareFontShape+:
+ \cs{DeclareKanjiFamily} instead of
+ \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 åæãã©ã³ããã¡ããªã®å®ç¾©ã«ã¯ \verb+\DeclareFontFamily+ ã®
- 代ããã« \verb+\DeclareKanjiFamily+ ãç¨ããï¼ãããï¼ç¾å¨ã®
- å®è£
ã§ã¯ \verb+\DeclareFontFamily+ ãç¨ãã¦ãåé¡ã¯çããªãï¼
-\item åæãã©ã³ãã®ã·ã§ã¤ããå®ç¾©ããã«ã¯ï¼é常㮠\verb+\DeclareFontShape+ ã使ãã°è¯ãï¼
+\item åæãã©ã³ããã¡ããªã®å®ç¾©ã«ã¯ \cs{DeclareFontFamily} ã®
+ 代ããã« \cs{DeclareKanjiFamily} ãç¨ããï¼ä»¥åã®
+ å®è£
ã§ã¯ \cs{DeclareFontFamily} ãç¨ãã¦ãåé¡ã¯çããªãã£ããï¼ç¾å¨ã®å®è£
ã§ã¯
+ ããã¯ãããªãï¼
+\item åæãã©ã³ãã®ã·ã§ã¤ããå®ç¾©ããã«ã¯ï¼é常㮠\cs{DeclareFontShape} ã使ãã°è¯ãï¼
%
-\begin{verbatim}
-\DeclareFontShape{JY3}{mc}{bx}{n}{<-> s*KozMinPr6N-Bold:jfm=ujis}{}
+\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}ç¯ã® \verb+\ltjdeclarealtfont+ ã¨ï¼ãã®\LaTeX çã®\
-\verb+\DeclareAlternateKanjiFont+ï¼\ref{ssub-nfsspat}ç¯ï¼ãåç
§ããï¼
+\ref{ssec-altfont}ç¯ã® \cs{ltjdeclarealtfont} ã¨ï¼ãã®\LaTeX çã®\
+\cs{DeclareAlternateKanjiFont}ï¼\ref{ssec-nfsspat}ç¯ï¼ãåç
§ããï¼
%
+
\end{itemize}
%<*en>
-\paragraph{Remark: Japanese Characters in Math Mode}
+\paragraph{Remark: Japanese characters in math mode}
Since \pTeX\ supports Japanese characters in math mode, there are
sources like the following:
%
@@ -1088,43 +1272,57 @@ this chapter. For the method, please see Subsection~\ref{ssec-math}.
è¨è¿°ããªãï¼ãã®æ¹æ³ã«ã¤ãã¦ã¯\ref{ssec-math}ç¯ãåç
§ã®ãã¨ï¼
%
-
-\subsection{fontspec}
+%\subsection{\Pkg{luatexja-fontspec} package}
+%\subsection{\Pkg{luatexja-fontspec}ããã±ã¼ã¸}
\label{ssec-fontspec}
%<*en>
-To coexist with the \Pkg{fontspec} package, it is needed to load
-\Pkg{luatexja-fontspec} package in the preamble. This additional
-package automatically loads \Pkg{luatexja} and \Pkg{fontspec}
-package, if needed.
+To use the functionality of the \Pkg{fontspec} package to Japanese fonts,
+it is needed to load 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}
+packages, if needed.
%
%<*ja>
-\Pkg{fontspec}ããã±ã¼ã¸ã¨åæ§ã®æ©è½ãåæãã©ã³ãã«å¯¾ãã¦ãç¨ããããã«ã¯ï¼
-\Pkg{luatexja-fontspec}ããã±ã¼ã¸ãããªã¢ã³ãã«ã§èªã¿è¾¼ãå¿
è¦ãããï¼ãã®ããã±ã¼ã¸
-ã¯å¿
è¦ãªãã°èªåã§\Pkg{luatexja}ããã±ã¼ã¸ã¨\Pkg{fontspec}ããã±ã¼ã¸ãèªã¿è¾¼ãï¼
+\Pkg{fontspec}ããã±ã¼ã¸ã¯ï¼\LuaTeXã»\XeTeX ã«ããã¦
+TrueTypeã»OpenTypeãã©ã³ãã容æã«æ±ãããã®ããã±ã¼ã¸ã§ããï¼ãã®ããã±ã¼ã¸ãèªã¿è¾¼ãã§ã
+ãã°Unicodeã«ããå種è¨å·ã®ç´æ¥å
¥åãã§ããããã«ãªãï¼
+\LuaTeX-jaã§ã¯åæã¨æ¬§æãåºå¥ãã¦ããããï¼\Pkg{fontspec}ããã±ã¼ã¸ã®æ©è½ã¯æ¬§æãã©ã³ãã«
+対ãã¦ã®ã¿æå¹ãªãã®ã¨ãªã£ã¦ããï¼
+
+\LuaTeX-jaä¸ã«ããã¦ï¼\Pkg{fontspec}ããã±ã¼ã¸ã¨åæ§ã®æ©è½ãåæãã©ã³ãã«å¯¾ãã¦ãç¨ããå ´
+åã¯\Pkg{luatexja-fontspec}ããã±ã¼ã¸ãèªã¿è¾¼ãï¼
+\begin{quote}
+\ttfamily \textbackslash usepackage[]\{luatexja-fontspec\}
+\end{quote}
+ãã®ããã±ã¼ã¸ã¯èªåã§\Pkg{luatexja}ããã±ã¼ã¸ã¨\Pkg{fontspec}ããã±ã¼ã¸ãèªã¿è¾¼ãï¼
%
%<*en>
-In \Pkg{luatexja-fontspec} package, the following 7~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>
\Pkg{luatexja-fontspec}ããã±ã¼ã¸ã§ã¯ï¼ä»¥ä¸ã®7ã¤ã®ã³ãã³ãã\Pkg{fontspec}
ããã±ã¼ã¸ã®å
ã®ã³ãã³ãã«å¯¾å¿ãããã®ã¨ãã¦å®ç¾©ãã¦ããï¼
%
-
%<*en>
\begin{center}\small
\begin{tabular}{ccccc}
\toprule
Japanese fonts
-&\verb+\jfontspec+&\verb+\setmainjfont+&\verb+\setsansjfont+&\verb+\newjfontfamily+\\
+&\cs{jfontspec}&\cs{setmainjfont}&\cs{setsansjfont}&\cs{setmonojfont}$^*$\\
alphabetic fonts
-&\verb+\fontspec+&\verb+\setmainfont+&\verb+\setsansfont+&\verb+\newfontfamily+\\
+&\cs{fontspec}&\cs{setmainfont}&\cs{setsansfont}&\cs{setmonofont}\\
\midrule
Japanese fonts
-&\verb+\newjfontface+&\verb+\defaultjfontfeatures+&\verb+\addjfontfeatures+\\
+&\cs{newjfontfamily}&\cs{newjfontface}
+&\cs{defaultjfontfeatures}&\cs{addjfontfeatures}\\
alphabetic fonts
-&\verb+\newfontface+&\verb+\defaultfontfeatures+&\verb+\addfontfeatures+\\
+&\cs{newfontfamily}&\cs{newfontface}
+&\cs{defaultfontfeatures}&\cs{addfontfeatures}\\
\bottomrule
\end{tabular}
\end{center}
@@ -1134,117 +1332,249 @@ alphabetic fonts
\begin{tabular}{cccc}
\toprule
åæ
-&\verb+\jfontspec+&\verb+\setmainjfont+&\verb+\setsansjfont+\\
+&\cs{jfontspec}&\cs{setmainjfont}&\cs{setsansjfont}\\
欧æ
-&\verb+\fontspec+&\verb+\setmainfont+&\verb+\setsansfont+\\
+&\cs{fontspec}&\cs{setmainfont}&\cs{setsansfont}\\
\midrule
åæ
-&\verb+\newjfontfamily+&\verb+\newjfontface+&\verb+\defaultjfontfeatures+\\
+&\cs{newjfontfamily}&\cs{newjfontface}&\cs{defaultjfontfeatures}\\
欧æ
-&\verb+\newfontfamily+&\verb+\newfontface+&\verb+\defaultfontfeatures+\\
+&\cs{newfontfamily}&\cs{newfontface}&\cs{defaultfontfeatures}\\
\midrule
åæ
-&\verb+\addjfontfeatures+\\
+&\cs{addjfontfeatures}\\
欧æ
-&\verb+\addfontfeatures+\\
+&\cs{addfontfeatures}\\
\bottomrule
\end{tabular}
\end{center}
%
-\begin{LTXexample}[width=0.4\textwidth]
-\fontspec[Numbers=OldStyle]{LMSans10-Regular}
-\jfontspec[CJKShape=NLC]{KozMinPr6N-Regular}
-JIS~X~0213:2004âè¾»
-\jfontspec[CJKShape=JIS1990]{KozMinPr6N-Regular}
-JIS~X~0208:1990âè¾»
-\end{LTXexample}
+% The package option of \Pkg{luatexja-fontspec} are the followings:
+% \Pkg{luatexja-fontspec} ããã±ã¼ã¸ã®ãªãã·ã§ã³ã¯ä»¥ä¸ã®éãã§ããï¼
+\begin{cslist}
+ \item[match]
+%<*en>
+If this option is specified, usual family-changing commands such as
+\cs{rmfamily},~\cs{textrm}, \cs{sffamily},~\dots\ also change Japanese font family.
+
+Note that \emph{\cs{setmonojfont} is defined
+if and only if this \texttt{\textup{match}} option is specified}.
+%
+
+%<*ja>
+ãã®ãªãã·ã§ã³ãæå®ãããã¨ï¼ã\pLaTeXe æ°ããã¥ã¡ã³ãã¯ã©ã¹ãã®ããã«\
+\cs{rmfamily}, \verb+\textrm{...}+, \cs{sffamily} çã
+欧æãã©ã³ãã ãã§ãªãåæãã©ã³ããå¤æ´ããããã«ãªãï¼
+
+\emph{ãªãï¼\cs{setmonojfont} ã¯ãã® \texttt{match} ãªãã·ã§ã³ã
+æå®ãããæã®ã¿å®ç¾©ãããï¼}ãã®å½ä»¤ã¯æ¨æºã®ãã¿ã¤ãã©ã¤ã¿ä½ã«å¯¾å¿ããåæãã©ã³ãããæå®ããï¼
+%
+
+ \item[pass=]
+% \emph{(Obsoleted)}\ Specify options which will be passed to the \Pkg{fontspec} package.
+% \Pkg{fontspec} ããã±ã¼ã¸ã«æ¸¡ããªãã·ã§ã³ ãæå®ããï¼æ¬ãªãã·ã§ã³ã¯æ代é
ãã§ããï¼
+
+\item[scale=]
+%<*en>
+Override the ratio of the font size of Japanese fonts to that of alphabetic fonts.
+The default value is calculated automatically (for~example, about~0.924865 when
+ the \Pkg{ltjsarticle} class is used).
+%
+%<*ja>
+欧æã«å¯¾ããåæã®æ¯çã¯ï¼æ¨æºã§ã¯ \Pkg{luatexja-fontspec}èªã¿è¾¼ã¿æã®å欧ææ¯çãã
+èªåè¨ç®ãããï¼ä¾ãã°ï¼\Pkg{ltjsarticle}ã¯ã©ã¹ä½¿ç¨æã«ã¯åæã¯æ¬§æã®ç´0.924865åã¨ãªãï¼ãï¼
+ãããæåã§ä¸æ¸ãããã¨ãã«ä½¿ç¨ããï¼
+%
+\end{cslist}
+
+%<*en>
+All other options listed above are simply passed to the \Pkg{fontspec} package.
+This means that two lines below are equivalent, for example.
+%
+%<*ja>
+ä¸è¨ã«ãªããªãã·ã§ã³ã¯å
¨ã¦ \Pkg{fontspec} ããã±ã¼ã¸ã«æ¸¡ãããï¼
+ä¾ãã°ï¼ä¸ã®2è¡ã¯åãæå³ã«ãªãï¼
+%
+\begin{lstlisting}
+\usepackage[no-math]{fontspec}\usepackage{luatexja-fontspec}
+\usepackage[no-math]{luatexja-fontspec}
+\end{lstlisting}
+
%<*en>
-Note that there is no command named \verb+\setmonojfont+, since it is
-popular for Japanese fonts that nearly all Japanese glyphs have same
-widths. Also note that the kerning feature is set off by default in
-these 7~commands, since this feature and \textbf{JAglue} will clash (see
-\ref{para-kern}).
+The reason that \cs{setmonojfont} is not defined by default is that
+it is popular for Japanese fonts that nearly all Japanese glyphs have same
+widths. Also note that kerning information in a font is not used
+(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>
-åæãã©ã³ãã«ã¤ãã¦ã¯å
¨ã¦ã®åææåã®ã°ãªããã»ã¼çå¹
ã§ããã®ãæ®éã§ããããï¼
-\verb+\setmonojfont+ ã³ãã³ãã¯åå¨ããªããã¨ã«æ³¨æï¼ã¾ãï¼ãããã®åæç¨ã®7ã¤ã®ã³ã
-ã³ãã§ã¯Kerning featureã¯ããã©ã«ãã§ã¯offã¨ãªã£ã¦ããï¼ããã¯ãã®
-featureã\textbf{JAglue}ã¨è¡çªããããã§ããï¼\ref{para-kern}ç¯ãåç
§ï¼ï¼
+æ¨æºã§ \cs{setmonojfont} ã³ãã³ããå®ç¾©ãããªãã®ã¯ï¼
+åæãã©ã³ãã§ã¯ã»ã¼å
¨ã¦ã®åææåã®ã°ãªããçå¹
ã§ããã®ãä¼çµ±çã§ãã£ããã¨ã«ããï¼
+ã¾ãï¼ãããã®åæç¨ã®ã³ãã³ãã§ã¯ãã©ã³ãå
ã®ãã¢ã«ã¼ãã³ã°æ
å ±ã¯æ¨æºã§ã¯ä½¿ç¨ãããªãï¼
+è¨ãæããã° \texttt{kern} featureã¯æ¨æºã§ã¯ç¡å¹åã¨ãªã£ã¦ããï¼
+ããã¯ä»¥åã®ãã¼ã¸ã§ã³ã®\LuaTeX-jaã¨ã®äºææ§ã®ããã§ããï¼\ref{para-kern}ç¯ãåç
§ï¼ï¼
+
+以ä¸ã«\cs{jfontspec}ã®ä½¿ç¨ä¾ã示ãï¼
%
-%\subsection{Presets}
-%\subsection{ããªã»ããè¨å®}
+\begin{LTXexample}[width=0.4\textwidth]
+\jfontspec[CJKShape=NLC]{KozMinPr6N-Regular}
+JIS~X~0213:2004âè¾»\par
+\jfontspec[CJKShape=JIS1990]{KozMinPr6N-Regular}
+JIS~X~0208:1990âè¾»
+\end{LTXexample}
+
+%\subsection{Presets of Japanese fonts}
+%\subsection{åæãã©ã³ãã®ããªã»ããè¨å®}
\label{ssec-preset}
%<*en>
-To use standard Japanese font settings easily, one can load \Pkg{luatexja-preset}
-package with several options. This package provides functions in a part of
-\Pkg{otf} package and a part of \Pkg{PXchfon} package by Takayuki Yato,
-and loads \Pkg{luatexja-fontspec}, hence \Pkg{fontspec} internally.
+One can load the \Pkg{luatexja-preset}
+package to use several ``presets'' of Japanese fonts.
+This package provides functions in a part of
+\Pkg{japanese-otf} package and a part of \Pkg{PXchfon} package by Takayuki Yato.
-If you need to pass some options to \Pkg{fontspec}, load \Pkg{fontspec} manually
-before \Pkg{luatexja-preset}:
+One can specified other options other than listed in this subsection.
+These are simply passed to the \Pkg{luatexja-fontspec}\footnote{if \texttt{nfssonly} option is
+\emph{not} specified; in this case these options are simply ignored.}.
+For example, the line~5 in below example is eqivalent to lines 1--3.
%
%<*ja>
ãã使ããã¦ããåæãã©ã³ãè¨å®ãä¸è¡ã§æå®ã§ããããã«ããã®ã
\Pkg{luatexja-preset}ããã±ã¼ã¸ã§ããï¼ãã®ããã±ã¼ã¸ã¯ï¼
\Pkg{otf}ããã±ã¼ã¸ã®ä¸é¨æ©è½ã¨å
«ç»å´ä¹æ°ã«ãã\Pkg{PXchfon}ããã±ã¼ã¸ã®ä¸é¨æ©è½ã¨ã
-åããããããªæ ¼å¥½ããã¦ããï¼å
é¨ã§\Pkg{luatexja-fontspec}ï¼å¾ã£ã¦
-\Pkg{fontspec}ãèªã¿è¾¼ãã§ããï¼
+åããããããªæ ¼å¥½ããã¦ããï¼
-ãã\Pkg{fontspec}ããã±ã¼ã¸ã«ä½ããã®ãªãã·ã§ã³ã渡ãå¿
è¦ããã
-\footnote{ä¾ãã°ï¼æ°å¼ãã©ã³ãã¾ã§ç½®æããã¦ãã¾ãï¼\texttt{\char92mathit}ã«ãã£ã¦ã®ãªã·ã£æåã®
-æä½å¤§æåãåºãªããªãï¼ãªã©ï¼}å ´åã¯ï¼
-次ã®ããã«\Pkg{luatexja-preset}ã®åã«\Pkg{fontspec}ãæåã§èªã¿ããã°è¯ãï¼
+ãªãã·ã§ã³ã¨ãã¦ï¼æ¬ç¯ã«ãªããã®ãæå®ãããã¨ãã§ãããï¼ãããã¯
+\Pkg{luatexja-fontspec}ããã±ã¼ã¸ã«æ¸¡ããã\footnote{\texttt{nfssonly} ãªãã·ã§ã³ã
+æå®ããã¦ããå ´åã¯ï¼\Pkg{luatexja-fontspec}ããã±ã¼ã¸ã¯èªã¿è¾¼ã¾ããªãã®ã§åç´ã«ç¡è¦ãã
+ãï¼}ï¼ä¾ãã°ï¼ä¸ã®1--3è¡ç®ã¯5è¡ç®ã®ããã«ä¸è¡ã«ã¾ã¨ãããã¨ãã§ããï¼
%
-\begin{verbatim}
+\begin{lstlisting}
\usepackage[no-math]{fontspec}
-\usepackage[...]{luatexja-preset}
-\end{verbatim}
+\usepackage[match]{luatexja-fontspec}
+\usepackage[kozuka-pr6n]{luatexja-preset}
+%%--------
+\usepackage[no-math,match,kozuka-pr6n]{luatexja-preset}
+\end{lstlisting}
%\paragraph{General options}
%\paragraph{ä¸è¬çãªãªãã·ã§ã³}
-\begin{list}{}{\def\makelabel{\ttfamily}\def\{{\char`\{}\def\}{\char`\}}\advance\leftmargin1\zw}
-\item[nodeluxe]
+\begin{cslist}[before*=]
+
+\item[fontspec]
%<*en>
-Use one-weighted \textit{mincho} and \textit{gothic} font families.
-This means that \verb+\mcfamily\bfseries+, \verb+\gtfamily\bfseries+ and
-\verb+\gtfamily\mdseries+ use the same font.
+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}, you can load \Pkg{fontspec} manually
+before \Pkg{luatexja-preset}:
%
%<*ja>
-\LaTeXe ç°å¢ä¸ã§ã®æ¨æºè¨å®ã®ããã«ï¼ææä½ã»ã´ã·ãã¯ä½ãå1ã¦ã§ã¤ãã§ä½¿ç¨ããï¼
-ããå
·ä½çã«è¨ãã¨ï¼ãã®è¨å®ã®ä¸ã§ã¯
-\verb+\mcfamily\bfseries+, \verb+\gtfamily\bfseries+, \verb+\gtfamily\mdseries+ã¯
-ã¿ãªåããã©ã³ãã¨ãªãï¼\emph{ãã®ãªãã·ã§ã³ã¯æ¨æºã§æå¹ã«ãªã£ã¦ããï¼}
+\Pkg{luatexja-fontspec}ããã±ã¼ã¸ã®æ©è½ãç¨ãã¦åæãã©ã³ããé¸æããï¼
+ããã¯ï¼\Pkg{fontspec}ããã±ã¼ã¸ãèªåã§èªã¿è¾¼ã¾ãããã¨ãæå³ããï¼
+\emph{ãã®ãªãã·ã§ã³ã¯æ¨æºã§æå¹ã«ãªã£ã¦ããï¼}
+
+ãã\Pkg{fontspec}ããã±ã¼ã¸ã«ä½ããã®ãªãã·ã§ã³ã渡ãå¿
è¦ããã
+\footnote{ä¾ãã°ï¼æ°å¼ãã©ã³ãã¾ã§ç½®æããã¦ãã¾ãï¼\cs{mathit}ã«ãã£ã¦ã®ãªã·ã£æåã®
+æä½å¤§æåãåºãªããªãï¼ãªã©ï¼}å ´åã¯ï¼
+次ã®ããã«\Pkg{luatexja-preset}ã®åã«\Pkg{fontspec}ãæåã§èªã¿ããã°è¯ãï¼
+%
+\begin{lstlisting}
+\usepackage[no-math]{fontspec}
+\usepackage[...]{luatexja-preset}
+\end{lstlisting}
+
+\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.
+
+When this option is specified, \Pkg{fontspec}~and~\Pkg{luatexja-fontspec} are
+\emph{not} loaded by default. Nevertheless,
+the package\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}ã»\Pkg{luatexja-fontspec}ããã±ã¼ã¸ã¯
+èªåã§ã¯èªã¿è¾¼ã¾ããªãï¼ãããï¼
+\begin{lstlisting}
+\usepackage{fontspec}
+\usepackage[hiragino-pron,nfssonly]{luatexja-preset}
+\end{lstlisting}
+ã®ããã«ããã°ï¼ãã®ãªãã·ã§ã³ãæå®ããã°
+欧æãã©ã³ãã\Pkg{fontspec}ããã±ã¼ã¸ã®æ©è½ã使ã£ã¦æå®ãããã¨ãã§ããï¼
+ä¸æ¹ï¼
+ããã±ã¼ã¸èªã¿è¾¼ã¿æã«æ¢ã«\Pkg{luatexja-fontspec}ããã±ã¼ã¸ãèªã¿è¾¼ã¾ãã¦
+ ããå ´å㯠\texttt{nfssonly} ãªãã·ã§ã³ã¯ç¡è¦ãããï¼
+%
+
+\item[nodeluxe]
+%<*en>
+Use one-weighted \textit{mincho} and \textit{gothic} font families.
+This means that \verb+\mcfamily\bfseries+, \verb+\gtfamily\bfseries+ and
+\verb+\gtfamily\mdseries+ use the same font.
+\emph{This option is enabled by default.}
+%
+%<*ja>
+\LaTeXe ç°å¢ä¸ã®æ¨æºè¨å®ã®ããã«ï¼ææä½ã»ã´ã·ãã¯ä½ãå1ã¦ã§ã¤ãã§ä½¿ç¨ããï¼
+ããå
·ä½çã«è¨ãã¨ï¼ãã®è¨å®ã®ä¸ã§ã¯
+\ \verb+\mcfamily\bfseries+, \verb+\gtfamily\bfseries+,
+\verb+\gtfamily\mdseries+ã¯ã¿ãªåããã©ã³ãã¨ãªãï¼
+\emph{ãã®ãªãã·ã§ã³ã¯æ¨æºã§æå¹ã«ãªã£ã¦ããï¼}
%
\item[deluxe]
%<*en>
Use \textit{mincho} with two weights (medium~and~bold),
\textit{gothic} with three weights (medium, bold~and~heavy), and \textit{rounded gothic}%
-\footnote{Provided by \texttt{\char92mgfamily} and \texttt{\char92textmg\{...\}},
+\footnote{Provided by \cs{mgfamily} and \cs{textmg},
because \textit{rounded gothic} is called \textit{maru gothic} (丸ã´ã·ãã¯) in Japanese.}.
-The heavy weight of \textit{gothic} can be used by ``changing the family'' \verb+\gtebfamily+,
+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 (\verb+\mdseries+) and
-bold (\verb+\bfseries+).
+This is because the \Pkg{fontspec} package can handle only medium (\cs{mdseries}) and
+bold (\cs{bfseries}).
%
%<*ja>
ææä½2ã¦ã§ã¤ãã»ã´ã·ãã¯ä½3ã¦ã§ã¤ãã¨ï¼
-丸ã´ã·ãã¯ä½ (\verb+\mgfamily+, \verb+\textmg{...}+) ã使ç¨å¯è½ã¨ããï¼
-ã´ã·ãã¯ä½ã¯ç´°åã»å¤ªåã»æ¥µå¤ªã®3ã¦ã§ã¤ãããããï¼
-極太ã´ã·ãã¯ä½ã¯ãã¡ããªã®åãæ¿ã (\verb+\gtebfamily+, \verb+\textgteb{...}+) %
-ã§å®ç¾ãã¦ããï¼\Pkg{fontspec}ã§ã¯é常 (\verb+\mdseries+) ã¨å¤ªå (\verb+\bfseries+) ããæ±ããªãããã«
-ãã®ãããªä¸éå端ãªå®è£
ã«ãªã£ã¦ããï¼
+丸ã´ã·ãã¯ä½ (\cs{mgfamily}, \verb+\textmg{...}+) ã使ç¨å¯è½ã¨ããï¼
+ã´ã·ãã¯ä½ã¯ä¸åã»å¤ªåã»æ¥µå¤ªã®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 control sequence \verb+\rubyfamily+ to use kana
+Use horizontal/vertical kana alternates, and define a command \cs{rubyfamily} to use kana
characters designed for ruby.
%
-%横çµå°ç¨ä»®åãç¨ããï¼ã¾ãï¼\verb+\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}.
%ãææã®å¤ªåããã´ã·ãã¯ä½ã®å¤ªåã«ãã£ã¦ä»£æ¿ããï¼
@@ -1263,7 +1593,7 @@ Use the JFM \texttt{jfm-jis.lua}, instead of \texttt{jfm-ujis.lua}, which is the
ç¨ããJFMãï¼JISãã©ã³ãã¡ããªãã¯é¡ä¼¼ã®ï¼\texttt{jfm-jis.lua}ã«ããï¼ãã®ãªãã·ã§ã³ããªãæã¯
\LuaTeX-jaæ¨æºã®\texttt{jfm-ujis.lua}ãç¨ããããï¼
%
-\end{list}
+\end{cslist}
%<*en>
Note that \texttt{90jis} and \texttt{jis2004} only affect with \textit{mincho},
\textit{gothic} (and possibly \textit{rounded gothic}) defined by this package.
@@ -1275,21 +1605,25 @@ We didn't taken account of when both \texttt{90jis} and \texttt{jis2004} are sp
åæã«æå®ãããå ´åã®åä½ã«ã¤ãã¦ã¯å
¨ãèæ
®ãã¦ããªãï¼
%
-%\paragraph{Presets for multi weight settings}
+%\paragraph{Presets for multi weight}
%\paragraph{å¤ã¦ã§ã¤ãç¨ããªã»ããã®ä¸è¦§}
%<*en>
Besides \texttt{morisawa-pro}~and~\texttt{morisawa-pr6n} presets,
-fonts are specified by fontname, not by filename.
+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{list}{}{\def\makelabel{\ttfamily}\def\{{\char`\{}\def\}{\char`\}}\advance\leftmargin1\zw}
+\begin{cslist}[style=standard]
\item[kozuka-pro] Kozuka Pro (Adobe-Japan1-4) fonts.
-% \\[-\dimexpr\medskipamount+\baselineskip\relax]
+% \\*[-\dimexpr\medskipamount+\baselineskip\relax]
\item[kozuka-pr6] Kozuka Pr6 (Adobe-Japan1-6) fonts.
-% \\[-\dimexpr\medskipamount+\baselineskip\relax]
+% \\*[-\dimexpr\medskipamount+\baselineskip\relax]
\item[kozuka-pr6n] Kozuka Pr6N (Adobe-Japan1-6, JIS04-savvy) fonts.
%<*en>
@@ -1326,19 +1660,8 @@ 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]
+% \\*[-\dimexpr\medskipamount+\baselineskip\relax]
\item[hiragino-pron] Hiragino ProN (Adobe-Japan1-5, JIS04-savvy) fonts.
%<*en>
@@ -1373,7 +1696,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}
@@ -1381,8 +1704,9 @@ Std/StdNãã©ã³ãã§ããï¼ãã®ä»ã¯Adobe-Japan1-5対å¿ã§ããï¼
%\medskip
\item[morisawa-pro] Morisawa Pro (Adobe-Japan1-4) fonts.
-% \\[-\dimexpr\medskipamount+\baselineskip\relax]
+% \\*[-\dimexpr\medskipamount+\baselineskip\relax]
\item[morisawa-pr6n] Morisawa Pr6N (Adobe-Japan1-6, JIS04-savvy) fonts.
+
\begin{center}\small
\begin{tabular}{cl>{\tt}l>{\tt}l}
\toprule
@@ -1402,14 +1726,15 @@ Std/StdNãã©ã³ãã§ããï¼ãã®ä»ã¯Adobe-Japan1-5対å¿ã§ããï¼
\midrule
%\textit{rounded gothic}
%\gt 丸ã´ã·ãã¯
-&&A-OTF-Jun101Pro-Light.otf&A-OTF-Jun101Pr6N-Light.otf\\
+&&A-OTF-Jun101Pro-Light.otf&A-OTF-ShinMGoPr6N-Light.otf\\
\bottomrule
\end{tabular}
\end{center}
- \item[yu-win] Yu fonts bundled with Windows~8.1.
-% \\[-\dimexpr\medskipamount+\baselineskip\relax]
- \item[yu-osx] Yu fonts bundled with OSX~Mavericks.
+ \item[yu-win] Yu fonts bundled with Windows~8.1.
+% \\*[-\dimexpr\medskipamount+\baselineskip\relax]
+ \item[yu-osx] Yu fonts bundled with OSX~Mavericks.
+
\begin{center}\small
\begin{tabular}{clll}
\toprule
@@ -1436,18 +1761,46 @@ Std/StdNãã©ã³ãã§ããï¼ãã®ä»ã¯Adobe-Japan1-5対å¿ã§ããï¼
\end{tabular}
\end{center}
-\end{list}
+ \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
@@ -1457,9 +1810,9 @@ even if \texttt{deluxe} option is also specified).
\midrule
%<*en>
\it mincho&Ryumin-Light (non-embedded)
-&IPAMincho&IPAexMincho&MS Mincho\\
+&IPA Mincho&IPAex Mincho&MS Mincho\\
\it gothic&GothicBBB-Medium (non-embedded)
-&IPAGothic&IPAexGothic&MS Gothic\\
+&IPA Gothic&IPAex Gothic&MS Gothic\\
%
%<*ja>
\gtfamily ææä½&Ryumin-Lightï¼éåè¾¼ï¼
@@ -1470,7 +1823,6 @@ even if \texttt{deluxe} option is also specified).
\bottomrule
\end{tabular}\par\medskip}
-
%\paragraph{Using HG fonts}
%\paragraph{HGãã©ã³ãã®å©ç¨}
%<*en>
@@ -1488,14 +1840,14 @@ We can use HG~fonts bundled with Microsoft~Office for realizing multiple weights
\midrule
%<*en>
\bf mincho medium
-&IPAMincho&IPAexMincho&MS Mincho\\\midrule
+&IPA Mincho&IPAex Mincho&MS Mincho\\\midrule
\bf mincho bold&
\multicolumn{3}{c}{HG Mincho E}\\\midrule
\bf Gothic medium\\
~~without \texttt{deluxe}
-&IPAGothic&IPAexGothic&MS Gothic\\
+&IPA Gothic&IPAex Gothic&MS Gothic\\
~~with {\tt jis2004}
-&IPAGothic&IPAexGothic&MS Gothic\\
+&IPA Gothic&IPAex Gothic&MS Gothic\\
\cmidrule(lr){1-4}
~~otherwise&
\multicolumn{3}{c}{HG Gothic M}\\\midrule
@@ -1507,11 +1859,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}æå®æ
@@ -1530,12 +1882,12 @@ We can use HG~fonts bundled with Microsoft~Office for realizing multiple weights
\end{tabular}\par\medskip}
%<*en>
-Note that HG~Mincho~E, HG~Gothic~E, HG Soei Kaku Gothic UB and HG Maru Gothic PRO
+Note that HG~Mincho~E, HG~Gothic~E, HG Soei Kaku Gothic UB, and HG Maru Gothic PRO
are internally specified by:
\begin{description}
\item[default] by font name (\texttt{HGMinchoE}, etc.).
-\item[{\tt 90jis}] by filename (\texttt{hgrme.ttc}, \texttt{hgrge.ttc}, \texttt{hgrsgu.ttc}, \texttt{hgrsmp.ttf}).
-\item[{\tt jis2004}] by filename (\texttt{hgrme04.ttc}, \texttt{hgrge04.ttc}, \texttt{hgrsgu04.ttc}, \texttt{hgrsmp04.ttf}).
+\item[{\tt 90jis}] by file name (\texttt{hgrme.ttc}, \texttt{hgrge.ttc}, \texttt{hgrsgu.ttc}, \texttt{hgrsmp.ttf}).
+\item[{\tt jis2004}] by file name (\texttt{hgrme04.ttc}, \texttt{hgrge04.ttc}, \texttt{hgrsgu04.ttc}, \texttt{hgrsmp04.ttf}).
\end{description}
%
%<*ja>
@@ -1552,20 +1904,19 @@ are internally specified by:
%<*en>
-\subsection{\texttt{\char`\\CID}, \texttt{\char`\\UTF} and macros in \Pkg{otf} package}
-Under \pLaTeX, \Pkg{otf} package (developed by Shuzaburo Saito) is
+\subsection{\cs{CID}, \cs{UTF}, and macros in \Pkg{japanese-otf} package}
+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{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{\texttt{\char`\\CID}, \texttt{\char`\\UTF}ã¨\Pkg{otf}ããã±ã¼ã¸ã®ãã¯ã}
+\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}
@@ -1581,77 +1932,134 @@ If you want to use these functions, load \Pkg{luatexja-otf} package.
%<*ja>
\Pkg{otf}ããã±ã¼ã¸ã§ã¯ï¼ãããã次ã®ãããªãªãã·ã§ã³ãåå¨ããï¼
-\begin{description}
-\item[\texttt{deluxe}] ææä½ã»ã´ã·ãã¯ä½å2ã¦ã§ã¤ãã¨ï¼ä¸¸ã´ã·ãã¯ä½ãæ±ããããã«ãªãï¼
-\item[\texttt{expert}] ä»®åã横çµã»ç¸¦çµå°ç¨ã®ãã®ã«åãæ¿ããï¼ã«ãç¨ä»®åãæ±ããããã«ãªãï¼
-\item[\texttt{bold}] ã´ã·ãã¯ä½ãæ¨æºã§å¤ªãã¦ã§ã¤ãã®ãã®ã«è¨å®ããï¼
-\end{description}
+\begin{cslist}
+\item[deluxe] ææä½ã»ã´ã·ãã¯ä½å3ã¦ã§ã¤ãã¨ï¼ä¸¸ã´ã·ãã¯ä½ãæ±ããããã«ãªãï¼
+\item[expert] ä»®åã横çµã»ç¸¦çµå°ç¨ã®ãã®ã«åãæ¿ããï¼ã«ãç¨ä»®åã
+\ \cs{rubyfamily}\ ã«ãã£ã¦æ±ããããã«ãªãï¼
+\item[bold] ã´ã·ãã¯ä½ãæ¨æºã§å¤ªãã¦ã§ã¤ãã®ãã®ã«è¨å®ããï¼
+\end{cslist}
ããããããã®ãªãã·ã§ã³ã¯\Pkg{luatexja-otf}ããã±ã¼ã¸ã«ã¯åå¨ããªãï¼
\Pkg{otf}ããã±ã¼ã¸ãææ¸ä¸ã§ä½¿ç¨ããåæç¨TFMãèªåã®ç©ã«ç½®ãæãã¦ããã®ã«å¯¾ãï¼
\Pkg{luatexja-otf}ããã±ã¼ã¸ã§ã¯ï¼ãã®ãããªãã¨ã¯è¡ããªãããã§ããï¼
ããã3ãªãã·ã§ã³ã«ã¤ãã¦ã¯ï¼
\Pkg{luatexja-preset} ããã±ã¼ã¸ã«ããªã»ããã使ãæã«ä¸ç·ã«æå®ãããï¼
-ãããã¯å¯¾å¿ããå
容ã\ref{ssub-chgfnt}ç¯ (NFSS2) ã
+ãããã¯å¯¾å¿ããå
容ã\ref{ssec-chgfnt}ç¯ï¼\ref{ssec-nfsspat}ç¯ (NFSS2) ã
\ref{ssec-fontspec}ç¯ (\Pkg{fontspec}) ã®æ¹æ³ã§æåã§æå®ããå¿
è¦ãããï¼
%
+%\subsection{Changing default Japanese fonts}
+%\subsection{æ¨æºåæãã©ã³ãã®å¤æ´}
+\label{ssec-cfg}
+%<*en>
+If \texttt{luatexja.cfg} can be seen from \LuaTeX, \LuaTeX-ja automatically reads it.
+The main use of \texttt{luatexja.cfg} is for changing default Japanese fonts,
+when IPAex fonts cannot be installed in \TeX~system.
+One should not overuse this \texttt{luatexja.cfg}; fonts which will be used in
+a document should be specified in its source.
+
+For example,
+\begin{lstlisting}
+\def\ltj@stdmcfont{IPAMincho}
+\def\ltj@stdgtfont{IPAGothic}
+\end{lstlisting}
+makes that IPA~Mincho and IPA~Gothic will be used as default Japanese fonts, instead of
+IPAex~Mincho and IPAex~Gothic.
+
+For another example, the following two lines makes that
+non-embedded fonts Ryumin-Light~and~GothicBBB-Medium as default Japanese fonts
+(as the earlier version of \LuaTeX-ja):
+\begin{lstlisting}
+\def\ltj@stdmcfont{psft:Ryumin-Light}
+\def\ltj@stdgtfont{psft:GothicBBB-Medium}
+\end{lstlisting}
+%
+%<*ja>
+\LuaTeX ããè¦ããä½ç½®ã« \texttt{luatexja.cfg} ãããã°ï¼\LuaTeX-jaã¯ãããèªã¿è¾¼ãï¼
+ãã®ãã¡ã¤ã«ãç¨ããã¨plain~\TeX, \LaTeXe ã«ãããæ¨æºåæãã©ã³ãã
+IPAexææã»IPAexã´ã·ãã¯ããå¤æ´ãããã¨ãã§ããï¼
+ãããï¼åºæ¬çã«ã¯\emph{æç« ä¸ã§ç¨ãããã©ã³ãã¯ï¼ä¾ãã° \Pkg{luatexja-preset} ãªã©ã§ï¼
+ææ¸ã½ã¼ã¹å
ã§æå®ããã¹ã}ã§ããï¼ãã® \texttt{luatexja.cfg} ã¯ï¼
+ãIPAexãã©ã³ããã¤ã³ã¹ãã¼ã«ã§ããªãããªã©ï¼IPAexãã©ã³ãã使ç¨ã§ããªãå ´åã«ã®ã¿
+å¿æ¥å¦ç½®çã«ç¨ããã¹ãã§ããï¼
+
+ä¾ãã°
+\begin{lstlisting}
+\def\ltj@stdmcfont{IPAMincho}
+\def\ltj@stdgtfont{IPAGothic}
+\end{lstlisting}
+ã¨è¨è¿°ãã¦ããã°ï¼æ¨æºåæãã©ã³ããIPAææã»IPAã´ã·ãã¯ã¸ã¨å¤
+æ´ãããï¼
+
+
+ãªãï¼20140906.0以åã®ãã¼ã¸ã§ã³ã®ããã«ï¼
+Ryumin-Light, GothicBBB-Mediumã¨ããååã®éåè¾¼ãã©ã³ããç¨ããå ´åã¯
+\begin{lstlisting}
+\def\ltj@stdmcfont{psft:Ryumin-Light}
+\def\ltj@stdgtfont{psft:GothicBBB-Medium}
+\end{lstlisting}
+ã¨è¨è¿°ããã°ããï¼
+%
+
-%\section{Changing Parameters}
+%\section{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 \verb+\ltjsetparameter+ and
-\verb+\ltjgetparameter+.
+parameters, you have to use commands \cs{ltjsetparameter} and
+\cs{ltjgetparameter}.
%
%<*ja>
\LuaTeX-jaã«ã¯å¤ãã®ãã©ã¡ã¼ã¿ãåå¨ããï¼ããã¦\LuaTeX ã®ä»æ§ã®ããã«ï¼
ãã®å¤ãã¯\TeX ã®ã¬ã¸ã¹ã¿ã«ã§ã¯ãªãï¼\LuaTeX-jaç¬èªã®æ¹æ³ã§ä¿æããã¦ããï¼
-ãããã®ãã©ã¡ã¼ã¿ãè¨å®ã»åå¾ããããã«ã¯ \verb+\ltjsetparameter+ 㨠\verb+\ltjgetparameter+ ã
+ãããã®ãã©ã¡ã¼ã¿ãè¨å®ã»åå¾ããããã«ã¯ \cs{ltjsetparameter} 㨠\cs{ltjgetparameter} ã
ç¨ããï¼
%
-%\subsection{Editing the range of \textbf{JAchar}s}
-%\subsection{\textbf{JAchar}ã®ç¯å²ã®è¨å®}
+%\subsection{Range of \textbf{JAchar}s}
+%\subsection{\textbf{JAchar}ã®ç¯å²}
\label{ssec-setrange}
%<*en>
-\LuaTeX-ja divides the Unicode codespace into \emph{character ranges},
-numbered 1 to 216. The grouping can be (globally) customized by \verb+\ltjdefcharrange+.
+\LuaTeX-ja divides the Unicode codespace \texttt{U+0080}--\texttt{U+10FFFF}
+into \emph{character ranges},
+numbered 1 to 217. The grouping can be (globally) customized by \cs{ltjdefcharrange}.
The next line adds whole characters in Supplementary Ideographic Plane
and the character ``æ¼¢'' to the character range~100.
%
%<*ja>
-\LuaTeX-jaã¯ï¼Unicodeå
¨ä½ã®ç©ºéã1çªãã216çªã¾ã§ã®\emph{æåç¯å²}ã«åå²ãã¦ããï¼
-åºåã㯠\verb+\ltjdefcharrange+ ãç¨ãããã¨ã§ï¼ã°ãã¼ãã«ã«ï¼å¤æ´ãããã¨ãã§ãï¼
+\LuaTeX-jaã¯ï¼Unicodeã® \texttt{U+0080}--\texttt{U+10FFFF} ã®ç©ºéã
+1çªãã217çªã¾ã§ã®\emph{æåç¯å²}ã«åå²ãã¦ããï¼
+åºåã㯠\cs{ltjdefcharrange} ãç¨ãããã¨ã§ï¼ã°ãã¼ãã«ã«ï¼å¤æ´ãããã¨ãã§ãï¼
ä¾ãã°ï¼æ¬¡ã¯è¿½å æ¼¢åé¢(SIP)ã«ããå
¨ã¦ã®æåã¨ãæ¼¢ããã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,
+For example, whole SIP belong to the range~4 in the default setting of \LuaTeX-ja,
and if you execute the above line, then SIP will belong to the range~100 and be
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>
@@ -1659,17 +2067,18 @@ 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 a \textbf{ALchar}'', and positive integer $+n$ means
-that ``\dots\ is a \textbf{JAchar}''.
+Negative integer $-n$ in the list means that ``each character in the range~$n$ is an
+\textbf{ALchar}'',
+and positive integer $+n$ means that ``\dots\ is a \textbf{JAchar}''.
%
%<*ja>
\textsf{jacharrange}ãã©ã¡ã¼ã¿ã®å¼æ°ã¯éé¶ã®æ´æ°ã®ãªã¹ãã§ããï¼
@@ -1678,12 +2087,21 @@ that ``\dots\ is a \textbf{JAchar}''.
%
%<*en>
-\paragraph{Default Setting}
+Note that characters \texttt{U+0000}--\texttt{U+007F} are always treated as an
+\textbf{ALchar} (this cannot be customized).
+%
+%<*ja>
+ãªãï¼\texttt{U+0000}--\texttt{U+007F} ã¯å¸¸ã«\textbf{ALchar}ã¨ãã¦æ±ãããï¼å©ç¨è
ãå¤æ´ã
+ããã¨ã¯åºæ¥ãªãï¼ï¼
+%
+
+%<*en>
+\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ã¤ã®æåç¯å²ãäºãå®ç¾©ãã¦ããï¼
ãããã¯ä»¥ä¸ã®ãã¼ã¿ã«åºã¥ãã¦æ±ºå®ãã¦ããï¼
%
@@ -1697,24 +2115,30 @@ determined from the following data:
\end{itemize}
%<*en>
-Now we describe these eight ranges. The alphabet ``J'' or ``A'' after the
+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 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}ã¨é¡ä¼¼ã®ãã®ã§ããï¼
+以ä¸ã§ã¯ããã8ã¤ã®æåç¯å²ã«ã¤ãã¦è¨è¿°ããï¼æ·»åã®ã¢ã«ãã¡ããããJããAã
+ã¯ï¼ãã®æåç¯å²å
ã®æåã\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ã®å
±éé¨åï¼ãã®æåç¯å²ã¯
以ä¸ã®æåã§æ§æãããï¼
%
@@ -1748,18 +2172,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}
@@ -1770,15 +2195,15 @@ 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]
-%\caption{Unicode blocks in predefined character range~3.}
+%\caption{Unicode blocks in predefined character range~3.}\medskip
%\caption{æåç¯å²3ã«æå®ããã¦ããUnicodeãããã¯ï¼}
\label{table-rng3}
\catcode`\"=13\def"#1#2#3#4{\texttt{U+#1#2#3#4}}%"
@@ -1824,10 +2249,10 @@ 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.}
+%\caption{Unicode blocks in predefined character range~6.}\medskip
%\caption{æåç¯å²6ã«æå®ããã¦ããUnicodeãããã¯ï¼}
\label{table-rng6}
\catcode`\"=13\def"#1#2#3#4{\texttt{U+#1#2#3#4}}%"
@@ -1848,20 +2273,21 @@ This range consists of the following Unicode ranges, \emph{except characters in
"FE10--"FE1F&Vertical Forms&
"FE30--"FE4F&CJK Compatibility Forms\\
"FE50--"FE6F&Small Form Variants&
-"{20}000--"{2F}FFF&(Supplementary Ideographic Plane)
+"{20}000--"{2F}FFF&(Supplementary Ideographic Plane)\\
+"{E0}100--"{E0}1EF&Variation Selectors Supplement
\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}ã«ç¤ºãï¼
%
\begin{table}[!tb]
-%\caption{Unicode blocks in predefined character range~7.}
+%\caption{Unicode blocks in predefined character range~7.}\medskip
%\caption{æåç¯å²7ã«æå®ããã¦ããUnicodeãããã¯ï¼}
\label{table-rng7}
\catcode`\"=13\def"#1#2#3#4{\texttt{U+#1#2#3#4}}%"
@@ -1883,6 +2309,58 @@ 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} and \textbf{JAchar} regardless the range
+setting, you can use \cs{ltjalchar} and \cs{ltjjachar} respectively, as the following example.
+\begin{LTXexample}[width=0.3\textwidth]
+\gtfamily\large % default, ALchar, JAchar
+¶, \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`§ããåºåãããã¨ã«ãªãï¼
+
+ãã®ãããªäºæ
ãé¿ããããã«ï¼æ¬ãã¼ã¸ã§ã³ãã㯠\texttt{U+0080}--\texttt{U+00FF} ã®ç¯å²ã®
+æåã¯å
¨ã¦\textbf{ALchar}ã¨ãªãããã«åæè¨å®ãå¤æ´ãã¦ããï¼
+ç¹ã«å½±é¿ãåããã®ãï¼JIS~X~0208ã®ä¸é¨åã§ããæåç¯å²8å
ã®æåã§ããï¼
+\emph{\Pkg{fontspec}ããã±ã¼ã¸ãèªã¿è¾¼ãã ããã¦æ¬§æè¨å·ã¨ãã¦ãããã®æåã®åºåç°å¢ãæ´ã
+ãªãã¨ï¼ã½ã¼ã¹ä¸ã«ç´æ¥è¨è¿°ãã¦ãåºåãããªã}ãã¨ã«ãªãï¼
+
+ãªãï¼æåç¯å²ã®è¨å®ã«é¢ããã1ã¤ã®æåã\textbf{ALchar}, \textbf{JAchar}ã§åºåãããå ´åã«ã¯ï¼
+以ä¸ã®ä¾ã®ããã«ãããã \cs{ltjalchar},~\cs{ltjjachar} ã«è©²å½æåã®æåã³ã¼ãã渡ãã°ããï¼
+\begin{LTXexample}[width=0.3\textwidth]
+\gtfamily\large % default, ALchar, JAchar
+¶, \ltjalchar`¶, \ltjjachar`¶\\ % default: ALchar
+α, \ltjalchar`α, \ltjjachar`α % default: JAchar
+\end{LTXexample}
+%
%\subsection{\Param{kanjiskip} and \Param{xkanjiskip}}
%\subsection{\Param{kanjiskip}ã¨\Param{xkanjiskip}}
@@ -1892,12 +2370,12 @@ The block list is indicated in Table~\ref{table-rng7}.
%\textbf{JAglue}ã¯ä»¥ä¸ã®3ã¤ã®ã«ãã´ãªã«åé¡ãããï¼
\begin{itemize}
%<*en>
-\item Glues/kerns specified in JFM. If \verb+\inhibitglue+ is issued
- around a Japanese character, this glue will not be inserted at the
+\item Glues/kerns specified in JFM. If \cs{inhibitglue} is issued
+ around a \textbf{JAchar}, this glue will not be inserted at the
place.
%
%<*ja>
-\item JFMã§æå®ãããã°ã«ã¼ï¼ã«ã¼ã³ï¼ãã \verb+\inhibitglue+ ãåææåã®å¨ãã§
+\item JFMã§æå®ãããã°ã«ã¼ï¼ã«ã¼ã³ï¼ãã \cs{inhibitglue} ã\textbf{JAchar}ã®å¨ãã§
çºè¡ããã¦ããã°ï¼ãã®ã°ã«ã¼ã¯æ¿å
¥ãããªãï¼
%
%<*en>
@@ -1905,64 +2383,86 @@ The block list is indicated in Table~\ref{table-rng7}.
kanjiskip}).
%
%<*ja>
-\item ããã©ã«ãã§2ã¤ã®\textbf{JAchar}ã®éã«æ¿å
¥ãããã°ã«ã¼(\Param{\hyperlink{fld:kanjiskip}{kanjiskip}})ï¼
+\item ããã©ã«ãã§2ã¤ã®\textbf{JAchar}ã®éã«æ¿å
¥ãããã°ã«ã¼(\Param{kanjiskip})ï¼
%
%<*en>
\item The default glue which inserted between a \textbf{JAchar} and an
- \textbf{ALchar} (\Param{\hyperlink{fld:xks}{xkanjiskip}}).
+ \textbf{ALchar} (\Param{xkanjiskip}).
%
%<*ja>
-\item ããã©ã«ãã§\textbf{JAchar}ã¨\textbf{ALchar}ã®éã«æ¿å
¥ãããã°ã«ã¼(\Param{\hyperlink{fld:xks}{xkanjiskip}})ï¼
+\item ããã©ã«ãã§\textbf{JAchar}ã¨\textbf{ALchar}ã®éã«æ¿å
¥ãããã°ã«ã¼(\Param{xkanjiskip})ï¼
%
\end{itemize}
%<*en>
-The value (a skip) of \Param{\hyperlink{fld:kanjiskip}{kanjiskip}} or
-\Param{\hyperlink{fld:xks}{xkanjiskip}} can be changed as the following.
-Note that only their values \emph{at the end of a paragraph or a horizontal box are
-adopted in the whole paragraph or the whole horizontal box.
+The value (a skip) of \Param{kanjiskip} or
+\Param{xkanjiskip} can be changed as the following.
+Note that only their values \emph{at the end of a paragraph or a hbox are
+adopted in the whole paragraph or the whole hbox.
}
%
%<*ja>
-\Param{\hyperlink{fld:kanjiskip}{kanjiskip}}ã\Param{\hyperlink{fld:xks}{xkanjiskip}}ã®å¤
+\Param{kanjiskip}ã\Param{xkanjiskip}ã®å¤
ã¯ä»¥ä¸ã®ããã«ãã¦å¤æ´å¯è½ã§ããï¼
%
\begin{lstlisting}
\ltjsetparameter{kanjiskip={0pt plus 0.4pt minus 0.4pt},
xkanjiskip={0.25\zw plus 1pt minus 1pt}}
\end{lstlisting}
+%<*en>
+Here \cs{zw} is a internal dimension
+which stores fullwidth of the current Japanese font.
+This \cs{zw} can be used as the unit \texttt{zw} in \pTeX.
+
+The value of these parameter can be get by \cs{ltjgetparameter}.
+Note that the result by \cs{ltjgetparameter} is \emph{not} the internal quantities,
+but \emph{a string} (hence \cs{the} cannot be prefixed).
+%
+%<*ja>
+ããã§ï¼\cs{zw} ã¯ç¾å¨ã®åæãã©ã³ãã®å
¨è§å¹
ã表ãé·ãã§ããï¼
+\pTeX ã«ãããé·ãåä½ \texttt{zw} ã¨åãããã«ä½¿ç¨ã§ããï¼
+
+ãããã®ãã©ã¡ã¼ã¿ã®å¤ã¯ä»¥ä¸ã®ããã«åå¾ã§ããï¼
+æ»ãå¤ã¯å
é¨å¤ã§ã¯ãªã\emph{æåå}ã§ããï¼\cs{the} ã¯åç½®ã§ããªãï¼ãã¨ã«æ³¨æãã¦ã»ããï¼
+%
+\begin{LTXexample}
+kanjiskip: \ltjgetparameter{kanjiskip},\\
+xkanjiskip: \ltjgetparameter{xkanjiskip}
+\end{LTXexample}
%<*en>
-It may occur that JFM contains the data of ``ideal width of
-\Param{\hyperlink{fld:kanjiskip}{kanjiskip}}''
-and/or ``ideal width of \Param{\hyperlink{fld:xks}{xkanjiskip}}''.
-To use these data from JFM, set the value of \Param{\hyperlink{fld:kanjiskip}{kanjiskip}} or
-\Param{\hyperlink{fld:xks}{xkanjiskip}} to \verb+\maxdimen+.
+It may occur that JFM contains the data of ``ideal width of
+\Param{kanjiskip}''
+and/or ``ideal width of \Param{xkanjiskip}''.
+To use these data from JFM, set the value of \Param{kanjiskip} or
+\Param{xkanjiskip} to \cs{maxdimen}
+(these ``ideal width'' cannot be retrived by \cs{ltjgetparameter}).
%
%<*ja>
-JFMã¯ãæã¾ãã\Param{\hyperlink{fld:kanjiskip}{kanjiskip}}ã®å¤ãã
-ãæã¾ãã\Param{\hyperlink{fld:xks}{xkanjiskip}}ã®å¤ããæã£ã¦ãããã¨ãããï¼
-ãããã®ãã¼ã¿ã使ãããã«ã¯ï¼\Param{\hyperlink{fld:kanjiskip}{kanjiskip}}ã%
-\Param{\hyperlink{fld:xks}{xkanjiskip}}ã®å¤ã \verb+\maxdimen+ ã®å¤ã«è¨å®ããã°ããï¼
+JFMã¯ãæã¾ãã\Param{kanjiskip}ã®å¤ãã
+ãæã¾ãã\Param{xkanjiskip}ã®å¤ããæã£ã¦ãããã¨ãããï¼
+ãããã®ãã¼ã¿ã使ãããã«ã¯ï¼\Param{kanjiskip}ã%
+\Param{xkanjiskip}ã®å¤ã \cs{maxdimen} ã®å¤ã«è¨å®ããã°ãããï¼
+\cs{ltjgetparameter} ã«ãã£ã¦åå¾ãããã¨ã¯ã§ããªãã®ã§æ³¨æãå¿
è¦ã§ããï¼
%
-%\subsection{Insertion Setting of \Param{xkanjiskip}}
+%\subsection{Insertion setting of \Param{xkanjiskip}}
%\subsection{\Param{xkanjiskip} ã®æ¿å
¥è¨å®}
%<*en>
-It is not desirable that \Param{\hyperlink{fld:xks}{xkanjiskip}} is inserted into every
+It is not desirable that \Param{xkanjiskip} is inserted into every
boundary between \textbf{JAchar}s and \textbf{ALchar}s. For example,
-\Param{\hyperlink{fld:xks}{xkanjiskip}} should not be inserted after opening parenthesis
+\Param{xkanjiskip} should not be inserted after opening parenthesis
(\textit{e.g.}, compare ``(ã'' and ``(\hskip\ltjgetparameter{xkanjiskip}ã'').
-\LuaTeX-ja can control whether \Param{\hyperlink{fld:xks}{xkanjiskip}} can be inserted
+\LuaTeX-ja can control whether \Param{xkanjiskip} can be inserted
before/after a character, by changing \Param{jaxspmode} for \textbf{JAchar}s and
\Param{alxspmode} parameters \textbf{ALchar}s respectively.
%
%<*ja>
-\Param{\hyperlink{fld:xks}{xkanjiskip}}ããã¹ã¦ã®\textbf{JAchar}ã¨\textbf{ALchar}ã®å¢çã«
-æ¿å
¥ãããã®ã¯æã¾ãããã¨ã§ã¯ãªãï¼ä¾ãã°ï¼\Param{\hyperlink{fld:xks}{xkanjiskip}}ã¯éãæ¬å¼§ã®
+\Param{xkanjiskip}ããã¹ã¦ã®\textbf{JAchar}ã¨\textbf{ALchar}ã®å¢çã«
+æ¿å
¥ãããã®ã¯æã¾ãããã¨ã§ã¯ãªãï¼ä¾ãã°ï¼\Param{xkanjiskip}ã¯éãæ¬å¼§ã®
å¾ã«ã¯æ¿å
¥ãããã¹ãã§ã¯ãªãï¼ã(ããã¨ã(\hskip\ltjgetparameter{xkanjiskip}ããã
æ¯ã¹ã¦ã¿ãï¼ï¼
-\LuaTeX-jaã§ã¯\Param{\hyperlink{fld:xks}{xkanjiskip}}ãããæåã®åï¼å¾ã«æ¿å
¥ãããã©ãããï¼
+\LuaTeX-jaã§ã¯\Param{xkanjiskip}ãããæåã®åï¼å¾ã«æ¿å
¥ãããã©ãããï¼
\textbf{JAchar}ã«å¯¾ãã¦ã¯\Param{jaxspmode}ãï¼\textbf{ALchar}ã«å¯¾ãã¦ã¯
\Param{alxspmode}ãããããå¤ãããã¨ã§å¶å¾¡ãããã¨ãã§ããï¼
%
@@ -1973,19 +2473,18 @@ pãq ã!ã
%<*en>
The second argument \texttt{preonly} means that the insertion of
-\Param{\hyperlink{fld:xks}{xkanjiskip}} is allowed before this character, but not after.
-the other possible values are \texttt{postonly}, \texttt{allow} and \texttt{
-inhibit}.
+\Param{xkanjiskip} is allowed before this character, but not after.
+the other possible values are \texttt{postonly}, \texttt{allow}, and \texttt{inhibit}.
%
%<*ja>
-2ã¤ç®ã®å¼æ°ã® \texttt{preonly}ã¯ã\Param{\hyperlink{fld:xks}{xkanjiskip}}ã®æ¿å
¥ã¯ãã®æåã®
+2ã¤ç®ã®å¼æ°ã® \texttt{preonly}ã¯ã\Param{xkanjiskip}ã®æ¿å
¥ã¯ãã®æåã®
åã§ã®ã¿è¨±ããï¼å¾ã§ã¯è¨±ããªãããã¨ãæå³ããï¼ä»ã«æå®å¯è½ãªå¤ã¯
\texttt{postonly}, \texttt{allow}, \texttt{inhibit}ã§ããï¼
%
%<*en>
\Param{jaxspmode} and \Param{alxspmode} use a same table to store the parameters
-on the current version. Therefore, line 1 in the code above can be rewritten
+on the current version. Therefore, line~1 in the code above can be rewritten
as follows:
%
%<*ja>
@@ -1993,9 +2492,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}).
%
@@ -2004,51 +2503,75 @@ One can use also numbers to specify these two parameters (see Subsection~\ref{ss
%
%<*en>
-If you want to enable/disable all insertions of \Param{\hyperlink{fld:kanjiskip}{kanjiskip}} and
-\Param{\hyperlink{fld:xks}{xkanjiskip}}, set \Param{autospacing} and \Param{autoxspacing}
+If you want to enable/disable all insertions of \Param{kanjiskip} and
+\Param{xkanjiskip}, set \Param{autospacing} and \Param{autoxspacing}
parameters to \texttt{true}/\texttt{false}, respectively.
%
%<*ja>
-ããå
¨ã¦ã®\Param{\hyperlink{fld:kanjiskip}{kanjiskip}}ã¨\Param{\hyperlink{fld:xks}{xkanjiskip}}ã®æ¿å
¥ãæå¹åï¼ç¡å¹å
+ããå
¨ã¦ã®\Param{kanjiskip}ã¨\Param{xkanjiskip}ã®æ¿å
¥ãæå¹åï¼ç¡å¹å
ããããã°ï¼ãããã\Param{autospacing}ã¨\Param{autoxspacing}ã
\texttt{true}/\texttt{false}ã«è¨å®ããã°ããï¼
%
-%\subsection{Shifting Baseline}
+%\subsection{Shifting the baseline}
%\subsection{ãã¼ã¹ã©ã¤ã³ã®ç§»å}
%<*en>
To make a match between a Japanese font and an alphabetic font, sometimes
shifting of the baseline of one of the pair is needed. In \pTeX, this is achieved
-by setting \verb+\ybaselineshift+ to a non-zero length (the
+by setting \cs{ybaselineshift} (or \cs{tbaselineshift}) to a non-zero length (the
baseline of \textbf{ALchar} is shifted below). However, for documents
whose main language is not Japanese, it is good to shift the baseline of
Japanese fonts, but not that of alphabetic fonts.
Because of this, \LuaTeX-ja can independently set the shifting amount
-of the baseline of alphabetic fonts (\Param{yalbaselineshift}
-parameter) and that of Japanese fonts (\Param{yjabaselineshift}
-parameter).
+of the baseline of alphabetic fonts and that of Japanese fonts.
+\begin{center}
+ \small
+\begin{tabular}{>{\bfseries}lcc}
+\toprule
+&\bfseries Horizontal writing (\emph{yoko} direction) etc.
+&\bfseries Vertical writing(\emph{tate} direction)\\
+\midrule
+Alphabetic fonts&\Param{yalbaselineshift}
+ parameter&\Param{talbaselineshift} parameter\\
+Japanese fonts&\Param{yjabaselineshift}
+ parameter&\Param{tjabaselineshift} parameter\\
+\bottomrule
+\end{tabular}
+\end{center}
%
%<*ja>
åæãã©ã³ãã¨æ¬§æãã©ã³ããåãããããã«ã¯ï¼æã
ã©ã¡ããã®ãã¼ã¹ã©ã¤ã³ã®ç§»åã
-å¿
è¦ã«ãªãï¼\pTeX ã§ã¯ãã㯠\verb+\ybaselineshift+ ãè¨å®ãããã¨ã§
+å¿
è¦ã«ãªãï¼\pTeX ã§ã¯ãã㯠\cs{ybaselineshift}ï¼ã¾ãã¯\cs{tbaselineshift}ï¼ãè¨å®ãããã¨ã§
ãªããã¦ããï¼\textbf{ALchar}ã®ãã¼ã¹ã©ã¤ã³ããã®åã ãä¸ããï¼ï¼ãããï¼æ¥æ¬èªã主ã§ã¯ãªã
ææ¸ã«å¯¾ãã¦ã¯ï¼æ¬§æãã©ã³ãã§ã¯ãªãåæãã©ã³ãã®ãã¼ã¹ã©ã¤ã³ã移åããæ¹ãããï¼
ãã®ããï¼\LuaTeX-jaã§ã¯æ¬§æãã©ã³ãã®ãã¼ã¹ã©ã¤ã³ã®ã·ããé
-ï¼\Param{yalbaselineshift}ãã©ã¡ã¼ã¿ï¼ã¨åæãã©ã³ãã®ãã¼ã¹ã©ã¤ã³ã®ã·ããé
-ï¼\Param{yjabaselineshift}ãã©ã¡ã¼ã¿ï¼ãç¬ç«ã«è¨å®ã§ããããã«ãªã£ã¦ããï¼
+ã¨åæãã©ã³ãã®ãã¼ã¹ã©ã¤ã³ã®ã·ããéãç¬ç«ã«è¨å®ã§ããããã«ãªã£ã¦ããï¼
+\begin{center}
+ \small
+\begin{tabular}{>{\bfseries}lcc}
+\toprule
+&\bfseries 横çµãªã©&\bfseries 縦çµ\\
+\midrule
+欧æãã©ã³ãã®ã·ããé&\Param{yalbaselineshift}
+ parameter&\Param{talbaselineshift} parameter\\
+åæãã©ã³ãã®ã·ããé&\Param{yjabaselineshift}
+ parameter&\Param{tjabaselineshift} parameter\\
+\bottomrule
+\end{tabular}
+\end{center}
%
-\begin{LTXexample}
-\vrule width 150pt height 0.4pt depth 0pt \hskip-120pt
-\ltjsetparameter{yjabaselineshift=0pt, yalbaselineshift=0pt}abcããã
-\ltjsetparameter{yjabaselineshift=5pt, yalbaselineshift=2pt}abcããã
-\end{LTXexample}
%<*en>
-Here the horizontal line in above is the baseline of a line.
+Here the horizontal line in the below example is the baseline of a line.
%
%<*ja>
-ä¸ã®ä¾ã«ããã¦å¼ããã¦ããæ°´å¹³ç·ããã¼ã¹ã©ã¤ã³ã§ããï¼
+ä¸ã®ä¾ã«ããã¦å¼ããã¦ããæ°´å¹³ç·ããã¼ã¹ã©ã¤ã³ã§ããï¼
%
+\begin{LTXexample}
+\vrule width 150pt height 0.2pt depth 0.2pt \hskip-120pt
+\ltjsetparameter{yjabaselineshift=0pt, yalbaselineshift=0pt}abcããã
+\ltjsetparameter{yjabaselineshift=5pt, yalbaselineshift=2pt}abcããã
+\end{LTXexample}
%<*en>
There is an interesting side-effect: characters in different size can be
@@ -2060,29 +2583,58 @@ The following is an example (beware the value is not well tuned):
ç°ãªãæåãä¸å¿ç·ã«æãããã¨ãã§ããï¼
以ä¸ã¯ä¸ã¤ã®ä¾ã§ããï¼å¤ã¯ãã¾ã調æ´ããã¦ããªããã¨ã«æ³¨æï¼ï¼
%
-\begin{LTXexample}
-xyzæ¼¢å
+\begin{LTXexample}[width=0.4\textwidth]
+\vrule width 150pt height4.417pt depth-4.217pt%
+\kern-150pt
+\large xyzæ¼¢å
{\scriptsize
- \ltjsetparameter{yjabaselineshift=-1pt,
- yalbaselineshift=-1pt}
- XYZã²ãããª
-}abcããª
+ \ltjsetparameter{yjabaselineshift=-1.757pt,
+ yalbaselineshift=-1.757pt}
+ æ¼¢åxyzããã
+}ãããabc
\end{LTXexample}
+%<*en>
+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 ã¨ã®éã}
\textbf{ALchar}ã®ãã¼ã¹ã©ã¤ã³ãè£æ£ãã \Param{yalbaselineshift} ãã©ã¡ã¼ã¿ã¯
-ã»ã¼\pTeX ã«ããã \verb+\ybaselineshift+ ã«å¯¾å¿ãã¦ãããã®ã§ãããï¼
+ã»ã¼\pTeX ã«ããã \cs{ybaselineshift} ã«å¯¾å¿ãã¦ãããã®ã§ãããï¼
æ°å¼ä¸ã®æåã¯ç°ãªã£ã¦ããã®ã§æ³¨æãå¿
è¦ã§ããï¼
-ä¾ãã°ï¼è¡¨\ref{tab:math_bsa}ã®ããã«ï¼æ°å¼ä¸ã«æ示çã«ç¾ãã \verb+\hbox+ ã¯ï¼
+ä¾ãã°ï¼è¡¨\ref{tab:math_bsa}ã®ããã«ï¼æ°å¼ä¸ã«æ示çã«ç¾ãã \cs{hbox} ã¯ï¼
\begin{itemize}
- \item \pTeX ã§ã¯ï¼ããã¯ã¹å
¨ä½ã \verb+\ybaselineshift+ ã ã¨ã·ãããããã®ã§ï¼
+ \item \pTeX ã§ã¯ï¼ããã¯ã¹å
¨ä½ã \cs{ybaselineshift} ã ã¨ã·ãããããã®ã§ï¼
表\ref{tab:math_bsa}ä¸ã®``ã''ã®ããã«ï¼ããã¯ã¹ä¸ã®åææåã¯
- \verb+\ybaselineshift+ã ãã·ããããï¼ä¸æ¹ï¼``for all''ã®ããã«ï¼
+ \ \cs{ybaselineshift} ã ãã·ããããï¼ä¸æ¹ï¼``for all''ã®ããã«ï¼
ããã¯ã¹å
ã®æ¬§ææåã¯2éã«ã·ããããããã¨ã«ãªãï¼
\item ä¸æ¹ï¼\LuaTeX-jaã§ã¯ãã®ãããªãã¨ã¯ããããï¼
- æ°å¼ä¸ã«æ示çã«ç¾ãã \verb+\hbox+ ã¯ã·ããããªãï¼ãã®ããï¼
+ æ°å¼ä¸ã«æ示çã«ç¾ãã \cs{hbox} ã¯ã·ããããªãï¼ãã®ããï¼
表\ref{tab:math_bsa}ä¸ã®``ã''ã``for all''ãï¼ããããæ¬æä¸ã«
æ¸ãããã¨ãã¨åãä¸ä¸ä½ç½®ã«çµã¾ããï¼
\end{itemize}
@@ -2095,53 +2647,117 @@ xyzæ¼¢å
\begin{tabular}{lp{30\zw}}
\toprule
\emph{å
¥å}&\vspace*{\dimexpr-\origbaselineskip-\smallskipamount}
-\begin{verbatim}
-æ°å¼abc: $ãa\hbox{ã}$, $\int_0^x t\,dt=x^2\!/2$,
+\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}&
{\ltjsetparameter{yalbaselineshift=10pt}%
-æ°å¼abc: $ãa\lower10pt\hbox{ã}$, $\int_0^x t\,dt=x^2\!/2$,
+æ°å¼abc: $ãa\lower10pt\hbox{ã}$, $\int_0^x t\,dt=x^2/2$,
$\Phi\vdash F(x)\ \lower10pt\hbox{for all}\ x\in A$
\par}\\
\midrule
\emph{\LuaTeX-ja}&
{\ltjsetparameter{yalbaselineshift=10pt}%
-æ°å¼abc: $ãa\hbox{ã}$, $\int_0^x t\,dt=x^2\!/2$,
+æ°å¼abc: $ãa\hbox{ã}$, $\int_0^x t\,dt=x^2/2$,
$\Phi\vdash F(x)\ \hbox{for all}\ x\in A$
\par}\\
\noalign{\vskip-\origbaselineskip}
\bottomrule
-\end{tabular}
+\end{tabular}
\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.
+
+OpenType font features are ignored in these parameters.
+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{ç¦åå¦çé¢é£ãã©ã¡ã¼ã¿ã¨OpenTypeã®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{ãªãã¡ã¬ã³ã¹}
\label{part-ref}
-
+\suppressfloats[t]
%<*ja>
-\section{\LuaTeX-jaã«ããã \texttt{\char92catcode}}
-\subsection{äºåç¥èï¼\pTeX ã¨\upTeX ã«ããã \texttt{\char92kcatcode}}
+\section{\LuaTeX-jaã«ããã \cs{catcode}}
+\label{sec-catcode}
+\subsection{äºåç¥èï¼\pTeX ã¨\upTeX ã«ããã \cs{kcatcode}}
\pTeXï¼\upTeX ã«ããã¦ã¯ï¼åææåãå¶å¾¡ç¶´å
ã§å©ç¨ã§ãããã©ãã
-㯠\verb+\kcatcode+ ã®å¤ã«ãã£ã¦æ±ºå®ãããã®ã§ãã£ãï¼
-\verb+\kcatcode+ ã®å¤ã«ãã£ã¦ã©ã®ããã«å¤ãããã¯è¡¨\ref{table-kcat}ãåç
§ããããï¼
+㯠\cs{kcatcode} ã®å¤ã«ãã£ã¦æ±ºå®ãããã®ã§ãã£ãï¼
+詳細ã¯è¡¨\ref{table-kcat}ãåç
§ããããï¼
+%
+%<*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.
+For the detail, see Table~\ref{table-kcat}.
+%
\begin{table}[t]
\small
-\caption{\texttt{\char92kcatcode} in \upTeX}
+\caption{\cs{kcatcode} in \upTeX}
\label{table-kcat}
+%\medskip
\noindent\hfill
\begin{tabular}{ccccc}
\toprule
-\bfseries \verb+\kcatcode+&
+\bfseries \cs{kcatcode}&
+%<*en>
+\bfseries meaning&
+\bfseries control word&
+\bfseries widow penalty\hbox{}$^*$&
+\bfseries linebreak\\
+%
+%<*ja>
\bfseries æå³&
\bfseries å¶å¾¡ç¶´ä¸ã«ä½¿ç¨&
\bfseries æåã¦ã£ãã¦å¦ç\hbox{}$^*$&
\bfseries ç´å¾ã§ã®æ¹è¡\\
+%
\midrule
15&non-cjk&\multicolumn{3}{c}{(treated as usual \LaTeX)}\\
16&kanji&Y&Y&ignored\\
@@ -2153,51 +2769,115 @@ $\Phi\vdash F(x)\ \hbox{for all}\ x\in A$
\medskip
-æåã¦ã£ãã¦å¦ç\hbox{}$^*$: ãæ¼¢åãä¸æåã ã次ã®è¡ã«è¡ãã®ãé²ãã\
-\texttt{\char`\\jcharwidowpenalty} ãï¼
+%<*ja>
+æåã¦ã£ãã¦å¦ç\hbox{}$^*$: ãæ¼¢åãä¸æåã ã次ã®è¡ã«è¡ãã®ãé²ãã\
+\cs{jcharwidowpenalty} ãï¼
ãã®æåã®ç´åã«æ¿å
¥ãããããå¦ãï¼ã示ãï¼
-\end{table}
+%
+\end{table}
-\pTeX ã§ã¯ \verb+\kcatcode+ ã¯JIS~X~0208ã®åºåä½ï¼
+%<*en>
+\cs{kcatcode} can be set by a row of JIS~X~0208 in \pTeX,
+and generally by a Unicode block\footnote{%
+ \upTeX\ divides \texttt{U+FF00}--\texttt{U+FFEF} (Halfwidth and Fullwidth Forms)
+ into three subblocks, and \cs{kcatcode} can be set by a subblock.
+}
+in \upTeX. So characters which can be used in a control word
+slightly differ between \pTeX~and~\upTeX.
+%
+%<*ja>
+\pTeX ã§ã¯ \cs{kcatcode} ã¯JIS~X~0208ã®åºåä½ï¼
\upTeX ã§ã¯æ¦ãUnicodeãããã¯åä½\footnote{%
\texttt{U+FF00}--\texttt{U+FFEF} (Halfwidth and Fullwidth Forms)ã¯
ãå
¨è§è±æ°åããåè§ã«ããããã®ä»ãã¨3ã¤ã«åå²ããã¦ããï¼
- ããããå¥ã
ã« \texttt{\char92kcatcode} ãæå®ã§ããããã«ãªã£ã¦ããï¼
+ ããããå¥ã
ã« \cs{kcatcode} ãæå®ã§ããããã«ãªã£ã¦ããï¼
}ã§è¨å®å¯è½ã«ãªã£ã¦ããï¼ãã®ããï¼\pTeX ã¨\upTeX ã®åæç¶æ
ã§ã¯
å¶å¾¡ç¶´å
ã§ä½¿ç¨å¯è½ãªæåãå¾®å¦ã«ç°ãªã£ã¦ããï¼
+%
+%<*en>
+\subsection{Case of \LuaTeX-ja}
+The role of \cs{kcatcode} in \pTeX~and~\upTeX\ can be
+divided into the following four kinds,
+and \LuaTeX-ja can control these four kinds separately:
+\begin{itemize}
+ \item
+\emph{Distinction between \textbf{JAchar} or \textbf{ALchar}}
+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.
+ \item
+\emph{Whether \Param{jcharwidowpenalty} can be inserted before the character}
+is controlled by the lowermost bit of the \Param{kcatcode} parameter.
+ \item
+\emph{Linebreak after a \textbf{JAchar}} does not produce a space.
+\end{itemize}
+%
+%<*ja>
\subsection{\LuaTeX-jaã®å ´å}
-\LuaTeX-jaã§ã¯ï¼å¾æ¥ã®\pTeXã»\upTeX ã«ããã \verb+\kcatcode+ ã®å½¹å²ã
+\LuaTeX-jaã§ã¯ï¼å¾æ¥ã®\pTeXã»\upTeX ã«ããã \cs{kcatcode} ã®å½¹å²ã
åå²ãã¦ããï¼
\begin{description}
- \item[欧æ/åæã®åºå¥ (\upTeX)]
-\verb+\ltjdefcharrange+ ã¨\textsf{jacharrange}ãã©ã¡ã¼ã¿ï¼\ref{ssec-setrange}ç¯ï¼
+ \item[欧æ/åæã®åºå¥ (\upTeX)]
+\cs{ltjdefcharrange} ã¨\textsf{jacharrange}ãã©ã¡ã¼ã¿ï¼\ref{ssec-setrange}ç¯ï¼
\item[å¶å¾¡ç¶´ä¸ã«ä½¿ç¨å¯ã]
-\LuaTeX èªèº«ã® \verb+\catcode+ ã§ãã
+\LuaTeX èªèº«ã® \cs{catcode} ã§ãã
\item[\Param{jcharwidowpenalty}ãæ¿å
¥å¯ã]
\Param{kcatcode}ãã©ã¡ã¼ã¿ã®æä¸ä½ããã
- \item[æ¹è¡ãã¹ãã¼ã¹ã¨èªèããã]
-æ¥æ¬èªããæ³å®ãã¦ããªãã®ã§\textbf{JAchar}ã«ã¤ãã¦ã¯ä¸å¾æå¹
+ \item[ç´å¾ã®æ¹è¡]
+æ¥æ¬èªããæ³å®ãã¦ããªãã®ã§ï¼\textbf{JAchar}ç´å¾ã®æ¹è¡ã§åè§ã¹ãã¼ã¹ãæ¿å
¥ããããã¨ã¯ãªãï¼
+\end{description}
+%
+
+%<*en>
+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 (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 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
+a control word, in the default setting of \LuaTeX.
+This would be inconvenient for \pTeX~users to shifting to \LuaTeX-ja,
+since several control words containing Kanji, such as \verb+\西æ¦+,
+are used in \pTeX.
+Hence, \LuaTeX-ja have a counterpart of \texttt{unicode-letters.tex}
+for \LuaTeX, \emph{to match the \cs{catcode} setting with that of \XeTeX.}
+%
+%<*ja>
ãã¤ãã£ãã«Unicodeå
¨é¨ã®æåãæ±ãã\XeTeX ã\LuaTeX ã§ã¯ï¼
-æåãå¶å¾¡ç¶´å
ã§ä½¿ç¨ã§ãããã¯é常ã®æ¬§ææåã¨åãã \verb+\catcode+
-ã§æå®ãããã¨ã¨ãªãï¼\XeTeX ã«ããã \verb+\catcode+ ã®åæè¨å®ã¯\
-\texttt{unicode-letters.tex} ä¸ã«è¨è¿°ããã¦ããï¼\LuaTeX ã§ã¯ããã
+æåãå¶å¾¡ç¶´å
ã§ä½¿ç¨ã§ãããã¯é常ã®æ¬§ææåã¨åãã \cs{catcode}
+ã§æå®ãããã¨ã¨ãªãï¼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 ã«ããã \verb+\catcode+ ã®åæè¨å®ã¨
+
+ã ãï¼\XeTeX ã«ããã \cs{catcode} ã®åæè¨å®ã¨
\LuaTeX ã«ãããããã¯ä¸è´ãã¦ããªãï¼
\begin{itemize}
- \item \texttt{luatex-unicode-letters.tex} ã®å
ã«ãªã£ã\
+ \item \texttt{luatex-unicode-letters.tex} ã®å
ã«ãªã£ã\
\texttt{unicode-letters.tex} ãå¤ã
- \item \texttt{unicode-letters.tex} ã®å¾åé¨ã§ã¯
-\verb+\XeTeXcharclass+ ã®è¨å®ãè¡ãªã£ã¦ããï¼
-ããã«ãã£ã¦æ¼¢åãä»®åã® \verb+\catcode+ ã11ã«è¨å®ããã¦ããï¼
+ \item \texttt{unicode-letters.tex} å¾åé¨ã \texttt{unicode-letters.def} å¾åé¨ã§ã¯
+\cs{XeTeXcharclass} ã®è¨å®ãè¡ãªã£ã¦ããï¼
+ããã«ãã£ã¦æ¼¢åãä»®åã® \cs{catcode} ã11ã«è¨å®ããã¦ããï¼
ãããï¼\texttt{luatex-unicode-letters.tex} ã§ã¯ãã®ãå¾åé¨ãã
-ã¾ããã¨çç¥ããã¦ããï¼æ¼¢åãä»®åã® \verb+\catcode+ ã¯12ã®ã¾ã¾ï¼
+ã¾ããã¨çç¥ããã¦ããï¼ã¾ã\LuaLaTeX ã§ã \texttt{unicode-letters.def} å¾åé¨ã¯å®è¡ãããª
+ ãï¼å¾ã£ã¦æ¼¢åãä»®åã® \cs{catcode} ã¯12ã®ã¾ã¾ã«ãªã£ã¦ããï¼
\end{itemize}
è¨ãæããã¨ï¼\LuaTeX ã®åæç¶æ
ã§ã¯æ¼¢åãä»®åãå¶å¾¡ç¶´å
ã«
使ç¨ãããã¨ã¯ã§ããªãï¼
@@ -2206,64 +2886,83 @@ $\Phi\vdash F(x)\ \hbox{for all}\ x\in A$
\LuaTeX-jaã¸ã®ç§»è¡ã§æéãçããï¼ãã®ããï¼\LuaTeX-jaã§ã¯
\texttt{unicode-letters.tex} ã®å¾åé¨ã«ãããå
容ãèªåã§ããããï¼
çµæã¨ãã¦\textbf{\XeTeX ã«ãããåæè¨å®ã¨åãã«ãªãããã«ãã¦ããï¼}
+%
\begin{table}
\centering\small
-\caption{å¶å¾¡ç¶´ä¸ã«ä½¿ç¨åºæ¥ãJIS~X~0208éæ¼¢åã®éã}
+%\caption{Difference of the set of non-kanji JIS~X~0208 characters which can be used in a control word}
+%\caption{å¶å¾¡ç¶´ä¸ã«ä½¿ç¨åºæ¥ãJIS~X~0208éæ¼¢åã®éã}
+%\medskip
\label{table-kcat-diff}
\def\D#1#2#3#4{%
{\fboxsep0pt\fcolorbox{cyan}{white}%
{\large\char"#1#2#3#4}}\ (\texttt{U+#1#2#3#4})} %"
\leavevmode\hbox to 0pt{\hss\begin{tabular}{cccccc}
\toprule
-&\bf åº&\bf ç¹&\bf \pTeX&\bf \upTeX&\fontseries{b}\selectfont\LuaTeX-ja\\
+%&\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&Ã&Ã&â¯\\
-\D 30FB&1&6&Ã&â¯&Ã\\
-\D 309B&1&11&Ã&â¯&Ã\\
-\D 309C&1&12&Ã&â¯&Ã\\
-\D FF40&1&14&Ã&Ã&â¯\\
-\D FF3E&1&16&Ã&Ã&â¯\\
-\D FFE3&1&17&Ã&Ã&â¯\\
-\D FF3F&1&18&Ã&Ã&â¯\\
-\D 30FD&1&19&Ã&â¯&â¯\\
-\D 30FE&1&20&Ã&â¯&â¯\\
-\D 309D&1&21&Ã&â¯&â¯\\
-\D 309E&1&22&Ã&â¯&â¯\\
-\D 3003&1&23&Ã&Ã&â¯\\
-\D 4EDD&1&24&Ã&â¯&â¯\\
-\D 3005&1&25&Ã&Ã&â¯\\
-\D 3006&1&26&Ã&Ã&â¯\\
-\D 3007&1&27&Ã&Ã&â¯\\
-\D 30FC&1&28&Ã&â¯&â¯\\
+%\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\\
+\D FF40&1&14&N&N&Y\\
+\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 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}
\toprule
-&\bf åº&\bf ç¹&\bf \pTeX&\bf \upTeX&\fontseries{b}\selectfont\LuaTeX-ja\\
+%&\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&Ã&Ã&â¯\\
-\D FF3C&1&32&Ã&Ã&â¯\\
-\D FF5C&1&35&Ã&Ã&â¯\\
-\D FF0B&1&60&Ã&Ã&â¯\\
-\D FF1D&1&65&Ã&Ã&â¯\\
-\D FF1C&1&67&Ã&Ã&â¯\\
-\D FF1E&1&68&Ã&Ã&â¯\\
-\D FF03&1&84&Ã&Ã&â¯\\
-\D FF06&1&85&Ã&Ã&â¯\\
-\D FF0A&1&86&Ã&Ã&â¯\\
-\D FF20&1&87&Ã&Ã&â¯\\
-\D 3012&2&9&Ã&Ã&â¯\\
-\D 3013&2&14&Ã&Ã&â¯\\
-\D FFE2&2&44&Ã&Ã&â¯\\
-\D 212B&2&82&Ã&Ã&â¯\\
-\multicolumn{3}{c}{$\vphantom{\D 3000}$\hbox{}ã®ãªã·ã£æåï¼6åºï¼}&â¯&Ã&â¯\\
-\multicolumn{3}{c}{$\vphantom{\D 3000}$\hbox{}ããªã«æåï¼7åºï¼}&Ã&Ã&â¯\\
-$\vphantom{\D 3000}$\\
+\D FF5C&1&35&N&N&Y\\
+\D FF0B&1&60&N&N&Y\\
+\D FF1D&1&65&N&N&Y\\
+\D FF1C&1&67&N&N&Y\\
+\D FF1E&1&68&N&N&Y\\
+\D FF03&1&84&N&N&Y\\
+\D FF06&1&85&N&N&Y\\
+\D FF0A&1&86&N&N&Y\\
+\D FF20&1&87&N&N&Y\\
+\D 3012&2&9&N&N&Y\\
+\D 3013&2&14&N&N&Y\\
+\D FFE2&2&44&N&N&Y\\
+\D 212B&2&82&N&N&Y\\
+%\multicolumn{3}{c}{$\vphantom{\D 3000}$\hbox{}Greek letters (row 6)}&Y&N&Y\\
+%\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\\
\bottomrule
\end{tabular}\hss}\par
\end{table}
+%<*en>
+\subsection{Non-kanji characters in a control word}
+Because the engine differ, so non-kanji JIS~X~0208 characters
+which can be used in a control word differ in \pTeX, in \upTeX,~and~in \LuaTeX-ja.
+Table~\ref{table-kcat-diff} shows the difference.
+Except for four characters ``ã»'',~``ã'', ``ã'',~``ã '',
+\LuaTeX-ja admits more characters in a control word than \upTeX.
+
+Difference becomes larger, if we consider
+non-kanji JIS~X~0213 characters.
+For the detail, see \url{https://github.com/h-kitagawa/kct}.
+%
+%<*ja>
\subsection{å¶å¾¡ç¶´ä¸ã«ä½¿ç¨åºæ¥ãJISéæ¼¢åã®éã}
ã¨ã³ã¸ã³ãç°ãªãã®ã§ï¼\pTeX, \upTeX, \LuaTeX-ja
@@ -2271,82 +2970,718 @@ $\vphantom{\D 3000}$\\
ç°ãªã£ã¦ããã¨ããã ããè¼ããã¨ï¼è¡¨\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} ãªã©ãåç
§ãããã¨ï¼
+詳細ã«ã¤ãã¦ã¯ä¾ãã° \url{https://github.com/h-kitagawa/kct} ä¸ã®\
+\texttt{kct-out.pdf} ãªã©ãåç
§ãããã¨ï¼
%
-%\section{Font Metric and Japanese Font}
-%\section{ãã©ã³ãã¡ããªãã¯ã¨åæãã©ã³ã}
-%\subsection{\texttt{\char92jfont}}
-%\subsection{\texttt{\char92jfont} å½ä»¤}
-\label{ssec-jfont}
-
%<*en>
-To load a font as a Japanese font, you must use the
-\verb+\jfont+ instead of~\verb+\font+, while
-\verb+\jfont+ admits the same syntax used in~\verb+\font+.
-\LuaTeX-ja automatically loads \Pkg{luaotfload} package,
-so TrueType/OpenType fonts with features can be used for Japanese fonts:
+\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>
-ãã©ã³ããåæãã©ã³ãã¨ãã¦èªã¿è¾¼ãããã«ã¯ï¼\verb+\jfont+ ã
-\verb+\font+ ããªããã£ãã®ä»£ããã«ç¨ããï¼
-\verb+\jfont+ ã®ææ³ã¯ \verb+\font+ ã¨åãã§ããï¼
-\LuaTeX-jaã¯\Pkg{luaotfload}ããã±ã¼ã¸ãèªåçã«èªã¿è¾¼ãã®ã§ï¼
-TrueType/OpenTypeãã©ã³ãã«featureãæå®ãããã®ãåæãã©ã³ãã¨ãã¦ç¨ãã
-ãã¨ãã§ããï¼
+\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})ã§çµãã ããã¯ã¹ãå転ãããæ¹å¼ã§
+縦çµãå®è£
ããï¼
%
-\begin{LTXexample}[width=0.3\textwidth]
-\jfont\tradgt={file:KozMinPr6N-Regular.otf:script=latn;%
- +trad;-kern;jfm=ujis} at 14pt
-\tradgt å½ï¼ä½ï¼å»ï¼åº
-\end{LTXexample}
-%<*en>
-Note that the defined control sequence
-(\verb+\tradgt+ in the example above) using \verb+\jfont+ is not a
-\textit{font\_def} token, hence the input like \verb+\fontname\tradgt+
-causes a error. We denote control sequences which are defined in
-\verb+\jfont+ by .
-%
+%\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>
-ãªãï¼\verb+\jfont+ ã§å®ç¾©ãããã³ã³ããã¼ã«ã·ã¼ã±ã³ã¹ï¼ä¸ã®ä¾ã 㨠\verb+\tradgt+ï¼
-ã¯\textit{font\_def}ãã¼ã¯ã³ã§ã¯ãªãã®ã§ï¼\verb+\fontname\tradgt+ ã®ãããª
-å
¥åã¯ã¨ã©ã¼ã¨ãªããã¨ã«æ³¨æããï¼ä»¥ä¸ã§ã¯ \verb+\jfont+ ã§å®ç¾©ããã
-ã³ã³ããã¼ã«ã·ã¼ã±ã³ã¹ãã§è¡¨ãï¼
+\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
%
-\paragraph{JFM}
%<*en>
-As noted in Introduction, a JFM has measurements of characters and
-glues/kerns that are automatically inserted for Japanese
-typesetting. The structure of JFM will be described in the next
-subsection. At the calling of \verb+\jfont+, you must specify
-which JFM will be used for this font by the following keys:
+\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
%
-%<*ja>
-ãã¯ããã«ãã®ç¯ã§è¿°ã¹ãããã«ï¼JFMã¯æåã¨åæçµçã§èªåçã«æ¿å
¥ããã
-ã°ã«ã¼ï¼ã«ã¼ã³ã®å¯¸æ³æ
å ±ãæã£ã¦ããï¼JFMã®æ§é ã¯æ¬¡ã®å°ç¯ã§è¿°ã¹ãï¼
-\verb+\jfont+ å½ä»¤ã®å¼ã³åºãã®éã«ã¯ï¼ã©ã®JFMãç¨ããã®ãã以ä¸ã®ãã¼ã§
-æå®ããå¿
è¦ãããï¼
-%
+\end{table}
-\begin{list}{}{\def\makelabel{\ttfamily}\def\{{\char`\{}\def\}{\char`\}}\advance\leftmargin1\zw}
-\item[jfm=]
%<*en>
-Specify the name of JFM. If specified JFM has not been loaded, \LuaTeX-ja search and load
+\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}
+%\section{ãã©ã³ãã¡ããªãã¯ã¨åæãã©ã³ã}
+%\subsection{\cs{jfont}}
+%\subsection{\cs{jfont} å½ä»¤}
+\label{ssec-jfont}
+
+%<*en>
+To load a font as a Japanese font (for horizontal direction), you must use the
+\cs{jfont} instead of~\cs{font}, while
+\cs{jfont} admits the same syntax used in~\cs{font}.
+\LuaTeX-ja automatically loads \Pkg{luaotfload} package,
+so TrueType/OpenType fonts with features can be used for Japanese fonts:
+%
+%<*ja>
+ãã©ã³ããï¼æ¨ªçµç¨ï¼åæãã©ã³ãã¨ãã¦èªã¿è¾¼ãããã«ã¯ï¼\cs{jfont} ã
+\ \cs{font} ããªããã£ãã®ä»£ããã«ç¨ããï¼
+\cs{jfont} ã®ææ³ã¯ \cs{font} ã¨åãã§ããï¼
+\LuaTeX-jaã¯\Pkg{luaotfload}ããã±ã¼ã¸ãèªåçã«èªã¿è¾¼ãã®ã§ï¼
+TrueType/OpenTypeãã©ã³ãã«featureãæå®ãããã®ãåæãã©ã³ãã¨ãã¦ç¨ãã
+ãã¨ãã§ããï¼
+%
+\begin{LTXexample}[width=0.3\textwidth]
+\jfont\tradgt={file:KozMinPr6N-Regular.otf:script=latn;%
+ +trad;-kern;jfm=ujis} at 14pt
+\tradgt å½ï¼ä½ï¼å»ï¼åº
+\end{LTXexample}
+
+%<*en>
+Note that the defined control sequence
+(\cs{tradgt} in the example above) using \cs{jfont} is not a
+\textit{font\_def} token, but a macro.
+Hence the input like \verb+\fontname\tradgt+
+causes a error. We denote control sequences which are defined in
+\cs{jfont} by .
+%
+%<*ja>
+ãªãï¼\cs{jfont} ã§å®ç¾©ãããå¶å¾¡ç¶´ï¼ä¸ã®ä¾ã 㨠\cs{tradgt}ï¼
+ã¯\textit{font\_def}ãã¼ã¯ã³ã§ã¯ãªããã¯ãã§ããï¼å¾ã£ã¦ï¼\verb+\fontname\tradgt+ ã®ãããª
+å
¥åã¯ã¨ã©ã¼ã¨ãªãï¼ä»¥ä¸ã§ã¯ \cs{jfont} ã§å®ç¾©ããã
+å¶å¾¡ç¶´ãã§è¡¨ãï¼
+%
+
+\paragraph{JFM}
+%<*en>
+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ã®æ§é ã¯æ¬¡ã®ç¯ã§è¿°ã¹ãï¼
+\cs{jfont} å½ä»¤ã®å¼ã³åºãã®éã«ã¯ï¼ã©ã®JFMãç¨ããã®ãã以ä¸ã®ãã¼ã§
+æå®ããå¿
è¦ãããï¼
+%
+
+
+\begin{table}[t]
+%\caption{Differences between horizontal JFMs shipped with \LuaTeX-ja}
+%\caption{\LuaTeX-ja ã«å梱ããã¦ãã横çµç¨JFMã®éã}
+%\medskip
+\label{tab-difjfm}
+\ltjsetparameter{jacharrange={+3}}
+\centering\small
+\def\r#1#2{%
+ \hbox{\Large\vrule
+ \parbox[b]{7\zw}{%
+ \addjfontfeatures{YokoFeatures={Opacity=0.5, Color=#2, JFM=#1}}\noindent
+ âââââââ
+ ããæ¥ã¢ã¢ã¡ãããã使ãã§è¿·åã«ãªã£ã¦æ³£ãã¾ããï¼
+ }\vrule}}
+\def\s#1#2{%
+ \Large
+ \parbox[b]{7\zw}{%
+ \addjfontfeatures{YokoFeatures={Opacity=0.5, Color=#2, JFM=#1}}\noindent
+ ã¡ãã£ã¨ï¼ä½
+ }}
+\def\t#1#2#3{\hbox to 0pt{\hss%
+ \setbox0=\hbox{\addjfontfeatures{YokoFeatures={JFM=#1}}\huge #3}%
+ \textcolor{#2}{\transparent{0.5}\vrule width 0.4pt height\ht0 depth\dp0}\kern-.2pt\copy0
+ \textcolor{#2}{\transparent{0.5}\kern-\wd0\vrule width\wd0height .2pt depth .2pt
+ \kern-\wd0\raise\ht0\hbox{\vrule width\wd0height .2pt depth .2pt}%
+ \kern-\wd0\lower\dp0\hbox{\vrule width\wd0height .2pt depth .2pt}%
+ \kern-.2pt\vrule width 0.4pt height\ht0 depth \dp0}\hss}}
+{\Large\tabcolsep0pt
+\begin{tabular}{m{8\zw}m{8\zw}m{8\zw}}
+\leavevmode\hbox to 0pt{\r{ujis}{blue}\hss}\r{jis}{black}&
+\leavevmode\hbox to 0pt{\r{jis}{black}\hss}\r{min}{red}&
+\leavevmode\hbox to 0pt{\r{ujis}{blue}\hss}\r{min}{red}\\
+\leavevmode\hbox to 0pt{\s{ujis}{blue}\hss}\s{jis}{black}&
+\leavevmode\hbox to 0pt{\s{jis}{black}\hss}\s{min}{red}&
+\leavevmode\hbox to 0pt{\s{ujis}{blue}\hss}\s{min}{red}\\
+\leavevmode\qquad\t{ujis}{blue}{æ¼¢}\t{jis}{black}{æ¼¢}\qquad
+ \t{ujis}{blue}{ã£}\t{jis}{black}{ã£}&
+\leavevmode\qquad\t{jis}{black}{æ¼¢}\t{min}{red}{æ¼¢}\qquad
+ \t{jis}{black}{ã£}\t{min}{red}{ã£}&
+\leavevmode\qquad\t{ujis}{blue}{æ¼¢}\t{min}{red}{æ¼¢}\qquad
+ \t{ujis}{blue}{ã£}\t{min}{red}{ã£}\\
+\end{tabular}\par}
+
+(\textcolor{blue}{Blue: \texttt{jfm-ujis.lua}},
+\textcolor{black}{Black: \texttt{jfm-jis.lua}},
+\textcolor{red}{Red: \texttt{jfm-min.lua}})
+\ltjsetparameter{jacharrange={-3}}
+\end{table}
+
+\begin{cslist}
+\item[jfm=]
+%<*en>
+Specify the name of (horizontal) JFM.
+If specified JFM has not been loaded, \LuaTeX-ja search and load
a file named \texttt{jfm-.lua}.
The following JFMs are shipped with \LuaTeX-ja:
%
%<*ja>
-JFMã®ååãæå®ããï¼ãã以åã«æå®ãããJFMãèªã¿è¾¼ã¾ãã¦ããªããã°ï¼
-\texttt{jfm-.lua}ãèªã¿è¾¼ãï¼ä»¥ä¸ã®JFMã\LuaTeX-jaã«ã¯å梱ããã¦ããï¼
+ç¨ããï¼æ¨ªçµç¨ï¼JFMã®ååãæå®ããï¼ãã以åã«æå®ãããJFMãèªã¿è¾¼ã¾ãã¦ããªããã°ï¼
+\texttt{jfm-.lua}ãèªã¿è¾¼ãï¼ä»¥ä¸ã®æ¨ªçµç¨JFMã\LuaTeX-jaã«ã¯å梱ããã¦ããï¼
%
\begin{description}
%<*en>
@@ -2361,7 +3696,7 @@ JFMã®ååãæå®ããï¼ãã以åã«æå®ãããJFMãèªã¿è¾¼ã¾
%
%<*en>
\item[\tt jfm-jis.lua] A counterpart for \verb+jis.tfm+, ``JIS font
- metric'' which is widely used in \pTeX. A major difference of
+ metric'' which is widely used in \pTeX. A major difference between
\texttt{jfm-ujis.lua} and this \texttt{jfm-jis.lua} is that
most characters under \texttt{jfm-ujis.lua} are square-shaped,
while that under \texttt{jfm-jis.lua} are horizontal
@@ -2369,122 +3704,120 @@ JFMã®ååãæå®ããï¼ãã以åã«æå®ãããJFMãèªã¿è¾¼ã¾
%
%<*ja>
\item[\tt jfm-jis.lua] \pTeX ã§åºãç¨ãããã¦ãããJISãã©ã³ãã¡ããªãã¯ã
- \verb+jis.tfm+ ã«ç¸å½ããJFMã§ããï¼\texttt{jfm-ujis.lua}ã¨ãã®
- \texttt{jfm-jis.lua}ã®ä¸»ãªéãã¯ï¼\texttt{jfm-ujis.lua}ã§ã¯ã»ã¨ãã©ã®æåã
- æ£æ¹å½¢ç¶ã§ããã®ã«å¯¾ãï¼\texttt{jfm-jis.lua}ã§ã¯æ¨ªé·ã®é·æ¹å½¢ç¶ã§ããï¼
+ \verb+jis.tfm+ ã«ç¸å½ããJFMã§ããï¼\texttt{jfm-ujis.lua} ã¨ãã®
+ \texttt{jfm-jis.lua} ã®ä¸»ãªéãã¯ï¼\texttt{jfm-ujis.lua} ã§ã¯ã»ã¨ãã©ã®æåã
+ æ£æ¹å½¢ç¶ã§ããã®ã«å¯¾ãï¼\texttt{jfm-jis.lua} ã§ã¯æ¨ªé·ã®é·æ¹å½¢ç¶ã§ãããã¨ã¨ï¼
+ \texttt{jfm-ujis.lua} ã§ã¯ãï¼ããï¼ãã®ç´å¾ã«åè§ç©ºç½ãæ¿å
¥ããããã¨ã§ããï¼
%
%<*en>
\item[\tt jfm-min.lua] A counterpart for \verb+min10.tfm+, which is one
- of the default Japanese font metric shipped with \pTeX. There
- are notable difference between this JFM and other 2~JFMs, as
- shown in Table~\ref{tab-difjfm}.
+ of the default Japanese font metric shipped with \pTeX.
%
%<*ja>
\item[\tt jfm-min.lua] \pTeX ã«å梱ããã¦ããããã©ã«ãã®åæç¨TFM
- ã§ãã \verb+min10.tfm+ ã«ç¸å½ããJFMã§ããï¼ãã®JFMã¨ä»ã®2ã¤ã®JFMã®éã«ã¯
- 表\ref{tab-difjfm}ã«ç¤ºããããªç¹çãã¹ãéããããï¼
+(\verb+min10.tfm+)ã«ç¸å½ãï¼è¡æ«ã§æåãæãããã«ããããã«ãã£ããªã©ä¸é¨ã®æåå¹
ãå¤ãã£
+ ã¦ããï¼\verb+min10.tfm+ ã«ã¤ãã¦ã¯\cite{min10}ã詳ããï¼
%
\end{description}
-
%<*en>
-\item[jfmvar=] Sometimes there is a need that \ldots.
+The difference among these three~JFMs is shown in Table~\ref{tab-difjfm}.
%
%<*ja>
-\item[jfmvar=] æ¨æºã§ã¯ï¼JFMã¨ãµã¤ãºãåãã§ï¼
- å®ãã©ã³ãã ããç°ãªã2ã¤ã®åæãã©ã³ãã¯ãåºå¥ãããªããï¼ä¾ãã°
-ä¸ã®ä¾ã«ããã¦ï¼æåã®ãï¼ãã¨ãããã®å®ãã©ã³ãã¯ç°ãªããï¼
-JFMããµã¤ãºãåããªã®ã§ï¼æ®éã«ãï¼ããã¨å
¥åããæã¨åãããã«åè§ç©ºãã¨ãªãï¼
-
-ãããï¼æã«ã¯â¦â¦
-
+ããã3ã¤ã®JFMã®éãã¯è¡¨\ref{tab-difjfm}ã«ç¤ºããï¼è¡¨ä¸ã®æä¾ã®ä¸é¨ã«ã¯ï¼
+\cite{min10}ã®å³3,~4ã®ãã®ãç¨ããï¼
%
+
+\begin{figure}
\begin{LTXexample}[width=0.3\textwidth]
\ltjsetparameter{differentjfm=both}
\jfont\F=file:KozMinPr6N-Regular.otf:jfm=ujis
\jfont\G=file:KozGoPr6N-Medium.otf:jfm=ujis
\jfont\H=file:KozGoPr6N-Medium.otf:jfm=ujis;jfmvar=hoge
-
\F ï¼{\G ãã}ï¼ % halfwidth space
ï¼{\H ãã}ï¼ % fullwidth space
+ã»ãï¼{\G ãã»ãã}ï¼ã»ãï¼\par
+ã»ãï¼{\H ãã»ãã}ï¼ã»ãï¼% pTeX-like
+
\ltjsetparameter{differentjfm=paverage}
\end{LTXexample}
-\end{list}
-
-\begin{table}[t]
-%\caption{Differences between JFMs shipped with \LuaTeX-ja}
-%\caption{\LuaTeX-ja ã«å梱ããã¦ãã JFM ã®éã}
-\label{tab-difjfm}
-\ltjsetparameter{jacharrange={+3}}
-\centering\small
-\def\r#1{{\jfont\g=file:KozMinPr6N-Regular.otf:jfm=#1 at 14.43324pt \g
-\setbox0=\vtop{\hsize=7\zw\noindent âââââââ
-ããæ¥ã¢ã¢ã¡ãããã使ãã§è¿·åã«ãªã£ã¦æ³£ãã¾ããï¼}\copy0
-\vrule height 0pt depth \dp0}}
-\def\s#1{{\jfont\g=file:KozMinPr6N-Regular.otf:jfm=#1 at 14.43324pt \g
-\setbox0=\vtop{\hsize=7\zw\noindent ã¡ãã£ã¨ï¼ä½}\copy0}}
-\def\t#1{{\jfont\g=file:KozMinPr6N-Regular.otf:jfm=#1 at 19.24432pt \g
-\setbox0=\hbox{æ¼¢}%
-\vrule width 0.4pt height\ht0 depth\dp0\kern-.2pt\copy0
-\kern-\wd0\vrule width\wd0height .2pt depth .2pt
-\kern-\wd0\raise\ht0\hbox{\vrule width\wd0height .2pt depth .2pt}%
-\kern-\wd0\lower\dp0\hbox{\vrule width\wd0height .2pt depth .2pt}%
-\kern-.2pt\vrule width 0.4pt height\ht0 depth \dp0}}
-\begin{tabular}{rccc}
-\toprule
-&\tt jfm-ujis.lua&\tt jfm-jis.lua&\tt jfm-min.lua\\
-\midrule
-%Example~1\cite{min10}
-%ä¾1\cite{min10}
-&\r{ujis}&\r{jis}&\r{min}\\
-%Example~2
-%ä¾2
-&\s{ujis}&\s{jis}&\s{min}\\
-Bounding Box&\t{ujis}&\t{jis}&\t{min}\\
-\bottomrule
-\end{tabular}
-\ltjsetparameter{jacharrange={-3}}
-\end{table}
+\caption{Example of \texttt{jfmvar} key}
+\label{fig:jfmvar}
+\end{figure}
-%\paragraph{Note: kern feature}
-%\paragraph{注æï¼kern feature}
-\label{para-kern}
-%<*en>
-Some fonts have information for inter-glyph spacing. However, this
-information is not well-compatible with \LuaTeX-ja. More concretely,
-this kerning space from this information are inserted \emph{before} the
-insertion process of \textbf{JAglue}, and this causes incorrect spacing
-between two characters when both a glue/kern from the data in the font
-and it from JFM are present.
-%
-%<*ja>
-ããã¤ãã®ãã©ã³ãã¯ã°ãªãéã®ã¹ãã¼ã¹ã«ã¤ãã¦ã®æ
å ±ãæã£ã¦ããï¼ãããï¼
-ãã®æ
å ±ã¯\LuaTeX-ja ã¨ã¯ãã¾ãç¸æ§ããããªãï¼å
·ä½çã«ã¯ï¼ãã®æ
å ±ã«åºã¥ãã¦æ¿å
¥
-ãããã«ã¼ãã³ã°ã¹ãã¼ã¹ã¯\textbf{JAglue}ã®æ¿å
¥éç¨ã®\textbf{åã«}æ¿å
¥ããï¼
-JFMã«åºã¥ãã°ã«ã¼ï¼ã«ã¼ã³ãæ¿å
¥ãããå ´åã«ã¯2æåéã®æå³ããªãã¹ãã¼ã¹ã®åå ã¨
-ãªãï¼
-%
-\begin{itemize}
%<*en>
-\item You should specify \texttt{-kern} in
- \verb+jfont+ when you want to use other font features,
- such as \texttt{script=...}\,.
+\item[jfmvar=]
+Sometimes there is a need that \ldots.
%
%<*ja>
-\item \texttt{script=...}ã¨ãã£ãfeatureã使ãããå ´åã«ã¯ï¼\verb+\jfont+
- ã«\texttt{-kern}ãæå®ããã¹ãã§ããï¼
+\item[jfmvar=]
+æ¨æºã§ã¯ï¼JFMã¨ãµã¤ãºãåãã§ï¼
+ å®ãã©ã³ãã ããç°ãªã2ã¤ã®åæãã©ã³ãã¯ãåºå¥ãããªããï¼ä¾ãã°
+å³\ref{fig:jfmvar}ã«ããã¦ï¼æåã®ãï¼ãã¨ãããã®å®ãã©ã³ãã¯ç°ãªããï¼
+JFMããµã¤ãºãåããªã®ã§ï¼æ®éã«ãï¼ããã¨å
¥åããæã¨åãããã«åè§ç©ºãã¨ãªãï¼
+
+ãããï¼JFMã¨ãµã¤ãºãåãã§ãã£ã¦ãï¼\texttt{jfmvar} ãã¼ã®ç°ãªã
+2ã¤ã®åæãã©ã³ãï¼ä¾ãã°å³\ref{fig:jfmvar}ã§è¨ã \cs{F} 㨠\cs{H}ï¼
+ã¯ãåºå¥ããããï¼ç°ãªãåæãã©ã³ãã«ç°ãªã \texttt{jfmvar} ãã¼ãå²ãå½ã¦ï¼
+ãã¤\Param{differentjfm}ãã©ã¡ã¼ã¿ã \texttt{both} ã«è¨å®ããã°ï¼
+\pTeX ã¨ä¼¼ãç¶æ³ã§çµçããããã¨ã«ãªãï¼
%
+\end{cslist}
+
+\begin{figure}
+\begin{LTXexample}[pos=t]
+\newcommand\test{\vrule ãã¤ãããã¯ãã¤ã¯ã\vrule\\}
+\jfont\KMFW = KozMinPr6N-Regular:jfm=prop;-kern at 17pt
+\jfont\KMFK = KozMinPr6N-Regular:jfm=prop at 17pt % kern is activated
+\jfont\KMPW = KozMinPr6N-Regular:jfm=prop;script=dflt;+pwid;-kern at 17pt
+\jfont\KMPK = KozMinPr6N-Regular:jfm=prop;script=dflt;+pwid;+kern at 17pt
+\begin{multicols}{2}
+\ltjsetparameter{kanjiskip=0pt}
+{\KMFW\test \KMFK\test \KMPW\test \KMPK\test}
+
+\ltjsetparameter{kanjiskip=3pt}
+{\KMFW\test \KMFK\test \KMPW\test \KMPK\test}
+\end{multicols}
+\end{LTXexample}
+\caption{Kerning information and \Param{kanjiskip}}
+\label{fig:kern-jfm}
+\end{figure}
+
+%\paragraph{Using kerning information in a font}
+%\paragraph{ãã¢ã«ã¼ãã³ã°æ
å ±ã®ä½¿ç¨}
+\label{para-kern}
%<*en>
-\item If you want to use Japanese fonts in proportional width, and use
- information from this font, use \texttt{jfm-prop.lua} for its JFM, and\,\ldots.
+Some fonts have information for inter-glyph spacing.
+This version of \LuaTeX-ja treats kerning spaces like an italic correction;
+any glue and/or kern from the JFM and a kerning space can coexist.
+See Figure~\ref{fig:kern-jfm} for detail.
+
+Note that in \cs{setmainjfont} etc.\ which are provided by \Pkg{luatexja-fontspec}
+package, kerning option is set \emph{off} (\texttt{Kerning=Off}) by default,
+because of the compatibility with previous versions of \LuaTeX-ja.
%
%<*ja>
-\item ãããããã¼ã·ã§ãã«å¹
ã®åæãã©ã³ãããã®ãã©ã³ãã®æ
å ±ã«åºã¥ãã¦ä½¿ããã
- ãªãã°ï¼\texttt{jfm-prop.lua}ãJFMã¨ãã¦æå®ãï¼â¦â¦
-%
-TODO: kanjiskip?
+ããã¤ãã®ãã©ã³ãã¯ã°ãªãéã®ã¹ãã¼ã¹ã«ã¤ãã¦ã®æ
å ±ãæã£ã¦ããï¼
+ãã®ã«ã¼ãã³ã°æ
å ±ã¯ä»¥åã®\LuaTeX-ja ã¨ã¯ãã¾ãç¸æ§ãè¯ããªãã£ããï¼
+æ¬ãã¼ã¸ã§ã³ã§ã¯ã«ã¼ãã³ã°ã«ãã空ç½ã¯ã¤ã¿ãªãã¯è£æ£ã¨åæ§ã«æ±ããã¨ã«ãªã£ã¦ããï¼
+ã¤ã¾ãï¼ã«ã¼ãã³ã°ç±æ¥ã®ç©ºç½ã¨JFMç±æ¥ã®ã°ã«ã¼ã»ã«ã¼ã³ã¯åæã«å
¥ãããï¼
+å³\ref{fig:kern-jfm}ãåç
§ï¼
+\begin{itemize}
+ \item \emph{\cs{jfont} ãï¼
+NFSS2ç¨ã®å½ä»¤ï¼\ref{ssec-chgfnt}ç¯ï¼\ref{ssec-nfsspat}ç¯ï¼ã«ãããæå®ã§ã¯
+ã«ã¼ãã³ã°æ
å ±ã¯æ¨æºã§ä½¿ç¨ãã}ãã¨ã«ãªã£ã¦ããããã§ããï¼
+è¨ãæããã°ï¼ã«ã¼ãã³ã°æ
å ±ã使ç¨ããªãè¨å®ã«ããã«ã¯ï¼é¢åã§ã
+\begin{lstlisting}
+\jfont\hoge=KozMinPr6N-Regular:jfm=ujis;-kern at 3.5mm
+\DeclareFontShape{JY3}{fuga}{m}{n} {<-> s*KozMinPr6N-Regular:jfm=ujis;-kern}{}
+\end{lstlisting}
+ã®ããã«ï¼\texttt{-kern} ã¨ããæå®ãèªåã§è¿½å ããªããã°ãããªãï¼
+ \item
+ä¸æ¹ï¼\emph{\Pkg{luatexja-fontspec} ã®æä¾ãã \cs{setmainjfont}\
+ãªã©ã®å½ä»¤ã®æ¨æºè¨å®ã§ã¯ã«ã¼ãã³ã°æ
å ±ã¯ä½¿ç¨ããªã}ï¼\texttt{Kerning=Off}ï¼
+ãã¨ã«ãªã£ã¦ããï¼ããã¯ä»¥åã®ãã¼ã¸ã§ã³ã®\LuaTeX-jaã¨ã®äºææ§ã®ããã§ããï¼
\end{itemize}
-
+%
%<*ja>
\paragraph{\texttt{extend}ã¨\texttt{slant}}
@@ -2492,7 +3825,7 @@ OpenType font featureã¨è¦ããä¸åããããªå½¢å¼ã§æå®ã§ããã
\begin{description}
\item[\texttt{extend=}] 横æ¹åã«åæ¡å¤§ããï¼
\item[\texttt{slant=}] ã«æå®ãããå²åã ãå¾ããï¼
-\end{description}
+\end{description}
ã®2ã¤ãããï¼
\texttt{extend}ã\texttt{slant}ãæå®ããå ´åã¯ï¼ããã«å¿ããJFMãæå®ãã¹ãã§ãã%
\footnote{\LuaTeX-jaã§ã¯ï¼ãããã«å¯¾ããJFMãç¹ã«æä¾ãããã¨ã¯ããªãäºå®ã§ããï¼}ï¼
@@ -2502,50 +3835,163 @@ OpenType font featureã¨è¦ããä¸åããããªå½¢å¼ã§æå®ã§ããã
%<*en>
\paragraph{\texttt{extend} and \texttt{slant}}
The following setting can be specified as OpenType font features:
-\begin{description}
+\begin{cslist}[style=standard]
\item[\texttt{extend=}] expand the font horizontally by .
\item[\texttt{slant=}] slant the font.
-\end{description}
+\end{cslist}
Note that \LuaTeX-ja doesn't adjust JFMs by these \texttt{extend} and \texttt{slant}
-settings; you have to write new JFMs on purpose.
+settings; you have to write new JFMs on purpose.
For example, the following example uses the standard JFM \texttt{jfm-ujis.lua}, hence
letter-spacing and the width of italic correction are not correct:
%
\begin{LTXexample}[width=0.3\textwidth]
-\jfont\E=file:KozMinPr6N-Regular.otf:extend=1.5;jfm=ujis
+\jfont\E=KozMinPr6N-Regular:extend=1.5;jfm=ujis;-kern
\E ããããã
-\jfont\S=file:KozMinPr6N-Regular.otf:slant=1;jfm=ujis
+\jfont\S=KozMinPr6N-Regular:slant=1;jfm=ujis;-kern
\S ããã\/ABC
\end{LTXexample}
+%<*ja>
+\paragraph{\texttt{ltjksp} æå®}
+\label{pg:ltjksp}
+\LuaTeX-jaæ¨æºã§ã¯ï¼
+JFMä¸ã«ããã \texttt{kanjiskip\_natural}, \texttt{kanjiskip\_stretch},\
+\texttt{kanjiskip\_shrink}ãã¼ï¼\pageref{pg:ksp_nat}ãã¼ã¸ï¼ã®ä½¿ç¨ã«ãã£ã¦ï¼
+ãJFMç±æ¥ã®ã°ã«ã¼ã®ä»ã«ï¼\Param{kanjiskip}ã®èªç¶é·/伸ã³é/縮ã¿éã®ä¸é¨ã
+åãå ´æã«æ¿å
¥ããããã¨ããç¶æ³ãèµ·ããããï¼
+ãã®æ©è½ãç¡å¹åãï¼20150922.0ç以åã¨åããããªçµçãå¾ãããã«ã¯
+ä»ã®OpenTypeæ©è½ã¨åãããã«\ \texttt{-ltjksp}\ æå®ãè¡ãã°è¯ãï¼
+\begin{LTXexample}[width=16\zw]
+\leavevmode
+\ltjsetparameter{kanjiskip=0pt plus 3\zw}
+\vrule\hbox to 15\zw{ãããããï¼ãã}\vrule
+
+\jfont\G=file:KozMinPr6N-Regular.otf%
+ :jfm=ujis;-ltjksp at 9.2487pt
+\G\leavevmode%
+\vrule\hbox to 15\zw{ãããããï¼ãã}\vrule
+\end{LTXexample}
+ãªãï¼
+\begin{lstlisting}
+ \jfont\G=file:KozMinPr6N-Regular.otf:jfm=ujis;-ltjksp;+ltjksp at 9.2487pt
+\end{lstlisting}
+ã®ããã« \texttt{+ltjksp} æå®ãè¡ã£ãå ´åã¯ï¼\texttt{kanjiskip\_natural} ãªã©
+3ãã¼ã¯åã³æå¹åãããï¼\texttt{-ltjksp}, \texttt{+ltjksp} ãè¤æ°åæå®ããå ´åã¯ï¼
+æå¾ã«æå®ãããã®ãæå¹ã¨ãªãï¼
+%
+
+
+%\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}
%<*en>
Besides ``\texttt{file:}''\ and ``\texttt{name:}''\ prefixes which
-are introduced in the \Pkg{luaotfload} package,
-\LuaTeX-ja adds ``\texttt{psft:}''\ prefix in \verb+\jfont+ (and~\verb+\font+),
+are introduced in the \Pkg{luaotfload} package,
+\LuaTeX-ja adds ``\texttt{psft:}''\ prefix in \cs{jfont} (and~\cs{font}),
to specify a ``name-only'' Japanese font which
-will not be embedded to PDF. Typical use of this prefix is to specify
-standard, non-embedded Japanese fonts, namely, ``Ryumin-Light'' and
-``GothicBBB-Medium''.
+will not be embedded to PDF.
+Note that these non-embedded fonts under current \LuaTeX\ has Identity-H encoding,
+and this violates the standard ISO32000-1:2008~(\cite{pdfstd}).
-\emph{OpenType font features, such as ``{\tt +jp90}'',
-have no meaning in name-only fonts using this ``{\tt psft:}''\ prefix.
-This is because we can't expect what fonts are actually used by the PDF reader.}
+\emph{OpenType font features, such as ``{\tt +jp90}'',
+have no meaning in name-only fonts using ``{\tt psft:}''\ prefix,
+because we can't expect what fonts are actually used by the PDF reader.}
Note that \texttt{extend}~and~\texttt{slant} settings (see~above) are supported
with \texttt{psft} prefix, because they are only simple linear transformations.
%
%<*ja>
\Pkg{luaotfload}ã§ä½¿ç¨å¯è½ã«ãªã£ã
\texttt{file:}\ 㨠\texttt{name:}\ ã®ããªãã£ãã¯ã¹ã«å ãã¦ï¼
-\verb+\jfont+ï¼ã¨ \verb+\font+ ããªããã£ãï¼ã§ã¯
+\cs{jfont}ï¼ã¨ \cs{font} ããªããã£ãï¼ã§ã¯
\texttt{psft:}ããªãã£ãã¯ã¹ãç¨ãããã¨ãã§ããï¼
ãã®ããªãã£ãã¯ã¹ãç¨ãããã¨ã§ï¼PDFã«ã¯åãè¾¼ã¾ããªããååã ãã®ã
-åæãã©ã³ããæå®ãããã¨ãã§ããï¼ãæ¨æºçãªãéåãè¾¼ã¿åæãã©ã³ãï¼
-ã¤ã¾ããRyumin-LightããGothicBBB-Mediumãã®æå®ã§ãã®ããªãã£ãã¯ã¹ã使ãããï¼
+åæãã©ã³ããæå®ãããã¨ãã§ããï¼
+ãªãï¼ç¾è¡ã®\LuaTeX ã§éåãè¾¼ã¿ãã©ã³ããä½æããã¨PDFå
ã§ã®ã¨ã³ã³ã¼ãã£ã³ã°ã
+Identity-Hã¨ãªãï¼PDFã®æ¨æºè¦æ ¼ISO32000-1:2008~(\cite{pdfstd})ã«éæºæ ã«ãªã£ã¦ãã¾ã
+ã®ã§æ³¨æãã¦ã»ããï¼
\emph{\texttt{psft} ããªãã£ãã¯ã¹ã®ä¸ã§ã¯
\texttt{+jp90} ãªã©ã®OpenType font featureã®å¹åã¯ãªãï¼
@@ -2621,14 +4067,14 @@ Please contact the LuaTeX-ja project team.
?
\end{lstlisting}
-%\subsection{Structure of JFM file}
+%\subsection{Structure of a JFM file}
%\subsection{JFMãã¡ã¤ã«ã®æ§é }
\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
@@ -2642,44 +4088,57 @@ floating-point numbers in design-size unit.
注æããï¼
%
-\begin{list}{}{\def\makelabel{\ttfamily}\def\{{\char`\{}\def\}{\char`\}}\advance\leftmargin1\zw}
+\begin{cslist}[style=standard]
\item[dir=]
%(required)
%ï¼å¿
é ï¼
-%The direction of JFM. At the present, only \texttt{'yoko'} is supported.
-%JFMã®æ¸åæ¹åï¼ç¾æç¹ã§ã¯æ¨ªæ¸ã(\texttt{'yoko'})ã®ã¿ããµãã¼ããããï¼
+%<*en>
+The direction of JFM. \texttt{'yoko'}~(horizontal)
+or \texttt{'tate'}~(vertical) are supported.
+%
+%<*ja>
+JFMã®æ¸åæ¹åï¼\texttt{'yoko'}ï¼æ¨ªçµï¼ã¨ \texttt{'tate'}ï¼ç¸¦çµï¼ããµãã¼ããããï¼
+%
\item[zw=]
%(required)
%ï¼å¿
é ï¼
%The amount of the length of the ``full-width''.
-%ãå
¨è§å¹
ãã®é·ãï¼
+%<*ja>
+ãå
¨è§å¹
ãã®é·ãï¼ãã®éã \cs{zw} ã®é·ãã¨ãªãï¼\pTeX ã§ã¯
+ãå
¨è§å¹
ã\texttt{1zw} ã¯ãæåã¯ã©ã¹0ã®æåãã®å¹
ã¨æ±ºãããã¦ãããï¼
+\LuaTeX-jaã§ã¯ããã§æå®ããï¼
+%
\item[zh=]
%(required)
%ï¼å¿
é ï¼
-%The amount of the ``full-height'' (height + depth).
-%ãå
¨è§é«ãã(height + depth)ã®é·ãï¼é常ã¯å
¨è§å¹
ã¨åãé·ãã«ãªãã ããï¼
+%The amount of the ``full-height'' (height + depth).
+%<*ja>
+ãå
¨è§é«ãã(height + depth)ã®é·ãï¼é常ã¯å
¨è§å¹
ã¨åãé·ãã«ãªãã ããï¼
+\pTeX ã§ã¯ ãå
¨è§é«ãã\texttt{1zh} ã¯ãæåã¯ã©ã¹0ã®æåãã®é«ãã¨æ·±ãã®åã¨æ±ºãããã¦ãããï¼
+\LuaTeX-jaã§ã¯ããã§æå®ããï¼
+%
\item[kanjiskip=\{, , \}]
%(optional)
%ï¼ä»»æï¼
%<*en>
-This field specifies the ``ideal'' amount of \Param{\hyperlink{fld:kanjiskip}{kanjiskip}}. As noted
+This field specifies the ``ideal'' amount of \Param{kanjiskip}. As noted
in Subsection~\ref{subs-kskip}, if the parameter
- \Param{\hyperlink{fld:kanjiskip}{kanjiskip}} is \verb+\maxdimen+, the value specified
+ \Param{kanjiskip} is \cs{maxdimen}, the value specified
in this field is actually used (if this field is not specified in
JFM, it is regarded as 0\,pt). Note that and
fields are in design-size unit too.
%
%<*ja>
-çæ³çãª\Param{\hyperlink{fld:kanjiskip}{kanjiskip}}ã®éãæå®ããï¼\ref{subs-kskip}ç¯ã§è¿°ã¹ãããã«ï¼
-ãã\Param{\hyperlink{fld:kanjiskip}{kanjiskip}}ã \verb+\maxdimen+ ã®å¤ãªãã°ï¼ãã®ãã£ã¼ã«ãã§æå®ããã
+çæ³çãª\Param{kanjiskip}ã®éãæå®ããï¼\ref{subs-kskip}ç¯ã§è¿°ã¹ãããã«ï¼
+ãã\Param{kanjiskip}ã \cs{maxdimen} ã®å¤ãªãã°ï¼ãã®ãã£ã¼ã«ãã§æå®ããã
å¤ãå®éã«ã¯ç¨ããããï¼æå®ãªãã¯0\,ptã¨ãã¦æ±ãããï¼ï¼ã¨ã®ãã£ã¼ã«ããdesign-size
ãåä½ã§ãããã¨ã«æ³¨æããï¼
%
@@ -2690,13 +4149,13 @@ This field specifies the ``ideal'' amount of \Param{\hyperlink{fld:kanjiskip}{ka
%<*en>
Like the \texttt{kanjiskip} field, this field specifies the ``ideal''
- amount of \Param{\hyperlink{fld:xks}{xkanjiskip}}.
+ amount of \Param{xkanjiskip}.
%
%<*ja>
-\texttt{kanjiskip}ãã£ã¼ã«ãã¨åæ§ã«ï¼\Param{\hyperlink{fld:xks}{xkanjiskip}}ã®çæ³çãªéã
+\texttt{kanjiskip}ãã£ã¼ã«ãã¨åæ§ã«ï¼\Param{xkanjiskip}ã®çæ³çãªéã
æå®ããï¼
%
-\end{list}
+\end{cslist}
%<*en>
\paragraph{Character classes}
@@ -2716,7 +4175,7 @@ the following fields:
ï¼ãã®ã¤ã³ããã¯ã¹ã$i$ã§è¡¨ããï¼ã¯ä»¥ä¸ã®ãã£ã¼ã«ããæã¤ï¼
%
-\begin{list}{}{\def\makelabel{\ttfamily}\def\{{\char`\{}\def\}{\char`\}}\advance\leftmargin1\zw}
+\begin{cslist}[style=standard]
\item[chars=\{, ...\}]
%(required except character class~0)
%ï¼æåã¯ã©ã¹0ãé¤ãã¦å¿
é ï¼
@@ -2752,17 +4211,49 @@ This field is a list of characters which are in this character
%ï¼å¿
é ï¼
%<*en>
-Specifythe width of characters in character class~$i$, the height, the depth and
-the amount of italic correction. All characters in character class~$i$ are regarded that its width, height and depth are
-as values of these fields.
-But there is one exception: if \texttt{'prop'} is specified in \texttt{width} field, width of a character becomes that of its ``real'' glyph.
-%
-%<*ja>
-æåã¯ã©ã¹$i$ã«å±ããæåã®å¹
ï¼é«ãï¼æ·±ãï¼ã¤ã¿ãªãã¯è£æ£ã®éãæå®ããï¼
-æåã¯ã©ã¹$i$ã«å±ããå
¨ã¦ã®æåã¯ï¼ãã®å¹
ï¼é«ãï¼æ·±ãããã®ãã£ã¼ã«ãã§æå®ãã
-å¤ã§ãããã®ã¨ãã¦æ±ãããï¼
-ãããï¼ä¾å¤ãä¸ã¤ããï¼ãã \texttt{'prop'} ã \texttt{width} ãã£ã¼ã«ãã«
-æå®ãããå ´åï¼æåã®å¹
ã¯ãã®ãå®éã®ãã°ãªãã®å¹
ã¨ãªãï¼
+\begin{table}[t]
+ \centering
+\begin{tabular}{llr}
+\toprule
+Direction of JFM&\textbf{\texttt{'yoko'} (horizontal)}&\multicolumn{1}{l}{\textbf{\texttt{'tate'} (vertical)}}\\
+\midrule
+\texttt{width} field&the width of the ``real'' glyph&1.0~(full-width)\\
+\texttt{height} field&the height of the ``real'' glyph&0.5~(half-width)\\
+\texttt{depth} field&the depth of the ``real'' glyph&0.5~(half-width)\\
+\midrule
+\texttt{italic} field&\multicolumn{2}{c}{0.0}\\
+\bottomrule
+\end{tabular}
+\caption{Default values of \texttt{width} field and other fields}
+\label{tab-wid}
+\end{table}
+Specify the width of characters in character class~$i$, the height, the depth and
+the amount of italic correction. All characters in character class~$i$ are regarded that its width, height, and depth are
+as values of these fields. The default values are shown in Table~\ref{tab-wid}.
+%
+%<*ja>
+\begin{table}[t]
+ \centering
+\begin{tabular}{llr}
+\toprule
+JFMæ¸åæ¹å&\emph{\texttt{'yoko'}ï¼æ¨ªçµï¼}&\multicolumn{1}{l}{\emph{\texttt{'tate'}ï¼ç¸¦çµï¼}}\\
+\midrule
+\texttt{width}&ãå®éã®ã°ãªããã®å¹
&1.0ï¼å
¨è§ï¼\\
+\texttt{height}&ãå®éã®ã°ãªããã®é«ã&0.5ï¼äºåï¼\\
+\texttt{depth}&ãå®éã®ã°ãªããã®æ·±ã&0.5ï¼äºåï¼\\
+\midrule
+\texttt{italic}&\multicolumn{2}{c}{0.0}\\
+\bottomrule
+\end{tabular}
+\caption{\texttt{width} ãã£ã¼ã«ãçã®æ¨æºå¤}
+\label{tab-wid}
+\end{table}
+æåã¯ã©ã¹$i$ã«å±ããæåã®å¹
ï¼é«ãï¼æ·±ãï¼ã¤ã¿ãªãã¯è£æ£ã®éãæå®ããï¼
+æåã¯ã©ã¹$i$ã«å±ããå
¨ã¦ã®æåã¯ï¼ãã®å¹
ï¼é«ãï¼æ·±ãããã®ãã£ã¼ã«ãã§æå®ãã
+å¤ã§ãããã®ã¨ãã¦æ±ãããï¼çç¥æãï¼æ°ã§ãªãå¤ãæå®ããæã«ã¯è¡¨\nobreak\ref{tab-wid}ã«
+ 示ããã¦ããå¤ãç¨ããï¼ä¾ãã°ï¼æ¨ªçµç¨JFM㧠\texttt{width} ãã£ã¼ã«ãã«ã¯æ°å¤ä»¥å¤ã®å¤ãæ
+ å®ããå ´åï¼æåã®å¹
ã¯ãã®ãå®éã®ãã°ãªãã®å¹
ã¨ãªãï¼OpenTypeã® \texttt{prop} featureã¨ä½µç¨
+ ããã°ï¼ããã«ãã£ã¦ãããã¼ã·ã§ãã«çµãè¡ããã¨ãã§ããï¼
%
\item[left=, down=, align=]\
@@ -2770,19 +4261,21 @@ But there is one exception: if \texttt{'prop'} is specified in \texttt{width} fi
%<*en>
These fields are for adjusting the position of the ``real'' glyph. Legal
values of \texttt{align} field are \texttt{'left'},
- \texttt{'middle'} and \texttt{'right'}. If one of these
+ \texttt{'middle'}, and \texttt{'right'}. If one of these
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 Figure~\ref{fig-pos}.
+The effects of these 3~fields are indicated in
+Figures \ref{fig-pos}~and~\ref{fig-pos-tate}.
%
%<*ja>
ãããã®ãã£ã¼ã«ãã¯å®éã®ã°ãªãã®ä½ç½®ã調æ´ããããã«ããï¼
-\texttt{align}ãã£ã¼ã«ãã«æå®ã§ããå¤ã¯\texttt{'left'}, \texttt{'middle'},
-\texttt{'right'}ã®ããããã§ããï¼ããããã3ã¤ã®ãã£ã¼ã«ãã®ãã¡ã®1ã¤ãçããã
-å ´åï¼\texttt{left}ã¨\texttt{down}ã¯0ï¼\texttt{align}ãã£ã¼ã«ãã¯
-\texttt{'left'}ã§ãããã®ã¨ãã¦æ±ãããï¼
-ããã3ã¤ã®ãã£ã¼ã«ãã®æå³ã«ã¤ãã¦ã¯å³\ref{fig-pos}ã§èª¬æããï¼
+\texttt{align} ãã£ã¼ã«ãã«æå®ã§ããå¤ã¯ \texttt{'left'}, \texttt{'middle'},
+\texttt{'right'} ã®ããããã§ããï¼ããããã3ã¤ã®ãã£ã¼ã«ãã®ãã¡ã®1ã¤ãçããã
+å ´åï¼\texttt{left} 㨠\texttt{down} ã¯0ï¼\texttt{align} ãã£ã¼ã«ãã¯
+\ \texttt{'left'} ã§ãããã®ã¨ãã¦æ±ãããï¼
+ããã3ã¤ã®ãã£ã¼ã«ãã®æå³ã«ã¤ãã¦ã¯å³\ref{fig-pos}ï¼æ¨ªçµç¨åæãã©ã³ãï¼ï¼
+å³\ref{fig-pos-tate}ï¼ç¸¦çµç¨åæãã©ã³ãï¼ã§èª¬æããï¼
%
%<*en>
@@ -2803,10 +4296,10 @@ when the current character class is the class for opening delimiters'.
\begin{minipage}{0.4\textwidth}%
\begin{center}\unitlength=10pt\small
\begin{picture}(15,12)(-1,-4)
-\color{black!10!white}% real glyph :step1
+\color{b_gray}% jfm
\put(0,0){\vrule width 12\unitlength height 8\unitlength depth 3\unitlength}
-\color{red!20!white}% real glyph :step1
+\color{b_pink}% step1
\put(-1,-1.5){\vrule width 6\unitlength height 7\unitlength depth 2.5\unitlength}
\color{red}% real glyph
@@ -2816,10 +4309,10 @@ when the current character class is the class for opening delimiters'.
\put(-1,5.5){\line(1,0){6}}
\put(-1,-4){\line(1,0){6}}
-\color{green!20!white}% real glyph :step1
+\color{b_green}% real glyph
\put(3,0){\vrule width 6\unitlength height 7\unitlength depth 2.5\unitlength}
-\color{black}% real glyph :step1
+\color{black}% jfm
\thicklines
\put(0,0){\vector(0,1){8}\line(0,-1){3}\vector(1,0){12}}
\put(12,0){\line(0,1){8}\vector(0,-1){3}}
@@ -2829,7 +4322,7 @@ when the current character class is the class for opening delimiters'.
\put(12.2,-1.5){\makebox(0,0)[l]{\texttt{depth}}}
\put(6,0.2){\makebox(0,0)[b]{\texttt{width}}}
-\color{green!50!black}% real glyph :step1
+\color{green}% step1
\thicklines
\put(3,0){\vector(0,1){7}\vector(0,-1){2.5}\vector(1,0){6}}
\put(9,0){\line(0,1){7}\line(0,-1){2.5}}
@@ -2854,31 +4347,32 @@ when the current character class is the class for opening delimiters'.
\end{minipage}%
\begin{minipage}{0.6\textwidth}%
%<*en>
-Consider a node containing Japanese character whose value of the \texttt{align}
+Consider a Japanese character node which belongs to
+a character class whose the \texttt{align}
field is \texttt{'middle'}.
%
%<*ja>
-\texttt{align}ãã£ã¼ã«ãã®å¤ã\texttt{'middle'}ã§ããåææåãå«ããã¼ãã
-èãããï¼
+\texttt{align}ãã£ã¼ã«ãã®å¤ã \texttt{'middle'} ã§ãããããªæåã¯ã©ã¹ã«å±ãã
+åææåãã¼ããèãããï¼
%
\begin{itemize}
\item
%<*en>
-The black rectangle is a frame of the node.
-Its width, height and depth are specified by JFM.
+The black rectangle is the imaginary body of the node.
+Its width, height, and depth are specified by JFM.
%
%<*ja>
-é»è²ã®é·æ¹å½¢ã¯ãã¼ãã®æ ã§ããï¼
-ãã®å¹
ï¼é«ãï¼æ·±ãã¯JFMã«ãã£ã¦æå®ãããï¼
+é»è²ã®é·æ¹å½¢ã¯ãã¼ãã®æ ã§ããï¼
+ãã®å¹
ï¼é«ãï¼æ·±ãã¯JFMã«ãã£ã¦æå®ããã¦ããï¼
%
\item
%<*en>
Since the \texttt{align} field is \texttt{'middle'},
-the ``real'' glyph is centered horizontally (the green rectangle).
+the ``real'' glyph is centered horizontally (the green rectangle) first.
%
%<*ja>
-\texttt{align}ãã£ã¼ã«ãã¯\texttt{middle}ãªã®ã§ï¼å®éã®ã°ãªãã¯
-æ°´å¹³æ¹åã®ä¸å¿ã«é
ç½®ãããï¼ç·è²ã®é·æ¹å½¢ï¼ï¼
+\texttt{align}ãã£ã¼ã«ã㯠\texttt{'middle'} ãªã®ã§ï¼
+å®éã®ã°ãªãã®ä½ç½®ã¯ã¾ãæ°´å¹³æ¹åã«ä¸å¤®æããããã®ã¨ãªãï¼ç·è²ã®é·æ¹å½¢ï¼ï¼
%
\item
%<*en>
@@ -2887,7 +4381,7 @@ Furthermore, the glyph is shifted according to values of fields
glyph is indicated by the red rectangle.
%
%<*ja>
-ããã«ï¼ã°ãªãã¯\texttt{left}ã¨\texttt{down}ã®å¤ã«å¾ã£ã¦ã·ãããããï¼
+ããã«ï¼ã°ãªã㯠\texttt{left} 㨠\texttt{down} ã®å¤ã«å¾ã£ã¦ã·ãããããï¼
æçµçãªå®éã®ã°ãªãã®ä½ç½®ã¯èµ¤è²ã®é·æ¹å½¢ã§ç¤ºãããä½ç½®ã«ãªãï¼
%
\end{itemize}
@@ -2895,123 +4389,307 @@ Furthermore, the glyph is shifted according to values of fields
\medskip
\caption{%
-%The position of the real glyph.
-%ãå®éã®ãã°ãªãã®ä½ç½®ï¼
+%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}
-\item[kern={\{[$j$]=, [$j'$]=\{, []\}, ...\}}]
+\color{b_pink}% real glyph
+\put(-6.5,5.5){\vrule width 8\unitlength height 6\unitlength depth 3\unitlength}
-\item[glue={\{[$j$]=\{, , , [], []\}, ...\}}]
-%<*ja>
-æåã¯ã©ã¹$i$ã®æåã¨$j$ã®æåã®éã«æ¿å
¥ãããkernãglueã®éãæå®ããï¼
+\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}}
- 㯠\Pkg{luatexja-adjust} ã«ããåªå
é ä½ä»ã
- è¡é·èª¿æ´ï¼\ref{ssec-adj}ç¯ï¼ãæå¹ãªã¨ãã®ã¿æå³ãæã¤ï¼
-ãã®ãã£ã¼ã«ãã¯çç¥å¯è½ã§ããï¼è¡èª¿æ´å¦çã«ããããã®glueã®åªå
- 度ã$-2$ãã$+2$ã®éã®æ´æ°ã§æå®ããï¼ã®çç¥æã®å¤
- ã¯0ã§ããï¼ç¯å²å¤ã®å¤ãæå®ãããã¨ãã®åä½ã¯æªå®ç¾©ã§ããï¼
+\color{b_green}% step1
+\put(-4,3){\vrule width 8\unitlength height 6\unitlength depth 3\unitlength}
-ãçç¥å¯è½ãã£ã¼ã«ãã§ããï¼$-1$ãã$+1$ã®å®æ°å¤ãã¨ãï¼çç¥æã®å¤ã¯0ã§ããï¼
+\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 $-1$ã¯ãã®ã°ã«ã¼ããåã®æåãç±æ¥ã§ãããã¨ã示ãï¼
-\item $+1$ã¯ãã®ã°ã«ã¼ããå¾ã®æåãç±æ¥ã§ãããã¨ã示ãï¼
-\item ãã以å¤ã®å¤ã¯ï¼ãåã®æåãç±æ¥ã®ã°ã«ã¼ã¨ãå¾ã®æåãç±æ¥ã®
-ã°ã«ã¼ãæ··åããã¦ãããã¨ã示ãï¼
+\item
+å®éã®ã°ãªãã®ãåç´ä½ç½®ãã¯ï¼ã¾ããã¼ã¹ã©ã¤ã³ãæåã®ç©ççãªå·¦å³æ¹åã®ä¸å¤®ãéã
+ä½ç½®ã¨ãªãï¼
+\item
+ã¾ãï¼ãã®å ´å \texttt{align} ãã£ã¼ã«ã㯠\texttt{'right'} ãªã®ã§ï¼
+ãæ°´å¹³ä½ç½®ãã¯åéãæ¹åã«ãå³å¯ãããããã®ã¨ãªãï¼ç·è²ã®é·æ¹å½¢ï¼ï¼
+\item
+ãã®å¾ããã« \texttt{left} 㨠\texttt{down} ã®å¤ã«å¾ã£ã¦ã·ããããã
+ã®ã¯æ¨ªçµç¨åæãã©ã³ãã¨å¤ãããªãï¼
\end{itemize}
-ãªãï¼ãã®ãã£ã¼ã«ãã®å¤ã¯\Param{\hyperlink{fld:diffjfm}{differentjfm}}ã®å¤ã
+%
+\end{minipage}
+\medskip
+
+\caption{%
+%The position of the real glyph (vertical Japanese fonts)
+%縦çµåæãã©ã³ãã«ããããå®éã®ãã°ãªãã®ä½ç½®
+}
+\label{fig-pos-tate}
+\end{figure}
+
+\item[kern={\{[$j$]=, [$j'$]=\{, [ratio=]\}, ...\}}]
+\nopagebreak
+\item[glue={\{[$j$]=\{, , , [ratio=, ...]\}, ...\}}]\leavevmode
+%<*ja>
+
+æåã¯ã©ã¹$i$ã®æåã¨$j$ã®æåã®éã«æ¿å
¥ãããã«ã¼ã³ãã°ã«ã¼ã®éãæå®ããï¼
+
+ã¯ï¼ã°ã«ã¼ã®èªç¶é·ã®ãã¡ã©ãã ãã®å²åããå¾ã®æåãç±æ¥ãã示ãéã§ï¼
+$0$ãã$+1$ã®å®æ°å¤ãã¨ãï¼çç¥æã®å¤ã¯$0.5$ã§ããï¼
+ãã®ãã£ã¼ã«ãã®å¤ã¯\Param{differentjfm}ã®å¤ã
\texttt{pleft},~\texttt{pright},~\texttt{paverage}ã®å¤ã®ã¨ãã®ã¿å®éã«ç¨ããããï¼
ä¾ãã°ï¼\cite{x4051}ã§ã¯ï¼å¥ç¹ã¨ä¸ç¹ã®éã«ã¯ï¼
å¥ç¹ç±æ¥ã®äºå空ãã¨ä¸ç¹ç±æ¥ã®åå空ããæ¿å
¥ããããï¼ãã®å ´åã«ã¯
\begin{itemize}
\item ã«ã¯$0.5+0.25=0.75$ãæå®ããï¼
-\item ã«ã¯æ¬¡ã®å¤ãæå®ããï¼
-\[
- -1\cdot \frac{0.5}{0.5+0.25} + 1 \cdot \frac{0.25}{0.5+0.25} = -\frac13
-\]
+\item ã«ã¯$0.25/(0.5+0.25)=1/3$ãæå®ããï¼
\end{itemize}
%
%<*en>
-Specifies the width of kern or glue which will be inserted
+\
+
+Specifies the amount of kern or glue which will be inserted
between characters in character class~$i$ and those in character class~$j$.
- is an integer in $[-2,2]$ (treated as 0 if omitted), and this is
+ specifies how much the glue is originated in the ``right'' character.
+It is a real number between 0 and 1, and treated as 0.5 if omitted. For example,
+The width of a glue between an ideographic full stop ``ã''
+and a fullwidth middle dot ``ã»'' is three-fourth of fullwidth,
+namely halfwidth from the ideographic full stop, and
+quarter-width from the fullwidth middle dot. In this case,
+we specify to $0.25/(0.5+0.25)=1/3$.
+%
+
+%<*ja>
+ã°ã«ã¼ã®æå®ã«ããã¦ã¯ï¼ä¸è¨ã«å ãã¦å \texttt{[$j$]} ã®åãµããã¼ãã«å
ã«
+次ã®ãã¼ãæå®ã§ããï¼
+\begin{cslist}[style=standard]
+\item[priority=]
+ \Pkg{luatexja-adjust} ã«ããåªå
é ä½ä»ã
+ è¡é·èª¿æ´ï¼\ref{ssec-adj}ç¯ï¼ã®éã«ä½¿ãããå¤ã§ããï¼
+è¡èª¿æ´å¦çã«ããããã®glueã®åªå
+ 度ã$-2$ãã$+2$ã®éã®æ´æ°ã§æå®ããï¼å¤§ããå¤ã»ã©ã伸ã³ãããï¼ç¸®ã¿ãããã
+ ãã¨ãæå³ããï¼çç¥æã®å¤
+ ã¯0ã§ããï¼ç¯å²å¤ã®å¤ãæå®ãããã¨ãã®åä½ã¯æªå®ç¾©ã§ããï¼
+\item[kanjiskip\_natural=\textrm{, }%
+ kanjiskip\_stretch=\textrm{, }kanjiskip\_shrink=]\leavevmode
+ \label{pg:ksp_nat}
+
+JFMã«ãã£ã¦æ¬æ¥æ¿å
¥ãããã°ã«ã¼ã®ä»ã«
+\Param{kanjiskip}åã®ç©ºç½ãèªç¶é·(\texttt{kanjiskip\_natural})ï¼ä¼¸ã³é(\texttt{kanjiskip\_stretch})ï¼
+縮ã¿é(\texttt{kanjiskip\_shrink})ãã¨ã«æ¿å
¥ãã\footnote{æ¬æ¥\Param{xkanjiskip}ãæ¿å
¥ãããå ´æã«ããã¦ã¯
+ \Param{xkanjiskip}åã®ç©ºç½ãèªç¶é·ã»ä¼¸ã³éã»ç¸®ã¿éãã¨ã«ï¼è¿½å ã§ããï¼}%
+ããã®æå®ã§ããï¼ããããçç¥ãããå ´åã®ããã©ã«ãå¤ã¯0ï¼è¿½å ããªãï¼ã§ããï¼
+
+ä¾ãã°ï¼\LuaTeX-jaã®æ¨ªçµæ¨æºJFMã® \texttt{jfm-ujis.lua} ã§ã¯ï¼
+\begin{itemize}
+ \item é常ã®æåãããã¨éãæ¬å¼§é¡ã®éã«å
¥ãã°ã«ã¼ã¯ï¼èªç¶é·ã»ç¸®ã¿éåè§ï¼ä¼¸ã³é0ã®ã°ã«ã¼
+ã¨ãªã£ã¦ãããï¼ããã«\Param{kanjiskip}ã®ä¼¸ã³éã« \texttt{kanjiskip\_stretch}ï¼ããã§ã¯1ï¼ãæã
+ ãåã ã伸ã³ããã¨ã許ãããï¼
+ \item åæ§ã«ï¼éãæ¬å¼§é¡ï¼å
¨è§ã³ã³ããï¼ããå«ãï¼ã¨é常ã®æåããããããã®éã«ã
+èªç¶é·ã»ç¸®ã¿éåè§ï¼ä¼¸ã³é0ã®ã°ã«ã¼
+ã¨ãªã£ã¦ãããï¼ããã«\Param{kanjiskip}ã®ä¼¸ã³éã« \texttt{kanjiskip\_stretch}ï¼ããã§ã¯1ï¼ãæã
+ ãåã ã伸ã³ããã¨ã許ãããï¼
+\end{itemize}
+ã¨ãªã£ã¦ããï¼å¾ã£ã¦ï¼ä»¥ä¸ã®ãããªçµççµæãå¾ãï¼
+
+\medskip
+\begin{LTXexample}[width=16\zw]
+\leavevmode
+\ltjsetparameter{kanjiskip=0pt plus 3\zw}
+\vrule\hbox to 15\zw{ãããããï¼ãã}\vrule
+\end{LTXexample}
+
+\end{cslist}
+%
+%<*en>
+In case of glue, one can specify following additional keys in each \texttt{[$j$]}
+ subtable:
+\begin{cslist}[style=standard]
+\item[priority=]
+An integer in $[-2,2]$ (treated as 0 if omitted), and this is
used only in line adjustment with priority by \Pkg{luatexja-adjust}
-(see Subsection~\ref{ssec-adj}).
+(see Subsection~\ref{ssec-adj}). Higher value means the glue is easy to stretch,
+and is also easy to shrink.
+\item[kanjiskip\_natural=\textrm{, }%
+ kanjiskip\_stretch=\textrm{, }kanjiskip\_shrink=]\leavevmode
- is \dots
-%
+These keys specifies the amount of the natural width of \Param{kanjiskip}
+(the stretch/shrink part, respectively) which will be inserted
+in addition to the original JFM glue. Default values of them are all 0.
+
+As an example, in \texttt{jfm-ujis.lua}, the standard JFM in horizontal writing, we have
+\begin{itemize}
+ \item Between an ordinal letter ``ã'' and an ideographic opening bracket, we have
+a glue whose natural part and shrink part are both half-width, while its stretch part is
+ zero. However, this glue also can be stretched
+ as much as the stretch part of \Param{kanjiskip} times the value of
+ \texttt{kanjiskip\_stretch} key (1 in this case).
+ \item Between an ideographic closeing brackets (the ideographic comma ``ï¼''
+ is included) and an ordinal letter, we have the same glue.
+ Again, this glue also can be stretched
+ as much as the stretch part of \Param{kanjiskip} times the value of
+ \texttt{kanjiskip\_stretch} key (1 in this case).
+\end{itemize}
+Hence we have the following result:
+
+\medskip
+\begin{LTXexample}[width=16\zw]
+\leavevmode
+\ltjsetparameter{kanjiskip=0pt plus 3\zw}
+\vrule\hbox to 15\zw{ãããããï¼ãã}\vrule
+\end{LTXexample}
+\end{cslist}
+%
-\item[end\_stretch=]
-\item[end\_shrink=]
+\item[end\_stretch=, end\_shrink=]
%<*ja>
-ãããã®ãã£ã¼ã«ãã¯çç¥å¯è½ã§ããï¼
+ï¼ä»»æï¼
+
åªå
é ä½ä»ãè¡é·èª¿æ´ãæå¹ã§ããï¼ãã¤ç¾å¨ã®æåã¯ã©ã¹ã®æåãè¡
æ«ã«æ¥ãæã«ï¼è¡é·ãè©°ãã調æ´ã»ä¼¸ã°ã調æ´ã®ã
ãã«ãã®æåã¨è¡æ«ã®éã«æ¿å
¥å¯è½ãªã«ã¼ã³ã®å¤§ãããæå®ããï¼
%
-\end{list}
+\end{cslist}
%<*ja>
\paragraph{æåã¯ã©ã¹ã®æ±ºå®}
-æåãããã®æåã®å±ããæåã¯ã©ã¹ãç®åºããéç¨ã¯å°ã
è¤éã§ããï¼
-次ã®å
容ãä¸é¨ã«å«ãã \texttt{jfm-test.lua} ãç¨ãã¦èª¬æããï¼
+æåãããã®æåã®å±ããæåã¯ã©ã¹ãç®åºããéç¨ã«ã¤ãã¦ï¼
+次ã®å
容ãå«ãã \texttt{jfm-test.lua} ãç¨ãã¦èª¬æããï¼
+%
+%<*en>
+\paragraph{Character to character classes}
+We explain how the character class of a character is determined,
+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}
-ã§ã¯ï¼å
¨è§äºå(15.0\,pt)ã¨ãªãã®ãèªç¶â¦â¦ã¨æããããããªããï¼ä¸ã®å®è¡çµæã§ã¯20\,ptã¨ãªã£ã¦ããï¼
-ããã¯ä»¥ä¸ã®äºæ
ã«ãããã®ã§ããï¼
+%<*en>
+Now we look why the above source outputs 15\,pt.
+\begin{enumerate}
+\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 generally determined \emph{after
+applying font features by \Pkg{luaotfload}}.
+%
+%<*ja>
+ä¸è¨ã®åºåçµæãï¼15\,ptã¨ãªã£ã¦ããã®ã¯çç±ã«ãããã®ã§ããï¼
\begin{enumerate}
-\item \verb+vert+ featureã«ãã£ã¦å¥ç¹ã縦æ¸ãç¨ã®ã°ãªãã¨ç½®ãæããï¼\Pkg{luaotfload} ã«ããå¦çï¼ï¼
-\item ããããã®ã°ãªãã¯ãæåã³ã¼ãã\texttt{U+F0000}以éã¨ã¿ãªããã¦ãã
-ï¼å®éã«ãããã«ãªããã¯ï¼ãã©ã³ãã«ãã£ã¦ç°ãªãï¼ï¼
-\item ãã£ã¦ï¼æåã¯ã©ã¹0ã¨ã¿ãªãããããï¼çµæã¨ãã¦ãããã®å¹
ã¯å
¨è§ã ã¨èªèããã¦ãã¾ãï¼
+\item \verb+hwid+ featureã«ãã£ã¦ããããåè§å¹
ã®ã°ãªããï¾ãã¨ç½®ãæããï¼\Pkg{luaotfload} ã«ããå¦çï¼ï¼
+\item JFMã«ããã°ï¼ãã®ãï¾ãã®ã°ãªãã®æåã¯ã©ã¹ã¯2000ã§ããï¼
+\item 以ä¸ã«ããæåã¯ã©ã¹2000ã¨ã¿ãªãããããï¼çµæã¨ãã¦ãï¾ãã®å¹
ã¯åè§ã ã¨èªèãããï¼
\end{enumerate}
+ãã®ä¾ã¯ï¼\emph{æåã¯ã©ã¹ã®æ±ºå®ã¯font featureã®é©ç¨ã«ããã°ãªãç½®æã®çµæã«åºã¥ã}ãã¨ã
+示ãã¦ããï¼
+%
-ä¸æ¹ï¼ã\texttt{'ã*'}ãã®ããã«ã¢ã¹ã¿ãªã¹ã¯ã¤ãã®æå®ãããã¨ï¼
-ç¶æ³ã¯ç°ãªã£ã¦ããï¼
+%<*en>
+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>
+ä½ãï¼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 full stop ``ã''~(\texttt{U+3002}) is determined
+as follows:
\begin{enumerate}
-\item ã¨ããããå¥ç¹ã®æã¨åãããã«ï¼\Pkg{luaotfload} ã«ãã£ã¦ç¸¦æ¸ãç¨èªç¹ã®ã°ãªãã«ç½®ãæããï¼
-\item ç½®æå¾ã®ã°ãªãã®ãæåã³ã¼ããã¯\texttt{U+F0000}以éã§ããï¼
-ãã®ã¾ã¾ã§ã¯æåã¯ã©ã¹ã¯0ã¨å¤å®ãããï¼
-\item ã¨ãããï¼JFMã«ã¯ã\texttt{'ã*'}ãæå®ãããã®ã§ï¼ç½®æåã®æ¨ªæ¸ãç¨èªç¹ã®ã°ãªãããã(\texttt{U+3001})ã«ãã£ã¦æåã¯ã©ã¹ãå¤å®ããï¼
-\item çµæã¨ãã¦ï¼ä¸ã®åºåä¾ä¸ã®èªç¹ã®æåã¯ã©ã¹ã¯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+3002})ã®æåã¯ã©ã¹ã¯ï¼ä»¥ä¸ã®ããã«ãã¦æ±ºã¾ãï¼
+\begin{enumerate}
+\item \Pkg{luaotfload} ã«ãã£ã¦ç¸¦çµç¨å¥ç¹ã®ã°ãªãã«ç½®ãæããï¼
+\item ç½®æå¾ã®ã°ãªã㯠\texttt{U+FE12} ã§ããï¼JFMã«å¾ãã°æåã¯ã©ã¹ã¯\emph{0}ã¨å¤å®ãããï¼
+\item ãã®å ´åï¼ç½®æåã®æ¨ªçµç¨å¥ç¹ã®ã°ãªãã«ãã£ã¦æåã¯ã©ã¹ãå¤å®ããï¼
+\item çµæã¨ãã¦ï¼ä¸ã®åºåä¾ä¸ã®å¥ç¹ã®æåã¯ã©ã¹ã¯2000ã¨ãªãï¼
\end{enumerate}
-
-ãªãï¼ç½®æå¾ã®ã°ãªãã§å¤å®ããæåã¯ã©ã¹ã®å¤ã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}
%<*en>
@@ -3028,27 +4706,27 @@ The following is the list of imaginary characters:
ãçµç調æ´ãã§ããããã«ãªã£ã¦ããï¼ä»¥ä¸ã§ãã®ä¸è¦§ãè¿°ã¹ãï¼
%
-\begin{list}{}{\def\makelabel{\ttfamily}\def\{{\char`\{}\def\}{\char`\}}\advance\leftmargin1\zw}
+\begin{cslist}
%%\item['diffmet']
%%Used at a boundary between two \textbf{JAchar}s whose JFM or size is different.
%%JFMããµã¤ãºãç°ãªã2ã¤ã®\textbf{JAchar}ã®éã®å¢çã¨ãã¦ç¨ããããï¼
\item['boxbdd']
-%The beginning/ending of a horizontal box, and the beginning of a noindented paragraph.
-%æ°´å¹³ããã¯ã¹ã®å
é ã¨æ«å°¾ï¼åã³ã¤ã³ãã³ãããã¦ããªãï¼\verb+\noindent+ ã§éå§ãããï¼æ®µè½ã®å
é ã表ãï¼
+%The beginning/ending of a hbox, and the beginning of a noindented (i.e., began by \cs{noindent}) paragraph.
+%hboxã®å
é ã¨æ«å°¾ï¼åã³ã¤ã³ãã³ãããã¦ããªãï¼\cs{noindent} ã§éå§ãããï¼æ®µè½ã®å
é ã表ãï¼
\item['parbdd']
%The beginning of an (indented) paragraph.
-%é常ã®ï¼\verb+\noindent+ ã§éå§ããã¦ããªãï¼æ®µè½ã®å
é ï¼
+%é常ã®ï¼\cs{noindent} ã§éå§ããã¦ããªãï¼æ®µè½ã®å
é ï¼
\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.
%è¡ä¸æ°å¼ã¨å°ã®æã¨ã®å¢çï¼
-\end{list}
+\end{cslist}
%\paragraph{Porting JFM from \pTeX}
%\paragraph{\pTeX ç¨åæç¨TFMã®ç§»æ¤}
@@ -3056,7 +4734,7 @@ The following is the list of imaginary characters:
% ToDo: English version.
%<*en>
-\ldots
+See Japanese version of this manual.
%
%<*ja>
@@ -3069,9 +4747,9 @@ The following is the list of imaginary characters:
\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ä¸ã«åã«æ¸ããªããã°ããï¼ï¼
@@ -3079,21 +4757,21 @@ The following is the list of imaginary characters:
æåã¯ã©ã¹ã«é¢ãã¦ã¯ã°ã«ã¼ï¼ã«ã¼ã³ã®è¨å®ã¯ããªãï¼
ããã¯ï¼\pTeX ã§ã¯ï¼
- æ°´å¹³ããã¯ã¹ã®å
é ã»æ«å°¾ã¨ã¤ã³ãã³ãããã¦ããªãï¼\verb+\noindent+ ã§éå§ã
+ hboxã®å
é ã»æ«å°¾ã¨ã¤ã³ãã³ãããã¦ããªãï¼\cs{noindent} ã§éå§ã
ããï¼æ®µè½ã®å
é ã«ã¯JFMã°ã«ã¼ã¯å
¥ããªãã¨ããä»æ§ãå®ç¾ãããããã§ããï¼
\item \pTeX ã®çµçãåç¾ããããã¨ããã®ãç®çã§ããã°ä»¥ä¸ã®æ³¨æãå®ãã°ååã§ããï¼
ã¨ããã§ï¼\pTeX ã§ã¯é常ã®æ®µè½ã®å
é ã«JFMã°ã«ã¼ãæ®ãã¨ããä»æ§ãããã®ã§ï¼
段è½å
é ã®éãæ¬å¼§ã¯å
¨è§äºåä¸ããã«ãªãï¼å
¨è§ä¸ãããå®ç¾ãããã«
- ã¯ï¼æ®µè½ã®æåã«æå㧠\verb+\inhibitglue+ ã追å ãããï¼ãããã¯
- \ \verb+\everypar+ ã®ããã¯ãè¡ãï¼ãããèªååããããããªãã£ãï¼
+ ã¯ï¼æ®µè½ã®æåã«æå㧠\cs{inhibitglue} ã追å ãããï¼ãããã¯
+ \ \cs{everypar} ã®ããã¯ãè¡ãï¼ãããèªååããããããªãã£ãï¼
ä¸æ¹ï¼\LuaTeX-jaã§ã¯ï¼\texttt{'parbdd'}ã«ãã£ã¦ï¼ãããJFMå´ã§èª¿æ´ã§ããã
ãã«ãªã£ãï¼ä¾ãã°ï¼\LuaTeX-jaå梱ã®JFMã®ããã«ï¼\texttt{'boxbdd'}ã¨åãæåã¯ã©ã¹ã«
\texttt{'parbdd'}ãå
¥ããã°å
¨è§ä¸ããã¨ãªãï¼
\begin{LTXexample}[width=0.4\textwidth]
-\jfont\g=file:KozMinPr6N-Regular.otf:jfm=test \g
+\jfont\g=KozMinPr6N-Regular:jfm=test \g
\parindent1\zw\noindent{}âââââ
\par ãâââäºåä¸ãã
\par ãâââå
¨è§ä¸ãã
@@ -3101,15 +4779,15 @@ The following is the list of imaginary characters:
\end{LTXexample}
\end{itemize}
-ä½ãï¼\verb+\everypar+ ãå©ç¨ãã¦ããå ´åã«ã¯ãã®ä»çµã¿ã¯æ£ããåããªãï¼
-ãã®ãããªä¾ã¨ãã¦ã¯ç®æ¡æ¸ãä¸ã® \verb+\item+ ã§å§ã¾ã段è½ãããï¼\Pkg{ltjsclasses}ã§ã¯
+ä½ãï¼\cs{everypar} ãå©ç¨ãã¦ããå ´åã«ã¯ãã®ä»çµã¿ã¯æ£ããåããªãï¼
+ãã®ãããªä¾ã¨ãã¦ã¯ç®æ¡æ¸ãä¸ã® \cs{item} ã§å§ã¾ã段è½ãããï¼\Pkg{ltjsclasses}ã§ã¯
人工çã«ã\texttt{'parbdd'}ã®æå³ãæã¤ãwhatsitãã¼ããä½ããã¨ã«ãã£ã¦å¯¾å¦ãã¦ãã%
\footnote{\texttt{ltjsclasses.dtx} ãåç
§ããããï¼
JFMå´ã§ä¸é¨ã®å¯¾å¦ãã§ãããã¨ã«ããï¼\Pkg{jsclasses}ã®ããã«ifæã®å¤å®ã¯ãã¦ããªãï¼}ï¼
%
-%\subsection{Math Font Family}
+%\subsection{Math font family}
%\subsection{æ°å¼ãã©ã³ããã¡ããª}
\label{ssec-math}
@@ -3118,34 +4796,41 @@ JFMå´ã§ä¸é¨ã®å¯¾å¦ãã§ãããã¨ã«ããï¼\Pkg{jsclasses}ã®ãã
Aleph, \LuaTeX~and $\varepsilon$-\kern-.125em(u)\pTeX\ can handles 256~families, but
an external package is needed to support this in plain \TeX\ and
\LaTeX.}, and each family has three fonts:
-\verb+\textfont+, \verb+\scriptfont+ and \verb+\scriptscriptfont+.
+\cs{textfont}, \cs{scriptfont} and \cs{scriptscriptfont}.
%
%<*ja>
\TeX\ ã¯æ°å¼ãã©ã³ãã16ã®ãã¡ããª\footnote{Omega, Aleph, \LuaTeXï¼ããã¦
$\varepsilon$-\kern-.125em(u)\pTeX\ ã§ã¯256ã®æ°å¼ãã¡ããªãæ±ããã¨ãã§ãããï¼
ããããµãã¼ãããããã«plain \TeX ã¨\LaTeX ã§ã¯å¤é¨ããã±ã¼ã¸ãèªã¿è¾¼ãå¿
è¦ã
ããï¼}ã§ç®¡çãï¼ããããã®ãã¡ããªã¯3ã¤ã®ãã©ã³ããæã£ã¦ããï¼
-\verb+\textfont+, \verb+\scriptfont+ ãã㦠\verb+\scriptscriptfont+ ã§ãã.
+\cs{textfont}, \cs{scriptfont} ãã㦠\cs{scriptscriptfont} ã§ãã.
%
%<*en>
\LuaTeX-ja's handling of Japanese fonts in math formulas is similar;
Table~\ref{tab-math} shows counterparts to \TeX's primitives for math
font families. There is no relation between the value of
-\verb+\fam+ and that of \verb+\jfam+; with appropriate settings,
-you can set both \verb+\fam+ and \verb+\jfam+ to the same value.
+\cs{fam} and that of \cs{jfam}; with appropriate settings,
+you can set both \cs{fam} and \cs{jfam} to the same value.
+Here in the argument of \Param{jatextfont} etc.\ is
+a control sequence which is defined by \cs{jfont}, i.e.,
+a \emph{horizontal} Japanese font.
%
%<*ja>
\LuaTeX-jaã®æ°å¼ä¸ã§ã®åæãã©ã³ãã®æ±ããåæ§ã§ããï¼
表\ref{tab-math}ã¯æ°å¼ãã©ã³ããã¡ããªã«å¯¾ãã \TeX ã®ããªããã£ãã¨å¯¾å¿ãã
-ãã®ã示ãã¦ããï¼\verb+\fam+ 㨠\verb+\jfam+ ã®å¤ã®éã«ã¯é¢ä¿ã¯ãªãï¼
-é©åãªè¨å®ã®ä¸ã§ã¯ \verb+\fam+ 㨠\verb+\jfam+ ã®ä¸¡æ¹ã«åãå¤ãè¨å®ãããã¨ãã§ããï¼
+ãã®ã示ãã¦ããï¼\cs{fam} 㨠\cs{jfam} ã®å¤ã®éã«ã¯é¢ä¿ã¯ãªãï¼
+é©åãªè¨å®ã®ä¸ã§ã¯ \cs{fam} 㨠\cs{jfam} ã®ä¸¡æ¹ã«åãå¤ãè¨å®ãããã¨ãã§ããï¼
+\Param{jatextfont} ä»ã®ç¬¬2å¼æ°ã¯ï¼\cs{jfont} ã§å®ç¾©ããã
+\emph{横çµç¨}åæãã©ã³ãã§ããï¼\cs{tfont} ã§å®ç¾©ããã
+\emph{縦çµç¨}åæãã©ã³ããæå®ãããã¨ã¯æ³å®ãã¦ããªãï¼
%
\begin{table}[!tb]
-%\caption{Control sequences for Japanese math fonts}
+%\caption{Commands for Japanese math fonts}
%\caption{åææ°å¼ãã©ã³ãã«å¯¾ããå½ä»¤}
\label{tab-math}
+%\medskip
\centering
\def\{{\char`\{}\def\}{\char`\}}\small
\begin{tabular}{ll}
@@ -3153,10 +4838,10 @@ you can set both \verb+\fam+ and \verb+\jfam+ to the same value.
%\bf Japanese fonts&\bf alphabetic fonts\\
%\bf åæãã©ã³ã&\bf 欧æãã©ã³ã\\
\midrule
-\verb+\jfam+${}\in [0,256)$&\verb+\fam+\\
-\tt\Param{jatextfont}\,=\{,\}&\tt\verb+\textfont+=\\
-\tt\Param{jascriptfont}\,=\{,\}&\tt\verb+\scriptfont+=\\
-\tt\Param{jascriptscriptfont}\,=\{,\}&\tt\verb+\scriptscriptfont+=\\
+\cs{jfam}${}\in [0,256)$&\cs{fam}\\
+\tt\Param{jatextfont}\,=\{,\}&\tt\cs{textfont}=\\
+\tt\Param{jascriptfont}\,=\{,\}&\tt\cs{scriptfont}=\\
+\tt\Param{jascriptscriptfont}\,=\{,\}&\tt\cs{scriptscriptfont}=\\
\bottomrule
\end{tabular}
\end{table}
@@ -3165,7 +4850,7 @@ you can set both \verb+\fam+ and \verb+\jfam+ to the same value.
%\subsection{ã³ã¼ã«ããã¯}
%<*en>
-Like \LuaTeX\ itself, \LuaTeX-ja also has callbacks. These callbacks can
+\LuaTeX-ja also has several callbacks. These callbacks can
be accessed via \verb+luatexbase.add_to_callback+ function and so on, as other callbacks.
%
%<*ja>
@@ -3173,8 +4858,7 @@ be accessed via \verb+luatexbase.add_to_callback+ function and so on, as other c
ãããã®ã³ã¼ã«ããã¯ã«ã¯ï¼ä»ã®ã³ã¼ã«ããã¯ã¨åæ§ã« \verb+luatexbase.add_to_callback+
é¢æ°ãªã©ãç¨ãããã¨ã§ã¢ã¯ã»ã¹ãããã¨ãã§ããï¼
%
-\begin{list}{}%
-{\def\makelabel#1{\bfseries#1}}
+\begin{description}[font=\bfseries, style=nextline]
%\item[\texttt{luatexja.load\_jfm} callback]
%\item[\texttt{luatexja.load\_jfm}ã³ã¼ã«ããã¯]
%<*en>
@@ -3212,11 +4896,11 @@ An example of this callback is the \texttt{ltjarticle} class, with
\texttt{jfm-min.lua}ä¸ã®\texttt{'parbdd'}ãå¼·å¶çã«ã¯ã©ã¹0ã«å²ãå½ã¦ã¦ããï¼
%
-%\item[\texttt{luatexja.define\_font} callback]
-%\item[\texttt{luatexja.define\_font}ã³ã¼ã«ããã¯]
+%\item[\texttt{luatexja.define\_jfont} callback]
+%\item[\texttt{luatexja.define\_jfont}ã³ã¼ã«ããã¯]
%<*en>
-This callback and the next callback form a pair, and you can assign letters which don't have
- fixed code points in Unicode to non-zero character classes.
+This callback and the next callback form a pair, and you can assign characters
+ which do not have fixed code points in Unicode to non-zero character classes.
This \texttt{luatexja.define\_font} callback is called just when new Japanese font is loaded.
%
%<*ja>
@@ -3230,54 +4914,105 @@ function ( jfont_info, font_number)
return new_jfont_info
end
\end{lstlisting}
-
%<*en>
-You may assume that \verb+jfont_info+ has the following fields:
-%
-%<*ja>
-\verb+jfont_info+ ã¯ä»¥ä¸ã®2ãã£ã¼ã«ããæã¤ï¼
-%
+\verb+jfont_info+ has the following fields,
+\emph{which may not overwritten by a user}:
\begin{description}
-\item[\tt size\_cache]
-%<*ja>
-使ç¨ããã¦ããJFMã®æ
å ±ãæ ¼ç´ããã¦ãããã¼ãã«ã§ï¼
-\emph{ãã®ãã¼ãã«ãæ¸ãæãã¦ã¯ãªããªã}ï¼
-ä¸èº«ã¯ã»ã¼JFMãã¡ã¤ã«ã«æ¸ããã¦ããå¯ä¸ã®ãã¼ãã«ã§ãããï¼æ¬¡ã®ããã«è¥å¹²å¤ãã£ã¦ããï¼
+\item[\texttt{size}]
+The font size specified at \cs{jfont} in scaled points ($1\,\mathrm{sp}=2^{-16}\,\mathrm{pt}$).
+\item[\texttt{zw}, \texttt{zh}, \texttt{kanjiskip}, \texttt{xkanjiskip}]
+These are scaled value of those specified by the JFM, by the font size.
+\item[\texttt{jfm}]
+The internal number of the JFM.
+\item[\texttt{var}]
+The value of \texttt{jfmvar}~key, which is specified at \cs{jfont}.
+The default value is the empty string.
+\item[\texttt{chars}]
+The mapping table from character codes to its character classes.\\
+The specification \texttt{[i].chars=\{, ...\}} in the JFM will be stored in this
+ field as \texttt{chars=\{[]=\,$i$, ...\}}.
+\item[\texttt{char\_type}]
+For $i\in\omega$, \texttt{char\_type[$i$]} is information of characters whose class is
+ $i$, and has the following fields:
\begin{itemize}
-\item åæåã¯ã©ã¹$i$ã«å±ããæåéã®ãã¼ãã«\
-\texttt{[$i$].chars=\{, ...\}} ã¯ï¼ãããã¬ãã«ã«ã¾ã¨ãããï¼
-\texttt{chars=\{[]=\,$i$, ...\}} ã¨ããå½¢ã«ãªã£ã¦ããï¼
-\item \texttt{zw},~\texttt{zh}, \texttt{kanjiskip},~\texttt{xkanjiskip} ã®åãã£ã¼ã«ãã®å¤ã¯ï¼
-å®éã«ä½¿ããããã©ã³ããµã¤ãºã«åãããsp ($1\,\mathrm{sp}=2^{-16}\,\mathrm{pt}$)åä½ã®é·ãã«å¤ãã£ã¦ããï¼
-\item åæåã¯ã©ã¹$i$ã®æ
å ±ãæ ¼ç´ãããã¼ãã«ãï¼\texttt{char\_type} ãã£ã¼ã«ãã®ä¸ã«ã¾ã¨ãããã¦ããï¼
-ä¾ãã°ï¼æåã¯ã©ã¹1ã«å±ããæåã®é«ã㯠\texttt{char\_type[1].height} ã§åç
§ã§ããï¼
-\item \texttt{dir} ãã£ã¼ã«ãã¯ãã®ãã¼ãã«ã«ã¯ãªãï¼
+ \item \texttt{width},~\texttt{height}, \texttt{depth},
+ \texttt{italic}, \texttt{down},~\texttt{left}\ are just
+ scaled value of those specified by the JFM, by the font size.
+ \item \texttt{align} is a number which is determined from \texttt{align}~field in the JFM:
+\[
+ \begin{cases}
+ 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
+between character class~$i$ and class~$j$.
+
+If a kern will be inserted, the value of this field is \texttt{[$j$]=\{false, , \}},
+where is a node\footnote{%
+ This version of \LuaTeX-ja uses ``direct access
+ model'' for accessing nodes, if possible. }.
+If a glue will be inserted, we have \texttt{[$j$]=\{false, , , \}},
+where is also a node, and $\text{}=\textit{from\_jfm}+\text{}$.
\end{itemize}
-%
-%<*en>
-A table which contains the information of a JFM, and \emph{this table must not be changed}.
-The contents of this table are similar to that which is written is the JFM file, but
-the following differ:
+\end{description}
+%
+%<*ja>
+\verb+jfont_info+ ã¯æä½é以ä¸ã®ãã£ã¼ã«ããæã¤ãï¼ããããæ¸ãæãã¦ã¯ãªããªãï¼
+\begin{cslist}
+\item[size]
+å®éã«ä½¿ããããã©ã³ããµã¤ãºï¼spåä½ï¼ï¼$1\,\mathrm{sp}=2^{-16}\,\mathrm{pt}$ï¼
+\item[zw\textrm{, }zh\textrm{, }kanjiskip\textrm{, }xkanjiskip]
+JFMãã¡ã¤ã«ã§æå®ããã¦ããããããã®å¤ããã©ã³ããµã¤ãºã«åããã¦ã¹ã±ã¼ãªã³ã°ãããã®ã
+spåä½ã§æ ¼ç´ãã¦ããï¼
+\item[jfm]
+å©ç¨ããã¦ããJFMãèå¥ããããã®çªå·ï¼
+\item[var]
+\cs{jfont},~\cs{tfont} ã§æå®ããã \texttt{jfmvar} ãã¼ã®å¤ï¼æªæå®ã®ã¨ãã¯ç©ºæååï¼ï¼
+\item[chars]
+æåã³ã¼ãããæåã¯ã©ã¹ã¸ã®å¯¾å¿ãè¨è¿°ããããã¼ãã«ï¼\\
+JFMå
ã® \texttt{[i].chars=\{, ...\}} ã¨ããæå®ã¯\
+\texttt{chars=\{[]=\,$i$, ...\}} ã¨ããå½¢å¼ã«å¤æããã¦ããï¼
+\item[char\_type]
+$i\in\omega$ã«å¯¾ãã¦ï¼\texttt{char\_type[$i$]} ã¯æåã¯ã©ã¹$i$ã®æåã®å¯¸æ³ãæ ¼ç´ãã¦ããï¼
+以ä¸ã®ãã£ã¼ã«ããæã¤ï¼
\begin{itemize}
-\item There is a \texttt{chars} table, \dots
-\item The value in \texttt{zw},~\texttt{zh}, \texttt{kanjiskip},~\texttt{xkanjiskip} fields are
-now scaled by real font size, and in scaled-pont unit.
-\item ...
-\item There is no \texttt{dir} field in this table.
+ \item \texttt{width},~\texttt{height}, \texttt{depth},
+ \texttt{italic}, \texttt{down},~\texttt{left}\ ã¯
+JFMã§æå®ããã¦ããããããã®å¤ãã¹ã±ã¼ãªã³ã°ãããã®ã§ããï¼
+ \item \texttt{align} ã¯JFMã§æå®ããã¦ããå¤ã«ãã£ã¦ï¼
+\[
+ \begin{cases}
+ 0&\text{\texttt{'left'}ãçç¥æ}\\0.5&\text{\tt 'middle'}\\1&\text{\tt 'right'}
+ \end{cases}
+\]
+ã®ããããã®å¤ãã¨ãï¼
+\item $j\in \omega$ã«å¯¾ãã¦ï¼\texttt{[$j$]} ã¯æåã¯ã©ã¹$i$ã®æåã¨$j$ã®æåã®éã«æ¿å
¥ãããkern
+ ãglueãæ ¼ç´ãã¦ããï¼
+éã«å
¥ããã®ãkernã§ããã°ï¼ãã®ãã£ã¼ã«ãã®å¤ã¯\
+\texttt{[$j$]=\{false, , \}} ã§ããï¼
+ã¯kernã表ããã¼ããã®ãã®ã§ãã\footnote{%
+æ¬ãã¼ã¸ã§ã³ã§ã¯ãã¼ãã®ã¢ã¯ã»ã¹ææ³ã«direct access
+ modelãç¨ãã¦ããï¼ãã®ããï¼ä¾ãã°\LuaTeX\ beta-0.78.2ã§ã¯ï¼åãªãèªç¶æ°ã®ããã«ã
+ ãè¦ããªããã¨ã«æ³¨æï¼
+}ï¼
+glueã§ããã°ï¼\texttt{[$j$]=\{false, , , \}} ã§ããï¼
+ã¯glueã®é·ãã表ããã¼ããã®ãã®ã§ããï¼
+ $\text{}=\textit{from\_jfm}+\text{}$ã§ããï¼
\end{itemize}
-%
-
-\item[\tt var]
-%The value specified in \texttt{jfmvar=...} at a call of \verb+\jfont+.
-%\verb+\jfont+ ã®å¼ã³åºãã®éã«\texttt{jfmvar=...}ã§æå®ãããå¤ï¼
-\end{description}
+\item[ascent\textrm{, }descent]
+â¦â¦
+\item[chars\_cbcache]
+â¦â¦
+\end{cslist}
+%
%<*en>
-The returned table \verb+new_jfont_info+ also should include these two fields.
+The returned table \verb+new_jfont_info+ also should include these fields, but
+you are free to add more fields (to use them in the \texttt{luatexja.find\_char\_class} callback).
The \verb+font_number+ is a font number.
%
%<*ja>
-æ»ãå¤ã® \verb+new_jfont_info+ ãã¼ãã«ãããã2ã¤ã®ãã£ã¼ã«ããå«ã¾ãªããã°ãªããªããï¼
+æ»ãå¤ã® \verb+new_jfont_info+ ãã¼ãã«ãä¸ã«è¿°ã¹ããã£ã¼ã«ãããã®ã¾ã¾å«ã¾ãªããã°ãªããªããï¼
ãã以å¤ã«ã¦ã¼ã¶ãåæã«ãã£ã¼ã«ããä»ãå ãããã¨ã¯èªç±ã§ããï¼
\verb+font_number+ ã¯ãã©ã³ãçªå·ã§ããï¼
%
@@ -3344,7 +5079,7 @@ This callback is called when \LuaTeX-ja is trying to encapsule a
ãã®\textit{glyph\_node}ãã«ãã»ã«åãããã¨ããéã«å¼ã³åºãããï¼
%
\begin{lstlisting}[numbers=left]
-function ( shift_info, jfont_info, char_class)
+function ( shift_info, jfont_info, char_type)
return new_shift_info
end
\end{lstlisting}
@@ -3352,12 +5087,12 @@ end
%<*en>
The argument \verb+shift_info+ and the returned \verb+new_shift_info+ have
\texttt{down} and \texttt{left} fields, which are the amount of shifting
- down/left the character in a scaled-point.
+ down/left the character in a scaled point.
%
%<*ja>
å¼æ° \verb+shift_info+ ã¨æ»ãå¤ã® \verb+new_shift_info+ ã¯
\texttt{down}ã¨\texttt{left}ã®ãã£ã¼ã«ããæã¡ï¼ãããã®å¤ã¯
-æåã®ä¸ï¼å·¦ã¸ã®ã·ããéï¼ã¹ã±ã¼ã«ãã»ãã¤ã³ãåä½ï¼ã§ããï¼
+æåã®ä¸ï¼å·¦ã¸ã®ã·ããéï¼spåä½ï¼ã§ããï¼
%
%<*en>
@@ -3383,108 +5118,72 @@ Then, the position of glyphs is shifted up by
ï¼åæOpenTypeãã©ã³ãã®æ¨æºå¤ï¼
\item å®ãã©ã³ãå´ã®æ°å¤ï¼$(\hbox{é«ã})=28y$, $(\hbox{æ·±ã})=5y$ï¼åæTrueTypeãã©ã³ãã®æ¨æºå¤ï¼
\end{itemize}
-ã¨ãªã£ã¦ããã¨ããï¼ããã¨ï¼å®éã®æåã®åºåä½ç½®ã¯ï¼ä»¥ä¸ã®éã ãä¸ã«ããããããã¨ã¨ãªãï¼
+ã¨ãªã£ã¦ããã¨ããï¼ããã¨ï¼å®éã®æåã®åºåä½ç½®ã¯ï¼ä»¥ä¸ã®éã ãä¸ã«ããããããã¨ã¨ãªãï¼
%
\[
\frac{88x}{88x+12x} (28y+5y) - 28y = \frac{26}{25}y= 1.04y.
\]
-\end{list}
+\end{description}
%\section{Parameters}
%\section{ãã©ã¡ã¼ã¿}
-\subsection{\texttt{\char`\\ltjsetparameter}}
+\subsection{\cs{ltjsetparameter}}
+\label{ssec-param}
%<*en>
-As described before, \verb+\ltjsetparameter+ and \verb+\ltjgetparameter+ are
-control sequences for accessing most parameters of \LuaTeX-ja. One of the main
+As described before, \cs{ltjsetparameter} and \cs{ltjgetparameter} are
+commands for accessing most parameters of \LuaTeX-ja. One of the main
reason that \LuaTeX-ja didn't adopted the syntax similar to that of \pTeX\
(\textit{e.g.},~\verb+\prebreakpenalty`ï¼=10000+)
is the position of \verb+hpack_filter+ callback in the source
of \LuaTeX, see Section~\ref{sec-para}.
%
%<*ja>
-å
ã«è¿°ã¹ãããã«ï¼\verb+\ltjsetparameter+ 㨠\verb+\ltjgetparameter+ ã¯
-\LuaTeX-jaã®ã»ã¨ãã©ã®ãã©ã¡ã¼ã¿ã«ã¢ã¯ã»ã¹ããããã®å½ä»¤ã§ããï¼
+å
ã«è¿°ã¹ãããã«ï¼\LuaTeX-jaã®å
é¨ãã©ã¡ã¼ã¿ã«ã¢ã¯ã»ã¹ããã«ã¯
+\cs{ltjsetparameter}ï¼ã¾ã㯠\cs{ltjglobalsetparameter}ï¼ã¨ \cs{ltjgetparameter} ãç¨ããï¼
\LuaTeX-jaã\pTeX ã®ãããªææ³ï¼ä¾ãã°ï¼\verb+\prebreakpenalty`ï¼=10000+ï¼ã
æ¡ç¨ããªãçç±ã®ä¸ã¤ã¯ï¼\LuaTeX ã®ã½ã¼ã¹ã«ããã \verb+hpack_filter+
-ã³ã¼ã«ããã¯ã®ä½ç½®ã«ããï¼\ref{sec-para}ç¯ãåç
§ï¼
+ã³ã¼ã«ããã¯ã®ä½ç½®ã«ããï¼\ref{sec-para}ç« ãåç
§ï¼
%
%<*en>
-\verb+\ltjsetparameter+ and \verb+\ltjglobalsetparameter+ are control sequences
+\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
-\verb+\ltjsetparameter+ and \verb+\ltjglobalsetparameter+ is only the
+\texttt{=} list.
+The difference between these two commands is the
scope of assignment;
-\verb+\ltjsetparameter+ does a local assignment and
-\verb+\ltjglobalsetparameter+ does a global one.
-They also obey the value of \verb+\globaldefs+,
-like other assignment.
+\cs{ltjsetparameter} does a local assignment and
+\cs{ltjglobalsetparameter} does a global one.
+They also obey the value of \cs{globaldefs}, like other assignments.
%
%<*ja>
-\verb+\ltjsetparameter+ 㨠\verb+\ltjglobalsetparameter+ ã¯ãã©ã¡ã¼ã¿ã
-æå®ããããã®å½ä»¤ã§ããï¼ãããã¯\texttt{=}ã®ãªã¹ãã
-å¼æ°ã¨ãã¦ã¨ãï¼è¨±ããããã¼ã®ä¸è¦§ã¯æ¬¡ã®ç¯ã«ããï¼
-\verb+\ltjsetparameter+ 㨠\verb+\ltjglobalsetparameter+ ã®éãã¯ã¹ã³ã¼ãã®
-éãã®ã¿ã§ï¼
-\verb+\ltjsetparameter+ ã¯ãã¼ã«ã«ãªæå®ï¼\verb+\ltjglobalsetparameter+ ã¯
-ã°ãã¼ãã«ãªæå®ãè¡ãï¼
-ãããã¯ä»ã®ãã©ã¡ã¼ã¿æå®ã¨åæ§ã« \verb+\globaldefs+ ã®å¤ã«å¾ãï¼
+\cs{ltjsetparameter} 㨠\cs{ltjglobalsetparameter} ã¯ãã©ã¡ã¼ã¿ã
+æå®ããããã®å½ä»¤ã§ï¼\texttt{=}ã®ãªã¹ãã
+å¼æ°ã¨ãã¦ã¨ãï¼ä¸¡è
ã®éãã¯ã¹ã³ã¼ãã§ããï¼
+\cs{ltjsetparameter} ã¯ãã¼ã«ã«ãªè¨å®ãè¡ãã®ã«å¯¾ãï¼
+\cs{ltjglobalsetparameter} ã¯ã°ãã¼ãã«ãªè¨å®ãè¡ãï¼
+ã¾ãï¼ä»ã®ãã©ã¡ã¼ã¿æå®ã¨åæ§ã« \cs{globaldefs} ã®å¤ã«ãå¾ãï¼
%
%<*en>
-\verb+\ltjgetparameter+ is for acquiring parameters. It
-always takes a parameter name as first argument, and also takes the
-additional argument---a character code, for example---in some cases.
-%
-%<*ja>
-\verb+\ltjgetparameter+ ã¯ãã©ã¡ã¼ã¿ã®å¤ãåå¾ããããã®å½ä»¤ã§ããï¼
-常ã«ãã©ã¡ã¼ã¿ã®ååã第ä¸å¼æ°ã«ã¨ãï¼
-ããã¦ï¼ããã¤ãã®å ´åã«ã¯å ãã¦ããã«å¼æ°ï¼ä¾ãã°æåã³ã¼ãï¼ãã¨ãï¼
-%
-\begin{LTXexample}
-\ltjgetparameter{differentjfm},
-\ltjgetparameter{autospacing},
-\ltjgetparameter{prebreakpenalty}{`ï¼}.
-\end{LTXexample}
-%<*en>
-\emph{The return value of\/ {\normalfont\tt\char92ltjgetparameter} 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
-12~(other), while the space has 10~(space).
-%
-%<*ja>
-\emph{{\normalfont\tt\char92ltjgetparameter}ã®æ»ãå¤ã¯å¸¸ã«æååã§ããï¼}
-ããã¯\texttt{tex.write()}ã«ãã£ã¦åºåãã¦ããããã§ï¼ç©ºç½ã\texttt{\char32}ã
-(\texttt{U+0020})ãé¤ããæåã®ã«ãã´ãªã¼ã³ã¼ãã¯å
¨ã¦12~(other)ã¨ãªãï¼
-ä¸æ¹ï¼ç©ºç½ã®ã«ãã´ãªã¼ã³ã¼ãã¯10~(space)ã§ããï¼
-%
-
-%\subsection{List of Parameters}
-%\subsection{ãã©ã¡ã¼ã¿ä¸è¦§}
-\label{ssec-param}
-
-%<*en>
The following is the list of parameters which can be specified by the
-\verb+\ltjsetparameter+ command. [\verb+\cs+] indicates the counterpart
+\cs{ltjsetparameter} command. [\cs{cs}] indicates the counterpart
in \pTeX, and symbols beside each parameter has the following meaning:
%
%<*ja>
-以ä¸ã¯ \verb+\ltjsetparameter+ ã«æå®ãããã¨ãã§ãããã©ã¡ã¼ã¿ã®ä¸è¦§ã§ããï¼
-[\verb+\cs+]ã¯\pTeX ã«ããã対å¿ç©ã示ãï¼
-ã¾ãï¼ããããã®ãã©ã¡ã¼ã¿ã®å³ä¸ã«ããè¨å·ã«ã¯æ¬¡ã®æå³ãããï¼
+以ä¸ã¯ \cs{ltjsetparameter} ã«æå®ãããã¨ãã§ãããã©ã¡ã¼ã¿ã®ä¸è¦§ã§ããï¼
+[\cs{cs}]ã¯\pTeX ã«ããã対å¿ç©ã示ãï¼
+ã¾ãï¼ããããã®ãã©ã¡ã¼ã¿ã®å³ä¸ã®è¨å·ã«ã¯æ¬¡ã®æå³ãããï¼
%
\begin{itemize}
%<*en>
-\item ``\ast'' : values at the end of a paragraph or a horizontal box are
-adopted in the whole paragraph or the whole horizontal box.
+\item ``\ast'' : values at the end of a paragraph or a hbox are
+adopted in the whole paragraph or the whole hbox.
%
%<*ja>
-\item ``\ast''ï¼æ®µè½ãæ°´å¹³ããã¯ã¹ã®çµç«¯ã§ã®å¤ããã®æ®µè½ï¼æ°´å¹³ããã¯ã¹å
¨ä½ã§ç¨ããããï¼
+\item ``\ast''ï¼æ®µè½ãhboxã®çµç«¯ã§ã®å¤ããã®æ®µè½ï¼hboxå
¨ä½ã§ç¨ããããï¼
%
%<*en>
\item ``\dagger'': assignments are always global.
@@ -3494,8 +5193,9 @@ adopted in the whole paragraph or the whole horizontal box.
%
\end{itemize}
-\begin{list}{}{\def\makelabel{\ttfamily}\def\{{\char`\{}\def\}{\char`\}}\advance\leftmargin1\zw}
-\item[\Param{jcharwidowpenalty}\,=$^\ast$] [\verb+\jcharwidowpenalty+]
+\begin{cslist}[style=standard]
+\item[\DParam{jcharwidowpenalty}\,=$^\ast$] [\cs{jcharwidowpenalty}]\
+
%<*en>
Penalty value for suppressing orphans. This penalty is inserted just
after the last \textbf{JAchar} which is not regarded as a
@@ -3507,7 +5207,8 @@ Penalty value for suppressing orphans. This penalty is inserted just
æ¿å
¥ãããï¼
%
-\item[\Param{kcatcode}\,=\{,\}$^\ast$]\
+\item[\DParam{kcatcode}\,=\{,\}$^\ast$]\
+
%<*en>
An additional attributes which each character whose character code is has.
At the present version, the lowermost bit of indicates
@@ -3515,145 +5216,171 @@ At the present version, the lowermost bit of indicates
(see the description of \Param{jcharwidowpenalty} above).
%
%<*ja>
-æåã³ã¼ããã®æåãæã¤ä»å çãªå±æ§å¤(attribute)ï¼
+æåã³ã¼ããã®æåãæã¤ä»å çãªå±æ§å¤ï¼
ç¾å¨ã®ãã¼ã¸ã§ã³ã§ã¯ï¼ã®æä¸ä½ããããï¼ãã®æåãå¥èªç¹ã¨
ã¿ãªããããã©ããã表ãã¦ããï¼ä¸ã®\Param{jcharwidowpenalty}ã®è¨è¿°ãåç
§ï¼ï¼
%
-\item[\Param{\hypertarget{fld:prebp}{prebreakpenalty}}\,=\{,\}$^\ast$] [\verb+\prebreakpenalty+]\
+\item[\DParam{prebreakpenalty}\,=\{,\}$^\ast$] [\cs{prebreakpenalty}]\
+
%<*ja>
æåã³ã¼ãã®\textbf{JAchar}ãè¡é ã«ãããã¨ãææ¢ããããã«ï¼
ãã®æåã®åã«æ¿å
¥/追å ãããããã«ãã£ã®éãæå®ããï¼
ä¾ãã°éãæ¬å¼§ãããã¯çµ¶å¯¾ã«è¡é ã«ãã¦ã¯ãªããªãã®ã§ï¼
-\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}]\
-\item[\Param{\hypertarget{fld:postbp}{postbreakpenalty}}\,=\{,\}$^\ast$] [\verb+\postbreakpenalty+]
%<*ja>
æåã³ã¼ãã®\textbf{JAchar}ãè¡æ«ã«ãããã¨ãææ¢ããããã«ï¼
ãã®æåã®å¾ã«æ¿å
¥/追å ãããããã«ãã£ã®éãæå®ããï¼
-
-\pTeX ã§ã¯ï¼\verb+\prebreakpenalty+, \verb+\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 \verb+\prebreakpenalty+ and \verb+\postbreakpenalty+,
-but they don't exist in \LuaTeX-ja:
-\dots
+to prevent a line ends with this character.
%
-\item[\Param{jatextfont}\,=\{,\}$^\ast$]
-%[\verb+\textfont+ in \TeX]
-%[\TeX ã® \verb+\textfont+]
-\item[\Param{jascriptfont}\,=\{,\}$^\ast$]
-%[\verb+\scriptfont+ in \TeX]
-%[\TeX ã® \verb+\scriptfont+]
-\item[\Param{jascriptscriptfont}\,=\{,\}$^\ast$]
-%[\verb+\scriptscriptfont+ in \TeX]
-%[\TeX ã® \verb+\scriptscriptfont+]
-\item[\Param{yjabaselineshift}\,=]\
-\item[\Param{yalbaselineshift}\,=] [\verb+\ybaselineshift+]
+\item[\DParam{jatextfont}\,=\{,\}$^\ast$]
+%[\cs{textfont} in \TeX]
+%[\TeX ã® \cs{textfont}]
+\item[\DParam{jascriptfont}\,=\{,\}$^\ast$]
+%[\cs{scriptfont} in \TeX]
+%[\TeX ã® \cs{scriptfont}]
+\item[\DParam{jascriptscriptfont}\,=\{,\}$^\ast$]
+%[\cs{scriptscriptfont} in \TeX]
+%[\TeX ã® \cs{scriptscriptfont}]
+\item[\DParam{yjabaselineshift}\,=]\
+\item[\DParam{yalbaselineshift}\,=] [\cs{ybaselineshift}]
+\item[\DParam{tjabaselineshift}\,=]\
+\item[\DParam{talbaselineshift}\,=] [\cs{tbaselineshift}]
-\item[\Param{jaxspmode}\,=\{,\}$^\ast$]
+\item[\DParam{jaxspmode}\,=\{,\}$^\ast$]\
%<*en>
-Setting whether inserting \Param{\hyperlink{fld:xks}{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>
-æåã³ã¼ããã®\textbf{JAchar}ã®åï¼å¾ãã«\Param{\hyperlink{fld:xks}{xkanjiskip}}ã®
+æåã³ã¼ããã®\textbf{JAchar}ã®åï¼å¾ãã«\Param{xkanjiskip}ã®
æ¿å
¥ã許ããã©ããã®è¨å®ï¼
以ä¸ã®ã許ãããï¼
%
\begin{description}
-%\item[0, \texttt{inhibit}] Insertion of \Param{\hyperlink{fld:xks}{xkanjiskip}} is inhibited before the character, nor after the character.
-%\item[0, \texttt{inhibit}] \Param{\hyperlink{fld:xks}{xkanjiskip}}ã®æ¿å
¥ã¯æåã®åï¼å¾ãã®ãããã§ãç¦æ¢ãããï¼
-%\item[1, \texttt{preonly}] Insertion of \Param{\hyperlink{fld:xks}{xkanjiskip}} is allowed before the character, but not after.
-%\item[1, \texttt{preonly}] \Param{\hyperlink{fld:xks}{xkanjiskip}}ã®æ¿å
¥ã¯æåã®åã§ã¯è¨±ããããï¼å¾ãã§ã¯è¨±ãããªãï¼
-%\item[2, \texttt{postonly}] Insertion of \Param{\hyperlink{fld:xks}{xkanjiskip}} is allowed after the character, but not before.
-%\item[2, \texttt{postonly}] \Param{\hyperlink{fld:xks}{xkanjiskip}}ã®æ¿å
¥ã¯æåã®å¾ãã§ã¯è¨±ããããï¼åã§ã¯è¨±ãããªãï¼
-%\item[3, \texttt{allow}] Insertion of \Param{\hyperlink{fld:xks}{xkanjiskip}} is allowed both before the character and after the character. This is the default value.
-%\item[3, \texttt{allow}] \Param{\hyperlink{fld:xks}{xkanjiskip}}ã®æ¿å
¥ã¯æåã®åï¼å¾ãã®ãããã§ã許ãããï¼ãããããã©ã«ãã®å¤ã§ããï¼
+%\item[0, \texttt{inhibit}] Insertion of \Param{xkanjiskip} is inhibited before the character, nor after the character.
+%\item[0, \texttt{inhibit}] \Param{xkanjiskip}ã®æ¿å
¥ã¯æåã®åï¼å¾ãã®ãããã§ãç¦æ¢ãããï¼
+%\item[1, \texttt{preonly}] Insertion of \Param{xkanjiskip} is allowed before the character, but not after.
+%\item[1, \texttt{preonly}] \Param{xkanjiskip}ã®æ¿å
¥ã¯æåã®åã§ã¯è¨±ããããï¼å¾ãã§ã¯è¨±ãããªãï¼
+%\item[2, \texttt{postonly}] Insertion of \Param{xkanjiskip} is allowed after the character, but not before.
+%\item[2, \texttt{postonly}] \Param{xkanjiskip}ã®æ¿å
¥ã¯æåã®å¾ãã§ã¯è¨±ããããï¼åã§ã¯è¨±ãããªãï¼
+%\item[3, \texttt{allow}] Insertion of \Param{xkanjiskip} is allowed both before the character and after the character. This is the default value.
+%\item[3, \texttt{allow}] \Param{xkanjiskip}ã®æ¿å
¥ã¯æåã®åï¼å¾ãã®ãããã§ã許ãããï¼ãããããã©ã«ãã®å¤ã§ããï¼
\end{description}
%<*en>
-This parameter is similar to the \verb+\inhibitxspcode+ primitive of \pTeX, but not compatible with \verb+\inhibitxspcode+.
+This parameter is similar to the \cs{inhibitxspcode} primitive of \pTeX, but not compatible with \cs{inhibitxspcode}.
%
%<*ja>
-ãã®ãã©ã¡ã¼ã¿ã¯\pTeX ã® \verb+\inhibitxspcode+ ããªããã£ãã¨ä¼¼ã¦ãããï¼
+ãã®ãã©ã¡ã¼ã¿ã¯\pTeX ã® \cs{inhibitxspcode} ããªããã£ãã¨ä¼¼ã¦ãããï¼
äºææ§ã¯ãªãï¼
%
-\item[\Param{alxspmode}\,=\{,\}$^\ast$] [\verb+\xspcode+]
+\item[\DParam{alxspmode}\,=\{,\}$^\ast$] [\cs{xspcode}]\
%<*en>
-Setting whether inserting \Param{\hyperlink{fld:xks}{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 :
%
%<*ja>
-æåã³ã¼ããã®\textbf{ALchar}ã®åï¼å¾ãã«\Param{\hyperlink{fld:xks}{xkanjiskip}}ã®
+æåã³ã¼ããã®\textbf{ALchar}ã®åï¼å¾ãã«\Param{xkanjiskip}ã®
æ¿å
¥ã許ããã©ããã®è¨å®ï¼
以ä¸ã®ã許ãããï¼
%
\begin{description}
-%\item[0, \texttt{inhibit}] Insertion of \Param{\hyperlink{fld:xks}{xkanjiskip}} is inhibited before the character, nor after the character.
-%\item[0, \texttt{inhibit}] \Param{\hyperlink{fld:xks}{xkanjiskip}}ã®æ¿å
¥ã¯æåã®åï¼å¾ãã®ãããã§ãç¦æ¢ãããï¼
-%\item[1, \texttt{preonly}] Insertion of \Param{\hyperlink{fld:xks}{xkanjiskip}} is allowed before the character, but not after.
-%\item[1, \texttt{preonly}] \Param{\hyperlink{fld:xks}{xkanjiskip}}ã®æ¿å
¥ã¯æåã®åã§ã¯è¨±ããããï¼å¾ãã§ã¯è¨±ãããªãï¼
-%\item[2, \texttt{postonly}] Insertion of \Param{\hyperlink{fld:xks}{xkanjiskip}} is allowed after the character, but not before.
-%\item[2, \texttt{postonly}] \Param{\hyperlink{fld:xks}{xkanjiskip}}ã®æ¿å
¥ã¯æåã®å¾ãã§ã¯è¨±ããããï¼åã§ã¯è¨±ãããªãï¼
-%\item[3, \texttt{allow}] Insertion of \Param{\hyperlink{fld:xks}{xkanjiskip}} is allowed before the character and after the character. This is the default value.
-%\item[3, \texttt{allow}] \Param{\hyperlink{fld:xks}{xkanjiskip}}ã®æ¿å
¥ã¯æåã®åï¼å¾ãã®ãããã§ã許ãããï¼ãããããã©ã«ãã®å¤ã§ããï¼
+%\item[0, \texttt{inhibit}] Insertion of \Param{xkanjiskip} is inhibited before the character, nor after the character.
+%\item[0, \texttt{inhibit}] \Param{xkanjiskip}ã®æ¿å
¥ã¯æåã®åï¼å¾ãã®ãããã§ãç¦æ¢ãããï¼
+%\item[1, \texttt{preonly}] Insertion of \Param{xkanjiskip} is allowed before the character, but not after.
+%\item[1, \texttt{preonly}] \Param{xkanjiskip}ã®æ¿å
¥ã¯æåã®åã§ã¯è¨±ããããï¼å¾ãã§ã¯è¨±ãããªãï¼
+%\item[2, \texttt{postonly}] Insertion of \Param{xkanjiskip} is allowed after the character, but not before.
+%\item[2, \texttt{postonly}] \Param{xkanjiskip}ã®æ¿å
¥ã¯æåã®å¾ãã§ã¯è¨±ããããï¼åã§ã¯è¨±ãããªãï¼
+%\item[3, \texttt{allow}] Insertion of \Param{xkanjiskip} is allowed before the character and after the character. This is the default value.
+%\item[3, \texttt{allow}] \Param{xkanjiskip}ã®æ¿å
¥ã¯æåã®åï¼å¾ãã®ãããã§ã許ãããï¼ãããããã©ã«ãã®å¤ã§ããï¼
\end{description}
%<*en>
Note that parameters \Param{jaxspmode} and \Param{alxspmode} share a common table, hence these two parameters are synonyms of each other.
%
%<*ja>
\Param{jaxspmode}ã¨\Param{alxspmode}ã¯å
±éã®ãã¼ãã«ãç¨ãã¦ããããï¼
-ããã2ã¤ã®ãã©ã¡ã¼ã¿ã¯äºãã®ç°åã¨ãªã£ã¦ãããã¨ã«æ³¨æããï¼
+ããã2ã¤ã®ãã©ã¡ã¼ã¿ã¯äºãã®å¥åã¨ãªã£ã¦ãããã¨ã«æ³¨æããï¼
%
-\item[\Param{autospacing}\,=] [\verb+\autospacing+]
-\item[\Param{autoxspacing}\,=] [\verb+\autoxspacing+]
-\item[\Param{\hypertarget{fld:kanjiskip}{kanjiskip}}\,=$^\ast$] [\verb+\kanjiskip+]
+\item[\DParam{autospacing}\,=] [\cs{autospacing}]
+\item[\DParam{autoxspacing}\,=] [\cs{autoxspacing}]
+\item[\DParam{kanjiskip}\,=$^\ast$] [\cs{kanjiskip}]\
+
%<*ja>
ããã©ã«ãã§2ã¤ã®\textbf{JAchar}ã®éã«æ¿å
¥ãããã°ã«ã¼ã§ããï¼
é常ã§ã¯ï¼\pTeX ã¨åãããã«ãã©ã³ããµã¤ãºã«æ¯ä¾ãã¦å¤ãããã¨ã¯ãªãï¼
-ãããï¼èªç¶é·ã \verb+\maxdimen+ ã®å ´åã¯ï¼ä¾å¤çã«åæãã©ã³ãã®JFMå´ã§æå®ããã¦ãã
+ãããï¼èªç¶é·ã \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}]\
-\item[\Param{\hypertarget{fld:xks}{xkanjiskip}}\,=$^\ast$] [\verb+\xkanjiskip+]
%<*ja>
ããã©ã«ãã§\textbf{JAchar}ã¨\textbf{ALchar}ã®éã«æ¿å
¥ãããã°ã«ã¼ã§ããï¼
-\Param{\hyperlink{fld:kanjiskip}{kanjiskip}}ã¨åãããã«ï¼é常ã§ã¯ãã©ã³ããµã¤ãºã«æ¯ä¾ãã¦å¤ãããã¨ã¯ãªããï¼
-èªç¶é·ã \verb+\maxdimen+ ã®å ´åãä¾å¤ã§ããï¼
+\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[\Param{\hypertarget{fld:diffjfm}{differentjfm}}\,=$^\dagger$]
+\item[\DParam{differentjfm}\,=$^\dagger$]\
%<*en>
Specify how glues/kerns between two \textbf{JAchar}s whose JFM (or size) are different.
@@ -3665,12 +5392,12 @@ JFMï¼ãããã¯ãµã¤ãºï¼ãç°ãªã2ã¤ã®\textbf{JAchar}ã®éã«ã°ã«
許ãããå¤ã¯ä»¥ä¸ã®éãï¼
%
\begin{quote}
-\texttt{average},
-\texttt{both},
-\texttt{large},
-\texttt{small},
-\texttt{pleft},
-\texttt{pright},
+\texttt{average},
+\texttt{both},
+\texttt{large},
+\texttt{small},
+\texttt{pleft},
+\texttt{pright},
\texttt{paverage}
\end{quote}
%<*en>
@@ -3681,29 +5408,346 @@ The default value is \texttt{paverage}. \dots
åã
ã®å¤ã«ããå·®ç°ã®è©³ç´°ã¯\ref{ssec-cluster-wa}ç¯ã®ããå³ç©ºç½ãã®ç®åºããåç
§ãã¦ã»ããï¼
%
-\item[\Param{jacharrange}\,=]
-\item[\Param{kansujichar}\,=\{, \}$^\ast$] [\verb+\kansujichar+]
-\end{list}
+\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>
+\cs{ltjgetparameter} is a control sequence for acquiring parameters. It
+always takes a parameter name as first argument.
+%
+%<*ja>
+\cs{ltjgetparameter} ã¯ãã©ã¡ã¼ã¿ã®å¤ãåå¾ããããã®å½ä»¤ã§ããï¼
+常ã«ãã©ã¡ã¼ã¿ã®ååã第ä¸å¼æ°ã«ã¨ãï¼
+%
+\begin{LTXexample}
+\ltjgetparameter{differentjfm},
+\ltjgetparameter{autospacing},
+\ltjgetparameter{kanjiskip},
+\ltjgetparameter{prebreakpenalty}{`ï¼}.
+\end{LTXexample}
+
+%<*en>
+\emph{The return value of\/ \cs{ltjgetparameter} is
+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>
+\emph{\cs{ltjgetparameter} ã®æ»ãå¤ã¯å¸¸ã«æååã§ããï¼}
+ããã¯\texttt{tex.write()}ã«ãã£ã¦åºåãã¦ããããã§ï¼ç©ºç½ã\texttt{\char32}ã
+(\texttt{U+0020})ãé¤ããæåã®ã«ãã´ãªã¼ã³ã¼ãã¯å
¨ã¦12~(other)ã¨ãªãï¼
+ä¸æ¹ï¼ç©ºç½ã®ã«ãã´ãªã¼ã³ã¼ãã¯10~(space)ã§ããï¼
+%
+\begin{itemize}
+\item
+%<*en>
+If first argument is one of the
+following, no additional argument is needed.
+%
+%<*ja>
+第1å¼æ°ã次ã®ããããã®å ´åã«ã¯ï¼è¿½å ã®å¼æ°ã¯å¿
è¦ãªãï¼
+%
+\begin{quote}
+\sffamily
+jcharwidowpenalty, yjabaselineshift, yalbaselineshift, autospacing, autoxspacing,\\
+kanjiskip, xkanjiskip, differentjfm, direction
+\end{quote}
+%<*en>
+Note that \verb+\ltjgetparameter{autospacing}+~and~\verb+\ltjgetparameter{autoxspacing}+
+returns 1 or 0, not
+\texttt{true}~nor~\texttt{false}.
+%
+%<*ja>
+\verb+\ltjgetparameter{autospacing}+ 㨠\verb+\ltjgetparameter{autoxspacing}+ ã¯ï¼
+\texttt{true}ã\texttt{false}ãè¿ãã®\emph{ã§ã¯ãªã}ï¼
+1ã0ã®ãããããè¿ããã¨ã«æ³¨æï¼
+%
-%\section{Other Control Sequences for plain \TeX\ and \LaTeXe}
+\item
+%<*en>
+If first argument is one of the
+following, an additional argument---a character code, for example---is needed.
+%
+%<*ja>
+第1å¼æ°ã次ã®ããããã®å ´åã«ã¯ï¼ããã«æåã³ã¼ãã第2å¼æ°ã¨ãã¦ã¨ãï¼
+%
+\begin{quote}
+\sffamily
+kcatcode, prebreakpenalty, postbreakpenalty, jaxspmode, alxspmode
+\end{quote}
+%<*en>
+\verb+\ltjgetparameter{jaxspmode}{...}+~and~\verb+\ltjgetparameter{alxspmode}{...}+
+returns 0,~1, 2,~or~3, instead of \texttt{preonly} etc.
+%
+%<*ja>
+\verb+\ltjgetparameter{jaxspmode}{...}+ ã \verb+\ltjgetparameter{alxspmode}{...}+\
+ã¯ï¼\texttt{preonly} ãªã©ã¨ãã£ãæååã§ã¯ãªãï¼0ãã3ã¾ã§ã®å¤ãè¿ãï¼
+%
+
+\item
+%<*en>
+\verb+\ltjgetparameter{jacharrange}{+\verb+}+ returns \texttt{0}
+if ``characters which belong to the character range~ are \textbf{JAchar}'',
+\texttt{1} if ``\dots~are \textbf{ALchar}''.
+Although there is no character range~$-1$, specifying $-1$ to does not cause an
+ error (returns 1).
+%
+%<*ja>
+\verb+\ltjgetparameter{jacharrange}{+\verb+}+ ã¯ï¼ã\textbf{JAchar}éã®
+ç¯å²ãªãã°0ãï¼ããã§ãªããã°1ãè¿ãï¼ã$-1$çªã®æåç¯å²ãã¯åå¨ããªããï¼ã«$-1$ã
+æå®ãã¦ãã¨ã©ã¼ã¯çºçããªãï¼1ãè¿ãï¼ï¼
+%
+
+\item
+%<*en>
+For an integer~ between 0~and~9,
+ \verb+\ltjgetparameter{kansujichar}{+\verb+}+ returns the character code
+of the result of \cs{kansuji}.
+%
+%<*ja>
+0--9ã®æ°ã«å¯¾ãã¦ï¼
+\verb+\ltjgetparameter{kansujichar}{+\verb+}+ ã¯ï¼\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>
+次ã®ãã©ã¡ã¼ã¿åã \cs{ltjgetparameter} ã«æå®ãããã¨ã¯ã§ããªãï¼
+%
+\begin{quote}
+\sffamily
+jatextfont, jascriptfont, jascriptscriptfont, jacharrange
+\end{quote}
+
+\item
+%<*en>
+\verb+\ltjgetparameter{chartorange}{+\verb+}+ returns
+the range number which belongs to
+(although there is no parameter named ``chartorange'').
+
+If is between 0 and 127, this does not belong to
+any character range. In this case,
+ \verb+\ltjgetparameter{chartorange}{+\verb+}+
+returns $-1$.
+
+Hence, one can know whether is \textbf{JAchar} or not
+by the following:
+%
+%<*ja>
+\verb+\ltjgetparameter{chartorange}{+\verb+}+ ã«ãã£ã¦
+ã®å±ããæåç¯å²ã®çªå·ãç¥ããã¨ãã§ããï¼
+
+ã«0--127ã®å¤ãæå®ããå ´åï¼ãã®ã¨ãï¼ãå±ãã
+æåç¯å²ã¯åå¨ããªãï¼ã¯$-1$ãè¿ãï¼
+
+ãã®ããï¼ã\textbf{JAchar}ã\textbf{ALchar}ãã¯
+次ã§ç¥ããã¨ãã§ããï¼
+%
+\begin{quote}
+\ttfamily \verb+\ltjgetparameter{jacharrange}{\ltjgetparameter{chartorange}{+%
+ \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}
+
+%<*ja>
+\subsection{\cs{ltjsetparameter} ã®ä»£æ¿}
+ååã¨ãã¦å種å
é¨ãã©ã¡ã¼ã¿ã®è¨å®ã«ã¯ \cs{ltjsetparameter} ãããã¯
+\ \cs{ltjglobalsetparameter}\ ãç¨ãããã¨ã«ãªããï¼
+\cs{ltjsetparameter} ã®å®è¡ã«ã¯æéããããã¨ããé£ç¹ãããï¼
+\LuaTeX-ja ã®å
é¨ã§ã¯ããé«éã«å®è¡ã§ããå¥ã®å½¢å¼ãç¨ãã¦ããï¼
+\emph{æ¬ç¯ã¯ä¸è¬å©ç¨è
ããã®å
容ã§ã¯ãªãï¼}
+
+\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}
+ \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}
+ \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}
+ã¨ãã¦ããï¼
+\cs{ltj@setpar@global}ãç´åã«å®è¡ããï¼åç¬ã§
+\cs{ltjsetkanjiskip}, \cs{ltjsetxkanjiskip}ãå®è¡ãããã¨ã¯æ³å®ããã¦ããªãã®ã§æ³¨æï¼
+
+
+
+\paragraph{ãã¼ã¹ã©ã¤ã³è£æ£éã®è¨å®}
+\pLaTeX ã®\Pkg{ascmac}ããã±ã¼ã¸ã§ã¯ï¼ç¸¦çµã®æ¬§æãã¼ã¹ã©ã¤ã³è£æ£éã®ä¸æå¾
é¿ã»å¾©å¸°å¦çã«
+\ \cs{@saveybaselineshift}\ ã¨ãã寸æ³ã¬ã¸ã¹ã¿ãç¨ã
+\begin{lstlisting}
+\@savetbaselineshift\tbaselineshift\tbaselineshift\z@
+...
+\tbaselineshift\@savetbaselineshift
+\end{lstlisting}
+ã¨ããå¦çãè¡ã£ã¦ããï¼
+
+ããã\LuaTeX-ja ç¨ã« \cs{ltjsetparameter} ã使ã£ã¦æ¸ãç´ãã¨ï¼
+\begin{lstlisting}
+\@savetbaselineshift\ltjgetparameter{talbaselineshift}
+\ltjsetparameter{talbaselineshift=\z@}
+...
+\ltjsetparameter{talbaselineshift=\@savetbaselineshift}
+\end{lstlisting}
+ã¨ãªãï¼
+
+ãã¦ï¼ç¸¦çµã®æ¬§æãã¼ã¹ã©ã¤ã³è£æ£é\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}
%\section{plainã§ã\LaTeX ã§ãå©ç¨å¯è½ãªãã®ä»ã®å½ä»¤}
-%\subsection{Control Sequences for Compatibility with \pTeX}
+%\subsection{Commands for compatibility with \pTeX}
%\subsection{\pTeX äºæç¨å½ä»¤}
%<*en>
-The following control sequences are implemented for compatibility with \pTeX.
-Note that these don't support JIS~X~0213, but only JIS~X~0208.
+The following commands are implemented for compatibility with \pTeX.
+Note that the former five commands don't support JIS~X~0213, but only JIS~X~0208.
+The last \cs{kansuji} converts an integer into its Chinese numerals.
%
%<*ja>
以ä¸ã®å½ä»¤ã¯\pTeX ã¨ã®äºææ§ã®ããã«å®è£
ããã¦ããï¼ãã®ããï¼JIS~X~0213ã«ã¯å¯¾å¿ããï¼
\pTeX ã¨åãããã«JIS~X~0208ã®ç¯å²ãããµãã¼ããã¦ããªãï¼
%
\begin{center}
-\verb+\kuten+, \verb+\jis+, \verb+\euc+, \verb+\sjis+, \verb+\jis+, \verb+\kansuji+
+\cs{kuten}, \cs{jis}, \cs{euc}, \cs{sjis}, \cs{jis}, \cs{kansuji}
\end{center}
%<*en>
-These 6 control sequence takes an internal integer, and returns a \emph{string}.
+These six commands takes an internal integer, and returns a \emph{string}.
%
%<*ja>
ããã6å½ä»¤ã¯å
é¨æ´æ°ãå¼æ°ã¨ãããï¼å®è¡çµæã¯\textbf{æåå}ã§ãããã¨ã«æ³¨æï¼
@@ -3716,22 +5760,30 @@ These 6 control sequence takes an internal integer, and returns a \emph{string}.
\kansuji1701
\end{LTXexample}
+%<*en>
+To change characters of Chinese numerals for each digit, set \Param{kansujichar} parameter:
+\begin{LTXexample}
+\ltjsetparameter{kansujichar={1,`壹}}
+\ltjsetparameter{kansujichar={7,`æ¼}}
+\ltjsetparameter{kansujichar={0,`é¶}}
+\kansuji1701
+\end{LTXexample}
+%
-%\subsection{\texttt{\char`\\inhibitglue}}
-%\subsection{\texttt{\char`\\inhibitglue}}
+\subsection{\cs{inhibitglue}}
%<*en>
-\verb+\inhibitglue+ suppresses the insertion of \textbf{JAglue}.
+\cs{inhibitglue} suppresses the insertion of \textbf{JAglue}.
The following is an example, using a special JFM that there will be a glue between
the beginning of a box and ``ã'', and also between ``ã''~and~``ã¦''.
%
%<*ja>
-\verb+\inhibitglue+ ã¯\textbf{JAglue}ã®æ¿å
¥ãæå¶ããï¼
+\cs{inhibitglue} ã¯\textbf{JAglue}ã®æ¿å
¥ãæå¶ããï¼
以ä¸ã¯ï¼ããã¯ã¹ã®å§ãã¨ãããã®éï¼ããããã¦ãã®éã«ã°ã«ã¼ãå
¥ãç¹å¥ãªJFMãç¨ããä¾ã§
ããï¼
%
-\begin{LTXexample}
+\begin{LTXexample}[width=0.4\textwidth]
\jfont\g=file:KozMinPr6N-Regular.otf:jfm=test \g
\fbox{\hbox{ãã¦ã\inhibitglue ã¦}}
\inhibitglue\par\noindent ã1
@@ -3741,69 +5793,99 @@ the beginning of a box and ``ã'', and also between ``ã''~and~``ã¦''.
\end{LTXexample}
%<*en>
-With the help of this example, we remark the specification of \verb+\inhibitglue+:
+With the help of this example, we remark the specification of \cs{inhibitglue}:
%
%<*ja>
-ãã®ä¾ãæ´ç¨ãã¦ï¼\verb+\inhibitglue+ ã®ä»æ§ã«ã¤ãã¦è¿°ã¹ãï¼
+ãã®ä¾ãæ´ç¨ãã¦ï¼\cs{inhibitglue} ã®ä»æ§ã«ã¤ãã¦è¿°ã¹ãï¼
%
\begin{itemize}
%<*en>
-\item The call of \verb+\inhibitglue+ in the (internal) vertical mode is
+\item The call of \cs{inhibitglue} in the (internal) vertical mode is
simply ignored.
%
%<*ja>
-\item \verb+\inhibitglue+ ã®åç´ã¢ã¼ãä¸ã§ã®å¼ã³åºãã¯æå³ãæããªãï¼
-4è¡ç®ã®å
¥åã§æå¹ã«ãªããªãã®ã¯ï¼\verb+\inhibitglue+ ã®æç¹ã§ã¯åç´ã¢ã¼ãã§ããï¼
-\verb+\noindent+ ã®æç¹ã§æ°´å¹³ã¢ã¼ãã«ãªãããã§ããï¼
+\item \emph{\cs{inhibitglue} ã®åç´ã¢ã¼ãä¸ã§ã®å¼ã³åºãã¯æå³ãæããªã}\footnote{%
+ ãã®ç¹ã¯\TeX~Live~2014ã§ã®\pTeX ã«ããã \cs{inhibitglue} ã®ä»æ§å¤æ´ã¨åãã§ããï¼
+}ï¼
+4è¡ç®ã®å
¥åã§æå¹ã«ãªããªãã®ã¯ï¼\cs{inhibitglue} ã®æç¹ã§ã¯åç´ã¢ã¼ãã§ããï¼
+\cs{noindent} ã®æç¹ã§æ°´å¹³ã¢ã¼ãã«ãªãããã§ããï¼
%
%<*en>
-\item The call of \verb+\inhibitglue+ in the (restricted) horizontal
+\item The call of \cs{inhibitglue} in the (restricted) horizontal
mode is only effective on the spot; does not get over boundary of
- paragraphs. Moreover, \verb+\inhibitglue+ cancels ligatures and
+ paragraphs. Moreover, \cs{inhibitglue} cancels ligatures and
kernings, as shown in the last line of above example.
%
%<*ja>
-\item \verb+\inhibitglue+ ã®ï¼å¶éãããï¼æ°´å¹³ã¢ã¼ãä¸ã§ã®å¼ã³åºãã¯ãã®å ´ã§ã®ã¿
+\item \cs{inhibitglue} ã®ï¼å¶éãããï¼æ°´å¹³ã¢ã¼ãä¸ã§ã®å¼ã³åºãã¯ãã®å ´ã§ã®ã¿
æå¹ã§ããï¼æ®µè½ã®å¢çãä¹ãè¶ããªãï¼
- ããã«ï¼\verb+\inhibitglue+ ã¯ä¸ã®ä¾ã®æçµè¡ã®ããã«ï¼æ¬§æã«ãããï¼ãªã¬ãã£ã¨ã«ã¼ãã³ã°ã
- æã¡æ¶ãï¼ããã¯ï¼\verb+\inhibitglue+ ãå
é¨çã«ã¯ãç¾å¨ã®ãªã¹ãä¸ã«whatsitãã¼ãã
+ ããã«ï¼\cs{inhibitglue} ã¯ä¸ã®ä¾ã®æçµè¡ã®ããã«ï¼æ¬§æã«ãããï¼ãªã¬ãã£ã¨ã«ã¼ãã³ã°ã
+ æã¡æ¶ãï¼ããã¯ï¼\cs{inhibitglue} ãå
é¨çã«ã¯ãç¾å¨ã®ãªã¹ãä¸ã«whatsitãã¼ãã
追å ããããã¨ãè¡ãªã£ã¦ããããã§ããï¼
%
%<*en>
-\item The call of \verb+\inhibitglue+ in math mode is just ignored.
+\item The call of \cs{inhibitglue} in math mode is just ignored.
%
%<*ja>
-\item \verb+\inhibitglue+ ãæ°å¼ã¢ã¼ãä¸ã§å¼ã³åºããå ´åã¯ãã ç¡è¦ãããï¼
+\item \cs{inhibitglue} ãæ°å¼ã¢ã¼ãä¸ã§å¼ã³åºããå ´åã¯ãã ç¡è¦ãããï¼
%
%<*ja>
\item \LaTeX ã§\LuaTeX-ja ã使ç¨ããå ´åã¯ï¼
-\verb+\inhibitglue+ ã®ä»£ããã¨ã㦠\verb+\<+ ã使ããã¨ãã§ããï¼
+\cs{inhibitglue} ã®ä»£ããã¨ã㦠\verb+\<+ ã使ããã¨ãã§ããï¼
æ¢ã« \verb+\<+ ãå®ç¾©ããã¦ããå ´åã¯ï¼\LuaTeX-ja ã®èªã¿è¾¼ã¿ã§å¼·å¶çã«ä¸æ¸ããããã®ã§
注æãããã¨ï¼
%
\end{itemize}
-\subsection{\texttt{\char`\\ltjdeclarealtfont}}
+\subsection{\cs{ltjdeclarealtfont}}
\label{ssec-altfont}
-%\dots
+%<*en>
+Using \cs{ltjdeclarealtfont}, one can ``compose'' more than one Japanese fonts.
+This \cs{ltjdeclarealtfont} uses in the following form:
+\begin{quote}
+\ttfamily \textbackslash ltjdeclarealtfont\{\}
+\end{quote}
+where ~and~ are defined by \cs{jfont}.
+Its meaning is
+\begin{quote}
+If the current Japanese font is , characters which belong to
+is typeset by another Japanese font , instead of .
+\end{quote}
+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{lstlisting}
+\ltjdeclarealtfont\hoge\piyo{"3000-"30FF, {-1}-{-1}}
+\end{lstlisting}
+does
+\begin{quote}
+If the current Japanese font is \cs{hoge}, \texttt{U+3000}--\texttt{U+30FF}
+and characters in class~1 (ideographic opening brackets)
+are typeset by \cs{piyo}.
+\end{quote}
+%
%<*ja>
-\verb+\jfont+ ã®æ¸å¼ãè¦ãã°ãããããã«ï¼åºæ¬çã«ã¯\LuaTeX-jaã«ããã1ã¤ã®åæãã©ã³ãã«
+\cs{jfont} ã®æ¸å¼ãè¦ãã°ãããããã«ï¼åºæ¬çã«ã¯\LuaTeX-jaã«ããã1ã¤ã®åæãã©ã³ãã«
使ç¨åºæ¥ããå®éã®ãã©ã³ããã¯1ã¤ã§ããï¼
-ãããï¼\verb+\ltjdeclarealtfont+ ãç¨ããã¨ï¼ãã®ååããå¤ãããã¨ãã§ããï¼
+ãããï¼\cs{ltjdeclarealtfont} ãç¨ããã¨ï¼ãã®ååããå¤ãããã¨ãã§ããï¼
-\verb+\ltjdeclarealtfont+ ã¯ä»¥ä¸ã®æ¸å¼ã§ä½¿ç¨ããï¼
+\cs{ltjdeclarealtfont} ã¯ä»¥ä¸ã®æ¸å¼ã§ä½¿ç¨ããï¼
\begin{quote}
-\ttfamily \char`\\ltjdeclarealtfont{}
+\ttfamily \textbackslash ltjdeclarealtfont\{\}
\end{quote}
ããã¯ãç¾å¨ã®åæãã©ã³ãããã§ããã¨ãï¼
ã«å±ããæåã¯ãç¨ãã¦çµçãããï¼ã¨ããæå³ã§ããï¼
\begin{itemize}
\item , ã¯
-\verb+\jfont+ ã«ãã£ã¦å®ç¾©ãããåæãã©ã³ãã§ããï¼
+\cs{jfont} ã«ãã£ã¦å®ç¾©ãããåæãã©ã³ãã§ããï¼
\item ã¯æåã³ã¼ãã®ç¯å²ã表ãã³ã³ãåºåãã®ãªã¹ãã§ãããï¼
ä¾å¤ã¨ãã¦è² æ°$-n$ã¯ãã®JFMã®æåã¯ã©ã¹$n$ã«å±ããå
¨ã¦ã®æåã
ãæå³ããï¼
@@ -3812,329 +5894,651 @@ With the help of this example, we remark the specification of \verb+\inhibitglue
ãã®æåã«å¯¾ããè¨å®ã¯ç¡è¦ãããï¼
\end{itemize}
-ä¾ãã°ï¼\verb+\hoge+ ã®JFMã\LuaTeX-jaæ¨æºã®
+ä¾ãã°ï¼\cs{hoge} ã®JFMã\LuaTeX-jaæ¨æºã®
\ \texttt{jfm-ujis.lua} ã§ãã£ãå ´åï¼
-\begin{verbatim}
+\begin{lstlisting}
\ltjdeclarealtfont\hoge\piyo{"3000-"30FF, {-1}-{-1}}
-\end{verbatim}
-ã¯ã\verb+\hoge+ ãå©ç¨ãã¦ããã¨ãï¼
-\texttt{U+3000}-\texttt{U+30FF}ã¨
-æåã¯ã©ã¹1ï¼éãæ¬å¼§é¡ï¼ä¸ã®æåã ã㯠\verb+\piyo+ ãç¨ããã
+\end{lstlisting}
+ã¯ã\cs{hoge} ãå©ç¨ãã¦ããã¨ãï¼
+\texttt{U+3000}--\texttt{U+30FF}ã¨
+æåã¯ã©ã¹1ï¼éãæ¬å¼§é¡ï¼ä¸ã®æåã ã㯠\cs{piyo} ãç¨ããã
ãã¨ãè¨å®ããï¼\verb+{-1}-{-1}+ ã¨ããå¤ãã£ãæå®ã®ä»æ¹ããã¦ããã®ã¯ï¼
æ®éã« \texttt{-1} ã¨æå®ããã®ã§ã¯æ£ãã$-1$ã¨èªã¿åãããªãã¨ãã
ãã¯ãã®é½åã«ããï¼
%
+%<*ja>
+\subsection{\cs{ltjalchar} 㨠\cs{ltjjachar}}
+æåã³ã¼ãã$\text{}~(\geq 128=\mathtt{0x80})$ã®æåã
+\ \cs{char} ããªããã£ãã使ã \cs{char} ã¨ãã¦åºåãããã¨ï¼
+ãã®æåã®å±ããæåç¯å²ï¼\ref{ssec-setrange}ç¯åç
§ï¼ã«ãã£ã¦
+\textbf{ALchar}ã\textbf{JAchar}ãï¼ã¤ã¾ã欧æãã©ã³ãã§åºåããããåæãã©ã³ãã§åºåãã
+ããã決ã¾ãï¼
+
+æåç¯å²ã®è¨å®ãç¡è¦ãï¼æåã³ã¼ãã$\text{}~(\geq 128=\mathtt{0x80})$ã®æåãå¼·å¶çã«
+\textbf{ALchar}, \textbf{JAchar}ã§åºåããå½ä»¤ããããã
+\ \cs{ltjalchar},~\cs{ltjjachar} ã§ããï¼ä½¿ç¨æ¹æ³ã¯ \cs{char} ã¨åãã
+\ \cs{ltjalchar}, \cs{ltjjachar}ã¨ããã°ããï¼
+ã127以ä¸ã®å ´åã¯ï¼\cs{ltjjachar} ã§ãã£ã¦ã\textbf{ALchar}ã¨ãã¦åºåããããã¨
+ã«æ³¨æï¼
+
+以ä¸ã¯\ref{ssec-setrange}ç¯ã«è¼ããä¾ã«ï¼\cs{char} ã®åä½ã追å ãããã®ã§ããï¼
+\begin{LTXexample}[width=0.25\textwidth]
+\gtfamily\large % default, ALchar, JAchar
+¶, \char`¶, \ltjalchar`¶, \ltjjachar`¶\\ % default: ALchar
+α, \char`α, \ltjalchar`α, \ltjjachar`α % default: JAchar
+\end{LTXexample}
+%
-%\section{Control Sequences for \LaTeXe}
+%\section{Commands for \LaTeXe}
%\section{\LaTeXe ç¨ã®å½ä»¤}
%\subsection{Patch for NFSS2}
%\subsection{NFSS2ã¸ã®ããã}
-\label{ssub-nfsspat}
-
-\begin{figure}[!tb]
-\begin{lstlisting}[numberstyle=\tiny, numbers=left, numbersep=1em]
-\DeclareKanjiFamily{JY3}{edm}{}
-\DeclareFontShape{JY3}{edm}{m}{n} {<-> s*IPAexMincho:jfm=ujis}{}
-\DeclareFontShape{JY3}{edm}{m}{green}{<-> s*IPAexMincho:jfm=ujis;color=007F00}{}
-\DeclareFontShape{JY3}{edm}{m}{blue} {<-> s*IPAexMincho:jfm=ujis;color=0000FF}{}
-\DeclareAlternateKanjiFont{JY3}{edm}{m}{n}{JY3}{edm}{m}{green}{"4E00-"67FF,{-2}-{-2}}
-\DeclareAlternateKanjiFont{JY3}{edm}{m}{n}{JY3}{edm}{m}{blue}{ "6800-"9FFF}
-{\kanjifamily{edm}\selectfont
-æ¥æ¬å½æ°ã¯ãæ£å½ã«é¸æãããå½ä¼ã«ããã代表è
ãéãã¦è¡åããâ¦â¦}
-\end{lstlisting}
-\begin{quote}
-\DeclareKanjiFamily{JY3}{edm}{}
-\DeclareFontShape{JY3}{edm}{m}{n} {<-> s*KozMinPr6N-Regular:jfm=ujis}{}
-\DeclareFontShape{JY3}{edm}{m}{green}{<-> s*KozMinPr6N-Regular:jfm=ujis;color=007F00}{}
-\DeclareFontShape{JY3}{edm}{m}{blue} {<-> s*KozMinPr6N-Regular:jfm=ujis;color=0000FF}{}
-\DeclareAlternateKanjiFont{JY3}{edm}{m}{n}{JY3}{edm}{m}{green}{"4E00-"67FF,{-2}-{-2}}
-\DeclareAlternateKanjiFont{JY3}{edm}{m}{n}{JY3}{edm}{m}{blue}{ "6800-"9FFF}
-
-{\kanjifamily{edm}\selectfont
-æ¥æ¬å½æ°ã¯ãæ£å½ã«é¸æãããå½ä¼ã«ããã代表è
ãéãã¦è¡åããâ¦â¦}
-\end{quote}
-%\caption{\texttt{\char92DeclareAlternateKanjiFont} ã®ä½¿ç¨ä¾}
-%\caption{An example of \texttt{\char92DeclareAlternateKanjiFont}}
-\label{fig:altkanji}
-\end{figure}
+\label{ssec-nfsspat}
%<*en>
-As described in Subsection~\ref{ssec-ltx}, Japanese patch for NFSS2 in \LuaTeX-ja
+Japanese patch for NFSS2 in \LuaTeX-ja
is based on \texttt{plfonts.dtx} which plays the same role in \pLaTeXe.
-For an convenience, we will describe
-control sequences which are not described in Subsection~\ref{ssub-chgfnt}.
+We will describe
+commands which are not described in Subsection~\ref{ssec-chgfnt}.
%
%<*ja>
-\ref{ssec-ltx}ç¯ã§è¿°ã¹ãããã«ï¼\LuaTeX-jaã®NFSS2ã¸ã®æ¥æ¬èªãããã¯
-\pLaTeXe ã§åæ§ã®å½¹å²ãæãã \texttt{plfonts.dtx} ãã»ã¼ãã®ã¾ã¾å©ç¨ãã¦ããï¼
-便å®ã®ããï¼ããã§ã¯\ref{ssub-chgfnt}ç¯ã§è¿°ã¹ã¦ããªãã£ãå½ä»¤ã«ã¤ãã¦
+\LuaTeX-jaã®NFSS2ã¸ã®æ¥æ¬èªãããã¯
+\pLaTeXe ã§åæ§ã®å½¹å²ãæãã \texttt{plfonts.dtx} ããã¼ã¹ã«ï¼
+åæã¨ã³ã³ã¼ãã£ã³ã°ã®ç®¡ççãLuaã§æ¸ããªããããã®ã§ããï¼
+ããã§ã¯\ref{ssec-chgfnt}ç¯ã§è¿°ã¹ã¦ããªãã£ãå½ä»¤ã«ã¤ãã¦
è¨è¿°ãã¦ããï¼
%
\begin{cslist}%
-\item[DeclareYokoKanjiEncoding\{\}\{\}\{\}]
+\item[\normalfont\bfseries %
+%追å ã®é·ãå¤æ°é
+%additonal dimensions
+]
+%<*en>
+Like \pLaTeXe, \LuaTeX-ja defines the following dimensions
+for information of current Japanese font:
+%
+%<*ja>
+\pLaTeXe ã¨åæ§ã«ï¼\LuaTeX-jaã¯ãç¾å¨ã®åæãã©ã³ãã®æ
å ±ããæ ¼ç´ããé·ãå¤æ°
+%
+\begin{quote}
+ \cs{cht}~(height), \cs{cdp}~(depth), \cs{cHT}~(sum of former two),\\
+ \cs{cwd}~(width), \cs{cvs}~(lineskip), \cs{chs}~(equals to \cs{cwd})
+\end{quote}
+%and its \cs{normalsize} version:
+%ã¨ï¼ãã® \cs{normalsize} çã§ãã
+\begin{quote}
+ \cs{Cht}~(height), \cs{Cdp}~(depth),
+ \cs{Cwd}~(width), \\\cs{Cvs}~(equals to \cs{baselineskip}),
+ \cs{Chs}~(equals to \cs{cwd})%
+%.
+\end{quote}
+%<*ja>
+ãå®ç¾©ãã¦ããï¼ãªãï¼\cs{cwd} 㨠\cs{zw}ï¼ã¾ã
+\cs{cHT} 㨠\cs{zh} ã¯ä¸è´ããªãå¯è½æ§ãããï¼ãªããªãï¼
+\cs{cwd},~\cs{cHT} ã¯ãããã®å¯¸æ³ãã決å®ãããã®ã«å¯¾ãï¼
+\cs{zw} 㨠\cs{zh} ã¯JFMã«æå®ãããå¤ã«éããªãããã§ããï¼
+%
+%<*en>
+Note that \cs{cwd}~and~\cs{cHT} may differ from \cs{zw}~and~\cs{zh}
+respectively.
+On the one hand the former dimensions are determined from the character ``ã'',
+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
- scheme for Japanese font family (in horizontal direction).
+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ã®ã¨ã³ã³ã¼ãã£ã³ã°ã¯æ¬§æãã©ã³ãã®ã¨ã³ã³ã¼ãã£ã³ã°ã§ããï¼
+åæãã©ã³ãã¯ãããã®ã¨ã³ã³ã¼ãã£ã³ã°ãæã¤ãã¨ã¯ã§ããªãï¼
+ãããã³ãã³ãã¯æ¨ªçµç¨ã»ç¸¦çµç¨åæãã©ã³ãã®ããã®æ°ããã¨ã³ã³ã¼ãã£ã³ã°ã
+ããããå®ç¾©ããï¼
%
-\item[DeclareKanjiEncodingDefaults\{\}\{\}]
-\item[DeclareKanjiSubstitution\{\}\{\}\{\}\{\}]
-\item[DeclareErrorKanjiFont\{\}\{\}\{\}\{\}\{\}]
+\item[\cs{DeclareKanjiEncodingDefaults}\{\}\{\}]
+%\ \\[\dimexpr-\medskipamount-2\baselineskip\relax]
+%\ \\[\dimexpr-2\baselineskip\relax]
+\item[\cs{DeclareKanjiSubstitution}\{\}\{\}\{\}\{\}]
+%\ \\[\dimexpr-\medskipamount-2\baselineskip\relax]
+%\ \\[\dimexpr-2\baselineskip\relax]
+\item[\cs{DeclareErrorKanjiFont}\{\}\{\}\{\}\{\}\{\}]
%<*en>
-The above 3~commands are just the counterparts for \verb+DeclareFontEncodingDefaults+ and~others.
+The above 3~commands are just the counterparts for \cs{DeclareFontEncodingDefaults} and~others.
%
%<*ja>
-ä¸è¨3ã¤ã®ã³ãã³ãã¯ã¡ããã© \verb+DeclareFontEncodingDefaults+ ãªã©ã«å¯¾å¿ãããã®ã§ããï¼
+ä¸è¨3ã¤ã®ã³ãã³ãã¯ã¡ããã©NFSS2 ã® \cs{DeclareFontEncodingDefaults} ãªã©ã«å¯¾å¿ãããã®ã§ããï¼
%
-\item[reDeclareMathAlphabet\{\}\{\}\{\}]
+\item[\cs{reDeclareMathAlphabet}\{\}\{\}\{\}]
% ToDo: en
%<*ja>
åæã»æ¬§æã®æ°å¼ç¨ãã©ã³ããã¡ããªãä¸åº¦ã«å¤æ´ããå½ä»¤ãä½æããï¼
-å
·ä½çã«ã¯ï¼æ¬§ææ°å¼ç¨ãã©ã³ããã¡ããªå¤æ´ã®å½ä»¤ï¼\verb+\mathrm+ çï¼ã¨ï¼åææ°å¼ç¨ãã©
- ã³ããã¡ããªå¤æ´ã®å½ä»¤ï¼\verb+\mathmc+ çï¼ã®2ã¤ãåæã«è¡ãå½ä»¤ã¨ãã¦
+å
·ä½çã«ã¯ï¼æ¬§ææ°å¼ç¨ãã©ã³ããã¡ããªå¤æ´ã®å½ä»¤ï¼\cs{mathrm} çï¼ã¨ï¼åææ°å¼ç¨ãã©
+ ã³ããã¡ããªå¤æ´ã®å½ä»¤ï¼\cs{mathmc} çï¼ã®2ã¤ãåæã«è¡ãå½ä»¤ã¨ãã¦
ãï¼åï¼å®ç¾©ããï¼å®éã®ä½¿ç¨ã§ã¯ã¨
ã«åããã®ãæå®ããï¼ããªãã¡ï¼ã§åæå´ãå¤
æ´ãããããã«ããã®ãä¸è¬çã¨æãããï¼
æ¬å½ä»¤ã¯
-{\let\item=\origitem
\begin{center}\tt
\{\}\quad$\longrightarrow$\quad
(ã®1段å±éçµæ)\{ã®1段å±éçµæ)\{\}\}
\end{center}
ã¨å®ç¾©ãè¡ãã®ã§ï¼ä½¿ç¨ã«ã¯æ³¨æãå¿
è¦ã§ããï¼
-\vspace{-\medskipamount}
+%\vspace{-\medskipamount}
\begin{itemize}
\item ,~ã¯æ¢ã«å®ç¾©ããã¦ããªããã°ãªããªãï¼
- \verb+\reDeclareMathAlphabet+\\ã®å¾ã«
+ \cs{reDeclareMathAlphabet}\\ã®å¾ã«
両å½ä»¤ã®å
容ãåå®ç¾©ãã¦ãï¼ã®å
容ã«ããã¯åæ ãããªãï¼
-\item ,~ã«\verb+\@mathrm+ãªã©ã¨\texttt{@}ãã¤ããå½ä»¤ãæå®ããæã®åä½ã¯ä¿è¨¼ã§ããªãï¼
-\end{itemize}}
+\item ,~ã«\verb+\@mathrm+ãªã©ã¨ \texttt{@} ãã¤ããå½ä»¤ãæå®ããæã®åä½ã¯ä¿è¨¼ã§ããªãï¼
+\end{itemize}
%
-\item[DeclareRelationFont\{\}\{\}\{\}\{\}\\
- \hfill\{\}\{\}\{\}\{\}]
+\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[SetRelationFont]
+\item[\cs{SetRelationFont}]
%<*en>
-This command is almost same as \verb+\DeclareRelationFont+, except that this command does a local
-assignment, where \verb+\DeclareRelationFont+ does a global assignment.
+This command is almost same as \cs{DeclareRelationFont}, except that this command does a local
+assignment, where \cs{DeclareRelationFont} does a global assignment.
%
%<*ja>
-ãã®ã³ãã³ã㯠\verb+\DeclareRelationFont+ ã¨ãã¼ã«ã«ãªæå®ã§ãããã¨ãé¤ãã¦
-ã»ã¨ãã©åãã§ããï¼\verb+\DeclareRelationFont+ ã¯ã°ãã¼ãã«ï¼ï¼
+ãã®ã³ãã³ã㯠\cs{DeclareRelationFont} ã¨ãã¼ã«ã«ãªæå®ã§ãããã¨ãé¤ãã¦
+ã»ã¨ãã©åãã§ããï¼\cs{DeclareRelationFont} ã¯ã°ãã¼ãã«ï¼ï¼
%
-\item[userelfont]
+\item[\cs{userelfont}]
%<*en>
Change current alphabetic font encoding/family/\dots\ to the `accompanied' alphabetic
font family with respect to current Japanese font family,
which was set by
- \verb+\DeclareRelationFont+ or \verb+\SetRelationFont+.
-Like \verb+\fontfamily+, \verb+\selectfont+ is required to take an effect.
+ \cs{DeclareRelationFont} or \cs{SetRelationFont}.
+Like \cs{fontfamily}, \cs{selectfont} is required to take an effect.
%
%<*ja>
-ç¾å¨ã®æ¬§æãã©ã³ãã¨ã³ã³ã¼ãã£ã³ã°ï¼ãã¡ããªï¼â¦â¦ ãï¼
-\verb+\DeclareRelationFont+ ã \verb+\SetRelationFont+ ã§æå®ããã
-ç¾å¨ã®åæãã©ã³ããã¡ããªã«å¯¾å¿ãããå¾å±æ¬§æããã©ã³ããã¡ããªã«å¤æ´ããï¼
-\verb+\fontfamily+ ã®ããã«ï¼æå¹ã«ããããã«ã¯ \verb+\selectfont+ ãå¿
è¦ã§ããï¼
+ç¾å¨ã®æ¬§æãã©ã³ãã®ã¨ã³ã³ã¼ãã£ã³ã°ï¼ãã¡ããªï¼â¦â¦ ãï¼
+\cs{DeclareRelationFont} ã \cs{SetRelationFont} ã§æå®ããã
+ç¾å¨ã®åæãã©ã³ãã«å¯¾å¿ãããå¾å±æ¬§æããã©ã³ãã«å¤æ´ããï¼
+\cs{fontfamily} ã®ããã«ï¼æå¹ã«ããããã«ã¯ \cs{selectfont} ãå¿
è¦ã§ããï¼
%
-\item[adjustbaseline]
-\ldots
+\item[\cs{adjustbaseline}]
+%<*en>
+In \pLaTeXe, \cs{adjustbaseline} sets \cs{tbaselineshift}
+to match the vertical center of ``M'' and that of ``ã'' in vertical typesetting:
+\[
+\text{\cs{tbaselineshift}} \leftarrow
+\frac{(h_{\text{M}}+d_{\text{M}}) - (h_{\text{ã}}+d_{\text{ã}})}2
+ + 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, namely setting the
+ \Param{talbaselineshift} parameter.
+%
+%<*ja>
+\pLaTeXe ã§ã¯ï¼\cs{adjustbaseline} ã¯ç¸¦çµæã«ãMãã¨ãããã®ä¸å¿ç·ãä¸è´ãããããã«ï¼
+\cs{tbaselineshift} ãè¨å®ããå½¹å²ãæã£ã¦ããï¼
+\[
+\text{\cs{tbaselineshift}} \leftarrow
+\frac{(h_{\text{M}}+d_{\text{M}}) - (h_{\text{ã}}+d_{\text{ã}})}2
+ + d_{\text{ã}} - d_{\text{M}},
+\]
+ããã§ï¼$h_{a}$,~$d_{a}$ã¯ããããã$a$ãã®é«ãã»æ·±ãã表ãï¼
+\LuaTeX-jaã«ããã¦ã\cs{adjustbaseline} ã¯åæ§ã«\Param{talbaselineshift}ãã©ã¡ã¼ã¿ã®èª¿æ´å¦
+ çãè¡ã£ã¦ããï¼
+
+åæã«ï¼ããã\pLaTeXe ã® \cs{adjustbaseline} ã§è¡ããã¦ãããï¼
+ãæ¼¢ãã®å¯¸æ³ãå
ã«ï¼ï¼æ¬ç¯ã®æåã«è¿°ã¹ãï¼å°æåã§å§ã¾ãï¼\cs{cht}, \cs{cwd} ã¨ãã£ãé·ãå¤æ°ãè¨å®ããï¼
+%
-\item[fontfamily\{\}]
+\item[\cs{fontfamily}\{\}]
%<*en>
As in \LaTeXe, this command changes current font family (alphabetic, Japanese,~\emph{or both})
-to . Which family will be changed is determined as follows:
+to . See Subsection~\ref{ssec-fontfamilycmd} for detail.
%
%<*ja>
å
ã
ã®\LaTeXe ã«ããããã®ã¨åæ§ã«ï¼ãã®ã³ãã³ãã¯ç¾å¨ã®ãã©ã³ããã¡ããªï¼æ¬§æï¼
-åæï¼\emph{ãããã¯ä¸¡æ¹}ï¼ãã«å¤æ´ããï¼
-ã©ã®ãã¡ããªãå¤æ´ããããã¯ä»¥ä¸ã®ããã«ãã¦æ±ºå®ãããï¼
+åæï¼\emph{ãããã¯ä¸¡æ¹}ï¼ãã«å¤æ´ããï¼è©³ç´°ã¯\ref{ssec-fontfamilycmd}ç¯ãåç
§ãããã¨ï¼
%
-{\let\item\origitem
-\vspace{-\medskipamount}
+
+
+\begin{figure}[!tb]
+\begin{LTXexample}[pos=b]
+\DeclareKanjiFamily{JY3}{edm}{}
+\DeclareFontShape{JY3}{edm}{m}{n} {<-> s*KozMinPr6N-Regular:jfm=ujis;}{}
+\DeclareFontShape{JY3}{edm}{m}{green}{<-> s*KozMinPr6N-Regular:jfm=ujis;color=007F00}{}
+\DeclareFontShape{JY3}{edm}{m}{blue} {<-> s*KozMinPr6N-Regular:jfm=ujis;color=0000FF}{}
+\DeclareAlternateKanjiFont{JY3}{edm}{m}{n}{JY3}{edm}{m}{green}{"4E00-"67FF,{-2}-{-2}}
+\DeclareAlternateKanjiFont{JY3}{edm}{m}{n}{JY3}{edm}{m}{blue}{ "6800-"9FFF}
+{\kanjifamily{edm}\selectfont
+æ¥æ¬å½æ°ã¯ãæ£å½ã«é¸æãããå½ä¼ã«ããã代表è
ãéãã¦è¡åããâ¦â¦}
+\end{LTXexample}
+%\caption{\cs{DeclareAlternateKanjiFont} ã®ä½¿ç¨ä¾}
+%\caption{An example of \cs{DeclareAlternateKanjiFont}}
+\label{fig:altkanji}
+\end{figure}
+
+\item[\cs{DeclareAlternateKanjiFont}\{\}\{\}\{\}\{\}\\
+ \null\hfill\{\}\{\}\{\}\{\}\{\}]
+%<*ja>
+\ref{ssec-altfont}ç¯ã®\
+\cs{ltjdeclarealtfont} ã¨åæ§ã«ï¼ååã®4å¼æ°ã®
+åæãã©ã³ãï¼åºåºãã©ã³ãï¼ã®ãã¡ä¸ã®æåã
+第5ãã第8å¼æ°ã®åæãã©ã³ãã使ã£ã¦çµãããã«æ示ããï¼
+使ç¨ä¾ãå³\nobreak\ref{fig:altkanji}ã«è¼ããï¼
+
\begin{itemize}
+ \item
+\cs{ltjdeclarealtfont} ã§ã¯åºåºãã©ã³ãã»ç½®ãæãå
åæãã©ã³ãã¯ãããããå®ç¾©ããã¦ã
+ ãªãã¨ãããªãï¼ãã®ä»£ããå³æçºå¹ï¼ã§ãã£ããï¼
+\cs{DeclareAlternateKanjiFont} ã®è¨å®ã
+å®éã«å¹åãçºæ®ããã®ã¯ï¼æ¸ä½å¤æ´ããµã¤ãºå¤æ´ãè¡ã£ãæï¼
+ãããã¯ï¼ããããå«ããï¼\cs{selectfont} ãå®è¡ãããæã§ããï¼
+ \item
+段è½ãhboxã®æå¾ã§ã®è¨å®å¤ã段è½ï¼hboxå
¨ä½ã«ããã£ã¦éç¨ããç¹ãï¼
+ã«è² æ°$-n$ãæå®ããå ´åï¼ããããåºåºãã©ã³ãã®æåã¯ã©ã¹$n$ã«å±ããæåå
¨ä½ã
+ã¨è§£éãããã®ã¯ \cs{ltjdeclarealtfont} ã¨åãã§ããï¼
+\end{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:
+As \cs{ltjdeclarealtfont}~(Subsection~\ref{ssec-altfont}),
+characters in of the Japanese font (we say the \emph{base font})
+which specified by first 4 arguments are typeset
+by the Japanese font which specified by fifth to eighth arguments
+(we say the \emph{alternate font}).
+An example is shown in Figure~\ref{fig:altkanji}.
+
+\begin{itemize}
+ \item
+In \cs{ltjdeclarealtfont}, the base font and the alternate font must be already defined.
+But this \cs{DeclareAlternateKanjiFont} is not so.
+In other words, \cs{DeclareAlternateKanjiFont} is effective only after
+current Japanese font is changed, or only after \cs{selectfont} is executed.
+ \item \dots
+\end{itemize}%
+\vspace{-\medskipamount}
+%
+\end{cslist}
+
+%<*en>
+As closing this subsection, we shall introduce an example of
+\cs{SetRelationFont} and \cs{userelfont}:
%
%<*ja>
-\item ç¾å¨ã®åæãã©ã³ãã«å¯¾ããã¨ã³ã³ã¼ãã£ã³ã°ãã§ããã¨ãããï¼
- ç¾å¨ã®åæãã©ã³ããã¡ããªã¯ï¼ä»¥ä¸ã®2ã¤ã®æ¡ä»¶ã®ãã¡ã®1ã¤ãæºãããã¦ããã¨ãã«
- ã«å¤æ´ãããï¼
+ãã®ç¯ã®çµããã«ï¼\cs{SetRelationFont} 㨠\cs{userelfont} ã®ä¾ã
+ç´¹ä»ãã¦ãããï¼\cs{userelfont} ã®ä½¿ç¨ã«ãã£ã¦ï¼ãabcãã®é¨åã®ãã©ã³ãã
+Avant Garde (OT1/pag/m/n) ã«å¤ãã£ã¦ãããã¨ããããï¼
%
-\begin{itemize}
+\begin{LTXexample}[width=0.3\textwidth]
+\makeatletter
+\SetRelationFont{JY3}{\k@family}{m}{n}{OT1}{pag}{m}{n}
+ % \k@family: current Japanese font family
+\userelfont\selectfont ãããabc
+\end{LTXexample}
+
+%\subsection{Detail of \cs{fontfamily} command}
+%\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>
-\item The family under the encoding has been already defined by
- \verb+\DeclareKanijFamily+.
+\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>
-\item ã¨ã³ã³ã¼ãã£ã³ã°ã«ããããã¡ããªãæ¢ã« \verb+\DeclareKanjiFamily+ ã«ãã£ã¦å®ç¾©ããã¦ããï¼
+\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>
-\item A font definition named \texttt{.fd} (the file name is
- all lowercase) exists.
+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>
-\item ãã©ã³ãå®ç¾©ãã¡ã¤ã«\texttt{.fd}ï¼ãã¡ã¤ã«åã¯å
¨ã¦å°æåï¼ãåå¨ããï¼
+ã¾ãï¼\cs{DeclareFontFamily}ã\LuaTeX-jaã®èªã¿è¾¼ã¿å¾ã«å®è¡ãããå ´åã¯ï¼
+第2å¼æ°ï¼ãã¡ããªåï¼ãèªåçã«$F_{\mathrm{A}}$ã«è¿½å ãããï¼
%
-\end{itemize}
+
%<*en>
-\item Let current encoding scheme for alphabetic fonts be
- . For alphabetic font family, the criterion as above is used.
+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>
-\item ç¾å¨ã®æ¬§æãã©ã³ãã«å¯¾ããã¨ã³ã³ã¼ãã£ã³ã°ãã¨ããï¼
- 欧æãã©ã³ããã¡ããªã«å¯¾ãã¦ãï¼ä¸è¨ã®åºæºãç¨ããããï¼
+以ä¸ã®æ¹éã¯\pLaTeXe ã«ããã \cs{fontfamily} ã«ãã¯ãé¡ä¼¼ãã¦ãããï¼3.ãå ããè¥å¹²è¤éã«ãªã£ã¦ããï¼
+ããã¯\pLaTeXe ããã©ã¼ãããã§ããã®ã«å¯¾ã\LuaTeX-jaã¯ããã§ãªãããï¼
+\LuaTeX-jaã¯èªèº«ãèªã¿è¾¼ã¾ããåã«ã©ããã\cs{DeclareFontFamily}ã®å¼ã³åºãããã£ãã
+ææ¡ã§ããªãããã§ããï¼
%
+
+%\paragraph{Remarks}
+%\paragraph{注æ}
%<*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.
+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>
-\item ä¸è¨ã®ãããããé©ç¨ãããªãï¼ã¤ã¾ããã¨ã®
- ã©ã¡ãã§ãå®ç¾©ãããªããããªå ´åãããï¼
- ãã®å ´åï¼ä»£æ¿ãã©ã³ãã«ç¨ããããããã©ã«ãã®ãã©ã³ããã¡ããªã欧æãã©ã³ãã¨
- åæãã©ã³ãã«ç¨ããããï¼\LaTeX ã®ãªãªã¸ãã«ã®å®è£
ã¨ã¯ç°ãªãï¼
- ç¾å¨ã®ã¨ã³ã³ã¼ãã£ã³ã°ã¯ã«ã¯è¨å®ãããªããã¨ã«æ³¨æããï¼
+ãã¦ï¼å¼æ°ã«ãã£ã¦ã¯ï¼ãåæãã©ã³ããã¡ããªã¨ã欧æãã©ã³ããã¡ããªãèªèãããªãã£ãã
+ã¨ããäºæ
ãããå¾ãï¼
+ ãã®å ´åï¼å¼æ°ã¯ä¸æ£ã ã£ãï¼ã¨ãããã¨ã«ãªãã®ã§ï¼
+åæã»æ¬§æã®ä¸¡æ¹ã®ãã©ã³ããã¡ããªãã«è¨å®ãï¼ä»£ç¨ãã©ã³ãã使ãããã«ä»»ãããã¨ã«ããï¼
%
-\end{itemize}%
-%\vspace{-\medskipamount}
-}
-\item[DeclareAlternateKanjiFont\{\}\{\}\{\}\{\}\\
- \hfill\{\}\{\}\{\}\{\}\{\}]
-%<*ja>
-\ref{ssec-altfont}ç¯ã®
-\verb+\ltjdeclarealtfont+ ã¨åæ§ã«ï¼ååã®4å¼æ°ã®åæãã©ã³ãï¼åºåºãã©ã³ãï¼ã®ãã¡ä¸ã®æåã
-第5--第8å¼æ°ã®åæãã©ã³ãã使ã£ã¦çµãããã«æ示ããï¼ä½¿ç¨ä¾ãå³\ref{fig:altkanji}ã«è¼ããï¼
-
-{\let\item\origitem
-\vspace{-\medskipamount}
-\begin{itemize}
- \item
-\verb+\ltjdeclarealtfont+ ã§ã¯åºåºãã©ã³ãã»ç½®ãæãå
åæãã©ã³ãã¯ãããããå®ç¾©ããã¦ã
- ãªãã¨ãããªãï¼ãã®ä»£ããå³æçºå¹ï¼ã§ãã£ããï¼
-\verb+\DeclareAlternateKanjiFont+ ã®è¨å®ã
-å®éã«å¹åãçºæ®ããã®ã¯ï¼æ¸ä½å¤æ´ããµã¤ãºå¤æ´ãè¡ã£ãæï¼
-ãããã¯ï¼ããããå«ããï¼\verb+\selectfont+ ãå®è¡ãããæã§ããï¼
- \item
-段è½ãæ°´å¹³ããã¯ã¹ã®æå¾ã§ã®è¨å®å¤ã段è½ï¼æ°´å¹³ããã¯ã¹å
¨ä½ã«ããã£ã¦éç¨ããç¹ãï¼
-ã«è² æ°$-n$ãæå®ããå ´åï¼ããããåºåºãã©ã³ãã®æåã¯ã©ã¹$n$ã«å±ããæåå
¨ä½ã
-ã¨è§£éãããã®ã¯ \verb+\ltjdeclarealtfont+ ã¨åãã§ããï¼
-\end{itemize}%
-%\vspace{-\medskipamount}
-}
-%
-%<*en>
-As \verb+\ltjdeclarealtfont+, characters in of the Japanese font (we say the \emph{base font})
-which specified by first 4 arguments are typeset
-by the Japanese font which specified by fifth to eighth arguments.
-An example is shown in Figure~\ref{fig:altkanji}.
-%
-\end{cslist}
%<*en>
-As closing this subsection, we shall introduce an example of
-\verb+\SetRelationFont+ and \verb+\userelfont+:
+\section{Addon packages}
+\LuaTeX-ja has several addon packages.
+These addons are written as \LaTeX\ packages, but
+\Pkg{luatexja-otf} and~\Pkg{luatexja-adjust} can be loaded in plain \LuaTeX\
+by \cs{input}.
%
%<*ja>
-ãã®ç¯ã®çµããã«ï¼\verb+\SetRelationFont+ 㨠\verb+\userelfont+ ã®ä¾ã
-ç´¹ä»ãã¦ãããï¼\verb+\userelfont+ ã®ä½¿ç¨ã«ãã£ã¦ï¼ãabcãã®é¨åã®ãã©ã³ãã
-Avant Garde (OT1/pag/m/n) ã«å¤ãã£ã¦ãããã¨ããããï¼
+\section{æ¡å¼µããã±ã¼ã¸}
+\LuaTeX-jaã«ã¯ï¼åä½ã«ã¯å¿
é ã§ã¯ãªããï¼èªç±ã«èªã¿è¾¼ããæ¡å¼µãä»å±ãã¦ããï¼
+ãããã¯\LaTeX ã®ããã±ã¼ã¸ã¨ãã¦å¶ä½ãã¦ãããï¼
+\Pkg{luatexja-otf}ã¨\Pkg{luatexja-adjust}ã«ã¤ãã¦ã¯plain \LuaTeX ã§ã\
+\cs{input} ã§èªã¿è¾¼ã¿å¯è½ã§ããï¼
%
-\begin{LTXexample}[width=0.3\textwidth]
-\makeatletter
-\SetRelationFont{JY3}{\k@family}{m}{n}{OT1}{pag}{m}{n}
- % \k@family: current Japanese font family
-\userelfont\selectfont ãããabc
-\end{LTXexample}
-
-%\section{Extensions}
-%\section{æ¡å¼µ}
-\subsection{\texttt{luatexja-fontspec.sty}}
-
+\subsection{\Pkg{luatexja-fontspec}}
+\label{ssec-fontspec2}
%<*en>
As described in Subsection~\ref{ssec-fontspec}, this optional package
provides the counterparts for several commands defined in the
-\Pkg{fontspec} packageï¼
+\Pkg{fontspec} package (requires \Pkg{fontspec}~v2.4).
In addition to OpenType font features in the original \Pkg{fontspec},
the following ``font features'' specifications are allowed for
the commands of Japanese version:
%
%<*ja>
-\ref{ssec-fontspec}ç¯ã§è¿°ã¹ãããã«ï¼ãã®è¿½å ããã±ã¼ã¸ã¯\Pkg{fontspec}
+\ref{ssec-fontspec}ç¯ã§è¿°ã¹ãããã«ï¼ãã®è¿½å ããã±ã¼ã¸ã¯\Pkg{fontspec}%
ããã±ã¼ã¸ã§å®ç¾©ããã¦ããã³ãã³ãã«å¯¾å¿ããåæãã©ã³ãç¨ã®ã³ãã³ããæä¾ããï¼
-\Pkg{fontspec}ããã±ã¼ã¸ã§æå®å¯è½ãªå種font featureã«å ãã¦ï¼åæçã®ã³ãã³ãã«ã¯
-以ä¸ã®``font feature''ãæå®ãããã¨ãã§ããï¼
+
+\Pkg{fontspec}ããã±ã¼ã¸ã§æå®å¯è½ãªå種OpenTypeæ©è½ã«å ãã¦ï¼åæçã®ã³ãã³ãã«ã¯
+以ä¸ã®ããã©ã³ãæ©è½ããæå®ãããã¨ãã§ããï¼
%
-\begin{list}{}{\def\makelabel{\ttfamily}\def\{{\char`\{}\def\}{\char`\}}\advance\leftmargin1\zw}
-\item[CID=]
-\item[JFM=]
-\item[JFM-var=] \
+\begin{cslist}
+\item[CID=\textrm{, }JFM=\textrm{, }JFM-var=]
%<*en>
-These 3 font features correspond to \texttt{cid}, \texttt{jfm} and
-\texttt{jfmvar} keys for \verb+\jfont+ respectively.
-\texttt{CID} is effective only when with \texttt{NoEmbed}
-described below.
-See Subsections~\ref{ssec-jfont} and \ref{ssec-psft} for details.
+These 3 keys correspond to \texttt{cid}, \texttt{jfm} and
+\texttt{jfmvar} keys for \cs{jfont}~and~\cs{tfont} respectively.
+See Subsections~\ref{ssec-jfont} and \ref{ssec-psft} for details
+ of \texttt{cid}, \texttt{jfm} and
+\texttt{jfmvar} keys.
+
+The \texttt{CID} key is effective only when with \texttt{NoEmbed}
+described below. The same JFM cannot be used in both horizontal Japanese fonts and
+ vertical Japanese fonts, hence the \texttt{JFM} key
+will be actually used in \texttt{YokoFeatures}~and~\texttt{TateFeatures} keys.
%
%<*ja>
-ããã3ã¤ã®ãã¼ã¯ãããã \verb+\jfont+ ã«å¯¾ãã
+ããã3ã¤ã®ãã¼ã¯ãããã \cs{jfont},~\cs{tfont}ã«å¯¾ãã
\texttt{cid}, \texttt{jfm}, \texttt{jfmvar}ãã¼ã¨ãããã対å¿ããï¼
-\texttt{CID} ã¯ä¸ã® \texttt{NoEmbed} ã¨åããã¦ç¨ããããã¨ãã®ã¿æå¹ã§ããï¼
-\verb+\jfont+ ããªããã£ãã«å¯¾ãã
\texttt{cid}, \texttt{jfm}, \texttt{jfmvar}ãã¼ã®è©³ç´°ã¯\ref{ssec-jfont}ç¯
ã¨\ref{ssec-psft}ç¯ãåç
§ï¼
+
+\texttt{CID} ãã¼ã¯ä¸ã® \texttt{NoEmbed} ã¨åããã¦ç¨ããããã¨ãã®ã¿æå¹ã§ããï¼
+ã¾ãï¼æ¨ªçµç¨JFMã¨ç¸¦çµç¨JFMã¯å
±ç¨ã§ããªãããï¼å®éã« \texttt{JFM} ãã¼ãç¨ããéã¯
+å¾ã«è¿°ã¹ã\ \texttt{YokoFeatures} ãã¼ã \texttt{TateFeatures}\ ã®ä¸ã§ç¨ãã
+ãã¨ã«ãªãï¼
%
\item[NoEmbed]
%<*en>
-By specifying this font feature, one can use ``name-only'' Japanese font which
+By specifying this key, one can use ``name-only'' Japanese font which
will not be embedded in the output PDF file. See Subsection~\ref{ssec-psft}.
%
%<*ja>
ãããæå®ãããã¨ã§ï¼PDFã«åãè¾¼ã¾ããªããååã ããã®ãã©ã³ããæå®ãããã¨ã
ã§ããï¼\ref{ssec-psft}ç¯ãåç
§ï¼
%
-\end{list}
+
+\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[Kanjiskip=]
+%<*ja>
+\pageref{pg:ltjksp}ãã¼ã¸ã§èª¬æãã \verb+\jfont+ ä¸ã§ã® \texttt{ltjksp} æå®ã¨
+åä¸ã®å¹åãæã¡ï¼
+JFMä¸ã«ããã \texttt{kanjiskip\_natural}, \texttt{kanjiskip\_stretch},\
+\texttt{kanjiskip\_shrink}ãã¼ï¼\pageref{pg:ksp_nat}ãã¼ã¸ï¼ã®æå¹/ç¡å¹ãåãæ¿ããï¼
+æ¨æºå¤ã¯ \texttt{true} ã§ããï¼
+%
+
+\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>
+縦çµã«ããã¦ä½¿ç¨ããããã©ã³ããï¼ç¸¦çµã«ããã¦ã®ã¿é©ç¨ããããã©ã³ãæ©è½éã
+æå®ããï¼ä½¿ç¨ä¾ã¯å³\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>
+åæ§ã«ï¼æ¨ªçµã«ããã¦ã®ã¿é©ç¨ããããã©ã³ãæ©è½éã
+æå®ããï¼ä½¿ç¨ä¾ã¯å³\ref{fig:yokotate-fontspec}åç
§ï¼
+%
+
+
+\begin{figure}[!tb]
+\begin{LTXexample}[pos=b]
+\jfontspec[
+ AltFont={
+ {Range="4E00-"67FF, Color=007F00},
+ {Range="6800-"9EFF, Color=0000FF},
+ {Range="3040-"306F, Font=KozGoPr6N-Regular},
+ }
+]{KozMinPr6N-Regular}
+æ¥æ¬å½æ°ã¯ãæ£å½ã«é¸æãããå½ä¼ã«ããã代表è
ãéãã¦è¡åãããããã¨ãããã®åå«ã®ããã«ã
+諸å½æ°ã¨ã®ååã«ããææã¨ãããå½å
¨åã«ããã¤ã¦èªç±ã®ããããæµæ²¢ã確ä¿ããâ¦â¦
+\end{LTXexample}
+%\caption{\texttt{AltFont} ã®ä½¿ç¨ä¾}
+%\caption{An example of \texttt{AltFont}}
+\label{fig:altkanji-fontspec}
+\end{figure}
+
+\item[AltFont]
+
+%<*en>
+As \cs{ltjdeclarealtfont}~(Subsection~\ref{ssec-altfont}) and
+\cs{DeclareAlternateKanjiFont}~(Subsection~\ref{ssec-nfsspat}),
+with this key, one can typeset some Japanese characters
+by a different font and/or using different features.
+The \texttt{AltFont} feature takes a comma-separated list of comma-separated lists,
+as the following:
+%
+%<*ja>
+\ref{ssec-altfont}ç¯ã® \cs{ltjdeclarealtfont} ãï¼
+\ref{ssec-nfsspat}ç¯ã® \cs{DeclareAlternateKanjiFont} ã¨åæ§ã«ï¼
+ãã®ãã¼ãç¨ããã¨ä¸é¨ã®æåãç°ãªã£ããã©ã³ããæ©è½ãã¡ã使ã£ã¦çµããã¨ãã§ããï¼
+\texttt{AltFont} ãã¼ã«æå®ããå¤ã¯ï¼æ¬¡ã®ããã«äºéã®ã³ã³ãåºåããªã¹ãã§ããï¼
+%
+\begin{lstlisting}[escapechar=\#]
+AltFont = {
+ ...
+ { Range=#\LARG range>#, #\LARG features>#},
+ { Range=#\LARG range>#, Font=#\LARG font~name>#, #\LARG features># },
+ { Range=#\LARG range>#, Font=#\LARG font~name># },
+ ...
+}
+\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}.
+%
+%<*ja>
+åé¨åãªã¹ãã«ã¯ \texttt{Range} ãã¼ãå¿
é ã§ããï¼å«ã¾ããªãé¨åãªã¹ãã¯
+åç´ã«ç¡è¦ãããï¼ï¼æå®ä¾ã¯å³\ref{fig:altkanji-fontspec}ã«ç¤ºããï¼
+%
+\end{cslist}
%<*ja>
ãªãï¼\Pkg{luatexja-fontspec} èªã¿è¾¼ã¿æã«ã¯åæãã©ã³ãå®ç¾©ãã¡ã¤ã«%
@@ -4142,20 +6546,90 @@ will not be embedded in the output PDF file. See Subsection~\ref{ssec-psft}.
%
+%<*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>
+\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}\ ã«ãã
+OpenTypeæ©è½æå®ã¯
+çµæ¹åã«ä¾åããªãOpenTypeæ©è½ã®æå®ããå¾ã«è§£éããã}ããã§ããï¼
+
+%
-\subsection{\texttt{luatexja-otf.sty}}
+\subsection{\Pkg{luatexja-otf}}
+\label{ssec-ltjotf}
%<*en>
This optional package supports typesetting characters in
-Adobe-Japan1. the package \Pkg{luatexja-otf} offers the following 2~low-level
+Adobe-Japan1 character collection
+(or other CID character collection, if the font is supported).
+The package \Pkg{luatexja-otf} offers the following 2~low-level
commands:
%
%<*ja>
-ãã®è¿½å ããã±ã¼ã¸ã¯Adobe-Japan1ã®æåã®åºåããµãã¼ãããï¼
+ãã®è¿½å ããã±ã¼ã¸ã¯Adobe-Japan1ï¼ãã©ã³ãèªèº«ãæã£ã¦ããã°ï¼
+å¥ã®CIDæåã»ããã§ãå¯ï¼ã®æåã®åºåããµãã¼ãããï¼
\Pkg{luatexja-otf}ã¯ä»¥ä¸ã®2ã¤ã®ä½ã¬ãã«ã³ãã³ããæä¾ããï¼
%
-\begin{list}{}{\def\makelabel{\ttfamily}\def\{{\char`\{}\def\}{\char`\}}\advance\leftmargin1\zw}
-\item[\char92CID\{\}]
+\begin{cslist}
+\item[\cs{CID}\{\}]
%<*en>
Typeset a character whose CID number is .
%
@@ -4163,7 +6637,7 @@ Typeset a character whose CID number is .
CIDçªå·ãã®æåãåºåããï¼
%
-\item[\char92UTF\{\}]
+\item[\cs{UTF}\{\}]
%<*en>
Typeset a character whose character code is (in hexadecimal).
This command is similar to \verb+\char"+,\ %"
@@ -4171,18 +6645,33 @@ but please remind remarks below.
%
%<*ja>
æåã³ã¼ããï¼16é²ã§ï¼ã®æåãåºåããï¼
-ãã®ã³ãã³ã㯠\verb+\char"+ã¨ä¼¼ã¦ãããï¼ä¸ã®è¨è¿°ã«æ³¨æãããã¨ï¼%"
+ãã®ã³ãã³ã㯠\verb+\char"+ã¨ä¼¼ã¦ãããï¼ä¸ã®æ³¨æãåç
§ãããã¨ï¼%"
%
-\end{list}
+\end{cslist}
+
+%<*ja>
+ãã®ããã±ã¼ã¸ã¯ï¼ãã¯ãé \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{注æ}
%<*en>
-Characters by \verb+\CID+ and \verb+\UTF+ commands are different from
+Characters by \cs{CID} and \cs{UTF} commands are different from
ordinary characters in the following points:
%
%<*ja>
-\verb+\CID+ 㨠\verb+\UTF+ ã³ãã³ãã«ãã£ã¦åºåãããæåã¯
+\cs{CID} 㨠\cs{UTF} ã³ãã³ãã«ãã£ã¦åºåãããæåã¯
以ä¸ã®ç¹ã§é常ã®æåã¨ç°ãªãï¼
%
\begin{itemize}
@@ -4198,13 +6687,12 @@ ordinary characters in the following points:
is not performed to these characters.
%
%<*ja>
-\item OpenType featureï¼ä¾ãã°ã°ãªãç½®æãã«ã¼ãã³ã°ï¼ããµãã¼ãããããã®
+\item OpenTypeæ©è½ï¼ä¾ãã°ã°ãªãç½®æãã«ã¼ãã³ã°ï¼ããµãã¼ãããããã®
\Pkg{luaotfload}ããã±ã¼ã¸ã®ã³ã¼ãã¯ãããã®æåã«ã¯åããªãï¼
%
\end{itemize}
-
-%\paragraph{Additional Syntax of JFM}
+%\paragraph{Additional syntax of JFM}
%\paragraph{JFMã¸ã®è¨æ³ã®è¿½å }
%<*en>
@@ -4213,7 +6701,7 @@ chars} table in JFM now allows a string in the form
\verb+'AJ1-xxx'+, which stands for the character
whose CID number in Adobe-Japan1 is \verb+xxx+.
-This extened notation is used in the standard JFM \texttt{jfm-ujis.lua}
+This extended notation is used in the standard JFM \texttt{jfm-ujis.lua}
to typeset halfwidth Hiragana glyphs (CID~516--598) in halfwidth.
%
%<*ja>
@@ -4225,11 +6713,14 @@ JFMã®\texttt{chars}ãã¼ãã«ã®ã¨ã³ããªã¨ã㦠\verb+'AJ1-xxx'+ ã®å½¢
æ£ããåè§å¹
ã§çµãããã«å©ç¨ããã¦ããï¼
%
-\def\IVS#1{\char\numexpr "E0100+#1\relax}%"
-\def\IVSA#1#2#3#4#5{%
- \textcolor{blue}{\raisebox{3.5pt}{\tt%
- \fboxsep=1pt\fbox{\tiny \oalign{0#1#2\crcr#3#4#5\crcr}}}}\ignorespaces
-}
+%<*en>
+\paragraph{IVS support}
+Recent fonts support Ideographic Variation Selector (IVS).
+It seems that \Pkg{luaotfload} and \Pkg{fontspec} packages do not support
+IVS, so we implemented IVS support in \Pkg{luatexja-otf}.
+\emph{IVS support is experimental; if you want to enable this, load
+\Pkg{luatexja-otf} and execute the following:}
+%
%<*ja>
\paragraph{IVSãµãã¼ã}
æè¿ã®OpenTypeãã©ã³ããTrueTypeãã©ã³ãã«ã¯ï¼
@@ -4240,57 +6731,65 @@ JFMã®\texttt{chars}ãã¼ãã«ã®ã¨ã³ããªã¨ã㦠\verb+'AJ1-xxx'+ ã®å½¢
IVSã«å¯¾å¿ãã¦ã¯ããªãããã§ããï¼ãããã®ããã±ã¼ã¸ã§å¯¾å¿ãã¦ãããã®ãçæ³çã ãï¼
ããã¾ã§ã®ã¤ãªãã¨ãã¦ï¼\Pkg{luatexja-otf}ããã±ã¼ã¸å
ã«IVS対å¿ãä»è¾¼ãã§ãããï¼
-{\catcode`\%=11
- \gdef\IVSB#1{\expandafter\IVSA\directlua{tex.sprint(string.format('%X', 0xE0100+#1))}}}
-
\medskip
\emph{IVS対å¿ã¯è©¦é¨çãªãã®ã§ããï¼
æå¹ã«ããã«ã¯ï¼\Pkg{luatexja-otf}ããã±ã¼ã¸ãèªã¿è¾¼ãã ä¸ã§ä»¥ä¸ã®å½ä»¤ãå®è¡ãã%
\footnote{ãã®å½ä»¤ã2å以ä¸å®è¡ãã¦ãæå³ããªãï¼}ï¼}
-\begin{verbatim}
+%
+\begin{lstlisting}
\directlua{luatexja.otf.enable_ivs()}
-\end{verbatim}
-ããã¨ï¼ä¸ã®å½ä»¤ãå®è¡ããç®æ以éã§ã¯ï¼ä»¥ä¸ã®ããã«IVSã«ããåå½¢æå®ãæå¹ã¨ãªãï¼
-\begin{LTXexample}[explpreset={escapechar=\'}, preset={\let\IVSB=\IVS\catcode`\'=9 } ]
+\end{lstlisting}
+% ããã¨ï¼ä¸ã®å½ä»¤ãå®è¡ããç®æ以éã§ã¯ï¼ä»¥ä¸ã®ããã«IVSã«ããåå½¢æå®ãæå¹ã¨ãªãï¼
+% After executing the command above, you can use IVS like the following:
+\begin{LTXexample}
\Large
\jfontspec{KozMinPr6N-Regular}
-å¥è¯çè'\IVSB0'åå¸ã¨ï¼æ±äº¬é½è'\IVSB1'飾åºï¼\\
-ããã«ã¡ã¯ï¼æ¸¡%
-é'\IVSB{00}'é'\IVSB{01}'é'\IVSB{02}'é'\IVSB{03}'é'\IVSB{04}'%
-é'\IVSB{05}'é'\IVSB{06}'é'\IVSB{07}'é'\IVSB{08}'é'\IVSB{09}'%
-é'\IVSB{10}'é'\IVSB{11}'é'\IVSB{12}'é'\IVSB{13}'é'\IVSB{14}'%
+å¥è¯çèó åå¸ã¨ï¼æ±äº¬é½èó 飾åºï¼\\
+ããã«ã¡ã¯ï¼æ¸¡
+éó éó éó éó éó
+éó
éó éó éó éó
+éó éó éó éó éó
ããï¼
\end{LTXexample}
+%<*ja>
å·¦ä¸å´ã®å
¥åã«ããã¦ã¯ï¼æ¼¢åç¨ç°ä½åã»ã¬ã¯ã¿ãæ示ããããï¼
-ä¾ãã°\texttt{U+E0102}ã\IVSB2ã®ããã«è¡¨è¨ãã¦ããï¼
-
+ä¾ãã°Variation~Selector~18 (\texttt{U+E0101})ã\IVSB{18}ã®ããã«è¡¨è¨ãã¦ããï¼
+%
\medskip
-ã¾ãï¼IVSã«ããåå½¢æå®ã¯ï¼font featureã«ããããã«åªå
ããããã¨ã¨ããï¼
+%<*en>
+Specifying glyph variants by IVS precedes glyph replacement by font features.
+For example, only ``è'' in ``è西'' is changed by font features
+\texttt{jp78}~or~\texttt{jp90}, which does not followed by any variation selector.
+%
+%<*ja>
+ã¾ãï¼IVSã«ããåå½¢æå®ã¯ï¼OpenTypeæ©è½ã«ããããã«åªå
ããããã¨ã¨ããï¼
ä¸ã®ä¾ã«ããã¦ï¼\texttt{jp78}, \texttt{jp90} æå®ã§åå½¢ãå¤åããæåã¯
ç°ä½åã»ã¬ã¯ã¿ãç¶ãã¦ããªããè西ãä¸ã®ãèãã®ã¿ã§ããï¼
-\begin{LTXexample}[explpreset={escapechar=\'}, preset={\let\IVSB=\IVS\catcode`\'=9 } ]
+%
+\begin{LTXexample}
\def\TEST#1{%
{\jfontspec[#1]{KozMinPr6N-Regular}%
- è'\IVSB0'åå¸ï¼è'\IVSB1'飾åºï¼è西}\\}
+ èó åå¸ï¼èó 飾åºï¼è西}\\}
æå®ãªãï¼\TEST{}
\texttt{jp78}ï¼\TEST{CJKShape=JIS1978}
\texttt{jp90}ï¼\TEST{CJKShape=JIS1990}
\end{LTXexample}
+%<*ja>
ç¾ç¶ã§ã¯ï¼\TeX å´ã®ã¤ã³ã¿ã¼ãã§ã¼ã¹ã¨ãªã \Pkg{luatexja-otf.sty} ã¯ä¸åå¤æ´ãã¦ããªã
ã®ã§ï¼ZRããã«ãã\Pkg{PXipamjm}ããã±ã¼ã¸%
\footnote{\url{https://github.com/zr-tex8r/PXipamjm}. 説æã¯å½¼ã®ããã°è¨äº
ãpxipamjm ããã±ã¼ã¸ã®èª¬ææ¸ã®ãããªä½ã(\url{http://d.hatena.ne.jp/zrbabbler/20131221})ã
-ã«ããï¼}%
+ã«ããï¼}
ã«ãããããªæ°ã®å©ããå½ä»¤ã¯ã¾ã ãªãï¼
ç°ä½åã®ä¸è¦§è¡¨ç¤ºãè¡ãããå ´åã¯ï¼gitãªãã¸ããªå
ã® \texttt{test/test19-ivs.tex} ä¸ã«ãã
Luaã»\TeX ã³ã¼ããåèã«ãªãã ããï¼
%
-\subsection{\texttt{luatexja-adjust.sty}}
+\subsection{\Pkg{luatexja-adjust}}
\label{ssec-adj}
\begin{figure}[t]
\def\sq{%
@@ -4304,7 +6803,7 @@ Luaã»\TeX ã³ã¼ããåèã«ãªãã ããï¼
\def\outbox#1{{\Large%
\ltjsetparameter{kanjiskip=0pt plus .2\zw minus .2\zw}%
\setbox\gridbox=\hbox to 20\zw{\sq\sq\sq\sq\sb\sq\sq\sq\sq\sb\sq\sq\sq\sq\sb\sq\sq\sq\sq\sb}%
- \hbox{\textcolor{cyan!50!white}{\copy\gridbox}\hskip-20\zw%
+ \hbox{\textcolor{cyan}{\copy\gridbox}\hskip-20\zw%
\vbox{\hsize=20\zw\noindent\leftskip0pt\rightskip0pt\parfillskip0pt#1}\vrule}%
}}
@@ -4324,8 +6823,8 @@ with priority&%
\end{tabular}\par}
\smallskip
-Note: the value of
-\Param{\hyperlink{fld:kanjiskip}{kanjiskip}} is 0\,pt${}^{+1/5\,\mathrm{em}}_{-1/5\,\mathrm{em}}$ in this figure,
+Note: the value of
+\Param{kanjiskip} is 0\,pt${}^{+1/5\,\mathrm{em}}_{-1/5\,\mathrm{em}}$ in this figure,
for making the difference obvious.
%\caption{è¡é·èª¿æ´}\label{fig-adj}
%\caption{Line adjustment}\label{fig-adj}
@@ -4333,35 +6832,278 @@ for making the difference obvious.
%<*en>
-...
+(see Japanese version of this manual)
%
%<*ja>
\pTeX ã§ã¯ï¼è¡é·èª¿æ´ã«ããã¦åªå
度ã®æ¦å¿µãåå¨ããªãã£ãããï¼å³
\ref{fig-adj}ä¸æ®µã«ãããåè§åã®å端ã¯ï¼å³\ref{fig-adj}ä¸æ®µã®ããã«ï¼éµ
-æ¬å¼§å¨è¾ºã®ç©ºç½ã¨åæé空ç½(\Param{\hyperlink{fld:kanjiskip}{kanjiskip}})ã®ä¸¡æ¹ã«ãã£ã¦è² æ
ãããï¼ã
+æ¬å¼§å¨è¾ºã®ç©ºç½ã¨åæé空ç½(\Param{kanjiskip})ã®ä¸¡æ¹ã«ãã£ã¦è² æ
ãããï¼ã
ããï¼ãæ¥æ¬èªçµçå¦çã®è¦ä»¶ã\cite{jlreq}ãJIS~X~4051~\cite{x4051}ã«ãã
ã¦ã¯ï¼ãã®ãããªç¶æ³ã§ã¯å端ã¯éµæ¬å¼§å¨è¾ºã®ç©ºç½ã®ã¿ã§è² æ
ãï¼ãã®ä»ã®åæ
æåã¯ãã¿çµã§çµã¾ããï¼å³\ref{fig-adj}ä¸æ®µï¼ãã¨ã«ãªã£ã¦ããï¼ãã®è¿½å
ããã±ã¼ã¸ã¯\cite{jlreq}ã\cite{x4051}ã«ãããè¦å®ã®ãããªï¼åªå
é ä½ä»ã
-ã®è¡é·èª¿æ´ãæä¾ããï¼è©³ç´°ãªä»æ§ã«ã¤ãã¦ã¯\ref{sec-adjspec}ãåç
§ï¼
+ã®è¡é·èª¿æ´ãæä¾ããï¼è©³ç´°ãªä»æ§ã«ã¤ãã¦ã¯\ref{sec-adjspec}ç« ãåç
§ãã¦ã»ããï¼
+\begin{itemize}
+ \item åªå
度ä»ãè¡é·èª¿æ´ã¯ï¼æ®µè½ãè¡åå²ããå¾ã«åã
ã®è¡ã«ã¤ãã¦è¡ããããã®ã§ããï¼
+ãã®ããï¼è¡åå²ã®ä½ç½®ã¯å¤åãããã¨ã¯ãªãï¼
+
+ã¾ãï¼\verb+\hbox to ... {...}+ ã®ãããªãå¹
ãæå®ãããhboxãã§ã¯ç¡å¹ã§ããï¼
+ \item åªå
度ä»ãè¡é·èª¿æ´ãè¡ãã¨ï¼åæå¦çã°ã«ã¼ã®èªç¶é·ã¯å¤åããªããï¼ä¼¸ã³éã縮ã¿éã¯
+ä¸è¬ã«å¤åããï¼ãã®ããï¼æ¢ã«çµã¾ãã段è½ã \cs{unhbox} ãªã©ãå©ç¨ãã¦çµã¿ç´ãå¦çã
+è¡ãå ´åã«ã¯æ³¨æãå¿
è¦ã§ããï¼
+\end{itemize}
\Pkg{luatexja-adjust} ã¯ï¼ä»¥ä¸ã®å½ä»¤ãæä¾ããï¼ãããã¯ãã¹ã¦ã°ãã¼ãã«ã«å¹åãçºæ®ããï¼
-\begin{list}{}{\def\makelabel{\ttfamily}\def\{{\char`\{}\def\}{\char`\}}\advance\leftmargin1\zw}
-\item[\char92ltjdisableadjust]
+\begin{cslist}
+\item[\cs{ltjdisableadjust}]
åªå
é ä½ä»ãã®è¡é·èª¿æ´ãç¡å¹åããï¼
-\item[\char92ltjenableadjust]
+\item[\cs{ltjenableadjust}]
åªå
é ä½ä»ãã®è¡é·èª¿æ´ãæå¹åããï¼
-\end{list}
+\item[\textsf{adjust}\,=] \cs{ltjsetparameter} ã§æå®å¯è½ãªè¿½å ãã©ã¡ã¼ã¿ã§ããï¼
+ã\textit{true}ãªã \cs{ltjenableadjust} ãï¼
+ããã§ãªããã° \cs{ltjdisableadjust} ãå®è¡ããï¼
+\end{cslist}
+%
+
+\subsection{\Pkg{luatexja-ruby}}
+%<*en>
+This addon package provides functionality of ``ruby'' (\emph{furigana}) annotations
+using callbacks of \LuaTeX-ja.
+There is no detailed manual of \Pkg{luatexja-ruby.sty} in English.
+(Japanese manual is another PDF file, \url{luatexja-ruby.pdf}.)
+%
+%<*ja>
+ãã®è¿½å ããã±ã¼ã¸ã¯ï¼\LuaTeX-jaã®æ©è½ãå©ç¨ããã«ãï¼æ¯ãä»®åï¼ã®çµçæ©è½ãæä¾ããï¼
+åå¾ã®æå種ã«å¿ããåå¾ã¸ã®èªåé²å
¥ãï¼
+è¡é å½¢ã»è¡ä¸å½¢ã»è¡æ«å½¢ã®èªåçãªä½¿ãåããç¹å¾´ã§ããï¼
+
+ã«ãçµçã«è¨å®å¯è½ãªé
ç®ã注æäºé
ãå¤ãããï¼æ¬è¿½å ããã±ã¼ã¸ã®è©³ç´°ãªèª¬æã¯
+使ç¨ä¾ã¨å
±ã« \url{luatexja-ruby.pdf}\ ã¨ããå¥ãã¡ã¤ã«ã«è¼ãã¦ããï¼
+ãã®ç¯ã§ã¯ç°¡åãªä½¿ç¨æ¹æ³ã®ã¿è¿°ã¹ãï¼
+%
+
+\begin{description}
+%<*en>
+ \item[Group-ruby]
+By default, ruby characters (the second argument of \cs{ruby})
+are attached to base characters (the first argument), as one object.
+This type of ruby is called \emph{group-ruby}.
+%
+%<*ja>
+ \item[ã°ã«ã¼ãã«ã] æ¨æºã§ã¯ã°ã«ã¼ãã«ãã®å½¢ã§çµã¾ããï¼ç¬¬1å¼æ°ã«è¦ªæåï¼
+第2å¼æ°ã«ã«ããè¨è¿°ããï¼
+%
+\begin{LTXexample}[width=0.3\textwidth]
+æ±è¥¿ç·\ruby{å¦å
¸}{ã¿ããã§ã}é§
ã¯â¦â¦\\
+æ±è¥¿ç·ã®\ruby{å¦å
¸}{ã¿ããã§ã}é§
ã¯â¦â¦\\
+æ±è¥¿ç·ã®\ruby{å¦å
¸}{ã¿ããã§ã}ã¨ããé§
â¦â¦\\
+æ±è¥¿ç·\ruby{è西}{ããã}é§
ã¯â¦â¦
+\end{LTXexample}
+%<*en>
+As the above example, ruby hangover is allowed on the Hiragana before/after
+its base characters.
+%
+% ãã®ä¾ã®ããã«ï¼æ¨æºã§ã¯åå¾ã®å¹³ä»®åã«ã«ãå
¨è§ã¾ã§ãããããã«ãªã£ã¦ããï¼
+
+%<*en>
+\item[Mono-ruby]
+To attach ruby characters to each base characters (\emph{mono-ruby}),
+one should use \cs{ruby} multiple times:
+%
+%<*ja>
+ \item[ã¢ãã«ã] 親æåã1æåã«ããã¨ã¢ãã«ãã¨ãªãï¼
+2æå以ä¸ã®çèªãã¢ãã«ãã®å½¢ã§çµã¿ããå ´åã¯ï¼é¢åã§ã
+ãã®æ°ã ã \cs{ruby} ãæ¸ãå¿
è¦ãããï¼
+%
+\begin{LTXexample}[width=0.3\textwidth]
+æ±è¥¿ç·ã®\ruby{å¦}{ã¿ãã}\ruby{å
¸}{ã§ã}é§
ã¯â¦â¦
+\end{LTXexample}
+
+%<*en>
+ \item[Jukugo-ruby]
+Vertical bar~\verb+|+ denotes a boundary of \emph{groups}.
+%
+%<*ja>
+ \item[çèªã«ã] å¼æ°å
ã®ç¸¦æ£ \verb+|+ ã¯ã°ã«ã¼ãã®åºåãã表ãï¼
+è¤æ°ã°ã«ã¼ãã®ã«ãã¯çèªã«ãã¨ãã¦çµã¾ããï¼
+\cite{x4051}ã«ããããã«ï¼
+ã©ã®ã°ã«ã¼ãã§ãã親æåãã対å¿ããã«ã以ä¸ã®é·ãã®å ´åã¯
+åã°ã«ã¼ããã¨ã«ï¼ããã§ãªãã¨ãã¯å
¨ä½ãã¾ã¨ãã¦1ã¤ã®ã°ã«ã¼ãã«ãã¨ãã¦çµã¾ããï¼
+\cite{jlreq}ã§è¦å®ããã¦ããçµã¿æ¹ã¨ã¯ç°ãªãã®ã§æ³¨æï¼
+%
+\begin{LTXexample}
+\ruby{å¦|å
¸}{ã¿ãã|ã§ã}\
+\ruby{è|西}{ã|ãã}\
+\ruby{ç¥æ¥½|å}{ããã|ãã}
+\end{LTXexample}
+%<*en>
+If there are multiple groups in one \cs{ruby} call,
+A linebreak between two groups is allowed.
+%
+% è¤æ°ã«ãã§ã¯ã°ã«ã¼ãã¨ã°ã«ã¼ãã®éã§æ¹è¡ãå¯è½ã§ããï¼
+\begin{LTXexample}[width=0.3\textwidth]
+\vbox{\hsize=6\zw\noindent
+ \hbox to 2.5\zw{}\ruby{京|æ¥|è²|ç°}{ãã|ããã|ãã¾|ã}
+ \hbox to 2.5\zw{}\ruby{京|æ¥|è²|ç°}{ãã|ããã|ãã¾|ã}
+ \hbox to 3\zw{}\ruby{京|æ¥|è²|ç°}{ãã|ããã|ãã¾|ã}
+}
+\end{LTXexample}
+\end{description}
+
+%<*en>
+If the width of ruby characters are longer than that of base characters,
+\cs{ruby} automatically selects the appropriate form
+among the line-head form, the line-middle form, and the line-end form.
+%
+%<*ja>
+ã¾ãï¼ã«ãæåã®ã»ãã親æåãããé·ãå ´åã¯ï¼èªåçã«
+è¡é å½¢ã»è¡ä¸å½¢ã»è¡æ«å½¢ã®ããããé©åãªãã®ãé¸æããï¼
+%
+\begin{LTXexample}[width=0.3\textwidth]
+\vbox{\hsize=8\zw\noindent
+\null\kern3\zw â¦â¦ã\ruby{æ¿}{ãããã¾ã}ã
+ \kern1\zw â¦â¦ã\ruby{æ¿}{ãããã¾ã}ã\\
+\null\kern5\zw â¦â¦ã\ruby{æ¿}{ãããã¾ã}ã
+}
+\end{LTXexample}
+
+
+%<*ja>
+\subsection{\Pkg{lltjext}}
+\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}