<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">%&lt;*!showexpl&gt;
%#! lualatex -shell-escape
%% KozMinPr6N-Regular.otf is needed to typeset this document.

%%%%% section ==&gt; ç«&nbsp;
%%%%% subsection =&gt; çŻ€
\IfFileExists{luatex85.sty}{\RequirePackage{luatex85}}{}

%&lt;en&gt;\documentclass[a4paper,titlepage]{article}
%&lt;ja&gt;\documentclass[a4paper,10ptj,titlepage]{ltjsarticle}

%%%%%%%%
\makeatletter
%%%%%%%%
\def\pgfsysdriver{pgfsys-pdftex.def}
\usepackage{metalogo,amsmath,array,tikz,pict2e,multienum,float,mathtools}
\usepackage{booktabs,multicol,luatexja-ruby}
\usepackage[all]{xy}
\usepackage{lltjext,alltt,comment}

%%%%%%%% fonts
\usepackage{luatexja-otf}
\usepackage[no-math]{fontspec}
\setmainfont[Ligatures=TeX,RawFeature=-notdef]{Linux Libertine O}
\setmonofont[RawFeature=-notdef, Ligatures=CommonOff, %CharacterVariant={31,45,61,36},
%&lt;en&gt;  Scale=0.8132073118633364, FakeStretch=1.183236,
%&lt;ja&gt;  Scale=MatchLowercase, FakeStretch=1.137121,
  Contextuals=AlternateOff, Kerning=Off,
  Ligatures={CommonOff,RequiredOff,ContextualOff,RareOff,HistoricOff,TeXOff},
  ItalicFont=Iosevka Slab Oblique,
  BoldFont=Iosevka Slab Bold, BoldItalicFont=Iosevka Slab Bold Oblique,
]{Iosevka Slab}
\setsansfont[Scale=MatchLowercase,Ligatures=TeX,RawFeature=-notdef]{Linux Biolinum O}
\usepackage[match]{luatexja-fontspec}
\usepackage[haranoaji]{luatexja-preset}
\usepackage{unicode-math}
\setmonojfont{HaranoAjiGothic-Regular.otf}
\setmathfont[Scale=MatchLowercase]{XITSMath}
\newjfontface\KOZM{KozMinPr6N-Regular.otf}

\setLaTeXa{\scshape a}
%&lt;*ja&gt;
\def\emph#1{\textbf{\textgt{#1}}}
\def\headfont{\normalfont\bfseries\gtfamily}\normalsize
%&lt;/ja&gt;
%&lt;*en&gt;
\frenchspacing\sloppy
\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$}}}
%&lt;/en&gt;
%&lt;*ja&gt;
\usepackage[textwidth=44\zw, lines=41, footskip=6mm]{geometry}
\usepackage{luatexja-adjust}%\ltjdisableadjust
\advance\leftmargini-1\zw
%&lt;/ja&gt;
%&lt;en&gt;\long\def\fakefn#1#2{\par\noindent{\footnotesize\hbox to1.8em{\hss#1}#2\par}}
%&lt;*ja&gt;
\long\def\fakefn#1#2{%
  \par{\footnotesize\advance\leftskip 3\zw\parindent1\zw\noindent
  \llap{#1\hskip.3\zw}#2\par}}
%&lt;/ja&gt;
%%%%%%%% listings

%%%%%%%% IVS

\def\IVS#1{\char\numexpr "E0100+#1\relax}%"
\def\IVSA#1#2#3#4#5{%
  \hbox to1em{\hss\textcolor{blue}{\raisebox{3.5pt}{\normalfont\ttfamily%
    \fboxsep=0.5pt\fbox{\hbox to0.75em{\hss\tiny \oalign{0#1#2\crcr#3#4#5\crcr}\hss}}}}\hss}%
}
{\catcode`\%=11
  \gdef\IVSB#1{\expandafter\IVSA\directlua{
    local cat_str = luatexbase.catcodetables['string']
    tex.sprint(cat_str, string.format('%X', 0xE00EF+#1))
}}}
\def\UCSA#1#2#3#4{%
  \hbox to1em{\hss\textcolor{blue}{\raisebox{3.5pt}{\normalfont\ttfamily%
    \fboxsep=0.5pt\fbox{\hbox to0.75em{\hss\tiny \oalign{#1#2\crcr#3#4\crcr}\hss}}}}\hss}%
}
\def\UCSB#1#2{%
  \hbox to1em{\hss\textcolor{red}{\raisebox{3.5pt}{\normalfont\ttfamily%
    \fboxsep=0.5pt\fbox{\hbox to0.75em{\hss\tiny \oalign{\hss#1\hss\crcr\hss#2\hss\crcr}\hss}}}}\hss}%
}

\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, columns=fixed},
  morecomment=[l]{\%}, commentstyle=\color{green}
}
% 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,bookmark}
%&lt;*en&gt;
\title{The \LuaTeX-ja package}
\author{The \LuaTeX-ja project team}
\date{\LuaTeXjaversion~(\today)}
%&lt;/en&gt;
%&lt;*ja&gt;
\title{\LuaTeX-jaă‘ăă‚±ăĽă‚¸}
\author{\LuaTeX-jaă—ă­ă‚¸ă‚§ă‚ŻăăăĽă&nbsp;}
\date{\LuaTeXjaversionďĽ\todayďĽ‰}
%&lt;/ja&gt;
\hypersetup{%
	unicode,
	colorlinks,
	allbordercolors=1 1 1,
	allcolors=blue,
%&lt;*en&gt;
	pdfauthor={The LuaTeX-ja project team},
	pdftitle={The LuaTeX-ja package}
%&lt;/en&gt;
%&lt;*ja&gt;
	pdfauthor={LuaTeX-jaă—ă­ă‚¸ă‚§ă‚ŻăăăĽă&nbsp;},
	pdftitle={LuaTeX-jaă‘ăă‚±ăĽă‚¸}
%&lt;/ja&gt;
}
\usepackage{bxghost}
%&lt;*ja&gt;
\def\HyRef@autoref#1#2{%
  \begingroup
    \Hy@safe@activestrue
    \expandafter\HyRef@autosetref\csname r@#2\endcsname{#2}{#1}%
  \endgroup\eghostguarded{}%" ć¬§ć–‡ă‚´ăĽă‚ąă
}
\def\figureautorefname{ĺ›ł}
\def\tableautorefname{čˇ¨}
%&lt;/ja&gt;

%%%%%%%% definition env.
\usepackage{amsthm}
\theoremstyle{definition}
%&lt;en&gt;\newtheorem{defn}{Definition}
%&lt;ja&gt;\newtheorem{defn}{ĺ®šçľ©}
\DeclareMathOperator\nint{nint}

%%%%%%%% logo
\usepackage{metalogo}
\DeclareRobustCommand\eTeX{\ensuremath{\varepsilon}-\kern-.125em\TeX}
\DeclareRobustCommand\LuaTeX{Lua\TeX}
\DeclareRobustCommand\pdfTeX{pdf\TeX}
\DeclareRobustCommand\pTeX{p\kern-.15em\TeX}
\DeclareRobustCommand\upTeX{up\kern-.15em\TeX}
\DeclareRobustCommand\pLaTeX{p\kern-.05em\LaTeX}
\DeclareRobustCommand\pLaTeXe{p\kern-.05em\LaTeXe}
\DeclareRobustCommand\epTeX{\ensuremath{\varepsilon}-\pTeX}

%%%%%%%% other macros
\newlist{cslist}{description}{2}
\setlist[cslist]{%
    style=nextline,font=\mdseries\ttfamily,
    before*=\def\&lt;{\char`\&lt;}\def\&gt;{\char`\&gt;}\def\{{\char`\{}\def\}{\char`\}},
    topsep=\medskipamount,
%&lt;ja&gt; leftmargin=2\zw,
%&lt;en&gt; leftmargin=2em,
}

\def\labelenumii{(\arabic{enumii})}
\long\def\@makecaption#1#2{%
  \vskip\abovecaptionskip
  \sbox\@tempboxa{{\small #1. #2}}%
  \ifdim \wd\@tempboxa &gt;\hsize
    {\small #1. #2}\par
  \else
    \global \@minipagefalse
    \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}%
  \fi
  \vskip\belowcaptionskip}

\def\_{\leavevmode \kern .06em\vbox {\hrule \@width .333em}}
\def\cs#1{\texttt{\upshape
  \texorpdfstring{\hbox{\ltjsetparameter{autoxspacing=false}\textbackslash#1}}{\textbackslash#1}}}
\ltjsetparameter{alxspmode={`\\,allow}}
\def\text@#1{%
  \ifnum\mathstyle&lt;\scriptstyle
	\mbox{#1}
  \else\ifnum\mathstyle&lt;\scriptscriptstyle
	\mbox{\let\f@size\sf@size\selectfont#1}
  \else
	\mbox{\let\f@size\ssf@size\selectfont#1}
  \fi\fi
}
%%%%%%%%
\makeatother
%%%%%%%%

\def\Node#1#2{\,\vcenter{\hbox{\fboxsep=1pt\fbox{\vbox{\small\halign{\hfil##\hfil\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\+{\insertxkanjiskip late}
\makeatletter
\def\Param#1{\texorpdfstring{\@Param{#1}}{#1}} % parameter name
\protected\def\@Param#1{\eghostguarded{\hyperlink{fld:#1}{\underline{\smash{\textsf{#1}}}}}}
\protected\def\DParam#1{\eghostguarded{\hypertarget{fld:#1}{\underline{\smash{\textsf{#1}}}}}} % parameter name (definition)
\def\Pkg#1{\texorpdfstring{\textsf{#1}}{#1}} % packages/classes

\begin{document}
\lstset{
  vscmd=\IVSB
}

\def\meta#1{{\normalfont\rmfamily\itshape$\langle$#1\/$\rangle$}}
\maketitle

\tableofcontents
\bigskip

%&lt;*en&gt;
\textbf{This documentation is far from complete. It may have many
grammatical (and contextual) errors.} Also, several parts
are written in Japanese only.
%&lt;/en&gt;

\clearpage
%&lt;en&gt;\part{User's manual}
%&lt;ja&gt;\part{ă¦ăĽă‚¶ăĽă‚şăžă‹ăĄă‚˘ă«}

%&lt;en&gt;\section{Introduction}
%&lt;ja&gt;\section{ăŻăă‚ă«}


%&lt;*en&gt;
The \LuaTeX-ja package is a macro package for typesetting high-quality
Japanese documents when using \LuaTeX.
%&lt;/en&gt;
%&lt;*ja&gt;
\LuaTeX-jaă‘ăă‚±ăĽă‚¸ăŻďĽŚć¬ˇä¸–ä»Łć¨™ćş–\TeX ă§ă‚ă‚‹\LuaTeX ă®ä¸Šă§ďĽŚ\pTeX ă¨ĺŚç­‰
ďĽŹăťă‚Śä»Ąä¸Šă®ĺ“čłŞă®ć—Ąćś¬čŞžçµ„ç‰ă‚’ĺ®źçŹľă•ă›ă‚ă†ă¨ă™ă‚‹ăžă‚Żă­ă‘ăă‚±ăĽă‚¸ă§ă‚ă‚‹ďĽŽ
%&lt;/ja&gt;
%&lt;en&gt;\subsection{Backgrounds}
%&lt;ja&gt;\subsection{čŚć™Ż}

%&lt;*en&gt;
Traditionally, ASCII \pTeX, an extension of \TeX, and its derivatives
are used to typeset Japanese documents in \TeX. \pTeX\ is an engine
extension of \TeX: so it can produce high-quality Japanese documents
without using very complicated macros. But this point is a mixed
blessing: \pTeX\ is left behind from other extensions of \TeX,
especially \eTeX\ and \pdfTeX, and from changes about
Japanese processing in computers (\textit{e.g.}, the UTF-8 encoding).
%&lt;/en&gt;
%&lt;*ja&gt;
ĺľ“ćťĄďĽŚă€Ś\TeX ă‚’ç”¨ă„ă¦ć—Ąćś¬čŞžçµ„ç‰ă‚’čˇŚă†ă€Ťă¨ă„ăŁăźă¨ăŤďĽŚă‚¨ăłă‚¸ăłă¨ă—ă¦ăŻ
ASCII \pTeX ă‚„ăťă‚Śă®ć‹ˇĺĽµç‰©ăŚç”¨ă„ă‚‰ă‚Śă‚‹ă“ă¨ăŚä¸€č¬çš„ă§ă‚ăŁăźďĽŽ\pTeX ăŻ\TeX
ă®ă‚¨ăłă‚¸ăłć‹ˇĺĽµă§ă‚ă‚ŠďĽŚďĽĺ°‘ă€…ä»•ć§ä¸Šä¸ŤäľżăŞç‚ąăŻă‚ă‚‹ă‚‚ă®ă®ďĽ‰ĺ•†ćĄ­ĺŤ°ĺ·ă®ĺ†é‡Žă«
ă‚‚ç”¨ă„ă‚‰ă‚Śă‚‹ă»ă©ă®é«ĺ“čłŞăŞć—Ąćś¬čŞžçµ„ç‰ă‚’ĺŹŻč˝ă¨ă—ă¦ă„ă‚‹ďĽŽă&nbsp;ăŚďĽŚăťă‚ŚăŻĺĽ±ç‚ąă«
ă‚‚ăŞăŁă¦ă—ăľăŁăźďĽŽ\pTeX ă¨ă„ă†ďĽçµ„ç‰çš„ă«ďĽ‰ćş€č¶łăŞă‚‚ă®ăŚă‚ăŁăźăźă‚ďĽŚćµ·ĺ¤–ă§
čˇŚă‚Źă‚Śă¦ă„ă‚‹ć•°ă€…ă®\TeX ă®ć‹ˇĺĽµâ€•â€•äľ‹ăă°\eTeX ă‚„\pdfTeX â€•â€•ă‚„ďĽŚTrueType,
OpenType, Unicodeă¨ă„ăŁăźč¨ç®—ć©źă§ć—Ąćś¬čŞžă‚’ć‰±ă†éš›ă®çŠ¶ćłă®ĺ¤‰ĺŚ–ă«čż˝ĺľ“ă™ă‚‹ă“ă¨
ă‚’ć€&nbsp;ăŁă¦ă—ăľăŁăźă®ă&nbsp;ďĽŽ
%&lt;/ja&gt;

%&lt;*en&gt;
Recently extensions of \pTeX, namely \upTeX\ (Unicode-implementation
of \pTeX) and \epTeX\ (merging of \pTeX\ and
\eTeX\ extension), have developed to fill those gaps to some
extent, but gaps still exist.
%&lt;/en&gt;
%&lt;*ja&gt;
ă“ă“ć•°ĺą´ďĽŚč‹Ąĺą˛çŠ¶ćłăŻć”ąĺ–„ă•ă‚Śă¦ăŤăźďĽŽçŹľĺś¨ć‰‹ă«ĺ…Ąă‚‹ĺ¤§ĺŤŠă®\pTeX ăă‚¤ăŠăŞă§ăŻ
ĺ¤–é¨UTF-8ĺ…ĄĺŠ›ăŚĺ©ç”¨ĺŹŻč˝ă¨ăŞă‚ŠďĽŚă•ă‚‰ă«UnicodeĺŚ–ă‚’ćŽ¨é€˛ă—ďĽŚ\pTeX ă®ĺ†…é¨ĺ‡¦ç†
ăľă§UnicodeĺŚ–ă—ăź\upTeX ă‚‚é–‹ç™şă•ă‚Śă¦ă„ă‚‹ďĽŽăľăźďĽŚ\pTeX ă«\eTeX ć‹ˇĺĽµă‚’ăžăĽ
ă‚¸ă—ăź\epTeX ă‚‚ç™»ĺ&nbsp;´ă—ďĽŚ\TeX\ Live\ 2011ă§ăŻ\pLaTeX ăŚ\epTeX ă®ä¸Šă§ĺ‹•ä˝śă™
ă‚‹ă‚ă†ă«ăŞăŁăźďĽŽă&nbsp;ăŚďĽŚ\pdfTeX ć‹ˇĺĽµă®ä¸»č¦é¨ĺ†ďĽPDFç›´ćŽĄĺ‡şĺŠ›ă‚„micro-typesettingďĽ‰ă‚’
\pTeX ă«ĺŻľĺżśă•ă›ă‚ă†ă¨ă„ă†ĺ‹•ăŤăŻăŞăŹďĽŚćµ·ĺ¤–ă¨ă®gapăŻćśŞă&nbsp;ă«ă‚ă‚‹ă®ăŚçŹľçŠ¶ă§ă‚
ă‚‹ďĽŽ
%&lt;/ja&gt;

%&lt;*en&gt;
However, the appearance of \LuaTeX\ changed the whole situation. With
using Lua ``callbacks'', users can customize the internal processing of
\LuaTeX. So there is no need to modify sources of engines to
support Japanese typesetting: to do this, we only have to write Lua
scripts for appropriate callbacks.
%&lt;/en&gt;
%&lt;*ja&gt;
ă—ă‹ă—ďĽŚ\LuaTeX ă®ç™»ĺ&nbsp;´ă§ďĽŚçŠ¶ćłăŻĺ¤§ăŤăŹĺ¤‰ă‚Źă‚‹ă“ă¨ă«ăŞăŁăźďĽŽLuaă‚łăĽă‰ă§
``callback''ă‚’ć›¸ăŹă“ă¨ă«ă‚ă‚ŠďĽŚ\LuaTeX ă®ĺ†…é¨ĺ‡¦ç†ă«ĺ‰˛ă‚ŠčľĽăżă‚’ă‹ă‘ă‚‹ă“ă¨ăŚĺŹŻ
č˝ă¨ăŞăŁăźďĽŽă“ă‚ŚăŻďĽŚă‚¨ăłă‚¸ăłć‹ˇĺĽµă¨ă„ă†çśźäĽĽă‚’ă—ăŞăŹă¦ă‚‚ďĽŚLuaă‚łăĽă‰ă¨ăťă‚Śă«
é–˘ă™ă‚‹\TeX ăžă‚Żă­ă‚’ć›¸ă‘ă°ďĽŚă‚¨ăłă‚¸ăłć‹ˇĺĽµă¨ă»ăĽĺŚç¨‹ĺş¦ă®ă“ă¨ăŚă§ăŤă‚‹ă‚ă†ă«ăŞăŁ
ăźă¨ă„ă†ă“ă¨ă‚’ć„Źĺ‘łă™ă‚‹ďĽŽ\LuaTeX-jaăŻďĽŚă“ă®ă‚˘ă—ă­ăĽăă«ă‚ăŁă¦Luaă‚łăĽă‰ă»
\TeX ăžă‚Żă­ă«ă‚ăŁă¦ć—Ąćś¬čŞžçµ„ç‰ă‚’\LuaTeX ă®ä¸Šă§ĺ®źçŹľă•ă›ă‚ă†ă¨ă„ă†ç›®çš„ă§é–‹ç™ş
ăŚĺ§‹ăľăŁăźă‘ăă‚±ăĽă‚¸ă§ă‚ă‚‹ďĽŽ
%&lt;/ja&gt;

%&lt;en&gt;\subsection{Major changes from \pTeX}
%&lt;ja&gt;\subsection{\pTeX ă‹ă‚‰ă®ä¸»ăŞĺ¤‰ć›´ç‚ą}
\label{ssec:chgptex}

%&lt;*en&gt;
The \LuaTeX-ja package is under much influence of \pTeX\ engine. The initial
target of development was to implement features of \pTeX. However,
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}.
%&lt;/en&gt;
%&lt;*ja&gt;
\LuaTeX-jaăŻďĽŚ\pTeX ă«ĺ¤šĺ¤§ăŞĺ˝±éźżă‚’ĺŹ—ă‘ă¦ă„ă‚‹ďĽŽĺťćśźă®é–‹ç™şç›®ć¨™ăŻďĽŚ\pTeX ă®ć©ź
č˝ă‚’Luaă‚łăĽă‰ă«ă‚ă‚Šĺ®źčŁ…ă™ă‚‹ă“ă¨ă§ă‚ăŁăźďĽŽă—ă‹ă—ďĽŚďĽ\pTeX ăŻă‚¨ăłă‚¸ăłć‹ˇĺĽµă§ă‚ăŁăźă®ă«ĺŻľă—ďĽ‰
\LuaTeX-jaăŻLuaă‚łăĽă‰ă¨\TeX ăžă‚Żă­ă‚’ç”¨ă„ă¦ĺ…¨ă¦ă‚’ĺ®źčŁ…ă—ă¦ă„ăŞă‘ă‚Śă°ăŞă‚‰ăŞă„ăźă‚ďĽŚ\pTeX
ă®ĺ®Śĺ…¨ăŞç§»ć¤ŤăŻä¸ŤĺŹŻč˝ă§ă‚ă‚ŠďĽŚăľăź\pTeX ă«ăŠă‘ă‚‹ĺ®źčŁ…ăŚă„ă•ă•ă‹ä¸ŤĺŹŻč§Łă«ăŞăŁ
ă¦ă„ă‚‹ă‚ă†ăŞçŠ¶ćłă‚‚ç™şč¦‹ă•ă‚ŚăźďĽŽăťă®ăźă‚ďĽŚ\emph{\LuaTeX-jaăŻďĽŚă‚‚ăŻă‚„
\pTeX ă®ĺ®Śĺ…¨ăŞç§»ć¤ŤăŻç›®ć¨™ă¨ăŻă—ăŞă„ďĽŽ\pTeX ă«ăŠă‘ă‚‹ä¸Ťč‡Şç„¶ăŞä»•ć§ă»ćŚ™ĺ‹•ăŚă‚
ă‚Śă°ďĽŚăťă“ăŻç©ŤćĄµçš„ă«ć”ąă‚ă‚‹ďĽŽ}
%&lt;/ja&gt;

%&lt;*en&gt;
The followings are major changes from \pTeX.
For more detailed information, see Part~\ref{part-imp} or other sections of this manual.
%&lt;/en&gt;
%&lt;*ja&gt;
ä»Ąä¸‹ăŻ \pTeX ă‹ă‚‰ă®ä¸»ăŞĺ¤‰ć›´ç‚ąă§ă‚ă‚‹ďĽŽ
ă‚ă‚Šč©łç´°ă«ă¤ă„ă¦ăŻç¬¬\ref{part-imp}é¨ăŞă©ćś¬ć–‡ć›¸ă®ć®‹ă‚Šă‚’ĺŹ‚ç…§ďĽŽ
%&lt;/ja&gt;

%&lt;*en&gt;
\paragraph{Command names} \pTeX\ addes several primitives, such as \cs{kanjiskip},
\cs{prebreakpenalty},~and \cs{ifydir}. They can be used as follows:
%&lt;/en&gt;
%&lt;*ja&gt;
\paragraph{ĺ‘˝ä»¤ă®ĺŤç§°} äľ‹ăă°\pTeX ă§čż˝ĺŠ&nbsp;ă•ă‚Śăźć¬ˇă®ă‚ă†ăŞă—ăŞăźă†ă‚Łă–
%&lt;/ja&gt;
\begin{lstlisting}
\kanjiskip=10pt  \dimen0=kanjiskip
\tbaselineshift=0.1zw
\dimen0=\tbaselineshift
\prebreakpenalty`ă=100
\ifydir ... \fi
\end{lstlisting}
%&lt;en&gt; However, we cannot use them under \LuaTeX-ja.
%&lt;en&gt; Instead of them, we have to write as the following.
%&lt;ja&gt; ăŻ\LuaTeX-jaă«ăŻĺ­ĺś¨ă—ăŞă„ďĽŽ\LuaTeX-jaă§ăŻä»Ąä¸‹ă®ă‚ă†ă«č¨čż°ă™ă‚‹ă“ă¨ă«ăŞă‚‹ďĽŽ
\begin{lstlisting}
\ltjsetparameter{kanjiskip=10pt}  \dimen0=\ltjgetparameter{kanjiskip}
\ltjsetparameter{talbaselineshift=0.1\zw}
\dimen0=\ltjgetparameter{talbaselineshift}
\ltjsetparameter{prebreakpenalty={`ă,100}}
\ifnum\ltjgetparameter{direction}=4 ... \fi
\end{lstlisting}
%&lt;*en&gt;
Note that \pTeX\ adds new two useful units, namely \texttt{zw}~and~\texttt{zh}.
As shown above, \emph{they are changed to \cs{zw}~and~\cs{zh} respectively} in \LuaTeX-ja.%
\footnote{\LuaTeX-ja 20200127.0 introduces \cs{ltj@zw}~and~\cs{ltj@zh}, which are copy of
  \cs{zw}~and~\cs{zh}.}
%&lt;/en&gt;
%&lt;*ja&gt;
ç‰ąă«ćł¨ć„Źă—ă¦ă»ă—ă„ă®ăŻďĽŚ\pTeX ă§čż˝ĺŠ&nbsp;ă•ă‚Śăź\texttt{zw}ă¨\texttt{zh}ă¨ă„ă†ĺŤä˝ŤăŻ
\LuaTeX-ja ă§ăŻä˝żç”¨ă§ăŤăšďĽŚ\emph{\cs{zw}, \cs{zh} ă¨ĺ¶ĺľˇç¶´ă®ĺ˝˘ă«ă—ăŞă„ă¨ă„ă‘ăŞă„}ă¨ă„ă†ç‚ąă§ă‚ă‚‹
\footnote{%
  ĺĄă®ă‘ăă‚±ăĽă‚¸ă‚„ă¦ăĽă‚¶ăŚ\cs{zw},~\cs{zh}ă‚’ć›¸ăŤćŹ›ăă¦ă—ăľă†ă“ă¨ă«ĺŻľĺżśă™ă‚‹ăźă‚ďĽŚ
  \LuaTeX-ja 20200127.0ä»Ąé™Ťă§ăŻďĽŚ\cs{ltj@zw},~\cs{ltj@zh}ăŚăťă‚Śăžă‚Ś\cs{zw},~\cs{zh}ă®
  ă‚łă”ăĽă¨ă—ă¦ĺ®šçľ©ă•ă‚Śă¦ă„ă‚‹ďĽŽ
}ďĽŽ
%&lt;/ja&gt;

%&lt;*en&gt;
\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 feature completely, because of a specification
      of \LuaTeX. For the detail, see Section~\ref{sec-lbreak}.
%&lt;/en&gt;
%&lt;*ja&gt;
\paragraph{ĺ’Ść–‡ć–‡ĺ­—ç›´ĺľŚă®ć”ąčˇŚ}
ć—Ąćś¬čŞžă®ć–‡ć›¸ä¸­ă§ăŻć”ąčˇŚăŻă»ă¨ă‚“ă©ă©ă“ă§ă‚‚č¨±ă•ă‚Śă‚‹ă®ă§ďĽŚ\pTeX ă§ăŻĺ’Ść–‡ć–‡ĺ­—
      ç›´ĺľŚă®ć”ąčˇŚăŻç„ˇč¦–ă•ă‚Śă‚‹ďĽă‚ąăšăĽă‚ąăŚĺ…Ąă‚‰ăŞă„ďĽ‰ă‚ă†ă«ăŞăŁă¦ă„ăźďĽŽă—ă‹ă—ďĽŚ
      \LuaTeX-ja ă§ăŻ \LuaTeX ă®ä»•ć§ă®ăźă‚ă«ă“ă®ć©źč˝ăŻĺ®Śĺ…¨ă«ăŻĺ®źčŁ…ă•ă‚Śă¦ă„ăŞă„ďĽŽ
      č©łă—ăŹăŻ\ref{sec-lbreak}ç«&nbsp;ă‚’ĺŹ‚ç…§ďĽŽ
%&lt;/ja&gt;

%&lt;*en&gt;
\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.
%&lt;/en&gt;
%&lt;*ja&gt;
\paragraph{ĺ’Ść–‡é–˘é€Łă®ç©şç™˝}
2ă¤ă®ĺ’Ść–‡ć–‡ĺ­—ă®é–“ă‚„ďĽŚĺ’Ść–‡ć–‡ĺ­—ă¨ć¬§ć–‡ć–‡ĺ­—ă®é–“ă«ĺ…Ąă‚‹ă‚°ă«ăĽďĽŹă‚«ăĽăł
      ďĽä¸ˇč€…ă‚’ă‚ă‚Źă›ă¦\textbf{JAglue}ă¨ĺ‘Ľă¶ďĽ‰ă®ćŚżĺ…Ąĺ‡¦ç†ăŚ0ă‹ă‚‰ć›¸ăŤç›´ă•ă‚Śă¦ă„ă‚‹ďĽŽ
%&lt;/ja&gt;

\begin{itemize}
%&lt;*en&gt;
\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 \emph{node-based}.
%&lt;/en&gt;
%&lt;*ja&gt;
\item \LuaTeX ă®ĺ†…é¨ă§ă®ĺĺ­—ă®ć‰±ă„ăŻă€ŚăŽăĽă‰ă€Ťă‚’ĺŤä˝Ťă¨ă—ă¦čˇŚă‚Źă‚Śă‚‹ă‚ă†ă«ăŞăŁă¦ă„ă‚‹ďĽäľ‹ăă°ďĽŚ
      \verb+of{}fice+ ă§ĺĺ­—ăŻćŠ‘ĺ¶ă•ă‚ŚăŞă„ďĽ‰ďĽŽăťă‚Śă«ĺă‚Źă›ďĽŚ\textbf{JAglue}ă®ćŚżĺ…Ąĺ‡¦ç†ă‚‚
      ăŽăĽă‰ĺŤä˝Ťă§ĺ®źčˇŚă•ă‚Śă‚‹ďĽŽ
%&lt;/ja&gt;

%&lt;*en&gt;
\item Furthermore, nodes between two characters which have no effects in
      line break (\textit{e.g.}, \cs{special} node) and kerns from
      italic correction are ignored in the insertion process.
%&lt;/en&gt;
%&lt;*ja&gt;
\item ă•ă‚‰ă«ďĽŚ2ă¤ă®ć–‡ĺ­—ă®é–“ă«ă‚ă‚‹čˇŚćś«ă§ăŻĺŠąćžśă‚’ćŚăźăŞă„ăŽăĽă‰ďĽäľ‹ăă° \cs{special} ăŽăĽă‰ďĽ‰ă‚„ďĽŚ
  ă‚¤ă‚żăŞăă‚ŻčŁść­Łă«äĽ´ă„ćŚżĺ…Ąă•ă‚Śă‚‹ă‚«ăĽăłăŻćŚżĺ…Ąĺ‡¦ç†ä¸­ă§ăŻç„ˇč¦–ă•ă‚Śă‚‹ďĽŽ
%&lt;/ja&gt;

%&lt;*en&gt;
\item \emph{Caution: due to above two points, many methods which did for the
      dividing the process of the insertion of \textbf{JAglue} in \pTeX\ are not
      effective anymore.} In concrete terms, the following two methods are not effective anymore:
%&lt;/en&gt;
%&lt;*ja&gt;
\item \emph{ćł¨ć„ŹďĽšä¸Šă®2ă¤ă®ĺ¤‰ć›´ă«ă‚ă‚ŠďĽŚĺľ“ćťĄ\textbf{JAglue}ă®ćŚżĺ…Ąĺ‡¦ç†ă‚’ĺ†ć–­ă™ă‚‹ă®ă«
      ä˝żă‚Źă‚Śă¦ă„ăźă„ăŹă¤ă‹ă®ć–ąćł•ăŻç”¨ă„ă‚‹ă“ă¨ăŚă§ăŤăŞă„ďĽŽĺ…·ä˝“çš„ă«ăŻďĽŚć¬ˇă®ć–ąćł•ăŻă‚‚ăŻă‚„ç„ˇĺŠąă§ă‚ă‚‹ďĽš}
%&lt;/ja&gt;
\begin{lstlisting}
ăˇă‚‡{}ăŁă¨    ăˇă‚‡\/ăŁă¨
\end{lstlisting}
%&lt;*en&gt;
      If you want to do so, please put an empty horizontal box (hbox) between it instead:
%&lt;/en&gt;
%&lt;*ja&gt;
      ă‚‚ă—ĺŚăă“ă¨ă‚’ă‚„ă‚Šăźă‘ă‚Śă°ďĽŚç©şă®ć°´ĺąłăśăă‚Żă‚ą(hbox)ă‚’é–“ă«ćŚźă‚ă°ă‚ă„ďĽš
%&lt;/ja&gt;
\begin{lstlisting}
ăˇă‚‡\hbox{}ăŁă¨
\end{lstlisting}

%&lt;*en&gt;
\item In the process, two Japanese fonts which only differ in their ``real''
      fonts are identified.
%&lt;/en&gt;
%&lt;*ja&gt;
\item ĺ‡¦ç†ä¸­ă§ăŻďĽŚ2ă¤ă®ĺ’Ść–‡ă•ă‚©ăłăăŻďĽŚĺ®źă•ă‚©ăłăăŚç•°ăŞă‚‹ă&nbsp;ă‘ă®ĺ&nbsp;´ĺă«ăŻĺŚä¸€č¦–
      ă•ă‚Śă‚‹ďĽŽ
%&lt;/ja&gt;
\end{itemize}

%&lt;*en&gt;
\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.
%&lt;/en&gt;
%&lt;*ja&gt;
\paragraph{çµ„ć–ąĺ‘}
ăăĽă‚¸ă§ăł20150420.0ă‹ă‚‰ăŻďĽŚä¸Ťĺ®‰ĺ®šăŞăŚă‚‰ă‚‚\LuaTeX-ja ă«ăŠă‘ă‚‹ç¸¦çµ„ăżă‚’ă‚µăťăĽăă—ă¦ă„ă‚‹ďĽŽ
ăŞăŠďĽŚ\LuaTeX ćś¬ä˝“ă‚‚$\Omega$ćµă®çµ„ć–ąĺ‘ă‚’ă‚µăťăĽăă—ă¦ă„ă‚‹ăŚďĽŚăťă‚Śă¨ăŻĺ…¨ăŹă®ĺĄç‰©ă§ă‚ă‚‹ă“ă¨
ă«ćł¨ć„Źă—ă¦ă»ă—ă„ďĽŽ
ç‰ąă«ďĽŚç•°ăŞăŁăźçµ„ć–ąĺ‘ă®ăśăă‚Żă‚ąă‚’ć‰±ă†ĺ&nbsp;´ĺă«ăŻ
\cs{wd}, \cs{ht}, \cs{dp}ç­‰ă®ä»•ć§ăŚ\pTeX ă¨ç•°ăŞă‚‹ă®ă§ćł¨ć„ŹďĽŽč©łç´°ăŻç¬¬\ref{sec-direction}ç«&nbsp;ă‚’ĺŹ‚ç…§ďĽŽ
%&lt;/ja&gt;

%&lt;*en&gt;
\paragraph{\cs{discretionary}}
Japanese characters in discretionary break (\cs{discretionary}) is not supported.
%&lt;/en&gt;
%&lt;*ja&gt;
\paragraph{\cs{discretionary}}
 \cs{discretionary} ĺ†…ă«ç›´ćŽĄĺ’Ść–‡ć–‡ĺ­—ă‚’č¨čż°ă™ă‚‹ă“ă¨ăŻďĽŚ\pTeX ă«ăŠă„ă¦ă‚‚ćłĺ®šă•ă‚Śă¦ă„ăŞă‹ăŁăź
 ć„źăŚă‚ă‚‹ăŚďĽŽ\LuaTeX-jaă«ăŠă„ă¦ă‚‚ćłĺ®šă—ă¦ă„ăŞă„ďĽŽĺ’Ść–‡ć–‡ĺ­—ă‚’ă©ă†
      ă—ă¦ă‚‚ä˝żă„ăźă„ĺ&nbsp;´ĺăŻ \cs{hbox} ă§ć‹¬ă‚‹ă“ă¨ďĽŽ
%&lt;/ja&gt;

%&lt;*en&gt;
\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 version~20150906.0, characters which belongs both ISO~8859-1 and JIS~X~0208,
such as \P~and~\S, are now typeset in alphabetic fonts.
%&lt;/en&gt;
%&lt;*ja&gt;
\paragraph{ă‚®ăŞă‚·ăŁć–‡ĺ­—ă»ă‚­ăŞă«ć–‡ĺ­—ă¨ISO~8859-1ă®č¨ĺŹ·}
ć¨™ćş–ă§ăŻďĽŚ\LuaTeX-jaăŻă‚®ăŞă‚·ăŁć–‡ĺ­—ă‚„ă‚­ăŞă«ć–‡ĺ­—ă‚’ĺ’Ść–‡ă•ă‚©ăłăă‚’ä˝żăŁ
      ă¦çµ„ă‚€ďĽŽă‚®ăŞă‚·ăŁčŞžăŞă©ă‚’ćś¬ć&nbsp;Ľçš„ă«çµ„ă‚€ăŞă©ă“ă®çŠ¶ćłăŚćś›ăľă—ăŹăŞă„ĺ&nbsp;´ĺďĽŚ
      ă—ăŞă‚˘ăłă–ă«ă«
\begin{lstlisting}
 \ltjsetparameter{jacharrange={-2,-3}}
\end{lstlisting}
      ă‚’ĺ…Ąă‚Śă‚‹ă¨
      ä¸Šč¨ç¨®éˇžă®ć–‡ĺ­—ăŻć¬§ć–‡ă•ă‚©ăłăă‚’ç”¨ă„ă¦çµ„ăľă‚Śă‚‹ă‚ă†ă«ăŞă‚‹ďĽŽ
      č©łă—ă„čŞ¬ćŽăŻ\ref{ssec:setrange}çŻ€ă‚’ĺŹ‚ç…§ă—ă¦ă»ă—ă„ďĽŽ

ăľăźďĽŚ\P,~\S ă¨ă„ăŁăźISO~8859-1ă®ä¸Šä˝Ťé&nbsp;ĺźźă¨JIS~X~0208ă®ĺ…±é€šé¨ĺ†ă®ć–‡ĺ­—ăŻ
      ăăĽă‚¸ă§ăł20150906.0ă‹ă‚‰ć¨™ćş–ă§ć¬§ć–‡ć‰±ă„ă¨ăŞăŁăźďĽŽ\LaTeXe\ 2017/01/01ä»Ąé™Ťă§ăŻ
ć¨™ćş–ă§TUă‚¨ăłă‚łăĽă‡ă‚Łăłă‚°ă®Latin Modernă•ă‚©ăłăăŚä˝żă‚Źă‚Śă‚‹ă®ă§ďĽŚ
ç‰ąă«ä˝•ă‚‚ă›ăšă‚˝ăĽă‚ąä¸­ă«ăťă®ăľăľč¨čż°ă—ă¦ă‚‚ă“ă‚Śă‚‰ă®ć–‡ĺ­—ăŚĺ‡şĺŠ›ă•ă‚Śă‚‹ďĽŽ
ĺ’Ść–‡ć‰±ă„ă§ĺ‡şĺŠ›ă™ă‚‹ă«ăŻ \verb+\ltjjachar`Â§+ ă®ă‚ă†ă« \cs{ltjjachar} ĺ‘˝ä»¤
ă‚’ä˝żăă°ă‚ă„ďĽŽ
%&lt;/ja&gt;

%&lt;en&gt;\subsection{Notations}
%&lt;ja&gt;\subsection{ç”¨čŞžă¨č¨ćł•}

%&lt;*en&gt;
In this document, the following terms and notations are used:
%&lt;/en&gt;
%&lt;*ja&gt;
ćś¬ă‰ă‚­ăĄăˇăłăă§ăŻďĽŚä»Ąä¸‹ă®ç”¨čŞžă¨č¨ćł•ă‚’ç”¨ă„ă‚‹ďĽš
%&lt;/ja&gt;
\begin{itemize}
%&lt;*en&gt;
\item Characters are classified into following two types.
      Note that the classification can be customized by a user
      (see Subsection~\ref{ssec:setrange}).
%&lt;/en&gt;
%&lt;*ja&gt;
\item ć–‡ĺ­—ăŻć¬ˇă®2ç¨®éˇžă«ĺ†ă‘ă‚‰ă‚Śă‚‹ďĽŽă“ă®éˇžĺĄăŻĺ›şĺ®šă•ă‚Śă¦ă„ă‚‹ă‚‚ă®ă§ăŻăŞăŹďĽŚă¦ăĽă‚¶ăŚĺľŚă‹ă‚‰ĺ¤‰ć›´ĺŹŻč˝ă§ă‚ă‚‹
      ďĽ\ref{ssec:setrange}çŻ€ă‚’ĺŹ‚ç…§ďĽ‰ďĽŽ
%&lt;/ja&gt;
\begin{itemize}
%&lt;*en&gt;
\item \textbf{JAchar}: standing for characters which is used in Japanese typesetting,
      such as Hiragana,~Katakana, Kanji, and~other Japanese punctuation marks.
%&lt;/en&gt;
%&lt;*ja&gt;
\item \textbf{JAchar}: ă˛ă‚‰ăŚăŞďĽŚă‚«ă‚żă‚«ăŠďĽŚćĽ˘ĺ­—ďĽŚĺ’Ść–‡ç”¨ă®ç´„ç‰©ă¨ă„ăŁăź
      ć—Ąćś¬čŞžçµ„ç‰ă«ä˝żă‚Źă‚Śă‚‹ć–‡ĺ­—ă®ă“ă¨ă‚’ćŚ‡ă™ďĽŽ
%&lt;/ja&gt;

%&lt;en&gt;\item \textbf{ALchar}: standing for all other characters like latin alphabets.
%&lt;ja&gt;\item \textbf{ALchar}: ă©ă†ăłă‚˘ă«ă•ă‚ˇă™ăăă‚’ĺ§‹ă‚ă¨ă™ă‚‹ďĽŚăťă®ä»–ĺ…¨ă¦ă®ć–‡ĺ­—ă‚’ćŚ‡ă™ďĽŽ
\end{itemize}

%&lt;*en&gt;
We say \emph{alphabetic fonts} for fonts used in \textbf{ALchar},
and \emph{Japanese fonts} for fonts used in \textbf{JAchar}.
%&lt;/en&gt;
%&lt;*ja&gt;
ăťă—ă¦ďĽŚ\textbf{ALchar}ă®ĺ‡şĺŠ›ă«ç”¨ă„ă‚‰ă‚Śă‚‹ă•ă‚©ăłăă‚’\emph{ć¬§ć–‡ă•ă‚©ăłă}ă¨ĺ‘ĽăłďĽŚ
\textbf{JAchar}ă®ĺ‡şĺŠ›ă«ç”¨ă„ă‚‰ă‚Śă‚‹ă•ă‚©ăłăă‚’\emph{ĺ’Ść–‡ă•ă‚©ăłă}ă¨ĺ‘Ľă¶ďĽŽ
%&lt;/ja&gt;
%&lt;*en&gt;
\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 \cs{ltjsetparameter} command.
%&lt;/en&gt;
%&lt;*ja&gt;
\item ä¸‹ç·šă¤ăŤă­ăĽăžăłä˝“ă§ć›¸ă‹ă‚ŚăźčŞžďĽäľ‹ďĽš\Param{prebreakpenalty}ďĽ‰ăŻć—Ąćś¬čŞžçµ„ç‰ç”¨ă®
      ă‘ă©ăˇăĽă‚żă‚’čˇ¨ă—ďĽŚă“ă‚Śă‚‰ăŻ \cs{ltjsetparameter} ĺ‘˝ä»¤ă®ă‚­ăĽă¨ă—ă¦
      ç”¨ă„ă‚‰ă‚Śă‚‹ďĽŽ
%&lt;/ja&gt;
%&lt;*en&gt;
\item A word in a sens-serif font without underline (like \Pkg{fontspec})
      means a package or a class of \LaTeX.
%&lt;/en&gt;
%&lt;*ja&gt;
\item ä¸‹ç·šăŞă—ă‚µăłă‚»ăŞă•ä˝“ă®čŞžďĽäľ‹ďĽš\Pkg{fontspec}ďĽ‰ăŻ\LaTeX ă®
      ă‘ăă‚±ăĽă‚¸ă‚„ă‚Żă©ă‚ąă‚’čˇ¨ă™ďĽŽ
%&lt;/ja&gt;
%&lt;*en&gt;
\item In this document, natural numbers start from~zero.
  $\omega$ denotes the set of all natural numbers which can be used in \TeX.
%&lt;/en&gt;
%&lt;*ja&gt;
\item ćś¬ă‰ă‚­ăĄăˇăłăă§ăŻďĽŚč‡Şç„¶ć•°ăŻ0ă‹ă‚‰ĺ§‹ăľă‚‹ďĽŽďĽ\TeX ă§ć‰±ăă‚‹ďĽ‰č‡Şç„¶ć•°ĺ…¨ä˝“ă®é›†ĺăŻ$\omega$ă¨čˇ¨č¨ă™ă‚‹ďĽŽ
%&lt;/ja&gt;
\end{itemize}

%&lt;en&gt;\subsection{About the project}
%&lt;ja&gt;\subsection{ă—ă­ă‚¸ă‚§ă‚Żăă«ă¤ă„ă¦}

%&lt;en&gt;\paragraph{Project Wiki} Project Wiki is under construction.
%&lt;ja&gt;\paragraph{ă—ă­ă‚¸ă‚§ă‚ŻăWiki} ă—ă­ă‚¸ă‚§ă‚ŻăWikiăŻć§‹çŻ‰ä¸­ă§ă‚ă‚‹ďĽŽ
%&lt;*en&gt;
\begin{itemize}
\item \url{https://github.com/luatexja/luatexja/wiki/Home(en)} (English)
\item \url{https://github.com/luatexja/luatexja/wiki} (Japanese)
\item \url{https://github.com/luatexja/luatexja/wiki/Home(zh)} (Chinese)
\end{itemize}
%&lt;/en&gt;
%&lt;*ja&gt;
\begin{itemize}
\item \url{https://github.com/luatexja/luatexja/wiki}ďĽć—Ąćś¬čŞžďĽ‰
\item \url{https://github.com/luatexja/luatexja/wiki/Home(en)}ďĽč‹±čŞžďĽ‰
\item \url{https://github.com/luatexja/luatexja/wiki/Home(zh)}ďĽä¸­ĺ›˝čŞžďĽ‰
\end{itemize}
%&lt;/ja&gt;

%&lt;en&gt;This project is hosted by GitHub.
%&lt;ja&gt;ćś¬ă—ă­ă‚¸ă‚§ă‚ŻăăŻGitHubă®ă‚µăĽă“ă‚ąă‚’ç”¨ă„ă¦é‹ĺ–¶ă•ă‚Śă¦ă„ă‚‹ďĽŽ

%&lt;en&gt;\paragraph{Members}\
%&lt;ja&gt;\clearpage\paragraph{é–‹ç™şăˇăłăăĽ}\

%&lt;*en&gt;
\begin{multienumerate}
\def\labelenumi{$\bullet$}
\mitemxxx{Hironori KITAGAWA}{Kazuki MAEDA}{Takayuki YATO}
\mitemxxx{Yusuke KUROKI}{Noriyuki ABE}{Munehiro YAMAMOTO}
\mitemxxx{Tomoaki HONDA}{Shuzaburo SAITO}{MA Qiyuan}
\end{multienumerate}
%&lt;/en&gt;
%&lt;*ja&gt;
\begin{multienumerate}
\def\labelenumi{$\bullet$}
\mitemxxx{ĺŚ—ĺ·ť ĺĽĺ…¸}{ĺ‰Ťç”° ä¸€č˛´}{ĺ…«ç™» ĺ´‡äą‹}
\mitemxxx{é»’ćś¨ čŁ•ä»‹}{éżé¨ ç´€čˇŚ}{ĺ±±ćś¬ ĺ®—ĺ®Ź}
\mitemxxx{ćś¬ç”° çźĄäş®}{é˝‹č—¤ äż®ä¸‰éŽ}{é¦¬ čµ·ĺś’}
\end{multienumerate}
%&lt;/ja&gt;

% \paragraph{Acknowledgments} -- ćŚżĺ…Ąă™ă‚‹ăŞă‚‰ă“ă“

%&lt;en&gt;\clearpage
%&lt;en&gt;\section{Getting Started}
%&lt;ja&gt;\section{ä˝żă„ć–ą}
%&lt;en&gt;\subsection{Installation}
%&lt;ja&gt;\subsection{ă‚¤ăłă‚ąăăĽă«}
\label{ssec:install}
%&lt;en&gt;The following packages are needed for the \LuaTeX-ja\ package.
%&lt;ja&gt;\LuaTeX-jaă‘ăă‚±ăĽă‚¸ă®ĺ‹•ä˝śă«ăŻć¬ˇă®ă‘ăă‚±ăĽă‚¸éˇžăŚĺż…č¦ă§ă‚ă‚‹ďĽŽ
\begin{itemize}
\item \href{http://www.luatex.org/}{\LuaTeX}\ 1.10.0 (or later)
%&lt;en&gt;  (DVI output (\cs{outputmode=0} is not supported.)
%&lt;ja&gt;  ďĽDVIĺ‡şĺŠ›(\cs{outputmode=0})ăŻĺŻľĺżśă—ă¦ă„ăŞă„ďĽŽďĽ‰
\item recent \href{https://github.com/latex3/luaotfload}{\Pkg{luaotfload}} (v3.1 or later recommended)
\item \Pkg{adobemapping} (Adobe cmap and pdfmapping files)
\item \href{https://github.com/josephwright/etoolbox/}{\Pkg{etoolbox}}
%&lt;en&gt;  (if you want to use \LuaTeX-ja with \LaTeXe)
%&lt;ja&gt;  ďĽ\LaTeXe ä¸‹ă§\LuaTeX-jaă‚’ä˝żă†ĺ&nbsp;´ĺďĽ‰
\item \Pkg{ltxcmds}, \Pkg{pdftexcmds}
\item \href{https://github.com/wspr/fontspec/}{\Pkg{fontspec}} v2.7c (or later)
%&lt;*en&gt;
\item \emph{Harano Aji fonts} (\url{https://github.com/trueroad/HaranoAjiFonts})\\
  More specifically, HaranoAjiMincho-Regular~and~HaranoAjiGothic-Medium.
%&lt;/en&gt;
%&lt;*ja&gt;
\item \emph{ĺŽźăŽĺ‘łă•ă‚©ăłă(\url{https://github.com/trueroad/HaranoAjiFonts})}\\
\LuaTeX-jaă®ćś€ä˝Žé™ă®ĺ‹•ä˝śă«ăŻĺŽźăŽĺ‘łćŽćśťRegular~(HaranoAjiMincho-Regular)ă¨
ĺŽźăŽĺ‘łč§’ă‚´ă‚·ăă‚ŻMedium~(HaranoAjiGothic-Medium)ăŚă‚ă‚Śă°ĺŤĺ†ă§ă‚ă‚‹ďĽŽ
%&lt;/ja&gt;
\end{itemize}

%&lt;*en&gt;
Now \LuaTeX-ja is available from
CTAN (in the \texttt{macros/luatex/generic/luatexja} directory), and
the following distributions:
  \begin{itemize}
  \item \href{https://www.tug.org/texlive/}{\TeX~Live} (in \texttt{texmf-dist/tex/luatex/luatexja})
  \item MiK\TeX\ (in \texttt{luatexja.tar.xz})
  \end{itemize}
Harano Aji fonts are also available in these distributions
(\texttt{haranoaji} in \TeX~Live and MiK\TeX).
%&lt;/en&gt;
%&lt;*ja&gt;
çŹľĺś¨ďĽŚ\LuaTeX-jaăŻCTAN (\texttt{macros/luatex/generic/luatexja})ă«ĺŹŽéŚ˛ă•ă‚Śă¦ă„ă‚‹ä»–ďĽŚ
ä»Ąä¸‹ă®ă‡ă‚Łă‚ąăăŞă“ăĄăĽă‚·ă§ăłă«ă‚‚ĺŹŽéŚ˛ă•ă‚Śă¦ă„ă‚‹ďĽš
  \begin{itemize}
  \item MiK\TeX\ (\texttt{luatexja.tar.lzma})
  \item \TeX~Live (\texttt{texmf-dist/tex/luatex/luatexja})
  \end{itemize}
ă“ă‚Śă‚‰ă®ă‡ă‚Łă‚ąăăŞă“ăĄăĽă‚·ă§ăłăŻĺŽźăŽĺ‘łă•ă‚©ăłăă‚‚ĺŹŽéŚ˛ă—ă¦ă„ă‚‹
ďĽ\TeX~Live, MiK\TeX ă§ăŻ\texttt{haranoaji}ďĽ‰.
%&lt;/ja&gt;

%&lt;*en&gt;
\paragraph{HarfBuzz~and~\LuaTeX-ja}
Using \LuaTeX-ja with LuaHB\TeX (\LuaTeX\ integrated with
\href{https://github.com/harfbuzz/harfbuzz}{HarfBuzz}) is not well tested.
Maybe documents can typeset without an error,
but with unwanted results (especially, vertical typesetting and \cs{CID}).

Especially,
\emph{We don't recommend defining a Japanese font with HarfBuzz},
by specifying \texttt{Renderer=Harfbuzz}~etc.\ (\Pkg{fontspec}) or~{mode=harf} (otherwise).
%&lt;/en&gt;
%&lt;*ja&gt;
\paragraph{HarfBuzză¨\LuaTeX-ja}
çŹľć™‚ç‚ąă§ăŻďĽŚHarfBuzză®ć©źč˝ă‚’ç”¨ă„ăźă¨ăŤă®\LuaTeX-jaă®ä˝żç”¨ăŻĺŤĺ†ă«ă†ă‚ąăă•ă‚Śă¦ă„ăŞă„ďĽŽ
ă‚¨ă©ăĽăŚç™şç”źă›ăšă«ă‚żă‚¤ă—ă‚»ăăă§ăŤă‚‹ă‹ă‚‚ă—ă‚ŚăŞă„ăŚďĽŚç‰ąă«ç¸¦çµ„ć™‚ă‚„
\cs{CID}ăŞă©ă§ć„Źĺ›łă—ăŞă„çµćžśă¨ăŞă‚Šă†ă‚‹ĺŹŻč˝ć€§ăŚĺ¤§ăŤă„ďĽŽ
ç‰ąă«ďĽŚ\emph{\texttt{Renderer=Harfbuzz}ç­‰ďĽ\Pkg{fontspec}ďĽ‰ă‚„\texttt{mode=harf}ćŚ‡ĺ®šďĽăťă‚Śä»Ąĺ¤–ďĽ‰ă‚’é€šăă¦
  ĺ’Ść–‡ă•ă‚©ăłăă«ĺŻľă—ă¦HarfBuzză‚’ç”¨ă„ă‚‹ă“ă¨ăŻćŽ¨ĺĄ¨ă—ăŞă„}ďĽŽ
%&lt;/ja&gt;

%&lt;en&gt;\paragraph{Manual installation}
%&lt;ja&gt;\paragraph{ć‰‹ĺ‹•ă‚¤ăłă‚ąăăĽă«ć–ąćł•}

\begin{enumerate}
%&lt;*en&gt;
\item Download the source, by one of the following method.
      At the present, \LuaTeX-ja has no \emph{stable} release.

\begin{itemize}
\item Clone the Git repository by
\begin{lstlisting}
$ git clone https://github.com/luatexja/luatexja.git
\end{lstlisting}
\item Download the \texttt{zip} archive of HEAD in the \texttt{master} branch from
\begin{flushleft}
\url{https://github.com/luatexja/luatexja/archive/refs/heads/master.zip}.
\end{flushleft}
\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.
%&lt;/en&gt;
%&lt;*ja&gt;
\item ă‚˝ăĽă‚ąă‚’ä»Ąä¸‹ă®ă„ăšă‚Śă‹ă®ć–ąćł•ă§ĺŹ–ĺľ—ă™ă‚‹ďĽŽçŹľĺś¨ĺ…¬é–‹ă•ă‚Śă¦ă„ă‚‹ă®ăŻă‚ăŹăľă§ă‚‚
      é–‹ç™şç‰ă§ă‚ăŁă¦ďĽŚĺ®‰ĺ®šç‰ă§ăŞă„ă“ă¨ă«ćł¨ć„ŹďĽŽ

\begin{itemize}
\item GităŞăťă‚¸ăăŞă‚’ć¬ˇă®ă‚łăžăłă‰ă§ă‚Żă­ăĽăłă™ă‚‹ďĽš
\begin{lstlisting}
$ git clone https://github.com/luatexja/luatexja.git
\end{lstlisting}
\item \texttt{master} ă–ă©ăłăă®ă‚ąăŠăă—ă‚·ă§ăăďĽ\texttt{zip} ĺ˝˘ĺĽŹďĽ‰ă‚’ă€ă‚¦ăłă­ăĽă‰ă™ă‚‹ďĽš
\begin{flushleft}
\url{https://github.com/luatexja/luatexja/archive/refs/heads/master.zip}.
\end{flushleft}
\end{itemize}
\texttt{master} ă–ă©ăłăďĽĺľ“ăŁă¦ďĽŚCTANĺ†…ă®ă‚˘ăĽă‚«ă‚¤ă–ă‚‚ďĽ‰ăŻăźăľă«ă—ă‹ć›´ć–°ă•ă‚ŚăŞă„ă“ă¨ă«ćł¨ć„ŹďĽŽ
ä¸»ăŞé–‹ç™şăŻ\texttt{master}ă®ĺ¤–ă§čˇŚă‚Źă‚ŚďĽŚćŻ”čĽçš„ăľă¨ăľăŁă¦ăŤăźă‚‰ăťă‚Śă‚’ \texttt{master} ă«
ĺŹŤć&nbsp;ă•ă›ă‚‹ă“ă¨ă«ă—ă¦ă„ă‚‹ďĽŽ
%&lt;/ja&gt;

%&lt;*en&gt;
\item Extract the archive. You will see \texttt{src/} and several other sub-directories.
But only the contents in \texttt{src/} are needed to work \LuaTeX-ja.
%&lt;/en&gt;
%&lt;*ja&gt;
\item ă€ŚGităŞăťă‚¸ăăŞă‚’ă‚Żă­ăĽăłă€Ťä»Ąĺ¤–ă®ć–ąćł•ă§ă‚˘ăĽă‚«ă‚¤ă–ă‚’ĺŹ–ĺľ—ă—ăźăŞă‚‰ă°ďĽŚăťă‚Śă‚’ĺ±•é–‹ă™ă‚‹ďĽŽ
      \texttt{src/} ă‚’ăŻăă‚ă¨ă—ăźă„ăŹă¤ă‹ă®ă‡ă‚Łă¬ă‚ŻăăŞăŚă§ăŤă‚‹ăŚďĽŚ
      ĺ‹•ä˝śă«ăŻ \texttt{src/} ä»Ąä¸‹ă®ĺ†…ĺ®ąă&nbsp;ă‘ă§ĺŤĺ†ďĽŽ
%&lt;/ja&gt;

%&lt;*en&gt;
\item If you downloaded this package from CTAN, you have to run following commands
    to generate classes:
%&lt;/en&gt;
%&lt;*ja&gt;
\item ă‚‚ă—CTANă‹ă‚‰ćś¬ă‘ăă‚±ăĽă‚¸ă‚’ĺŹ–ĺľ—ă—ăźă®ă§ă‚ă‚Śă°ďĽŚć—Ąćś¬čŞžç”¨ă‚Żă©ă‚ąă•ă‚ˇă‚¤ă«ă‚’ç”źćă™ă‚‹ăźă‚ă«ďĽŚ
ä»Ąä¸‹ă‚’ĺ®źčˇŚă™ă‚‹ĺż…č¦ăŚă‚ă‚‹ďĽš
%&lt;/ja&gt;
\begin{lstlisting}
$ cd src
$ lualatex ltjclasses.ins
$ lualatex ltjsclasses.ins
$ lualatex ltjltxdoc.ins
\end{lstlisting}

%&lt;*en&gt;
\item Copy all the contents of \texttt{src/} into one of your \texttt{TEXMF} tree.
      \texttt{TEXMF/tex/luatex/luatexja/} is an example location.
      If you cloned entire Git repository, making a symbolic link of \texttt{src/}
      instead copying is also good.
%&lt;/en&gt;
%&lt;*ja&gt;
\item \texttt{src} ă®ä¸­čş«ă‚’č‡Şĺ†ă® \texttt{TEXMF} ă„ăŞăĽă«ă‚łă”ăĽă™ă‚‹ďĽŽ
      ĺ&nbsp;´ć‰€ă®äľ‹ă¨ă—ă¦ăŻďĽŚäľ‹ăă°
\begin{quote}
 \texttt{TEXMF/tex/luatex/luatexja/}
\end{quote}
      ăŚă‚ă‚‹ďĽŽ
      ă‚·ăłăśăŞăă‚ŻăŞăłă‚ŻăŚĺ©ç”¨ă§ăŤă‚‹ç’°ĺ˘ă§ďĽŚă‹ă¤ăŞăťă‚¸ăăŞă‚’ç›´ćŽĄĺŹ–ĺľ—ă—ăźă®ă§ă‚ă‚Śă°ďĽŚ
      ďĽć›´ć–°ă‚’ĺ®ąć“ă«ă™ă‚‹ăźă‚ă«ďĽ‰ă‚łă”ăĽă§ăŻăŞăŹăŞăłă‚Żă‚’č˛Ľă‚‹ă“ă¨ă‚’ĺ‹§ă‚ă‚‹ďĽŽ
%&lt;/ja&gt;
%&lt;*en&gt;
\item If \texttt{mktexlsr} is needed to update the file name database, make it so.
%&lt;/en&gt;
%&lt;*ja&gt;
\item ĺż…č¦ăŚă‚ă‚Śă°ďĽŚ\texttt{mktexlsr} ă‚’ĺ®źčˇŚă™ă‚‹ďĽŽ
%&lt;/ja&gt;
\end{enumerate}

%&lt;*en&gt;
\subsection{Cautions}
For changes from \pTeX, see Subsection~\ref{ssec:chgptex}.
%&lt;/en&gt;
%&lt;*ja&gt;
\subsection{ćł¨ć„Źç‚ą}
\pTeX ă‹ă‚‰ă®ĺ¤‰ć›´ç‚ąă¨ă—ă¦ďĽŚ\ref{ssec:chgptex}çŻ€ă‚‚ç†źčŞ­ă™ă‚‹ă®ăŚćś›ăľă—ă„ďĽŽ
ă“ă“ă§ăŻä¸€č¬çš„ăŞćł¨ć„Źç‚ąă‚’čż°ăąă‚‹ďĽŽ
%&lt;/ja&gt;
\begin{itemize}
%&lt;*en&gt;
\item The encoding of your source file must be UTF-8. Other
      encodings, such as EUC-JP or Shift-JIS, are not supported.
%&lt;/en&gt;
%&lt;*ja&gt;
\item ĺŽźç¨żă®ă‚˝ăĽă‚ąă•ă‚ˇă‚¤ă«ă®ć–‡ĺ­—ă‚łăĽă‰ăŻUTF-8ĺ›şĺ®šă§ă‚ă‚‹ďĽŽ
      ĺľ“ćťĄć—Ąćś¬čŞžă®ć–‡ĺ­—ă‚łăĽă‰ă¨ă—ă¦ç”¨ă„ă‚‰ă‚Śă¦ăŤăźEUC-JPă‚„Shift-JISăŻä˝żç”¨ă§ăŤăŞă„ďĽŽ
%&lt;/ja&gt;
%&lt;*en&gt;
\item \LuaTeX-ja is very slower than \pTeX, and uses a lot of memory.
%&lt;/en&gt;
%&lt;*ja&gt;
\item \LuaTeX-jaăŻĺ‹•ä˝śăŚ\pTeX ă«ćŻ”ăąă¦éťžĺ¸¸ă«é…ă„ďĽŽ
  ă‚łăĽă‰ă‚’čŞżć•´ă—ă¦ĺľă€…ă«é€źăŹă—ă¦ă„ă‚‹ăŚďĽŚăľă&nbsp;ćş€č¶łă§ăŤă‚‹é€źĺş¦ă§ăŻăŞă„ďĽŽ
  ăľăźďĽŚĺ’Ść–‡ă•ă‚©ăłăă‚’čŞ­ăżčľĽă‚€ăźă‚ă«ĺ¤šé‡Źă®ăˇă˘ăŞă‚’ć¶č˛»ă™ă‚‹ă“ă¨ă«ă‚‚ćł¨ć„ŹăŚĺż…č¦ă§ă‚ă‚‹ďĽŽ
%&lt;/ja&gt;

\item
%&lt;*en&gt;
Note that when \LuaTeX-ja is loaded in plain \LuaTeX,
we cannot use color specification on font loading, such as
\begin{lstlisting}
  \font\hoge=lmroman10-regular.otf:color=FF0000 % \font primitive
\end{lstlisting}
This is because codes for shifting baseline in math mode (\LuaTeX-ja) collide with and prevents loading
codes for font color (\Pkg{luaotfload}) in these environments.
\emph{We recommend to use \LaTeX\ 2020-02-02 (or later)}, since we can avoid this collision in there.
%&lt;/en&gt;
%&lt;*ja&gt;
ăŞăŠďĽŚ\LuaTeX-jaă‚’plain~\LuaTeX ă§ç”¨ă„ă‚‹ĺ&nbsp;´ĺďĽŚ
ä»Ąä¸‹ă®ă‚ă†ăŞ\emph{ă•ă‚©ăłăčŞ­ăżčľĽăżć™‚ă®č‰˛ćŚ‡ĺ®š}ďĽ\cs{textcolor}ĺ‘˝ä»¤ă§ăŻăŞăŹďĽďĽ‰\emph{ăŻĺ©ç”¨ă§ăŤăŞă„}ďĽŽ
\begin{lstlisting}
  \font\hoge=lmroman10-regular.otf:color=FF0000 % \font primitive
\end{lstlisting}
ă“ă‚ŚăŻďĽŚ\LuaTeX-jaă«ă‚ă‚‹ć•°ĺĽŹĺ†…ă®ă™ăĽă‚ąă©ă‚¤ăłčŁść­ŁďĽ\ref{ssec:baseline}çŻ€ďĽ‰ă®ă‚łăĽă‰ăŚ
\Pkg{luaotfload}ă‘ăă‚±ăĽă‚¸ă®ă•ă‚©ăłăč‰˛ĺ‡¦ç†ă®ă‚łăĽă‰ă¨čˇťçŞă™ă‚‹ăźă‚ă§ă‚ă‚‹ďĽŽ
\LaTeX\ 2020-02-02ä»Ąé™Ťă§ăŻčˇťçŞĺ›žéżă®ăźă‚ă®ä»•çµ„ăżăŚĺ‚™ă‚ŹăŁă¦ă„ă‚‹ă®ă§ďĽŽ\emph{\LaTeX\ 2020-02-02ä»Ąé™Ťă§ă®ä˝żç”¨ă‚’ĺ‹§ă‚ă‚‹}ďĽŽ
%&lt;/ja&gt;
\end{itemize}

%&lt;en&gt;\subsection{Using in plain \TeX}
%&lt;ja&gt;\subsection{plain \TeX ă§ä˝żă†}
\label{ssec:plain}

%&lt;en&gt;To use \LuaTeX-ja in plain \TeX, simply put the following at the beginning of the document:
%&lt;ja&gt;\LuaTeX-jaă‚’ plain \TeX ă§ä˝żă†ăźă‚ă«ăŻďĽŚĺŤă«ć¬ˇă®čˇŚă‚’ă‚˝ăĽă‚ąă•ă‚ˇă‚¤ă«ă®ĺ†’é&nbsp;­ă«čż˝ĺŠ&nbsp;ă™ă‚Śă°ă‚ă„ďĽš
\begin{lstlisting}
\input luatexja.sty
\end{lstlisting}
%&lt;en&gt;This does minimal settings (like \texttt{ptex.tex}) for typesetting Japanese documents:
%&lt;ja&gt;ă“ă‚Śă§ďĽ\texttt{ptex.tex}ă®ă‚ă†ă«ďĽ‰ć—Ąćś¬čŞžçµ„ç‰ă®ăźă‚ă®ćś€ä˝Žé™ă®č¨­ĺ®šăŚăŞă•ă‚Śă‚‹ďĽš

\begin{itemize}
%&lt;*en&gt;
\item The following 12~Japanese fonts are preloaded:
\begin{center}\small
\begin{tabular}{llllll}
\toprule
\textbf{direction}&amp;
\textbf{classification}&amp;\textbf{font name}&amp;\bfseries ``10\,pt''&amp;\bfseries ``7\,pt''&amp;\bfseries ``5\,pt''\\\midrule
\smash{\raisebox{-1ex}{\emph{yoko} (horizontal)}}&amp;
\emph{mincho}&amp;HaranoAjiMincho-Regular&amp;\cs{tenmin}&amp;\cs{sevenmin}&amp;\cs{fivemin}\\
&amp;\emph{gothic}&amp;HaranoAjiGothic-Medium&amp;\cs{tengt} &amp;\cs{sevengt} &amp;\cs{fivegt}\\
\midrule
\smash{\raisebox{-1ex}{\emph{tate} (vertical)}}&amp;
\emph{mincho}&amp;HaranoAjiMincho-Regular&amp;\cs{tentmin}&amp;\cs{seventmin}&amp;\cs{fivetmin}\\
&amp;\emph{gothic}&amp;HaranoAjiGothic-Medium&amp;\cs{tentgt} &amp;\cs{seventgt} &amp;\cs{fivetgt}\\
\bottomrule
\end{tabular}
\end{center}
%&lt;/en&gt;
%&lt;*ja&gt;
\item ä»Ąä¸‹ă®12ĺ€‹ă®ĺ’Ść–‡ă•ă‚©ăłăăŚĺ®šçľ©ă•ă‚Śă‚‹ďĽš
\begin{center}\small
\begin{tabular}{llllll}
\toprule
\emph{çµ„ć–ąĺ‘}&amp;\emph{ĺ­—ä˝“}&amp;\emph{ă•ă‚©ăłăĺŤ}&amp;\bfseries``10\,pt''&amp;\bfseries``7\,pt''&amp;\bfseries``5\,pt''\\\midrule
\smash{\raisebox{-0.7\zh}{ć¨Şçµ„}}&amp;
ćŽćśťä˝“&amp;ĺŽźăŽĺ‘łćŽćśťRegular&amp;\cs{tenmin}&amp;\cs{sevenmin}&amp;\cs{fivemin}\\
&amp;\textgt{ă‚´ă‚·ăă‚Żä˝“}&amp;ĺŽźăŽĺ‘łč§’ă‚´ă‚·ăă‚ŻMedium&amp;\cs{tengt} &amp;\cs{sevengt} &amp;\cs{fivegt}\\
\midrule
\smash{\raisebox{-0.7\zh}{ç¸¦çµ„}}&amp;
ćŽćśťä˝“&amp;ĺŽźăŽĺ‘łćŽćśťRegular&amp;\cs{tentmin}&amp;\cs{seventmin}&amp;\cs{fivetmin}\\
&amp;\textgt{ă‚´ă‚·ăă‚Żä˝“}&amp;ĺŽźăŽĺ‘łč§’ă‚´ă‚·ăă‚ŻMedium&amp;\cs{tentgt} &amp;\cs{seventgt} &amp;\cs{fivetgt}\\
\bottomrule
\end{tabular}
\end{center}
%&lt;/ja&gt;
\begin{itemize}
%&lt;*en&gt;
\item The ``default'' Japanese fonts (and~JFMs for them) can be 
  modified by defining \cs{ltj@stdmcfont} etc.\ \emph{before}
  one inputs \texttt{luatexja.sty} (Subsection~\ref{ssec:cfg}).
%&lt;/en&gt;
%&lt;*ja&gt;
\item ć¨™ćş–ĺ’Ść–‡ă•ă‚©ăłăă‚„JFMă‚’ĺŽźăŽĺ‘łă•ă‚©ăłăă‹ă‚‰ĺĄă®ă‚‚ă®ă«ç˝®ăŤćŹ›ăă‚‹ă«ăŻďĽŚ
  \cs{ltj@stdmcfont}ç­‰ă‚’\texttt{luatexja.sty}čŞ­ăżčľĽăż\emph{ĺ‰Ť}ă«ĺ®šçľ©ă™ă‚Śă°ă‚ă„ďĽŽ
  \ref{ssec:cfg}çŻ€ă‚’ĺŹ‚ç…§ďĽŽ
%&lt;/ja&gt;

%&lt;*en&gt;
\item A character in an alphabetic font is generally smaller than a
      Japanese font in the same size. So actual size specification of
      these Japanese fonts is in fact smaller than that of alphabetic
      fonts, namely scaled by 0.962216.
%&lt;/en&gt;
%&lt;*ja&gt;
\item ć¬§ć–‡ă•ă‚©ăłăă®ć–‡ĺ­—ăŻĺ’Ść–‡ă•ă‚©ăłăă®ć–‡ĺ­—ă‚ă‚Šă‚‚ďĽŚĺŚăć–‡ĺ­—ă‚µă‚¤ă‚şă§ă‚‚
      ä¸€č¬ă«ĺ°Źă•ăŹă‡ă‚¶ă‚¤ăłă•ă‚Śă¦ă„ă‚‹ďĽŽăťă“ă§ďĽŚć¨™ćş–ă§ăŻă“ă‚Śă‚‰ă®ĺ’Ść–‡ă•ă‚©ăłăă®ĺ®źéš›ă®ă‚µă‚¤ă‚şăŻćŚ‡ĺ®šă•ă‚Śăźĺ€¤ă‚ă‚Šă‚‚
      ĺ°Źă•ăŹăŞă‚‹ă‚ă†ă«č¨­ĺ®šă•ă‚Śă¦ăŠă‚ŠďĽŚĺ…·ä˝“çš„ă«ăŻćŚ‡ĺ®šă®0.962216ĺ€Ťă«ă‚ąă‚±ăĽă«ă•ă‚Śă‚‹ďĽŽ
      ă“ă®0.962216ă¨ă„ă†ć•°ĺ€¤ă‚‚ďĽŚ\pTeX ă«ăŠă‘ă‚‹ă‚ąă‚±ăĽăŞăłă‚°ă‚’č¸ŹčĄ˛ă—ăźĺ€¤ă§ă‚ă‚‹ďĽŽ
%&lt;/ja&gt;
\end{itemize}

%&lt;*en&gt;
\item The amount of glue that are inserted between a \textbf{JAchar} and
      an \textbf{ALchar} (the parameter \Param{xkanjiskip}) is set to
%&lt;/en&gt;
%&lt;*ja&gt;
\item \textbf{JAchar}ă¨\textbf{ALchar}ă®é–“ă«ĺ…Ąă‚‹ă‚°ă«ăĽ(\Param{xkanjiskip})ă®
      é‡ŹăŻć¬ˇă®ă‚ă†ă«č¨­ĺ®šă•ă‚Śă¦ă„ă‚‹ďĽš
%&lt;/ja&gt;
\[
 (0.25\cdot 0.962216\cdot 10\,\mathrm{pt})^{+1\,\text{pt}}_{-1\,\text{pt}}
 = 2.40554\,\mathrm{pt}^{+1\,\text{pt}}_{-1\,\text{pt}}.
\]
\end{itemize}

%&lt;en&gt;\subsection{Using in \LaTeX}
%&lt;ja&gt;\subsection{\LaTeX ă§ä˝żă†}
\label{ssec:ltx}

%&lt;*en&gt;
Using in \LaTeXe\ is basically same. To set up the minimal environment
for Japanese, you only have to load \texttt{luatexja.sty}:
%&lt;/en&gt;
%&lt;*ja&gt;
\LaTeXe ă‚’ç”¨ă„ă‚‹ĺ&nbsp;´ĺă‚‚ĺźşćś¬çš„ă«ăŻĺŚăă§ă‚ă‚‹ďĽŽć—Ąćś¬čŞžçµ„ç‰ă®ăźă‚ă®ćś€ä˝Žé™ă®ç’°ĺ˘ă‚’
č¨­ĺ®šă™ă‚‹ăźă‚ă«ăŻďĽŚ\texttt{luatexja.sty}ă‚’čŞ­ăżčľĽă‚€ă&nbsp;ă‘ă§ă‚ă„ďĽš
%&lt;/ja&gt;
\begin{lstlisting}
\usepackage{luatexja}
\end{lstlisting}
%&lt;*en&gt;
It also does minimal settings (counterparts in \pLaTeX\ are \texttt{%
plfonts.dtx} and \texttt{pldefs.ltx}).
%&lt;/en&gt;
%&lt;*ja&gt;
ă“ă‚Śă§\pLaTeX ă®\texttt{plfonts.dtx}ă¨\texttt{pldefs.ltx}ă«ç›¸ĺ˝“ă™ă‚‹ćś€ä˝Žé™ă®č¨­ĺ®šăŚ
ăŞă•ă‚Śă‚‹ďĽŽ
%&lt;/ja&gt;

\begin{itemize}
%&lt;*en&gt;
\item Font encodings for Japanese fonts are \texttt{JY3}~(for horizontal direction) and
\texttt{JT3}~(for vertical direction).
%&lt;/en&gt;
%&lt;*ja&gt;
\item ĺ’Ść–‡ă•ă‚©ăłăă®ă‚¨ăłă‚łăĽă‡ă‚Łăłă‚°ă¨ă—ă¦ăŻďĽŚć¨Şçµ„ç”¨ă«ăŻ \texttt{JY3}ďĽŚç¸¦çµ„ç”¨ă«ăŻ\
\texttt{JT3}ăŚç”¨ă„ă‚‰ă‚Śă‚‹ďĽŽ
%&lt;/ja&gt;

%&lt;*en&gt;
\item Traditionally, Japanese documents use only two families: \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}&amp;\textbf{commands}&amp;&amp;\textbf{family}\\\midrule
\emph{mincho} (ćŽćśťä˝“)&amp;\verb+\textmc{...}+&amp;\verb+{\mcfamily ...}+&amp;\cs{mcdefault}\\
\emph{gothic} (\textgt{ă‚´ă‚·ăă‚Żä˝“})&amp;\verb+\textgt{...}+&amp;\verb+{\gtfamily ...}+&amp;\cs{gtdefault}\\
(Japanese counterpart for typewriter font)&amp;---&amp;---&amp;\cs{jttdefault}\\
\bottomrule
\end{tabular}
\end{center}
  Here \cs{jttdefault} specifies the Japanese font family in \cs{verb}~or~\texttt{verbatim}
  environment, and its default value is \cs{mcdefault} (mincho family).%
  \footnote{%
	When \Pkg{ltjsclasses} classes are used, or
	\Pkg{luatexja-fontspec} (or \Pkg{luatexja-preset}) is loaded with \texttt{match} option,
	\cs{ttfamily} changes the current Japanese font amily to \cs{jttdefault}.
	These classes and packages also redefine \cs{jttdefault} to
	\cs{gtdefault} (\emph{gothic}~family).
  } \LuaTeX-ja does not define commands to only switch current Japanese font family to
  \cs{jttdefault}.

\item
By default, the following fonts are used for these two families.
\begin{center}\small
\begin{tabular}{lllll}
\toprule
\textbf{classification}&amp;\textbf{family}&amp;\textbf{\cs{mdseries}}&amp;\textbf{\cs{bfseries}}&amp;\textbf{scale}\\\midrule
\emph{mincho} (ćŽćśťä˝“)&amp;\texttt{mc}&amp;HaranoAjiMincho-Regular&amp;HaranoAjiGothic-Medium&amp;0.962216\\
\emph{gothic} (\textgt{ă‚´ă‚·ăă‚Żä˝“})&amp;\texttt{gt}&amp;HaranoAjiGothic-Medium&amp;HaranoAjiGothic-Medium&amp;0.962216\\
\bottomrule
\end{tabular}
\end{center}
\item Note that the bold series (series \texttt{bx}~or~\texttt{b}) in both family
     are same as the medium series of gothic family.
     There is no italic nor slanted shape for these \texttt{mc}~and~\texttt{gt}.
%&lt;/en&gt;
%&lt;*ja&gt;
\item \pLaTeX ă¨ĺŚć§ă«ďĽŚć¨™ćş–ă§ăŻă€ŚćŽćśťä˝“ă€Ťă€Śă‚´ă‚·ăă‚Żä˝“ă€Ťă®2ç¨®éˇžă‚’ç”¨ă„ă‚‹ďĽŽ
\begin{center}\small
\begin{tabular}{llll}
\toprule
\emph{ĺ­—ä˝“}&amp;\emph{ĺ‘˝ä»¤}&amp;&amp;\emph{ă•ă‚ˇăźăŞĺŤ}\\\midrule
ćŽćśťä˝“&amp;\verb+\textmc{...}+&amp;\verb+{\mcfamily ...}+&amp;\cs{mcdefault}\\
\textgt{ă‚´ă‚·ăă‚Żä˝“}&amp;\verb+\textgt{...}+&amp;\verb+{\gtfamily ...}+&amp;\cs{gtdefault}\\
ďĽă‚żă‚¤ă—ă©ă‚¤ă‚żä˝“ă¨ĺă‚Źă›ă‚‹ĺ’Ść–‡ďĽ‰&amp;---&amp;&amp;\cs{jttdefault}\\
\bottomrule
\end{tabular}
\end{center}
  \cs{jttdefault}ăŻ\cs{verb}ă‚„\texttt{verbatim}ç’°ĺ˘ä¸­ă®ĺ’Ść–‡ć–‡ĺ­—ă«ä˝żă‚Źă‚Śă‚‹ĺ’Ść–‡ă•ă‚©ăłăă•ă‚ˇăźăŞă§ă‚ă‚ŠďĽŚ
  ć¨™ćş–ĺ€¤ăŻ\cs{mcdefault}ďĽŚă¤ăľă‚ŠćŽćśťä˝“ă§ă‚ă‚‹
  \footnote{%
	\Pkg{ltjsclasses}ă‚’ä˝żç”¨ă—ăźă‚ŠďĽŚăľăź\Pkg{luatexja-fontspec}ă‚„\Pkg{luatexja-preset}ă‘ăă‚±ăĽă‚¸ă‚’
	\texttt{match}ă‚Şă—ă‚·ă§ăłă‚’ćŚ‡ĺ®šă—ă¦čŞ­ăżčľĽă‚“ă&nbsp;ă¨ăŤăŻďĽŚĺŤăŞă‚‹\cs{ttfamily}ă«ă‚ăŁă¦ă‚‚ĺ’Ść–‡ă•ă‚©ăłăăŚ
	\cs{jttdefault}ă«ĺ¤‰ć›´ă•ă‚Śă‚‹ďĽŽăľăźďĽŚă“ă‚Śă‚‰ă®ă‚Żă©ă‚ąă•ă‚ˇă‚¤ă«ă‚„ă‘ăă‚±ăĽă‚¸ăŻ
	\cs{jttdefault}ă‚’ \cs{gtdefault}ďĽă‚´ă‚·ăă‚Żä˝“ďĽ‰ă«ĺ†Ťĺ®šçľ©ă™ă‚‹ďĽŽ
  }ďĽŽĺ’Ść–‡ă•ă‚©ăłăă•ă‚ˇăźăŞďĽă®ăżďĽ‰ă‚’\cs{jttdefault}ă«ĺ‡ă‚Šć›żăă‚‹ĺ‘˝ä»¤ăŻćş–ĺ‚™ă—ă¦ă„ăŞă„ďĽŽ

\item ć¨™ćş–ă§ăŻďĽŚć¬ˇă®ă•ă‚©ăłăăŚç”¨ă„ă‚‰ă‚Śă‚‹ďĽš
\begin{center}\small
\begin{tabular}{lllll}
\toprule
\emph{ĺ­—ä˝“}&amp;\emph{ă•ă‚ˇăźăŞ}&amp;\textbf{\cs{mdseries}}&amp;\textbf{\cs{bfseries}}&amp;\emph{ă‚ąă‚±ăĽă«}\\\midrule
ćŽćśťä˝“&amp;\texttt{mc}&amp;ĺŽźăŽĺ‘łćŽćśťRegular&amp;ĺŽźăŽĺ‘łč§’ă‚´ă‚·ăă‚ŻMedium&amp;0.962216\\
\textgt{ă‚´ă‚·ăă‚Żä˝“}&amp;\texttt{gt}&amp;ĺŽźăŽĺ‘łč§’ă‚´ă‚·ăă‚ŻMedium&amp;ĺŽźăŽĺ‘łč§’ă‚´ă‚·ăă‚ŻMedium&amp;0.962216\\
\bottomrule
\end{tabular}
\end{center}

ćŽćśťă»ă‚´ă‚·ăă‚Żă©ăˇă‚‰ă®ă•ă‚ˇăźăŞă«ăŠă„ă¦ă‚‚ďĽŚĺ¤Şĺ­—(\cs{bfseries})ă®ă•ă‚©ăłăăŻ
ă‚´ă‚·ăă‚Żä˝“ä¸­ĺ­—(\cs{gtfamily}\cs{mdseries})ă§ä˝żă‚Źă‚Śă‚‹ă•ă‚©ăłăă¨ĺŚăă§ă‚ă‚‹ă“ă¨ă«ćł¨ć„ŹďĽŽ
ăľăźďĽŚă©ăˇă‚‰ă®ă•ă‚ˇăźăŞă§ă‚‚ă‚¤ă‚żăŞăă‚Żä˝“ă»ă‚ąă©ăłăä˝“ăŻĺ®šçľ©ă•ă‚ŚăŞă„ďĽŽ

 \item ĺ’Ść–‡ă®ĺ¤Şĺ­—ă‚’čˇ¨ă™ă‚·ăŞăĽă‚şĺŤăŻďĽŚďĽĺ…ă€…ă®Computer ModernăŚ
  ĺ¤Şĺ­—ă«\texttt{bx}ă‚’ç”¨ă„ă¦ă„ăźă“ă¨ă‹ă‚‰ďĽ‰äĽťçµ±çš„ă«\texttt{bx}~(Bold Extended)ăŚä˝żă‚Źă‚Śă¦ăŤăźďĽŽ
  ă—ă‹ă—ďĽŚĺ¤Şĺ­—ă«ă‚·ăŞăĽă‚ş\texttt{b}ă‚’ä˝żă†ă•ă‚©ăłăă‚‚ĺ˘—ăă¦ăŤăźăźă‚ďĽŚ
  ăăĽă‚¸ă§ăł20180616.0ä»Ąé™Ťă§ăŻĺ’Ść–‡ă®ĺ¤Şĺ­—ă¨ă—ă¦\texttt{bx},~\texttt{b}ă®ä¸ˇć–ąă‚’ć‰±ăă‚‹ă‚ă†ă«ă—ăźďĽŽ
%&lt;/ja&gt;

%&lt;*en&gt;
 \item From version~20181102.0, one can specifies \texttt{disablejfam} option at
  loading \LuaTeX-ja. This option prevents loading a patch for \LaTeX, which are
  needed to support Japanese characters in math mode.

  Without \texttt{disablejfam} option, one can typeset Japanese characters in
  math mode as~\verb+$ă‚$+ (see Page~\pageref{para:jachar_in_math}) as before.
  Japanese characters in math mode are typeset by the font family \texttt{mc}.
%&lt;/en&gt;
%&lt;*ja&gt;
 \item ăăĽă‚¸ă§ăł20181102.0ä»Ąé™Ťă§ăŻďĽŚ\texttt{disablejfam}ă‚Şă—ă‚·ă§ăłă‚’\LuaTeX-jačŞ­ăżčľĽăżć™‚ă«
  ćŚ‡ĺ®šă§ăŤă‚‹ă‚ă†ă«ăŞăŁăźďĽŽă“ă®ă‚Şă—ă‚·ă§ăłăŻďĽŚć•°ĺĽŹă˘ăĽă‰ä¸­ă«ç›´ă«ĺ’Ść–‡ć–‡ĺ­—ă‚’ć›¸ă‘ă‚‹ă‚ă†ă«ă™ă‚‹ăźă‚ă®
  \LaTeX ă¸ă®ă‘ăăă‚’čŞ­ăżčľĽăľăŞă„ďĽŽ

  \texttt{disablejfam}ă®ăŞă„çŠ¶ćłă§ăŻďĽŚä»Ąĺ‰Ťă¨ĺŚć§ă«ĺ’Ść–‡ć–‡ĺ­—ă‚’ć•°ĺĽŹă˘ăĽă‰ä¸­ă«
  ç›´ă«ć›¸ăŹă“ă¨ăŚă§ăŤă‚‹ďĽä˝†ă—\pageref{para:jachar_in_math}ăšăĽă‚¸ă®č¨čż°ă‚‚ĺŹ‚ç…§ďĽ‰ďĽŽ
  ăťă®éš›ă«ăŻćŽćśťä˝“(\texttt{mc})ă§ĺ‡şĺŠ›ă•ă‚Śă‚‹ďĽŽ
%&lt;/ja&gt;

%&lt;*en&gt;
\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
      the gothic family. The following line  changes  the default Japanese font family
      to it:
%&lt;/en&gt;
%&lt;*ja&gt;
\item \Pkg{beamer}ă‚Żă©ă‚ąă‚’ć—˘ĺ®šă®ă•ă‚©ăłăč¨­ĺ®šă§ä˝żă†ĺ&nbsp;´ĺďĽŚć—˘ĺ®šć¬§ć–‡ă•ă‚©ăłăăŚă‚µăłă‚»ăŞă•ăŞă®
      ă§ďĽŚć—˘ĺ®šĺ’Ść–‡ă•ă‚©ăłăă‚‚ă‚´ă‚·ăă‚Żä˝“ă«ă—ăźă„ă¨ć€ťă†ă‹ă‚‚ă—ă‚ŚăŞă„ďĽŽăťă®ĺ&nbsp;´ĺăŻă—ăŞă‚˘ăłă–ă«ă«
ć¬ˇă‚’ć›¸ă‘ă°ă‚ă„ďĽš
%&lt;/ja&gt;
\begin{lstlisting}
 \renewcommand{\kanjifamilydefault}{\gtdefault}
\end{lstlisting}

%&lt;*ja&gt;
\item \pLaTeX ă¨ĺŚć§ă«ďĽŚ\texttt{mc},~\texttt{gt}ä¸ˇă•ă‚ˇăźăŞă«ăŻă€Śĺľ“ĺ±žć¬§ć–‡ă€Ťć›¸ä˝“ăŚĺ®šçľ©ă•ă‚Śă¦ă„ă‚‹ďĽŽ
  ă“ă‚Śă‚‰ăŻ\cs{userelfont}ă‚’\cs{selectfont}ďĽă‚„ďĽŚăťă®ä»–ă®ă€Śĺ®źéš›ă«ă€Ť
  ă•ă‚©ăłăă‚’ĺ¤‰ć›´ă™ă‚‹ĺ‘˝ä»¤ďĽ‰ă®ĺ‰Ťă§ĺ®źčˇŚă™ă‚‹ă“ă¨ă«ă‚ă‚Šä˝żă†ă“ă¨ăŚă§ăŤă‚‹ďĽŽ

  \pLaTeX ă§ăŻć¨™ćş–ă®ć¬§ć–‡ă•ă‚©ăłăăŻOT1ă‚¨ăłă‚łăĽă‡ă‚Łăłă‚°ă®Computer Modern Roman (\texttt{cmr})%
  ă§ă‚ăŁăźăŚďĽŚ2017ĺą´ä»Ąé™Ťă®\LuaLaTeX ă§ăŻTUă‚¨ăłă‚łăĽă‡ă‚Łăłă‚°ă®Latin Modern Roman (\texttt{lmr})%
  ă«ĺ¤‰ć›´ă•ă‚Śă¦ă„ă‚‹ďĽŽăťă®ăźă‚ďĽŚĺ‰Ťć®µč˝ă§čż°ăąăźă€Śĺľ“ĺ±žć¬§ć–‡ă€Ťă‚‚ďĽŚLatin Modern Romană«č¨­ĺ®šă—ă¦ă„ă‚‹ďĽŽ
%&lt;/ja&gt;

\end{itemize}

%&lt;*en&gt;
However, above settings are not sufficient for Japanese-based
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, \LuaTeX-ja has the counterparts of \Pkg{jclasses} (standard
classes in \pLaTeX) and \Pkg{jsclasses} (classes by Haruhiko
Okumura), namely, \Pkg{ltjclasses}\footnote{%
  \texttt{ltjarticle.cls},~\texttt{ltjbook.cls}, \texttt{ltjreport.cls},
  \texttt{ltjtarticle.cls}, \texttt{ltjtbook.cls}, \texttt{ltjtreport.cls}.
  The latter \texttt{ltjt*.cls} are for vertically written Japanese documents.
} and \Pkg{ltjsclasses}\footnote{%
  \texttt{ltjsarticle.cls},~\texttt{ltjsbook.cls}, \texttt{ltjsreport.cls},~\texttt{ltjskiyou.cls}.}.

Original \Pkg{jsclasses} use \cs{mag}~primitive to set the main document font size.
However, \LuaTeX\ does not support \cs{mag} in PDF~output,
so \Pkg{ltjsclasses} uses the \texttt{nomag*} option\footnote{Same effect as 
  the \Pkg{BXjscls} classes (by Takayuki Yato) and \Pkg{jsclasses}.
  However, these classes uses only \TeX\ code, but \Pkg{ltjsclasses} uses Lua code.}
 by default to set the main font size. If this causes some unexpected behavior, specify
\texttt{nomag} option in \cs{documentclass}.
%&lt;/en&gt;
%&lt;*ja&gt;
ă—ă‹ă—ăŞăŚă‚‰ďĽŚä¸Šč¨ă®č¨­ĺ®šăŻć—Ąćś¬čŞžă®ć–‡ć›¸ă«ă¨ăŁă¦ĺŤĺ†ă¨ăŻč¨€ăăŞă„ďĽŽ
ć—Ąćś¬čŞžć–‡ć›¸ă‚’çµ„ç‰ă™ă‚‹ăźă‚ă«ăŻďĽŚ\texttt{article.cls}, \texttt{book.cls}ă¨ă„ăŁăź
ć¬§ć–‡ç”¨ă®ă‚Żă©ă‚ąă•ă‚ˇă‚¤ă«ă§ăŻăŞăŹďĽŚĺ’Ść–‡ç”¨ă®ă‚Żă©ă‚ąă•ă‚ˇă‚¤ă«ă‚’ç”¨ă„ăźć–ąăŚă‚ă„ďĽŽ
çŹľć™‚ç‚ąă§ăŻďĽŚ\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{ltjsreport.cls},~\texttt{ltjskiyou.cls}.}%
ăŚăťă‚Śăžă‚Ś\LuaTeX-jać¨™ćş–ă§ç”¨ć„Źă•ă‚Śă¦ă„ă‚‹ďĽŽ

ĺ…ă€…ă®\Pkg{jsclasses}ă§ăŻćś¬ć–‡ă®ă•ă‚©ăłăă‚µă‚¤ă‚şă‚’č¨­ĺ®šă™ă‚‹ă®ă«\cs{mag}ă—ăŞăźă†ă‚Łă–ăŚä˝żă‚Źă‚Śă¦ă„ăźăŚďĽŚ
\LuaTeX ă§ăŻPDFĺ‡şĺŠ›ć™‚ă®\cs{mag}ă®ă‚µăťăĽăăŚĺ»ć­˘ă•ă‚ŚăźďĽŽ
ăťă®ăźă‚ďĽŚ\Pkg{ltjsclasses}ă§ăŻ\texttt{nomag*}ă‚Şă—ă‚·ă§ăł
\footnote{\Pkg{jsclasses}ă‚„ďĽŚĺ…«ç™»ĺ´‡äą‹ć°Źă«ă‚ă‚‹\Pkg{BXjscls}ă‚Żă©ă‚ąă«ăŠă‘ă‚‹ĺŚĺŤă®ă‚Şă—ă‚·ă§ăłă¨
  ĺŚăďĽŽä¸Šč¨ă‚Żă©ă‚ąăŻ\TeX ă‚łăĽă‰ă®ăżă§ĺ®źčŁ…ă—ă¦ă„ă‚‹ăŚďĽŚ\Pkg{ltjsclasses}ă§ăŻLuaă‚łăĽă‰ă‚‚ç”¨ă„ă¦ă„ă‚‹ďĽŽ}ăŚć¨™ćş–ă§
ćś‰ĺŠąă«ăŞăŁă¦ăŠă‚ŠďĽŚă“ă‚Śă‚’ä˝żăŁă¦ćś¬ć–‡ă•ă‚©ăłăă‚µă‚¤ă‚şă®č¨­ĺ®šă‚’čˇŚăŁă¦ă„ă‚‹ďĽŽ
ă—ă‹ă—ďĽŚă“ă®\texttt{nomag*}ă‚Şă—ă‚·ă§ăłă§ăŻďĽăăĽă‚¸ă§ăł20180121.0ă‚ă‚Šĺ‰Ťă§\Pkg{unicode-math}ă‘ăă‚±ăĽă‚¸ä˝żç”¨ć™‚ă«čµ·ăŤăźă‚ă†ă«ďĽ‰äşćłĺ¤–ă®ć„Źĺ›łă—ăŞă„çŹľč±ˇă«é­é‡ă™ă‚‹ĺŤ±é™şăŚă‚ă‚‹ďĽŽăťă®ă‚ă†ăŞĺ&nbsp;´ĺăŻ
\cs{documentclass}ă«ăŠă„ă¦\texttt{nomag}ă‚Şă—ă‚·ă§ăłă‚’ćŚ‡ĺ®šă—ă¦ă»ă—ă„ďĽŽ
%&lt;/ja&gt;

%&lt;*ja&gt;
\paragraph{č„šćł¨ă¨ăśăă&nbsp;ă•ă­ăĽăă®ĺ‡şĺŠ›é&nbsp;†ĺşŹ}
ă‚ŞăŞă‚¸ăŠă«ă®\LaTeX ă§ăŻč„šćł¨ăŻăśăă&nbsp;ă•ă­ăĽăă®ä¸Šă«ĺ‡şĺŠ›ă•ă‚ŚďĽŚăľăź\cs{raggedbottom}ĺ‘˝ä»¤ă§ăšăĽă‚¸ă®é«ă•ăŚä¸ŤćŹă„ă§ă‚ă‚‹ă“ă¨ă‚’č¨±ă—ăźĺ&nbsp;´ĺă«ăŻ
č„šćł¨ă®ä¸‹ç«Żă®ĺž‚ç›´ä˝Ťç˝®ă‚‚ăšăĽă‚¸ă«ĺżśăă¦ĺ¤‰ă‚Źă‚‹ă‚ă†ă«ăŞăŁă¦ă„ă‚‹ďĽŽ
ä¸€ć–ąďĽŚć—Ąćś¬čŞžă®çµ„ç‰ă§ăŻč„šćł¨ăŻăśăă&nbsp;ă•ă­ăĽăă®ä¸‹ă«ćťĄă‚‹ă®ăŚä¸€č¬çš„ă§ă‚ă‚‹ă®ă§ďĽŚ
\pLaTeX ă§ăŻăťă®ă‚ă†ă«ĺ¤‰ć›´ă•ă‚Śă¦ăŠă‚ŠďĽŚ
ă•ă‚‰ă«\cs{raggedbottom}ĺ‘˝ä»¤ă‚’ĺ®źčˇŚă—ăźĺľŚă§ă‚‚č„šćł¨ăŻĺ¸¸ă«ăšăĽă‚¸ă®ä¸‹ç«Żă«ĺ›şĺ®šă•ă‚Śă‚‹ă‚ă†ă«ăŞăŁă¦ă„ă‚‹ďĽŽ

\LuaTeX-jaă§ăŻă€Ść¬§ć–‡ă‚Żă©ă‚ąă®ä¸­ă«ăˇă‚‡ăŁă¨ă&nbsp;ă‘ć—Ąćś¬čŞžă‚’ĺ…Ąă‚Śă‚‹ă€Ťă¨ă„ă†ĺ©ç”¨ă‚‚č€ć…®ă—ďĽŚ
č„šćł¨ă¨ăśăă&nbsp;ă•ă­ăĽăă®é&nbsp;†ĺşŹďĽŚĺŹŠăł\cs{raggedbottom}ć™‚ă®č„šćł¨ă®ĺž‚ç›´ä˝Ťç˝®ăŻ\LaTeX é€šă‚Šă¨ă—ăźďĽŽ
ă“ă‚Śă‚‰ă‚’ĺ¶ĺľˇă™ă‚‹ă«ăŻä»Ąä¸‹ă®ć‰‹ć®µăŚă‚ă‚‹ďĽš
\begin{itemize}
 \item \pLaTeX ă®ă‚ă†ă«ďĽŚč„šćł¨ă‚’ăśăă&nbsp;ă•ă­ăĽăă®ä¸‹ă«çµ„ă‚€ĺ&nbsp;´ĺă«ăŻ
  \Pkg{stfloats}ă‘ăă‚±ăĽă‚¸ă‚’ĺ©ç”¨ă—ă¦
  \begin{lstlisting}
    \usepackage{stfloats}\fnbelowfloat
  \end{lstlisting}
  ă¨ă™ă‚‹ďĽŽă“ă®çŠ¶ćłă‹ă‚‰ă€Śč„šćł¨ă‚’ăśăă&nbsp;ă•ă­ăĽăă®ä¸Šă«çµ„ă‚€ă€Ťă¨ă„ă†\LaTeX ă®ć¨™ćş–ă®ćŚ™ĺ‹•ă«ć»ă—ăźă‘ă‚Śă°ďĽŚ
  \Pkg{stfloats}ă‘ăă‚±ăĽă‚¸ă®\cs{fnunderfloat}ĺ‘˝ä»¤ă‚’ä˝żç”¨ă™ă‚‹ďĽŽ
  \item \cs{raggedbottom}ć™‚ă®č„šćł¨ă®ĺž‚ç›´ä˝Ťç˝®ăŻďĽŚ\cs{iffnfixbottom}ă¨ă„ă†çśźĺ˝ĺ€¤ă§ĺ¶ĺľˇă™ă‚‹ďĽŽ
  \begin{description}
    \item[ĺ˝(\cs{fnfixbottomfalse})ă®ĺ&nbsp;´ĺ] \LaTeX ć¨™ćş–ă¨ĺŚăăŹďĽŚćś¬ć–‡ă¨č„šćł¨ă®é–“ă®ç©şç™˝ăŻ\cs{skip}\cs{footins}ă®ăżďĽŽ
    ĺľ“ăŁă¦č„šćł¨ă®ĺž‚ç›´ä˝Ťç˝®ăŻăšăĽă‚¸ă«ă‚ă‚Šĺ¤‰ĺ‹•ă™ă‚‹ďĽŽ
    \item[çśź(\cs{fnfixbottomtrue})ă®ĺ&nbsp;´ĺ] \pLaTeX ă‚„\Pkg{footmisc}ă‘ăă‚±ăĽă‚¸ă‚’\texttt{bottom}ă‚Şă—ă‚·ă§ăłă§
    čŞ­ăżčľĽă‚“ă&nbsp;ĺ&nbsp;´ĺă®ă‚ă†ă«ďĽŚč„šćł¨ăŻĺ¸¸ă«ăšăĽă‚¸ă®ä¸‹ç«Żă«ĺ›şĺ®šă•ă‚Śă‚‹ďĽŽ
  \end{description}
\item ăźă&nbsp;ă—ďĽŚ\LuaTeX-jaăŚćŹäľ›ă™ă‚‹ă€Śäş’ćŹ›ă‚Żă©ă‚ąă€Ť(\Pkg{ltjclasses}, \Pkg{ltjsclasses})ă§ăŻďĽŚ
  \pLaTeX ă¨ĺă‚Źă›ă‚‹ăźă‚ă«ä»Ąä¸‹ă®ă‚ă†ă«ă—ă¦ă„ă‚‹ďĽš
  \begin{itemize}
    \item \cs{fnfixbottomtrue}ăŚč‡Şĺ‹•çš„ă«ĺ®źčˇŚă•ă‚Śă‚‹
    \item \Pkg{stfloats}ă‘ăă‚±ăĽă‚¸ăŚ\LuaTeX ă‹ă‚‰ĺŹ‚ç…§ă§ăŤă‚‹ĺ&nbsp;´ć‰€ă«ă‚ăŁăźĺ&nbsp;´ĺăŻ
    č‡Şĺ‹•çš„ă«čŞ­ăżčľĽăżďĽŚ\cs{fnbelowfloat}ă‚’ĺ®źčˇŚă™ă‚‹ďĽŽ
  \end{itemize}
\end{itemize}
ăŞăŠďĽŚ\Pkg{stfloats}ă‘ăă‚±ăĽă‚¸ă‚’ä˝żă†ä»Łă‚Źă‚Šă«ďĽŚ
\Pkg{footmisc}ă‘ăă‚±ăĽă‚¸ă‚’ \texttt{bottom}ă‚Şă—ă‚·ă§ăłă‚’ćŚ‡ĺ®šă—ă¦čŞ­ăżčľĽă‚€
ă¨ă„ă†ă€Śč§Łć±şćł•ă€Ťă‚‚ă‚ă‚‹ďĽŽ
%&lt;/ja&gt;
%%% â†‘ăŻč‹±č¨łă—ăŞă„

%&lt;*en&gt;
\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:
%&lt;/en&gt;
%&lt;*ja&gt;
\paragraph{ç¸¦çµ„ă§ă®\Pkg{geometry}ă‘ăă‚±ăĽă‚¸}
\pLaTeX ă®ç¸¦çµ„ç”¨ć¨™ćş–ă‚Żă©ă‚ąă•ă‚ˇă‚¤ă«ă§ăŻ\Pkg{geometry}ă‘ăă‚±ăĽă‚¸ă‚’ĺ©ç”¨ă™ă‚‹ă“ă¨ăŻĺ‡şćťĄăšďĽŚ
%&lt;/ja&gt;
\begin{lstlisting}
! Incompatible direction list can't be unboxed.
\@begindvi -&gt;\unvbox \@begindvibox
                                   \global \let \@begindvi \@empty
\end{lstlisting}
%&lt;*en&gt;
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).
%&lt;/en&gt;
%&lt;*ja&gt;
ă¨ă„ă†ă‚ă†ăŞă‚¨ă©ăĽăŚç™şç”źă™ă‚‹ă“ă¨ăŚçźĄă‚‰ă‚Śă¦ă„ă‚‹ďĽŽ
\LuaTeX-jaă§ăŻďĽŚ \texttt{ltjtarticle.cls} ă¨ă„ăŁăźç¸¦çµ„ă‚Żă©ă‚ąă®ä¸‹ă§ă‚‚
\Pkg{geometry}ă‘ăă‚±ăĽă‚¸ăŚĺ©ç”¨ă§ăŤă‚‹ă‚ă†ă«ă‘ăă\Pkg{lltjp-geometry}ă‘ăă‚±ăĽă‚¸ă‚’č‡Şĺ‹•çš„ă«ĺ˝“ă¦ă¦ă„ă‚‹ďĽŽ

ăŞăŠďĽŚ\Pkg{lltjp-geometry}ă‘ăă‚±ăĽă‚¸ăŻ\pTeX çł»ĺ—ă§ă‚‚ćŽç¤şçš„ă«čŞ­ăżčľĽă‚€ă“ă¨ă«ă‚ăŁă¦
ä˝żç”¨ĺŹŻč˝ă§ă‚ă‚‹ďĽŽč©łç´°ă‚„ćł¨ć„Źäş‹é&nbsp;…ăŻ \url{lltjp-geometry.pdf} ă‚’ĺŹ‚ç…§ă®ă“ă¨ďĽŽ
%&lt;/ja&gt;


%&lt;en&gt;\section{Changing Fonts}
%&lt;ja&gt;\section{ă•ă‚©ăłăă®ĺ¤‰ć›´}

\subsection{plain \TeX~and~\LaTeXe}
\label{ssec:chgfnt}

\paragraph{plain \TeX}
%&lt;*en&gt;
To change Japanese fonts in plain \TeX, you must use the command
\cs{jfont}~and~\cs{tfont}. So please see Subsection~\ref{ssec:jfont}.
%&lt;/en&gt;
%&lt;*ja&gt;
plain \TeX ă§ĺ’Ść–‡ă•ă‚©ăłăă‚’ĺ¤‰ć›´ă™ă‚‹ăźă‚ă«ăŻďĽŚ
\pTeX ă®ă‚ă†ă« \cs{jfont} ĺ‘˝ä»¤ă‚„ \cs{tfont} ĺ‘˝ä»¤ă‚’ç›´ćŽĄç”¨ă„ă‚‹ďĽŽ
\ref{ssec:jfont}çŻ€ă‚’ĺŹ‚ç…§ďĽŽ
%&lt;/ja&gt;

\paragraph{\LaTeXe\ (NFSS2)}
%&lt;*en&gt;
For \LaTeXe, \LuaTeX-ja adopted most of the font selection system of \pLaTeXe\ (in \texttt{plfonts.dtx}).
%&lt;/en&gt;
%&lt;*ja&gt;
\LaTeX ă§ç”¨ă„ă‚‹éš›ă«ăŻďĽŚ\pLaTeXe\ (\texttt{plfonts.dtx})ç”¨ă®ă•ă‚©ăłăé¸ćŠžć©źć§‹ă®ĺ¤§é¨ĺ†ă‚’ćµç”¨ă—ă¦ă„ă‚‹ďĽŽ
%&lt;/ja&gt;

%&lt;*en&gt;
\begin{center}\small
\begin{tabular}{&gt;{\bfseries}llllll}
\toprule
&amp;\textbf{encoding}&amp;\textbf{family}&amp;\textbf{series}&amp;\textbf{shape}&amp;\textbf{selection}\\\midrule
Alphabetic fonts
&amp;\cs{romanencoding}&amp;\cs{romanfamily}&amp;\cs{romanseries}&amp;\cs{romanshape}
&amp;\cs{useroman}\\
Japanese fonts
&amp;\cs{kanjiencoding}&amp;\cs{kanjifamily}&amp;\cs{kanjiseries}&amp;\cs{kanjishape}
&amp;\cs{usekanji}\\
both&amp;---&amp;--&amp;\cs{fontseries}&amp;\cs{fontshape}$^*$&amp;---\\
auto select&amp;\cs{fontencoding}&amp;\cs{fontfamily}&amp;---&amp;---&amp;\cs{usefont}\\
\bottomrule
\end{tabular}
\end{center}
%&lt;/en&gt;
%&lt;*ja&gt;
\begin{center}\small
\begin{tabular}{llllll}
\toprule
&amp;\emph{ă‚¨ăłă‚łăĽă‡ă‚Łăłă‚°}&amp;\emph{ă•ă‚ˇăźăŞ}&amp;\emph{ă‚·ăŞăĽă‚ş}&amp;\emph{ă‚·ă‚§ă‚¤ă—}&amp;\emph{é¸ćŠž}\\\midrule
\emph{ć¬§ć–‡}
&amp;\cs{romanencoding}&amp;\cs{romanfamily}&amp;\cs{romanseries}&amp;\cs{romanshape}
&amp;\cs{useroman}\\
\emph{ĺ’Ść–‡}
&amp;\cs{kanjiencoding}&amp;\cs{kanjifamily}&amp;\cs{kanjiseries}&amp;\cs{kanjishape}
&amp;\cs{usekanji}\\
\emph{ä¸ˇć–ą}&amp;---&amp;--&amp;\cs{fontseries}&amp;\cs{fontshape}$^*$&amp;---\\
\emph{č‡Şĺ‹•é¸ćŠž}&amp;\cs{fontencoding}&amp;\cs{fontfamily}&amp;---&amp;---&amp;\cs{usefont}\\
\bottomrule
\end{tabular}
\end{center}
%&lt;/ja&gt;

\begin{itemize}
%&lt;*en&gt;
\item \cs{fontfamily}, \cs{fontseries}, and~\cs{fontshape} try to change
      attributes of Japanese fonts, as well as those of alphabetic fonts.
      Of course, \cs{selectfont} is needed to select current text fonts.

      Note that \cs{fontshape} always changes current alphabetic font shape,
      but it does \emph{not} change current Japanese font shape if
      the target shape is unavailable for current Japanese encoding/family/series.
      For the detail, see Subsection~\ref{ssec:nfsspat}.
%&lt;/en&gt;
%&lt;*ja&gt;
\item \cs{fontfamily}, \cs{fontseries}, \cs{fontshape} ăŻć¬§ć–‡ă»ĺ’Ść–‡ă•ă‚©ăłăä¸ˇć–ąă®ĺ±žć€§ă‚’ĺ¤‰ć›´ă—ă‚ă†ă¨ă™ă‚‹ďĽŽ
      ă‚‚ăˇă‚Ťă‚“ďĽŚăťă‚Śă‚‰ă‚’ĺ®źéš›ă«ĺŹŤć&nbsp;ă•ă›ă‚‹ă«ăŻć‰‹ĺ‹•ă§ \cs{selectfont} ă‚’ĺ®źčˇŚă™ă‚‹ĺż…č¦ăŚă‚ă‚‹ďĽŽ

      ăŞăŠďĽŚ\cs{fontshape\{\meta{shape}\}}ăŻĺ¸¸ă«ć¬§ć–‡ă•ă‚©ăłăă®ă‚·ă‚§ă‚¤ă—ă‚’č¨­ĺ®šă™ă‚‹ăŚďĽŚ
      ă‚‚ă—ă‚‚çŹľĺś¨ă®ĺ’Ść–‡ă•ă‚©ăłăă•ă‚ˇăźăŞă»ă‚·ăŞăĽă‚şă§č¦ć±‚ă•ă‚Śăźă‚·ă‚§ă‚¤ă—ăŚĺ©ç”¨ä¸Ťč˝ă&nbsp;ăŁăźĺ&nbsp;´ĺă«ăŻďĽŚĺ’Ść–‡ă•ă‚©ăłăă®ă‚·ă‚§ă‚¤ă—ăŻĺ¤‰ć›´ă—ăŞă„ďĽŽ
      č©łç´°ăŻ\ref{ssec:nfsspat}çŻ€ă‚’ĺŹ‚ç…§ă™ă‚‹ă“ă¨ďĽŽ
%&lt;/ja&gt;

%&lt;*en&gt;
\item \verb+\fontencoding{+\meta{encoding}\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
      alphabetic fonts to \texttt{T1}.
      \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}.
%&lt;/en&gt;
%&lt;*ja&gt;
\item  ă“ă“ă§ďĽŚ\cs{fontencoding\{\meta{encoding}\}}ăŻďĽŚĺĽ•ć•°ă«ă‚ă‚Šĺ’Ść–‡ĺ´ă‹ć¬§ć–‡
      ĺ´ă‹ă®ă©ăˇă‚‰ă‹ă®ă‚¨ăłă‚łăĽă‡ă‚Łăłă‚°ă‚’ĺ¤‰ć›´ă™ă‚‹ďĽŽäľ‹ăă°ďĽŚ
      \verb+\fontencoding{JY3}+ ăŻĺ’Ść–‡ă•ă‚©ăłăă®ă‚¨ăłă‚łăĽă‡ă‚Łăłă‚°ă‚’
      \texttt{JY3}ă«ĺ¤‰ć›´ă—ďĽŚ\verb+\fontencoding{T1}+ ăŻć¬§ć–‡ă•ă‚©ăłăĺ´ă‚’
      \texttt{T1}ă¸ă¨ĺ¤‰ć›´ă™ă‚‹ďĽŽ\cs{fontfamily} ă‚‚ĺĽ•ć•°ă«ă‚ă‚Šĺ’Ść–‡ĺ´ďĽŚć¬§ć–‡
      ĺ´ďĽŚ\emph{ă‚ă‚‹ă„ăŻä¸ˇć–ą}ă®ă•ă‚©ăłăă•ă‚ˇăźăŞă‚’ĺ¤‰ć›´ă™ă‚‹ďĽŽč©łç´°ăŻ
      \ref{ssec:nfsspat}çŻ€ă‚’ĺŹ‚ç…§ă™ă‚‹ă“ă¨ďĽŽ
%&lt;/ja&gt;

%&lt;*en&gt;
\item For defining a Japanese font family, use
      \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}:
%&lt;/en&gt;
%&lt;*ja&gt;
\item ĺ’Ść–‡ă•ă‚©ăłăă•ă‚ˇăźăŞă®ĺ®šçľ©ă«ăŻ \cs{DeclareFontFamily} ă®
      ä»Łă‚Źă‚Šă« \cs{DeclareKanjiFamily} ă‚’ç”¨ă„ă‚‹ďĽŽä»Ąĺ‰Ťă®
      ĺ®źčŁ…ă§ăŻ \cs{DeclareFontFamily} ă‚’ç”¨ă„ă¦ă‚‚ĺ•ŹéˇŚăŻç”źăăŞă‹ăŁăźăŚďĽŚçŹľĺś¨ă®ĺ®źčŁ…ă§ăŻ
      ăťă†ăŻă„ă‹ăŞă„ďĽŽ
\item ĺ’Ść–‡ă•ă‚©ăłăă®ă‚·ă‚§ă‚¤ă—ă‚’ĺ®šçľ©ă™ă‚‹ă«ăŻďĽŚé€šĺ¸¸ă® \cs{DeclareFontShape} ă‚’ä˝żăă°č‰Żă„ďĽš
%&lt;/ja&gt;
\begin{lstlisting}
\DeclareFontShape{JY3}{mc}{b}{n}{&lt;-&gt; s*HaranoAjiMincho--Bold:jfm=ujis;-kern}{}
    % Harano Aji Mincho Bold
\end{lstlisting}
%&lt;*ja&gt;
ä»®ĺŤć›¸ä˝“ă‚’ä˝żă†ĺ&nbsp;´ĺăŞă©ďĽŚč¤‡ć•°ă®ĺ’Ść–‡ă•ă‚©ăłăă‚’çµ„ăżĺă‚Źă›ă¦ä˝żă„ăźă„ĺ&nbsp;´ĺăŻ
\ref{ssec:altfont}çŻ€ă® \cs{ltjdeclarealtfont} ă¨ďĽŚăťă®\LaTeX ç‰ă®\
\cs{DeclareAlternateKanjiFont}ďĽ\ref{ssec:nfsspat}çŻ€ďĽ‰ă‚’ĺŹ‚ç…§ă›ă‚ďĽŽ
%&lt;/ja&gt;

\end{itemize}

%&lt;*en&gt;
\paragraph{Japanese characters in math mode}
\label{para:jachar_in_math}

Since \pTeX\ supports Japanese characters in math mode, there are
sources like the following:
%&lt;/en&gt;
%&lt;*ja&gt;
\paragraph{ć•°ĺĽŹă˘ăĽă‰ä¸­ă®ĺ’Ść–‡ć–‡ĺ­—}
\label{para:jachar_in_math}
  
\pTeX ă§ăŻďĽŚç‰ąă«ä˝•ă‚‚ă—ăŞă„ă§ă‚‚ć•°ĺĽŹä¸­ă«ĺ’Ść–‡ć–‡ĺ­—ă‚’č¨čż°ă™ă‚‹ă“ă¨ăŚă§ăŤăźďĽŽăťă®ăźă‚ďĽŚ
ä»Ąä¸‹ă®ă‚ă†ăŞă‚˝ăĽă‚ąăŚč¦‹ă‚‰ă‚ŚăźďĽš
%&lt;/ja&gt;

\begin{LTXexample}
$f_{é«ć¸©}$~($f_{\text{high temperature}}$).
\[ y=(x-1)^2+2\quad ă‚ăŁă¦\quad y&gt;0 \]
$5\in ç´&nbsp;:=\{\,p\in\mathbb N:\text{$p$ is a prime}\,\}$.
\end{LTXexample}
%&lt;*en&gt;
We (the project members of \LuaTeX-ja) think that using
Japanese characters in math mode are allowed if and only if these are used as identifiers.
In this point of view,
%&lt;/en&gt;
%&lt;*ja&gt;
\LuaTeX-jaă—ă­ă‚¸ă‚§ă‚Żăă§ăŻďĽŚć•°ĺĽŹă˘ăĽă‰ä¸­ă§ă®ĺ’Ść–‡ć–‡ĺ­—ăŻăťă‚Śă‚‰ăŚč­ĺĄĺ­ă¨ă—ă¦ç”¨ă„ă‚‰ă‚Śă‚‹
ă¨ăŤă®ăżč¨±ă•ă‚Śă‚‹ă¨č€ăă¦ă„ă‚‹ďĽŽ
ă“ă®č¦łç‚ąă‹ă‚‰ďĽŚ
%&lt;/ja&gt;

\begin{itemize}
%&lt;*en&gt;
\item The lines 1~and~2 above are not correct, since ``é«ć¸©'' in above is used as a textual label, and
``ă‚ăŁă¦'' is used as a conjunction.
%&lt;/en&gt;
%&lt;*ja&gt;
\item ä¸Šč¨ć•°ĺĽŹă®ă†ăˇ1, 2čˇŚç›®ăŻć­Łă—ăŹăŞă„ďĽŽăŞăśăŞă‚‰ă°ă€Śé«ć¸©ă€ŤăŚć„Źĺ‘łă®ă‚ă‚‹ă©ă™ă«ă¨
      ă—ă¦ďĽŚă€Śă‚ăŁă¦ă€ŤăŚćŽĄç¶šč©žă¨ă—ă¦ç”¨ă„ă‚‰ă‚Śă¦ă„ă‚‹ă‹ă‚‰ă§ă‚ă‚‹ďĽŽ
%&lt;/ja&gt;
%&lt;en&gt;\item However, the line~3 is correct, since ``ç´&nbsp;'' is used as an identifier.
%&lt;ja&gt;\item ă—ă‹ă—ăŞăŚă‚‰ďĽŚ3čˇŚç›®ăŻă€Śç´&nbsp;ă€ŤăŚĺŤăŞă‚‹č­ĺĄĺ­ă¨ă—ă¦ç”¨ă„ă‚‰ă‚Śă¦ă„ă‚‹ă®ă§ć­Łă—ă„ďĽŽ
\end{itemize}
%&lt;en&gt;Hence, in our opinion, the above input should be corrected as:
%&lt;ja&gt;ă—ăźăŚăŁă¦ďĽŚ\LuaTeX-jaă—ă­ă‚¸ă‚§ă‚Żăă®ć„Źč¦‹ă¨ă—ă¦ăŻďĽŚä¸Šč¨ă®ĺ…ĄĺŠ›ăŻć¬ˇă®ă‚ă†ă«ç›´ă•ă‚Śă‚‹ăąăŤă§ă‚ă‚‹ďĽš
\begin{LTXexample}
$f_{\text{é«ć¸©}}$~%
($f_{\text{high temperature}}$).
\[ y=(x-1)^2+2\quad
  \mathrel{\mbox{ă‚ăŁă¦}}\quad y&gt;0 \]
$5\in ç´&nbsp;:=\{\,p\in\mathbb N:\text{$p$ is a prime}\,\}$.
\end{LTXexample}

%&lt;*en&gt;
We also believe that using Japanese characters as identifiers is rare,
hence we don't describe how to change Japanese fonts in math mode in
this chapter. For the method, please see Subsection~\ref{ssec:math}.

{\emshape When \LuaTeX-ja is loaded with \texttt{disablejfam}~option,
  one cannot write Japanese characters in math mode as~\verb+$ç´&nbsp;$+.
  At that case, one have to use \cs{mbox} (or~\cs{text} in the \Pkg{amsmath} package).
}
%&lt;/en&gt;
%&lt;*ja&gt;
ăŞăŠ\LuaTeX-jaă—ă­ă‚¸ă‚§ă‚Żăă§ăŻďĽŚĺ’Ść–‡ć–‡ĺ­—ăŚč­ĺĄĺ­ă¨ă—ă¦ç”¨ă„ă‚‰ă‚Śă‚‹ă“ă¨ăŻă»ă¨ă‚“ă©ăŞă„
ă¨č€ăă¦ăŠă‚ŠďĽŚă—ăźăŚăŁă¦ă“ă®çŻ€ă§ăŻć•°ĺĽŹă˘ăĽă‰ä¸­ă®ĺ’Ść–‡ă•ă‚©ăłăă‚’ĺ¤‰ć›´ă™ă‚‹ć–ąćł•ă«ă¤ă„ă¦ăŻ
č¨čż°ă—ăŞă„ďĽŽă“ă®ć–ąćł•ă«ă¤ă„ă¦ăŻ\ref{ssec:math}çŻ€ă‚’ĺŹ‚ç…§ă®ă“ă¨ďĽŽ

{\gtfamily\bfseries
  ć—˘ă«č¨čż°ă—ăźé€šă‚ŠďĽŚ\texttt{disablejfam}ă‚Şă—ă‚·ă§ăłă‚’ćŚ‡ĺ®šă—ă¦\LuaTeX-jaă‚’čŞ­ăżčľĽă‚“ă&nbsp;ĺ&nbsp;´ĺăŻďĽŚ
  \verb+$ç´&nbsp;$+ ă®ă‚ă†ă«ç›´ćŽĄĺ’Ść–‡ć–‡ĺ­—ă‚’ć•°ĺĽŹă˘ăĽă‰ä¸­ă«č¨čż°ă™ă‚‹ă“ă¨ăŻă§ăŤăŞăŹăŞă‚‹ďĽŽ
  \cs{mbox}ďĽŚă‚ă‚‹ă„ăŻ\Pkg{amsmath}ă‘ăă‚±ăĽă‚¸ă®ćŹäľ›ă™ă‚‹\cs{text}ĺ‘˝ä»¤ăŞă©ă‚’ä˝żă†ă“ă¨ă«ăŞă‚‹ďĽŽ
}
%&lt;/ja&gt;



%&lt;en&gt;\subsection{\Pkg{luatexja-fontspec} package}
%&lt;ja&gt;\subsection{\Pkg{luatexja-fontspec}ă‘ăă‚±ăĽă‚¸}
\label{ssec:fontspec}
%&lt;*en&gt;
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[\meta{options}]\{luatexja-fontspec\}
\end{quote}
This \Pkg{luatexja-fontspec} package
automatically loads \Pkg{luatexja} and \Pkg{fontspec}
packages, if needed.
%&lt;/en&gt;
%&lt;*ja&gt;
\Pkg{fontspec}ă‘ăă‚±ăĽă‚¸ăŻďĽŚ\LuaTeXă»\XeTeX ă«ăŠă„ă¦
TrueTypeă»OpenTypeă•ă‚©ăłăă‚’ĺ®ąć“ă«ć‰±ă†ăźă‚ă®ă‘ăă‚±ăĽă‚¸ă§ă‚ă‚ŠďĽŚă“ă®ă‘ăă‚±ăĽă‚¸ă‚’čŞ­ăżčľĽă‚“ă§ăŠ
ă‘ă°Unicodeă«ă‚ă‚‹ĺ„ç¨®č¨ĺŹ·ă®ç›´ćŽĄĺ…ĄĺŠ›ă‚‚ă§ăŤă‚‹ă‚ă†ă«ăŞă‚‹ďĽŽ
\LuaTeX-jaă§ăŻĺ’Ść–‡ă¨ć¬§ć–‡ă‚’ĺŚşĺĄă—ă¦ă„ă‚‹ăźă‚ďĽŚ\Pkg{fontspec}ă‘ăă‚±ăĽă‚¸ă®ć©źč˝ăŻć¬§ć–‡ă•ă‚©ăłăă«
ĺŻľă—ă¦ă®ăżćś‰ĺŠąăŞă‚‚ă®ă¨ăŞăŁă¦ă„ă‚‹ďĽŽ

\LuaTeX-jaä¸Šă«ăŠă„ă¦ďĽŚ\Pkg{fontspec}ă‘ăă‚±ăĽă‚¸ă¨ĺŚć§ă®ć©źč˝ă‚’ĺ’Ść–‡ă•ă‚©ăłăă«ĺŻľă—ă¦ă‚‚ç”¨ă„ă‚‹ĺ&nbsp;´
ĺăŻ\Pkg{luatexja-fontspec}ă‘ăă‚±ăĽă‚¸ă‚’čŞ­ăżčľĽă‚€ďĽš
\begin{quote}
\ttfamily \textbackslash usepackage[\meta{options}]\{luatexja-fontspec\}
\end{quote}
ă“ă®ă‘ăă‚±ăĽă‚¸ăŻč‡Şĺ‹•ă§\Pkg{luatexja}ă‘ăă‚±ăĽă‚¸ă¨\Pkg{fontspec}ă‘ăă‚±ăĽă‚¸ă‚’čŞ­ăżčľĽă‚€ďĽŽ
%&lt;/ja&gt;

%&lt;*en&gt;
In the \Pkg{luatexja-fontspec} package, several commands are defined as
counterparts of original commands in the \Pkg{fontspec} package
(see \autoref{tab:ltj_fntspc}):
%&lt;/en&gt;
%&lt;*ja&gt;
\Pkg{luatexja-fontspec}ă‘ăă‚±ăĽă‚¸ă§ăŻďĽŚ\autoref{tab:ltj_fntspc}ă®
ă€Śĺ’Ść–‡ă€ŤčˇŚă«ç¤şă—ăźĺ‘˝ä»¤ă‚’\Pkg{fontspec}ă‘ăă‚±ăĽă‚¸ă®ĺ…ă®ă‚łăžăłă‰ďĽă€Ść¬§ć–‡ă€ŤčˇŚďĽ‰
ă«ĺŻľĺżśă™ă‚‹ă‚‚ă®ă¨ă—ă¦ĺ®šçľ©ă—ă¦ă„ă‚‹ďĽš
%&lt;/ja&gt;
%&lt;*en&gt;
\begin{table}
\caption{Commands of \Pkg{luatexja-fontspec}}\label{tab:ltj_fntspc}
\medskip
{\centering\small
\begin{tabular}{&gt;{\bfseries}lllll}
\toprule
Japanese fonts
&amp;\cs{jfontspec}&amp;\cs{setmainjfont}&amp;\cs{setsansjfont}&amp;\cs{setmonojfont}\\
Alphabetic fonts
&amp;\cs{fontspec}&amp;\cs{setmainfont}&amp;\cs{setsansfont}&amp;\cs{setmonofont}\\
\midrule
Japanese fonts
&amp;\cs{newjfontfamily}&amp;\cs{renewjfontfamily}&amp;\cs{setjfontfamily}&amp;\cs{providejfontfamily}\\
Alphabetic fonts
&amp;\cs{newfontfamily}&amp;\cs{renewfontfamily}&amp;\cs{setfontfamily}&amp;\cs{providefontfamily}\\
\midrule
Japanese fonts
&amp;\cs{newjfontface}&amp;\cs{renewjfontface}&amp;\cs{setjfontface}&amp;\cs{providejfontface}\\
Alphabetic fonts
&amp;\cs{newfontface}&amp;\cs{renewfontface}&amp;\cs{setfontface}&amp;\cs{providefontface}\\
\midrule
Japanese fonts
&amp;\cs{defaultjfontfeatures}&amp;\cs{addjfontfeatures}\\
Alphabetic fonts
&amp;\cs{defaultfontfeatures}&amp;\cs{addfontfeatures}\\
\bottomrule
\end{tabular}\par}
\end{table}
%&lt;/en&gt;
%&lt;*ja&gt;
\begin{table}
\caption{\Pkg{luatexja-fontspec}ă§ĺ®šçľ©ă•ă‚Śă‚‹ĺ‘˝ä»¤}\label{tab:ltj_fntspc}
\medskip
{\centering\small
\begin{tabular}{lllll}
\toprule
\emph{ĺ’Ść–‡}
&amp;\cs{jfontspec}&amp;\cs{setmainjfont}&amp;\cs{setsansjfont}&amp;\cs{setmonojfont}\\
\emph{ć¬§ć–‡}
&amp;\cs{fontspec}&amp;\cs{setmainfont}&amp;\cs{setsansfont}&amp;\cs{setmonofont}\\
\midrule
\emph{ĺ’Ść–‡}
&amp;\cs{newjfontfamily}&amp;\cs{renewjfontfamily}&amp;\cs{setjfontfamily}&amp;\cs{providejfontfamily}\\
\emph{ć¬§ć–‡}
&amp;\cs{newfontfamily}&amp;\cs{renewfontfamily}&amp;\cs{setfontfamily}&amp;\cs{providefontfamily}\\
\midrule
\emph{ĺ’Ść–‡}
&amp;\cs{newjfontface}&amp;\cs{renewjfontface}&amp;\cs{setjfontface}&amp;\cs{providejfontface}\\
\emph{ć¬§ć–‡}
&amp;\cs{newfontface}&amp;\cs{renewfontface}&amp;\cs{setfontface}&amp;\cs{providefontface}\\
\midrule
\emph{ĺ’Ść–‡}
&amp;\cs{defaultjfontfeatures}&amp;\cs{addjfontfeatures}\\
\emph{ć¬§ć–‡}
&amp;\cs{defaultfontfeatures}&amp;\cs{addfontfeatures}\\
\bottomrule
\end{tabular}\par}
\end{table}
%&lt;/ja&gt;

%&lt;en&gt; The package option of \Pkg{luatexja-fontspec} are the followings:
%&lt;ja&gt; \Pkg{luatexja-fontspec} ă‘ăă‚±ăĽă‚¸ă®ă‚Şă—ă‚·ă§ăłăŻä»Ąä¸‹ă®é€šă‚Šă§ă‚ă‚‹ďĽš
\begin{cslist}
 \item[match]
%&lt;*en&gt;
If this option is specified, usual family-changing commands such as
\cs{rmfamily},~\cs{textrm}, \cs{sffamily},~\dots\ also change Japanese font family.
%&lt;/en&gt;

%&lt;*ja&gt;
ă“ă®ă‚Şă—ă‚·ă§ăłăŚćŚ‡ĺ®šă•ă‚Śă‚‹ă¨ďĽŚă€Ś\pLaTeXe ć–°ă‰ă‚­ăĄăˇăłăă‚Żă©ă‚ąă€Ťă®ă‚ă†ă«\
\cs{rmfamily}, \verb+\textrm{...}+, \cs{sffamily} ç­‰ăŚ
ć¬§ć–‡ă•ă‚©ăłăă&nbsp;ă‘ă§ăŞăŹĺ’Ść–‡ă•ă‚©ăłăă‚‚ĺ¤‰ć›´ă™ă‚‹ă‚ă†ă«ăŞă‚‹ďĽŽ
%&lt;/ja&gt;

 \item[pass=\meta{options}]
%&lt;en&gt; \emph{(Obsoleted)}\ Specify options \meta{options} which will be passed to the \Pkg{fontspec} package.
%&lt;ja&gt; \Pkg{fontspec} ă‘ăă‚±ăĽă‚¸ă«ć¸ˇă™ă‚Şă—ă‚·ă§ăł \meta{options} ă‚’ćŚ‡ĺ®šă™ă‚‹ďĽŽćś¬ă‚Şă—ă‚·ă§ăłăŻć™‚ä»Łé…ă‚Śă§ă‚ă‚‹ďĽŽ

\item[scale=\meta{float}]
%&lt;*en&gt;
Override the ratio of the font size of Japanese fonts to that of alphabetic fonts.
The default value is determined as follows:
  \begin{itemize}
    \item The value of \cs{Cjascale} is used, if this control sequence is already defined.
    \item It is calculated automatically from the current Japanese font at the loading of the
    package, if \cs{Cjascale} is not defined.
  \end{itemize}
\cs{Cjascale} is defined in \Pkg{ltjclasses} and \Pkg{ltjsclasses}.
%&lt;/en&gt;
%&lt;*ja&gt;
ć¬§ć–‡ă«ĺŻľă™ă‚‹ĺ’Ść–‡ă®ćŻ”çŽ‡ă‚’ć‰‹ĺ‹•ă§ä¸Šć›¸ăŤă™ă‚‹ă¨ăŤă«ä˝żç”¨ă™ă‚‹ďĽŽ
ć¨™ćş–ă§ăŻ
\begin{itemize}
  \item \cs{Cjascale}ăŚĺ®šçľ©ă•ă‚Śă¦ă„ă‚‹ĺ&nbsp;´ĺ
  \footnote{\LuaTeX-ja ăŚç”¨ć„Źă—ă¦ă„ă‚‹ă‚Żă©ă‚ąă•ă‚ˇă‚¤ă«(\Pkg{ltjclasses},~\Pkg{ltjsclasses})ă‚’
  ä˝żă†ĺ&nbsp;´ĺăŻă“ăˇă‚‰ă«ĺ˝“ă¦ăŻăľă‚‹ďĽŽ}ăŻďĽŚăťă‚Śă‚’ç”¨ă„ă‚‹ďĽŽ
  \item \cs{Cjascale}ăŚćśŞĺ®šçľ©ă®ĺ&nbsp;´ĺăŻďĽŚ\Pkg{luatexja-fontspec}čŞ­ăżčľĽăżć™‚ă®ĺ’Ść–‡ă•ă‚©ăłăă‹ă‚‰č‡Şĺ‹•č¨ç®—ă•ă‚Śă‚‹ďĽŽ
\end{itemize}
%&lt;/ja&gt;
\end{cslist}

%&lt;*en&gt;
All other options listed above are simply passed to the \Pkg{fontspec} package.
This means that two lines below are equivalent, for example.
%&lt;/en&gt;
%&lt;*ja&gt;
ä¸Šč¨ă«ăŞă„ă‚Şă—ă‚·ă§ăłăŻĺ…¨ă¦ \Pkg{fontspec} ă‘ăă‚±ăĽă‚¸ă«ć¸ˇă•ă‚Śă‚‹ďĽŽ
äľ‹ăă°ďĽŚä¸‹ă®2čˇŚăŻĺŚăć„Źĺ‘łă«ăŞă‚‹ďĽš
%&lt;/ja&gt;
\begin{lstlisting}
\usepackage[no-math]{fontspec}\usepackage{luatexja-fontspec}
\usepackage[no-math]{luatexja-fontspec}
\end{lstlisting}
%&lt;*en&gt;
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}.
%&lt;/en&gt;
%&lt;*ja&gt;
ă“ă‚Śă‚‰ă®ĺ’Ść–‡ç”¨ă®ă‚łăžăłă‰ă§ăŻă•ă‚©ăłăĺ†…ă®ăšă‚˘ă‚«ăĽă‹ăłă‚°ć…ĺ&nbsp;±ăŻć¨™ćş–ă§ăŻä˝żç”¨ă•ă‚ŚăŞă„ďĽŚ
č¨€ă„ćŹ›ăă‚Śă° \texttt{kern} featureăŻć¨™ćş–ă§ăŻç„ˇĺŠąĺŚ–ă¨ăŞăŁă¦ă„ă‚‹ďĽŽ
ă“ă‚ŚăŻä»Ąĺ‰Ťă®ăăĽă‚¸ă§ăłă®\LuaTeX-jaă¨ă®äş’ćŹ›ć€§ă®ăźă‚ă§ă‚ă‚‹ďĽ\ref{para-kern}çŻ€ă‚’ĺŹ‚ç…§ďĽ‰ďĽŽ

ä»Ąä¸‹ă«\cs{jfontspec}ă®ä˝żç”¨äľ‹ă‚’ç¤şă™ďĽŽ
%&lt;/ja&gt;

\begin{LTXexample}[width=0.4\textwidth]
\jfontspec[CJKShape=NLC]{HaranoAjiMincho-Regular}
JIS~X~0213:2004â†’čľ»éŻµ\par
\jfontspec[CJKShape=JIS1990]{HaranoAjiMincho-Regular}
JIS~X~0208-1990â†’čľ»éŻµ\par
\jfontspec[CJKShape=JIS1978]{HaranoAjiMincho-Regular}
JIS~C~6226-1978â†’čľ»éŻµ
\end{LTXexample}

%&lt;en&gt;\subsection{Presets of Japanese fonts}
%&lt;ja&gt;\subsection{ĺ’Ść–‡ă•ă‚©ăłăă®ă—ăŞă‚»ăăč¨­ĺ®š}
\label{ssec:preset-abst}

%&lt;*en&gt;
With \Pkg{luatexja-preset} package, 
one use one of ``preset'' to simplify Japanese font setting.
For details of package options, and those of each presets, please see Subsecion~\ref{ssec:preset}.
The following presets are defined:
%&lt;/en&gt;
%&lt;*ja&gt;
ă‚ăŹä˝żă‚Źă‚Śă¦ă„ă‚‹ĺ’Ść–‡ă•ă‚©ăłăč¨­ĺ®šă‚’ä¸€čˇŚă§ćŚ‡ĺ®šă§ăŤă‚‹ă‚ă†ă«ă—ăźă®ăŚ
\Pkg{luatexja-preset}ă‘ăă‚±ăĽă‚¸ă§ă‚ă‚‹ďĽŽă‚Şă—ă‚·ă§ăłă‚„ĺ„ă—ăŞă‚»ăăă®č©łç´°ă«ă¤ă„ă¦ăŻ
\ref{ssec:preset}çŻ€ă‚’ĺŹ‚ç…§ă—ă¦ć¬˛ă—ă„ďĽŽ
çŹľć™‚ç‚ąă§ăŻä»Ąä¸‹ă®ă—ăŞă‚»ăăăŚĺ®šçľ©ă•ă‚Śă¦ă„ă‚‹ďĽš
%&lt;/ja&gt;
\begin{quote}
  \ttfamily
  \hyphenchar\font=-1 \exhyphenchar=-1
  haranoaji, hiragino-pro, hiragino-pron, ipa, ipa-hg, ipaex, ipaex-hg,
  kozuka-pr6, kozuka-pr6n, kozuka-pro, moga-mobo, moga-mobo-ex,
  bizud, morisawa-pr6n, morisawa-pro, ms, ms-hg, noembed, noto-otc, noto-otf, noto, noto-jp, 
  sourcehan, sourcehan-jp, ume, yu-osx, yu-win, yu-win10
\end{quote}

%&lt;ja&gt; äľ‹ăă°ďĽŚćś¬ă‰ă‚­ăĄăˇăłăă§ăŻ\Pkg{luatexja-preset}ă‘ăă‚±ăĽă‚¸ă‚’
%&lt;en&gt; For example, this document loads \Pkg{luatexja-preset} package by
\begin{lstlisting}
\usepackage[haranoaji]{luatexja-preset}
\end{lstlisting}
%&lt;ja&gt;ă¨ă—ă¦čŞ­ăżčľĽăżďĽŚĺŽźăŽĺ‘łă•ă‚©ăłăă‚’ä˝żă†ă“ă¨ă‚’ćŚ‡ĺ®šă—ă¦ă„ă‚‹ďĽŽ
%&lt;en&gt; which means that Harano Aji fonts will be used in this document.


%&lt;*en&gt;
\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 the \Pkg{japanese-otf} package,
as an external package \Pkg{luatexja-otf}.
%&lt;/en&gt;
%&lt;*ja&gt;
\subsection{\cs{CID}, \cs{UTF}ă¨\Pkg{otf}ă‘ăă‚±ăĽă‚¸ă®ăžă‚Żă­}
\pLaTeX ă§ăŻďĽŚJIS~X~0208ă«ăŞă„Adobe-Japan1-6ă®ć–‡ĺ­—ă‚’ĺ‡şĺŠ›ă™ă‚‹ăźă‚ă«ďĽŚ
é˝‹č—¤äż®ä¸‰éŽć°Źă«ă‚ă‚‹\Pkg{otf}ă‘ăă‚±ăĽă‚¸ăŚç”¨ă„ă‚‰ă‚Śă¦ă„ăźďĽŽă“ă®ă‘ăă‚±ăĽă‚¸ăŻ
ĺşăŹç”¨ă„ă‚‰ă‚Śă¦ă„ă‚‹ăźă‚ďĽŚ\LuaTeX-jaă«ăŠă„ă¦ă‚‚\Pkg{otf}ă‘ăă‚±ăĽă‚¸ă®ć©źč˝ă®
ä¸€é¨ă‚’ďĽ\Pkg{luatexja-otf}ă¨ă„ă†ĺĄă®ă‘ăă‚±ăĽă‚¸ă¨ă—ă¦ďĽ‰ĺ®źčŁ…ă—ăźďĽŽ
%&lt;/ja&gt;

\begin{LTXexample}[width=0.4\textwidth]
ćŁ®\UTF{9DD7}ĺ¤–ă¨\CID{13966}ç”°ç™ľ\UTF{9592}ă¨ăŚ
\UTF{9AD9}ĺł¶ĺ±‹ă«\\
\CID{7652}éŁľĺŚşă®\CID{13706}é‡Žĺ®¶ďĽŚ
\CID{1481}ĺźŽĺ¸‚ďĽŚč‘›čĄżé§…ďĽŚ\\
é«ĺ´Žă¨\CID{8705}\UTF{FA11}ďĽŚćż±ă¨\ajMayuHama\\
\ajĺŤŠč§’{ă‚«ă‚żă‚«ăŠ}\ajKakko3\ajMaruYobi{2}%
\ajLig{ä»¤ĺ’Ś}\ajLig{â—‹ĺ•Ź}\ajJIS
\end{LTXexample}

%&lt;*ja&gt;
\Pkg{otf}ă‘ăă‚±ăĽă‚¸ă§ăŻďĽŚăťă‚Śăžă‚Ść¬ˇă®ă‚ă†ăŞă‚Şă—ă‚·ă§ăłăŚĺ­ĺś¨ă—ăźďĽš
\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{ssec:chgfnt}çŻ€ďĽŚ\ref{ssec:nfsspat}çŻ€ (NFSS2) ă‚„
\ref{ssec:fontspec}çŻ€ (\Pkg{fontspec}) ă®ć–ąćł•ă§ć‰‹ĺ‹•ă§ćŚ‡ĺ®šă™ă‚‹ĺż…č¦ăŚă‚ă‚‹ďĽŽ
%&lt;/ja&gt;

%&lt;en&gt;\section{Changing Internal Parameters}
%&lt;ja&gt;\section{ă‘ă©ăˇăĽă‚żă®ĺ¤‰ć›´}

%&lt;*en&gt;
There are many internal parameters in \LuaTeX-ja. And due to the behavior of \LuaTeX,
most of them are not stored as internal register of \TeX, but as an
original storage system in \LuaTeX-ja. Hence, to assign or acquire those
parameters, you have to use commands \cs{ltjsetparameter} and
\cs{ltjgetparameter}.
%&lt;/en&gt;
%&lt;*ja&gt;
\LuaTeX-jaă«ăŻĺ¤šăŹă®ă‘ă©ăˇăĽă‚żăŚĺ­ĺś¨ă™ă‚‹ďĽŽăťă—ă¦\LuaTeX ă®ä»•ć§ă®ăźă‚ă«ďĽŚ
ăťă®ĺ¤šăŹăŻ\TeX ă®ă¬ă‚¸ă‚ąă‚żă«ă§ăŻăŞăŹďĽŚ\LuaTeX-jaç‹¬č‡Şă®ć–ąćł•ă§äżťćŚă•ă‚Śă¦ă„ă‚‹ďĽŽ
ă“ă‚Śă‚‰ă®ă‘ă©ăˇăĽă‚żă‚’č¨­ĺ®šă»ĺŹ–ĺľ—ă™ă‚‹ăźă‚ă«ăŻ \cs{ltjsetparameter} ă¨ \cs{ltjgetparameter} ă‚’
ç”¨ă„ă‚‹ďĽŽ
%&lt;/ja&gt;

%&lt;en&gt;\subsection{Range of \textbf{JAchar}s}
%&lt;ja&gt;\subsection{\textbf{JAchar}ă®çŻ„ĺ›˛}
\label{ssec:setrange}

%&lt;*en&gt;
\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.
%&lt;/en&gt;
%&lt;*ja&gt;
\LuaTeX-jaăŻďĽŚUnicodeă® \texttt{U+0080}--\texttt{U+10FFFF} ă®ç©şé–“ă‚’
1ç•Şă‹ă‚‰217ç•Şăľă§ă®\emph{ć–‡ĺ­—çŻ„ĺ›˛}ă«ĺ†ĺ‰˛ă—ă¦ă„ă‚‹ďĽŽ
ĺŚşĺ†ă‘ăŻ \cs{ltjdefcharrange} ă‚’ç”¨ă„ă‚‹ă“ă¨ă§ďĽă‚°ă­ăĽăă«ă«ďĽ‰ĺ¤‰ć›´ă™ă‚‹ă“ă¨ăŚă§ăŤďĽŚ
äľ‹ăă°ďĽŚć¬ˇăŻčż˝ĺŠ&nbsp;ćĽ˘ĺ­—éť˘(SIP)ă«ă‚ă‚‹ĺ…¨ă¦ă®ć–‡ĺ­—ă¨ă€ŚćĽ˘ă€Ťă‚’ă€Ś100ç•Şă®ć–‡ĺ­—çŻ„ĺ›˛ă€Ťă«čż˝ĺŠ&nbsp;ă™ă‚‹ďĽŽ
%&lt;/ja&gt;
\begin{lstlisting}
\ltjdefcharrange{100}{"20000-"2FFFF,`ćĽ˘}
\end{lstlisting}

%&lt;*en&gt;
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,
and if one executes the above line, then SIP will belong to the range~100 and be
removed from the range~4.
%&lt;/en&gt;
%&lt;*ja&gt;
ĺ„ć–‡ĺ­—ăŻăźă&nbsp;ä¸€ă¤ă®ć–‡ĺ­—çŻ„ĺ›˛ă«ć‰€ĺ±žă™ă‚‹ă“ă¨ăŚă§ăŤă‚‹ďĽŽ
äľ‹ăă°ďĽŚSIPĺ†…ă®ć–‡ĺ­—ăŻĺ…¨ă¦\LuaTeX-jaă®ă‡ă•ă‚©ă«ăă§ăŻ4ç•Şă®ć–‡ĺ­—çŻ„ĺ›˛ă«
ĺ±žă—ă¦ă„ă‚‹ăŚďĽŚä¸Šč¨ă®ćŚ‡ĺ®šă‚’čˇŚăă°SIPĺ†…ă®ć–‡ĺ­—ăŻ100ç•Şă«ĺ±žă™ă‚ă†ă«ăŞă‚ŠďĽŚ4ç•Şă‹ă‚‰ăŻé™¤ă‹ă‚Śă‚‹ďĽŽ
%&lt;/ja&gt;

%&lt;*en&gt;
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, 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, 5, and~8 is \textbf{ALchar},
 \item a character which belongs character ranges 2,~3, 6, 7,~and~9 is \textbf{JAchar}.
\end{itemize}
%&lt;/en&gt;
%&lt;*ja&gt;
\textbf{ALchar}ă¨\textbf{JAchar}ă®ĺŚşĺĄăŻć–‡ĺ­—çŻ„ĺ›˛ă”ă¨ă«čˇŚă‚Źă‚Śă‚‹ďĽŽ
ă“ă‚ŚăŻ\textsf{jacharrange}ă‘ă©ăˇăĽă‚żă«ă‚ăŁă¦ç·¨é›†ă§ăŤă‚‹ďĽŽ
äľ‹ăă°ďĽŚä»Ąä¸‹ăŻ\LuaTeX-jaă®ĺťćśźč¨­ĺ®šă§ă‚ă‚ŠďĽŚć¬ˇă®ĺ†…ĺ®ąă‚’č¨­ĺ®šă—ă¦ă„ă‚‹ďĽš
\begin{itemize}
 \item 1ç•ŞďĽŚ4ç•ŞďĽŚ5ç•ŞďĽŚ8ç•Şă®ć–‡ĺ­—çŻ„ĺ›˛ă«ĺ±žă™ă‚‹ć–‡ĺ­—ăŻ\textbf{ALchar}ďĽŽ
 \item 2ç•ŞďĽŚ3ç•ŞďĽŚ6ç•ŞďĽŚ7ç•ŞďĽŚ9ç•Şă®ć–‡ĺ­—çŻ„ĺ›˛ă«ĺ±žă™ă‚‹ć–‡ĺ­—ăŻ\textbf{JAchar}ďĽŽ
\end{itemize}
%&lt;/ja&gt;
\begin{lstlisting}
\ltjsetparameter{jacharrange={-1, +2, +3, -4, -5, +6, +7, -8, +9}}
\end{lstlisting}
%&lt;*en&gt;
The argument to \textsf{jacharrange} parameter is a list of non-zero integer.
Negative integer $-n$ in the list means that ``each character in the range~$n$ is an
\textbf{ALchar}'',
and positive integer $+n$ means that ``\dots\ is a \textbf{JAchar}''.
%&lt;/en&gt;
%&lt;*ja&gt;
\textsf{jacharrange}ă‘ă©ăˇăĽă‚żă®ĺĽ•ć•°ăŻéťžé›¶ă®ć•´ć•°ă®ăŞă‚ąăă§ă‚ă‚‹ďĽŽ
ăŞă‚ąăä¸­ă®č˛&nbsp;ă®ć•´ć•°$-n$ăŻă€Ść–‡ĺ­—çŻ„ĺ›˛$n$ă«ĺ±žă™ă‚‹ć–‡ĺ­—ăŻ\textbf{ALchar}ă¨ă—ă¦
ć‰±ă†ă€Ťă“ă¨ă‚’ć„Źĺ‘łă—ďĽŚć­Łă®ć•´ć•°$+n$ăŻă€Ś\textbf{JAchar}ă¨ă—ă¦ć‰±ă†ă€Ťă“ă¨ă‚’ć„Źĺ‘łă™ă‚‹ďĽŽ
%&lt;/ja&gt;

%&lt;*en&gt;
Note that characters \texttt{U+0000}--\texttt{U+007F} are always treated as an
\textbf{ALchar} (this cannot be customized).
%&lt;/en&gt;
%&lt;*ja&gt;
ăŞăŠďĽŚ\texttt{U+0000}--\texttt{U+007F} ăŻĺ¸¸ă«\textbf{ALchar}ă¨ă—ă¦ć‰±ă‚Źă‚Śă‚‹ďĽĺ©ç”¨č€…ăŚĺ¤‰ć›´ă™
ă‚‹ă“ă¨ăŻĺ‡şćťĄăŞă„ďĽ‰ďĽŽ
%&lt;/ja&gt;

%&lt;*en&gt;
\paragraph{Default character ranges}
\LuaTeX-ja predefines nine character ranges for convenience. They are
determined from the following data:
%&lt;/en&gt;
%&lt;*ja&gt;
\paragraph{ć–‡ĺ­—çŻ„ĺ›˛ă®ĺťćśźĺ€¤}
\LuaTeX-jaă§ăŻ9ă¤ă®ć–‡ĺ­—çŻ„ĺ›˛ă‚’äşă‚ĺ®šçľ©ă—ă¦ăŠă‚ŠďĽŚ
ă“ă‚Śă‚‰ăŻä»Ąä¸‹ă®ă‡ăĽă‚żă«ĺźşăĄă„ă¦ć±şĺ®šă—ă¦ă„ă‚‹ďĽŽ
%&lt;/ja&gt;
\begin{itemize}
%&lt;en&gt;\item Blocks in Unicode~12.0.0.
%&lt;ja&gt;\item Unicode~12.0ă®ă–ă­ăă‚ŻďĽŽ
%&lt;en&gt;\item The \texttt{Adobe-Japan1-UCS2} mapping between a CID Adobe-Japan1- and Unicode.
%&lt;ja&gt;\item Adobe-Japan1-7ă®CIDă¨Unicodeă®é–“ă®ĺŻľĺżśčˇ¨\texttt{Adobe-Japan1-UCS2}ďĽŽ
%&lt;en&gt;\item The \Pkg{PXbase} bundle for \upTeX\ by Takayuki Yato.
%&lt;ja&gt;\item ĺ…«ç™»ĺ´‡äą‹ć°Źă«ă‚ă‚‹\upTeX ç”¨ă®\Pkg{PXbase}ăăłă‰ă«ďĽŽ
\end{itemize}

%&lt;*en&gt;
Now we describe these nine 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.
%&lt;/en&gt;
%&lt;*ja&gt;
ä»Ąä¸‹ă§ăŻă“ă‚Śă‚‰9ă¤ă®ć–‡ĺ­—çŻ„ĺ›˛ă«ă¤ă„ă¦č¨čż°ă™ă‚‹ďĽŽć·»ĺ­—ă®ă‚˘ă«ă•ă‚ˇă™ăăă€ŚJă€Ťă€ŚAă€Ť
ăŻďĽŚăťă®ć–‡ĺ­—çŻ„ĺ›˛ĺ†…ă®ć–‡ĺ­—ăŚ\textbf{JAchar}ă‹\textbf{ALchar}ă‹ă‚’čˇ¨ă—ă¦ă„ă‚‹ďĽŽă“ă‚Śă‚‰ă®ĺťćśźč¨­ĺ®šăŻ
\texttt{PXbase}ăăłă‰ă«ă§ĺ®šçľ©ă•ă‚Śă¦ă„ă‚‹\texttt{prefercjk}ă¨éˇžäĽĽă®ă‚‚ă®ă§ă‚ă‚‹ăŚďĽŚ
8ă“ăăă•ă‚©ăłăä˝żç”¨ć™‚ă®ăă©ă–ă«ă‚’é˛ăăźă‚ă« \texttt{U+0080}--\texttt{U+00FF} ă®ć–‡ĺ­—ăŻĺ…¨é¨
\textbf{ALchar}ă¨ă—ă¦ă„ă‚‹ďĽŽ
ăŞăŠďĽŚ\texttt{U+0080} ä»Ąé™Ťă§ă“ă‚Śă‚‰9ă¤ă®ć–‡ĺ­—çŻ„ĺ›˛ă«ĺ±žă•ăŞă„ć–‡ĺ­—ăŻďĽŚ217ç•Şă®ć–‡ĺ­—çŻ„ĺ›˛ă«ĺ±žă™ă‚‹ă“ă¨ă«ăŞăŁă¦ă„ă‚‹ďĽŽ
%&lt;/ja&gt;
\begin{description}
%&lt;*en&gt;
\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).
  The character list is indicated in \autoref{tab:rng8}.
%&lt;/en&gt;
%&lt;*ja&gt;
\item[çŻ„ĺ›˛8${}^{\text{A}}$] ISO~8859-1ă®ä¸Šä˝Ťé&nbsp;ĺźźďĽă©ă†ăł1čŁśĺŠ©ďĽ‰ă¨
  JIS~X~0208ă®ĺ…±é€šé¨ĺ†ďĽŽć–‡ĺ­—ă®ăŞă‚ąăăŻ\autoref{tab:rng8}ă‚’ĺŹ‚ç…§ďĽŽ
%&lt;/ja&gt;
\begin{table}[!tb]
%&lt;en&gt;\caption{Characters in predefined character range~8.}\medskip
%&lt;ja&gt;\caption{ć–‡ĺ­—çŻ„ĺ›˛8ă«ćŚ‡ĺ®šă•ă‚Śă¦ă„ă‚‹ć–‡ĺ­—ďĽŽ}
\label{tab:rng8}
\centering\footnotesize
\def\ch#1{\char"#1~(\texttt{U+00#1})}%"
\begin{tabular}{llll}
\ch{A7}&amp;{Section Sign}&amp;
\ch{A8}&amp;{Diaeresis}\\
\ch{B0}&amp;{Degree sign}&amp;
\ch{B1}&amp;{Plus-minus sign}\\
\ch{B4}&amp;{Spacing acute}&amp;
\ch{B6}&amp;{Paragraph sign}\\
\ch{D7}&amp;{Multiplication sign}&amp;
\ch{F7}&amp;{Division Sign}
\end{tabular}
\end{table}

%&lt;*en&gt;
\item[Range~1${}^{\text{A}}$] Latin characters that some of them are included in Adobe-Japan1-7.
  This range consists of the Unicode ranges indicated in \autoref{tab:rng1},
  \emph{except characters in the range~8 above}.
%&lt;/en&gt;
%&lt;*ja&gt;
\item[çŻ„ĺ›˛1${}^{\text{A}}$] ă©ă†ăłć–‡ĺ­—ă®ă†ăˇďĽŚAdobe-Japan1-7ă¨ă®ĺ…±é€šé¨ĺ†ăŚă‚ă‚‹ă‚‚ă®ďĽŽ
                             ă“ă®çŻ„ĺ›˛ăŻ\autoref{tab:rng1}ă§ç¤şă—ăźUnicodeă®ă–ă­ăă‚Żă®ă†ăˇ
                             \emph{çŻ„ĺ›˛8ă‚’é™¤ă„ăź}é¨ĺ†ă§ć§‹ćă•ă‚Śă¦ă„ă‚‹ďĽŽ
%&lt;/ja&gt;
\begin{table}[!tb]
%&lt;en&gt;\caption{Unicode blocks in predefined character range~1.}\medskip
%&lt;ja&gt;\caption{ć–‡ĺ­—çŻ„ĺ›˛1ă«ćŚ‡ĺ®šă•ă‚Śă¦ă„ă‚‹Unicodeă–ă­ăă‚ŻďĽŽ}
\label{tab:rng1}
\centering\footnotesize
\begin{tabular}{llll}
 \texttt{U+0080}--\texttt{U+00FF}&amp;Latin-1 Supplement&amp;
 \texttt{U+0100}--\texttt{U+017F}&amp;Latin Extended-A\\
 \texttt{U+0180}--\texttt{U+024F}&amp; Latin Extended-B&amp;
 \texttt{U+0250}--\texttt{U+02AF}&amp; IPA Extensions\\
 \texttt{U+02B0}--\texttt{U+02FF}&amp; Spacing Modifier Letters&amp;
 \texttt{U+0300}--\texttt{U+036F}&amp; Combining Diacritical Marks\\
 \texttt{U+1E00}--\texttt{U+1EFF}&amp;Latin Extended Additional
\end{tabular}
\end{table}
%&lt;*en&gt;
\item[Range~2${}^{\text{\kern.1emJ}}$] Greek and Cyrillic letters. JIS~X~0208 (hence most of Japanese
	   fonts) has some of these characters.
%&lt;/en&gt;
%&lt;*ja&gt;
\item[çŻ„ĺ›˛2${}^{\text{\kern.1emJ}}$] ă‚®ăŞă‚·ăŁć–‡ĺ­—ă¨ă‚­ăŞă«ć–‡ĺ­—ďĽŽJIS~X~0208ďĽă—ăźăŚăŁă¦ă»ă¨ă‚“ă©ă®
                             ĺ’Ść–‡ă•ă‚©ăłăďĽ‰ă«ăŻďĽŚă“ă‚Śă‚‰ă®ć–‡ĺ­—ă®ä¸€é¨ăŚĺ«ăľă‚Śă¦ă„ă‚‹ďĽŽ
%&lt;/ja&gt;
\begin{multicols}{2}
\begin{itemize}
\item \texttt{U+0370}--\texttt{U+03FF}: Greek and Coptic
\item \texttt{U+0400}--\texttt{U+04FF}: Cyrillic
\item \texttt{U+1F00}--\texttt{U+1FFF}: Greek Extended
\\\
\end{itemize}
\end{multicols}
%&lt;*en&gt;
\item[Range~3${}^{\text{\kern.1emJ}}$] Miscellaneous symbols. The block list is
	   indicated in \autoref{tab:rng3}.
%&lt;/en&gt;
%&lt;*ja&gt;
\item[çŻ„ĺ›˛3${}^{\text{\kern.1emJ}}$] č¨ĺŹ·éˇžďĽŽă–ă­ăă‚Żă®ăŞă‚ąăăŻ\autoref{tab:rng3}%
                             ă«ç¤şă—ă¦ă‚ă‚‹ďĽŽ
%&lt;/ja&gt;
\begin{table}[!tb]
%&lt;en&gt;\caption{Unicode blocks in predefined character range~3.}\medskip
%&lt;ja&gt;\caption{ć–‡ĺ­—çŻ„ĺ›˛3ă«ćŚ‡ĺ®šă•ă‚Śă¦ă„ă‚‹Unicodeă–ă­ăă‚ŻďĽŽ}
\label{tab:rng3}
\catcode`\"=13\def"#1#2#3#4{\texttt{U+#1#2#3#4}}%"
\centering\footnotesize
\begin{tabular}{llll}
"2070--"209F&amp;Superscripts and Subscripts\\
"20A0--"20CF&amp;Currency Symbols&amp;
"20D0--"20FF&amp;Comb.\ Diacritical Marks for Symbols\\
"2100--"214F&amp;Letterlike Symbols&amp;
"2150--"218F&amp;Number Forms\\
"2190--"21FF&amp;Arrows&amp;
"2200--"22FF&amp;Mathematical Operators\\
"2300--"23FF&amp;Miscellaneous Technical&amp;
"2400--"243F&amp;Control Pictures\\
"2500--"257F&amp;Box Drawing&amp;
"2580--"259F&amp;Block Elements\\
"25A0--"25FF&amp;Geometric Shapes&amp;
"2600--"26FF&amp;Miscellaneous Symbols\\
"2700--"27BF&amp;Dingbats&amp;
"2900--"297F&amp;Supplemental Arrows-B\\
"2980--"29FF&amp;Misc.\ Math Symbols-B&amp;
"2B00--"2BFF&amp;Misc.\ Symbols and Arrows
\end{tabular}
\end{table}
%&lt;*en&gt;
\item[Range~9${}^{\text{J}}$] The intersection of the ``General Punctuation'' block
  (\texttt{U+2000}--\texttt{U+206F})
  and Adobe-Japan1-7 character collection.
  This character range characters in \autoref{tab:rng9}.
%&lt;/en&gt;
%&lt;*ja&gt;
\item[çŻ„ĺ›˛9${}^{\text{J}}$] Unicodeă®ă€Śä¸€č¬ĺŹĄčŞ­ç‚ąă€Ťă–ă­ăă‚Ż(\texttt{U+2000}--\texttt{U+206F})ă¨
  Adobe-Japan1-7ă®ĺ…±é€šé¨ĺ†ďĽŽ
  ă“ă®ć–‡ĺ­—çŻ„ĺ›˛ăŻ\autoref{tab:rng9}ă«ç¤şă—ăźć–‡ĺ­—ă§ć§‹ćă•ă‚Śă‚‹ďĽŽ
%&lt;/ja&gt;
\begin{table}[!tb]
%&lt;en&gt;\caption{Characters in predefined character range~9.}\medskip
%&lt;ja&gt;\caption{ć–‡ĺ­—çŻ„ĺ›˛9ă«ćŚ‡ĺ®šă•ă‚Śă¦ă„ă‚‹ć–‡ĺ­—ďĽŽ}
\label{tab:rng9}
\centering\footnotesize
\def\ch#1{%
  {\fboxsep0pt\fcolorbox{cyan}{white}%
  {\normalsize\KOZM\UTF{20#1}}}\ (\texttt{U+20#1})} %"
% 13: JIS X0213, AJ, Adobe-Japan-1 only
\begin{tabular}{ll&gt;{\color{white}}lll&gt;{\color{white}}l}
  \ch{02}&amp;{En space}&amp;AJ&amp;
  \ch{10}&amp;{Hyphen}&amp;\\
  \ch{11}&amp;{Non-breaking hyphen}&amp;AJ&amp;
  \ch{13}&amp;{En dash}&amp;13\\
  \ch{14}&amp;{Em dash}&amp;&amp;
  \ch{15}&amp;{Horizontal bar}&amp;\\
  \ch{16}&amp;{Double vertical line}&amp;&amp;
  \ch{18}&amp;{Left single quotation mark}&amp;\\
  \ch{19}&amp;{Right single quotation mark}&amp;&amp;
  \ch{1A}&amp;{Single low-9 quotation mark}&amp;AJ\\
  \ch{1C}&amp;{Left double quotation mark}&amp;&amp;
  \ch{1D}&amp;{Right double quotation mark}&amp;\\
  \ch{1E}&amp;{Double low-9 quotation mark}&amp;AJ&amp;
  \ch{20}&amp;{Dagger}&amp;\\
  \ch{21}&amp;{Double dagger}&amp;&amp;
  \ch{22}&amp;{Bullet}&amp;13\\
  \ch{25}&amp;{Two dot leader}&amp;&amp;
  \ch{26}&amp;{Horizontal ellipsis}&amp;\\
  \ch{30}&amp;{Per mille sign}&amp;&amp;
  \ch{32}&amp;{Prime}&amp;\\
  \ch{33}&amp;{Double prime}&amp;&amp;
  \ch{39}&amp;{Single left-pointing angle quot.}&amp;AJ\\
  \ch{3A}&amp;{Single right-pointing angle quot.}&amp;AJ&amp;
  \ch{3B}&amp;{Reference mark}&amp;\\
  \ch{3C}&amp;{Double exclamation mark}&amp;13&amp;
  \ch{3E}&amp;{Overline}&amp;\\
  \ch{3F}&amp;{Undertie}&amp;13&amp;
  \ch{42}&amp;{Asterism}&amp;13\\
  \ch{44}&amp;{Fraction slash}&amp;AJ&amp;
  \ch{47}&amp;{Double question mark}&amp;13\\
  \ch{48}&amp;{Question exclamation mark}&amp;13&amp;
  \ch{49}&amp;{Exclamation question mark}&amp;13\\
  \ch{51}&amp;{Two asterisks aligned vertically}&amp;13
\end{tabular}
\end{table}
%&lt;*en&gt;
\item[Range~4${}^{\text{A}}$] Characters usually not in Japanese fonts. This range consists
	   of almost all Unicode blocks which are not in other
	   predefined ranges. Hence, instead of showing the block list,
	   we put the definition of this range itself.
%&lt;/en&gt;
%&lt;*ja&gt;
\item[çŻ„ĺ›˛4${}^{\text{A}}$] é€šĺ¸¸ĺ’Ść–‡ă•ă‚©ăłăă«ăŻĺ«ăľă‚Śă¦ă„ăŞă„ć–‡ĺ­—ďĽŽ
                             ă“ă®çŻ„ĺ›˛ăŻä»–ă®çŻ„ĺ›˛ă«ăŞă„ă»ă¨ă‚“ă©ĺ…¨ă¦ă®Unicodeă–ă­ăă‚Ż
                             ă§ć§‹ćă•ă‚Śă¦ă„ă‚‹ďĽŽă—ăźăŚăŁă¦ďĽŚă–ă­ăă‚Żă®ăŞă‚ąăă‚’ç¤şă™
                             ä»Łă‚Źă‚Šă«ďĽŚçŻ„ĺ›˛ă®ĺ®šçľ©ăťă®ă‚‚ă®ă‚’ç¤şă™ďĽŽ
%&lt;/ja&gt;
\begin{lstlisting}[escapechar=\!]
\ltjdefcharrange{4}{%
   "500-"10FF, "1200-"1DFF, "2440-"245F, "27C0-"28FF, "2A00-"2AFF,
  "2C00-"2E7F, "4DC0-"4DFF, "A4D0-"A95F, "A980-"ABFF, "E000-"F8FF,
  "FB00-"FE0F, "FE20-"FE2F, "FE70-"FEFF, "10000-"1AFFF, "1B170-"1F0FF,
  "1F300-"1FFFF, ... !\rmfamily (and characters in \texttt{U+2000}--\texttt{U+206F} which are not in range 9)!
} % non-Japanese
\end{lstlisting}
%&lt;en&gt;\item[Range~5${}^{\text{A}}$] Surrogates and Supplementary Private Use Areas.
%&lt;ja&gt;\item[çŻ„ĺ›˛5${}^{\text{A}}$] ä»Łç”¨ç¬¦ĺŹ·ă¨čŁśĺŠ©ç§ç”¨é&nbsp;ĺźźďĽŽ
%&lt;en&gt;\item[Range~6${}^{\text{\kern.1emJ}}$] Characters used in Japanese. The block list is indicated in \autoref{tab:rng6}.
%&lt;ja&gt;\item[çŻ„ĺ›˛6${}^{\text{\kern.1emJ}}$] ć—Ąćś¬čŞžă§ç”¨ă„ă‚‰ă‚Śă‚‹ć–‡ĺ­—ďĽŽă–ă­ăă‚Żă®ăŞă‚ąăăŻ\autoref{tab:rng6}ă«ç¤şă™ďĽŽ
\begin{table}[!tb]
%&lt;en&gt;\caption{Unicode blocks in predefined character range~6.}\medskip
%&lt;ja&gt;\caption{ć–‡ĺ­—çŻ„ĺ›˛6ă«ćŚ‡ĺ®šă•ă‚Śă¦ă„ă‚‹Unicodeă–ă­ăă‚ŻďĽŽ}
\label{tab:rng6}
\catcode`\"=13\def"#1#2#3#4{\texttt{U+#1#2#3#4}}%"
\centering\footnotesize
\begin{tabular}{llll}
"2460--"24FF&amp;Enclosed Alphanumerics&amp;
"2E80--"2EFF&amp;CJK Radicals Supplement\\
"3000--"303F&amp;CJK Symbols and Punctuation&amp;
"3040--"309F&amp;Hiragana\\
"30A0--"30FF&amp;Katakana&amp;
"3190--"319F&amp;Kanbun\\
"31F0--"31FF&amp;Katakana Phonetic Extensions&amp;
"3200--"32FF&amp;Enclosed CJK Letters and Months\\
"3300--"33FF&amp;CJK Compatibility&amp;
"3400--"4DBF&amp;CJK Unified Ideographs Ext-A\\
"4E00--"9FFF&amp;CJK Unified Ideographs&amp;
"F900--"FAFF&amp;CJK Compatibility Ideographs\\
"FE10--"FE1F&amp;Vertical Forms&amp;
"FE30--"FE4F&amp;CJK Compatibility Forms\\
"FE50--"FE6F&amp;Small Form Variants&amp;
"FF00--"FFEF&amp;Halfwidth and Fullwidth Forms\\
"{1B}000--"{1B}0FF&amp;Kana Supplement&amp;
"{1B}100--"{1B}12F&amp;Kana Extended-A\\
%"{1B}130--"{1B}16F&amp;Small Kana Extension
"{1F}100--"{1F}1FF&amp;Enclosed Alphanumeric Supp.&amp;
"{1F}200--"{1F}2FF&amp;Enclosed Ideographic Supp.\\
"{20}000--"{2F}FFF&amp;(Supp. Ideographic Plane)&amp;
"{30}000--"{3F}FFF&amp;(Tert. Ideographic Plane)\\
"{E0}100--"{E0}1EF&amp;Variation Selectors Supp.
\end{tabular}
\end{table}
%&lt;*en&gt;
\item[Range~7${}^{\text{\kern.1emJ}}$] Characters used in CJK languages, but not included in  Adobe-Japan1-7.
The block list is indicated in \autoref{tab:rng7}.
%&lt;/en&gt;
%&lt;*ja&gt;
\item[çŻ„ĺ›˛7${}^{\text{\kern.1emJ}}$] CJKč¨€čŞžă§ç”¨ă„ă‚‰ă‚Śă‚‹ć–‡ĺ­—ă®ă†ăˇďĽŚAdobe-Japan1-7ă«
                            ĺ«ăľă‚Śă¦ă„ăŞă„ă‚‚ă®ďĽŽ
                            ă–ă­ăă‚Żă®ăŞă‚ąăăŻ\autoref{tab:rng7}ă«ç¤şă™ďĽŽ
%&lt;/ja&gt;
\begin{table}[!tb]
%&lt;en&gt;\caption{Unicode blocks in predefined character range~7.}\medskip
%&lt;ja&gt;\caption{ć–‡ĺ­—çŻ„ĺ›˛7ă«ćŚ‡ĺ®šă•ă‚Śă¦ă„ă‚‹Unicodeă–ă­ăă‚ŻďĽŽ}
\label{tab:rng7}
\catcode`\"=13\def"#1#2#3#4{\texttt{U+#1#2#3#4}}%"
\centering\small
\begin{tabular}{llll}
"1100--"11FF&amp;Hangul Jamo&amp;
"2F00--"2FDF&amp;Kangxi Radicals\\
"2FF0--"2FFF&amp;Ideographic Description Characters&amp;
"3100--"312F&amp;Bopomofo\\
"3130--"318F&amp;Hangul Compatibility Jamo&amp;
"31A0--"31BF&amp;Bopomofo Extended\\
"31C0--"31EF&amp;CJK Strokes&amp;
"A000--"A48F&amp;Yi Syllables\\
"A490--"A4CF&amp;Yi Radicals&amp;
"A960--"A97F&amp;Hangul Jamo Extended-A\\
"AC00--"D7AF&amp;Hangul Syllables&amp;
"D7B0--"D7FF&amp;Hangul Jamo Extended-B
\end{tabular}
\end{table}
\end{description}

%&lt;*en&gt;
\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{marvosym} package.

For example, \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{Frowny} produces ``\ltjjachar`Â§'' (in a Japanese font).

To avoid such situations, the default setting of \LuaTeX-ja is changed in version~20150906.0
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}
%&lt;/en&gt;
%&lt;*ja&gt;
\paragraph{\texttt{U+0080}--\texttt{U+00FF}ă«ă¤ă„ă¦ă®ćł¨ć„Ź}
\LuaTeX-jaă§ďĽŚ\Pkg{marvosym}ă‘ăă‚±ăĽă‚¸ç­‰ďĽŚUnicodeă•ă‚©ăłăă§ăŞăŹ
äĽťçµ±çš„ăŞ8ă“ăăă•ă‚©ăłăă‚’ç”¨ă„ă‚‹ĺ&nbsp;´ĺă«ăŻćł¨ć„ŹăŚĺż…č¦ă§ă‚ă‚‹ďĽŽ

äľ‹ăă°ďĽŚ\Pkg{marvosym}ă‘ăă‚±ăĽă‚¸ă®ćŹäľ›ă™ă‚‹ \cs{Frowny} ă‚‚ďĽŚç¬¦ĺŹ·ä˝Ťç˝®ăŻ167ďĽŚă¤ăľă‚ŠUnicodeă«ăŠă‘ă‚‹
\S\ (\text{U+00A7}) ă¨ĺŚăç¬¦ĺŹ·ä˝Ťç˝®ă«ă‚ă‚‹ďĽŽ
ĺŤłăˇďĽŚä»Ąĺ‰Ťă®ăăĽă‚¸ă§ăłă®ă‚ă†ă«ďĽŚă€Śĺ‰ŤçŻ€ă®ć–‡ĺ­—çŻ„ĺ›˛8ĺ†…ă®ć–‡ĺ­—ăŻ\textbf{JAchar}ă€Ťă¨ă„ă†č¨­ĺ®šă§
ă‚ăŁăźă¨ă™ă‚‹ă¨ďĽŚä¸Šč¨ă® \cs{Frowny} ăŻĺ’Ść–‡ă•ă‚©ăłăă§ă€Ś\ltjjachar`Â§ă€Ťă‚’ĺ‡şĺŠ›ă™ă‚‹ă“ă¨ă«ăŞă‚‹ďĽŽ

ă“ă®ă‚ă†ăŞäş‹ć…‹ă‚’éżă‘ă‚‹ăźă‚ă«ďĽŚăăĽă‚¸ă§ăł20150906.0ă‹ă‚‰ăŻ \texttt{U+0080}--\texttt{U+00FF} ă®çŻ„ĺ›˛ă®
ć–‡ĺ­—ăŻĺ…¨ă¦\textbf{ALchar}ă¨ăŞă‚‹ă‚ă†ă«ĺťćśźč¨­ĺ®šă‚’ĺ¤‰ć›´ă—ă¦ă„ă‚‹ďĽŽ

ăŞăŠďĽŚć–‡ĺ­—çŻ„ĺ›˛ă®č¨­ĺ®šă«é–˘ă‚Źă‚‰ăš1ă¤ă®ć–‡ĺ­—ă‚’\textbf{ALchar}, \textbf{JAchar}ă§ĺ‡şĺŠ›ă—ăźă„ĺ&nbsp;´ĺă«ăŻďĽŚ
ä»Ąä¸‹ă®äľ‹ă®ă‚ă†ă«ăťă‚Śăžă‚Ś \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}
%&lt;/ja&gt;

%&lt;*ja&gt;
\paragraph{çµµć–‡ĺ­—ăŞă©ďĽŚč¤‡ć•°ă‚łăĽă‰ăťă‚¤ăłăă®ĺ—ă§čˇ¨çŹľă•ă‚Śă‚‹ĺ­—ĺ˝˘ă‚’ă‚’ĺ©ç”¨ă™ă‚‹ĺ&nbsp;´ĺă®ćł¨ć„Ź}
ďĽ\Pkg{luaotfload}ă«ă‚ă‚‹ďĽ‰OpenTypeć©źč˝ă‚„ĺĺ­—ç­‰ă®ĺ‡¦ç†ăŻďĽŚ\LuaTeX-jaăŚ
ć®µč˝ă»ć°´ĺąłăśăă‚Żă‚ąă®ä¸­čş«ĺ…¨ä˝“ă«ĺŻľă—ă¦ă€Śă“ă®ć–‡ĺ­—ăŻ\textbf{JAchar}ă&nbsp;ă‹ă‚‰ĺ’Ść–‡ă•ă‚©ăłăă§çµ„ă‚€ă€Ťă¨
ă•ă‚©ăłăă‚’ç˝®ăŤćŹ›ăăźĺľŚă«é©ç”¨ă•ă‚Śă‚‹ďĽŽ
ăťă®ăźă‚ďĽŚç•°ä˝“ĺ­—ă‚»ă¬ă‚Żă‚żă‚„çµµć–‡ĺ­—ă¨ă„ăŁăźč¤‡ć•°ă®ă‚łăĽă‰ăťă‚¤ăłăă®ĺ—ă§čˇ¨çŹľă•ă‚Śă‚‹ć–‡ĺ­—ă‚’
çµ„ă‚€ĺ&nbsp;´ĺă«ăŻďĽŚĺ—ĺ…¨ä˝“ă§\textbf{JAchar}ă®çŻ„ĺ›˛ă‹\textbf{ALchar}ă®çŻ„ĺ›˛ă‹ăŚ
çµ±ä¸€ă•ă‚Śă¦ă„ăŞă„ă¨ă„ă‘ăŞă„ďĽŽ

äľ‹ăă°ďĽŚCJKçµ±ĺćĽ˘ĺ­—ďĽă¨ăťă®ć‹ˇĺĽµé”ďĽ‰ă¨
IVSç”¨ă®ç•°ä˝“ĺ­—ă‚»ă¬ă‚Żă‚ż(\texttt{U+E0100}--\texttt{U+E01EF})ăŻć¨™ćş–ă§ăŻ
ă©ăˇă‚‰ă‚‚ĺŚăć–‡ĺ­—çŻ„ĺ›˛6ă§ă‚ă‚‹ăźă‚ďĽŚďĽă•ă‚©ăłăăŚă‚µăťăĽăă—ă¦ă„ă‚Śă°ďĽ‰IVSăŻć­Łă—ăŹć©źč˝ă™ă‚‹ďĽŽ
ă—ă‹ă—ďĽŚä¸‹ă®äľ‹ă®ă‚ă†ă«ç•°ä˝“ĺ­—ă‚»ă¬ă‚Żă‚żă‚’\textbf{ALchar}ă®ć–‡ĺ­—çŻ„ĺ›˛(4)ă«ç§»ĺ‹•ă•ă›ă‚‹ă¨ďĽŚ
IVSăŻć©źč˝ă—ăŞăŹăŞă‚‹ďĽš
\ltjdefcharrange{4}{"E0100-"E01EF}
\begin{LTXexample}
\ltjdefcharrange{4}{"E0100-"E01EF}
č‘›ó&nbsp;„€ĺźŽĺ¸‚ďĽŚč‘›ó&nbsp;„éŁľĺŚşďĽŚč‘›čĄż
\end{LTXexample}
\ltjdefcharrange{6}{"E0100-"E01EF}

ăľăźďĽŚć¨™ćş–ă§ăŻçµµć–‡ĺ­—ă¨ă—ă¦ä˝żă‚Źă‚Śă‚‹ĺŹŻč˝ć€§ăŚĺ¤§ăŤă„ä¸€é¨ă®ć–‡ĺ­—ăŚ\textbf{JAchar}ă¨ăŞăŁă¦ă„ă‚‹
\footnote{ĺŚăUnicodeă–ă­ăă‚Żĺ†…ă«Adobe-Japan1-6ă®ć–‡ĺ­—ăŚă‚ăŁăźăźă‚ďĽŽ}ďĽŽ
çµµć–‡ĺ­—ă‚’ç”¨ă„ă‚‹ĺ&nbsp;´ĺă«ăŻă“ă®ç‚ąă«ç•™ć„Źă™ă‚‹ĺż…č¦ăŚă‚ă‚‹ďĽŽ

\begin{center}
  \begin{minipage}{.5\textwidth}\small\ttfamily
\verb!\ltjsetparameter{jacharrange={+3}}!\\
\verb!\font\nce=NotoColorEmoji.ttf:mode=harf\nce!\\
\IVSA 1F469\UCSB{ZW}{J}\UCSA 2764\UCSB{VS}{16}\UCSB{ZW}J\IVSA 1F48B\UCSB{ZW}J\IVSA 1F468\ 
  \textcolor{green}{\% U+2764: JAchar}\\
\verb!\ltjsetparameter{jacharrange={-3}}!\\
\IVSA 1F469\UCSB{ZW}{J}\UCSA 2764\UCSB{VS}{16}\UCSB{ZW}J\IVSA 1F48B\UCSB{ZW}J\IVSA 1F468\ 
  \textcolor{green}{\% U+2764: ALchar}
  \end{minipage}%
  \begin{minipage}{.5\textwidth}
\ltjsetparameter{jacharrange={+3}}
\font\nce=NotoColorEmoji.ttf:mode=harf\nce
đź‘©â€Ťâť¤ď¸Źâ€Ťđź’‹â€Ťđź‘¨
\ltjsetparameter{jacharrange={-3}}
đź‘©â€Ťâť¤ď¸Źâ€Ťđź’‹â€Ťđź‘¨
  \end{minipage}
\end{center}
\ltjsetparameter{jacharrange={+3}}
%&lt;/ja&gt;


%&lt;en&gt;\subsection{\Param{kanjiskip} and \Param{xkanjiskip}}
%&lt;ja&gt;\subsection{\Param{kanjiskip}ă¨\Param{xkanjiskip}}
\label{subs-kskip}

%&lt;en&gt;\textbf{JAglue} is divided into the following three categories:
%&lt;ja&gt;\textbf{JAglue}ăŻä»Ąä¸‹ă®3ă¤ă®ă‚«ă†ă‚´ăŞă«ĺ†éˇžă•ă‚Śă‚‹ďĽš
\begin{itemize}
%&lt;*en&gt;
\item Glues/kerns specified in JFM. If \cs{inhibitglue} is issued
      around a \textbf{JAchar}, this glue will not be inserted at the
      place.
%&lt;/en&gt;
%&lt;*ja&gt;
\item JFMă§ćŚ‡ĺ®šă•ă‚Śăźă‚°ă«ăĽďĽŹă‚«ăĽăłďĽŽă‚‚ă— \cs{inhibitglue} ăŚ\textbf{JAchar}ă®ĺ‘¨ă‚Šă§
      ç™şčˇŚă•ă‚Śă¦ă„ă‚Śă°ďĽŚă“ă®ă‚°ă«ăĽăŻćŚżĺ…Ąă•ă‚ŚăŞă„ďĽŽ
%&lt;/ja&gt;
%&lt;*en&gt;
\item The default glue which inserted between two \textbf{JAchar}s (\Param{%
      kanjiskip}).
%&lt;/en&gt;
%&lt;*ja&gt;
\item ă‡ă•ă‚©ă«ăă§2ă¤ă®\textbf{JAchar}ă®é–“ă«ćŚżĺ…Ąă•ă‚Śă‚‹ă‚°ă«ăĽ(\Param{kanjiskip})ďĽŽ
%&lt;/ja&gt;
%&lt;*en&gt;
\item The default glue which inserted between a \textbf{JAchar} and an
      \textbf{ALchar} (\Param{xkanjiskip}).
%&lt;/en&gt;
%&lt;*ja&gt;
\item ă‡ă•ă‚©ă«ăă§\textbf{JAchar}ă¨\textbf{ALchar}ă®é–“ă«ćŚżĺ…Ąă•ă‚Śă‚‹ă‚°ă«ăĽ(\Param{xkanjiskip})ďĽŽ
%&lt;/ja&gt;
\end{itemize}
%&lt;*en&gt;
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.
}
%&lt;/en&gt;
%&lt;*ja&gt;
\Param{kanjiskip}ă‚„\Param{xkanjiskip}ă®ĺ€¤
ăŻä»Ąä¸‹ă®ă‚ă†ă«ă—ă¦ĺ¤‰ć›´ĺŹŻč˝ă§ă‚ă‚‹ďĽŽ
%&lt;/ja&gt;
\begin{lstlisting}
\ltjsetparameter{kanjiskip={0pt plus 0.4pt minus 0.4pt},
                 xkanjiskip={0.25\zw plus 1pt minus 1pt}}
\end{lstlisting}
%&lt;*en&gt;
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).
%&lt;/en&gt;
%&lt;*ja&gt;
ă“ă“ă§ďĽŚ\cs{zw} ăŻçŹľĺś¨ă®ĺ’Ść–‡ă•ă‚©ăłăă®ĺ…¨č§’ĺą…ă‚’čˇ¨ă™é•·ă•ă§ă‚ă‚ŠďĽŚ
\pTeX ă«ăŠă‘ă‚‹é•·ă•ĺŤä˝Ť \texttt{zw} ă¨ĺŚăă‚ă†ă«ä˝żç”¨ă§ăŤă‚‹ďĽŽ

ă“ă‚Śă‚‰ă®ă‘ă©ăˇăĽă‚żă®ĺ€¤ăŻä»Ąä¸‹ă®ă‚ă†ă«ĺŹ–ĺľ—ă§ăŤă‚‹ďĽŽ
ć»ă‚Šĺ€¤ăŻĺ†…é¨ĺ€¤ă§ăŻăŞăŹ\emph{ć–‡ĺ­—ĺ—}ă§ă‚ă‚‹ďĽ\cs{the} ăŻĺ‰Ťç˝®ă§ăŤăŞă„ďĽ‰ă“ă¨ă«ćł¨ć„Źă—ă¦ă»ă—ă„ďĽš
%&lt;/ja&gt;
\begin{LTXexample}
kanjiskip: \ltjgetparameter{kanjiskip},\\
xkanjiskip: \ltjgetparameter{xkanjiskip}
\end{LTXexample}

%&lt;*en&gt;
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}).
%&lt;/en&gt;
%&lt;*ja&gt;
JFMăŻă€Śćś›ăľă—ă„\Param{kanjiskip}ă®ĺ€¤ă€Ťă‚„
ă€Śćś›ăľă—ă„\Param{xkanjiskip}ă®ĺ€¤ă€Ťă‚’ćŚăŁă¦ă„ă‚‹ă“ă¨ăŚă‚ă‚‹ďĽŽ
ă“ă‚Śă‚‰ă®ă‡ăĽă‚żă‚’ä˝żă†ăźă‚ă«ăŻďĽŚ\Param{kanjiskip}ă‚„%
\Param{xkanjiskip}ă®ĺ€¤ă‚’ \cs{maxdimen} ă®ĺ€¤ă«č¨­ĺ®šă™ă‚Śă°ă‚ă„ăŚďĽŚ
\cs{ltjgetparameter} ă«ă‚ăŁă¦ĺŹ–ĺľ—ă™ă‚‹ă“ă¨ăŻă§ăŤăŞă„ă®ă§ćł¨ć„ŹăŚĺż…č¦ă§ă‚ă‚‹ďĽŽ
%&lt;/ja&gt;

%&lt;en&gt;\subsection{Insertion setting of \Param{xkanjiskip}}
%&lt;ja&gt;\subsection{\Param{xkanjiskip} ă®ćŚżĺ…Ąč¨­ĺ®š}

%&lt;*en&gt;
It is not desirable that \Param{xkanjiskip} is inserted into every
boundary between \textbf{JAchar}s and \textbf{ALchar}s. For example,
\Param{xkanjiskip} should not be inserted after opening parenthesis
(\textit{e.g.}, compare ``(ă‚'' and ``(\+ă‚'').
\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.
%&lt;/en&gt;
%&lt;*ja&gt;
\Param{xkanjiskip}ăŚă™ăąă¦ă®\textbf{JAchar}ă¨\textbf{ALchar}ă®ĺ˘ç•Śă«
ćŚżĺ…Ąă•ă‚Śă‚‹ă®ăŻćś›ăľă—ă„ă“ă¨ă§ăŻăŞă„ďĽŽäľ‹ăă°ďĽŚ\Param{xkanjiskip}ăŻé–‹ăŤć‹¬ĺĽ§ă®
ĺľŚă«ăŻćŚżĺ…Ąă•ă‚Śă‚‹ăąăŤă§ăŻăŞă„ďĽă€Ś(ă‚ă€Ťă¨ă€Ś(\+ă‚ă€Ťă‚’
ćŻ”ăąă¦ăżă‚ďĽ‰ďĽŽ
\LuaTeX-jaă§ăŻ\Param{xkanjiskip}ă‚’ă‚ă‚‹ć–‡ĺ­—ă®ĺ‰ŤďĽŹĺľŚă«ćŚżĺ…Ąă™ă‚‹ă‹ă©ă†ă‹ă‚’ďĽŚ
\textbf{JAchar}ă«ĺŻľă—ă¦ăŻ\Param{jaxspmode}ă‚’ďĽŚ\textbf{ALchar}ă«ĺŻľă—ă¦ăŻ
\Param{alxspmode}ă‚’ăťă‚Śăžă‚Śĺ¤‰ăă‚‹ă“ă¨ă§ĺ¶ĺľˇă™ă‚‹ă“ă¨ăŚă§ăŤă‚‹ďĽŽ
%&lt;/ja&gt;
\begin{LTXexample}
\ltjsetparameter{jaxspmode={`ă‚,preonly}, alxspmode={`\!,postonly}}
pă‚q ă„!ă†
\end{LTXexample}

%&lt;*en&gt;
The second argument \texttt{preonly} means that the insertion of
\Param{xkanjiskip} is allowed before this character, but not after.
the other possible values are \texttt{postonly}, \texttt{allow}, and \texttt{inhibit}.
%&lt;/en&gt;
%&lt;*ja&gt;
2ă¤ç›®ă®ĺĽ•ć•°ă® \texttt{preonly}ăŻă€Ś\Param{xkanjiskip}ă®ćŚżĺ…ĄăŻă“ă®ć–‡ĺ­—ă®
ĺ‰Ťă§ă®ăżč¨±ă•ă‚ŚďĽŚĺľŚă§ăŻč¨±ă•ăŞă„ă€Ťă“ă¨ă‚’ć„Źĺ‘łă™ă‚‹ďĽŽä»–ă«ćŚ‡ĺ®šĺŹŻč˝ăŞĺ€¤ăŻ
\texttt{postonly}, \texttt{allow}, \texttt{inhibit}ă§ă‚ă‚‹ďĽŽ
%&lt;/ja&gt;

%&lt;*en&gt;
\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
as follows:
%&lt;/en&gt;
%&lt;*ja&gt;
ăŞăŠďĽŚçŹľčˇŚă®
ä»•ć§ă§ăŻďĽŚ\Param{jaxspmode}, \Param{alxspmode}ăŻă†ăĽă–ă«ă‚’ĺ…±ćś‰ă—ă¦ăŠă‚ŠďĽŚ
ä¸Šă®ă‚łăĽă‰ă®1čˇŚç›®ă‚’ć¬ˇă®ă‚ă†ă«ĺ¤‰ăă¦ă‚‚ĺŚăă“ă¨ă«ăŞă‚‹ďĽš
%&lt;/ja&gt;
\begin{lstlisting}
\ltjsetparameter{alxspmode={`ă‚,preonly}, jaxspmode={`\!,postonly}}
\end{lstlisting}
%&lt;*en&gt;
One can use also numbers to specify these two parameters (see Subsection~\ref{ssec:param}).
%&lt;/en&gt;
%&lt;*ja&gt;
ăľăźďĽŚă“ă‚Śă‚‰2ă‘ă©ăˇăĽă‚żă«ăŻć•°ĺ€¤ă§ĺ€¤ă‚’ćŚ‡ĺ®šă™ă‚‹ă“ă¨ă‚‚ă§ăŤă‚‹ďĽ\ref{ssec:param}çŻ€ă‚’ĺŹ‚ç…§ďĽ‰ďĽŽ
%&lt;/ja&gt;

%&lt;*en&gt;
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.
%&lt;/en&gt;
%&lt;*ja&gt;
ă‚‚ă—ĺ…¨ă¦ă®\Param{kanjiskip}ă¨\Param{xkanjiskip}ă®ćŚżĺ…Ąă‚’ćś‰ĺŠąĺŚ–ďĽŹç„ˇĺŠąĺŚ–
ă—ăźă‘ă‚Śă°ďĽŚăťă‚Śăžă‚Ś\Param{autospacing}ă¨\Param{autoxspacing}ă‚’
\texttt{true}/\texttt{false}ă«č¨­ĺ®šă™ă‚Śă°ă‚ă„ďĽŽ
%&lt;/ja&gt;

%&lt;en&gt;\subsection{Shifting the baseline}
%&lt;ja&gt;\subsection{ă™ăĽă‚ąă©ă‚¤ăłă®ç§»ĺ‹•}
\label{ssec:baseline}
%&lt;*en&gt;
To make a match between a Japanese font and an alphabetic font, sometimes
shifting of the baseline of one of the pair is needed. In \pTeX, this is achieved
by setting \cs{ybaselineshift} (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 and that of Japanese fonts.
\begin{center}
 \small
\begin{tabular}{&gt;{\bfseries}lcc}
\toprule
&amp;\bfseries Horizontal writing (\emph{yoko} direction) etc.
&amp;\bfseries Vertical writing(\emph{tate} direction)\\
\midrule
Alphabetic fonts&amp;\Param{yalbaselineshift}
     parameter&amp;\Param{talbaselineshift} parameter\\
Japanese fonts&amp;\Param{yjabaselineshift}
     parameter&amp;\Param{tjabaselineshift} parameter\\
\bottomrule
\end{tabular}
\end{center}
%&lt;/en&gt;
%&lt;*ja&gt;
ĺ’Ść–‡ă•ă‚©ăłăă¨ć¬§ć–‡ă•ă‚©ăłăă‚’ĺă‚Źă›ă‚‹ăźă‚ă«ăŻďĽŚć™‚ă€…ă©ăˇă‚‰ă‹ă®ă™ăĽă‚ąă©ă‚¤ăłă®ç§»ĺ‹•ăŚ
ĺż…č¦ă«ăŞă‚‹ďĽŽ\pTeX ă§ăŻă“ă‚ŚăŻ \cs{ybaselineshift}ďĽăľăźăŻ\cs{tbaselineshift}ďĽ‰ă‚’č¨­ĺ®šă™ă‚‹ă“ă¨ă§
ăŞă•ă‚Śă¦ă„ăźďĽ\textbf{ALchar}ă®ă™ăĽă‚ąă©ă‚¤ăłăŚăťă®ĺ†ă&nbsp;ă‘ä¸‹ăŚă‚‹ďĽ‰ďĽŽă—ă‹ă—ďĽŚć—Ąćś¬čŞžăŚä¸»ă§ăŻăŞă„
ć–‡ć›¸ă«ĺŻľă—ă¦ăŻďĽŚć¬§ć–‡ă•ă‚©ăłăă§ăŻăŞăŹĺ’Ść–‡ă•ă‚©ăłăă®ă™ăĽă‚ąă©ă‚¤ăłă‚’ç§»ĺ‹•ă—ăźć–ąăŚă‚ă„ďĽŽ
ă“ă®ăźă‚ďĽŚ\LuaTeX-jaă§ăŻć¬§ć–‡ă•ă‚©ăłăă®ă™ăĽă‚ąă©ă‚¤ăłă®ă‚·ă•ăé‡Ź
ă¨ĺ’Ść–‡ă•ă‚©ăłăă®ă™ăĽă‚ąă©ă‚¤ăłă®ă‚·ă•ăé‡Źă‚’ç‹¬ç«‹ă«č¨­ĺ®šă§ăŤă‚‹ă‚ă†ă«ăŞăŁă¦ă„ă‚‹ďĽŽ
\begin{center}
 \small
\begin{tabular}{&gt;{\bfseries}lcc}
\toprule
&amp;\bfseries ć¨Şçµ„ăŞă©&amp;\bfseries ç¸¦çµ„\\
\midrule
ć¬§ć–‡ă•ă‚©ăłăă®ă‚·ă•ăé‡Ź&amp;\Param{yalbaselineshift}
     parameter&amp;\Param{talbaselineshift} parameter\\
ĺ’Ść–‡ă•ă‚©ăłăă®ă‚·ă•ăé‡Ź&amp;\Param{yjabaselineshift}
     parameter&amp;\Param{tjabaselineshift} parameter\\
\bottomrule
\end{tabular}
\end{center}
%&lt;/ja&gt;

%&lt;*en&gt;
Here the horizontal line in the below example is the baseline of a line.
%&lt;/en&gt;
%&lt;*ja&gt;
ä¸‹ă®äľ‹ă«ăŠă„ă¦ĺĽ•ă‹ă‚Śă¦ă„ă‚‹ć°´ĺąłç·šăŚă™ăĽă‚ąă©ă‚¤ăłă§ă‚ă‚‹ďĽŽ
%&lt;/ja&gt;
\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}

%&lt;*en&gt;
There is an interesting side-effect: characters in different size can be
vertically aligned center in a line, by setting two parameters appropriately.
The following is an example (beware the value is not well tuned):
%&lt;/en&gt;
%&lt;*ja&gt;
ă“ă®ć©źč˝ă«ăŻéť˘ç™˝ă„ä˝żă„ć–ąăŚă‚ă‚‹ďĽš2ă¤ă®ă‘ă©ăˇăĽă‚żă‚’é©ĺ‡ă«č¨­ĺ®šă™ă‚‹ă“ă¨ă§ďĽŚă‚µă‚¤ă‚şă®
ç•°ăŞă‚‹ć–‡ĺ­—ă‚’ä¸­ĺżç·šă«ćŹăă‚‹ă“ă¨ăŚă§ăŤă‚‹ďĽŽ
ä»Ąä¸‹ăŻä¸€ă¤ă®äľ‹ă§ă‚ă‚‹ďĽĺ€¤ăŻă‚ăľă‚ŠčŞżć•´ă•ă‚Śă¦ă„ăŞă„ă“ă¨ă«ćł¨ć„ŹďĽ‰ďĽš
%&lt;/ja&gt;
\begin{LTXexample}[width=0.4\textwidth]
\vrule width 150pt height4.417pt depth-4.217pt%
\kern-150pt
\large xyzćĽ˘ĺ­—
{\scriptsize
  \ltjsetparameter{yjabaselineshift=-1.757pt,
    yalbaselineshift=-1.757pt}
  ćĽ˘ĺ­—xyză‚ă„ă†
}ă‚ă„ă†abc
\end{LTXexample}

%&lt;*en&gt;
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.
%&lt;/en&gt;
%&lt;*ja&gt;
ăŞăŠďĽŚä»Ąä¸‹ă®ĺ&nbsp;´ĺă«ăŻ1ć–‡ĺ­—ă®\textbf{ALchar}ă‹ă‚‰ăŞă‚‹ă€ŚéźłçŻ€ă€Ťă®ć·±ă•ăŻĺ˘—ĺŠ&nbsp;ă—ăŞă„ă“ă¨ă«ćł¨ć„ŹďĽŽ
\begin{itemize}
 \item \Param{yalbaselineshift},~\Param{talbaselineshift}ă‘ă©ăˇăĽă‚żăŚć­Łă«ăŞăŁă¦ă„ă‚‹ďĽŽ
 \item ă€ŚéźłçŻ€ă€Ťă‚’ć§‹ćă™ă‚‹ĺ”Żä¸€ă®ć–‡ĺ­—$p$ă®
ĺ·¦ä˝™ç™˝ă¸ă®çŞĺ‡şé‡Ź(\cs{lpcode})ďĽŚĺŹłä˝™ç™˝ă¸ă®çŞĺ‡şé‡Ź(\cs{rpcode})ăŚă©ăˇă‚‰ă‚‚éťžé›¶ă§ă‚ă‚‹ďĽŽ
\end{itemize}
\emph{JAchar}ăŻĺż…č¦ă«ĺżśăă¦1ć–‡ĺ­—ăšă¤ăśăă‚Żă‚ąă«ă‚«ă—ă‚»ă«ĺŚ–ă•ă‚Śă‚‹ăźă‚ďĽŚ
\Param{yjabaselineshift},~\Param{tjabaselineshift}ă‘ă©ăˇăĽă‚żă«ă¤ă„ă¦ăŻă“ă®ă‚ă†ăŞĺ•ŹéˇŚăŻčµ·ă“ă‚‰ăŞă„ďĽŽ
%&lt;/ja&gt;

%&lt;*ja&gt;
\paragraph{ć•°ĺĽŹă«ăŠă‘ă‚‹ćŚ™ĺ‹•ďĽš\pTeX ă¨ă®é•ă„}
\textbf{ALchar}ă®ă™ăĽă‚ąă©ă‚¤ăłă‚’čŁść­Łă™ă‚‹\Param{yalbaselineshift}, \Param{talbaselineshift}ă‘ă©ăˇăĽă‚żăŻ
ă»ăĽ\pTeX ă«ăŠă‘ă‚‹ \cs{ybaselineshift}, \cs{tbaselineshift} ă«ĺŻľĺżśă—ă¦ă„ă‚‹ă‚‚ă®ă§ă‚ă‚‹ăŚďĽŚ
ć•°ĺĽŹä¸­ă®ćŚ™ĺ‹•ăŻç•°ăŞăŁă¦ă„ă‚‹ă®ă§ćł¨ć„ŹăŚĺż…č¦ă§ă‚ă‚‹ďĽ\autoref{tab:math_bsa}ĺŹ‚ç…§ďĽ‰ďĽŽ
\begin{itemize}
 \item ăăĽă‚¸ă§ăł20221002.0ä»Ąé™Ťă§ăŻďĽŚ
  \pTeX~4.0.0ă¨ĺŚć§ă«ć•°ĺĽŹăŚ\Param{yalbaselineshift}ă&nbsp;ă‘ă‚·ă•ăă•ă‚Śă‚‹ďĽŽ

  ă—ă‹ă—ăťă‚Śă§ăŻć•°ĺĽŹä¸­ă«ç›´ă«ć›¸ă‹ă‚Śăź\cs{hbox},~\cs{vbox}ä¸­ă®ć¬§ć–‡ă«ăŻ
  \Param{yalbaselineshift}ăŚäşŚé‡Ťă«é©ç”¨ă•ă‚Śă‚‹ă“ă¨ă«ăŞă‚‹ă®ă§ďĽŚ
  ć•°ĺĽŹä¸­ă«ç›´ă«ć›¸ă‹ă‚Śăź\cs{hbox},~\cs{vbox}ă«ăŻ
  \Param{yalbaselineshift}ă‚’ć‰“ăˇć¶ă™čŁść­Łă‚’ă—ă¦ă„ă‚‹ďĽŽ

  ăŞăŠďĽŚ\cs{vcenter}ă«ă‚ă‚‹ăśăă‚Żă‚ąă«ăŻă“ă®ă€Ść‰“ăˇć¶ă™čŁść­Łă€ŤăŻčˇŚă‚Źă‚ŚăŞă„ă®ă§ćł¨ć„ŹďĽŽ
\item \pTeX ă§ăŻć•°ĺĽŹă®ă‚ąă‚żă‚¤ă«ă”ă¨ă«ă€Ść‰“ăˇć¶ă™čŁść­Łă€Ťă®ĺ‰˛ĺă‚’\cs{textbaselineshiftfactor},
  \cs{scriptbaselineshiftfactor}, \cs{scriptscriptbaselineshiftfactor}ă§
  ćŚ‡ĺ®šă§ăŤă‚‹ă‚ă†ă«ă—ăźăŚďĽŚ\LuaTeX-jaă§ăŻ2ç•Şă®ć•°ĺĽŹă•ă‚ˇăźăŞ(\cs{fam2})ă«ä˝żă‚Źă‚Śă¦ă„ă‚‹ă•ă‚©ăłăă®
  ĺ¤§ăŤă•ă‹ă‚‰č‡Şĺ‹•ă§č¨ç®—ă™ă‚‹ďĽŽ

\item ć•°ĺĽŹä¸­ă«ç›´ă«ć›¸ă‹ă‚Śăźĺ’Ść–‡ć–‡ĺ­—ďĽ\autoref{tab:math_bsa}ä¸­ă®``ă‚''ďĽ‰ă«ă¤ă„ă¦ăŻ
  \pTeX ă¨\LuaTeX-jaă§é•ă„ăŚč¦‹ă‚‰ă‚Śă‚‹ďĽŽ
  \pTeX ă§ăŻďĽŚć¬§ć–‡ć–‡ĺ­—ă¨ĺ¤‰ă‚Źă‚‰ăšć¬§ć–‡ă™ăĽă‚ąă©ă‚¤ăłčŁść­Ł(\cs{ybaselineshift})ăŚă‹ă‹ă‚ŠďĽŚ
  ăľăźĺ‘¨ĺ›˛ă«ĺ’Ść¬§ć–‡é–“ç©şç™˝(\cs{xkanjiskip})ăŚĺ…Ąă‚Šă†ă‚‹ďĽŽ
  ăťă®ä¸€ć–ąďĽŚ\LuaTeX-jaă§ăŻă€Śĺ’Ść–‡ă™ăĽă‚ąă©ă‚¤ăłčŁść­Ł(\Param{yjabaselineshift})ăŚă‹ă‹ă‚‹ă€Ťč¦‹ăźç›®ă«
  ăŞă‚ŠďĽŚăľăźĺ‘¨ĺ›˛ă«ĺ’Ść¬§ć–‡é–“ç©şç™˝ăŻĺ…Ąă‚‰ăŞă„ďĽŽ
\end{itemize}
\begin{table}
\small\centering
\caption{ć•°ĺĽŹé–˘äż‚ă®ă™ăĽă‚ąă©ă‚¤ăłčŁść­Ł($\Param{yalbaselineshift}=10\,\textrm{pt}$)}
\label{tab:math_bsa}
\newdimen\origbaselineskip
\origbaselineskip=\baselineskip
\begin{tabular}{lp{35\zw}}
\toprule
\emph{ĺ…ĄĺŠ›}&amp;\vspace*{\dimexpr-\origbaselineskip-\smallskipamount}
\begin{lstlisting}
ć•°ĺĽŹabc: $ă‚a\hbox{ă„}$, $\int_0^x t\,dt=x^2/2$,
$\Phi\vdash F(x)\ \hbox{for all}\ x\in A$,
$\sqrt{A}-\underline{X}+\frac{ă‚3}{2ă‚}-\vcenter{\hbox{aăŠ}}$
\end{lstlisting}\\
\noalign{\vskip-\origbaselineskip}
\midrule
\emph{\pTeX~(p4.0.0)}&amp;
{\ltjsetparameter{yalbaselineshift=10pt}%
\protected\def\&gt;{\hskip\ltjgetparameter{xkanjiskip}}
ć•°ĺĽŹabc: $\lower10pt\hbox{ă‚}\&gt;a\hbox{ă„}$, $\int_0^x t\,dt=x^2/2$,
$\Phi\vdash F(x)\ \hbox{for all}\ x\in A$
$\sqrt{A}-\underline{X}
  +\frac{\lower10pt\hbox{\scalebox{0.7}{ă‚}}\&gt;3}{2\&gt;\lower10pt\hbox{\scalebox{0.7}{ă‚}}}-\vcenter{\hbox{aăŠ}}$
\par}\\\noalign{\vskip-\origbaselineskip}\midrule
\emph{\LuaTeX-ja}&amp;
{\ltjsetparameter{yalbaselineshift=10pt}%
ć•°ĺĽŹabc: $ă‚a\hbox{ă„}$, $\int_0^x t\,dt=x^2/2$,
$\Phi\vdash F(x)\ \hbox{for all}\ x\in A$,
$\sqrt{A}-\underline{X}+\frac{ă‚\&gt;3}{2ă‚}-\vcenter{\hbox{aăŠ}}$
\par}\\
\noalign{\vskip-\origbaselineskip}
\bottomrule
\end{tabular}
\end{table}
%&lt;/ja&gt;

%&lt;*en&gt;
\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.
%&lt;/en&gt;
%&lt;*ja&gt;
\subsection{ç¦ĺ‰‡ĺ‡¦ç†é–˘é€Łă‘ă©ăˇăĽă‚żă¨OpenTypeć©źč˝}
ç¦ĺ‰‡ĺ‡¦ç†ă‚„ \Param{kanjiskip}, \Param{xkanjiskip} ă®ćŚżĺ…Ąă«é–˘é€Łă—ăźă‘ă©ăˇăĽă‚żă®ă†ăˇ
\begin{quote}
 \Param{jaxspmode},~\Param{alxspmode}, \Param{prebreakpenalty},
 \Param{postbreakpenalty}, \Param{kcatcode}
\end{quote}
ăŻďĽŚć–‡ĺ­—ă‚łăĽă‰ă”ă¨ă«č¨­ĺ®šă™ă‚‹é‡Źă§ă‚ă‚‹ďĽŽ

\Pkg{fontspec}ă‘ăă‚±ăĽă‚¸ă‚’ä˝żă†ďĽ\ref{ssec:fontspec}çŻ€ďĽ‰ĺ&nbsp;´ĺăŞă©ďĽŚ
ĺ„ç¨®ă®OpenTypeć©źč˝ă‚’é©ç”¨ă™ă‚‹ă“ă¨ă‚‚ă‚ă‚‹ă¨ć€ťă†ăŚďĽŚĺ‰Ťć®µč˝ă«čż°ăąăźă‘ă©ăˇăĽă‚żéˇžăŻďĽŚ
\emph{OpenTypeć©źč˝ă®é©ç”¨ĺ‰Ťă®ć–‡ĺ­—ă‚łăĽă‰ă«ă‚ăŁă¦é©ç”¨ă•ă‚Śă‚‹ďĽŽ}
äľ‹ăă°ďĽŚä»Ąä¸‹ă®äľ‹ă«ăŠă„ă¦10čˇŚç›®ă®ă€Śă‚˘ă€ŤăŻďĽŚ\verb+hwid+ featureă®é©ç”¨ă«ă‚ă‚ŠĺŤŠč§’ă‚«ă‚żă‚«ăŠă®ă€Śď˝±ă€Ť
ă«ç˝®ăŤćŹ›ă‚Źă‚‹ďĽŽă—ă‹ă—ďĽŚăťă®ç›´ĺľŚă«ćŚżĺ…Ąă•ă‚Śă‚‹ \Param{postbreakpenalty}ăŻďĽŚç˝®ćŹ›ĺ‰Ťă®ă€Śă‚˘ă€Ťă«ĺŻľă™ă‚‹ĺ€¤10ă§ă‚ă‚‹ďĽŽ
%&lt;/ja&gt;

\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
%&lt;en&gt;\part{Reference}
%&lt;ja&gt;\part{ăŞă•ă‚ˇă¬ăłă‚ą}
\label{part-ref}
\suppressfloats[t]
%&lt;*ja&gt;
\section{\LuaTeX-jaă«ăŠă‘ă‚‹ \cs{catcode}}
\label{sec-catcode}
\subsection{äşĺ‚™çźĄč­ďĽš\pTeX ă¨\upTeX ă«ăŠă‘ă‚‹ \cs{kcatcode}}
\pTeXďĽŚ\upTeX ă«ăŠă„ă¦ăŻďĽŚĺ’Ść–‡ć–‡ĺ­—ăŚĺ¶ĺľˇç¶´ĺ†…ă§ĺ©ç”¨ă§ăŤă‚‹ă‹ă©ă†ă‹
ăŻ \cs{kcatcode} ă®ĺ€¤ă«ă‚ăŁă¦ć±şĺ®šă•ă‚Śă‚‹ă®ă§ă‚ăŁăźďĽŽ
č©łç´°ăŻ\autoref{tab:kcat}ă‚’ĺŹ‚ç…§ă•ă‚Śăźă„ďĽŽ
%&lt;/ja&gt;
%&lt;*en&gt;
\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 \autoref{tab:kcat}.
%&lt;/en&gt;

\begin{table}[t]
\small
\caption{\cs{kcatcode} in \upTeX}
\label{tab:kcat}
%&lt;en&gt;\medskip

\noindent\hfill
\begin{tabular}{llccc}
\toprule
\bfseries \cs{kcatcode}&amp;
%&lt;*en&gt;
\bfseries meaning&amp;
\bfseries control word&amp;
\bfseries widow penalty&amp;
\bfseries linebreak\\
%&lt;/en&gt;
%&lt;*ja&gt;
\bfseries ć„Źĺ›ł&amp;
\bfseries ĺ¶ĺľˇç¶´ä¸­ă«ä˝żç”¨&amp;
\bfseries ć–‡ĺ­—ă‚¦ă‚Łă‰ă‚¦ĺ‡¦ç†&amp;
\bfseries ç›´ĺľŚă§ă®ć”ąčˇŚ\\
%&lt;/ja&gt;
\midrule
15&amp;non-cjk&amp;\multicolumn{3}{c}{(treated as usual \LaTeX)}\\
16&amp;kanji&amp;Y&amp;Y&amp;ignored\\
17&amp;kana&amp;Y&amp;Y&amp;ignored\\
18&amp;other&amp;N&amp;N&amp;ignored\\
19&amp;hangul&amp;Y&amp;Y&amp;space\\
\bottomrule
\end{tabular}\hfill\null

\medskip

%&lt;*ja&gt;
ć–‡ĺ­—ă‚¦ă‚Łă‰ă‚¦ĺ‡¦ç†ďĽšă€ŚćĽ˘ĺ­—ăŚä¸€ć–‡ĺ­—ă&nbsp;ă‘ć¬ˇă®čˇŚă«čˇŚăŹă®ă‚’é˛ăă€Ť
\cs{jcharwidowpenalty} ăŚďĽŚ
ăťă®ć–‡ĺ­—ă®ç›´ĺ‰Ťă«ćŚżĺ…Ąă•ă‚Śă†ă‚‹ă‹ĺ¦ă‹ďĽŚă‚’ç¤şă™ďĽŽ
%&lt;/ja&gt;
\end{table}

%&lt;*en&gt;
\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.
%&lt;/en&gt;
%&lt;*ja&gt;
\pTeX ă§ăŻ \cs{kcatcode} ăŻJIS~X~0208ă®ĺŚşĺŤä˝ŤďĽŚ
\upTeX ă§ăŻć¦‚ă­Unicodeă–ă­ăă‚ŻĺŤä˝Ť\footnote{%
  \texttt{U+FF00}--\texttt{U+FFEF} (Halfwidth and Fullwidth Forms)ăŻ
  ă€Śĺ…¨č§’č‹±ć•°ĺ­—ă€Ťă€ŚĺŤŠč§’ă‚«ăŠă€Ťă€Śăťă®ä»–ă€Ťă¨3ă¤ă«ĺ†ĺ‰˛ă•ă‚Śă¦ăŠă‚ŠďĽŚ
  ăťă‚Śăžă‚ŚĺĄă€…ă« \cs{kcatcode} ăŚćŚ‡ĺ®šă§ăŤă‚‹ă‚ă†ă«ăŞăŁă¦ă„ă‚‹ďĽŽ
}ă§č¨­ĺ®šĺŹŻč˝ă«ăŞăŁă¦ă„ă‚‹ďĽŽăťă®ăźă‚ďĽŚ\pTeX ă¨\upTeX ă®ĺťćśźçŠ¶ć…‹ă§ăŻ
ĺ¶ĺľˇç¶´ĺ†…ă§ä˝żç”¨ĺŹŻč˝ăŞć–‡ĺ­—ăŚĺľ®ĺ¦™ă«ç•°ăŞăŁă¦ă„ă‚‹ďĽŽ
%&lt;/ja&gt;

%&lt;*en&gt;
\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}
%&lt;/en&gt;
%&lt;*ja&gt;
\subsection{\LuaTeX-jaă®ĺ&nbsp;´ĺ}
\LuaTeX-jaă§ăŻďĽŚĺľ“ćťĄă®\pTeXă»\upTeX ă«ăŠă‘ă‚‹ \cs{kcatcode} ă®ĺ˝ąĺ‰˛ă‚’
ĺ†ĺ‰˛ă—ă¦ă„ă‚‹ďĽš
\begin{description}
 \item[ć¬§ć–‡/ĺ’Ść–‡ă®ĺŚşĺĄ (\upTeX)]
\cs{ltjdefcharrange} ă¨\textsf{jacharrange}ă‘ă©ăˇăĽă‚żďĽ\ref{ssec:setrange}çŻ€ďĽ‰
 \item[ĺ¶ĺľˇç¶´ä¸­ă«ä˝żç”¨ĺŹŻă‹]
\LuaTeX č‡Şčş«ă® \cs{catcode} ă§ă‚ă„
 \item[\Param{jcharwidowpenalty}ăŚćŚżĺ…ĄĺŹŻă‹]
\Param{kcatcode}ă‘ă©ăˇăĽă‚żă®ćś€ä¸‹ä˝Ťă“ăă
 \item[ç›´ĺľŚă®ć”ąčˇŚ]
ć—Ąćś¬čŞžă—ă‹ćłĺ®šă—ă¦ă„ăŞă„ă®ă§ďĽŚ\textbf{JAchar}ç›´ĺľŚă®ć”ąčˇŚă§ĺŤŠč§’ă‚ąăšăĽă‚ąăŚćŚżĺ…Ąă•ă‚Śă‚‹ă“ă¨ăŻăŞă„ďĽŽ
\end{description}
%&lt;/ja&gt;

%&lt;*en&gt;
Default setting of \cs{catcode} of Unicode characters with \LuaTeX\ is slightly inconvenient
for \pTeX~users to shifting to \LuaTeX-ja,
because several fullwidth characters which can be used in a control word with \pTeX,
such as ``\texttt{ďĽ‘}''~(FULLWIDTH DIGIT ONE), cannnot be used in a control word with \LuaTeX.
Hence, \LuaTeX-ja changes the \cs{catcode} of some characters%
---whose line breaking class is ``ID''~(Ideographic) in UAX~\#14---,
to allow these characters in the control word.
%&lt;/en&gt;
%&lt;*ja&gt;
ćś€čż‘ă®ďĽ2015-10-01ä»Ąé™Ťă®ďĽ‰\LuaLaTeX ă§ăŻćĽ˘ĺ­—ă‚„ä»®ĺŤă‚’ĺ¶ĺľˇç¶´ĺ†…ă«
ä˝żç”¨ă™ă‚‹ă“ă¨ăŚĺŹŻč˝ă§ă‚ă‚‹ăŚďĽŚĺ…¨č§’č‹±ć•°ĺ­—ăŻä˝żç”¨ă§ăŤăŞă„ďĽŽ
ă“ă‚Śă§ăŻ\pTeX ă§ä˝żç”¨ă§ăŤăź\cs{ďĽ‘ĺą´ç›®čĄżćš¦}\footnote{ç§‘ç&nbsp;”č˛»\LaTeX ă§ä˝żç”¨ă•ă‚Śă¦ă„ă‚‹ăťă†ă§ă™ďĽŽ}ăŞă©ăŚä˝żăăŞă„ăźă‚ďĽŚ
\LuaTeX-jaă¸ă®ç§»čˇŚă§ć‰‹é–“ăŚç”źăă‚‹ă“ă¨ă«ăŞă‚‹ďĽŽ

ăťă®ăźă‚ďĽŚ\LuaTeX-jaă§ăŻĺ…¨č§’č‹±ć•°ĺ­—ăŞă©ä¸€é¨ă®ć–‡ĺ­—
\footnote{ć­Łç˘şă«ăŻďĽŚUnicodeă®čˇŚĺ†ĺ‰˛ă‚˘ă«ă‚´ăŞă‚şă&nbsp;(UAX~\#14)ă§``ID''~(Ideographic)ă¨ćŚ‡ĺ®šă•ă‚Śă¦ă„ă‚‹ć–‡ĺ­—ďĽŽ}ă®
\cs{catcode}ă‚’11ă«ĺ¤‰ć›´ă—ďĽŚă“ă‚Śă‚‰ă®ć–‡ĺ­—ă‚’ĺ¶ĺľˇç¶´ä¸­ă§ä˝żç”¨ĺŹŻč˝ă«ă—ă¦ă„ă‚‹ďĽŽ
%&lt;/ja&gt;

\begin{table}
 \centering\small
%&lt;en&gt;\caption{Difference of the set of non-kanji JIS~X~0208 characters which can be used in a control word}
%&lt;ja&gt;\caption{ĺ¶ĺľˇç¶´ä¸­ă«ä˝żç”¨ĺ‡şćťĄă‚‹JIS~X~0208éťžćĽ˘ĺ­—ă®é•ă„}
%&lt;en&gt;\medskip
\label{tab: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}[t]{cccccc}
\toprule
%&lt;en&gt;&amp;\textbf{row}&amp;\textbf{col.}&amp;\textbf{\pTeX}&amp;\textbf{\upTeX}&amp;\textbf{\LuaTeX-ja}\\
%&lt;ja&gt;&amp;\emph{ĺŚş}&amp;\emph{ç‚ą}&amp;\emph{\pTeX}&amp;\emph{\upTeX}&amp;\emph{\LuaTeX-ja}\\
\midrule
%\D 3000&amp;1&amp;1&amp;N&amp;N&amp;Y\\
\D 30FB&amp;1&amp;6&amp;N&amp;Y&amp;N\\
\D 309B&amp;1&amp;11&amp;N&amp;Y&amp;N\\
\D 309C&amp;1&amp;12&amp;N&amp;Y&amp;N\\
\D FF40&amp;1&amp;14&amp;N&amp;N&amp;Y\\
\D FF3E&amp;1&amp;16&amp;N&amp;N&amp;Y\\
\D FFE3&amp;1&amp;17&amp;N&amp;N&amp;Y\\
\D FF3F&amp;1&amp;18&amp;N&amp;N&amp;Y\\
\D 30FD&amp;1&amp;19&amp;N&amp;Y&amp;Y\\
\D 30FE&amp;1&amp;20&amp;N&amp;Y&amp;Y\\
\D 309D&amp;1&amp;21&amp;N&amp;Y&amp;Y\\
\D 309E&amp;1&amp;22&amp;N&amp;Y&amp;Y\\
\D 3003&amp;1&amp;23&amp;N&amp;N&amp;Y\\
\D 4EDD&amp;1&amp;24&amp;N&amp;Y&amp;Y\\
\D 3005&amp;1&amp;25&amp;N&amp;N&amp;Y\\
\D 3006&amp;1&amp;26&amp;N&amp;N&amp;Y\\
\D 3007&amp;1&amp;27&amp;N&amp;N&amp;Y\\
\D 30FC&amp;1&amp;28&amp;N&amp;Y&amp;Y\\
\bottomrule
\end{tabular}\qquad
\begin{tabular}[t]{cccccc}
\toprule
%&lt;en&gt;&amp;\textbf{row}&amp;\textbf{col.}&amp;\textbf{\pTeX}&amp;\textbf{\upTeX}&amp;\textbf{\LuaTeX-ja}\\
%&lt;ja&gt;&amp;\emph{ĺŚş}&amp;\emph{ç‚ą}&amp;\emph{\pTeX}&amp;\emph{\upTeX}&amp;\emph{\LuaTeX-ja}\\
\midrule
\D FF0F&amp;1&amp;31&amp;N&amp;N&amp;Y\\
\D FF3C&amp;1&amp;32&amp;N&amp;N&amp;Y\\
\D FF5E&amp;1&amp;33&amp;N&amp;N&amp;Y\\
\D FF5C&amp;1&amp;35&amp;N&amp;N&amp;Y\\
\D FF0B&amp;1&amp;60&amp;N&amp;N&amp;Y\\
\D FF1D&amp;1&amp;65&amp;N&amp;N&amp;Y\\
\D FF1C&amp;1&amp;67&amp;N&amp;N&amp;Y\\
\D FF1E&amp;1&amp;68&amp;N&amp;N&amp;Y\\
\D FF03&amp;1&amp;84&amp;N&amp;N&amp;Y\\
\D FF06&amp;1&amp;85&amp;N&amp;N&amp;Y\\
\D FF0A&amp;1&amp;86&amp;N&amp;N&amp;Y\\
\D FF20&amp;1&amp;87&amp;N&amp;N&amp;Y\\
\D 3012&amp;2&amp;9&amp;N&amp;N&amp;Y\\
\D 3013&amp;2&amp;14&amp;N&amp;N&amp;Y\\
\D FFE2&amp;2&amp;44&amp;N&amp;N&amp;Y\\
\D 212B&amp;2&amp;82&amp;N&amp;N&amp;Y\\
%&lt;en&gt;\multicolumn{3}{c}{$\vphantom{\D 3000}$\hbox{}Greek letters (row 6)}&amp;Y&amp;N&amp;Y\\
%&lt;en&gt;\multicolumn{3}{c}{$\vphantom{\D 3000}$\hbox{}Cyrillic letters (row 7)}&amp;N&amp;N&amp;Y\\
%&lt;ja&gt;\multicolumn{3}{c}{$\vphantom{\D 3000}$\hbox{}ă‚®ăŞă‚·ăŁć–‡ĺ­—ďĽ6ĺŚşďĽ‰}&amp;Y&amp;N&amp;Y\\
%&lt;ja&gt;\multicolumn{3}{c}{$\vphantom{\D 3000}$\hbox{}ă‚­ăŞă«ć–‡ĺ­—ďĽ7ĺŚşďĽ‰}&amp;N&amp;N&amp;Y\\
\bottomrule
\end{tabular}\hss}\par
\end{table}

%&lt;*en&gt;
\subsection{Non-kanji characters in a control word}
{\def\D#1{%
  {\fboxsep0pt\fcolorbox{cyan}{white}{#1}}}%
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.
\autoref{tab:kcat-diff} shows the difference.
Except for three characters \D{ă»},~\D{ă‚›},~and~`\D{ă‚ś},
\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}.
%&lt;/en&gt;
%&lt;*ja&gt;
\subsection{ĺ¶ĺľˇç¶´ä¸­ă«ä˝żç”¨ĺ‡şćťĄă‚‹JISéťžćĽ˘ĺ­—ă®é•ă„}

ă‚¨ăłă‚¸ăłăŚç•°ăŞă‚‹ă®ă§ďĽŚ\pTeX, \upTeX, \LuaTeX-ja
ă«ăŠă„ă¦ĺ¶ĺľˇç¶´ä¸­ă«ä˝żç”¨ĺŹŻč˝ăŞJIS~X~0208ă®ć–‡ĺ­—ăŻç•°ăŞă‚‹ďĽŽ
ç•°ăŞăŁă¦ă„ă‚‹ă¨ă“ă‚Ťă&nbsp;ă‘ă‚’čĽ‰ă›ă‚‹ă¨ďĽŚ\autoref{tab:kcat-diff}ă®ă‚ă†ă«ăŞă‚‹ďĽŽ
ă€Śă»ă€Ťă€Śă‚›ă€Ťă€Śă‚śă€Ťă‚’é™¤ă‘ă°ďĽŚ\LuaTeX-jaă§ăŻ\upTeX ă‚ă‚Šĺ¤šăŹă®ć–‡ĺ­—ăŚ
ĺ¶ĺľˇç¶´ă«ä˝żç”¨ĺŹŻč˝ă«ăŞăŁă¦ă„ă‚‹ďĽŽ

JIS~X~0213ă®çŻ„ĺ›˛ă«ĺşă’ă‚‹ă¨ďĽŚĺ·®ç•°ăŻă•ă‚‰ă«ĺ¤§ăŤăŹăŞă‚‹ďĽŽ
č©łç´°ă«ă¤ă„ă¦ăŻäľ‹ăă° \url{https://github.com/h-kitagawa/kct} ä¸­ă®\
\texttt{kct-out.pdf} ăŞă©ă‚’ĺŹ‚ç…§ă™ă‚‹ă“ă¨ďĽŽ
%&lt;/ja&gt;


%&lt;*en&gt;
\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.
%&lt;/en&gt;
%&lt;*ja&gt;
\section{ç¸¦çµ„}
\label{sec-direction}
\LuaTeX ćś¬ä˝“ă§ă‚‚ďĽŚ$\Omega$ă»$\aleph$ç”±ćťĄă®ć©źč˝ă¨ă—ă¦ďĽŚč¤‡ć•°ă®çµ„ć–ąĺ‘ă‚’ă‚µăťăĽăă—ă¦ă„ă‚‹ďĽŽ
ă—ă‹ă—ďĽŚ\LuaTeX ăŚă‚µăťăĽăă™ă‚‹ă®ăŻ \texttt{TLT},~\texttt{TRT}, \texttt{RTT},~\texttt{LTL}\
ă®ăżă§ă‚ă‚ŠďĽŚć—Ąćś¬čŞžă®ç¸¦çµ„ă«ä˝żă†ă®ăŻćś›ăľă—ăŹăŞă„\footnote{%
ĺ’Ść–‡ć–‡ĺ­—ă&nbsp;ă‘ăŞă‚‰ă° \texttt{RTT} ă‚’ä˝żăă°ăŞă‚“ă¨ă‹ăŞă‚‹ă¨ć€ťă†ăŚďĽŚ
ć¬§ć–‡ć–‡ĺ­—ăŚĺ…ĄăŁă¦ăŤăźĺ&nbsp;´ĺăŻă†ăľăŹă„ă‹ăšďĽŚ\texttt{RTR} ă¨ă„ă†çµ„ć–ąĺ‘ăŚĺż…č¦ă«ăŞă‚‹ďĽŽ
}ďĽŽăťă®ăźă‚ďĽŚ\LuaTeX-jaă§ăŻć¨Şçµ„(\texttt{TLT})ă§çµ„ă‚“ă&nbsp;ăśăă‚Żă‚ąă‚’ĺ›žč»˘ă•ă›ă‚‹ć–ąĺĽŹă§
ç¸¦çµ„ă‚’ĺ®źčŁ…ă—ăźďĽŽ
%&lt;/ja&gt;

%&lt;ja&gt;\subsection{ă‚µăťăĽăă™ă‚‹çµ„ć–ąĺ‘}
\begin{table}[t]
%&lt;ja&gt;\caption{\LuaTeX-ja ă®ă‚µăťăĽăă™ă‚‹çµ„ć–ąĺ‘}
%&lt;en&gt;\caption{Directions supported by \LuaTeX-ja}
%&lt;en&gt;\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^@{&gt;&gt;}}\hss}%
  \raise-15pt\hbox to 0pt{\hss\composite{*l^@{&gt;|}}\hss}\kern.2pt%
  \vrule height.2pt depth.2pt width 60pt\hbox to 0pt{\hss\composite{*d^@{&gt;}}\hss}\kern-60pt
  \hbox to 60pt{\,éŠ€ăŻă€Ag\hss}}}%
  \raise\dimexpr 0.5\ltjgetdp0-0.5\ltjgetht0\box0%
}
%&lt;*ja&gt;
\begin{tabular}{&gt;{\bfseries}lcccc}
\toprule
&amp;ć¨Şçµ„&amp;ç¸¦çµ„ &amp;ă€Śdtouć–ąĺ‘ă€Ť&amp;ă€Śutodć–ąĺ‘ă€Ť\\
\midrule
ĺ‘˝ä»¤&amp;\cs{yoko}&amp;\cs{tate}&amp;\cs{dtou}&amp;\cs{utod}\\
ĺ­—é€ă‚Šć–ąĺ‘&amp;ć°´ĺąłĺŹłĺ‘ăŤďĽâ†’ďĽ‰&amp;ĺž‚ç›´ä¸‹ĺ‘ăŤďĽâ†“ďĽ‰&amp;ĺž‚ç›´ä¸Šĺ‘ăŤďĽâ†‘ďĽ‰&amp;ĺž‚ç›´ä¸‹ĺ‘ăŤďĽâ†“ďĽ‰\\
čˇŚé€ă‚Šć–ąĺ‘&amp;ĺž‚ç›´ä¸‹ĺ‘ăŤďĽâ†“ďĽ‰&amp;ć°´ĺąłĺ·¦ĺ‘ăŤďĽâ†ďĽ‰&amp;ć°´ĺąłĺŹłĺ‘ăŤďĽâ†’ďĽ‰&amp;ć°´ĺąłĺ·¦ĺ‘ăŤďĽâ†ďĽ‰\\
ä˝żç”¨ă™ă‚‹ĺ’Ść–‡ă•ă‚©ăłă&amp;ć¨Şçµ„ç”¨(\cs{jfont})&amp;ç¸¦çµ„ç”¨(\cs{tfont})&amp;
\multicolumn{2}{c}{%
  ć¨Şçµ„ç”¨(\cs{jfont})ă®$90^\circ$ĺ›žč»˘}\\[\smallskipamount]
çµ„ç‰äľ‹\null $^*$ &amp;\obox{\yoko}&amp;\obox{\tate}&amp;\obox{\dtou}&amp;\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)ă®ĺ˘—ĺŠ&nbsp;ć–ąĺ‘ă‚’ďĽŚ
ăťă‚Śăžă‚Śă€Ś\R{&gt;}ă€ŤďĽŚă€Ś\R{&gt;&gt;}ă€ŤďĽŚă€Ś\R{&gt;|}ă€Ťă§čˇ¨ă—ă¦ă„ă‚‹ďĽŽ
\raggedright
%&lt;/ja&gt;

%&lt;*en&gt;
\begin{tabular}{&gt;{\bfseries}lcccc}
\toprule
&amp;horizontal (\emph{yoko}~direction)&amp;vertical (\emph{tate}~direction)&amp;%
  \emph{dtou} direction&amp;\emph{utod} direction\\
\midrule
Commands&amp;\cs{yoko}&amp;\cs{tate}&amp;\cs{dtou}&amp;\cs{utod}\\
Beginning of the page&amp;Top&amp;Right&amp;Left&amp;Right\\
Beginning of the line&amp;Left&amp;Top&amp;Bottom&amp;Top\\
Used Japanese font&amp;horizontal (\cs{jfont})&amp;vertical (\cs{tfont})&amp;
\multicolumn{2}{c}{%
  horizontal ($90^\circ$ rotated)}\\[\smallskipamount]
Example&amp;\obox{\yoko}&amp;\obox{\tate}&amp;\obox{\dtou}&amp;\obox{\utod}\\
\noalign{\medskip}
(Notation used in $\Omega$)&amp;TLT&amp;RTR, RTT&amp;LBL&amp;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
%&lt;/en&gt;
\end{table}

%&lt;*en&gt;
\LuaTeX-ja supports four directions, as shown in \autoref{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.
These commands cannot be executed in unrestricted horizontal modes, nor math modes.
The direction of a math formula is changed to
\emph{utod}, when the direction outside the math formula is \emph{tate} (vertical writing).
%&lt;/en&gt;

%&lt;*ja&gt;
\LuaTeX-jaăŚă‚µăťăĽăă™ă‚‹çµ„ć–ąĺ‘ăŻ\autoref{tab-dir}ă«ç¤şă™4ă¤ă§ă‚ă‚‹ďĽŽ
4ĺ—ç›®ă® \cs{dtou} ăŻčžăŤć…Łă‚ŚăŞă„ĺ‘˝ä»¤ă&nbsp;ă¨ć€ťă†ăŚďĽŚ
ĺ®źăŻ\pTeX ă«ĺŚĺŤă®ĺ‘˝ä»¤ăŚďĽă‰ă‚­ăĄăˇăłăă«ăŻć›¸ă‹ă‚Śă¦ă„ăŞă„ăŚďĽ‰ĺ­ĺś¨ă™ă‚‹ďĽŽ
Down-TO-Upă®ć„Źĺ‘łăŞă®ă&nbsp;ă‚Ťă†ďĽŽ\cs{dtou} ă‚’ä˝żç”¨ă™ă‚‹ć©źäĽšăŻăŞă„ă&nbsp;ă‚Ťă†ăŚďĽŚ
\LuaTeX-jaă§ăŻă‡ăăă‚°ç”¨ă«ĺ®źčŁ…ă—ă¦ă„ă‚‹ďĽŽ
5ĺ—ç›®ă® \cs{utod} ăŻďĽŚ\pTeX ă§č¨€ă†ă€Śç¸¦ć•°ĺĽŹă‡ă‚Łă¬ă‚Żă‚·ă§ăłă€Ťă«ç›¸ĺ˝“ă™ă‚‹ă‚‚ă®ă§ă‚ă‚‹ďĽŽ

çµ„ć–ąĺ‘ăŻďĽŚ\cs{yoko},~\cs{tate}, \cs{dtou},~\cs{utod} ă‚’ăťă‚Śăžă‚Śä˝żç”¨ă™ă‚‹ă“ă¨ă§ďĽŚ
çŹľĺś¨ä˝śćä¸­ă®ăŞă‚ąăă‚„ăśăă‚Żă‚ąăŚç©şă®ć™‚ă«ă®ăżĺ¤‰ć›´ĺŹŻč˝ă§ă‚ă‚‹ďĽŽ
ăźă&nbsp;ă—ďĽŚçŹľĺś¨ă®ă˘ăĽă‰ăŚéťžĺ¶é™ć°´ĺąłă˘ăĽă‰ă‚„ďĽć–‡ä¸­ďĽŚĺĄčˇŚç«‹ă¦ĺ•Źă‚ŹăšďĽ‰ć•°ĺĽŹă˘ăĽă‰ă§ă‚ă‚‹ă¨ăŤă«ăŻ
çµ„ć–ąĺ‘ă‚’ĺ¤‰ć›´ă™ă‚‹ă“ă¨ăŻĺ‡şćťĄăŞă„ďĽŽ
ăľăźďĽŚç¸¦çµ„ä¸­ă®ć•°ĺĽŹĺ†…ă®ăśăă‚Żă‚ąăŻ\pTeX ă¨ĺŚăă‚ă†ă«çµ„ć–ąĺ‘ăŚ \cs{utod} ă¨ăŞă‚‹ďĽŽ

ăŞăŠďĽŚ\LaTeX ă®ä¸‹ă§\LuaTeX-jaă‚’ä˝żç”¨ă™ă‚‹ĺ&nbsp;´ĺďĽŚçµ„ć–ąĺ‘ĺ¤‰ć›´ĺ‘˝ä»¤ă«ăŻ
ă€Ść–°ăźăŞçµ„ć–ąĺ‘ä¸‹ă§ă®ĺ’Ść–‡ă•ă‚©ăłăă‚’ĺż…č¦ăŞă‚‰čŞ­ăżčľĽăżďĽă»é¸ćŠžă™ă‚‹ďĽ‰ă€Ťă¨ă„ă†
ĺ‡¦ç†ăŚä»ă‘ĺŠ&nbsp;ăă‚‰ă‚Śă¦ă„ă‚‹ďĽ\ref{ssec:ltx-jfm}çŻ€ĺŹ‚ç…§ďĽ‰ďĽŽ
%&lt;/ja&gt;

%&lt;*en&gt;
\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}

\autoref{tab-diffdir} shows how a box is arranged when
the direction  inside the box and that outside the box differ.
%&lt;/en&gt;
%&lt;*ja&gt;
\subsection{ç•°ć–ąĺ‘ă®ăśăă‚Żă‚ą}

ç¸¦çµ„ă®ä¸­ă«ă€Ś42ă€ŤăŞă©ă®2ćˇä»Ąä¸Šă®ç®—ç”¨ć•°ĺ­—ă‚’ć¨Şçµ„ă§çµ„ă‚€ăŞă©ďĽŚ
ç•°ăŞă‚‹çµ„ć–ąĺ‘ă‚’ć··ĺś¨ă•ă›ă‚‹ă“ă¨ăŚă—ă°ă—ă°čˇŚă‚Źă‚Śă‚‹ďĽŽ
çµ„ć–ąĺ‘ă®ć··ĺś¨ă‚‚\pTeX ă¨ĺŚăă‚ă†ă«ă§ăŤă‚‹ďĽš
\begin{LTXexample}
ă“ă“ăŻć¨Şçµ„%     yoko
\hbox{\tate %   tate
  \hbox{ç¸¦çµ„}%  tate
  ă®ä¸­ă«
  \hbox{\yoko ć¨Şçµ„ă®ĺ†…ĺ®ą}% yoko
  ă‚’ćŚżĺ…Ąă™ă‚‹
}
ăľăźć¨Şçµ„ă«ć»ă‚‹% yoko
\end{LTXexample}

ç•°ăŞă‚‹çµ„ć–ąĺ‘ă®ăśăă‚Żă‚ąă‚’é…Ťç˝®ă—ăźĺ&nbsp;´ĺă«ă©ă†çµ„ăľă‚Śă‚‹ă‹ă®ä»•ć§ă‚‚ďĽŚ\pTeX ă‚’
č¸ŹčĄ˛ă—ă¦ă„ă‚‹ďĽŽ\autoref{tab-diffdir}ă«ç¤şă™ďĽŽ
%&lt;/ja&gt;

\begin{table}[t]
%&lt;ja&gt;\caption{ç•°ć–ąĺ‘ă®ăśăă‚Żă‚ąă®é…Ťç˝®}
%&lt;en&gt;\caption{Boxes in different direction}
%&lt;en&gt;\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
%&lt;ja&gt;\emph{ć¨Şçµ„ä¸­ă«é…Ťç˝®}&amp;\emph{ç¸¦çµ„ä¸­ă«é…Ťç˝®}&amp;%
%&lt;ja&gt;\emph{çµ„ć–ąĺ‘ \cs{dtou} ä¸­ă«é…Ťç˝®}\\
%&lt;en&gt;\textbf{typeset in \emph{yoko} direction}
%&lt;en&gt;&amp;\textbf{typeset in \emph{tate} or \emph{utod} direction}
%&lt;en&gt;&amp;\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}} &amp;= h_{\mathrm{T}}+d_{\mathrm{T}},\\
   H_{\mathrm{Y}} &amp;= w_{\mathrm{T}},\\
   D_{\mathrm{Y}} &amp;=0\,\mathrm{pt}
   \end{align*}%
 }&amp;
 \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}}\put(8,8){\vector(1,0){3}}
   \put(7,8){\vector(-1,0){3}}\put(7,8){\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}} &amp;= h_{\mathrm{Y}}+d_{\mathrm{Y}},\\
   H_{\mathrm{T}} &amp;= w_{\mathrm{Y}}/2,\\
   D_{\mathrm{T}} &amp;= w_{\mathrm{Y}}/2
   \end{align*}%
 }&amp;
 \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}}\put(7.5,8){\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}} &amp;= h_{\mathrm{Y}}+d_{\mathrm{Y}},\\
   H_{\mathrm{D}} &amp;= w_{\mathrm{Y}},\\
   D_{\mathrm{D}} &amp;= 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}}\put(3,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}} &amp;= h_{\mathrm{D}}+d_{\mathrm{D}},\\
   H_{\mathrm{Y}} &amp;= w_{\mathrm{D}},\\
   D_{\mathrm{Y}} &amp;= 0\,\mathrm{pt}
   \end{align*}%
 }&amp;
 \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}}\put(6.5,8){\vector(1,0){2.5}}
   \put(10,8){\vector(-1,0){1}}\put(10,8){\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}} &amp;= h_{\mathrm{D}}+d_{\mathrm{D}},\\
   H_{\mathrm{T}} &amp;= d_{\mathrm{D}},\\
   D_{\mathrm{T}} &amp;= h_{\mathrm{D}}
   \end{align*}%
 }&amp;
 \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}}\put(5,8){\vector(1,0){1}}
   \put(8.5,8){\vector(-1,0){2.5}}\put(8.5,8){\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}} &amp;= w_{\mathrm{T}},\\
   H_{\mathrm{D}} &amp;= d_{\mathrm{T}},\\
   D_{\mathrm{D}} &amp;= h_{\mathrm{T}}
   \end{align*}%
 }\\
\bottomrule
\end{tabular}
\end{table}



%&lt;*en&gt;
\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}\meta{num}\textrm{, }\cs{ltjgetht}\meta{num}\textrm{, }%
  \cs{ltjgetdp}\meta{num}]
These commands return \emph{an internal dimension} of \cs{box\meta{num}} 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}\meta{num}=\meta{dimen}\textrm{, }\cs{ltjsetht}\meta{num}=\meta{dimen}\textrm{, }%
  \cs{ltjsetdp}\meta{num}=\meta{dimen}]
These commands set the dimension of \cs{box\meta{num}}. One does not need
	to group the argument \meta{num}; 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}
%&lt;/en&gt;
%&lt;*ja&gt;
\paragraph{\cs{wd} é”ă¨çµ„ć–ąĺ‘}
ăśăă‚Żă‚ąă¬ă‚¸ă‚ąă‚ż \cs{box}\meta{num} ă«ă‚»ăăă•ă‚Śă¦ă„ă‚‹ăśăă‚Żă‚ąă®ĺą…ă»é«ă•ă»ć·±ă•ă®ĺŹ–ĺľ—ă‚„
ĺ¤‰ć›´ă«ăŻăťă‚Śăžă‚Ś \cs{wd},~\cs{ht},~\cs{dp} ă—ăŞăźă†ă‚Łă–ă‚’ç”¨ă„ă‚‹ă®ă§ă‚ăŁăźďĽŽ
\pTeX ă§ăŻă“ă‚Śă‚‰ă®ă—ăŞăźă†ă‚Łă–ăŻďĽŚă€ŚçŹľĺś¨ă®çµ„ć–ąĺ‘ă«ăŠă‘ă‚‹ăśăă‚Żă‚ąă®ĺŻ¸ćł•ă€Ťă‚’ćŚ‡ă™ă‚‚ă®ă§ďĽŚ
ĺŚăăśăă‚Żă‚ąă«ĺŻľă—ă¦ă‚‚çŹľĺś¨ă®çµ„ć–ąĺ‘ă«ă‚ăŁă¦čż”ă‚‹ĺ€¤ăŻç•°ăŞă‚‹ă‚‚ă®ă§ă‚ăŁăźďĽŽ

\LuaTeX-jaă«ăŠă„ă¦ăŻçŠ¶ćłăŚç•°ăŞă‚ŠďĽŚ\cs{wd},~\cs{ht},~\cs{dp} ăŚčż”ă™ĺ€¤ăŻ
çŹľĺś¨ă®çµ„ć–ąĺ‘ă«ăŻäľťĺ­ă—ăŞă„ďĽŽä¸‹ă®äľ‹ă®ă‚ă†ă«ďĽŚć¨Şçµ„ă®ăśăă‚Żă‚ąăŚć&nbsp;Ľç´Ťă•ă‚Śă¦ă„ă‚Śă°
\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}\meta{num}\textrm{, }\cs{ltjgetht}\meta{num}\textrm{, }%
  \cs{ltjgetdp}\meta{num}]
çŹľĺś¨ă®çµ„ć–ąĺ‘ă«ĺżśăăźăśăă‚Żă‚ąă®ĺŻ¸ćł•ă®ĺŹ–ĺľ—ă‚’čˇŚă†ďĽŽçµćžśăŻĺ†…é¨é•·ă•ă§ă‚ă‚‹ăźă‚ďĽŚ
\begin{lstlisting}
\dimexpr 2\ltjgetwd42-3pt\relax, \the\ltjgetwd1701
\end{lstlisting}
ă®ă‚ă†ă« \cs{wd}\meta{num} ă®ä»Łă‚Źă‚Šă¨ă—ă¦ć‰±ă†ă“ă¨ăŚă§ăŤă‚‹ďĽŽ
ä˝żç”¨äľ‹ăŻä»Ąä¸‹ă®é€šă‚Šă§ă‚ă‚‹ďĽŽ
\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}\meta{num}=\meta{dimen}\textrm{, }\cs{ltjsetht}\meta{num}=\meta{dimen}\textrm{, }%
  \cs{ltjsetdp}\meta{num}=\meta{dimen}]
çŹľĺś¨ă®çµ„ć–ąĺ‘ă«ĺżśăăźăśăă‚Żă‚ąă®ĺŻ¸ćł•ă®č¨­ĺ®šă‚’čˇŚă†ďĽŽ\cs{afterassignment} ă‚’2ĺ›žĺ©ç”¨ă—ă¦
ĺ®źčŁ…ă—ă¦ă„ă‚‹ă®ă§ďĽŚć¬ˇă®4é€šă‚ŠăŻĺ…¨ă¦ĺŚăć„Źĺ‘łă§ă‚ă‚‹ďĽŽ
\begin{lstlisting}
\ltjsetwd42 20pt,  \ltjsetwd42=20pt,  \ltjsetwd=42 20pt,  \ltjsetwd=42=20pt
\end{lstlisting}

č¨­ĺ®šĺ€¤ăŻă€Ść¨Şçµ„ă€Ťă€Śç¸¦çµ„ăľăźăŻutodć–ąĺ‘ă€Ťă€Śdtouć–ąĺ‘ă€Ť
ă®3ç¨®ă”ă¨ă«ç‹¬ç«‹ă—ă¦č¨éŚ˛ă•ă‚Śă‚‹ďĽŽĺŹ‚č€ă¨ă—ă¦ďĽŚGităŞăťă‚¸ăăŞĺ†…ă®
	      \verb+test/test55-boxdim_diffdir.{tex,pdf}+ ă‚’ćŚ™ă’ă¦ăŠăŹďĽŽ

\end{cslist}
%&lt;/ja&gt;

%&lt;*en&gt;
\subsection{Getting current direction}
The \Param{direction} parameter returns the current direction, and
the \Param{boxdir} parameter (with the argument \meta{num})
returns the direction of a box register \cs{box}\meta{num}.
The returned value of these parameters are a \emph{string}:
\begin{center}
\small
\begin{tabular}{&gt;{\bfseries}lccccc}
\toprule
Direction&amp;\emph{yoko}&amp;\emph{tate}&amp;\emph{dtou}&amp;\emph{utod}&amp;(empty)\\
\midrule
Returned value&amp;\texttt{4}&amp;\texttt{3}&amp;\texttt{1}&amp;\texttt{11}&amp;\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}
%&lt;/en&gt;
%&lt;*ja&gt;
\subsection{çµ„ć–ąĺ‘ă®ĺŹ–ĺľ—}
ă€ŚçŹľĺś¨ă®çµ„ć–ąĺ‘ă€Ťă‚„ă€Ś\meta{num}ç•Şă®ăśăă‚Żă‚ąă®çµ„ć–ąĺ‘ă€ŤăŻďĽŚ
\pTeX ă§ăŻ \cs{ifydir} ă‚„ \cs{ifybox}\meta{num} ă¨ă„ăŁăźćťˇä»¶ĺ¤ć–­ć–‡ă‚’ä˝żăŁă¦
ĺ¤ć–­ă™ă‚‹ă“ă¨ăŚă§ăŤăźďĽŽ
ă—ă‹ă—ďĽŚ\LuaTeX-jaăŻă‚ăŹăľă§ă‚‚\TeX ăžă‚Żă­ă¨Luaă‚łăĽă‰ă§
č¨čż°ă•ă‚Śă¦ăŠă‚ŠďĽŚăťă‚Śă§ăŻć–°ăźăŞćťˇä»¶ĺ¤ć–­ĺ‘˝ä»¤ă‚’ä˝śă‚‹ă®ăŻé›Łă—ă„ďĽŽ

\LuaTeX-jaă§ăŻďĽŚ\Param{direction}ă‘ă©ăˇăĽă‚żă§çŹľĺś¨ă®çµ„ć–ąĺ‘ă‚’ďĽŚ
\Param{boxdir}ă‘ă©ăˇăĽă‚żďĽă¨čż˝ĺŠ&nbsp;ă®ĺĽ•ć•°\meta{num}ďĽ‰ă«ă‚ăŁă¦
\cs{box}\meta{num}ă®çµ„ć–ąĺ‘ă‚’ăťă‚Śăžă‚ŚĺŹ–ĺľ—ă§ăŤă‚‹ă‚ă†ă«ă—ăźďĽŽ
ć»ă‚Šĺ€¤ăŻć–‡ĺ­—ĺ—ă§ă‚ă‚‹ďĽš
\begin{center}
\small
\begin{tabular}{&gt;{\bfseries}lccccc}
\toprule
çµ„ć–ąĺ‘&amp;\emph{ć¨Şçµ„}&amp;\emph{tateç¸¦çµ„}&amp;\emph{dtouć–ąĺ‘}&amp;\emph{utodć–ąĺ‘}&amp;(ćśŞĺ‰˛ă‚Šĺ˝“ă¦)\\
\midrule
ć»ă‚Šĺ€¤&amp;\texttt{4}&amp;\texttt{3}&amp;\texttt{1}&amp;\texttt{11}&amp;\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}
ă¨ă™ă‚Śă°ă‚ă„ďĽŽ
%&lt;/ja&gt;

%&lt;*en&gt;
\section{Redefined primitives by \LuaTeX-ja}
The following primitives are redefined by \LuaTeX-ja (using~\verb+\protected\def+),
for supporting Japanese typesetting and multiple directions:
\begin{cslist}[style=standard]
 \item[\cs{/}]
 \item[\cs{unhbox}\meta{num}\textrm{, }\cs{unvbox}\meta{num}\textrm{, }\cs{unhcopy}\meta{num}\textrm{, }\cs{unvcopy}\meta{num}]
 \item[\cs{vadjust}\{\meta{material}\}]
 \item[\cs{insert}\meta{number}\{\meta{material}\}]
 \item[\cs{lastbox}]
 \item[\cs{raise}\meta{dimen}\meta{box}\textrm{, }\cs{lower}\meta{dimen}\meta{box}\textrm{, }
   \cs{moveleft}\meta{dimen}\meta{box}\textrm{, }\cs{moveright}\meta{dimen}\meta{box}\textrm{, }]
 \item[\cs{split}\meta{number}to\meta{dimen}\textrm{, }\cs{vcenter}\{\meta{material}\}]
\end{cslist}

On each primitive \cs{\meta{primitive}} in the list above,
its meaning just before loading \LuaTeX-ja is backed up into \cs{ltj@@orig@\meta{primitive}},
and the meaning after redefinition by \LuaTeX-ja is stored in \cs{ltj@@\meta{primitive}}.
For example, \autoref{fig:primitive_meaning} shows the situation of \cs{vadjust} primitive.
%&lt;/en&gt;
%&lt;*ja&gt;
\section{ă—ăŞăźă†ă‚Łă–ă®ĺ†Ťĺ®šçľ©}
\LuaTeX-jaă§ăŻĺ’Ść–‡çµ„ç‰ă‚„ç•°ăŞă‚‹çµ„ć–ąĺ‘ă«ĺŻľĺżśă™ă‚‹ăźă‚ă«ďĽŚä»Ąä¸‹ă«ćŚ™ă’ă‚‹ă—ăŞăźă†ă‚Łă–ăŻ
\ \verb+\protected\def+ ă«ă‚ă‚Šĺ†Ťĺ®šçľ©ă‚’čˇŚăŁă¦ă„ă‚‹ďĽŽ

\begin{cslist}
 \item[\cs{/}]
 ĺ’Ść–‡ă•ă‚©ăłăă«ĺŻľă™ă‚‹ă‚¤ă‚żăŞăă‚ŻčŁść­Łă®ă‚µăťăĽăăŚčż˝ĺŠ&nbsp;ă•ă‚Śă¦ă„ă‚‹ďĽŽ
 \item[\cs{unhbox}\meta{number}\textrm{, }\cs{unvbox}\meta{number}\textrm{, }\cs{unhcopy}\meta{number}\textrm{, }\cs{unvcopy}\meta{number}]
 ăśăă‚Żă‚ąă®çµ„ć–ąĺ‘ăŚçŹľĺś¨ă®ăŞă‚ąăă¨ç•°ăŞă‚‹ĺ&nbsp;´ĺăŻäş‹ĺ‰Ťă«ă‚¨ă©ăĽăˇăă‚»ăĽă‚¸ă‚’ĺ‡şĺŠ›ă™ă‚‹ďĽŽ
 \pTeX ă¨ç•°ăŞă‚ŠďĽŚă‚¨ă©ăĽă‚’ç„ˇč¦–ă—ă¦ç„ˇç†çź˘ç† \cs{unhbox}, \cs{unvbox} ç­‰ă‚’
 ç¶ščˇŚă•ă›ă‚‹ă“ă¨ă‚‚ă§ăŤă‚‹ăŚďĽŚăťă®ĺ&nbsp;´ĺă®çµ„ç‰çµćžśăŻäżťč¨Ľă—ăŞă„ďĽŽ
 \item[\cs{vadjust}\{\meta{material}\}] ä¸€ć—¦ă—ăŞăźă†ă‚Łă–ćś¬ćťĄă®ćŚ™ĺ‹•ă‚’čˇŚă†ďĽŽăťă®ĺľŚďĽŚ\meta{material}ă®çµ„ć–ąĺ‘ăŚ
 ĺ‘¨ĺ›˛ă®ĺž‚ç›´ăŞă‚ąăă®çµ„ć–ąĺ‘ă¨ä¸€č‡´ă—ăŞă„ĺ&nbsp;´ĺă«ă‚¨ă©ăĽă‚’ĺ‡şĺŠ›ă—ďĽŚ
 č©˛ĺ˝“ă® \cs{vadjust} ă‚’ç„ˇĺŠąă«ă™ă‚‹ďĽŽ
 \item[\cs{insert}\meta{number}\{\meta{material}\}]
 ä¸€ć—¦ă—ăŞăźă†ă‚Łă–ćś¬ćťĄă®ćŚ™ĺ‹•ă‚’čˇŚă„ďĽŚăťă®ĺľŚ\meta{material}ĺ†…ă®ĺ„ăśăă‚Żă‚ąă»ç˝«ç·šă®ç›´ĺ‰Ťă«çµ„ć–ąĺ‘ă‚’ç¤ş
	      ă™direction whatsită‚’ćŚżĺ…Ąă™ă‚‹ďĽŽ
 \item[\cs{lastbox}] ăśăă‚Żă‚ąă®ă€Śä¸­čş«ă€Ťă‚’çŹľĺś¨ă®çµ„ć–ąĺ‘ă«ĺă‚Źă›ă‚‹ăźă‚ă®ăŽăĽă‰
	      ďĽ\textit{dir\_box}ă¨ă„ă†ďĽ‰ă‚’ĺż…č¦ăŞă‚‰ă°é™¤ĺŽ»ă—ďĽŚ
 ć­Łă—ăŹă€Śä¸­čş«ă€Ťă®ăśăă‚Żă‚ąăŚčż”ă•ă‚Śă‚‹ă‚ă†ă«ĺ‰Ťĺ‡¦ç†ă‚’ă™ă‚‹ďĽŽ
 \item[\cs{raise}\meta{dimen}\meta{box}\textrm{, }\cs{lower}\meta{dimen}\meta{box}\textrm{, }
   \cs{moveleft}\meta{dimen}\meta{box}\textrm{, }\cs{moveright}\meta{dimen}\meta{box}\textrm{, }]
  \leavevmode\vspace{-\baselineskip}
 \item[\cs{split}\meta{number}to\meta{dimen}\textrm{, }\cs{vcenter}\{\meta{material}\}]
 ă“ă‚Śă‚‰ă®ă—ăŞăźă†ă‚Łă–ă«ă¤ă„ă¦ăŻĺż…č¦ă«ĺżśăă¦\textit{dir\_box}ă‚’ä˝śćă™ă‚‹ĺ‰Ťĺ‡¦ç†ă‚’čż˝ĺŠ&nbsp;ă—ă¦ă„ă‚‹ďĽŽ
\end{cslist}

ä¸Šč¨ă®ä¸€č¦§ä¸­ă«ă‚ă‚‹ă—ăŞăźă†ă‚Łă–\cs{\meta{primitive}}ă«ă¤ă„ă¦ăŻďĽŚ
\LuaTeX-jačŞ­ăżčľĽăżĺ‰Ťă®ć„Źĺ‘łăŚ\cs{ltj@@orig@\meta{primitive}}ă«ďĽŚ
ăťă—ă¦\LuaTeX-jaă«ă‚ă‚‹ĺ†Ťĺ®šçľ©ĺľŚă®ć„Źĺ‘łăŚ\cs{ltj@@\meta{primitive}}ă«äżťĺ­ă•ă‚Śă‚‹ďĽŽ
äľ‹ăă°ďĽŚ\cs{vadjust}ă«ă¤ă„ă¦ăŻ\autoref{fig:primitive_meaning}ă®ă‚ă†ă«ăŞăŁă¦ă„ă‚‹ďĽŽ
%&lt;/ja&gt;
\begin{figure}
\begin{LTXexample}[width=.55\textwidth]
\makeatletter\scriptsize\ttfamily
\meaning\vadjust        \\ % current
\meaning\ltj@@vadjust   \\ % LuaTeX-ja
\meaning\ltj@@orig@vadjust % original
\end{LTXexample}
\caption{Redefining \cs{vadjust} primitive by \LuaTeX-ja}
\label{fig:primitive_meaning}
\end{figure}

%&lt;*en&gt;
\subsection{Suppressing redefinitions}
Sometimes redefining primitives by \LuaTeX-ja causes a problem.
For example, the \Pkg{breqn} package~(v0.98k) assumes that \cs{vadjust}~and~\cs{insert} have
their primitive meanings.
So, this package cannot by loaded after \LuaTeX-ja by default.

\LuaTeX-ja version~20210517.0 has features for that problem. Namely:
\begin{itemize}
  \item Primitives which is listed in \cs{ltj@stop@overwrite@primitive} are 
  retain their meanings at just before loading \LuaTeX-ja.
  \item After loading \LuaTeX-ja,
  one can specify primitives to \cs{ltj@overwrite@primitive}, to redefine them by \LuaTeX-ja.
\end{itemize}
See \autoref{fig:primitive_overwrite} for an example.
%&lt;/en&gt;
%&lt;*ja&gt;
\subsection{ĺ†Ťĺ®šçľ©ă®ćŠ‘ĺ¶}
ĺ&nbsp;´ĺă«ă‚ăŁă¦ăŻ\LuaTeX-jaă«ă‚ă‚‹ă—ăŞăźă†ă‚Łă–ă®ĺ†Ťĺ®šçľ©ăŚä¸Ťé˝ĺă‚’čµ·ă“ă™ă“ă¨ă‚‚ă‚ă‚‹ďĽŽ
ăźă¨ăă°ďĽŚ\Pkg{breqn}ă‘ăă‚±ăĽă‚¸ďĽĺ°‘ăŞăŹă¨ă‚‚v0.98k, 2020\nobreakdash-09\nobreakdash-24)ďĽ‰ăŻ
čŞ­ăżčľĽăżć™‚ă«\cs{vadjust}, \cs{insert}ăŚă—ăŞăźă†ă‚Łă–ă®ăľăľă§ă‚ă‚‹ă“ă¨ă‚’č¦č«‹ă™ă‚‹ă®ă§ďĽŚ
ă“ă®ăľăľă§ăŻ\LuaTeX-jaă®ĺľŚă§čŞ­ăżčľĽă‚€ă“ă¨ăŻă§ăŤăŞă„ďĽŽ

ă“ă®çŠ¶ćłă«ĺŻľĺżśă™ă‚‹ăźă‚ďĽŚăăĽă‚¸ă§ăł20210517.0ä»Ąé™Ťă§ăŻ
\begin{itemize}
  \item ĺ¶ĺľˇç¶´\cs{ltj@stop@overwrite@primitive}ĺ†…ă«ä¸¦ăąă‚‰ă‚Śăźă—ăŞăźă†ă‚Łă–ăŻďĽŚ
  \LuaTeX-jačŞ­ăżčľĽăżç›´ĺ‰Ťć™‚ă®ć„Źĺ‘łă®ăľăľă¨ăŞă‚‹ďĽŽ
  \item \LuaTeX-jačŞ­ăżčľĽăżĺľŚă«
  \cs{ltj@overwrite@primitive}ă«ĺĽ•ć•°ă¨ă—ă¦ä¸Žăăźă—ăŞăźă†ă‚Łă–ă‚’ä¸Žăă‚‹ă“ă¨ă§ďĽŚ
  ăťă‚Śă‚‰ă‚’ă€Ś\LuaTeX-jaă«ă‚ăŁă¦ĺ†Ťĺ®šçľ©ă™ă‚‹ă€Ťéš›ă®ć„Źĺ‘łă«ĺ†Ťĺ®šçľ©ă™ă‚‹
\end{itemize}
ć©źč˝ă‚’ĺ°Žĺ…Ąă—ăźďĽŽä˝żç”¨äľ‹ă«ă¤ă„ă¦ăŻ\autoref{fig:primitive_overwrite}ă‚’ĺŹ‚ç…§ďĽŽ
%&lt;/ja&gt;
\begin{figure}
\begin{lstlisting}
\makeatletter
\def\ltj@stop@overwrite@primitive{\insert\vadjust\/\unhbox\vcenter\fontseries}
\makeatother
  %% Keep the meaning of \insert, \vadjust, \/, \unhbox and \vcenter.
  %% \fontseries will still be redefined by \LuaTeX-ja, because it is not primitive.
\usepackage{luatexja}
...
\usepackage{breqn}
...
\makeatletter
\ltj@overwrite@primitive\expandafter{\insert\vadjust\/\unhbox\vcenter}
\makeatother
  %% Redefine \insert, \vadjust, \/, \unhbox and \vcenter.
\end{lstlisting}
\caption{\cs{ltj@stop@overwrite@primitive} and \cs{ltj@overwrite@primitive}}
\label{fig:primitive_overwrite}
\end{figure}

%&lt;en&gt;\section{Font Metric and Japanese Font}
%&lt;ja&gt;\section{ă•ă‚©ăłăăˇăăŞăă‚Żă¨ĺ’Ść–‡ă•ă‚©ăłă}
%&lt;en&gt;\subsection{\cs{jfont}}
%&lt;ja&gt;\subsection{\cs{jfont} ĺ‘˝ä»¤}
\label{ssec:jfont}

%&lt;*en&gt;
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:
%&lt;/en&gt;
%&lt;*ja&gt;
ă•ă‚©ăłăă‚’ďĽć¨Şçµ„ç”¨ďĽ‰ĺ’Ść–‡ă•ă‚©ăłăă¨ă—ă¦čŞ­ăżčľĽă‚€ăźă‚ă«ăŻďĽŚ\cs{jfont} ă‚’
\ \cs{font} ă—ăŞăźă†ă‚Łă–ă®ä»Łă‚Źă‚Šă«ç”¨ă„ă‚‹ďĽŽ
\cs{jfont} ă®ć–‡ćł•ăŻ \cs{font} ă¨ĺŚăă§ă‚ă‚‹ďĽŽ
\LuaTeX-jaăŻ\Pkg{luaotfload}ă‘ăă‚±ăĽă‚¸ă‚’č‡Şĺ‹•çš„ă«čŞ­ăżčľĽă‚€ă®ă§ďĽŚ
TrueType/OpenTypeă•ă‚©ăłăă«featureă‚’ćŚ‡ĺ®šă—ăźă‚‚ă®ă‚’ĺ’Ść–‡ă•ă‚©ăłăă¨ă—ă¦ç”¨ă„ă‚‹
ă“ă¨ăŚă§ăŤă‚‹ďĽš
%&lt;/ja&gt;
\begin{LTXexample}[width=0.25\textwidth]
\jfont\tradmc={IPAexMincho:script=latn;%
  +trad;-kern;jfm=ujis} at 14pt
\tradmc ĺ˝“ďĽŹä˝“ďĽŹĺŚ»ďĽŹĺŚş
\end{LTXexample}

%&lt;*en&gt;
It is required to specify a (horizontal) \emph{JFM} in at each calling of \cs{jfont}.
A JFM is a Lua script which contains
measurements of characters and glues/kerns that are automatically
inserted for Japanese typesetting.
The structure of JFM will be described in the next subsection.
%&lt;/en&gt;
%&lt;*ja&gt;
\cs{jfont}ĺ‘˝ä»¤ă®ĺ®źčˇŚă”ă¨ă«ă©ă®ďĽć¨Şçµ„ç”¨ďĽ‰JFMă‚’ç”¨ă„ă‚‹ă®ă‹ă‚’ćŚ‡ĺ®šă™ă‚‹ĺż…č¦ăŚă‚ă‚‹ďĽŽ
JFMăŻć–‡ĺ­—ă®ĺŻ¸ćł•ć…ĺ&nbsp;±ă¨ĺ’Ść–‡çµ„ç‰ă§č‡Şĺ‹•çš„ă«ćŚżĺ…Ąă•ă‚Śă‚‹
ă‚°ă«ăĽďĽŹă‚«ăĽăłă®ĺŻ¸ćł•ć…ĺ&nbsp;±ă‚’ćŚăŁă¦ă„ă‚‹Luaă‚ąă‚ŻăŞă—ăă§ďĽŚăťă®ć§‹é€&nbsp;ăŻć¬ˇă®çŻ€ă§čż°ăąă‚‹ďĽŽ
%&lt;/ja&gt;

%&lt;*en&gt;
Note that the defined control sequence
(\cs{tradmc} in the example above) using \cs{jfont} is not a
\textit{font\_def} token,  but a macro.
Hence the input like \verb+\fontname\tradmc+
causes a error.  We denote control sequences which are defined in
\cs{jfont} by \meta{jfont\_cs}.
%&lt;/en&gt;
%&lt;*ja&gt;
ăŞăŠďĽŚ\cs{jfont} ă§ĺ®šçľ©ă•ă‚Śăźĺ¶ĺľˇç¶´ďĽä¸Šă®äľ‹ă&nbsp;ă¨ \cs{tradmc}ďĽ‰
ăŻ\textit{font\_def}ăăĽă‚Żăłă§ăŻăŞăŹăžă‚Żă­ă§ă‚ă‚‹ďĽŽĺľ“ăŁă¦ďĽŚ\verb+\fontname\tradmc+ă®ă‚ă†ăŞ
ĺ…ĄĺŠ›ăŻă‚¨ă©ăĽă¨ăŞă‚‹ďĽŽä»Ąä¸‹ă§ăŻ \cs{jfont} ă§ĺ®šçľ©ă•ă‚Śăź
ĺ¶ĺľˇç¶´ă‚’\meta{jfont\_cs}ă§čˇ¨ă™ďĽŽ
%&lt;/ja&gt;

%&lt;en&gt;\paragraph{Specifying JFM}
%&lt;ja&gt;\paragraph{JFMă®ćŚ‡ĺ®š}
%&lt;en&gt; The general scheme for specifying a JFM is the following:
%&lt;ja&gt; JFMă®ä¸€č¬çš„ăŞćŚ‡ĺ®šăŻć¬ˇă®ă‚ă†ă«ăŞăŁă¦ă„ă‚‹ďĽš
\begin{quote}
  \cs{jfont}\meta{jfont\_cs}\texttt{=...;jfm=}\meta{JFM name}[\texttt{/\{}\meta{JFM features}\texttt{\}}]%
  \texttt{;...;}[\texttt{jfmvar=}\meta{identifier}]\texttt{;...}
\end{quote}

\begin{figure}
\begin{LTXexample}[width=0.3\textwidth]
\ltjsetparameter{differentjfm=both}
\jfont\F=HaranoAjiMincho-Regular:jfm=ujis
\jfont\G=HaranoAjiGothic-Medium:jfm=ujis
\jfont\H=HaranoAjiGothic-Medium:jfm=ujis;jfmvar=hoge
\F ďĽ‰{\G ă€ă€‘}ďĽ % halfwidth space
   ďĽ‰{\H ă€Žă€Ź}ďĽ % fullwidth space

ă»ă’ďĽŚ{\G ă€Śă»ă’ă€Ť}ďĽă»ă’ďĽ‰\par
ă»ă’ďĽŚ{\H ă€Śă»ă’ă€Ť}ďĽă»ă’ďĽ‰% pTeX-like

\ltjsetparameter{differentjfm=paverage}
\end{LTXexample}
\caption{Example of \texttt{jfmvar} key}
\label{fig:jfmvar}
\end{figure}

%&lt;*en&gt;
\begin{description}
\item[\meta{JFM name}]
  The name of a (horizontal) JFM. \LuaTeX-ja searches and loads \texttt{jfm-\meta{JFM name}.lua}
  \footnote{When \LuaTeX-ja (version~20230409 or later)
    is used under \LaTeXe, \LuaTeX-ja searches a JFM also in directories
    which are specified in \cs{input@path}.}.
\item[\meta{JFM features}]
  An optional comma-separated list of JFM options.
  Enclosing braces (\verb+{}+) are optional, but this does not escape any characters.
  The contents of this list can be accessed by a table \texttt{luatexja.jfont.jfm\_feature}
  from a JFM, at its loading. See \autoref{fig:jfmfeat} for an example.

  Note that any JFM files which is shipped with \LuaTeX-ja does not use this feature.
\item[\meta{identifier}]
  An optional string.
\end{description}

LuaTeX-ja ``does not distinguish'' two Japanese fonts which uses same JFM and are the same size.
Here ``uses same JFM'' means that all~of \meta{JFM name}, \meta{JFM features}~and~\meta{identifier} of two fonts
agree.

For example, The first ``ďĽ‰'' and ``ă€'' in \autoref{fig:jfmvar} are typeset in different real fonts.
However, because they use the same JFMs and their size are same,
\LuaTeX-ja inserts penalties, glues and kerns as if these two character are typeset in a same font.
Namely, the glue between these characters is halfwidth, as in ``ďĽ‰\nobreakă€''.
However, this does not applies with \cs{F}~and~\cs{H} in \autoref{fig:jfmvar},
because their \meta{identifier} are different.
%&lt;/en&gt;
%&lt;*ja&gt;
\begin{description}
\item[\meta{JFM name}]
  ďĽć¨Şçµ„ç”¨ďĽ‰JFMă®ĺŤç§°ďĽŽ\LuaTeX-jaăŻ\texttt{jfm-\meta{JFM name}.lua}ă¨ă„ă†ă•ă‚ˇă‚¤ă«ă‚’ćŽ˘ç´˘ă—ă¦čŞ­ăżčľĽă‚€
  \footnote{\LuaTeX-ja 20230409.0ä»Ąé™Ťă§ăŻďĽŚ\LaTeXe ä¸‹ă§čŞ­ăżčľĽăľă‚Śăźĺ&nbsp;´ĺă«ăŻ
    \cs{input@path}ă§ćŚ‡ĺ®šă•ă‚Śăźç®‡ć‰€ă‚‚ĺŠ&nbsp;ăă¦JFMă‚’ćŽ˘ç´˘ă™ă‚‹ďĽŽ}ďĽŽ
\item[\meta{JFM features}]
  çśç•ĄĺŹŻč˝ăŞă‚łăłăžĺŚşĺ‡ă‚ŠăŞă‚ąăďĽŽĺ…¨ä˝“ă‚’ĺ›˛ă‚€ \verb+{}+ ăŻçśç•ĄĺŹŻč˝ă§ă‚ă‚‹ăŚďĽŚ
  ĺ›˛ăŁăźă‹ă‚‰ă¨ă„ăŁă¦\meta{JFM features}ă®ä¸­ă§ä˝żç”¨ĺŹŻč˝ăŞć–‡ĺ­—ăŚĺ˘—ăă‚‹ă‚Źă‘ă§ăŻăŞă„ďĽŽ
  \meta{JFM features}ă§ćŚ‡ĺ®šă•ă‚Śăźĺ†…ĺ®ąăŻďĽŚă†ăĽă–ă«\texttt{luatexja.jfont.jfm\_feature}ă¨ă—ă¦
  JFMčŞ­ăżčľĽăżć™‚ă«ďĽJFMă‹ă‚‰ďĽ‰ă‚˘ă‚Żă‚»ă‚ąĺŹŻč˝ă§ă‚ă‚‹ďĽŽ\autoref{fig:jfmfeat}ă«ä˝żç”¨äľ‹ă‚’čĽ‰ă›ăźďĽŽ

  ăŞăŠďĽŚ\LuaTeX-jaăŚć¨™ćş–ă§ćŹäľ›ă™ă‚‹JFMă§ăŻă“ă®ć©źč˝ăŻç”¨ă„ă‚‰ă‚Śă¦ă„ăŞă„ďĽŽ
\item[\meta{identifier}]
  çśç•ĄĺŹŻč˝ăŞć–‡ĺ­—ĺ—ďĽŽ
\end{description}

\LuaTeX-jaăŻJFMă¨ă‚µă‚¤ă‚şăŚĺŚăă§ďĽŚ
  ĺ®źă•ă‚©ăłăă&nbsp;ă‘ăŚç•°ăŞă‚‹2ă¤ă®ĺ’Ść–‡ă•ă‚©ăłăăŻă€ŚĺŚşĺĄă•ă‚ŚăŞă„ă€ŤďĽŽ
ă“ă“ă§ă€ŚJFMăŚĺŚăă€Ťă¨ăŻďĽŚä¸ˇă•ă‚©ăłăă®\meta{JFM name}, \meta{JFM features}, \meta{identifier}ăŚ
ĺ…¨ă¦ä¸€č‡´ă™ă‚‹ă“ă¨ă§ă‚ă‚‹ďĽŽ

äľ‹ăă°\autoref{fig:jfmvar}ă«ăŠă„ă¦ďĽŚćś€ĺťă®ă€ŚďĽ‰ă€Ťă¨ă€Śă€ă€Ťă®ĺ®źă•ă‚©ăłăăŻç•°ăŞă‚‹ăŚďĽŚ
JFMă‚‚ă‚µă‚¤ă‚şă‚‚ĺŚăăŞă®ă§ďĽŚć™®é€šă«ă€ŚďĽ‰\nobreakă€ă€Ťă¨ĺ…ĄĺŠ›ă—ăźć™‚ă¨ĺŚăă‚ă†ă«çµ„ăľă‚Śă‚‹ďĽŚă¤ăľă‚Šä¸ˇć–‡ĺ­—ă®é–“ăŻĺŤŠč§’ç©şăŤă¨ăŞă‚‹ďĽŽ

ă—ă‹ă—ďĽŚJFMă¨ă‚µă‚¤ă‚şăŚĺŚăă§ă‚ăŁă¦ă‚‚ďĽŚ\texttt{jfmvar}ă‚­ăĽă®ĺ€¤\meta{identifier}ă®ç•°ăŞă‚‹
2ă¤ă®ĺ’Ść–‡ă•ă‚©ăłăďĽŚäľ‹ăă°\autoref{fig:jfmvar}ă§č¨€ă†\cs{F}ă¨\cs{H}ďĽŚ
ăŻă€ŚĺŚşĺĄă•ă‚Śă‚‹ă€ŤďĽŽç•°ăŞă‚‹ĺ’Ść–‡ă•ă‚©ăłăă«ç•°ăŞă‚‹ \texttt{jfmvar}ă‚­ăĽă‚’ĺ‰˛ă‚Šĺ˝“ă¦ďĽŚ
ă‹ă¤\Param{differentjfm}ă‘ă©ăˇăĽă‚żă‚’\texttt{both}ă«č¨­ĺ®šă™ă‚Śă°ďĽŚ
\pTeX ă¨äĽĽăźçŠ¶ćłă§çµ„ç‰ă•ă‚Śă‚‹ă“ă¨ă«ăŞă‚‹ďĽŽ
%&lt;/ja&gt;

\def\T#1{\texttt{#1}}
\def\printjfmfeat#1{%
  \relax\texttt{\string#1}: 
  \directlua{%
    if myjfm then
    for i,v in pairs(myjfm) do
      tex.sprint('[\string\\T{' .. i .. '}]${}={}$')
      if type(v)=='string' then
        tex.sprint('``\string\\T{' .. tostring(v) .. "}'', ")
      else
        tex.sprint(tostring(v) ..', ')
      end
    end
    else tex.sprint('(nil)')
    end
  }\par
}
\begin{figure}
\begin{LTXexample}[pos=t]
\small\ltjsetparameter{differentjfm=both}\tabcolsep=.5\zw
  % \printjfmfeat is defined in the source of this document
\jfont\A=HaranoAjiMincho-Regular:jfm=testf                   at 9pt \printjfmfeat\A
\jfont\B=HaranoAjiMincho-Bold:jfm=testf/kern=0.5,-ps,+kana   at 9pt \printjfmfeat\B
\jfont\C=HaranoAjiGothic-Regular:jfm=testf/kern=0.5,down=0.2 at 9pt \printjfmfeat\C
\jfont\D=HaranoAjiGothic-Bold:jfm=testf/down=0.2,kern=0.5    at 9pt \printjfmfeat\D
\def\TEST#1{\string#1&amp;{#1ă‚ćĽ˘}{\A ă‚¤ĺ­—}&amp;{#1ă‚ćĽ˘}{\B ă‚¤ĺ­—}&amp;{#1ă‚ćĽ˘}{\C ă‚¤ĺ­—}&amp;{#1ă‚ćĽ˘}{\D ă‚¤ĺ­—}}
\vspace{-4\baselineskip}\hfill\ttfamily
\begin{tabular}{lllll}
  &amp;\string\A&amp;\string\B&amp;\string\C&amp;\string\D\\\TEST\A\\\TEST\B\\\TEST\C\\\TEST\D\\
\end{tabular}
  % No space between ``ćĽ˘'' and ``ă‚¤'' iff two Japanese fonts uses same JFM
\ltjsetparameter{differentjfm=paverage}
\end{LTXexample}

\caption{Example of JFM features}
\label{fig:jfmfeat}
\end{figure}

%&lt;en&gt;\paragraph{Horizontal JFMs}
%&lt;ja&gt;\paragraph{ć¨Şçµ„ç”¨JFM}
\begin{table}[t]
%&lt;en&gt;\caption{Differences between horizontal JFMs shipped with \LuaTeX-ja}
%&lt;ja&gt;\caption{\LuaTeX-ja ă«ĺŚć˘±ă•ă‚Śă¦ă„ă‚‹ć¨Şçµ„ç”¨JFMă®é•ă„}
%&lt;en&gt;\medskip
\label{tab-difjfm}
\ltjsetparameter{jacharrange={+3}}
\centering\small
\def\r#1#2{%
  \hbox{\Large\vrule
  \parbox[b]{7\zw}{%
    \addjfontfeatures{YokoFeatures={JFM=#1}}\noindent
	\color{#2}\transparent{0.5}%
    â—†â—†â—†â—†â—†â—†â—†
    ă‚ă‚‹ć—Ąă˘ă˘ăˇă‚ă‚“ăŚăŠä˝żă„ă§čż·ĺ­ă«ăŞăŁă¦ćłŁăŤăľă—ăźďĽŽ
  }\vrule}}
\def\s#1#2{%
  \Large
  \parbox[b]{7\zw}{%
    \addjfontfeatures{YokoFeatures={JFM=#1}}\noindent
	\color{#2}\transparent{0.5}
    ăˇă‚‡ăŁă¨ďĽä˝•
  }}
\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}&amp;
\leavevmode\hbox to 0pt{\r{jis}{black}\hss}\r{min}{red}&amp;
\leavevmode\hbox to 0pt{\r{ujis}{blue}\hss}\r{min}{red}\\
\leavevmode\hbox to 0pt{\s{ujis}{blue}\hss}\s{jis}{black}&amp;
\leavevmode\hbox to 0pt{\s{jis}{black}\hss}\s{min}{red}&amp;
\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}{ăŁ}&amp;
\leavevmode\qquad\t{jis}{black}{ćĽ˘}\t{min}{red}{ćĽ˘}\qquad
           \t{jis}{black}{ăŁ}\t{min}{red}{ăŁ}&amp;
\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}

%&lt;en&gt; The following horizontal JFMs are shipped with \LuaTeX-ja.
%&lt;ja&gt; ä»Ąä¸‹ă®ć¨Şçµ„ç”¨JFMăŚ\LuaTeX-jaă«ăŻĺŚć˘±ă•ă‚Śă¦ă„ă‚‹ďĽš
\begin{description}
%&lt;*en&gt;
\item[\texttt{jfm-ujis.lua}] A standard horizontal JFM of \LuaTeX-ja. This file is
  based on \verb+upnmlminr-h.tfm+, a metric for UTF/OTF package that
  is used in \upTeX. When you are going to use the \Pkg{luatexja-otf} package, you should use this JFM.
%&lt;/en&gt;
%&lt;*ja&gt;
\item[\texttt{jfm-ujis.lua}] \LuaTeX-jaă®ć¨™ćş–JFMă•ă‚ˇă‚¤ă«ă§ă‚ă‚ŠďĽŚă“ă®JFMăŻ\upTeX ă§
  ç”¨ă„ă‚‰ă‚Śă‚‹UTF/OTFă‘ăă‚±ăĽă‚¸ç”¨ă®ĺ’Ść–‡ç”¨TFMă§ă‚ă‚‹ \verb+upnmlminr-h.tfm+ ă‚’
  ĺ…ă«ă—ă¦ă„ă‚‹ďĽŽ\Pkg{luatexja-otf}ă‘ăă‚±ăĽă‚¸ă‚’ä˝żă†ă¨ăŤăŻă“ă®JFMă‚’ćŚ‡ĺ®šă™ă‚‹ăąăŤă§ă‚ă‚‹ďĽŽ
%&lt;/ja&gt;
%&lt;*en&gt;
\item[\texttt{jfm-jis.lua}] A counterpart for \verb+jis.tfm+, ``JIS font
  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
  rectangles.
%&lt;/en&gt;
%&lt;*ja&gt;
\item[\texttt{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} ă§ăŻć¨Şé•·ă®é•·ć–ąĺ˝˘çŠ¶ă§ă‚ă‚‹ă“ă¨ă¨ďĽŚ
  \texttt{jfm-ujis.lua} ă§ăŻă€ŚďĽźă€Ťă€ŚďĽă€Ťă®ç›´ĺľŚă«ĺŤŠč§’ç©şç™˝ăŚćŚżĺ…Ąă•ă‚Śă‚‹ă“ă¨ă§ă‚ă‚‹ďĽŽ
%&lt;/ja&gt;
%&lt;*en&gt;
\item[\texttt{jfm-min.lua}] A counterpart for \verb+min10.tfm+, which is one
  of the default Japanese font metric shipped with \pTeX.
%&lt;/en&gt;
%&lt;*ja&gt;
\item[\texttt{jfm-min.lua}] \pTeX ă«ĺŚć˘±ă•ă‚Śă¦ă„ă‚‹ă‡ă•ă‚©ă«ăă®ĺ’Ść–‡ç”¨TFM
(\verb+min10.tfm+)ă«ç›¸ĺ˝“ă—ďĽŚčˇŚćś«ă§ć–‡ĺ­—ăŚćŹă†ă‚ă†ă«ă™ă‚‹ăźă‚ă«ă€ŚăŁă€ŤăŞă©ä¸€é¨ă®ć–‡ĺ­—ĺą…ăŚĺ¤‰ă‚ŹăŁ
	   ă¦ă„ă‚‹ďĽŽ\verb+min10.tfm+ ă«ă¤ă„ă¦ăŻ\cite{min10}ăŚč©łă—ă„ďĽŽ
%&lt;/ja&gt;
%&lt;*en&gt;
\item[\texttt{jfm-prop.lua}] A JFM for proportional typesetting.
  This JFM doesn't have any information of character dimension (width, height, depth), nor glues/kerns information.
%&lt;/en&gt;
%&lt;*ja&gt;
\item[\texttt{jfm-prop.lua}] ă—ă­ăťăĽă‚·ă§ăŠă«çµ„ç”¨ă®JFMďĽŽ
  ć–‡ĺ­—ĺą…ă»é«ă•ă»ć·±ă•ă®ć…ĺ&nbsp;±ă‚‚č‡Şĺ‹•ćŚżĺ…Ąă•ă‚Śă‚‹ă‚°ă«ăĽă»ă‚«ăĽăłă®ć…ĺ&nbsp;±ăŻćŚăźăŞă„ďĽă¤ăľă‚Šă‚°ăŞă•ă®ć–‡ĺ­—ĺą…ă‚’ăťă®ăľăľćŽˇç”¨ă™ă‚‹ďĽ‰ďĽŽ
%&lt;/ja&gt;
%&lt;*en&gt;
\item[\texttt{jfm-propw.lua}] Another JFM for proportional typesetting.
  In contrast to \texttt{jfm-prop.lua}, this JFM has informations of character height and depth.
%&lt;/en&gt;
%&lt;*ja&gt;
\item[\texttt{jfm-propw.lua}] ă—ă­ăťăĽă‚·ă§ăŠă«çµ„ç”¨ă®ă•ă‚‰ăŞă‚‹JFMďĽŽ
  \texttt{jfm-prop.lua}ă¨ç•°ăŞă‚ŠďĽŚé«ă•ă»ć·±ă•ă®ć…ĺ&nbsp;±ăŻćŚăŁă¦ă„ă‚‹ďĽŽ
%&lt;/ja&gt;
\end{description}
%&lt;*en&gt;
See \autoref{tab-difjfm} for the difference among \texttt{jfm-ujis.lua}, \texttt{jfm-jis.lua},
\texttt{jfm-min.lua}.
%&lt;/en&gt;
%&lt;*ja&gt;
\texttt{jfm-ujis.lua}, \texttt{jfm-jis.lua},
\texttt{jfm-min.lua}ă®é•ă„ăŻ\autoref{tab-difjfm}ă«ç¤şă—ăźďĽŽčˇ¨ä¸­ă®ć–‡äľ‹ă®ä¸€é¨ă«ăŻďĽŚ
\cite{min10}ă®ĺ›ł3,~4ă®ă‚‚ă®ă‚’ç”¨ă„ăźďĽŽ
%&lt;/ja&gt;

\begin{figure}
\begin{LTXexample}[pos=t]
\newcommand\test{\vrule ă€ă‚¤ăŠăźăă‚Żă€ă‚¤ă‚Żăž\vrule\\}
\jfont\KMFW = HaranoAjiMincho-Regular:jfm=prop;-kern at 17.28pt
\jfont\KMFK = HaranoAjiMincho-Regular:jfm=prop at 17.28pt % kern is activated
\jfont\KMPW = HaranoAjiMincho-Regular:jfm=prop;script=dflt;+palt;-kern at 17.28pt
\jfont\KMPK = HaranoAjiMincho-Regular:jfm=prop;script=dflt;+palt;+kern at 17.28pt
\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}

%&lt;en&gt;\paragraph{Using kerning information in a font}
%&lt;ja&gt;\paragraph{ăšă‚˘ă‚«ăĽă‹ăłă‚°ć…ĺ&nbsp;±ă®ä˝żç”¨}
\label{para-kern}
%&lt;*en&gt;
Some fonts have information for inter-glyph spacing.
\LuaTeX-ja 20140324.0 or later treats kerning spaces like an italic correction;
any glue and/or kern from the JFM and a kerning space from the font can coexist.
See \autoref{fig:kern-jfm} for detail.

At version~20220411.0, defaults Japanese fonts which are defined
at the loading of \LuaTeX-ja, \Pkg{ltjclasses},~and~\Pkg{ltjsclasses}
do not insert font-derived kerning spaces by default.
This is because standard JFMs do not expect font-derived kerning spaces
between Japanese characters.

Also 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.
This means the following two lines have the same meaning:
\begin{lstlisting}
\setmainjfont{HaranoAjiMincho-Regular}
\setmainjfont[Kerning=Off]{HaranoAjiMincho-Regular}
\end{lstlisting}

%&lt;/en&gt;
%&lt;*ja&gt;
ă„ăŹă¤ă‹ă®ă•ă‚©ăłăăŻă‚°ăŞă•é–“ă®ă‚ąăšăĽă‚ąă«ă¤ă„ă¦ă®ć…ĺ&nbsp;±ă‚’ćŚăŁă¦ă„ă‚‹ďĽŽ
ă“ă®ă‚«ăĽă‹ăłă‚°ć…ĺ&nbsp;±ăŻä»Ąĺ‰Ťă®\LuaTeX-ja ă¨ăŻă‚ăľă‚Šç›¸ć€§ăŚč‰ŻăŹăŞă‹ăŁăźăŚďĽŚ
ăăĽă‚¸ă§ăł20140324.0ä»Ąé™Ťă§ăŻă‚«ăĽă‹ăłă‚°ă«ă‚ă‚‹ç©şç™˝ăŻă‚¤ă‚żăŞăă‚ŻčŁść­Łă¨ĺŚć§ă«ć‰±ă†ă“ă¨ă«ăŞăŁă¦ă„ă‚‹ďĽŽ
ă¤ăľă‚ŠďĽŚă‚«ăĽă‹ăłă‚°ç”±ćťĄă®ç©şç™˝ă¨JFMç”±ćťĄă®ă‚°ă«ăĽă»ă‚«ăĽăłăŻĺŚć™‚ă«ĺ…Ąă‚‹ă“ă¨ăŚă‚ă‚‹ďĽŽ
\autoref{fig:kern-jfm}ă‚’ĺŹ‚ç…§ďĽŽ
\begin{itemize}
 \item \emph{\cs{jfont} ă‚„ďĽŚNFSS2ç”¨ă®ĺ‘˝ä»¤ďĽ\ref{ssec:chgfnt}çŻ€ďĽŚ\ref{ssec:nfsspat}çŻ€ďĽ‰ă§ăŻďĽŚ
ă‚«ăĽă‹ăłă‚°ć…ĺ&nbsp;±ă‚’ä˝żç”¨ă™ă‚‹č¨­ĺ®šďĽOpenTypeć©źč˝\texttt{kern}ďĽ‰ăŻă¨ăŹă«ćŚ‡ĺ®šă—ăŞăŹă¦ă‚‚ćś‰ĺŠąă«ăŞă‚‹}ďĽŽ
ă™ăŞă‚ŹăˇďĽŚä»Ąä¸‹ă®2čˇŚç›®ă¨3čˇŚç›®ďĽŚ5čˇŚç›®ă¨6čˇŚç›®ăŻăťă‚Śăžă‚Śç­‰äľˇă§ă‚ă‚‹ďĽš
\begin{lstlisting}[numbers=left]
\jfont\hoge=hogem:jfm=ujis;-kern at 3.5mm % ==&gt; kern ç„ˇĺŠąďĽćŽç¤şďĽ‰
\jfont\hoge=hogem:jfm=ujis at 3.5mm       % ==&gt; kern ćś‰ĺŠąďĽćš—é»™ďĽ‰
\jfont\hoge=hogem:jfm=ujis;+kern at 3.5mm % ==&gt; kern ćś‰ĺŠąďĽćŽç¤şďĽ‰
\DeclareFontShape{JY3}{fuga}{m}{n}{&lt;-&gt; s*hogem:jfm=-ujis}{}    % ==&gt; kern ç„ˇĺŠąďĽćŽç¤şďĽ‰
\DeclareFontShape{JY3}{fuga}{m}{n}{&lt;-&gt; s*hogem:jfm=ujis}{}     % ==&gt; kern ćś‰ĺŠąďĽćš—é»™ďĽ‰
\DeclareFontShape{JY3}{fuga}{m}{n}{&lt;-&gt; s*hogem:jfm=ujis+kern}{}% ==&gt; kern ćś‰ĺŠąďĽćŽç¤şďĽ‰
\end{lstlisting}

\item ăăĽă‚¸ă§ăł20220411.0ä»Ąé™Ťă§ăŻďĽŚ\LuaTeX-jačŞ­ăżčľĽăżć™‚ă‚„ďĽŚ\Pkg{ltjclasses}, \Pkg{ltjsclasses}ă«ăŠă„ă¦
  ĺ’Ść–‡ă•ă‚©ăłăă‚’
\begin{lstlisting}
\jfont\tenmin=\ltj@stdmcfont:-kern;jfm=\ltj@stdyokojfm\space at 9.62216pt
\DeclareFontShape{JY3}{mc}{m}{n}{&lt;-&gt; s*[\ifdefined\Cjascale\Cjascale\else 0.962216\fi]
  \ltj@stdmcfont:-kern;jfm=\ltj@stdyokojfm}{}
\end{lstlisting}
  ă¨OpenTypeć©źč˝\texttt{kern}ă‚’ćŽç¤şçš„ă«ç„ˇĺŠąĺŚ–ă—ăźçŠ¶ć…‹ă§ĺ®šçľ©ă™ă‚‹ďĽŽ
  ă“ă‚ŚăŻć¨™ćş–JFM(\texttt{jfm-ujis.lua}, \texttt{jfm-ujisv.lua})ăŚ
  ă•ă‚©ăłăç”±ćťĄă®ă‚«ăĽă‹ăłă‚°ăŚĺ…Ąă‚‹ă“ă¨ă‚’ćśźĺľ…ă—ă¦ă„ăŞă„ăźă‚ă§ă‚ă‚‹ďĽŽ

 \item
ä¸€ć–ąďĽŚ\emph{\Pkg{luatexja-fontspec} ă®ćŹäľ›ă™ă‚‹ \cs{setmainjfont}\
ăŞă©ă®ĺ‘˝ä»¤ă®ć¨™ćş–č¨­ĺ®šă§ăŻă‚«ăĽă‹ăłă‚°ć…ĺ&nbsp;±ăŻä˝żç”¨ă—ăŞă„}(\texttt{Kerning=Off})ďĽŽ
ă™ăŞă‚ŹăˇďĽŚć¬ˇă®2čˇŚăŻç­‰äľˇă§ă‚ă‚‹ďĽš
\begin{lstlisting}
\setmainjfont{HaranoAjiMincho-Regular}
\setmainjfont[Kerning=Off]{HaranoAjiMincho-Regular}
\end{lstlisting}
ă“ă‚ŚăŻĺ‰Ťé&nbsp;…ç›®ă®ç†ç”±ă®ä»–ă«ďĽŚä»Ąĺ‰Ťă®ăăĽă‚¸ă§ăłă®\LuaTeX-jaă¨ă®äş’ćŹ›ć€§ă®ăźă‚ă‚‚ă‚ă‚‹ďĽŽ
\end{itemize}
%&lt;/ja&gt;

%&lt;*ja&gt;
\paragraph{\texttt{extend}ă¨\texttt{slant}}
OpenTypeć©źč˝ă¨č¦‹ă‹ă‘ä¸ŠĺŚăă‚ă†ăŞĺ˝˘ĺĽŹă§ćŚ‡ĺ®šă§ăŤă‚‹ă‚‚ă®ă«ďĽŚ
\begin{description}
\item[\texttt{extend=}\meta{extend}] ć¨Şć–ąĺ‘ă«\meta{extend}ĺ€Ťć‹ˇĺ¤§ă™ă‚‹ďĽŽ
\item[\texttt{slant=}\meta{slant}] \meta{slant}ă«ćŚ‡ĺ®šă•ă‚Śăźĺ‰˛ĺă&nbsp;ă‘ĺ‚ľă‘ă‚‹ďĽŽ
\end{description}
ă®2ă¤ăŚă‚ă‚‹ďĽŽ
\texttt{extend}ă‚„\texttt{slant}ă‚’ćŚ‡ĺ®šă—ăźĺ&nbsp;´ĺăŻďĽŚăťă‚Śă«ĺżśăăźJFMă‚’ćŚ‡ĺ®šă™ăąăŤă§ă‚ă‚‹%
\footnote{\LuaTeX-jaă§ăŻďĽŚă“ă‚Śă‚‰ă«ĺŻľă™ă‚‹JFMă‚’ç‰ąă«ćŹäľ›ă™ă‚‹ă“ă¨ăŻă—ăŞă„äşĺ®šă§ă‚ă‚‹ďĽŽ}ďĽŽ
äľ‹ăă°ďĽŚć¬ˇă®äľ‹ă§ăŻç„ˇç†ă‚„ă‚Šé€šĺ¸¸ă®JFMă‚’ä˝żăŁă¦ă„ă‚‹ăźă‚ă«ďĽŚć–‡ĺ­—é–“éš”ă‚„ă‚¤ă‚żăŞăă‚ŻčŁść­Łé‡ŹăŚ
ć­Łă—ăŹăŞă„ďĽš
%&lt;/ja&gt;
%&lt;*en&gt;
\paragraph{\texttt{extend} and \texttt{slant}}
The following setting can be specified as OpenType font features:
\begin{cslist}[style=standard]
\item[\texttt{extend=}\meta{extend}] expand the font horizontally by \meta{extend}.
\item[\texttt{slant=}\meta{slant}] slant the font.
\end{cslist}
Note that \LuaTeX-ja doesn't adjust JFMs by these \texttt{extend} and \texttt{slant}
settings; one have to write new JFMs on purpose.
For example, the following example uses the standard JFM \texttt{jfm-ujis.lua}, hence
the letterspacing and the width of italic corrections are not correct:
%&lt;/en&gt;
\begin{LTXexample}[width=0.3\textwidth]
\jfont\E=HaranoAjiMincho-Regular:extend=1.5;jfm=ujis;-kern
\jfont\S=HaranoAjiMincho-Regular:slant=1;jfm=ujis;-kern
\E ă‚ă„ă†ăăŠ \S ă‚ă„ă†\/ABC
\end{LTXexample}

%&lt;*ja&gt;
\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}ă®č‡Şç„¶é•·/äĽ¸ăłé‡Ź/ç¸®ăżé‡Źă®ä¸€é¨ăŚ
ĺŚăĺ&nbsp;´ć‰€ă«ćŚżĺ…Ąă•ă‚Śă‚‹ă€Ťă¨ă„ă†çŠ¶ćłăŚčµ·ă“ă‚Šă†ă‚‹ďĽŽ
ă“ă®ć©źč˝ă‚’ç„ˇĺŠąĺŚ–ă—ďĽŚăăĽă‚¸ă§ăł20150922.0ä»Ąĺ‰Ťă¨ĺŚăă‚ă†ăŞçµ„ç‰ă‚’ĺľ—ă‚‹ăźă‚ă«ăŻďĽŚ
ä»–ă®OpenTypeć©źč˝ă¨ĺŚăă‚ă†ă«\&gt;\mbox{\texttt{-ltjksp}}\&gt;ćŚ‡ĺ®šă‚’čˇŚăă°č‰Żă„ďĽ\autoref{fig:ltjksp}ĺŹ‚ç…§ďĽ‰ďĽŽ
ăŞăŠďĽŚ
\begin{lstlisting}
 \jfont\G=HaranoAjiMincho-Regular:jfm=ujis;-ltjksp;+ltjksp at \zw
\end{lstlisting}
ă®ă‚ă†ă«\texttt{+ltjksp}ćŚ‡ĺ®šă‚’čˇŚăŁăźĺ&nbsp;´ĺăŻďĽŚ\texttt{kanjiskip\_natural}ăŞă©
3ă‚­ăĽăŻĺ†Ťăłćś‰ĺŠąĺŚ–ă•ă‚Śă‚‹ďĽŽ\texttt{-ltjksp}, \texttt{+ltjksp}ă‚’č¤‡ć•°ĺ›žćŚ‡ĺ®šă—ăźĺ&nbsp;´ĺăŻďĽŚ
ćś€ĺľŚă«ćŚ‡ĺ®šă—ăźă‚‚ă®ăŚćś‰ĺŠąă¨ăŞă‚‹ďĽŽ
%&lt;/ja&gt;
%&lt;*en&gt;
\paragraph{\texttt{ltjksp} ``feature''}
\label{pg:ltjksp}
\texttt{kanjiskip\_natural}, \texttt{kanjiskip\_stretch},\
\texttt{kanjiskip\_shrink} keys (Page~\pageref{pg:ksp_nat}) makes tha
\LuaTeX-ja inserts not only a glue which is specified by a JFM, and also
the natural width/stretch part/shrink part of \Param{kanjiskip}.
This functionality is disabled by \mbox{\texttt{-ltjksp}} specification,
as shown in~\autoref{fig:ltjksp}.
%&lt;/en&gt;
\begin{figure}
\begin{LTXexample}[width=16\zw]
\leavevmode
\ltjsetparameter{kanjiskip=0pt plus 3\zw}
\vrule\hbox to 15\zw{ă‚ă€Śă„ă€Ťă†ďĽŚăăŠ}\vrule\\
\jfont\G=HaranoAjiMincho-Regular%
  :jfm=ujis;-ltjksp at \zw
\G\leavevmode%
\vrule\hbox to 15\zw{ă‚ă€Śă„ă€Ťă†ďĽŚăăŠ}\vrule
\end{LTXexample}
\caption{\texttt{ltjksp} ``feature''}
\label{fig:ltjksp}
\end{figure}

%&lt;*ja&gt;
\paragraph{\texttt{ltjpci}ă€Ść©źč˝ă€Ť}
\label{pg:ltjpci}
\Pkg{luaotfload}~v3.19ä»Ąé™Ťă§ăŻďĽŚć¨™ćş–ă§UnicodeďĽć–‡ĺ­—ă‹ă‚‰ä˝śă‚‰ă‚Śă‚‹ăŽăĽă‰ăźăˇďĽ‰ăŚNFCă«ć­Łč¦ŹĺŚ–ă•ă‚Śă‚‹
ă‚ă†ă«ăŞăŁă¦ă„ă‚‹ďĽŽă“ă‚Śă«ă‚ă‚ŠďĽŚă‚˝ăĽă‚ąä¸­ă§ăźă¨ăă°ă€Śă‹ă€Ťă¨ĺćç”¨ćżç‚ą(\texttt{U+3099})ă‚’ç¶šă‘ă¦ĺ…ĄĺŠ›ă—ăźĺ&nbsp;´ĺďĽŚ
ä¸ˇč€…ăťă‚Śăžă‚Śă‹ă‚‰ăŽăĽă‰ăŚç”źćă•ă‚Śă‚‹ăŚďĽŚçµćžśçš„ă«ăŻă€ŚăŚă€Ťă‚’čˇ¨ă™1ăŽăĽă‰ă«ăŞă‚‹ă‚Źă‘ă§ă‚ă‚‹ďĽŽ

ă—ă‹ă—ďĽŚNFCă«ć­Łč¦ŹĺŚ–ă™ă‚‹ă“ă¨ă§ďĽŚ
ăźă¨ăă°ă€Ś\UTF{FA19}ă€Ť(\texttt{U+FA19})ăŚă€ŚçĄžă€Ť(\texttt{U+795E})ă«ă¨ă„ă†ăµă†ă«ďĽŚ
CJKäş’ćŹ›ćĽ˘ĺ­—ăŚCJKçµ±ĺćĽ˘ĺ­—ă«ĺ¤‰ćŹ›ă•ă‚Śă¦ă—ăľă†ă¨ă„ă†ĺ•ŹéˇŚăŚă‚ă‚‹ďĽŽ
ç•°ä˝“ĺ­—ă‚»ă¬ă‚Żă‚żă‚’ç”¨ă„ă‚Śă°ă“ă®ă‚ă†ăŞă“ă¨ăŻčµ·ăŤăŞă„ăŚďĽŚĺŹ¤ăŹă‹ă‚‰ă‚ă‚‹ă•ă‚©ăłăă§ăŻç•°ä˝“ĺ­—ă‚»ă¬ă‚Żă‚żă‚’ă‚µăťăĽăă—ă¦ă„ăŞă„ďĽŽ

ä»Ąä¸Šă®äş‹ć…ă«ĺŻľĺżśă™ă‚‹ăźă‚ďĽŚ\LuaTeX-jaă§ăŻďĽŚć¨™ćş–ă§
\emph{CJKäş’ćŹ›ćĽ˘ĺ­—ă»CJKäş’ćŹ›ćĽ˘ĺ­—čŁśĺŠ©ă®ć–‡ĺ­—ă«ăŻ\Pkg{luaotfload}ă‘ăă‚±ăĽă‚¸ă«ă‚ă‚‹ĺ‡¦ç†ăŻĺŤă‹ăŞă„}ă‚ă†ă«ă—ă¦ă„ă‚‹ďĽŽ
ă“ă®ć©źč˝ă‚’ç„ˇĺŠąĺŚ–ă™ă‚‹ă«ăŻďĽŚä»–ă®OpenTypeć©źč˝ă¨ĺŚăă‚ă†ă«\texttt{-ltjpci}ćŚ‡ĺ®šă‚’čˇŚăă°č‰Żă„ďĽ\autoref{fig:ltjpci}ĺŹ‚ç…§ďĽ‰ďĽŽ
\texttt{ltjksp}ă¨ĺŚć§ă«ďĽŚ\texttt{-ltjpci}, \texttt{+ltjpci}ă‚’č¤‡ć•°ĺ›žćŚ‡ĺ®šă—ăźĺ&nbsp;´ĺăŻďĽŚ
ćś€ĺľŚă«ćŚ‡ĺ®šă—ăźă‚‚ă®ăŚćś‰ĺŠąă¨ăŞă‚‹ďĽŽ
%&lt;/ja&gt;
%&lt;*en&gt;
\paragraph{\texttt{ltjpci} ``feature''}
\label{pg:ltjpci}
By default, The \Pkg{luaotfload} package (since v3.19) normalizes Unicode sequences to NFC.
However, this normalization converts CJK compatibility ideographs to their canonical equivalents,
such as ``\UTF{FA19}''~(\texttt{U+FA19}) to ``çĄž''. One can use variation selectors,
but old fonts does not support them.

So, \emph{\LuaTeX-ja now protects CJK compatibility ideographs from processing
 by the \Pkg{luaotfload} package by defualt}.
This functionality is disabled by \mbox{\texttt{-ltjpci}} specification,
as shown in~\autoref{fig:ltjpci}.
%&lt;/en&gt;
\begin{figure}
\begin{LTXexample}[width=12\zw]
\def\TEST{\leavevmode\char"FA10\char"FA12\char"FA15
  \char"FA19.ă‹\char"3099.ăŻ\char"309A.\par}
\jfont\A=HaranoAjiMincho-Regular:jfm=ujis; at 15pt
\A\TEST % default
\jfont\G=HaranoAjiMincho-Regular:jfm=ujis;-ltjpci at 15pt
\G\TEST % ltjpci off
\jfont\H=HaranoAjiMincho-Regular:jfm=ujis;-normalize at 15pt
\H\TEST % normalization off
\end{LTXexample}
\caption{\texttt{ltjpci} ``feature''}
\label{fig:ltjpci}
\end{figure}

%&lt;en&gt;\subsection{\cs{tfont}}
%&lt;ja&gt;\subsection{\cs{tfont} ĺ‘˝ä»¤}
\label{ssec:tfont}

\begin{comment}
\begin{table}[t]
%&lt;en&gt;\caption{Differences between vertical JFMs shipped with \LuaTeX-ja}
%&lt;ja&gt;\caption{\LuaTeX-ja ă«ĺŚć˘±ă•ă‚Śă¦ă„ă‚‹ç¸¦çµ„ç”¨ JFM ă®é•ă„}
%&lt;en&gt;\medskip
\label{tab-difjfm-tate}
\ltjsetparameter{jacharrange={+3}}
\small
\def\r#1#2{%
  \hbox{\tate\Large\vrule
  \parbox{7\zw}{%
    \addjfontfeatures{TateFeatures={JFM=#1}}\noindent
	\color{#2}\transparent{0.5}
    â—†â—†â—†â—†â—†â—†â—†
    ă‚ă‚‹ć—Ąă˘ă˘ăˇă‚ă‚“ăŚă€ŚăŠä˝żă„ă€Ťă§čż·ĺ­ă«ăŞăŁă¦ćłŁăŤăľă—ăźă€‚
  }\vrule}}
\def\s#1#2{%
  \hbox{\tate\Large
  \parbox{7\zw}{%
    \addjfontfeatures{TateFeatures={JFM=#1}}\noindent
	\color{#2}\transparent{0.5}
    ăˇă‚‡ăŁă¨ďĽä˝•
  }}}
\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}
\end{comment}

%&lt;*en&gt;
\cs{tfont} loads a font as a Japanese font for vertical direction.
This command admits the same syntax as in \cs{font}~and~\cs{jfont}.
A font defined by~\cs{tfont} differs the following points from that by~\cs{jfont}:
\begin{itemize}
 \item OpenType Feature~\texttt{vrt2}%
  \footnote{If the font does not define the \texttt{vrt2} feature,
	\texttt{vert} is used instead.} is automatically activated,
  unless \texttt{vert}~and//or~\texttt{vrt2} features are explicitly activated
  or deactivated (as the second line in the example below).
\begin{lstlisting}
\tfont\S=HaranoAjiMincho-Regular:jfm=ujisv % vrt2 is automatically activated
\tfont\T=HaranoAjiMincho-Regular:jfm=ujisv;-vert % vert and vrt2 are not activated
\tfont\U=file:ipaexm.ttf:jfm=ujisv
    % vert is automatically activated, since this font does not have vrt2
\end{lstlisting}
 \item Sometimes \texttt{vert} and/or \texttt{vrt2} are not activated
 while one specified activation of these feature.
 This is because the font does not define these features in current combination of
 script~tag and language~system~identifier.

 In this situation, \LuaTeX-ja performs all replacements which is defined in~\texttt{vert}
 feature for \emph{some} scripts for \emph{some} languages.
 \item \cs{tfont} uses a vertical JFM instead of a horizontal JFM.
\LuaTeX-ja ships following vertical JFMs:
\begin{description}
\item[\texttt{jfm-ujisv.lua}] A standard vertical JFM in \LuaTeX-ja. This JFM is
  based on \verb+upnmlminr-v.tfm+, a metric for UTF/OTF package that
  is used in \upTeX.
\item[\texttt{jfm-tmin.lua}] A counterpart for \verb+tmin10.tfm+, which is one
  of the default Japanese font metric shipped with \pTeX.
\end{description}
\begin{figure}[!tb]
\begin{LTXexample}[pos=b]
\jfont\X=[HaranoAjiMincho-Regular.otf]:jfm=ujis
\tfont\U=[HaranoAjiMincho-Regular.otf]:jfm=ujisv
\tfont\V=[HaranoAjiMincho-Regular.otf]:jfm=ujisv;jpotf
\def\TEST#1#2{\leavevmode\hbox{#1#2\string#2 â€śĺĽ•ç”¨ďĽŚă¨ĺŹĄčŞ­ç‚ąďĽŽâ€ť}}
\ttfamily\centering\TEST\yoko\X \quad \TEST\tate\U \quad \TEST\tate\V
\end{LTXexample}
\caption{\texttt{jpotf} ``feature''}
\label{fig:jpotf}
\end{figure}
  
 \item If \texttt{vert}~and/or~\texttt{vrt2} features are activated,
  one can specify \texttt{jpotf} to additional substitutions.
  By default, it substitutes ideographic comma/period for fullwidth comma/period,
  and double prime quotation marks for double quotation marks
  (See~\autoref{fig:jpotf}).
  One can customize substitutions by lua~function \verb+luatexja.jfont.register_vert_replace+\ %
  (see Japanese version of this manual).
\end{itemize}
%&lt;/en&gt;
%&lt;*ja&gt;
\cs{tfont} ăŻă•ă‚©ăłăă‚’ç¸¦çµ„ç”¨ă®ĺ’Ść–‡ă•ă‚©ăłăă¨ă—ă¦čŞ­ăżčľĽă‚€ĺ‘˝ä»¤ă§ă‚ă‚ŠďĽŚ
\cs{tfont}ă®ć§‹ć–‡ăŻ\cs{jfont}ă¨ĺŚć§ă§ă‚ă‚‹ďĽŽ
\cs{tfont}ă§ĺ®šçľ©ă•ă‚Śăźç¸¦çµ„ç”¨ĺ’Ść–‡ă•ă‚©ăłăăŻďĽŚ
ä»Ąä¸‹ă®ç‚ąăŚ\cs{jfont}ă«ă‚ă‚‹ć¨Şçµ„ç”¨ĺ’Ść–‡ă•ă‚©ăłăă¨ăŻç•°ăŞă‚‹ďĽš
\begin{itemize}
 \item ćŽç¤şçš„ă«OpenTypeć©źč˝\texttt{vert}, \texttt{vrt2}ďĽă®ă„ăšă‚Śă‹ďĽ‰ă®
  ćś‰ĺŠąă»ç„ˇĺŠąă‚’ćŚ‡ĺ®šă—ăźĺ&nbsp;´ĺă‚’é™¤ăŤďĽŚč‡Şĺ‹•çš„ă«OpenTypeć©źč˝\texttt{vrt2}ă®ćś‰ĺŠąĺŚ–ăŚ
  ćŚ‡ĺ®šă•ă‚Śăźă‚‚ă®ă¨ăżăŞă•ă‚Śă‚‹
 \footnote{ă‚‚ă—ă•ă‚©ăłăăŚ\texttt{vrt2}ă‚’ĺ®šçľ©ă—ă¦ă„ăŞă‹ăŁăźĺ&nbsp;´ĺďĽŚä»Łă‚Źă‚Šă«
 \texttt{vert}ă‚’ç”¨ă„ă‚‹ďĽŽ}ďĽŽ
\begin{lstlisting}
\tfont\S=HaranoAjiMincho-Regular:jfm=ujisv % vrt2 is automatically activated
\tfont\T=HaranoAjiMincho-Regular:jfm=ujisv;-vert % vert and vrt2 are not activated
\tfont\U=file:ipaexm.ttf:jfm=ujisv
    % vert is automatically activated, since this font does not have vrt2
\end{lstlisting}
 \item \texttt{vert}, \texttt{vrt2}ă®ĺ°‘ăŞăŹă¨ă‚‚ä¸€ă¤ă®ćś‰ĺŠąă‚’ćŚ‡ĺ®šă—ăźĺ&nbsp;´ĺă«ă‚‚é–˘ă‚Źă‚‰ăšďĽŚ
  script tagă¨language system identifieră®ĺ€¤ă®çµ„ăżĺă‚Źă›ă«ă‚ăŁă¦
  ĺ®źéš›ă«ăŻćś‰ĺŠąă«ăŞă‚‰ăŞă‹ăŁăźĺ&nbsp;´ĺďĽŚ\LuaTeX-jaăŻ
 \begin{quote}
   ă©ă‚Śă‹ă®script,~languageă§ĺ®šçľ©ă•ă‚Śă¦ă„ă‚‹\texttt{vert}ă«ă‚ă‚‹
   ďĽĺŤä¸€ă‚°ăŞă•ă‹ă‚‰ĺŤä¸€ă‚°ăŞă•ă¸ă®ďĽ‰ç˝®ćŹ›ă‚’ĺ…¨é¨é©ç”¨ă™ă‚‹
 \end{quote}
  ă¨ă„ă†ćŚ™ĺ‹•ă‚’ĺŹ–ă‚‹\footnote{%
  äľ‹ăă°ďĽŚWindows~7ă«ä»ĺ±žă—ă¦ă„ă‚‹SimHeiă§ăŻďĽŚ\texttt{vert}ăŻScriptăŚ\texttt{hani}ďĽŚ
  LanguageăŚ\texttt{CHN}ă¨ă„ă†çŠ¶ćłă§ă®ăżĺ®šçľ©ă•ă‚Śă¦ă„ă‚‹ďĽŽă—ă‹ă—ďĽŚ\Pkg{luaotfload}ă§ăŻ
  ă“ă®script,~languageă®çµ„ăżĺă‚Źă›ă‚’ćŚ‡ĺ®šă™ă‚‹ă“ă¨ăŻă§ăŤăŞă„ă®ă§ďĽŚ
  \Pkg{luaotfload}ăťă®ăľăľă§ăŻ\texttt{vert}ă‚’é©ç”¨ă•ă›ă‚‹ă“ă¨ăŻă§ăŤăŞă„ďĽŽ
 }ďĽŽ
 \item ă•ă‚‰ă«ďĽŚç˝®ćŹ›ĺ‰Ťă¨ç˝®ćŹ›ĺľŚă®ă‚°ăŞă•ăŚă©ăˇă‚‰ă‚‚ă€ŚUAX~\#50ă§``r''ă‚‚ă—ăŹăŻ``Tr''ă¨ćŚ‡ĺ®šă•ă‚Śă¦ă„ă‚‹ă€Ťă‚‚ă®ăŻ90ĺş¦č‡Şĺ‹•ĺ›žč»˘ă•ă›ă‚‹ďĽŽ
 \item \ref{ssec:math}çŻ€ă§čż°ăąă‚‹ďĽŚć•°ĺĽŹä¸­ă®ĺ’Ść–‡ă•ă‚©ăłăă«ăŻç¸¦çµ„ç”¨ĺ’Ść–‡ă•ă‚©ăłăăŻćŚ‡ĺ®šă§ăŤăŞă„ďĽŽ
 \item \meta{JFM name}ă«ăŻç¸¦çµ„ç”¨JFMă‚’ćŚ‡ĺ®šă™ă‚‹ďĽŽ
ä»Ąä¸‹ă®ç¸¦çµ„ç”¨JFMăŚ\LuaTeX-jaă«ăŻĺŚć˘±ă•ă‚Śă¦ă„ă‚‹ďĽŽ%ăŠă‚ŠďĽŚé•ă„ă‚’\autoref{tab-difjfm-tate}ă«ç¤şă—ăźďĽŽ
\begin{description}
\item[\texttt{jfm-ujisv.lua}] \LuaTeX-jaă®ć¨™ćş–ç¸¦çµ„ç”¨JFMă§ă‚ă‚‹ďĽŽă“ă®JFMăŻ\upTeX ă§
  ç”¨ă„ă‚‰ă‚Śă‚‹UTF/OTFă‘ăă‚±ăĽă‚¸ç”¨ă®ĺ’Ść–‡ç”¨TFMă§ă‚ă‚‹ \verb+upnmlminr-v.tfm+ ă‚’
  ĺ…ă«ă—ă¦ă„ă‚‹ďĽŽ
\item[\texttt{jfm-tmin.lua}] \pTeX ă«ĺŚć˘±ă•ă‚Śă¦ă„ă‚‹ă‡ă•ă‚©ă«ăă®ĺ’Ść–‡ç”¨ç¸¦çµ„TFM
  ă§ă‚ă‚‹ \verb+tmin10.tfm+ ă«ç›¸ĺ˝“ă—ďĽŚ\texttt{min10.tfm} ă¨ĺŚć§ă«
  ă€ŚăŁă€ŤăŞă©ä¸€é¨ă®ć–‡ĺ­—ĺą…ăŚç‹­ă‚ă‚‰ă‚Śă¦ă„ă‚‹ďĽŽ
\end{description}

\begin{figure}[!tb]
\begin{LTXexample}[pos=r,width=.4\textwidth]
\jfont\X=[HaranoAjiMincho-Regular.otf]:jfm=ujis
\tfont\U=[HaranoAjiMincho-Regular.otf]:jfm=ujisv
\tfont\V=[HaranoAjiMincho-Regular.otf]:jfm=ujisv;jpotf
\def\TEST#1#2{\leavevmode
  \hbox{#1#2\string#2 â€śĺĽ•ç”¨ďĽŚă¨ĺŹĄčŞ­ç‚ąďĽŽâ€ť}}
\ttfamily\centering
\TEST\yoko\X\quad \TEST\tate\U\quad
\TEST\tate\V
\end{LTXexample}
\caption{\texttt{jpotf} ``feature''}
\label{fig:jpotf}
\end{figure}
\begin{table}[t]
  \def\D#1#2#3#4{%
	{\fboxsep0pt\fcolorbox{cyan}{white}%
    {\large\lower-\cdp\hbox{\tate\ltjjachar"#1#2#3#4}}}\ (\texttt{U+#1#2#3#4})%"
  }
  \caption{\texttt{jpotf}ăŚćŚ‡ĺ®šă•ă‚Śăźéš›ă«čˇŚă‚Źă‚Śă‚‹čż˝ĺŠ&nbsp;ă®ç¸¦çµ„ĺ˝˘ă¸ă®ç˝®ćŹ›}
  \label{tab:vert_replace_jpotf}\small\centering
  \begin{tabular}{*{2}{l@{}&gt;{${}\longmapsto{}$}c@{}l}}
	\toprule
	\D FF0C&amp;&amp;\D 3001&amp;\D FF0E&amp;&amp;\D 3002\\
	\D 201C&amp;&amp;\D 301D&amp;\D 201D&amp;&amp;\D 301F\\
	\bottomrule
  \end{tabular}
\end{table}

 \item \texttt{vert}, \texttt{vrt2}ă®ĺ°‘ăŞăŹă¨ă‚‚ç‰‡ć–ąăŚďĽćŽç¤şçš„ă»č‡Şĺ‹•çš„ă‚’ĺ•Źă‚ŹăšďĽ‰
  ćś‰ĺŠąă«ăŞăŁă¦ă„ăźĺ&nbsp;´ĺďĽŚă•ă‚‰ă«\texttt{jpotf}ă‚’ćŚ‡ĺ®šă™ă‚‹ă“ă¨ă§
  ă€Śé€šĺ¸¸ă§ăŻčˇŚă‚ŹăŞă„ç¸¦çµ„ç”¨ĺ­—ĺ˝˘ă¸ă®ç˝®ćŹ›ă€Ťă‚’čˇŚă†ă“ă¨ăŚă§ăŤă‚‹ďĽŽ
  
  ć¨™ćş–ă§ăŻďĽŚ\autoref{tab:vert_replace_jpotf}ă«ç¤şă—ăźç˝®ćŹ›ăŚç™»éŚ˛ă•ă‚Śă¦ă„ă‚‹
  \footnote{%
	\texttt{jpotf}ă¨ă„ă†ĺŤĺ‰Ťă«ă—ăźă®ăŻďĽŚ
	OTFă‘ăă‚±ăĽă‚¸ă®ç¸¦çµ„ç”¨ĺ’Ść–‡TFMă§ă»ăĽĺŚăă®ĺ‡¦ç†ďĽăťăˇă‚‰ă§ăŻă•ă‚‰ă«ä¸€é‡ŤĺĽ•ç”¨ç¬¦ă‚’
	ă€Śă‚·ăłă‚°ă«ăźă‹ăĄăĽăă€Ťă«ç˝®ćŹ›ă™ă‚‹ć©źč˝ă‚‚ă‚ăŁăźďĽ‰ă‚’čˇŚăŁă¦ă„ăźă“ă¨ă«ç”±ćťĄă™ă‚‹ďĽŽ
  }ďĽŽĺ®źčˇŚäľ‹ăŻ\autoref{fig:jpotf}ă‚’ĺŹ‚ç…§ďĽŽ

  ă¦ăĽă‚¶ĺ´ă§ă€Śç˝®ćŹ›ă€Ťă‚’ă‚«ă‚ąă‚żăžă‚¤ă‚şă—ăźă„ĺ&nbsp;´ĺďĽŚ
  \verb+luatexja.jfont.register_vert_replace+é–˘ć•°ă«ĺ¤‰ć›´ĺ†…ĺ®ąă‚’č¨ă—ăźă†ăĽă–ă«ă‚’ć¸ˇă™ďĽŽ
  äľ‹ăă°ç˝®ćŹ›$i_1\longmapsto v_1$, $i_2\longmapsto v_2$,~$\dots$ă‚’ç™»éŚ˛ă™ă‚‹ĺ&nbsp;´ĺăŻ
	\begin{lstlisting}[escapechar=\!]
\directlua{luatexja.jfont.register_vert_replace{[!$i_1$!]=!$v_1$!, [!$i_2$!]=!$v_2$!, ...}}
	\end{lstlisting}
  ă‚’ĺ®źčˇŚă™ă‚‹ďĽŽ
  \verb+luatexja.jfont.register_vert_replace+ă«ă‚ă‚‹ĺ¤‰ć›´ăŻă“ă®é–˘ć•°ă®\emph{ĺ®źčˇŚĺľŚ}ă«ĺ®šçľ©ă•ă‚Śă‚‹
  ă•ă‚©ăłăă«ă¤ă„ă¦ă®ăżćś‰ĺŠąă§ă‚ă‚‹ďĽŽ
  
\end{itemize}

ăŞăŠďĽŚ\pTeX ă§ăŻďĽŚ\cs{font},~\cs{jfont},~\cs{tfont}ă®ă©ă‚Śă§ă‚‚ć¬§ć–‡ă•ă‚©ăłăă»ć¨Şçµ„ç”¨ĺ’Ść–‡ă•ă‚©ăł
ăă»ç¸¦çµ„ç”¨ĺ’Ść–‡ă•ă‚©ăłăă®ĺ®šçľ©ăŚĺŹŻč˝ă§ă‚ăŁăźăŚďĽŚ\LuaTeX-jaă§ăŻăťă†ă§ăŞă„ă®ă§ćł¨ć„ŹďĽŽ
%&lt;/ja&gt;

%&lt;en&gt;\subsection{Default Japanese fonts and JFMs}
%&lt;ja&gt;\subsection{ć¨™ćş–ĺ’Ść–‡ă•ă‚©ăłăă»JFMă®ĺ¤‰ć›´}
\label{ssec:cfg}
%&lt;*en&gt;
If following commands are defined at loading \LuaTeX-ja package, these change
default Japanese fonts and JFMs for them:
%&lt;/en&gt;
%&lt;*ja&gt;
\LuaTeX-jaăŚčŞ­ăżčľĽăľă‚Śă‚‹ĺ‰Ťă«ä»Ąä¸‹ă®ĺ‘˝ä»¤ăŚĺ®šçľ©ă•ă‚Śă¦ă„ăźĺ&nbsp;´ĺăŻďĽŚ
ăťă‚Śă‚‰ăŚć¨™ćş–ĺ’Ść–‡ă•ă‚©ăłăă‚„ăťă‚Śă‚‰ă«ç”¨ă„ă‚‹JFMă¨ă—ă¦ä˝żă‚Źă‚Śă‚‹ďĽŽ
%&lt;/ja&gt;

\begin{cslist}[style=standard]
  \item[\cs{ltj@stdmcfont}] 
%&lt;en&gt;The default Japanese font for the mincho family.
%&lt;ja&gt;ćŽćśťä˝“ă¨ă—ă¦ç”¨ă„ă‚‹ă•ă‚©ăłăďĽŽ
  \item[\cs{ltj@stdgtfont}]
%&lt;en&gt;The default Japanese font for the gothic family.
%&lt;ja&gt;ă‚´ă‚·ăă‚Żä˝“ă¨ă—ă¦ç”¨ă„ă‚‹ă•ă‚©ăłăďĽŽ
  \item[\cs{ltj@stdyokojfm}]
%&lt;en&gt;The default JFM for horizontal direction.
%&lt;ja&gt;ć¨™ćş–ă§ç”¨ă„ă‚‹ć¨Şçµ„ç”¨JFMďĽŽ
  \item[\cs{ltj@stdtatejfm}]
%&lt;en&gt;The default JFM for vertical direction.
%&lt;ja&gt;ć¨™ćş–ă§ç”¨ă„ă‚‹ç¸¦çµ„ç”¨JFMďĽŽ
\end{cslist}

%&lt;*en&gt;
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
Harano Aji fonts.
%IPAex~Mincho and IPAex~Gothic.

This feature is intended for classes which use special JFMs%
\footnote{This is because commands has \texttt{@} in their names.}.
It is recommended to use \cs{luatexja-preset}~or~\cs{luatexja-fontspec} package
to select standard fonts in ordinary \LaTeX\ sources.
%&lt;/en&gt;
%&lt;*ja&gt;
äľ‹ăă°
\begin{lstlisting}
\def\ltj@stdmcfont{IPAMincho}
\def\ltj@stdgtfont{IPAGothic}
\end{lstlisting}
ă¨č¨čż°ă—ă¦ăŠă‘ă°ďĽŚć¨™ćş–ĺ’Ść–‡ă•ă‚©ăłăăŚIPAćŽćśťă»IPAă‚´ă‚·ăă‚Żă¸ă¨ĺ¤‰
ć›´ă•ă‚Śă‚‹ďĽŽ

ă“ă®ć©źč˝ăŻďĽŚç‰ąĺĄă®JFMă‚’ç”¨ă„ă‚‹ă‚Żă©ă‚ą
\footnote{äľ‹ăă°éżé¨ç´€čˇŚć°Źă«ă‚ă‚‹jlreqăŚăťă‚Śă«ă‚ăźă‚‹ďĽŽ}%
ăŞă©ă§ă®ä˝żç”¨ă‚’ć„Źĺ›łă—ă¦ăŠă‚ŠďĽŚĺ‘˝ä»¤ĺŤă«\texttt{@}ăŚĺ«ăľă‚Śă‚‹ă“ă¨ă‹ă‚‰
é€šĺ¸¸ă®\TeX/\LaTeX ć–‡ć›¸ă§ă®ä˝żç”¨ăŻć„Źĺ›łă—ă¦ă„ăŞă„ďĽŽ
é€šĺ¸¸ă®\LaTeX ć–‡ć›¸ă§ăŻ\Pkg{luatexja-preset}ă‚„\Pkg{luatexja-fontspec}ăŞă©ă§
ä˝żç”¨ă•ă‚©ăłăă‚’é¸ćŠžă™ă‚‹ă“ă¨ă‚’ćŽ¨ĺĄ¨ă™ă‚‹ďĽŽ
%&lt;/ja&gt;

%&lt;*en&gt;
For compatibility with earlier versions,
\LuaTeX-ja reads  \texttt{luatexja.cfg} automatically if it is found by \LuaTeX.
One should not overuse this \texttt{luatexja.cfg}; it will overwrite
the definition of \cs{ltj@stdmcfont} and others.
%&lt;/en&gt;
%&lt;*ja&gt;
ć—§ăăĽă‚¸ă§ăłă¨ă®äş’ćŹ›ć€§ă®ăźă‚ďĽŚ
\LuaTeX ă‹ă‚‰č¦‹ăă‚‹ä˝Ťç˝®ă«\texttt{luatexja.cfg}ăŚă‚ă‚Śă°ďĽŚ\LuaTeX-jaăŻăťă‚Śă‚’čŞ­ăżčľĽă‚€ďĽŽ
ă—ă‹ă—ďĽŚ\texttt{luatexja.cfg}ĺ†…ă§\cs{ltj@stdmcfont}ç­‰ăŚĺ®šçľ©ă•ă‚Śă¦ă„ăźĺ&nbsp;´ĺăŻăťăˇă‚‰ăŚ
ĺ„Şĺ…ă•ă‚Śă‚‹ă®ă§ďĽŚă‚‚ăŻă‚„\texttt{luatexja.cfg}ăŻä˝żă‚ŹăŞă„ă»ă†ăŚč‰Żă„ă&nbsp;ă‚Ťă†ďĽŽ
%&lt;/ja&gt;

%&lt;en&gt;\subsection{Prefix \texttt{psft}}
%&lt;ja&gt;\subsection{\texttt{psft}ă—ăŞă•ă‚Łăă‚Żă‚ą}
\label{ssec:psft}
%&lt;*en&gt;
Besides ``\texttt{file}''\ and ``\texttt{name}''\ prefixes which
are introduced in the \Pkg{luaotfload} package,
\LuaTeX-ja adds ``\texttt{psft}''\ prefix in \cs{jfont} (and~\cs{font}),
to specify a ``name-only'' Japanese font which
will not be embedded to PDF.
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 ``\texttt{+jp90}'',
have no meaning in name-only fonts using ``\texttt{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.
%&lt;/en&gt;
%&lt;*ja&gt;
\Pkg{luaotfload}ă§ä˝żç”¨ĺŹŻč˝ă«ăŞăŁăź
\texttt{file}\ ă¨ \texttt{name}\ ă®ă—ăŞă•ă‚Łăă‚Żă‚ąă«ĺŠ&nbsp;ăă¦ďĽŚ
\cs{jfont}ďĽă¨ \cs{font} ă—ăŞăźă†ă‚Łă–ďĽ‰ă§ăŻ
\texttt{psft}\ ă—ăŞă•ă‚Łăă‚Żă‚ąă‚’ç”¨ă„ă‚‹ă“ă¨ăŚă§ăŤă‚‹ďĽŽ
ă“ă®ă—ăŞă•ă‚Łăă‚Żă‚ąă‚’ç”¨ă„ă‚‹ă“ă¨ă§ďĽŚPDFă«ăŻĺź‹ă‚čľĽăľă‚ŚăŞă„ă€ŚĺŤĺ‰Ťă&nbsp;ă‘ă®ă€Ť
ĺ’Ść–‡ă•ă‚©ăłăă‚’ćŚ‡ĺ®šă™ă‚‹ă“ă¨ăŚă§ăŤă‚‹ďĽŽ
ăŞăŠďĽŚçŹľčˇŚă®\LuaTeX ă§éťžĺź‹ă‚čľĽăżă•ă‚©ăłăă‚’ä˝śćă™ă‚‹ă¨PDFĺ†…ă§ă®ă‚¨ăłă‚łăĽă‡ă‚Łăłă‚°ăŚ
Identity-Hă¨ăŞă‚ŠďĽŚPDFă®ć¨™ćş–č¦Źć&nbsp;ĽISO32000-1:2008~(\cite{pdfstd})ă«éťžćş–ć‹&nbsp;ă«ăŞăŁă¦ă—ăľă†
ă®ă§ćł¨ć„Źă—ă¦ă»ă—ă„ďĽŽ

\emph{\texttt{psft} ă—ăŞă•ă‚Łăă‚Żă‚ąă®ä¸‹ă§ăŻ
\texttt{+jp90} ăŞă©ă®OpenTypeć©źč˝ă®ĺŠąĺŠ›ăŻăŞă„ďĽŽ
éťžĺź‹čľĽă•ă‚©ăłăă‚’PDFă«ä˝żç”¨ă™ă‚‹ă¨ďĽŚĺ®źéš›ă«ă©ă®ă‚ă†ăŞă•ă‚©ăłăăŚ
čˇ¨ç¤şă«ç”¨ă„ă‚‰ă‚Śă‚‹ă‹äşć¸¬ă§ăŤăŞă„ă‹ă‚‰ă§ă‚ă‚‹ďĽŽ}\
\texttt{extend} ă¨ \texttt{slant} ćŚ‡ĺ®šăŻĺŤăŞă‚‹ĺ¤‰ĺ˝˘ă®ăźă‚
\texttt{psft} ă—ăŞă•ă‚Łăă‚Żă‚ąă§ă‚‚ä˝żç”¨ĺŹŻč˝ă§ă‚ă‚‹ďĽŽ
%&lt;/ja&gt;

%&lt;en&gt;\paragraph{\texttt{cid} key}
%&lt;ja&gt;\paragraph{\texttt{cid}ă‚­ăĽ}
\label{para-cid}

%&lt;*en&gt;
The default font defined by using \texttt{psft} prefix is for Japanese typesetting;
it is Adobe-Japan1-7 CID-keyed font.
One can specify \texttt{cid} key to use other CID-keyed non-embedded fonts
for Chinese or Korean typesetting.
%&lt;/en&gt;
%&lt;*ja&gt;
ć¨™ćş–ă§\texttt{psft}\ ă—ăŞă•ă‚Łăă‚Żă‚ąă§ĺ®šçľ©ă•ă‚Śă‚‹ă•ă‚©ăłăăŻć—Ąćś¬čŞžç”¨ă®ă‚‚ă®ă§
ă‚ă‚ŠďĽŚAdobe-Japan1-7ă®CIDă«ĺŻľĺżśă—ăźă‚‚ă®ă¨ăŞă‚‹ďĽŽă—ă‹ă—ďĽŚ\LuaTeX-jaăŻä¸­ĺ›˝čŞž
ă®çµ„ç‰ă«ă‚‚ĺ¨ĺŠ›ă‚’ç™şćŹ®ă™ă‚‹ă“ă¨ăŚĺ†ă‹ă‚ŠďĽŚć—Ąćś¬čŞžă•ă‚©ăłăă§ăŞă„éťžĺź‹čľĽă•ă‚©ăłă
ă®ĺŻľĺżśă‚‚ĺż…č¦ă¨ăŞăŁăźďĽŽăťă®ăźă‚ă«čż˝ĺŠ&nbsp;ă•ă‚Śăźă®ăŚ\texttt{cid}ă‚­ăĽă§ă‚ă‚‹ďĽŽ

\texttt{cid}ă‚­ăĽă«ĺ€¤ă‚’ćŚ‡ĺ®šă™ă‚‹ă¨ďĽŚăťă®CIDă‚’ćŚăŁăźéťžĺź‹čľĽă•ă‚©ăłăă‚’ĺ®šçľ©ă™ă‚‹ă“ă¨ăŚă§ăŤă‚‹ďĽš
%&lt;/ja&gt;
\begin{lstlisting}[numbers=left]
\jfont\testJ={psft:Ryumin-Light:cid=Adobe-Japan1-7;jfm=jis}    % Japanese
\jfont\testD={psft:Ryumin-Light:jfm=jis}                       % default: Adobe-Japan1-7
\jfont\testC={psft:AdobeMingStd-Light:cid=Adobe-CNS1-7;jfm=jis}% Traditional Chinese
\jfont\testG={psft:SimSun:cid=Adobe-GB1-6;jfm=jis}             % Simplified Chinese
\jfont\testK={psft:Batang:cid=Adobe-Korea1-2;jfm=jis}          % Korean
\jfont\testKR={psft:SourceHanSerifAKR9:cid=Adobe-KR-9;jfm=jis} % Korean
\end{lstlisting}
%&lt;*en&gt;
Note that the code above specifies \texttt{jfm-jis.lua}, which is for Japanese fonts,
as JFM for Chinese and Korean fonts.
%&lt;/en&gt;
%&lt;*ja&gt;
ä¸Šă®ă‚łăĽă‰ă§ăŻä¸­ĺ›˝čŞžă»éź“ĺ›˝čŞžç”¨ă•ă‚©ăłăă«ĺŻľă—ă¦ă‚‚JFMă«
ć—Ąćś¬čŞžç”¨ă®\texttt{jfm-jis.lua}ă‚’ćŚ‡ĺ®šă—ă¦ă„ă‚‹ă®ă§ćł¨ć„Źă•ă‚Śăźă„ďĽŽ
%&lt;/ja&gt;

%&lt;*en&gt;
At present, \LuaTeX-ja supports only 5 values written in the sample code above.
Specifying other values, e.g.,
%&lt;/en&gt;
%&lt;*ja&gt;
ä»Šă®ă¨ă“ă‚ŤďĽŚ\LuaTeX-jaăŻä¸Šă®ă‚µăłă—ă«ă‚łăĽă‰ä¸­ă«ć›¸ă„ăź5ă¤ă®ĺ€¤ă—ă‹ă‚µăťăĽăă—ă¦ă„ăŞă„ďĽŽ
%&lt;/ja&gt;
\begin{lstlisting}
\jfont\test={psft:Ryumin-Light:cid=Adobe-Japan2;jfm=jis}
\end{lstlisting}
%&lt;*en&gt;
produces the following error:
%&lt;/en&gt;
%&lt;*ja&gt;
ă®ă‚ă†ă«ăťă‚Śă‚‰ä»Ąĺ¤–ă®ĺ€¤ă‚’ćŚ‡ĺ®šă™ă‚‹ă¨ďĽŚă‚¨ă©ăĽăŚç™şç”źă™ă‚‹ďĽš
%&lt;/ja&gt;
\begin{lstlisting}[numbers=left]
! Package luatexja Error: bad cid key `Adobe-Japan2'.

See the luatexja package documentation for explanation.
Type  H &lt;return&gt;  for immediate help.
&lt;to be read again&gt;
                   \par
l.78

? h
I couldn't find any non-embedded font information for the CID
`Adobe-Japan2'. For now, I'll use `Adobe-Japan1-6'.
Please contact the LuaTeX-ja project team.
?
\end{lstlisting}

%&lt;en&gt;\subsection{Structure of a JFM file}
%&lt;ja&gt;\subsection{JFMă•ă‚ˇă‚¤ă«ă®ć§‹é€&nbsp;}
\label{ssec:jfm-str}
%&lt;en&gt;A JFM file is a Lua script which has only one function call:
%&lt;ja&gt;JFMă•ă‚ˇă‚¤ă«ăŻăźă&nbsp;ä¸€ă¤ă®é–˘ć•°ĺ‘Ľăłĺ‡şă—ă‚’ĺ«ă‚€Luaă‚ąă‚ŻăŞă—ăă§ă‚ă‚‹ďĽš
\begin{lstlisting}
luatexja.jfont.define_jfm { ... }
\end{lstlisting}
%&lt;*en&gt;
Real data are stored in the table which indicated above by
\verb+{ ... }+.  So, the rest of this subsection are devoted to describe the
structure of this table.  Note that all lengths in a JFM file are
floating-point numbers in design-size unit.
%&lt;/en&gt;
%&lt;*ja&gt;
ĺ®źéš›ă®ă‡ăĽă‚żăŻä¸Šă§ \verb+{ ... }+ ă§ç¤şă•ă‚Śăźă†ăĽă–ă«ă®ä¸­ă«ć&nbsp;Ľç´Ťă•ă‚Śă¦ă„ă‚‹ďĽŽ
ä»Ąä¸‹ă§ăŻă“ă®ă†ăĽă–ă«ă®ć§‹é€&nbsp;ă«ă¤ă„ă¦č¨ă™ďĽŽ
ăŞăŠďĽŚJFMă•ă‚ˇă‚¤ă«ä¸­ă®é•·ă•ăŻĺ…¨ă¦design sizeă‚’ĺŤä˝Ťă¨ă™ă‚‹ćµ®ĺ‹•ĺ°Źć•°ç‚ąć•°ă§ă‚ă‚‹ă“ă¨ă«
ćł¨ć„Źă™ă‚‹ďĽŽ
%&lt;/ja&gt;

\begin{cslist}[style=standard]

\item[version=\meta{version}]
%&lt;en&gt;(optional, default value is~1)
%&lt;ja&gt;ďĽä»»ć„ŹďĽŚć—˘ĺ®šĺ€¤ăŻ1ďĽ‰

%&lt;*en&gt;
The version JFM. Currently 1,~2,~and,~3 are supported
%&lt;/en&gt;
%&lt;*ja&gt;
JFMă®ăăĽă‚¸ă§ăłďĽŽ1,~2,~3ăŚă‚µăťăĽăă•ă‚Śă‚‹ďĽŽ
%&lt;/ja&gt;
  
\item[dir=\meta{direction}]
%&lt;en&gt;(required)
%&lt;ja&gt;ďĽĺż…é&nbsp;ďĽ‰

%&lt;*en&gt;
The direction of JFM. \texttt{'yoko'}~(horizontal)
or \texttt{'tate'}~(vertical) are supported.
%&lt;/en&gt;
%&lt;*ja&gt;
JFMă®ć›¸ĺ­—ć–ąĺ‘ďĽŽ\texttt{'yoko'}ďĽć¨Şçµ„ďĽ‰ă¨ \texttt{'tate'}ďĽç¸¦çµ„ďĽ‰ăŚă‚µăťăĽăă•ă‚Śă‚‹ďĽŽ
%&lt;/ja&gt;

\item[zw=\meta{length}]
%&lt;en&gt;(required)
%&lt;ja&gt;ďĽĺż…é&nbsp;ďĽ‰

%&lt;en&gt;The amount of the length of the ``full-width''.
%&lt;*ja&gt;
ă€Śĺ…¨č§’ĺą…ă€Ťă®é•·ă•ďĽŽă“ă®é‡ŹăŚ \cs{zw} ă®é•·ă•ă¨ăŞă‚‹ďĽŽ\pTeX ă§ăŻ
ă€Śĺ…¨č§’ĺą…ă€Ť\texttt{1zw} ăŻă€Ść–‡ĺ­—ă‚Żă©ă‚ą0ă®ć–‡ĺ­—ă€Ťă®ĺą…ă¨ć±şă‚ă‚‰ă‚Śă¦ă„ăźăŚďĽŚ
\LuaTeX-jaă§ăŻă“ă“ă§ćŚ‡ĺ®šă™ă‚‹ďĽŽ
%&lt;/ja&gt;

\item[zh=\meta{length}]
%&lt;en&gt;(required)
%&lt;ja&gt;ďĽĺż…é&nbsp;ďĽ‰

%&lt;en&gt;The amount of the ``full-height'' (height + depth).
%&lt;*ja&gt;
ă€Śĺ…¨č§’é«ă•ă€Ť(height + depth)ă®é•·ă•ďĽŽé€šĺ¸¸ăŻĺ…¨č§’ĺą…ă¨ĺŚăé•·ă•ă«ăŞă‚‹ă&nbsp;ă‚Ťă†ďĽŽ
\pTeX ă§ăŻ ă€Śĺ…¨č§’é«ă•ă€Ť\texttt{1zh} ăŻă€Ść–‡ĺ­—ă‚Żă©ă‚ą0ă®ć–‡ĺ­—ă€Ťă®é«ă•ă¨ć·±ă•ă®ĺ’Śă¨ć±şă‚ă‚‰ă‚Śă¦ă„ăźăŚďĽŚ
\LuaTeX-jaă§ăŻă“ă“ă§ćŚ‡ĺ®šă™ă‚‹ďĽŽ
%&lt;/ja&gt;

\item[kanjiskip=\{\meta{natural}, \meta{stretch}, \meta{shrink}\}]
%&lt;en&gt;(optional)
%&lt;ja&gt;ďĽä»»ć„ŹďĽ‰

%&lt;*en&gt;
This field specifies the ``ideal'' amount of \Param{kanjiskip}. As noted
	     in Subsection~\ref{subs-kskip}, if the parameter
	     \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 \meta{stretch} and \meta{shrink}
	     fields are in design-size unit too.
%&lt;/en&gt;
%&lt;*ja&gt;
ç†ćłçš„ăŞ\Param{kanjiskip}ă®é‡Źă‚’ćŚ‡ĺ®šă™ă‚‹ďĽŽ\ref{subs-kskip}çŻ€ă§čż°ăąăźă‚ă†ă«ďĽŚ
ă‚‚ă—\Param{kanjiskip}ăŚ \cs{maxdimen} ă®ĺ€¤ăŞă‚‰ă°ďĽŚă“ă®ă•ă‚ŁăĽă«ă‰ă§ćŚ‡ĺ®šă•ă‚Śăź
ĺ€¤ăŚĺ®źéš›ă«ăŻç”¨ă„ă‚‰ă‚Śă‚‹ďĽćŚ‡ĺ®šăŞă—ăŻ0\,ptă¨ă—ă¦ć‰±ă‚Źă‚Śă‚‹ďĽ‰ďĽŽ\meta{stretch}ă¨\meta{shrink}ă®ă•ă‚ŁăĽă«ă‰ă‚‚design size
ăŚĺŤä˝Ťă§ă‚ă‚‹ă“ă¨ă«ćł¨ć„Źă›ă‚ďĽŽ
%&lt;/ja&gt;

\item[xkanjiskip=\{\meta{natural}, \meta{stretch}, \meta{shrink}\}]
%&lt;en&gt;(optional)
%&lt;ja&gt;ďĽä»»ć„ŹďĽ‰

%&lt;*en&gt;
Like the \texttt{kanjiskip} field, this field specifies the ``ideal''
	     amount of \Param{xkanjiskip}.
%&lt;/en&gt;
%&lt;*ja&gt;
\texttt{kanjiskip}ă•ă‚ŁăĽă«ă‰ă¨ĺŚć§ă«ďĽŚ\Param{xkanjiskip}ă®ç†ćłçš„ăŞé‡Źă‚’
ćŚ‡ĺ®šă™ă‚‹ďĽŽ
%&lt;/ja&gt;
\end{cslist}

%&lt;*en&gt;
\paragraph{Character classes}
Besides from above fields, a JFM file have several sub-tables those
indices are natural numbers.  The table indexed by~$i\in\omega$ stores
information of \emph{character class}~$i$. At least, the character class~0 is
always present, so each JFM file must have a sub-table whose index is
\texttt{[0]}.  Each sub-table (its numerical index is denoted by $i$) has
the following fields:
%&lt;/en&gt;
%&lt;*ja&gt;
\paragraph{ć–‡ĺ­—ă‚Żă©ă‚ą}
ä¸Šč¨ă®ă•ă‚ŁăĽă«ă‰ă«ĺŠ&nbsp;ăă¦ďĽŚJFMă•ă‚ˇă‚¤ă«ăŻăťă®ă‚¤ăłă‡ăă‚Żă‚ąăŚč‡Şç„¶ć•°ă§ă‚ă‚‹ă„ăŹă¤ă‹ă®
ă‚µă–ă†ăĽă–ă«ă‚’ćŚă¤ďĽŽă‚¤ăłă‡ăă‚Żă‚ąăŚ$i\in\omega$ă§ă‚ă‚‹ă†ăĽă–ă«ăŻ\emph{ć–‡ĺ­—ă‚Żă©ă‚ą}$i$ă®
ć…ĺ&nbsp;±ă‚’ć&nbsp;Ľç´Ťă™ă‚‹ďĽŽĺ°‘ăŞăŹă¨ă‚‚ďĽŚć–‡ĺ­—ă‚Żă©ă‚ą0ăŻĺ¸¸ă«ĺ­ĺś¨ă™ă‚‹ă®ă§ďĽŚJFMă•ă‚ˇă‚¤ă«ăŻă‚¤ăłă‡ăă‚Żă‚ą
ăŚ\texttt{[0]}ă®ă‚µă–ă†ăĽă–ă«ă‚’ćŚăźăŞă‘ă‚Śă°ăŞă‚‰ăŞă„ďĽŽăťă‚Śăžă‚Śă®ă‚µă–ă†ăĽă–ă«
ďĽăťă®ă‚¤ăłă‡ăă‚Żă‚ąă‚’$i$ă§čˇ¨ă‚Źă™ďĽ‰ăŻä»Ąä¸‹ă®ă•ă‚ŁăĽă«ă‰ă‚’ćŚă¤ďĽš
%&lt;/ja&gt;

\begin{cslist}[style=standard]
\item[chars=\{\meta{character}, ...\}]
%&lt;en&gt;(required except character class~0)
%&lt;ja&gt;ďĽć–‡ĺ­—ă‚Żă©ă‚ą0ă‚’é™¤ă„ă¦ĺż…é&nbsp;ďĽ‰

%&lt;*en&gt;
This field is a list of characters which are in this character
	     type~$i$. This field is optional if $i=0$, since all
	     \textbf{JAchar} which do not belong  any character classes other
	     than 0 are in the character class 0
             (hence, the character class~0 contains most of
	     \textbf{JAchar}s). In the list, character(s) can be specified in the following form:
\begin{itemize}
\item a Unicode code point
\item the character itself (as a Lua string, like \hbox{\ltjsetparameter{autoxspacing=false}\verb+'ă‚'+})
\item a string like \hbox{\ltjsetparameter{autoxspacing=false}\verb+'ă‚*'+} (the character followed by an asterisk)
\item several ``imaginary'' characters (We will describe these later.)
\end{itemize}
%&lt;/en&gt;
%&lt;*ja&gt;
ă“ă®ă•ă‚ŁăĽă«ă‰ăŻć–‡ĺ­—ă‚Żă©ă‚ą$i$ă«ĺ±žă™ă‚‹ć–‡ĺ­—ă®ăŞă‚ąăă§ă‚ă‚‹ďĽŽă“ă®ă•ă‚ŁăĽă«ă‰ăŻ$i=0$ă®
ĺ&nbsp;´ĺă«ăŻä»»ć„Źă§ă‚ă‚‹ďĽć–‡ĺ­—ă‚Żă©ă‚ą0ă«ăŻďĽŚ0ä»Ąĺ¤–ă®ć–‡ĺ­—ă‚Żă©ă‚ąă«ĺ±žă™ă‚‹ă‚‚ă®ă‚’
é™¤ă„ăźĺ…¨ă¦ă®\textbf{JAchar}ăŚĺ±žă™ă‚‹ă‹ă‚‰ďĽ‰ďĽŽă“ă®ăŞă‚ąăä¸­ă§ć–‡ĺ­—ă‚’ćŚ‡ĺ®šă™ă‚‹ă«ăŻďĽŚä»Ąä¸‹ă®ć–ąćł•ăŚă‚ă‚‹ďĽš
\begin{itemize}
\item Unicode ă«ăŠă‘ă‚‹ă‚łăĽă‰ç•ŞĺŹ·
\item ă€Ś\hbox{\ltjsetparameter{autoxspacing=false}\verb+'ă‚'+}ă€Ťă®ă‚ă†ăŞďĽŚć–‡ĺ­—ăťă‚Śč‡Şä˝“
\item ă€Ś\hbox{\ltjsetparameter{autoxspacing=false}\verb+'ă‚*'+}ă€Ťă®ă‚ă†ăŞďĽŚć–‡ĺ­—ăťă‚Śč‡Şä˝“ă®ĺľŚă«ă‚˘ă‚ąă‚żăŞă‚ąă‚Żă‚’ă¤ă‘ăźă‚‚ă®
\item ă„ăŹă¤ă‹ă®ă€Śä»®ćłçš„ăŞć–‡ĺ­—ă€ŤďĽĺľŚă«čŞ¬ćŽă™ă‚‹ďĽ‰
\end{itemize}
%&lt;/ja&gt;

\item[width=\meta{length}, height=\meta{length}, depth=\meta{length}, italic=\meta{length}]
%&lt;en&gt;(required)
%&lt;ja&gt;ďĽĺż…é&nbsp;ďĽ‰

%&lt;*en&gt;
\begin{table}[t]
 \centering
\begin{tabular}{llr}
\toprule
Direction of JFM&amp;\textbf{\texttt{'yoko'} (horizontal)}&amp;\multicolumn{1}{l}{\textbf{\texttt{'tate'} (vertical)}}\\
\midrule
\texttt{width} field&amp;\multicolumn{2}{c}{the width of the ``real'' glyph}\\
\texttt{height} field&amp;the height of the ``real'' glyph&amp;0.0\\
\texttt{depth} field&amp;the depth of the ``real'' glyph&amp;0.0\\
\midrule
\texttt{italic} field&amp;\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 \autoref{tab-wid}.
%&lt;/en&gt;
%&lt;*ja&gt;
\begin{table}[t]
 \centering
\begin{tabular}{llr}
\toprule
JFMć›¸ĺ­—ć–ąĺ‘&amp;\emph{\texttt{'yoko'}ďĽć¨Şçµ„ďĽ‰}&amp;\multicolumn{1}{l}{\emph{\texttt{'tate'}ďĽç¸¦çµ„ďĽ‰}}\\
\midrule
\texttt{width}&amp;\multicolumn{2}{c}{ă€Śĺ®źéš›ă®ă‚°ăŞă•ă€Ťă®ĺą…}\\
\texttt{height}&amp;ă€Śĺ®źéš›ă®ă‚°ăŞă•ă€Ťă®é«ă•&amp;0.0\\
\texttt{depth}&amp;ă€Śĺ®źéš›ă®ă‚°ăŞă•ă€Ťă®ć·±ă•&amp;0.0\\
\midrule
\texttt{italic}&amp;\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} ă•ă‚ŁăĽă«ă‰ă«ăŻć•°ĺ€¤ä»Ąĺ¤–ă®ĺ€¤ă‚’ćŚ‡
	     ĺ®šă—ăźĺ&nbsp;´ĺďĽŚć–‡ĺ­—ă®ĺą…ăŻăťă®ă€Śĺ®źéš›ă®ă€Ťă‚°ăŞă•ă®ĺą…ă¨ăŞă‚‹ďĽŽOpenTypeă® \texttt{prop} featureă¨ä˝µç”¨
	     ă™ă‚Śă°ďĽŚă“ă‚Śă«ă‚ăŁă¦ă—ă­ăťăĽă‚·ă§ăŠă«çµ„ă‚’čˇŚă†ă“ă¨ăŚă§ăŤă‚‹ďĽŽ
%&lt;/ja&gt;

\item[left=\meta{length}, down=\meta{length}, align=\meta{align}]\

%&lt;*en&gt;
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
	     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
\autoref{fig:pos}~and~\autoref{fig:pos-tate}.
%&lt;/en&gt;
%&lt;*ja&gt;
ă“ă‚Śă‚‰ă®ă•ă‚ŁăĽă«ă‰ăŻĺ®źéš›ă®ă‚°ăŞă•ă®ä˝Ťç˝®ă‚’čŞżć•´ă™ă‚‹ăźă‚ă«ă‚ă‚‹ďĽŽ
\texttt{align} ă•ă‚ŁăĽă«ă‰ă«ćŚ‡ĺ®šă§ăŤă‚‹ĺ€¤ăŻ \texttt{'left'}, \texttt{'middle'},
\texttt{'right'} ă®ă„ăšă‚Śă‹ă§ă‚ă‚‹ďĽŽă‚‚ă—ă“ă‚Śă‚‰3ă¤ă®ă•ă‚ŁăĽă«ă‰ă®ă†ăˇă®1ă¤ăŚçśă‹ă‚Śăź
ĺ&nbsp;´ĺďĽŚ\texttt{left} ă¨ \texttt{down} ăŻ0ďĽŚ\texttt{align} ă•ă‚ŁăĽă«ă‰ăŻ
\ \texttt{'left'} ă§ă‚ă‚‹ă‚‚ă®ă¨ă—ă¦ć‰±ă‚Źă‚Śă‚‹ďĽŽ
ă“ă‚Śă‚‰3ă¤ă®ă•ă‚ŁăĽă«ă‰ă®ć„Źĺ‘łă«ă¤ă„ă¦ăŻ\autoref{fig:pos}ďĽć¨Şçµ„ç”¨ĺ’Ść–‡ă•ă‚©ăłăďĽ‰ďĽŚ
\autoref{fig:pos-tate}ďĽç¸¦çµ„ç”¨ĺ’Ść–‡ă•ă‚©ăłăďĽ‰ă§čŞ¬ćŽă™ă‚‹ďĽŽ
%&lt;/ja&gt;

%&lt;*en&gt;
In most cases, \texttt{left} and \texttt{down} fields are~0, while
it is not uncommon that the \texttt{align} field is \texttt{'middle'} or \texttt{'right'}.
For example, setting the \texttt{align} field to \texttt{'right'} is practically needed
when the current character class is the class for opening delimiters'.
%&lt;/en&gt;
%&lt;*ja&gt;
ĺ¤šăŹă®ĺ&nbsp;´ĺďĽŚ\texttt{left}ă¨\texttt{down}ăŻ0ă§ă‚ă‚‹ä¸€ć–ąďĽŚ
\texttt{align}ă•ă‚ŁăĽă«ă‰ăŚ\texttt{'middle'}ă‚„\texttt{'right'}ă§ă‚ă‚‹ă“ă¨ăŻ
çŹŤă—ă„ă“ă¨ă§ăŻăŞă„ďĽŽ
äľ‹ăă°ďĽŚ\texttt{align}ă•ă‚ŁăĽă«ă‰ă‚’\texttt{'right'}ă«ćŚ‡ĺ®šă™ă‚‹ă“ă¨ăŻďĽŚ
ć–‡ĺ­—ă‚Żă©ă‚ąăŚé–‹ăŤć‹¬ĺĽ§éˇžă§ă‚ă‚‹ă¨ăŤă«ĺ®źéš›ĺż…č¦ă§ă‚ă‚‹ďĽŽ
%&lt;/ja&gt;

\begin{figure}[!tb]
\begin{minipage}{0.4\textwidth}%
\begin{center}\unitlength=10pt\small
\begin{picture}(15,12)(-1,-4)
\color{b_gray}% jfm
\put(0,0){\vrule width 12\unitlength height 8\unitlength depth 3\unitlength}

\color{b_pink}% step1
\put(-1,-1.5){\vrule width 6\unitlength height 7\unitlength depth 2.5\unitlength}

\color{red}% real glyph
\thicklines
\put(-1,-1.5){\vector(0,1){7}\vector(0,-1){2.5}\vector(1,0){6}}
\put(5,-1.5){\line(0,1){7}\line(0,-1){2.5}}
\put(-1,5.5){\line(1,0){6}}
\put(-1,-4){\line(1,0){6}}

\color{b_green}% real glyph
\put(3,0){\vrule width 6\unitlength height 7\unitlength depth 2.5\unitlength}

\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}}
\put(0,8){\line(1,0){12}}
\put(0,-3){\line(1,0){12}}
\put(0.2,4){\makebox(0,0)[l]{\texttt{height}}}
\put(12.2,-1.5){\makebox(0,0)[l]{\texttt{depth}}}
\put(6,0.2){\makebox(0,0)[b]{\texttt{width}}}

\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}}
\put(3,7){\line(1,0){6}}
\put(3,-2.5){\line(1,0){6}}
\newsavebox{\eqdist}
\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(1.5,0){\usebox{\eqdist}}
\put(10.5,0){\usebox{\eqdist}}

\color{blue}% shifted
\thicklines
\put(3,-1.5){\vector(-1,0){4}}
\put(1,-1.7){\makebox(0,0)[t]{\texttt{left}}}
\put(3,0){\vector(0,-1){1.5}}
\put(3.2,-0.75){\makebox(0,0)[l]{\texttt{down}}}
\end{picture}
\end{center}
\end{minipage}%
\begin{minipage}{0.6\textwidth}%
%&lt;*en&gt;
Consider a  Japanese character node which belongs to
a character class whose the \texttt{align}
field is \texttt{'middle'}.
%&lt;/en&gt;
%&lt;*ja&gt;
\texttt{align}ă•ă‚ŁăĽă«ă‰ă®ĺ€¤ăŚ \texttt{'middle'} ă§ă‚ă‚‹ă‚ă†ăŞć–‡ĺ­—ă‚Żă©ă‚ąă«ĺ±žă™ă‚‹
ĺ’Ść–‡ć–‡ĺ­—ăŽăĽă‰ă‚’č€ăă‚ă†ďĽŽ
%&lt;/ja&gt;
\begin{itemize}
\item
%&lt;*en&gt;
The black rectangle is the imaginary body of the node.
Its width, height, and depth are specified by JFM.
%&lt;/en&gt;
%&lt;*ja&gt;
é»’č‰˛ă®é•·ć–ąĺ˝˘ăŻăŽăĽă‰ă®ćž&nbsp;ă§ă‚ă‚ŠďĽŚ
ăťă®ĺą…ďĽŚé«ă•ďĽŚć·±ă•ăŻJFMă«ă‚ăŁă¦ćŚ‡ĺ®šă•ă‚Śă¦ă„ă‚‹ďĽŽ
%&lt;/ja&gt;
\item
%&lt;*en&gt;
Since the \texttt{align} field is \texttt{'middle'},
the ``real'' glyph is centered horizontally (the green rectangle) first.
%&lt;/en&gt;
%&lt;*ja&gt;
\texttt{align}ă•ă‚ŁăĽă«ă‰ăŻ \texttt{'middle'} ăŞă®ă§ďĽŚ
ĺ®źéš›ă®ă‚°ăŞă•ă®ä˝Ťç˝®ăŻăľăšć°´ĺąłć–ąĺ‘ă«ä¸­ĺ¤®ćŹăă—ăźă‚‚ă®ă¨ăŞă‚‹ďĽç·‘č‰˛ă®é•·ć–ąĺ˝˘ďĽ‰ďĽŽ
%&lt;/ja&gt;
\item
%&lt;*en&gt;
Furthermore, the glyph is shifted according to values of fields
      \texttt{left} and \texttt{down}. The ultimate position of the real
      glyph is indicated by the red rectangle.
%&lt;/en&gt;
%&lt;*ja&gt;
ă•ă‚‰ă«ďĽŚă‚°ăŞă•ăŻ \texttt{left} ă¨ \texttt{down} ă®ĺ€¤ă«ĺľ“ăŁă¦ă‚·ă•ăă•ă‚Śă‚‹ďĽŽ
ćś€çµ‚çš„ăŞĺ®źéš›ă®ă‚°ăŞă•ă®ä˝Ťç˝®ăŻčµ¤č‰˛ă®é•·ć–ąĺ˝˘ă§ç¤şă•ă‚Śăźä˝Ťç˝®ă«ăŞă‚‹ďĽŽ
%&lt;/ja&gt;
\end{itemize}
\end{minipage}
\medskip

\caption{%
%&lt;en&gt;The position of the real glyph (horizontal Japanese fonts)
%&lt;ja&gt;ć¨Şçµ„ĺ’Ść–‡ă•ă‚©ăłăă«ăŠă‘ă‚‹ă€Śĺ®źéš›ă®ă€Ťă‚°ăŞă•ă®ä˝Ťç˝®
}
\label{fig:pos}
\end{figure}
\begin{figure}[!tb]
\begin{minipage}{0.4\textwidth}%
\begin{center}\unitlength=10pt\small
\begin{picture}(15,12)(-6,0)
\color{b_gray}% jfm
\put(-6,0){\vrule width 12\unitlength height 11\unitlength}

\color{b_pink}% real glyph
\put(-6.5,5.5){\vrule width 8\unitlength height 6\unitlength depth 3\unitlength}

\color{red}% real glyph
\thicklines
\put(-6.5,5.5){\vector(0,1){6}\vector(0,-1){3}\vector(1,0){8}}
\put( 1.5,5.5){\line(0,1){6}\line(0,-1){3}}
\put(-6.5,11.5){\line(1,0){8}}
\put(-6.5,2.5){\line(1,0){8}}

\color{b_green}% step1
\put(-4,3){\vrule width 8\unitlength height 6\unitlength depth 3\unitlength}

\color{black}% jfm
\thicklines
\put(0,11){\vector(1,0){6}\vector(-1,0){6}\vector(0,-1){11}}
\put(0,0){\line(1,0){6}\line(-1,0){6}}
\put(-6,0){\line(0,1){11}}
\put( 6,0){\line(0,1){11}}
\put( 3,10.8){\makebox(0,0)[t]{\texttt{height}}}
\put(-3,10.8){\makebox(0,0)[t]{\texttt{depth}}}
\put(0.2,5.5){\makebox(0,0)[l]{\texttt{width}}}

\color{green}% step1
\thicklines
\put(-4,3){\vector(0,1){6}\vector(0,-1){3}\vector(1,0){8}}
\put( 4,3){\line(0,1){6}\line(0,-1){3}}
\put(-4,9){\line(1,0){8}}
\put(-4,0){\line(1,0){8}}
\savebox{\eqdist}(0,0)[b]{%
  \thinlines
  \put(-0.08,0.2){\line(0,-1){0.4}}%
  \put(0.08,0.2){\line(0,-1){0.4}}}
\put(2,9){\usebox{\eqdist}}
\put(-2,9){\usebox{\eqdist}}


\color{blue}% shifted
\thicklines
\put(-4,3){\vector(0,1){2.5}}
\put(-3.8,4.25){\makebox(0,0)[l]{\texttt{left}}}
\put(-4,5.5){\vector(-1,0){2.5}}
\put(-5.,5.7){\makebox(0,0)[b]{\texttt{down}}}
\end{picture}
\end{center}
\end{minipage}%
\begin{minipage}{0.6\textwidth}%
%&lt;*en&gt;
(\dots)
%&lt;/en&gt;
%&lt;*ja&gt;
\texttt{align}ă•ă‚ŁăĽă«ă‰ă®ĺ€¤ăŚ \texttt{'right'} ă§ă‚ă‚‹ă‚ă†ăŞć–‡ĺ­—ă‚Żă©ă‚ąă«ĺ±žă™ă‚‹
ĺ’Ść–‡ć–‡ĺ­—ă‚’č€ăă‚ă†ďĽŽ
\begin{itemize}
\item
ĺ®źéš›ă®ă‚°ăŞă•ă®ă€Śĺž‚ç›´ä˝Ťç˝®ă€ŤăŻďĽŚăľăšă™ăĽă‚ąă©ă‚¤ăłăŚć–‡ĺ­—ă®ç‰©ç†çš„ăŞĺ·¦ĺŹłć–ąĺ‘ă®ä¸­ĺ¤®ă‚’é€šă‚‹
ä˝Ťç˝®ă¨ăŞă‚‹ďĽŽ
\item
ăľăźďĽŚă“ă®ĺ&nbsp;´ĺ \texttt{align} ă•ă‚ŁăĽă«ă‰ăŻ \texttt{'right'} ăŞă®ă§ďĽŚ
ă€Ść°´ĺąłä˝Ťç˝®ă€ŤăŻĺ­—é€ă‚Šć–ąĺ‘ă«ă€ŚĺŹłĺŻ„ă›ă€Ťă—ăźă‚‚ă®ă¨ăŞă‚‹ďĽç·‘č‰˛ă®é•·ć–ąĺ˝˘ďĽ‰ďĽŽ
\item
ăťă®ĺľŚă•ă‚‰ă« \texttt{left} ă¨ \texttt{down} ă®ĺ€¤ă«ĺľ“ăŁă¦ă‚·ă•ăă•ă‚Śă‚‹
ă®ăŻć¨Şçµ„ç”¨ĺ’Ść–‡ă•ă‚©ăłăă¨ĺ¤‰ă‚Źă‚‰ăŞă„ďĽŽ
\end{itemize}
%&lt;/ja&gt;
\end{minipage}
\medskip

\caption{%
%&lt;en&gt;The position of the real glyph (vertical Japanese fonts)
%&lt;ja&gt;ç¸¦çµ„ĺ’Ść–‡ă•ă‚©ăłăă«ăŠă‘ă‚‹ă€Śĺ®źéš›ă®ă€Ťă‚°ăŞă•ă®ä˝Ťç˝®
}
\label{fig:pos-tate}
\end{figure}

\item[kern={\{[$j$]=\meta{kern}, [$j'$]=\{\meta{kern}, [ratio=\meta{ratio}]\}, ...\}}]
\nopagebreak
\item[glue={\{[$j$]=\{\meta{width}, \meta{stretch}, \meta{shrink}, [ratio=\meta{ratio}, ...]\}, ...\}}]\leavevmode
%&lt;*ja&gt;

ć–‡ĺ­—ă‚Żă©ă‚ą$i$ă®ć–‡ĺ­—ă¨$j$ă®ć–‡ĺ­—ă®é–“ă«ćŚżĺ…Ąă•ă‚Śă‚‹ă‚«ăĽăłă‚„ă‚°ă«ăĽă®é‡Źă‚’ćŚ‡ĺ®šă™ă‚‹ďĽŽ

\meta{ratio}ăŻďĽŚă‚°ă«ăĽă®č‡Şç„¶é•·ă®ă†ăˇă©ă‚Śă&nbsp;ă‘ă®ĺ‰˛ĺăŚă€ŚĺľŚă®ć–‡ĺ­—ă€Ťç”±ćťĄă‹ă‚’ç¤şă™é‡Źă§ďĽŚ
$0$ă‹ă‚‰$+1$ă®ĺ®źć•°ĺ€¤ă‚’ă¨ă‚‹ďĽŽçśç•Ąć™‚ă®ĺ€¤ăŻ$0.5$ă§ă‚ă‚‹ďĽŽ
ă“ă®ă•ă‚ŁăĽă«ă‰ă®ĺ€¤ăŻ\Param{differentjfm}ă®ĺ€¤ăŚ
\texttt{pleft},~\texttt{pright},~\texttt{paverage}ă®ĺ€¤ă®ă¨ăŤă®ăżĺ®źéš›ă«ç”¨ă„ă‚‰ă‚Śă‚‹ďĽŽ

äľ‹ăă°ďĽŚ\cite{x4051}ă§ăŻďĽŚĺŹĄç‚ąă¨ä¸­ç‚ąă®é–“ă«ăŻďĽŚ
ĺŹĄç‚ąç”±ćťĄă®äşŚĺ†ç©şăŤă¨ä¸­ç‚ąç”±ćťĄă®ĺ››ĺ†ç©şăŤăŚćŚżĺ…Ąă•ă‚Śă‚‹ăŚďĽŚă“ă®ĺ&nbsp;´ĺă«ăŻ
\begin{itemize}
\item \meta{width}ă«ăŻ$0.5+0.25=0.75$ă‚’ćŚ‡ĺ®šă™ă‚‹ďĽŽ
\item \meta{ratio}ă«ăŻ$0.25/(0.5+0.25)=1/3$ă‚’ćŚ‡ĺ®šă™ă‚‹ďĽŽ
\end{itemize}
%&lt;/ja&gt;
%&lt;*en&gt;
\

Specifies the amount of kern or glue which will be inserted
between characters in character class~$i$ and those in character class~$j$.

\meta{ratio} 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 \meta{ratio} to $0.25/(0.5+0.25)=1/3$.
%&lt;/en&gt;

%&lt;*ja&gt;
ă‚°ă«ăĽă®ćŚ‡ĺ®šă«ăŠă„ă¦ăŻďĽŚä¸Šč¨ă«ĺŠ&nbsp;ăă¦ĺ„ \texttt{[$j$]} ă®ĺ„ă‚µă–ă†ăĽă–ă«ĺ†…ă«
ć¬ˇă®ă‚­ăĽă‚’ćŚ‡ĺ®šă§ăŤă‚‹ďĽŚ
\begin{cslist}[style=standard]
\item[priority=\meta{priority}]
             \Pkg{luatexja-adjust}ă«ă‚ă‚‹ĺ„Şĺ…é&nbsp;†ä˝Ťä»ăŤ
	     čˇŚé•·čŞżć•´ďĽ\ref{ssec:adj}çŻ€ďĽ‰ă«ăŠă„ă¦ďĽŚă“ă®ă‚°ă«ăĽă®ĺ„Şĺ…ĺş¦ă‚’ćŚ‡ĺ®šă™ă‚‹ďĽŽč¨±ă•ă‚Śă‚‹ĺ€¤ăŻä»Ąä¸‹ă®é€šă‚ŠďĽš
  \begin{description}
    \item[ăăĽă‚¸ă§ăł1] $-4$ă‹ă‚‰$+3$ă®é–“ă®ć•´ć•°
    \item[ăăĽă‚¸ă§ăł2ä»Ąé™Ť] $-4$ă‹ă‚‰$+3$ă®é–“ă®ć•´ć•°ă®2ă¤çµ„\texttt{\{\meta{stretch}, \meta{shrink}\}}ă‹ďĽŚ
    ăľăźăŻ$-4$ă‹ă‚‰$+3$ă®é–“ă®ć•´ć•°ďĽŽ\meta{stretch}, \meta{shrink}ăŻăťă‚Śăžă‚Śă“ă®ă‚°ă«ăĽăŚäĽ¸ăłă‚‹ă¨ăŤă®ĺ„Şĺ…ĺş¦ďĽŚç¸®ă‚€ă¨ăŤă®
    ĺ„Şĺ…ĺş¦ă§ă‚ă‚ŠďĽŚĺŤă«ć•´ć•°$i$ăŚćŚ‡ĺ®šă•ă‚Śăźĺ&nbsp;´ĺăŻ\texttt{\{$i$, $i$\}}ă§ă‚ă‚‹ă¨č§Łé‡ă•ă‚Śă‚‹ďĽŽ
  \end{description}
  ă“ă“ă§ćŚ‡ĺ®šă™ă‚‹ĺ€¤ăŻďĽŚĺ¤§ăŤă„ĺ€¤ă»ă©ă€Śĺ…ă«äĽ¸ă°ă•ă‚Śă‚‹ă€Ťă€Śĺ…ă«ç¸®ăľă›ă‚‹ă€Ťă“ă¨ă‚’ć„Źĺ‘łă—ă¦ăŠă‚ŠďĽŚçśç•Ąć™‚ă®ĺ€¤
             ăŻ0ă§ă‚ă‚‹ďĽŽçŻ„ĺ›˛ĺ¤–ă®ĺ€¤ăŚćŚ‡ĺ®šă•ă‚Śăźă¨ăŤă®ĺ‹•ä˝śăŻćśŞĺ®šçľ©ă§ă‚ă‚‹ďĽŽ
\item[kanjiskip\_natural=\meta{num}\textrm{, }%
  kanjiskip\_stretch=\meta{num}\textrm{, }kanjiskip\_shrink=\meta{num}]\leavevmode
  \label{pg:ksp_nat}

JFMă«ă‚ăŁă¦ćś¬ćťĄćŚżĺ…Ąă•ă‚Śă‚‹ă‚°ă«ăĽă®ä»–ă«
\Param{kanjiskip}ĺ†ă®ç©şç™˝ă‚’č‡Şç„¶é•·(\texttt{kanjiskip\_natural})ďĽŚäĽ¸ăłé‡Ź(\texttt{kanjiskip\_stretch})ďĽŚ
ç¸®ăżé‡Ź(\texttt{kanjiskip\_shrink})ă”ă¨ă«ćŚżĺ…Ąă™ă‚‹
%  \footnote{ćś¬ćťĄ\Param{xkanjiskip}ăŚćŚżĺ…Ąă•ă‚Śă‚‹ĺ&nbsp;´ć‰€ă«ăŠă„ă¦ăŻ\Param{xkanjiskip}ĺ†ă®ç©şç™˝ă‚’č‡Şç„¶é•·ă»äĽ¸ăłé‡Źă»ç¸®ăżé‡Źă”ă¨ă«}%
ăźă‚ă®ćŚ‡ĺ®šă§ă‚ă‚‹ďĽŽă„ăšă‚Śă‚‚çśç•Ąă•ă‚Śăźĺ&nbsp;´ĺă®ă‡ă•ă‚©ă«ăĺ€¤ăŻ0ďĽčż˝ĺŠ&nbsp;ă—ăŞă„ďĽ‰ă§ă‚ă‚‹ďĽŽ

äľ‹ăă°ďĽŚ\LuaTeX-jaă®ć¨Şçµ„ć¨™ćş–JFMă® \texttt{jfm-ujis.lua} ă§ăŻďĽŚ
\begin{itemize}
 \item é€šĺ¸¸ă®ć–‡ĺ­—ă€Śă‚ă€Ťă¨é–‹ăŤć‹¬ĺĽ§éˇžă®é–“ă«ĺ…Ąă‚‹ă‚°ă«ăĽăŻďĽŚč‡Şç„¶é•·ă»ç¸®ăżé‡ŹĺŤŠč§’ďĽŚäĽ¸ăłé‡Ź0ă®ă‚°ă«ăĽ
ă¨ăŞăŁă¦ă„ă‚‹ăŚďĽŚă•ă‚‰ă«\Param{kanjiskip}ă®äĽ¸ăłé‡Źă« \texttt{kanjiskip\_stretch}ďĽă“ă“ă§ăŻ1ďĽ‰ă‚’ćŽ›ă‘
       ăźĺ†ă&nbsp;ă‘äĽ¸ăłă‚‹ă“ă¨ăŚč¨±ă•ă‚Śă‚‹ďĽŽ
 \item ĺŚć§ă«ďĽŚé–‰ăć‹¬ĺĽ§éˇžďĽĺ…¨č§’ă‚łăłăžă€ŚďĽŚă€Ťă‚‚ĺ«ă‚€ďĽ‰ă¨ĺ’Ść–‡ć–‡ĺ­—ă€Śă†ă€Ťă€Śăă€ŤďĽŚ
  é–‰ăć‹¬ĺĽ§éˇžă¨ă€Śfă€Ťă®é–“ă‚‚č‡Şç„¶é•·ă»ç¸®ăżé‡ŹĺŤŠč§’ďĽŚäĽ¸ăłé‡Ź0ă®ă‚°ă«ăĽ
ă¨ăŞăŁă¦ă„ă‚‹ăŚďĽŚă•ă‚‰ă«\Param{kanjiskip}ă®äĽ¸ăłé‡Źă« \texttt{kanjiskip\_stretch}ďĽă“ă“ă§ăŻ1ďĽ‰ă‚’ćŽ›ă‘
       ăźĺ†ă&nbsp;ă‘äĽ¸ăłă‚‹ă“ă¨ăŚč¨±ă•ă‚Śă‚‹ďĽŽ
 \item ä¸€ć–ąďĽŚé–‹ăŤć‹¬ĺĽ§éˇžă¨é€šĺ¸¸ă®ć–‡ĺ­—ă®é–“ďĽŚăľăźé€šĺ¸¸ă®ć–‡ĺ­—ă¨é–‰ăć‹¬ĺĽ§éˇžă®é–“ăŻ
  č‡Şç„¶é•·ă»ç¸®ăżé‡Źă»äĽ¸ăłé‡Ź0ă®ă‚°ă«ăĽă&nbsp;ăŚďĽŚ\Param{kanjiskip}ă®ç¸®ăżé‡Źă«
  \texttt{kanjiskip\_shrink}ďĽă“ă“ă§ăŻ1ďĽ‰ă‚’ćŽ›ă‘ăźĺ†ă&nbsp;ă‘ç¸®ă‚€ă“ă¨ăŚč¨±ă•ă‚Śă‚‹ďĽŽ
\end{itemize}
ă¨ăŞăŁă¦ă„ă‚‹ďĽŽĺľ“ăŁă¦ďĽŚä»Ąä¸‹ă®ă‚ă†ăŞçµ„ç‰çµćžśă‚’ĺľ—ă‚‹ďĽŽ

\medskip
\begin{LTXexample}[width=18\zw]
\leavevmode\let\V=\vrule
\ltjsetparameter{kanjiskip=0pt plus 5\zw}
\ltjsetparameter{xkanjiskip=0pt plus 0.5\zw}
\V\hbox spread 7\zw{aă‚ă€Śă„ă€Ťă†ďĽŚăăŠă€Ťf}\V

\vrule\hbox{ă‚ă‚ă€Śă„ă€Ťă†ďĽŚăăŠă€Ťf}\V\par
\ltjsetparameter{kanjiskip=0pt minus \zw}
\V\hbox spread -2.5\zw{aă‚ă€Śă„ă€Ťă†ďĽŚăăŠă€Ťf}\V
\end{LTXexample}
\end{cslist}
%&lt;/ja&gt;
%&lt;*en&gt;
In case of glue, one can specify following additional keys in each \texttt{[$j$]}
	     subtable:
\begin{cslist}[style=standard]
\item[priority=\meta{priority}]
An integer in $[-4,3]$ (treated as 0 if omitted), or
a pair of these integers \texttt{\{\meta{stretch}, \meta{shrink}\}} (version 2~or~later).
This is
used only in line adjustment with priority by \Pkg{luatexja-adjust}
(see Subsection~\ref{ssec:adj}). Higher value means the glue is easy to stretch,
and is also easy to shrink. 
\item[kanjiskip\_natural=\meta{num}\textrm{, }%
  kanjiskip\_stretch=\meta{num}\textrm{, }kanjiskip\_shrink=\meta{num}]\leavevmode

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 (including the ideographic comma ``ďĽŚ'')
       and an ordinal letter (including an \textbf{ALchar} ``f\/''), 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).
 \item Between an ideographic opening bracket and an ordinal letter
  and between an ordinal letter and an ideographic closing bracket,
  we have a glue whose natural part and stretch part are both zero, while its shrink part as much as
  the shrink part of \Param{kanjiskip}.
\end{itemize}
Hence we have the following result:

\medskip
\begin{LTXexample}[width=18\zw]
\leavevmode\let\V=\vrule
\ltjsetparameter{kanjiskip=0pt plus 5\zw}
\ltjsetparameter{xkanjiskip=0pt plus 0.5\zw}
\V\hbox spread 7\zw{aă‚ă€Śă„ă€Ťă†ďĽŚăăŠă€Ťf}\V

\vrule\hbox{aă‚ă€Śă„ă€Ťă†ďĽŚăăŠă€Ťf}\V\par
\ltjsetparameter{kanjiskip=0pt minus \zw}
\V\hbox spread -2.5\zw{aă‚ă€Śă„ă€Ťă†ďĽŚăăŠă€Ťf}\V
\end{LTXexample}

\end{cslist}
%&lt;/en&gt;
  
\item[end\_stretch=\meta{kern}, end\_shrink=\meta{kern}]
%&lt;*ja&gt;
ďĽä»»ć„ŹďĽŚăăĽă‚¸ă§ăł1ă®ăżďĽ‰

ĺ„Şĺ…é&nbsp;†ä˝Ťä»ăŤčˇŚé•·čŞżć•´ăŚćś‰ĺŠąă§ă‚ă‚ŠďĽŚă‹ă¤çŹľĺś¨ă®ć–‡ĺ­—ă‚Żă©ă‚ąă®ć–‡ĺ­—ăŚčˇŚ
	     ćś«ă«ćťĄăźć™‚ă«ďĽŚčˇŚé•·ă‚’č©°ă‚ă‚‹čŞżć•´ă»äĽ¸ă°ă™čŞżć•´ă®ăź
             ă‚ă«ă“ă®ć–‡ĺ­—ă¨čˇŚćś«ă®é–“ă«ćŚżĺ…ĄĺŹŻč˝ăŞă‚«ăĽăłă®ĺ¤§ăŤă•ă‚’ćŚ‡ĺ®šă™ă‚‹ďĽŽ
%&lt;/ja&gt;
%&lt;*en&gt;
(optional, version~1 only)
%&lt;/en&gt;

  \item[end\_adjust=\{\meta{kern}, \meta{kern}, ...\}]
%&lt;*ja&gt;
ďĽä»»ć„ŹďĽŚăăĽă‚¸ă§ăł2ä»Ąé™ŤďĽ‰

ĺ„Şĺ…é&nbsp;†ä˝Ťä»ăŤčˇŚé•·čŞżć•´ăŚćś‰ĺŠąă§ă‚ă‚ŠďĽŚă‹ă¤çŹľĺś¨ă®ć–‡ĺ­—ă‚Żă©ă‚ąă®ć–‡ĺ­—ăŚ
  čˇŚćś«ă«ćťĄăźć™‚ă«ďĽŚă“ă®ć–‡ĺ­—ă¨čˇŚćś«ă®é–“ă«ăŻćŚ‡ĺ®šă•ă‚Śăźĺ€¤ă®ă„ăšă‚Śă‹ă®ĺ¤§ăŤă•ă®ă‚«ăĽăłăŚ
  ćŚżĺ…Ąă•ă‚Śă‚‹ďĽ\autoref{ssec:adj}ĺŹ‚ç…§ďĽ‰ďĽŽ

ăăĽă‚¸ă§ăł1ă«ăŠă‘ă‚‹
\begin{lstlisting}[escapechar=\$]
    end_stretch = $a$, end_shrink = $b$
\end{lstlisting}
ă¨ă„ă†ćŚ‡ĺ®šăŻďĽŚăăĽă‚¸ă§ăł2ä»Ąé™Ťă§ăŻć¬ˇă®ćŚ‡ĺ®šă¨ĺŚăă«ăŞă‚‹ďĽŽ
\begin{lstlisting}[escapechar=\$]
    end_adjust = {$-b$, 0.0, $a$}
\end{lstlisting}
ă‚‚ă—çśźă‚“ä¸­ă® \texttt{0.0} ăŚăŞă„ĺ&nbsp;´ĺăŻďĽŚ$a$ă‹$-b$ă‹ă„ăšă‚Śă‹ă®ă‚«ăĽăłăŚĺ¸¸ă«čˇŚćś«ă«čż˝ĺŠ&nbsp;ă•ă‚Śă‚‹ďĽŽ
%&lt;/ja&gt;
%&lt;*en&gt;
(optional, version~2 or~later)
%&lt;/en&gt;

  \item[round\_threshold=\meta{float}]
%&lt;*ja&gt;
ďĽä»»ć„ŹďĽŚăăĽă‚¸ă§ăł3ä»Ąé™ŤďĽŚć–‡ĺ­—ă‚Żă©ă‚ą0ă®ăżďĽ‰

ă€Śĺ®źéš›ă®ă‚°ăŞă•ă®ĺą…ă«ĺă‚Źă›ă¦ć–‡ĺ­—ĺą…ă‚’ć•´ć•°ĺ€Ťă™ă‚‹ă€Ťéš›ă®ă—ăŤă„ĺ€¤ă‚’ćŚ‡ĺ®šă™ă‚‹ďĽŽ
ă‚ă‚Šć­Łç˘şă«čż°ăąă‚‹ă¨ďĽŚć¬ˇă®ă‚ă†ă«ăŞă‚‹ďĽŽă“ă®ă•ă‚ŁăĽă«ă‰ă«ć­Łă®ć•°$r$ăŚćŚ‡ĺ®šă•ă‚Śă¦ă„ăźă¨ă—ďĽŚ
JFMä¸­ă§ă€Ść–‡ĺ­—ă‚Żă©ă‚ą0ă®ć–‡ĺ­—ĺą…ă€Ťă¨ćŚ‡ĺ®šă•ă‚Śă¦ă„ă‚‹ĺ€¤ăŚ$w$ďĽŚć–‡ĺ­—ă‚Żă©ă‚ą0ă«ĺ±žă™ă‚‹ć–‡ĺ­—ă®ă‚ă‚‹ă‚°ăŞă•ă®ĺ®źéš›ă®ĺą…ăŚ$w'$ă§ă‚ăŁăźă¨ă™ă‚‹ďĽŽ
$n=\nint(w'/w)$ă¨ă—ăź
\footnote{ă“ă“ă§ďĽŚ$\nint(a)=\lfloor a+0.5\rfloor$ăŻ$a$ă«ă€Śă‚‚ăŁă¨ă‚‚čż‘ă„ć•´ć•°ă€Ťă‚’čˇ¨ă™ďĽŽ}
ă¨ăŤďĽŚă‚‚ă—$w'&gt;w$ă‹ă¤$\lvert w'/w-n\rvert \char`&lt;r$ă§ă‚ă‚Śă°ďĽŚJFMă§ć–‡ĺ­—ĺą…$nw$ăŚćŚ‡ĺ®šă•ă‚Śăźă‚‚ă®ă¨ă—ă¦ć‰±ă†ďĽŽ

ă“ă®ć©źč˝ăŻďĽŚă»ă¨ă‚“ă©ćşăŽćŽćśťă»ćşăŽč§’ă‚´ă‚·ăă‚Żă«ăŠă‘ă‚‹2ĺ€Ťč§’ă»3ĺ€Ťč§’ă€ăă‚·ăĄă®ĺĺ­—ă®ăźă‚ă«ĺ®źčŁ…ă•ă‚Śăźă¨
č¨€ăŁă¦ă‚‚ă‚ă„ďĽă“ă®ĺ&nbsp;´ĺ$w'=2$,~$3$ă§ă‚ă‚‹ďĽ‰ďĽŽă“ă‚Śă‚‰ă®ă‚°ăŞă•ăŻ\LuaTeX ĺ†…é¨ă§ăŻUnicodeă®ç§ç”¨é&nbsp;ĺźźă«ĺ‰˛ă‚Šĺ˝“ă¦ă‚‰ă‚Śă‚‹ă®ă§ďĽŚ
JFMĺ´ă§ç•ŞĺŹ·ă‚’ćŚ‡ĺ®šă™ă‚‹ă“ă¨ăŚă§ăŤăŞă„ďĽŽ
%&lt;/ja&gt;
%&lt;*en&gt;
(optional, version~3 or~later, only available in character class~0)
%&lt;/en&gt;


\end{cslist}

%&lt;*ja&gt;
\paragraph{ć–‡ĺ­—ă‚Żă©ă‚ąă®ć±şĺ®š}
ć–‡ĺ­—ă‹ă‚‰ăťă®ć–‡ĺ­—ă®ĺ±žă™ă‚‹ć–‡ĺ­—ă‚Żă©ă‚ąă‚’ç®—ĺ‡şă™ă‚‹éŽç¨‹ă«ă¤ă„ă¦ďĽŚ
ć¬ˇă®ĺ†…ĺ®ąă‚’ĺ«ă‚“ă&nbsp; \texttt{jfm-test.lua} ă‚’ç”¨ă„ă¦čŞ¬ćŽă™ă‚‹ďĽŽ
%&lt;/ja&gt;
%&lt;*en&gt;
\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:
%&lt;/en&gt;
\begin{lstlisting}
   [0] = {
      chars = { 'ćĽ˘' },
      align = 'left', left = 0.0, down = 0.0,
      width = 1.0, height = 0.88, depth = 0.12, italic=0.0,
   },
   [2000] = {
      chars = { 'ă€‚', 'ďľ‹' },
      align = 'left', left = 0.0, down = 0.0,
      width = 0.5, height = 0.88, depth = 0.12, italic=0.0,
   },
\end{lstlisting}
%&lt;ja&gt;ă“ă“ă§ďĽŚć¬ˇă®ă‚ă†ăŞĺ…ĄĺŠ›ă¨ăťă®ĺ®źčˇŚçµćžśă‚’č€ăă‚‹ďĽš
%&lt;en&gt;Now consider the following input/output:
\begin{LTXexample}[width=0.3\textwidth]
\jfont\a=IPAexMincho:jfm=test;+hwid
\setbox0\hbox{\a ă’ćĽ˘}\the\wd0
\end{LTXexample}
%&lt;*en&gt;
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}}.
%&lt;/en&gt;
%&lt;*ja&gt;
ä¸Šč¨ă®ĺ‡şĺŠ›çµćžśăŚďĽŚ15\,ptă¨ăŞăŁă¦ă„ă‚‹ă®ăŻç†ç”±ă«ă‚ă‚‹ă‚‚ă®ă§ă‚ă‚‹ďĽš
\begin{enumerate}
\item \verb+hwid+ featureă«ă‚ăŁă¦ă€Śă’ă€ŤăŚĺŤŠč§’ĺą…ă®ă‚°ăŞă•ă€Śďľ‹ă€Ťă¨ç˝®ăŤćŹ›ă‚Źă‚‹ďĽ\Pkg{luaotfload} ă«ă‚ă‚‹ĺ‡¦ç†ďĽ‰ďĽŽ
\item JFMă«ă‚ă‚Śă°ďĽŚă“ă®ă€Śďľ‹ă€Ťă®ă‚°ăŞă•ă®ć–‡ĺ­—ă‚Żă©ă‚ąăŻ2000ă§ă‚ă‚‹ďĽŽ
\item ä»Ąä¸Šă«ă‚ă‚Šć–‡ĺ­—ă‚Żă©ă‚ą2000ă¨ăżăŞă•ă‚Śă‚‹ăźă‚ďĽŚçµćžśă¨ă—ă¦ă€Śďľ‹ă€Ťă®ĺą…ăŻĺŤŠč§’ă&nbsp;ă¨čŞŤč­ă•ă‚Śă‚‹ďĽŽ
\end{enumerate}
ă“ă®äľ‹ăŻďĽŚ\emph{ć–‡ĺ­—ă‚Żă©ă‚ąă®ć±şĺ®šăŻOpenTypeć©źč˝ă®é©ç”¨ă«ă‚ă‚‹ă‚°ăŞă•ç˝®ćŹ›ă®çµćžśă«ĺźşăĄăŹ}ă“ă¨ă‚’
ç¤şă—ă¦ă„ă‚‹ďĽŽ
%&lt;/ja&gt;

%&lt;*en&gt;
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.
%&lt;/en&gt;
%&lt;*ja&gt;
ä˝†ă—ďĽŚJFMă«ă‚ăŁă¦ć±şăľă‚‹ç˝®ćŹ›ĺľŚă®ă‚°ăŞă•ă®ć–‡ĺ­—ă‚Żă©ă‚ąăŚ0ă§ă‚ă‚‹ĺ&nbsp;´ĺăŻďĽŚç˝®ćŹ›ĺ‰Ťă®ć–‡ĺ­—ă‚Żă©ă‚ąă‚’ćŽˇç”¨ă™ă‚‹ďĽŽ
%&lt;/ja&gt;
\begin{LTXexample}[width=0.3\textwidth]
\jfont\a=HaranoAjiMincho-Regular:jfm=test;+vert
\a ćĽ˘ă€‚\inhibitglue ćĽ˘
\end{LTXexample}
%&lt;*en&gt;
Here, the character class of the ideographic full stop ``ă€‚''~(\texttt{U+3002}) is determined
as follows:
\begin{enumerate}
\item As the case of ``ă’'', the ideographic 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}
%&lt;/en&gt;
%&lt;*ja&gt;
ă“ă“ă§ďĽŚĺŹĄç‚ąă€Śă€‚ă€Ť(\texttt{U+3002})ă®ć–‡ĺ­—ă‚Żă©ă‚ąăŻďĽŚä»Ąä¸‹ă®ă‚ă†ă«ă—ă¦ć±şăľă‚‹ďĽŽ
\begin{enumerate}
\item \Pkg{luaotfload}ă«ă‚ăŁă¦ç¸¦çµ„ç”¨ĺŹĄç‚ąă®ă‚°ăŞă•ă«ç˝®ăŤćŹ›ă‚Źă‚‹ďĽŽ
\item ç˝®ćŹ›ĺľŚă®ă‚°ăŞă•ăŻ \texttt{U+FE12} ă§ă‚ă‚ŠďĽŚJFMă«ĺľ“ăă°ć–‡ĺ­—ă‚Żă©ă‚ąăŻ\emph{0}ă¨ĺ¤ĺ®šă•ă‚Śă‚‹ďĽŽ
\item ă“ă®ĺ&nbsp;´ĺďĽŚç˝®ćŹ›ĺ‰Ťă®ć¨Şçµ„ç”¨ĺŹĄç‚ąă®ă‚°ăŞă•ă«ă‚ăŁă¦ć–‡ĺ­—ă‚Żă©ă‚ąă‚’ĺ¤ĺ®šă™ă‚‹ďĽŽ
\item çµćžśă¨ă—ă¦ďĽŚä¸Šă®ĺ‡şĺŠ›äľ‹ä¸­ă®ĺŹĄç‚ąă®ć–‡ĺ­—ă‚Żă©ă‚ąăŻ2000ă¨ăŞă‚‹ďĽŽ
\end{enumerate}
%&lt;/ja&gt;


%&lt;ja&gt;\paragraph{ä»®ćłçš„ăŞć–‡ĺ­—}
%&lt;en&gt;\paragraph{Imaginary characters}
%&lt;*en&gt;
As described before, one can specify several ``imaginary characters'' in
\texttt{chars} field. The most of these characters are regarded as the
characters of class 0 in \pTeX.
As a result, \LuaTeX-ja can control typesetting finer than \pTeX.
The following is the list of imaginary characters:
%&lt;/en&gt;
%&lt;*ja&gt;
ä¸Šă§čŞ¬ćŽă—ăźé€šă‚ŠďĽŚ\texttt{chars}ă•ă‚ŁăĽă«ă‰ä¸­ă«ăŻă„ăŹă¤ă‹ă®ă€Śç‰ąć®Šć–‡ĺ­—ă€Ťă‚‚
ćŚ‡ĺ®šĺŹŻč˝ă§ă‚ă‚‹ďĽŽă“ă‚Śă‚‰ăŻďĽŚĺ¤§ĺŤŠăŚ\pTeX ă®JFMă‚°ă«ăĽă®ćŚżĺ…Ąĺ‡¦ç†ă§ăŻăżăŞă€Ść–‡ĺ­—
ă‚Żă©ă‚ą0ă®ć–‡ĺ­—ă€Ťă¨ă—ă¦ć‰±ă‚Źă‚Śă¦ă„ăźć–‡ĺ­—ă§ă‚ă‚ŠďĽŚăťă®çµćžśă¨ă—ă¦\pTeX ă‚ă‚Šç´°ă‹
ă„çµ„ç‰čŞżć•´ăŚă§ăŤă‚‹ă‚ă†ă«ăŞăŁă¦ă„ă‚‹ďĽŽä»Ąä¸‹ă§ăťă®ä¸€č¦§ă‚’čż°ăąă‚‹ďĽš
%&lt;/ja&gt;

\begin{cslist}
%%\item['diffmet']
%%&lt;en&gt;Used at a boundary between two \textbf{JAchar}s whose JFM or size is different.
%%&lt;ja&gt;JFMă‚„ă‚µă‚¤ă‚şăŚç•°ăŞă‚‹2ă¤ă®\textbf{JAchar}ă®é–“ă®ĺ˘ç•Śă¨ă—ă¦ç”¨ă„ă‚‰ă‚Śă‚‹ďĽŽ

\item['boxbdd']
%&lt;*en&gt;
The beginning/ending of a hbox, and the beginning of a noindented (i.e., began by \cs{noindent}) paragraph.
If a hbox~$b$ begins (resp.~ends) a glue or kern between this ``charater'' and a \textbf{JAchar},
\textbf{JAglue} won't be inserted before(resp.~after) the hbox~$b$.
\Param{kanjiskip}~and~\Param{xkanjiskip} around a hbox.
%&lt;/en&gt;
%&lt;*ja&gt;
hboxă®ĺ…é&nbsp;­ă¨ćś«ĺ°ľďĽŚĺŹŠăłă‚¤ăłă‡ăłăă•ă‚Śă¦ă„ăŞă„ďĽ\cs{noindent} ă§é–‹ĺ§‹ă•ă‚ŚăźďĽ‰ć®µč˝ă®ĺ…é&nbsp;­ă‚’čˇ¨ă™ďĽŽ
ă“ă®ă€Ść–‡ĺ­—ă€Ťă¨ă®é–“ă«č¨­ĺ®šă—ăźă‚°ă«ăĽă»ă‚«ăĽăłăŚăśăă‚Żă‚ą$b$ă®ĺ…é&nbsp;­ďĽă‚‚ă—ăŹăŻćś«ĺ°ľďĽ‰ă«ćťĄăźĺ&nbsp;´ĺďĽŚ
  ăťă®ăśăă‚Żă‚ą$b$ă®ç›´ĺ‰ŤďĽă‚‚ă—ăŹăŻç›´ĺľŚďĽ‰ă«ăŻĺ’Ść–‡ĺ‡¦ç†ă‚°ă«ăĽăŻĺ…Ąă‚‰ăŞă„ďĽŽ
%&lt;/ja&gt;

\item['parbdd']
%&lt;en&gt;The beginning of an (indented) paragraph.
%&lt;ja&gt;é€šĺ¸¸ă®ďĽ\cs{noindent} ă§é–‹ĺ§‹ă•ă‚Śă¦ă„ăŞă„ďĽ‰ć®µč˝ă®ĺ…é&nbsp;­ďĽŽ

\item['jcharbdd']
%&lt;en&gt;A boundary between \textbf{JAchar} and anything else.
%&lt;*ja&gt;
\textbf{JAchar}ă¨ă€Śăťă®ä»–ă®ă‚‚ă®ă€Ťă¨ă®ĺ˘ç•ŚďĽŽ

ăăĽă‚¸ă§ăł2ä»Ąĺ‰Ťă§ăŻ\textbf{ALchar}ďĽŚç®±ďĽŚç˝«ç·š(rule)ďĽŚglue,~kernăŞă©ă„ă‚Ťă„ă‚ŤăŞă‚‚ă®ă¨\textbf{JAchar}ă®ĺ˘ç•Śă«ĺŻľă—ă¦
ćś¬ç‰ąć®Šć–‡ĺ­—ăŚç”¨ă„ă‚‰ă‚Śă¦ă„ăźăŚďĽŚ
ăăĽă‚¸ă§ăł3ä»Ąé™Ťă§ăŻ\ \texttt{'jcharbdd'}, \texttt{'alchar'}, \texttt{'nox\_alchar'},
\texttt{'glue'} ă¨ç´°ĺ†ĺŚ–ă•ă‚ŚďĽŚ
\texttt{'jcharbdd'} ăŻä¸»ă«\textbf{JAchar}ă¨ăśăă‚Żă‚ąă‚„ç˝«ç·š(rule)ă¨ă®ĺ˘ç•Śă«ä˝żă‚Źă‚Śă‚‹ă‚ă†ă«ăŞăŁăźďĽŽ
%&lt;/ja&gt;
  
\item['alchar', 'nox\_alchar']
%&lt;*en&gt;
(version 3~or~later) A boundary between \textbf{JAchar} and \textbf{ALchar}.
%&lt;/en&gt;
%&lt;*ja&gt;
ďĽăăĽă‚¸ă§ăł3ä»Ąé™ŤďĽ‰\textbf{JAchar}ă¨\textbf{ALchar}ă¨ă®ĺ˘ç•ŚďĽŽ
\textbf{JAchar}ă¨\textbf{ALchar}ă®é–“ă«\Param{xkanjiskip}ăŚĺ…Ąă‚‹ă“ă¨ăŚĺŹŻč˝ăŞĺ&nbsp;´ĺăŻ
\ \texttt{'alchar'}\ ăŚďĽŚăťă†ă§ăŞă„ĺ&nbsp;´ĺăŻ\ \texttt{'nox\_alchar'}\ ăŚç”¨ă„ă‚‰ă‚Śă‚‹
ďĽă“ă®ĺŚşĺĄăŻ\textbf{ALchar}ĺ´ă®\Param{alxspmode}ă®ĺ€¤ă«ă‚ăŁă¦ă®ăżčˇŚă‚Źă‚Śă‚‹ďĽ‰ďĽŽ
%&lt;/ja&gt;

\item['glue']
%&lt;en&gt;(version 3~or~later) A boundary between \textbf{JAchar}, and, a glue or kern.
%&lt;ja&gt;ďĽăăĽă‚¸ă§ăł3ä»Ąé™ŤďĽ‰\textbf{JAchar}ă¨glueďĽŚkernă¨ă®ĺ˘ç•ŚďĽŽ

\item[$-1$]
%&lt;en&gt;The left/right boundary of an inline math formula.
%&lt;ja&gt;čˇŚä¸­ć•°ĺĽŹă¨ĺś°ă®ć–‡ă¨ă®ĺ˘ç•ŚďĽŽ
\end{cslist}

%&lt;en&gt;\paragraph{Porting JFM from \pTeX}
%&lt;ja&gt;\paragraph{\pTeX ç”¨ĺ’Ść–‡ç”¨TFMă®ç§»ć¤Ť}

% ToDo: English version.

%&lt;*en&gt;
See Japanese version of this manual.
%&lt;/en&gt;

%&lt;*ja&gt;
ä»Ąä¸‹ă«ďĽŚ\pTeX ç”¨ă«ä˝śă‚‰ă‚Śăźĺ’Ść–‡ç”¨TFMă‚’\LuaTeX-jaç”¨ă«ç§»ć¤Ťă™ă‚‹ĺ&nbsp;´ĺă®ćł¨ć„Źç‚ąă‚’ćŚ™ă’ă¦ăŠăŹďĽŽ
\begin{itemize}
\item ĺ®źéš›ă«ĺ‡şĺŠ›ă•ă‚Śă‚‹ĺ’Ść–‡ă•ă‚©ăłăă®ă‚µă‚¤ă‚şăŚdesign sizeă¨ăŞă‚‹ďĽŽ
ă“ă®ăźă‚ďĽŚäľ‹ăă°$1\,\textrm{zw}$ăŚdesign sizeă®0.962216ĺ€Ťă§ă‚ă‚‹JISă•ă‚©ăł
      ăăˇăăŞăă‚Żç­‰ă‚’ç§»ć¤Ťă™ă‚‹ĺ&nbsp;´ĺăŻďĽŚć¬ˇă®ă‚ă†ă«ă™ă‚‹ăąăŤă§ă‚ă‚‹ďĽš
\begin{itemize}
\item JFMä¸­ă®ĺ…¨ă¦ă®ć•°ĺ€¤ă‚’$1/0.962216$ĺ€Ťă—ă¦ăŠăŹďĽŽ
\item \TeX ă‚˝ăĽă‚ąä¸­ă§ä˝żç”¨ă™ă‚‹ă¨ă“ă‚Ťă§ďĽŚă‚µă‚¤ă‚şćŚ‡ĺ®šă‚’0.962216ĺ€Ťă«ă™ă‚‹ďĽŽ
      \LaTeX ă§ă®ă•ă‚©ăłăĺ®Łč¨€ăŞă‚‰ďĽŚäľ‹ăă°ć¬ˇă®ă‚ă†ă«ďĽš
\begin{lstlisting}
\DeclareFontShape{JY3}{mc}{m}{n}{&lt;-&gt; s*[0.962216] psft:Ryumin-Light:jfm=jis}{}
\end{lstlisting}
\end{itemize}
\item ä¸Šă«čż°ăąăźç‰ąć®Šć–‡ĺ­—ăŻďĽŚ\texttt{'boxbdd'}ă‚’é™¤ăŤć–‡ĺ­—ă‚Żă©ă‚ąă‚’ĺ…¨é¨0ă¨ă™ă‚‹
      ďĽJFMä¸­ă«ĺŤă«ć›¸ă‹ăŞă‘ă‚Śă°ă‚ă„ďĽ‰ďĽŽ
\item \texttt{'boxbdd'}ă«ă¤ă„ă¦ăŻďĽŚăťă‚Śă®ăżă§ä¸€ă¤ă®ć–‡ĺ­—ă‚Żă©ă‚ąă‚’ĺ˝˘ćă—ďĽŚăťă®
      ć–‡ĺ­—ă‚Żă©ă‚ąă«é–˘ă—ă¦ăŻă‚°ă«ăĽďĽŹă‚«ăĽăłă®č¨­ĺ®šăŻă—ăŞă„ďĽŽ

ă“ă‚ŚăŻďĽŚ\pTeX ă§ăŻďĽŚ
      hboxă®ĺ…é&nbsp;­ă»ćś«ĺ°ľă¨ă‚¤ăłă‡ăłăă•ă‚Śă¦ă„ăŞă„ďĽ\cs{noindent} ă§é–‹ĺ§‹ă•
      ă‚ŚăźďĽ‰ć®µč˝ă®ĺ…é&nbsp;­ă«ăŻJFMă‚°ă«ăĽăŻĺ…Ąă‚‰ăŞă„ă¨ă„ă†ä»•ć§ă‚’ĺ®źçŹľă•ă›ă‚‹ăźă‚ă§ă‚ă‚‹ďĽŽ
\item \pTeX ă®çµ„ç‰ă‚’ĺ†ŤçŹľă•ă›ă‚ă†ă¨ă„ă†ă®ăŚç›®çš„ă§ă‚ă‚Śă°ä»Ąä¸Šă®ćł¨ć„Źă‚’ĺ®ă‚Śă°ĺŤĺ†ă§ă‚ă‚‹ďĽŽ

ă¨ă“ă‚Ťă§ďĽŚ\pTeX ă§ăŻé€šĺ¸¸ă®ć®µč˝ă®ĺ…é&nbsp;­ă«JFMă‚°ă«ăĽăŚć®‹ă‚‹ă¨ă„ă†ä»•ć§ăŚă‚ă‚‹ă®ă§ďĽŚ
      ć®µč˝ĺ…é&nbsp;­ă®é–‹ăŤć‹¬ĺĽ§ăŻĺ…¨č§’äşŚĺ†ä¸‹ăŚă‚Šă«ăŞă‚‹ďĽŽĺ…¨č§’ä¸‹ăŚă‚Šă‚’ĺ®źçŹľă•ă›ă‚‹ă«
      ăŻďĽŚć®µč˝ă®ćś€ĺťă«ć‰‹ĺ‹•ă§ \cs{inhibitglue} ă‚’čż˝ĺŠ&nbsp;ă™ă‚‹ă‹ďĽŚă‚ă‚‹ă„ăŻ
      \ \cs{everypar} ă®ăŹăă‚Żă‚’čˇŚă„ďĽŚăťă‚Śă‚’č‡Şĺ‹•ĺŚ–ă•ă›ă‚‹ă—ă‹ăŞă‹ăŁăźďĽŽ

ä¸€ć–ąďĽŚ\LuaTeX-jaă§ăŻďĽŚ\texttt{'parbdd'}ă«ă‚ăŁă¦ďĽŚăťă‚ŚăŚJFMĺ´ă§čŞżć•´ă§ăŤă‚‹ă‚
ă†ă«ăŞăŁăźďĽŽäľ‹ăă°ďĽŚ\LuaTeX-jaĺŚć˘±ă®JFMă®ă‚ă†ă«ďĽŚ\texttt{'boxbdd'}ă¨ĺŚăć–‡ĺ­—ă‚Żă©ă‚ąă«
\texttt{'parbdd'}ă‚’ĺ…Ąă‚Śă‚Śă°ĺ…¨č§’ä¸‹ăŚă‚Šă¨ăŞă‚‹ďĽŽ

\begin{LTXexample}[width=0.4\textwidth]
\jfont\g=HaranoAjiMincho-Regular:jfm=test \g
\parindent1\zw\noindent{}â—†â—†â—†â—†â—†
\par ă€Śâ—†â—†â†äşŚĺ†ä¸‹ăŚă‚Š
\par ă€â—†â—†â†ĺ…¨č§’ä¸‹ăŚă‚Š
\par ă€”â—†â—†â†ĺ…¨č§’äşŚĺ†ä¸‹ăŚă‚Š
\end{LTXexample}
\end{itemize}

ä˝†ă—ďĽŚ\cs{everypar} ă‚’ĺ©ç”¨ă—ă¦ă„ă‚‹ĺ&nbsp;´ĺă«ăŻă“ă®ä»•çµ„ăżăŻć­Łă—ăŹĺ‹•ă‹ăŞă„ďĽŽ
ăťă®ă‚ă†ăŞäľ‹ă¨ă—ă¦ăŻç®‡ćťˇć›¸ăŤä¸­ă® \cs{item} ă§ĺ§‹ăľă‚‹ć®µč˝ăŚă‚ă‚ŠďĽŚ\Pkg{ltjsclasses}ă§ăŻ
äşşĺ·Ąçš„ă«ă€Ś\texttt{'parbdd'}ă®ć„Źĺ‘łă‚’ćŚă¤ă€ŤwhatsităŽăĽă‰ă‚’ä˝śă‚‹ă“ă¨ă«ă‚ăŁă¦ĺŻľĺ‡¦ă—ă¦ă„ă‚‹%
\footnote{\texttt{ltjsclasses.dtx} ă‚’ĺŹ‚ç…§ă•ă‚Śăźă„ďĽŽ
JFMĺ´ă§ä¸€é¨ă®ĺŻľĺ‡¦ăŚă§ăŤă‚‹ă“ă¨ă«ă‚ă‚ŠďĽŚ\Pkg{jsclasses}ă®ă‚ă†ă«ifć–‡ă®ĺ¤ĺ®šăŻă—ă¦ă„ăŞă„ďĽŽ}ďĽŽ
%&lt;/ja&gt;


%&lt;en&gt;\subsection{Math font family}
%&lt;ja&gt;\subsection{ć•°ĺĽŹă•ă‚©ăłăă•ă‚ˇăźăŞ}
\label{ssec:math}

%&lt;*en&gt;
\TeX\ handles fonts in math formulas by 16~font families\footnote{Omega,
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:
\cs{textfont}, \cs{scriptfont} and \cs{scriptscriptfont}.
%&lt;/en&gt;
%&lt;*ja&gt;
\TeX\ ăŻć•°ĺĽŹă•ă‚©ăłăă‚’16ă®ă•ă‚ˇăźăŞ\footnote{Omega, Aleph, \LuaTeXďĽŚăťă—ă¦
  $\varepsilon$-\kern-.125em(u)\pTeX\ ă§ăŻ256ă®ć•°ĺĽŹă•ă‚ˇăźăŞă‚’ć‰±ă†ă“ă¨ăŚă§ăŤă‚‹ăŚďĽŚ
  ă“ă‚Śă‚’ă‚µăťăĽăă™ă‚‹ăźă‚ă«plain \TeX ă¨\LaTeX ă§ăŻĺ¤–é¨ă‘ăă‚±ăĽă‚¸ă‚’čŞ­ăżčľĽă‚€ĺż…č¦ăŚ
  ă‚ă‚‹ďĽŽ}ă§ç®ˇç†ă—ďĽŚăťă‚Śăžă‚Śă®ă•ă‚ˇăźăŞăŻ3ă¤ă®ă•ă‚©ăłăă‚’ćŚăŁă¦ă„ă‚‹ďĽš
\cs{textfont}, \cs{scriptfont} ăťă—ă¦ \cs{scriptscriptfont} ă§ă‚ă‚‹.
%&lt;/ja&gt;

%&lt;*en&gt;
\LuaTeX-ja's handling of Japanese fonts in math formulas is similar;
\autoref{tab-math} shows counterparts to \TeX's primitives for math
font families. There is no relation between the value of
\cs{fam} and that of \cs{jfam}; with appropriate settings,
one can set both \cs{fam} and \cs{jfam} to the same value.
Here \meta{jfont\_cs} in the argument of \Param{jatextfont} etc.\ is
a control sequence which is defined by \cs{jfont}, i.e.,
a \emph{horizontal} Japanese font.
%&lt;/en&gt;
%&lt;*ja&gt;
\LuaTeX-jaă®ć•°ĺĽŹä¸­ă§ă®ĺ’Ść–‡ă•ă‚©ăłăă®ć‰±ă„ă‚‚ĺŚć§ă§ă‚ă‚‹ďĽŽ
\autoref{tab-math}ăŻć•°ĺĽŹă•ă‚©ăłăă•ă‚ˇăźăŞă«ĺŻľă™ă‚‹ \TeX ă®ă—ăŞăźă†ă‚Łă–ă¨ĺŻľĺżśă™ă‚‹
ă‚‚ă®ă‚’ç¤şă—ă¦ă„ă‚‹ďĽŽ\cs{fam} ă¨ \cs{jfam} ă®ĺ€¤ă®é–“ă«ăŻé–˘äż‚ăŻăŞăŹďĽŚ
é©ĺ‡ăŞč¨­ĺ®šă®ä¸‹ă§ăŻ \cs{fam} ă¨ \cs{jfam} ă®ä¸ˇć–ąă«ĺŚăĺ€¤ă‚’č¨­ĺ®šă™ă‚‹ă“ă¨ăŚă§ăŤă‚‹ďĽŽ
\Param{jatextfont} ä»–ă®ç¬¬2ĺĽ•ć•°\meta{jfont\_cs}ăŻďĽŚ\cs{jfont} ă§ĺ®šçľ©ă•ă‚Śăź
\emph{ć¨Şçµ„ç”¨}ĺ’Ść–‡ă•ă‚©ăłăă§ă‚ă‚‹ďĽŽ\cs{tfont} ă§ĺ®šçľ©ă•ă‚Śăź
\emph{ç¸¦çµ„ç”¨}ĺ’Ść–‡ă•ă‚©ăłăă‚’ćŚ‡ĺ®šă™ă‚‹ă“ă¨ăŻćłĺ®šă—ă¦ă„ăŞă„ďĽŽ
%&lt;/ja&gt;

\begin{table}[!tb]
%&lt;en&gt;\caption{Commands for Japanese math fonts}
%&lt;ja&gt;\caption{ĺ’Ść–‡ć•°ĺĽŹă•ă‚©ăłăă«ĺŻľă™ă‚‹ĺ‘˝ä»¤}
\label{tab-math}
%&lt;en&gt;\medskip
\centering
\def\{{\char`\{}\def\}{\char`\}}\small
\begin{tabular}{ll}
\toprule
%&lt;en&gt;\bf Japanese fonts&amp;\bf alphabetic fonts\\
%&lt;ja&gt;\bf ĺ’Ść–‡ă•ă‚©ăłă&amp;\bf ć¬§ć–‡ă•ă‚©ăłă\\
\midrule
\cs{jfam}${}\in [0,256)$&amp;\cs{fam}\\
\ttfamily\Param{jatextfont}\,=\{\meta{jfam},\meta{jfont\_cs}\}&amp;\ttfamily\cs{textfont}\meta{fam}=\meta{font\_cs}\\
\ttfamily\Param{jascriptfont}\,=\{\meta{jfam},\meta{jfont\_cs}\}&amp;\ttfamily\cs{scriptfont}\meta{fam}=\meta{font\_cs}\\
\ttfamily\Param{jascriptscriptfont}\,=\{\meta{jfam},\meta{jfont\_cs}\}&amp;\ttfamily\cs{scriptscriptfont}\meta{fam}=\meta{font\_cs}\\
\bottomrule
\end{tabular}
\end{table}

%&lt;en&gt;\subsection{Callbacks}
%&lt;ja&gt;\subsection{ă‚łăĽă«ăăă‚Ż}

%&lt;*en&gt;
\LuaTeX-ja also has several callbacks. These callbacks can
be accessed via \verb+luatexbase.add_to_callback+ function and so on, as other callbacks.
%&lt;/en&gt;
%&lt;*ja&gt;
\LuaTeX č‡Şä˝“ă®ă‚‚ă®ă«ĺŠ&nbsp;ăă¦ďĽŚ\LuaTeX-jaă‚‚ă‚łăĽă«ăăă‚Żă‚’ćŚăŁă¦ă„ă‚‹ďĽŽ
ă“ă‚Śă‚‰ă®ă‚łăĽă«ăăă‚Żă«ăŻďĽŚä»–ă®ă‚łăĽă«ăăă‚Żă¨ĺŚć§ă« \verb+luatexbase.add_to_callback+
é–˘ć•°ăŞă©ă‚’ç”¨ă„ă‚‹ă“ă¨ă§ă‚˘ă‚Żă‚»ă‚ąă™ă‚‹ă“ă¨ăŚă§ăŤă‚‹ďĽŽ
%&lt;/ja&gt;
\begin{description}[font=\bfseries, style=nextline]
%&lt;en&gt;\item[\texttt{luatexja.load\_jfm} callback]
%&lt;ja&gt;\item[\texttt{luatexja.load\_jfm}ă‚łăĽă«ăăă‚Ż]
%&lt;*en&gt;
With this callback, one can overwrite JFMs.
This callback is called when a new JFM is loaded.
%&lt;/en&gt;
%&lt;*ja&gt;
ă“ă®ă‚łăĽă«ăăă‚Żă‚’ç”¨ă„ă‚‹ă“ă¨ă§JFMă‚’ä¸Šć›¸ăŤă™ă‚‹ă“ă¨ăŚă§ăŤă‚‹ďĽŽ
ă“ă®ă‚łăĽă«ăăă‚ŻăŻć–°ă—ă„JFMăŚčŞ­ăżčľĽăľă‚Śă‚‹ă¨ăŤă«ĺ‘Ľăłĺ‡şă•ă‚Śă‚‹ďĽŽ
%&lt;/ja&gt;

\begin{lstlisting}[numbers=left]
function (&lt;table&gt; jfm_info, &lt;string&gt; jfm_name)
  return &lt;table&gt; new_jfm_info
end
\end{lstlisting}

%&lt;*en&gt;
The argument \verb+jfm_info+ contains a table similar to the table in a JFM file, except
this argument has \texttt{chars} field which contains character codes
	     whose character class is not~0.
%&lt;/en&gt;
%&lt;*ja&gt;
ĺĽ•ć•° \verb+jfm_info+ ăŻJFMă•ă‚ˇă‚¤ă«ă®ă†ăĽă–ă«ă¨äĽĽăźă‚‚ă®ăŚć&nbsp;Ľç´Ťă•ă‚Śă‚‹ăŚďĽŚ
ă‚Żă©ă‚ą0ă‚’é™¤ă„ăźć–‡ĺ­—ă®ă‚łăĽă‰ă‚’ĺ«ă‚“ă&nbsp;\texttt{chars}ă•ă‚ŁăĽă«ă‰ă‚’ćŚă¤ç‚ąăŚç•°ăŞă‚‹ďĽŽ
%&lt;/ja&gt;

%&lt;*en&gt;
An example of this callback is the \texttt{ltjarticle} class, with
	     forcefully assigning character class~0 to \texttt{'parbdd'}
	     in the JFM \texttt{jfm-min.lua}.
%&lt;/en&gt;
%&lt;*ja&gt;
ă“ă®ă‚łăĽă«ăăă‚Żă®ä˝żç”¨äľ‹ăŻ\texttt{ltjarticle}ă‚Żă©ă‚ąă«ă‚ă‚ŠďĽŚ
\texttt{jfm-min.lua}ä¸­ă®\texttt{'parbdd'}ă‚’ĺĽ·ĺ¶çš„ă«ă‚Żă©ă‚ą0ă«ĺ‰˛ă‚Šĺ˝“ă¦ă¦ă„ă‚‹ďĽŽ
%&lt;/ja&gt;

%&lt;en&gt;\item[\texttt{luatexja.define\_jfont} callback]
%&lt;ja&gt;\item[\texttt{luatexja.define\_jfont}ă‚łăĽă«ăăă‚Ż]
%&lt;*en&gt;
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.
%&lt;/en&gt;
%&lt;*ja&gt;
ă“ă®ă‚łăĽă«ăăă‚Żă¨ć¬ˇă®ă‚łăĽă«ăăă‚ŻăŻçµ„ă‚’ăŞă—ă¦ăŠă‚ŠďĽŚUnicodeä¸­ă«ĺ›şĺ®šă•ă‚Śăźć–‡ĺ­—ă‚łăĽă‰
ç•ŞĺŹ·ă‚’ćŚăźăŞă„ć–‡ĺ­—ă‚’éťžé›¶ă®ć–‡ĺ­—ă‚Żă©ă‚ąă«ĺ‰˛ă‚Šĺ˝“ă¦ă‚‹ă“ă¨ăŚă§ăŤă‚‹ďĽŽ
ă“ă®ă‚łăĽă«ăăă‚ŻăŻć–°ă—ă„ĺ’Ść–‡ă•ă‚©ăłăăŚčŞ­ăżčľĽăľă‚Śăźă¨ăŤă«ĺ‘Ľăłĺ‡şă•ă‚Śă‚‹ďĽŽ
%&lt;/ja&gt;

\begin{lstlisting}[numbers=left]
function (&lt;table&gt; jfont_info, &lt;number&gt; font_number)
  return &lt;table&gt; new_jfont_info
end
\end{lstlisting}
%&lt;*en&gt;
\verb+jfont_info+ has the following fields,
\emph{which may not overwritten by a user}:
\begin{description}
\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=\{\meta{character}, ...\}} in the JFM will be  stored in this
	   field as \texttt{chars=\{[\meta{character}]=\,$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 \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*}
  1&amp;(\texttt{'right'} in JFM),\\
  0.5&amp;(\texttt{'middle'} in JFM),\\
  0&amp;(otherwise).
 \end{cases*}
\]
\end{itemize}
For $i$,~$j\in \omega$, \texttt{char\_type[$i$][$j$]} stores a kern or a glue which will be inserted
between character class~$i$ and class~$j$.
\end{description}
%&lt;/en&gt;
%&lt;*ja&gt;
\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ĺŤä˝Ťă§ć&nbsp;Ľç´Ťă—ă¦ă„ă‚‹ďĽŽ
\item[jfm]
ĺ©ç”¨ă•ă‚Śă¦ă„ă‚‹JFMă‚’č­ĺĄă™ă‚‹ăźă‚ă®ç•ŞĺŹ·ďĽŽ
\item[var]
\cs{jfont},~\cs{tfont} ă§ćŚ‡ĺ®šă•ă‚Śăź \texttt{jfmvar} ă‚­ăĽă®ĺ€¤ďĽćśŞćŚ‡ĺ®šă®ă¨ăŤăŻç©şć–‡ĺ­—ĺ—ďĽ‰ďĽŽ
\item[chars]
ć–‡ĺ­—ă‚łăĽă‰ă‹ă‚‰ć–‡ĺ­—ă‚Żă©ă‚ąă¸ă®ĺŻľĺżśăŚč¨čż°ă•ă‚Śăźă†ăĽă–ă«ďĽŽ\\
JFMĺ†…ă® \texttt{[i].chars=\{\meta{character}, ...\}} ă¨ă„ă†ćŚ‡ĺ®šăŻ\
\texttt{chars=\{[\meta{character}]=\,$i$, ...\}} ă¨ă„ă†ĺ˝˘ĺĽŹă«ĺ¤‰ćŹ›ă•ă‚Śă¦ă„ă‚‹ďĽŽ
\item[char\_type]
$i\in\omega$ă«ĺŻľă—ă¦ďĽŚ\texttt{char\_type[$i$]} ăŻć–‡ĺ­—ă‚Żă©ă‚ą$i$ă®ć–‡ĺ­—ă®ĺŻ¸ćł•ă‚’ć&nbsp;Ľç´Ťă—ă¦ăŠă‚ŠďĽŚ
ä»Ąä¸‹ă®ă•ă‚ŁăĽă«ă‰ă‚’ćŚă¤ďĽŽ
\begin{itemize}
 \item \texttt{width},~\texttt{height}, \texttt{depth},
  \texttt{italic}, \texttt{down},~\texttt{left}\ ăŻ
JFMă§ćŚ‡ĺ®šă•ă‚Śă¦ă„ă‚‹ăťă‚Śăžă‚Śă®ĺ€¤ă‚’ă‚ąă‚±ăĽăŞăłă‚°ă—ăźă‚‚ă®ă§ă‚ă‚‹ďĽŽ
 \item \texttt{align} ăŻJFMă§ćŚ‡ĺ®šă•ă‚Śă¦ă„ă‚‹ĺ€¤ă«ă‚ăŁă¦ďĽŚ
\[
 \begin{cases*}
  1&amp;(\texttt{'right'} in JFM),\\
  0.5&amp;(\texttt{'middle'} in JFM),\\
  0&amp;(otherwise).
 \end{cases*}
\]
ă®ă„ăšă‚Śă‹ă®ĺ€¤ă‚’ă¨ă‚‹ďĽŽ
\end{itemize}
$i$,~$j\in \omega$ă«ĺŻľă—ă¦ďĽŚ\texttt{char\_type[$i$][$j$]} ăŻ
ć–‡ĺ­—ă‚Żă©ă‚ą$i$ă®ć–‡ĺ­—ă¨$j$ă®ć–‡ĺ­—ă®é–“ă«ćŚżĺ…Ąă•ă‚Śă‚‹ă‚°ă«ăĽă‚„ă‚«ăĽăłă®ć…ĺ&nbsp;±ă‚’ć&nbsp;Ľç´Ťă—ă¦ă„ă‚‹ďĽŽ

é–“ă«ĺ…Ąă‚‹ă‚‚ă®ăŚă‚«ăĽăłă§ă‚ă‚Śă°ďĽŚă“ă®ĺ€¤ăŻ%
\texttt{[$j$]=\{\meta{kern}, ratio=\meta{ratio}\}}ă§ă‚ă‚ŠďĽŚ
\meta{kern}ăŻă‚«ăĽăłă®ĺ€¤ă‚’spĺŤä˝Ťă§čˇ¨ă—ăźă‚‚ă®ă§ă‚ă‚‹ďĽŽ
  
ä¸€ć–ąďĽŚé–“ă«ĺ…Ąă‚‹ă‚‚ă®ăŚă‚°ă«ăĽă§ă‚ă‚Śă°ďĽŚă“ă®ĺ€¤ăŻä»Ąä¸‹ă®ă‚­ăĽă‚’ćŚă¤ă†ăĽă–ă«ă§ă‚ă‚‹ďĽŽ
\begin{description}
  \item[{[1], [2], [3]}]
  ă‚°ă«ăĽă®ăťă‚Śăžă‚Śč‡Şç„¶é•·ďĽŚäĽ¸ăłé‡ŹďĽŚç¸®ăżé‡Źă‚’spĺŤä˝Ťă§čˇ¨ă—ăźă‚‚ă®ďĽŽ
  \item[\texttt{priority}] ďĽăăĽă‚¸ă§ăł2ä»Ąé™Ťă®ďĽ‰JFMă§ă®ćŚ‡ĺ®š \texttt{\{\meta{stretch},\meta{shrink}\}} ă‚’
  \[
    (\text{\meta{stretch}}+4)\cdot 8+\text{\meta{shrink}}+4
  \]
  ă¨ă—ă¦0--63ă®ć•´ć•°ă«ă‘ăă‚Żă—ăźă‚‚ă®ďĽŽ
  \item[\texttt{ratio}, \texttt{kanjiskip\_natural}, \texttt{kanjiskip\_stretch}, \texttt{kanjiskip\_shrink}]
  JFMä¸­ă®ĺŚĺŤă®ă•ă‚ŁăĽă«ă‰ă®ĺ€¤ăŚăťă®ăľăľä˝żă‚Źă‚Śă¦ă„ă‚‹ďĽŽ
\end{description}
\item[chars\_cbcache]
ć–‡ĺ­—ă‚Żă©ă‚ąć±şĺ®šă®ĺ‡¦ç†ă§ďĽŽă‚­ăŁăă‚·ăĄă¨ă—ă¦ä˝żă‚Źă‚Śă‚‹ďĽŽ
\end{cslist}
%&lt;/ja&gt;

%&lt;*en&gt;
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.
%&lt;/en&gt;
%&lt;*ja&gt;
ć»ă‚Šĺ€¤ă® \verb+new_jfont_info+ ă†ăĽă–ă«ă‚‚ä¸Šă«čż°ăąăźă•ă‚ŁăĽă«ă‰ă‚’ăťă®ăľăľĺ«ăľăŞă‘ă‚Śă°ăŞă‚‰ăŞă„ăŚďĽŚ
ăťă‚Śä»Ąĺ¤–ă«ă¦ăĽă‚¶ăŚĺ‹ťć‰‹ă«ă•ă‚ŁăĽă«ă‰ă‚’ä»ă‘ĺŠ&nbsp;ăă‚‹ă“ă¨ăŻč‡Şç”±ă§ă‚ă‚‹ďĽŽ
\verb+font_number+ ăŻă•ă‚©ăłăç•ŞĺŹ·ă§ă‚ă‚‹ďĽŽ
%&lt;/ja&gt;

%&lt;*en&gt;
A good example of this and the next callbacks is the \Pkg{luatexja-otf}
	     package, supporting \verb+"AJ1-xxx"+ form for Adobe-Japan1
	     CID characters in a JFM. This callback doesn't replace any
	     code of \LuaTeX-ja.
%&lt;/en&gt;
%&lt;*ja&gt;
ă“ă‚Śă¨ć¬ˇă®ă‚łăĽă«ăăă‚Żă®č‰Żă„ä˝żç”¨äľ‹ăŻ\Pkg{luatexja-otf}ă‘ăă‚±ăĽă‚¸ă§ă‚ă‚ŠďĽŚ
JFMä¸­ă§Adobe-Japan1 CIDă®ć–‡ĺ­—ă‚’ \verb+"AJ1-xxx"+ ă®ĺ˝˘ă§ćŚ‡ĺ®šă™ă‚‹ăźă‚ă«
ç”¨ă„ă‚‰ă‚Śă¦ă„ă‚‹ďĽŽ
%&lt;/ja&gt;

%&lt;en&gt;\item[\texttt{luatexja.find\_char\_class} callback]
%&lt;ja&gt;\item[\texttt{luatexja.find\_char\_class}ă‚łăĽă«ăăă‚Ż]
%&lt;*en&gt;
This callback is called just when \LuaTeX-ja is trying to determine which
	     character class a character \verb+chr_code+ belongs.
A function used in this callback should be in the following form:
%&lt;/en&gt;
%&lt;*ja&gt;
ă“ă®ă‚łăĽă«ăăă‚ŻăŻ\LuaTeX-jaăŚ \verb+chr_code+ ă®ć–‡ĺ­—ăŚă©ă®ć–‡ĺ­—ă‚Żă©ă‚ąă«
ĺ±žă™ă‚‹ă‹ă‚’ć±şĺ®šă—ă‚ă†ă¨ă™ă‚‹éš›ă«ĺ‘Ľăłĺ‡şă•ă‚Śă‚‹ďĽŽ
ă“ă®ă‚łăĽă«ăăă‚Żă§ĺ‘Ľăłĺ‡şă•ă‚Śă‚‹é–˘ć•°ăŻć¬ˇă®ĺ˝˘ă‚’ă—ă¦ă„ăŞă‘ă‚Śă°ăŞă‚‰ăŞă„ďĽš
%&lt;/ja&gt;
\begin{lstlisting}[numbers=left]
function (&lt;number&gt; char_class, &lt;table&gt; jfont_info, &lt;number&gt; char_code)
  if char_class~=0 then return char_class
  else
    ....
    return (&lt;number&gt; new_char_class or 0)
  end
end
\end{lstlisting}

%&lt;*en&gt;
The argument \verb+char_class+ is the result of \LuaTeX-ja's default
	     routine or previous function calls in this callback, hence
	     this argument may not be 0. Moreover, the returned
	     \verb+new_char_class+ should be as same as \verb+char_class+ when \verb+char_class+
	     is not~0, otherwise you will overwrite the \LuaTeX-ja's
	     default routine.
%&lt;/en&gt;
%&lt;*ja&gt;
ĺĽ•ć•° \verb+char_class+ ăŻ\LuaTeX-jaă®ă‡ă•ă‚©ă«ăă«ăĽăăłă‹ďĽŚă“ă®ă‚łăĽă«ăăă‚Żă®
ç›´ĺ‰Ťă®é–˘ć•°ĺ‘Ľăłĺ‡şă—ă®çµćžśă‚’ĺ«ă‚“ă§ăŠă‚ŠďĽŚă—ăźăŚăŁă¦ă“ă®ĺ€¤ăŻ0ă§ăŻăŞă„ă‹ă‚‚ă—ă‚ŚăŞă„ďĽŽ
ă•ă‚‰ă«ďĽŚć»ă‚Šĺ€¤ă® \verb+new_char_class+ ăŻ \verb+char_class+ ăŚéťžé›¶ă®ă¨ăŤă«ăŻ
\verb+char_class+ ă®ĺ€¤ă¨ĺŚăă§ă‚ă‚‹ăąăŤă§ďĽŚăťă†ă§ăŞă„ă¨ăŤăŻ\LuaTeX-jaă®
ă‡ă•ă‚©ă«ăă«ăĽăăłă‚’ć›¸ăŤćŹ›ăă‚‹ă“ă¨ă«ăŞă‚‹ďĽŽ
%&lt;/ja&gt;

%&lt;en&gt;\item[\texttt{luatexja.set\_width} callback]
%&lt;ja&gt;\item[\texttt{luatexja.set\_width}ă‚łăĽă«ăăă‚Ż]
%&lt;*en&gt;
This callback is called when \LuaTeX-ja is trying to encapsule a
	     \textbf{JAchar} \textit{glyph\_node}, to adjust its
	     dimension and position.
%&lt;/en&gt;
%&lt;*ja&gt;
ă“ă®ă‚łăĽă«ăăă‚ŻăŻ\LuaTeX-jaăŚ\textbf{JAchar}ă®ĺŻ¸ćł•ă¨ä˝Ťç˝®ă‚’čŞżçŻ€ă™ă‚‹ăźă‚ă«
ăťă®\textit{glyph\_node}ă‚’ă‚«ă—ă‚»ă«ĺŚ–ă—ă‚ă†ă¨ă™ă‚‹éš›ă«ĺ‘Ľăłĺ‡şă•ă‚Śă‚‹ďĽŽ
%&lt;/ja&gt;
\begin{lstlisting}[numbers=left]
function (&lt;table&gt; shift_info, &lt;table&gt; jfont_info, &lt;table&gt; char_type)
  return &lt;table&gt; new_shift_info
end
\end{lstlisting}

%&lt;*en&gt;
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.
%&lt;/en&gt;
%&lt;*ja&gt;
ĺĽ•ć•° \verb+shift_info+ ă¨ć»ă‚Šĺ€¤ă® \verb+new_shift_info+ ăŻ
\texttt{down}ă¨\texttt{left}ă®ă•ă‚ŁăĽă«ă‰ă‚’ćŚăˇďĽŚă“ă‚Śă‚‰ă®ĺ€¤ăŻ
ć–‡ĺ­—ă®ä¸‹ďĽŹĺ·¦ă¸ă®ă‚·ă•ăé‡ŹďĽspĺŤä˝ŤďĽ‰ă§ă‚ă‚‹ďĽŽ
%&lt;/ja&gt;

%&lt;*en&gt;
A good example is \Pkg{test/valign.lua}.
After loading this file, the vertical position of glyphs is automatically
adjusted; the ratio $(\hbox{height}:\hbox{depth})$ of glyphs is adjusted
to be that of letters in the character class~0. For example, suppose that
\begin{itemize}
\item The setting of the JFM: $(\hbox{height})=88x$, $(\hbox{depth})=12x$
  (the standard values of Japanese OpenType fonts);
\item The value of the real font: $(\hbox{height})=28y$, $(\hbox{depth})=5y$
  (the standard values of Japanese TrueType fonts).
\end{itemize}
Then, the position of glyphs is shifted up by
%&lt;/en&gt;
%&lt;*ja&gt;
č‰Żă„äľ‹ăŚ\Pkg{test/valign.lua}ă§ă‚ă‚‹ďĽŽă“ă®ă•ă‚ˇă‚¤ă«ăŚčŞ­ăżčľĽăľă‚ŚăźçŠ¶ć…‹ă§ăŻďĽŚ
	     JFMĺ†…ă§č¦Źĺ®šă•ă‚Śăźć–‡ĺ­—ă‚Żă©ă‚ą0ă®ć–‡ĺ­—ă«ăŠă‘ă‚‹$(\hbox{é«
	     ă•}):(\hbox{ć·±ă•})$ă®ćŻ”ă«ăŞă‚‹ă‚ă†ă«ďĽŚĺ®źéš›ă®ă•ă‚©ăłăă®ĺ‡şĺŠ›ä¸Š
	     ä¸‹ä˝Ťç˝®ăŚč‡Şĺ‹•čŞżć•´ă•ă‚Śă‚‹ďĽŽäľ‹ăă°ďĽŚ
\begin{itemize}
\item JFMĺ´ă®č¨­ĺ®šďĽš$(\hbox{é«ă•})=88x$, $(\hbox{ć·±ă•})=12x$%
ďĽĺ’Ść–‡OpenTypeă•ă‚©ăłăă®ć¨™ćş–ĺ€¤ďĽ‰
\item ĺ®źă•ă‚©ăłăĺ´ă®ć•°ĺ€¤ďĽš$(\hbox{é«ă•})=28y$, $(\hbox{ć·±ă•})=5y$ďĽĺ’Ść–‡TrueTypeă•ă‚©ăłăă®ć¨™ćş–ĺ€¤ďĽ‰
\end{itemize}
ă¨ăŞăŁă¦ă„ăźă¨ă™ă‚‹ďĽŽă™ă‚‹ă¨ďĽŚĺ®źéš›ă®ć–‡ĺ­—ă®ĺ‡şĺŠ›ä˝Ťç˝®ăŻďĽŚä»Ąä¸‹ă®é‡Źă&nbsp;ă‘ä¸Šă«ăšă‚‰ă•ă‚Śă‚‹ă“ă¨ă¨ăŞă‚‹ďĽš
%&lt;/ja&gt;
\[
 \frac{88x}{88x+12x} (28y+5y) - 28y = \frac{26}{25}y= 1.04y.
\]
\end{description}

%&lt;en&gt;\section{Parameters}
%&lt;ja&gt;\section{ă‘ă©ăˇăĽă‚ż}
\subsection{\cs{ltjsetparameter}}
\label{ssec:param}

%&lt;*en&gt;
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}.
%&lt;/en&gt;
%&lt;*ja&gt;
ĺ…ă«čż°ăąăźă‚ă†ă«ďĽŚ\LuaTeX-jaă®ĺ†…é¨ă‘ă©ăˇăĽă‚żă«ă‚˘ă‚Żă‚»ă‚ąă™ă‚‹ă«ăŻ
\cs{ltjsetparameter}ďĽăľăźăŻ \cs{ltjglobalsetparameter}ďĽ‰ă¨ \cs{ltjgetparameter} ă‚’ç”¨ă„ă‚‹ďĽŽ
\LuaTeX-jaăŚ\pTeX ă®ă‚ă†ăŞć–‡ćł•ďĽäľ‹ăă°ďĽŚ\verb+\prebreakpenalty`ďĽ‰=10000+ďĽ‰ă‚’
ćŽˇç”¨ă—ăŞă„ç†ç”±ă®ä¸€ă¤ăŻďĽŚ\LuaTeX ă®ă‚˝ăĽă‚ąă«ăŠă‘ă‚‹ \verb+hpack_filter+
ă‚łăĽă«ăăă‚Żă®ä˝Ťç˝®ă«ă‚ă‚‹ďĽŽ\ref{sec-para}ç«&nbsp;ă‚’ĺŹ‚ç…§ďĽŽ
%&lt;/ja&gt;

%&lt;*en&gt;
\cs{ltjsetparameter} and \cs{ltjglobalsetparameter} are commands
for assigning parameters. These take one argument which is a key-value list.
The difference between these two commands is the
scope of assignment;
\cs{ltjsetparameter} does a local assignment and
\cs{ltjglobalsetparameter} does a global one by default.
They also obey the value of \cs{globaldefs}, like other assignments.
%&lt;/en&gt;
%&lt;*ja&gt;
\cs{ltjsetparameter} ă¨ \cs{ltjglobalsetparameter} ăŻă‘ă©ăˇăĽă‚żă‚’
ćŚ‡ĺ®šă™ă‚‹ăźă‚ă®ĺ‘˝ä»¤ă§ďĽŚkey-valueăŞă‚ąăă‚’
ĺĽ•ć•°ă¨ă—ă¦ă¨ă‚‹ďĽŽä¸ˇč€…ă®é•ă„ăŻă‚ąă‚łăĽă—ă§ă‚ă‚ŠďĽŚć¨™ćş–ă§ăŻ
\cs{ltjsetparameter} ăŻă­ăĽă‚«ă«ăŞč¨­ĺ®šă‚’čˇŚă†ă®ă«ĺŻľă—ďĽŚ
\cs{ltjglobalsetparameter} ăŻă‚°ă­ăĽăă«ăŞč¨­ĺ®šă‚’čˇŚă†ďĽŽ
ăľăźďĽŚä»–ă®ă‘ă©ăˇăĽă‚żćŚ‡ĺ®šă¨ĺŚć§ă« \cs{globaldefs} ă®ĺ€¤ă«ă‚‚ĺľ“ă†ďĽŽ
%&lt;/ja&gt;

%&lt;*en&gt;
The following is the list of parameters which can be specified by the
\cs{ltjsetparameter} command. [\cs{cs}] indicates the counterpart
in \pTeX, and symbols beside each parameter has the following meaning:
%&lt;/en&gt;
%&lt;*ja&gt;
ä»Ąä¸‹ăŻ \cs{ltjsetparameter} ă«ćŚ‡ĺ®šă™ă‚‹ă“ă¨ăŚă§ăŤă‚‹ă‘ă©ăˇăĽă‚żă®ä¸€č¦§ă§ă‚ă‚‹ďĽŽ
[\cs{cs}]ăŻ\pTeX ă«ăŠă‘ă‚‹ĺŻľĺżśç‰©ă‚’ç¤şă™ďĽŽ
ăľăźďĽŚăťă‚Śăžă‚Śă®ă‘ă©ăˇăĽă‚żă®ĺŹłä¸Šă®č¨ĺŹ·ă«ăŻć¬ˇă®ć„Źĺ‘łăŚă‚ă‚‹ďĽš
%&lt;/ja&gt;
\begin{itemize}
%&lt;*en&gt;
\item ``$\ast$'' : values at the end of a paragraph or a hbox are
adopted in the whole paragraph or the whole hbox.
%&lt;/en&gt;
%&lt;*ja&gt;
\item ``$\ast$''ďĽšć®µč˝ă‚„hboxă®çµ‚ç«Żă§ă®ĺ€¤ăŚăťă®ć®µč˝ďĽŹhboxĺ…¨ä˝“ă§ç”¨ă„ă‚‰ă‚Śă‚‹ďĽŽ
%&lt;/ja&gt;
%&lt;*en&gt;
\item ``\dagger'': assignments are always global.
%&lt;/en&gt;
%&lt;*ja&gt;
\item ``\dagger''ďĽšćŚ‡ĺ®šăŻĺ¸¸ă«ă‚°ă­ăĽăă«ă«ăŞă‚‹ďĽŽ
%&lt;/ja&gt;
\end{itemize}

\begin{cslist}[style=standard]
\item[\DParam{jcharwidowpenalty}\,=\meta{penalty}$^\ast$] [\cs{jcharwidowpenalty}]\

%&lt;*en&gt;
Penalty value for suppressing orphans. This penalty is inserted just
	     after the last \textbf{JAchar} which is not regarded as a
	     (Japanese) punctuation mark.
%&lt;/en&gt;
%&lt;*ja&gt;
ă‘ă©ă‚°ă©ă•ă®ćś€ĺľŚă®ĺ­—ăŚĺ­¤ç«‹ă—ă¦ć”ąčˇŚă•ă‚Śă‚‹ă®ă‚’é˛ăăźă‚ă®ăšăŠă«ă†ă‚Łă®ĺ€¤ďĽŽ
ă“ă®ăšăŠă«ă†ă‚ŁăŻďĽć—Ąćś¬čŞžă®ďĽ‰ĺŹĄčŞ­ç‚ąă¨ă—ă¦ć‰±ă‚Źă‚ŚăŞă„ćś€ĺľŚă®\textbf{JAchar}ă®ç›´ĺľŚă«
ćŚżĺ…Ąă•ă‚Śă‚‹ďĽŽ
%&lt;/ja&gt;

\item[\DParam{kcatcode}\,=\{\meta{char\_code},\meta{natural number}\}$^\ast$]\

%&lt;*en&gt;
An additional attributes which each character whose character code is \meta{char\_code} has.
At version~20120506.0 or later, the lowermost bit of \meta{natural number} indicates
	     whether the character is considered as a punctuation mark
	     (see the description of \Param{jcharwidowpenalty} above).
%&lt;/en&gt;
%&lt;*ja&gt;
ć–‡ĺ­—ă‚łăĽă‰ăŚ\meta{char\_code}ă®ć–‡ĺ­—ăŚćŚă¤ä»ĺŠ&nbsp;çš„ăŞĺ±žć€§ĺ€¤ďĽŽ
ăăĽă‚¸ă§ăł20120506.0ä»Ąé™Ťă§ăŻďĽŚ\meta{natural number}ă®ćś€ä¸‹ä˝Ťă“ăăăŚďĽŚăťă®ć–‡ĺ­—ăŚĺŹĄčŞ­ç‚ąă¨
ăżăŞă•ă‚Śă‚‹ă‹ă©ă†ă‹ă‚’čˇ¨ă—ă¦ă„ă‚‹ďĽä¸Šă®\Param{jcharwidowpenalty}ă®č¨čż°ă‚’ĺŹ‚ç…§ďĽ‰ďĽŽ
%&lt;/ja&gt;

\item[\DParam{prebreakpenalty}\,=\{\meta{char\_code},\meta{penalty}\}$^\ast$] [\cs{prebreakpenalty}]\

%&lt;*ja&gt;
ć–‡ĺ­—ă‚łăĽă‰\meta{char\_code}ă®\textbf{JAchar}ăŚčˇŚé&nbsp;­ă«ăŹă‚‹ă“ă¨ă‚’ćŠ‘ć­˘ă™ă‚‹ăźă‚ă«ďĽŚ
	     ă“ă®ć–‡ĺ­—ă®ĺ‰Ťă«ćŚżĺ…Ą/čż˝ĺŠ&nbsp;ă•ă‚Śă‚‹ăšăŠă«ă†ă‚Łă®é‡Źă‚’ćŚ‡ĺ®šă™ă‚‹ďĽŽ

äľ‹ăă°é–‰ăć‹¬ĺĽ§ă€Śă€—ă€ŤăŻçµ¶ĺŻľă«čˇŚé&nbsp;­ă«ăŤă¦ăŻăŞă‚‰ăŞă„ă®ă§ďĽŚ
\begin{lstlisting}
\ltjsetparameter{prebreakpenalty={`ă€™,10000}}
\end{lstlisting}
ă¨ďĽŚćś€ĺ¤§ĺ€¤ă®10000ăŚć¨™ćş–ă§ćŚ‡ĺ®šă•ă‚Śă¦ă„ă‚‹ďĽŽä»–ă«ă‚‚ďĽŚĺ°Źć›¸ăŤă®ă‚«ăŠăŞă©ďĽŚçµ¶ĺŻľç¦ć­˘ă¨ă„
	     ă†ă‚Źă‘ă§ăŻăŞă„ăŚă§ăŤă‚Śă°čˇŚé&nbsp;­ă«ăŻăŤă¦ć¬˛ă—ăŹăŞă„ĺ&nbsp;´ĺă«ďĽŚ0ă¨
	     10000ă®é–“ă®ĺ€¤ă‚’ćŚ‡ĺ®šă™ă‚‹ă®ă‚‚ćś‰ç”¨ă§ă‚ă‚Ťă†ďĽŽ

\pTeX ă§ăŻďĽŚ\cs{prebreakpenalty}, \cs{postbreakpenalty}ă«ăŠă„ă¦ďĽŚ
\begin{itemize}
\item ä¸€ă¤ă®ć–‡ĺ­—ă«ĺŻľă—ă¦ďĽŚpre, postă©ăˇă‚‰ă‹ä¸€ă¤ă—ă‹ćŚ‡ĺ®šă™ă‚‹ă“ă¨ăŚă§ăŤăŞă„%
  \footnote{ĺľŚă‹ă‚‰ćŚ‡ĺ®šă—ăźć–ąă§ä¸Šć›¸ăŤă•ă‚Śă‚‹ďĽŽ}
\item pre, postĺă‚Źă›ă¦256ć–‡ĺ­—ĺ†ă®ć…ĺ&nbsp;±ă‚’ć&nbsp;Ľç´Ťă™ă‚‹ă“ă¨ă—ă‹ă§ăŤăŞă„
\end{itemize}
ă¨ă„ă†ĺ¶é™ăŚă‚ăŁăźăŚďĽŚ\LuaTeX-jaă§ăŻă“ă‚Śă‚‰ă®ĺ¶é™ăŻč§Łć¶ă•ă‚Śă¦ă„ă‚‹ďĽŽ
%&lt;/ja&gt;
%&lt;*en&gt;
Set a penalty which is inserted automatically before the character \meta{char\_code},
to prevent a line starts from this character. For example, a line cannot started
with one of closing brackets ``ă€—'', so \LuaTeX-ja sets
\begin{lstlisting}
\ltjsetparameter{prebreakpenalty={`ă€™,10000}}
\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}
%&lt;/en&gt;

\item[\DParam{postbreakpenalty}\,=\{\meta{char\_code},\meta{penalty}\}$^\ast$]
	   [\cs{postbreakpenalty}]\

%&lt;*ja&gt;
ć–‡ĺ­—ă‚łăĽă‰\meta{char\_code}ă®\textbf{JAchar}ăŚčˇŚćś«ă«ăŹă‚‹ă“ă¨ă‚’ćŠ‘ć­˘ă™ă‚‹ăźă‚ă«ďĽŚ
	     ă“ă®ć–‡ĺ­—ă®ĺľŚă«ćŚżĺ…Ą/čż˝ĺŠ&nbsp;ă•ă‚Śă‚‹ăšăŠă«ă†ă‚Łă®é‡Źă‚’ćŚ‡ĺ®šă™ă‚‹ďĽŽ
%&lt;/ja&gt;
%&lt;*en&gt;
Set a penalty which is inserted automatically after the character \meta{char\_code},
to prevent a line ends with this character.
%&lt;/en&gt;

\item[\DParam{jatextfont}\,=\{\meta{jfam},\meta{jfont\_cs}\}$^\ast$]
%&lt;en&gt;[\cs{textfont} in \TeX]
%&lt;ja&gt;[\TeX ă® \cs{textfont}]
\item[\DParam{jascriptfont}\,=\{\meta{jfam},\meta{jfont\_cs}\}$^\ast$]
%&lt;en&gt;[\cs{scriptfont} in \TeX]
%&lt;ja&gt;[\TeX ă® \cs{scriptfont}]
\item[\DParam{jascriptscriptfont}\,=\{\meta{jfam},\meta{jfont\_cs}\}$^\ast$]
%&lt;en&gt;[\cs{scriptscriptfont} in \TeX]
%&lt;ja&gt;[\TeX ă® \cs{scriptscriptfont}]
\item[\DParam{yjabaselineshift}\,=\meta{dimen}]\
\item[\DParam{yalbaselineshift}\,=\meta{dimen}] [\cs{ybaselineshift}]
\item[\DParam{tjabaselineshift}\,=\meta{dimen}]\
\item[\DParam{talbaselineshift}\,=\meta{dimen}] [\cs{tbaselineshift}]

\item[\DParam{jaxspmode}\,=\{\meta{char\_code},\meta{mode}\}$^\ast$]\

%&lt;*en&gt;
Set whether inserting \Param{xkanjiskip} is allowed before/after a \textbf{JAchar} whose character code is \meta{char\_code}.
The followings are allowed for \meta{mode}:
%&lt;/en&gt;
%&lt;*ja&gt;
ć–‡ĺ­—ă‚łăĽă‰ăŚ\meta{char\_code}ă®\textbf{JAchar}ă®ĺ‰ŤďĽŹĺľŚă‚Ťă«\Param{xkanjiskip}ă®
ćŚżĺ…Ąă‚’č¨±ă™ă‹ă©ă†ă‹ă®č¨­ĺ®šďĽŽ
ä»Ąä¸‹ă®\meta{mode}ăŚč¨±ă•ă‚Śă‚‹ďĽš
%&lt;/ja&gt;
\begin{description}
%&lt;en&gt;\item[0, \texttt{inhibit}] Insertion of \Param{xkanjiskip} is inhibited before the character, nor after the character.
%&lt;ja&gt;\item[0, \texttt{inhibit}] \Param{xkanjiskip}ă®ćŚżĺ…ĄăŻć–‡ĺ­—ă®ĺ‰ŤďĽŹĺľŚă‚Ťă®ă„ăšă‚Śă§ă‚‚ç¦ć­˘ă•ă‚Śă‚‹ďĽŽ
%&lt;en&gt;\item[1, \texttt{preonly}] Insertion of \Param{xkanjiskip} is allowed before the character, but not after.
%&lt;ja&gt;\item[1, \texttt{preonly}] \Param{xkanjiskip}ă®ćŚżĺ…ĄăŻć–‡ĺ­—ă®ĺ‰Ťă§ăŻč¨±ă•ă‚Śă‚‹ăŚďĽŚĺľŚă‚Ťă§ăŻč¨±ă•ă‚ŚăŞă„ďĽŽ
%&lt;en&gt;\item[2, \texttt{postonly}] Insertion of \Param{xkanjiskip} is allowed after the character, but not before.
%&lt;ja&gt;\item[2, \texttt{postonly}] \Param{xkanjiskip}ă®ćŚżĺ…ĄăŻć–‡ĺ­—ă®ĺľŚă‚Ťă§ăŻč¨±ă•ă‚Śă‚‹ăŚďĽŚĺ‰Ťă§ăŻč¨±ă•ă‚ŚăŞă„ďĽŽ
%&lt;en&gt;\item[3, \texttt{allow}] Insertion of \Param{xkanjiskip} is allowed both before the character and after the character. This is the default value.
%&lt;ja&gt;\item[3, \texttt{allow}] \Param{xkanjiskip}ă®ćŚżĺ…ĄăŻć–‡ĺ­—ă®ĺ‰ŤďĽŹĺľŚă‚Ťă®ă„ăšă‚Śă§ă‚‚č¨±ă•ă‚Śă‚‹ďĽŽă“ă‚ŚăŚă‡ă•ă‚©ă«ăă®ĺ€¤ă§ă‚ă‚‹ďĽŽ
\end{description}
%&lt;*en&gt;
This parameter is similar to the \cs{inhibitxspcode} primitive of \pTeX, but not compatible with \cs{inhibitxspcode}.
%&lt;/en&gt;
%&lt;*ja&gt;
ă“ă®ă‘ă©ăˇăĽă‚żăŻ\pTeX ă® \cs{inhibitxspcode} ă—ăŞăźă†ă‚Łă–ă¨äĽĽă¦ă„ă‚‹ăŚďĽŚ
äş’ćŹ›ć€§ăŻăŞă„ďĽŽ
%&lt;/ja&gt;
\item[\DParam{alxspmode}\,=\{\meta{char\_code},\meta{mode}\}$^\ast$] [\cs{xspcode}]\

%&lt;*en&gt;
Set whether inserting \Param{xkanjiskip} is allowed before/after a
	     \textbf{ALchar} whose character code is \meta{char\_code}.
             The followings are allowed for \meta{mode}:
%&lt;/en&gt;
%&lt;*ja&gt;
ć–‡ĺ­—ă‚łăĽă‰ăŚ\meta{char\_code}ă®\textbf{ALchar}ă®ĺ‰ŤďĽŹĺľŚă‚Ťă«\Param{xkanjiskip}ă®
ćŚżĺ…Ąă‚’č¨±ă™ă‹ă©ă†ă‹ă®č¨­ĺ®šďĽŽ
ä»Ąä¸‹ă®\meta{mode}ăŚč¨±ă•ă‚Śă‚‹ďĽš
%&lt;/ja&gt;
\begin{description}
%&lt;en&gt;\item[0, \texttt{inhibit}] Insertion of \Param{xkanjiskip} is inhibited before the character, nor after the character.
%&lt;ja&gt;\item[0, \texttt{inhibit}] \Param{xkanjiskip}ă®ćŚżĺ…ĄăŻć–‡ĺ­—ă®ĺ‰ŤďĽŹĺľŚă‚Ťă®ă„ăšă‚Śă§ă‚‚ç¦ć­˘ă•ă‚Śă‚‹ďĽŽ
%&lt;en&gt;\item[1, \texttt{preonly}] Insertion of \Param{xkanjiskip} is allowed before the character, but not after.
%&lt;ja&gt;\item[1, \texttt{preonly}] \Param{xkanjiskip}ă®ćŚżĺ…ĄăŻć–‡ĺ­—ă®ĺ‰Ťă§ăŻč¨±ă•ă‚Śă‚‹ăŚďĽŚĺľŚă‚Ťă§ăŻč¨±ă•ă‚ŚăŞă„ďĽŽ
%&lt;en&gt;\item[2, \texttt{postonly}] Insertion of \Param{xkanjiskip} is allowed after the character, but not before.
%&lt;ja&gt;\item[2, \texttt{postonly}] \Param{xkanjiskip}ă®ćŚżĺ…ĄăŻć–‡ĺ­—ă®ĺľŚă‚Ťă§ăŻč¨±ă•ă‚Śă‚‹ăŚďĽŚĺ‰Ťă§ăŻč¨±ă•ă‚ŚăŞă„ďĽŽ
%&lt;en&gt;\item[3, \texttt{allow}] Insertion of \Param{xkanjiskip} is allowed before the character and after the character. This is the default value.
%&lt;ja&gt;\item[3, \texttt{allow}] \Param{xkanjiskip}ă®ćŚżĺ…ĄăŻć–‡ĺ­—ă®ĺ‰ŤďĽŹĺľŚă‚Ťă®ă„ăšă‚Śă§ă‚‚č¨±ă•ă‚Śă‚‹ďĽŽă“ă‚ŚăŚă‡ă•ă‚©ă«ăă®ĺ€¤ă§ă‚ă‚‹ďĽŽ
\end{description}
%&lt;*en&gt;
Note that parameters \Param{jaxspmode} and \Param{alxspmode} share a common table, hence these two parameters are synonyms of each other.
%&lt;/en&gt;
%&lt;*ja&gt;
\Param{jaxspmode}ă¨\Param{alxspmode}ăŻĺ…±é€šă®ă†ăĽă–ă«ă‚’ç”¨ă„ă¦ă„ă‚‹ăźă‚ďĽŚ
ă“ă‚Śă‚‰2ă¤ă®ă‘ă©ăˇăĽă‚żăŻäş’ă„ă®ĺĄĺŤă¨ăŞăŁă¦ă„ă‚‹ă“ă¨ă«ćł¨ć„Źă™ă‚‹ďĽŽ
%&lt;/ja&gt;

\item[\DParam{autospacing}\,=\meta{bool}] [\cs{autospacing}]
\item[\DParam{autoxspacing}\,=\meta{bool}] [\cs{autoxspacing}]
\item[\DParam{kanjiskip}\,=\meta{skip}$^\ast$] [\cs{kanjiskip}]\

%&lt;*ja&gt;
ă‡ă•ă‚©ă«ăă§2ă¤ă®\textbf{JAchar}ă®é–“ă«ćŚżĺ…Ąă•ă‚Śă‚‹ă‚°ă«ăĽă§ă‚ă‚‹ďĽŽ
é€šĺ¸¸ă§ăŻďĽŚ\pTeX ă¨ĺŚăă‚ă†ă«ă•ă‚©ăłăă‚µă‚¤ă‚şă«ćŻ”äľ‹ă—ă¦ĺ¤‰ă‚Źă‚‹ă“ă¨ăŻăŞă„ďĽŽ
ă—ă‹ă—ďĽŚč‡Şç„¶é•·ăŚ \cs{maxdimen} ă®ĺ&nbsp;´ĺăŻďĽŚäľ‹ĺ¤–çš„ă«ĺ’Ść–‡ă•ă‚©ăłăă®JFMĺ´ă§ćŚ‡ĺ®šă•ă‚Śă¦ă„ă‚‹
ĺ€¤ă‚’ćŽˇç”¨ďĽă“ăˇă‚‰ăŻă•ă‚©ăłăă‚µă‚¤ă‚şă«ćŻ”äľ‹ďĽ‰ă™ă‚‹ă“ă¨ă«ăŞăŁă¦ă„ă‚‹ďĽŽ
%&lt;/ja&gt;
%&lt;*en&gt;
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}).
%&lt;/en&gt;

\item[\DParam{xkanjiskip}\,=\meta{skip}$^\ast$] [\cs{xkanjiskip}]\

%&lt;*ja&gt;
ă‡ă•ă‚©ă«ăă§\textbf{JAchar}ă¨\textbf{ALchar}ă®é–“ă«ćŚżĺ…Ąă•ă‚Śă‚‹ă‚°ă«ăĽă§ă‚ă‚‹ďĽŽ
\Param{kanjiskip}ă¨ĺŚăă‚ă†ă«ďĽŚé€šĺ¸¸ă§ăŻă•ă‚©ăłăă‚µă‚¤ă‚şă«ćŻ”äľ‹ă—ă¦ĺ¤‰ă‚Źă‚‹ă“ă¨ăŻăŞă„ăŚďĽŚ
č‡Şç„¶é•·ăŚ \cs{maxdimen} ă®ĺ&nbsp;´ĺăŚäľ‹ĺ¤–ă§ă‚ă‚‹ďĽŽ
%&lt;/ja&gt;
%&lt;*en&gt;
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}).
%&lt;/en&gt;


\item[\DParam{differentjfm}\,=\meta{mode}$^\dagger$]\

%&lt;*en&gt;
Specify how glues/kerns between two \textbf{JAchar}s whose JFM (or size) are different.
The allowed arguments are the followings:
%&lt;/en&gt;
%&lt;*ja&gt;
JFMďĽă‚‚ă—ăŹăŻă‚µă‚¤ă‚şďĽ‰ăŚç•°ăŞă‚‹2ă¤ă®\textbf{JAchar}ă®é–“ă«ă‚°ă«ăĽďĽŹă‚«ăĽăłă‚’ă©ă®ă‚ă†ă«
ĺ…Ąă‚Śă‚‹ă‹ă‚’ćŚ‡ĺ®šă™ă‚‹ďĽŽ
č¨±ă•ă‚Śă‚‹ĺ€¤ăŻä»Ąä¸‹ă®é€šă‚ŠďĽš
%&lt;/ja&gt;
\begin{quote}
\texttt{average},
\texttt{both},
\texttt{large},
\texttt{small},
\texttt{pleft},
\texttt{pright},
\texttt{paverage}
\end{quote}
%&lt;*en&gt;
The default value is \texttt{paverage}. \dots
%&lt;/en&gt;
%&lt;*ja&gt;
ă‡ă•ă‚©ă«ăĺ€¤ăŻ \texttt{paverage} ă§ă‚ă‚‹ďĽŽ
ĺ„ă€…ă®ĺ€¤ă«ă‚ă‚‹ĺ·®ç•°ă®č©łç´°ăŻ\ref{ssec:cluster-wa}çŻ€ă®ă€Śă€ŽĺŹłç©şç™˝ă€Źă®ç®—ĺ‡şă€Ťă‚’ĺŹ‚ç…§ă—ă¦ă»ă—ă„ďĽŽ
%&lt;/ja&gt;

\item[\DParam{jacharrange}\,=\meta{ranges}]
\item[\DParam{kansujichar}\,=\{\meta{digit}, \meta{char\_code}\}$^\ast$] [\cs{kansujichar}]

\item[\DParam{direction}\,=\meta{dir}\ \hbox{\normalfont\rmfamily (always local)}]\

%&lt;*en&gt;
Assigning to this parameter has the same effect as
\cs{yoko}~(if $\hbox{\meta{dir}}=4$), \cs{tate}~(if $\hbox{\meta{dir}}=3$),
\cs{dtou}~(if $\hbox{\meta{dir}}=1$) or \cs{utod}~(if $\hbox{\meta{dir}}=11$).
If the argument \meta{dir} is not one of 4,~3, 1~nor~11,
the behavior of this assignment is undefined.
%&lt;/en&gt;
%&lt;*ja&gt;
çµ„ć–ąĺ‘ă‚’ĺ¤‰ć›´ă™ă‚‹ \cs{yoko}~(if $\hbox{\meta{dir}}=4$), \cs{tate}~(if $\hbox{\meta{dir}}=3$),
\cs{dtou}~(if $\hbox{\meta{dir}}=1$), \cs{utod}~(if $\hbox{\meta{dir}}=11$) ă¨ĺŚăĺ˝ąĺ‰˛ă‚’ćŚă¤ďĽŽ
ĺ©ç”¨ĺŹŻč˝ăŞçŠ¶ćłă‚‚ă“ă‚Śă‚‰4ĺ‘˝ä»¤ă¨ĺŚä¸€ă§ă‚ă‚‹ďĽŽĺĽ•ć•°\meta{dir}ăŚ4,~3, 1,~11ă®ă„ăšă‚Śă§ă‚‚ç„ˇă„ă¨ăŤă®
ĺ‹•ä˝śăŻćśŞĺ®šçľ©ă§ă‚ă‚‹ďĽŽ
%&lt;/ja&gt;

\end{cslist}


\subsection{\cs{ltjgetparameter}}
\label{ssec:getpar}
%&lt;*en&gt;
\cs{ltjgetparameter} is a control sequence for acquiring parameters. It
always takes a parameter name as first argument.
%&lt;/en&gt;
%&lt;*ja&gt;
\cs{ltjgetparameter} ăŻă‘ă©ăˇăĽă‚żă®ĺ€¤ă‚’ĺŹ–ĺľ—ă™ă‚‹ăźă‚ă®ĺ‘˝ä»¤ă§ă‚ă‚ŠďĽŚ
ĺ¸¸ă«ă‘ă©ăˇăĽă‚żă®ĺŤĺ‰Ťă‚’ç¬¬ä¸€ĺĽ•ć•°ă«ă¨ă‚‹ďĽŽ
%&lt;/ja&gt;
\begin{LTXexample}
\ltjgetparameter{differentjfm},
\ltjgetparameter{autospacing},
\ltjgetparameter{kanjiskip},
\ltjgetparameter{prebreakpenalty}{`ďĽ‰}.
\end{LTXexample}

%&lt;*en&gt;
\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).
%&lt;/en&gt;
%&lt;*ja&gt;
\emph{\cs{ltjgetparameter} ă®ć»ă‚Šĺ€¤ăŻĺ¸¸ă«ć–‡ĺ­—ĺ—ă§ă‚ă‚‹ďĽŽ}
ă“ă‚ŚăŻ\texttt{tex.write()}ă«ă‚ăŁă¦ĺ‡şĺŠ›ă—ă¦ă„ă‚‹ăźă‚ă§ďĽŚç©şç™˝ă€Ś\texttt{\char32}ă€Ť
(\texttt{U+0020})ă‚’é™¤ă„ăźć–‡ĺ­—ă®ă‚«ă†ă‚´ăŞăĽă‚łăĽă‰ăŻĺ…¨ă¦12~(other)ă¨ăŞă‚‹ďĽŽ
ä¸€ć–ąďĽŚç©şç™˝ă®ă‚«ă†ă‚´ăŞăĽă‚łăĽă‰ăŻ10~(space)ă§ă‚ă‚‹ďĽŽ
%&lt;/ja&gt;

\begin{itemize}
\item
%&lt;*en&gt;
If first argument is one of the
following, no  additional argument is needed.
%&lt;/en&gt;
%&lt;*ja&gt;
ç¬¬1ĺĽ•ć•°ăŚć¬ˇă®ă„ăšă‚Śă‹ă®ĺ&nbsp;´ĺă«ăŻďĽŚčż˝ĺŠ&nbsp;ă®ĺĽ•ć•°ăŻĺż…č¦ăŞă„ďĽŽ
%&lt;/ja&gt;
\begin{quote}
\sffamily
jcharwidowpenalty, yjabaselineshift, yalbaselineshift, autospacing, autoxspacing,\\
kanjiskip, xkanjiskip, differentjfm, direction
\end{quote}
%&lt;*en&gt;
Note that \verb+\ltjgetparameter{autospacing}+~and~\verb+\ltjgetparameter{autoxspacing}+
returns 1 or 0, not
\texttt{true}~nor~\texttt{false}.
%&lt;/en&gt;
%&lt;*ja&gt;
\verb+\ltjgetparameter{autospacing}+ ă¨ \verb+\ltjgetparameter{autoxspacing}+ ăŻďĽŚ
\texttt{true}ă‚„\texttt{false}ă‚’čż”ă™ă®\emph{ă§ăŻăŞăŹ}ďĽŚ
1ă‹0ă®ă„ăšă‚Śă‹ă‚’čż”ă™ă“ă¨ă«ćł¨ć„ŹďĽŚ
%&lt;/ja&gt;

\item
%&lt;*en&gt;
If first argument is one of the
following, an additional argument---a character code, for example---is needed.
%&lt;/en&gt;
%&lt;*ja&gt;
ç¬¬1ĺĽ•ć•°ăŚć¬ˇă®ă„ăšă‚Śă‹ă®ĺ&nbsp;´ĺă«ăŻďĽŚă•ă‚‰ă«ć–‡ĺ­—ă‚łăĽă‰ă‚’ç¬¬2ĺĽ•ć•°ă¨ă—ă¦ă¨ă‚‹ďĽŽ
%&lt;/ja&gt;
\begin{quote}
\sffamily
kcatcode, prebreakpenalty, postbreakpenalty, jaxspmode, alxspmode
\end{quote}
%&lt;*en&gt;
\verb+\ltjgetparameter{jaxspmode}{...}+~and~\verb+\ltjgetparameter{alxspmode}{...}+
returns 0,~1, 2,~or~3, instead of \texttt{preonly} etc.
%&lt;/en&gt;
%&lt;*ja&gt;
\verb+\ltjgetparameter{jaxspmode}{...}+ ă‚„ \verb+\ltjgetparameter{alxspmode}{...}+\
ăŻďĽŚ\texttt{preonly} ăŞă©ă¨ă„ăŁăźć–‡ĺ­—ĺ—ă§ăŻăŞăŹďĽŚ0ă‹ă‚‰3ăľă§ă®ĺ€¤ă‚’čż”ă™ďĽŽ
%&lt;/ja&gt;

\item
%&lt;*en&gt;
\verb+\ltjgetparameter{jacharrange}{+\meta{range}\verb+}+ returns \texttt{0}
if ``characters which belong to the character range~\meta{range} are \textbf{JAchar}'',
\texttt{1} if ``\dots~are \textbf{ALchar}''.
Although there is no character range~$-1$, specifying $-1$ to \meta{range} does not cause an
      error (returns 1).
%&lt;/en&gt;
%&lt;*ja&gt;
\verb+\ltjgetparameter{jacharrange}{+\meta{range}\verb+}+ ăŻďĽŚ\meta{range}ăŚ\textbf{JAchar}é”ă®
çŻ„ĺ›˛ăŞă‚‰ă°0ă‚’ďĽŚăťă†ă§ăŞă‘ă‚Śă°1ă‚’čż”ă™ďĽŽă€Ś$-1$ç•Şă®ć–‡ĺ­—çŻ„ĺ›˛ă€ŤăŻĺ­ĺś¨ă—ăŞă„ăŚďĽŚ\meta{range}ă«$-1$ă‚’
ćŚ‡ĺ®šă—ă¦ă‚‚ă‚¨ă©ăĽăŻç™şç”źă—ăŞă„ďĽ1ă‚’čż”ă™ďĽ‰ďĽŽ
%&lt;/ja&gt;

\item
%&lt;*en&gt;
For an integer~\meta{digit} between 0~and~9,
     \verb+\ltjgetparameter{kansujichar}{+\meta{digit}\verb+}+ returns the character code
of the result of \cs{kansuji}\meta{digit}.
%&lt;/en&gt;
%&lt;*ja&gt;
0--9ă®ć•°\meta{digit}ă«ĺŻľă—ă¦ďĽŚ
\verb+\ltjgetparameter{kansujichar}{+\meta{digit}\verb+}+ ăŻďĽŚ\cs{kansuji}\meta{digit}ă§ĺ‡şĺŠ›ă•ă‚Ś
     ă‚‹ć–‡ĺ­—ă®ć–‡ĺ­—ă‚łăĽă‰ă‚’čż”ă™ďĽŽ
%&lt;/ja&gt;

\item
%&lt;*en&gt;
\verb+\ltjgetparameter{adjustdir}+ returns a integer which represents
the direction of the surrounding vertical list.
As \Param{direction}, the return value 1 means \emph{dtou} direction,
3 means \emph{tate} direction (vertical typesetting),
and 4 means \emph{yoko} direction (horizontal typesetting).
%&lt;/en&gt;
%&lt;*ja&gt;
\verb+\ltjgetparameter{adjustdir}+ ăŻďĽŚĺ‘¨ĺ›˛ă®vboxă®çµ„ć–ąĺ‘ďĽč¨€ă„ćŹ›ăă‚Śă°ďĽŚ
\cs{vadjust} ă§ç”¨ă„ă‚‰ă‚Śă‚‹çµ„ć–ąĺ‘ďĽ‰ă‚’čˇ¨ă™ć•°ĺ€¤ă‚’čż”ă™ďĽŽ
\Param{direction}ă¨ĺŚć§ă«ďĽŚ1ăŻ \cs{dtou} ć–ąĺ‘ă‚’ďĽŚ
3ăŻç¸¦çµ„ăżă‚’ďĽŚ4ăŻć¨Şçµ„ăżă‚’čˇ¨ă™ďĽŽ
%&lt;/ja&gt;

\item
%&lt;*en&gt;
For an integer~\meta{register} between 0~and~65535,
\verb+\ltjgetparameter{boxdir}{+\meta{register}\verb+}+ returns the direction of
\cs{box}\meta{register}. If this box register is void, the returned value is zero.
%&lt;/en&gt;
%&lt;*ja&gt;
0--65535ă®ć•°\meta{register}ă«ĺŻľă—ă¦ďĽŚ
\verb+\ltjgetparameter{boxdir}{+\meta{register}\verb+}+ ăŻďĽŚ\cs{box}\meta{register}ă«
ć&nbsp;Ľç´Ťă•ă‚Śă¦ă„ă‚‹ăśăă‚Żă‚ąă®çµ„ć–ąĺ‘ă‚’čˇ¨ă™ďĽŽă‚‚ă—ă“ă®ă¬ă‚¸ă‚ąă‚żăŚç©şă®ĺ&nbsp;´ĺăŻďĽŚ0ăŚčż”ă•ă‚Śă‚‹ďĽŽ
%&lt;/ja&gt;

\item
%&lt;*en&gt;
The following parameter names \emph{cannot be specified} in \cs{ltjgetparameter}.
%&lt;/en&gt;
%&lt;*ja&gt;
ć¬ˇă®ă‘ă©ăˇăĽă‚żĺŤă‚’ \cs{ltjgetparameter} ă«ćŚ‡ĺ®šă™ă‚‹ă“ă¨ăŻă§ăŤăŞă„ďĽŽ
%&lt;/ja&gt;
\begin{quote}
\sffamily
jatextfont, jascriptfont, jascriptscriptfont, jacharrange
\end{quote}

\item
%&lt;*en&gt;
\verb+\ltjgetparameter{chartorange}{+\meta{char\_code}\verb+}+ returns
the range number which \meta{char\_code} belongs to
(although there is no parameter named ``chartorange'').

If \meta{char\_code} is between 0 and 127, this \meta{char\_code} does not belong to
any character range. In this case,
      \verb+\ltjgetparameter{chartorange}{+\meta{char\_code}\verb+}+
returns $-1$.

Hence, one can know whether \meta{char\_code} is \textbf{JAchar} or not
by the following:
%&lt;/en&gt;
%&lt;*ja&gt;
\verb+\ltjgetparameter{chartorange}{+\meta{char\_code}\verb+}+ ă«ă‚ăŁă¦
\meta{char\_code}ă®ĺ±žă™ă‚‹ć–‡ĺ­—çŻ„ĺ›˛ă®ç•ŞĺŹ·ă‚’çźĄă‚‹ă“ă¨ăŚă§ăŤă‚‹ďĽŽ

\meta{char\_code}ă«0--127ă®ĺ€¤ă‚’ćŚ‡ĺ®šă—ăźĺ&nbsp;´ĺďĽă“ă®ă¨ăŤďĽŚ\meta{char\_code}ăŚĺ±žă™ă‚‹
ć–‡ĺ­—çŻ„ĺ›˛ăŻĺ­ĺś¨ă—ăŞă„ďĽ‰ăŻ$-1$ăŚčż”ă‚‹ďĽŽ

ăťă®ăźă‚ďĽŚ\meta{char\_code}ăŚ\textbf{JAchar}ă‹\textbf{ALchar}ă‹ăŻ
ć¬ˇă§çźĄă‚‹ă“ă¨ăŚă§ăŤă‚‹ďĽš
%&lt;/ja&gt;
\begin{quote}
\ttfamily \verb+\ltjgetparameter{jacharrange}{\ltjgetparameter{chartorange}{+%
  \meta{char\_code}\verb+}}+\\\null\hfill\verb+% 0 if JAchar, 1 if ALchar+
\end{quote}

%&lt;*en&gt;
\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}&gt;\z@ ... \fi
\ifdim\ltjgetparameter{xkanjiskip}&gt;\z@ ... \fi
\end{lstlisting}
The correct way is using a temporary register.
\begin{lstlisting}
\@tempskipa=\ltjgetparameter{kanjiskip} \ifdim\@tempskipa&gt;\z@ ... \fi
\@tempskipa=\ltjgetparameter{xkanjiskip}\ifdim\@tempskipa&gt;\z@ ... \fi
\end{lstlisting}
%&lt;/en&gt;
%&lt;*ja&gt;
\item čż”ă‚Šĺ€¤ăŚć–‡ĺ­—ĺ—ă§ă‚ă‚‹ă“ă¨ă‹ă‚‰ďĽŚ\Param{kanjiskip}ă‚„\Param{xkanjiskip}ă‚’ç›´ćŽĄ
\ \cs{ifdim} ă‚’ä˝żăŁă¦ćŻ”čĽă™ă‚‹ă“ă¨ăŻćś›ăľă—ăŹăŞă„ďĽŽäĽ¸ăłé‡Źă‚„ç¸®ăżé‡Źă‚’ćŚăŁă¦ă„ă‚‹ć™‚ă«ăŻďĽŚ
ć¬ˇăŻă‚¨ă©ăĽă‚’ç™şç”źă•ă›ă‚‹ďĽš
\begin{lstlisting}
\ifdim\ltjgetparameter{kanjiskip}&gt;\z@ ... \fi
\ifdim\ltjgetparameter{xkanjiskip}&gt;\z@ ... \fi
\end{lstlisting}
ă¬ă‚¸ă‚ąă‚żă«ä¸€ć—¦ä»Łĺ…Ąă™ă‚‹ă®ăŚč‰Żă„ďĽš
\begin{lstlisting}
\@tempskipa=\ltjgetparameter{kanjiskip} \ifdim\@tempskipa&gt;\z@ ... \fi
\@tempskipa=\ltjgetparameter{xkanjiskip}\ifdim\@tempskipa&gt;\z@ ... \fi
\end{lstlisting}
%&lt;/ja&gt;

\end{itemize}


%&lt;*en&gt;
\subsection{Alternative Commands to \cs{ltjsetparameter}}
The basic method to set parameters of \LuaTeX-ja is to use
\cs{ltjsetparameter}~or~\cs{ltjglobalsetparameter}.
However, these commands are slow, because they parse a key-value list,
so several alternative commands are used in \LuaTeX-ja.
\emph{This subsection is not for general \LuaTeX-ja users.}

\paragraph{Setting \Param{kanjiskip}~or~\Param{xkanjiskip}}
In \Pkg{ltjsclasses}, every size-changing command such as \cs{Large}
changes \cs{kanjiskip}~and~\cs{xkanjiskip}.
But a simple implementation, as the code below, is slow since
two key-value lists are parsed by \cs{ltjsetparameter}:
\begin{lstlisting}
  \ltjsetparameter{kanjiskip=0\zw plus .1\zw minus .01\zw}
  \@tempskipa=\ltjgetparameter{xkanjiskip}
  \ifdim\@tempskipa&gt;\z@
    \if@slide
      \ltjsetparameter{xkanjiskip=0.1em}
    \else
      \ltjsetparameter{xkanjiskip=0.25em plus 0.15em minus 0.06em}
    \fi
  \fi
\end{lstlisting}

Hence, \LuaTeX-ja defines more primitive commands, namely \cs{ltj@setpar@global},
\cs{ltjsetkanjiskip}, and~\cs{ltjsetxkanjiskip}. Here
\begin{quote}
  \lstinline+\ltj@setpar@global\ltjsetkanjiskip 10pt+
\end{quote}
and \lstinline+\ltjsetparameter{kanjiskip=10pt}+ has the same effect.
The actual code of \Pkg{ltjsclasses} is shown below:
\begin{lstlisting}
  \ltj@setpar@global
  \ltjsetkanjiskip{\z@ plus .1\zw minus .01\zw}
  \@tempskipa=\ltjgetparameter{xkanjiskip}
  \ifdim\@tempskipa&gt;\z@
    \if@slide
      \ltjsetxkanjiskip.1em
    \else
      \ltjsetxkanjiskip.25em plus .15em minus .06em
    \fi
  \fi
\end{lstlisting}

Note that using \cs{ltjsetkanjiskip}~or~\cs{ltjsetxkanjiskip} alone,
that is, without executing \cs{ltj@setpar@global} in advance, is \emph{not} supported.
%&lt;/en&gt;

%&lt;*ja&gt;
\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&gt;\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 ç”¨ă«ç´&nbsp;ç›´ă«ć›¸ăŤćŹ›ăăź
\begin{lstlisting}
  \ltjsetparameter{kanjiskip=0\zw plus .1\zw minus .01\zw}
  \@tempskipa=\ltjgetparameter{xkanjiskip}
  \ifdim\@tempskipa&gt;\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&gt;\z@
    \if@slide
      \ltjsetxkanjiskip.1em
    \else
      \ltjsetxkanjiskip.25em plus .15em minus .06em
    \fi
  \fi
\end{lstlisting}
ă¨ă—ă¦ă„ă‚‹ďĽŽ
\cs{ltj@setpar@global}ă‚’ç›´ĺ‰Ťă«ĺ®źčˇŚă›ăšďĽŚĺŤç‹¬ă§
\cs{ltjsetkanjiskip}, \cs{ltjsetxkanjiskip}ă‚’ĺ®źčˇŚă™ă‚‹ă“ă¨ăŻćłĺ®šă•ă‚Śă¦ă„ăŞă„ă®ă§ćł¨ć„ŹďĽŽ

%&lt;/ja&gt;


%&lt;en&gt;\section{Other Commands for plain \TeX\ and \LaTeXe}
%&lt;ja&gt;\section{plaină§ă‚‚\LaTeX ă§ă‚‚ĺ©ç”¨ĺŹŻč˝ăŞăťă®ä»–ă®ĺ‘˝ä»¤}
%&lt;en&gt;\subsection{Commands for compatibility with \pTeX}
%&lt;ja&gt;\subsection{\pTeX äş’ćŹ›ç”¨ĺ‘˝ä»¤}

%&lt;*en&gt;
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.
%&lt;/en&gt;
%&lt;*ja&gt;
ä»Ąä¸‹ă®ĺ‘˝ä»¤ăŻ\pTeX ă¨ă®äş’ćŹ›ć€§ă®ăźă‚ă«ĺ®źčŁ…ă•ă‚Śă¦ă„ă‚‹ďĽŽăťă®ăźă‚ďĽŚJIS~X~0213ă«ăŻĺŻľĺżśă›ăšďĽŚ
\pTeX ă¨ĺŚăă‚ă†ă«JIS~X~0208ă®çŻ„ĺ›˛ă—ă‹ă‚µăťăĽăă—ă¦ă„ăŞă„ďĽŽ
%&lt;/ja&gt;
\begin{center}
\cs{kuten}, \cs{jis}, \cs{euc}, \cs{sjis}, \cs{ucs}, \cs{kansuji}
\end{center}
%&lt;*en&gt;
These six commands takes an internal integer, and returns a \emph{string}.
%&lt;/en&gt;
%&lt;*ja&gt;
ă“ă‚Śă‚‰6ĺ‘˝ä»¤ăŻĺ†…é¨ć•´ć•°ă‚’ĺĽ•ć•°ă¨ă™ă‚‹ăŚďĽŚĺ®źčˇŚçµćžśăŻ\textbf{ć–‡ĺ­—ĺ—}ă§ă‚ă‚‹ă“ă¨ă«ćł¨ć„ŹďĽŽ
%&lt;/ja&gt;
\begin{LTXexample}
\newcount\hoge
\hoge="2423 %"
\the\hoge, \kansuji\hoge\\
\jis\hoge, \char\jis\hoge\\
\kansuji1701
\end{LTXexample}

%&lt;*en&gt;
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}
%&lt;/en&gt;


\subsection{\cs{inhibitglue}, \cs{disinhibitglue}}
%&lt;*en&gt;
\cs{inhibitglue} suppresses the insertion of a glue/kern soecified in JFM at the place.
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~``ă‚¦''.
%&lt;/en&gt;
%&lt;*ja&gt;
\cs{inhibitglue} ăŻç™şčˇŚç®‡ć‰€ă§ă®JFMç”±ćťĄă‚°ă«ăĽďĽŹă‚«ăĽăłă®ćŚżĺ…Ąă‚’ćŠ‘ĺ¶ă™ă‚‹ďĽŽ
ä»Ąä¸‹ăŻďĽŚăśăă‚Żă‚ąă®ĺ§‹ă‚ă¨ă€Śă‚ă€Ťă®é–“ďĽŚă€Śă‚ă€Ťă€Śă‚¦ă€Ťă®é–“ă«ă‚°ă«ăĽăŚĺ…Ąă‚‹ç‰ąĺĄăŞJFMă‚’ç”¨ă„ăźäľ‹ă§
ă‚ă‚‹ďĽŽ
%&lt;/ja&gt;

\begin{LTXexample}[width=0.4\textwidth]
\jfont\g=HaranoAjiMincho-Regular:jfm=test \g
\fbox{\hbox{ă‚ă‚¦ă‚\inhibitglue ă‚¦}}
\inhibitglue\par\noindent ă‚1
\par\inhibitglue\noindent ă‚2
\par\noindent\inhibitglue ă‚3
\par ďĽ‰4ďĽ‰\inhibitglue 5
\par\hrule\noindent ă‚off\inhibitglue ice
\end{LTXexample}

%&lt;*en&gt;
With the help of this example, we remark the specification of \cs{inhibitglue}:
%&lt;/en&gt;
%&lt;*ja&gt;
ă“ă®äľ‹ă‚’ćŹ´ç”¨ă—ă¦ďĽŚ\cs{inhibitglue} ă®ä»•ć§ă«ă¤ă„ă¦čż°ăąă‚‹ďĽŽ
%&lt;/ja&gt;
\begin{itemize}
%&lt;*en&gt;
\item The call of \cs{inhibitglue} in the (internal) vertical mode is
      simply ignored.
%&lt;/en&gt;
%&lt;*ja&gt;
\item \emph{\cs{inhibitglue} ă®ĺž‚ç›´ă˘ăĽă‰ä¸­ă§ă®ĺ‘Ľăłĺ‡şă—ăŻć„Źĺ‘łă‚’ćŚăźăŞă„}\footnote{%
  ă“ă®ç‚ąăŻ\TeX~Live~2014ă§ă®\pTeX ă«ăŠă‘ă‚‹ \cs{inhibitglue} ă®ä»•ć§ĺ¤‰ć›´ă¨ĺŚăă§ă‚ă‚‹ďĽŽ
}ďĽŽ
4čˇŚç›®ă®ĺ…ĄĺŠ›ă§ćś‰ĺŠąă«ăŞă‚‰ăŞă„ă®ăŻďĽŚ\cs{inhibitglue} ă®ć™‚ç‚ąă§ăŻĺž‚ç›´ă˘ăĽă‰ă§ă‚ă‚ŠďĽŚ
\cs{noindent} ă®ć™‚ç‚ąă§ć°´ĺąłă˘ăĽă‰ă«ăŞă‚‹ă‹ă‚‰ă§ă‚ă‚‹ďĽŽ
%&lt;/ja&gt;

%&lt;*en&gt;
\item \cs{inhibitglue} does \emph{not} suppress \Param{kanjiskip} or \cs{xkanjiskip}.
%&lt;/en&gt;
%&lt;*ja&gt;
\item \cs{inhibitglue}ăŻ\Param{kanjiskip}, \Param{xkanjiskip}ă®ćŚżĺ…ĄăŻćŠ‘ĺ¶ă—ăŞă„ďĽŽ
  äľ‹ăă°ä¸Šă®äľ‹ă®6čˇŚç›®ă§ăŻďĽŚă€ŚďĽ‰ă€Ťă¨ă€Ś5ă€Ťă®é–“ă«ăŻćś¬ćťĄăŻJFMç”±ćťĄă®ĺŤŠč§’ç©şăŤăŚćŚżĺ…Ąă•ă‚Śă‚‹ăŻăšă&nbsp;ăŚďĽŚ
  ăťă‚ŚăŚ\cs{inhibitglue}ă§ç„ˇĺŠąă«ăŞăŁăźăźă‚ďĽŚ\Param{xkanjiskip}ăŚä»Łă‚Źă‚Šă«ćŚżĺ…Ąă•ă‚Śă¦ă„ă‚‹ďĽŽ
%&lt;/ja&gt;

%&lt;*en&gt;
\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, \cs{inhibitglue} cancels ligatures and
      kernings, as shown in the last line of above example.
%&lt;/en&gt;i
%&lt;*ja&gt;
\item \cs{inhibitglue} ă®ďĽĺ¶é™ă•ă‚ŚăźďĽ‰ć°´ĺąłă˘ăĽă‰ä¸­ă§ă®ĺ‘Ľăłĺ‡şă—ăŻăťă®ĺ&nbsp;´ă§ă®ăż
  ćś‰ĺŠąă§ă‚ă‚ŠďĽŚć®µč˝ă®ĺ˘ç•Śă‚’äą—ă‚Šč¶ŠăăŞă„ďĽŽ
  ă•ă‚‰ă«ďĽŚ\cs{inhibitglue} ăŻä¸Šă®äľ‹ă®ćś€çµ‚čˇŚă®ă‚ă†ă«ďĽć¬§ć–‡ă«ăŠă‘ă‚‹ďĽ‰ăŞă‚¬ăăŁă¨ă‚«ăĽă‹ăłă‚°ă‚’
  ć‰“ăˇć¶ă™ďĽŽă“ă‚ŚăŻďĽŚ\cs{inhibitglue} ăŚĺ†…é¨çš„ă«ăŻă€ŚçŹľĺś¨ă®ăŞă‚ąăä¸­ă«whatsităŽăĽă‰ă‚’
  čż˝ĺŠ&nbsp;ă™ă‚‹ă€Ťă“ă¨ă‚’čˇŚăŞăŁă¦ă„ă‚‹ă‹ă‚‰ă§ă‚ă‚‹ďĽŽ
%&lt;/ja&gt;

%&lt;*en&gt;
\item The call of \cs{inhibitglue} in math mode is just ignored.
%&lt;/en&gt;
%&lt;*ja&gt;
\item \cs{inhibitglue} ă‚’ć•°ĺĽŹă˘ăĽă‰ä¸­ă§ĺ‘Ľăłĺ‡şă—ăźĺ&nbsp;´ĺăŻăźă&nbsp;ç„ˇč¦–ă•ă‚Śă‚‹ďĽŽ
%&lt;/ja&gt;

%&lt;*ja&gt;
\item \LaTeX ă§\LuaTeX-ja ă‚’ä˝żç”¨ă™ă‚‹ĺ&nbsp;´ĺăŻďĽŚ
\cs{inhibitglue} ă®ä»Łă‚Źă‚Šă¨ă—ă¦ \verb+\&lt;+ ă‚’ä˝żă†ă“ă¨ăŚă§ăŤă‚‹ďĽŽ
ć—˘ă« \verb+\&lt;+ ăŚĺ®šçľ©ă•ă‚Śă¦ă„ăźĺ&nbsp;´ĺăŻďĽŚ\LuaTeX-ja ă®čŞ­ăżčľĽăżă§ĺĽ·ĺ¶çš„ă«ä¸Šć›¸ăŤă•ă‚Śă‚‹ă®ă§
ćł¨ć„Źă™ă‚‹ă“ă¨ďĽŽ
%&lt;/ja&gt;
\end{itemize}

%&lt;*en&gt;
\cs{disinhibitglue} suppresses the effect of \cs{inhbitglue}.
In other words, \cs{disinhibitglue} allows the insertion of a glue/kern specified by JFM.
If \cs{inhibitglue}~and~\cs{disinhibitglue} both specified at the same time,
the latest one is effective.
This commans is added in the version 20201224.0.

Note that \cs{disinhibitglue} also cancels ligatures and kernings.
%&lt;/en&gt;
%&lt;*ja&gt;
\cs{disinhibitglue}ăŻ\cs{inhibitglue}ă®ĺŠąćžśă‚’ç„ˇĺŠąĺŚ–ă™ă‚‹ďĽŽ
č¨€ă„ćŹ›ăă‚Śă°ďĽŚďĽ\cs{inhibitglue}ă§ćŠ‘ĺ¶ă•ă‚ŚăźăŻăšă®ďĽ‰ďĽ‰JFMç”±ćťĄă‚°ă«ăĽďĽŹă‚«ăĽăłă®ćŚżĺ…Ąă‚’č¨±ĺŹŻă™ă‚‹ďĽŽ
ĺŚăç®‡ć‰€ă«\cs{inhibitglue}ă¨\cs{disinhibitglue}ăŚä¸ˇć–ąă‚ă‚‹ĺ&nbsp;´ĺăŻďĽŚĺľŚă‚Ťă®ćŚ‡ĺ®šăŚćś‰ĺŠąă«ăŞă‚‹ďĽŽ
ă“ă®ĺ‘˝ä»¤ăŻăăĽă‚¸ă§ăł20201224.0ă§čż˝ĺŠ&nbsp;ă•ă‚ŚăźďĽŽ

ăŞăŠďĽŚ\cs{disinhibitglue}ă‚‚ăŞă‚¬ăăŁă‚„ă‚«ăĽă‹ăłă‚°ă‚’ć‰“ăˇć¶ă™ă“ă¨ă«ćł¨ć„Źă•ă‚Śăźă„ďĽŽă“ă‚ŚăŻ
ďĽ\cs{inhibitglue}ă¨ĺŚć§ă«ďĽ‰whatsităŽăĽă‰ă‚’ä˝żăŁă¦ĺ®źčŁ…ă•ă‚Śă¦ă„ă‚‹ă“ă¨ă«ă‚ă‚‹ďĽŽ
%&lt;/ja&gt;

\subsection{\cs{ltjfakeboxbdd}, \cs{ltjfakeparbegin}}
%&lt;*en&gt;
Sometimes \texttt{'parbdd'}~and~\texttt{'boxbdd'} specifications~look like ``fail'',
especially in paragraphs inside list environments.
This is because \cs{everypar} inserts some nodes such as boxes and kerns, so
the ``first letter'' in a paragraph is in fact not the first letter.
%&lt;/en&gt;
%&lt;*ja&gt;
ăŞă‚ąăç’°ĺ˘ĺ†…ă§ă®\cs{item}ă§ĺ§‹ăľă‚‹ĺ„é&nbsp;…ç›®ăŞă©ă§ăŻďĽŚ
ă€Ść®µč˝ćś€ĺťă®éŤµć‹¬ĺĽ§ăŚä˝™č¨ă«ĺŤŠč§’ĺ­—ä¸‹ă’ă•ă‚Śă‚‹ă€ŤăŞă©ďĽŚ
JFMă«ă‚ă‚‹\texttt{'parbdd'}, \texttt{'boxbdd'}ă®ćŚ‡ĺ®šăŚč¦‹ă‹ă‘ä¸Šç&nbsp;´ç¶»ă—ă¦ă„ă‚‹ă“ă¨ăŚă‚ă‚‹ďĽŽ

ă“ă‚ŚăŻ\TeX ăŚ\cs{everypar}ă‚’ç”¨ă„ă¦ć®µč˝é–‹ĺ§‹ć™‚ă«č¨ĺŹ·éˇžă‚„ç©şç™˝ăŞă©ă‚’ćŚżĺ…Ąă—ă¦ă—ăľăŁă¦ă„ă‚‹ăźă‚ďĽŚ
ć®µč˝ćś€ĺťă®éŤµć‹¬ĺĽ§ăŚĺ®źéš›ă«ăŻć®µč˝ćś€ĺťă®ăŽăĽă‰ă§ăŻăŞă„ă“ă¨ă«čµ·ĺ›&nbsp;ă™ă‚‹ďĽŽä»Ąä¸‹ă«äľ‹ă‚’ç¤şă—ăźďĽŽ
%&lt;/ja&gt;
\begin{LTXexample}[width=0.3\textwidth]
\parindent1\zw
\noindent ă‚ă‚ă‚ă‚ă‚ă‚ă‚ă‚\par % for comparison
ă€Śă‚ă‚ă‚ă‚ă‚ă‚ \par            % normal paragraph

\everypar{\null}
ă€Śă‚ă‚ă‚ă‚ă‚ă‚ \par            % ???
\end{LTXexample}
%&lt;*en&gt;
\cs{ltjfakeboxbdd}~and~\cs{ltjfakeparbegin} primitives resolve this situation.
\begin{itemize}
  \item \cs{ltjfakeparbegin} creates a node which indicates
  ``beginning of an indented paragraph'' to the insertion process of \textbf{JAglue}.
 \item \cs{ltjfakeboxbdd} creates a node which indicates
  ``beginning/ending of a box'' to the insertion process of \textbf{JAglue}.
\end{itemize}
As an example, the example above can be improved as follows:
%&lt;/en&gt;
%&lt;*ja&gt;
\cs{ltjfakeboxbdd}, \cs{ltjfakeparbegin}ăŻă“ă®çŠ¶ćłă‚’ć”ąĺ–„ă™ă‚‹ĺ‘˝ä»¤ă§ă‚ă‚‹ďĽŽ
ĺ®źéš›ă«ăŻ\cs{everypar}ă®ćś«ĺ°ľă«ă“ă‚Śă‚‰ă‚’čż˝ĺŠ&nbsp;ă™ă‚‹ă¨ă„ă†ä˝żă„ć–ąăŚă»ă¨ă‚“ă©ă«ăŞă‚‹ă&nbsp;ă‚Ťă†ďĽŽ
\begin{itemize}
  \item \cs{ltjfakeparbegin}ăŻďĽŚĺ®źčˇŚă•ă‚Śăźç®‡ć‰€ăŚă€Śă‚¤ăłă‡ăłăă‚ă‚Šć®µč˝ă®é–‹ĺ§‹ă€Ťă§ă‚ă‚‹ă¨\LuaTeX-jaă®
  ĺ’Ść–‡ĺ‡¦ç†ă‚°ă«ăĽćŚżĺ…Ąĺ‡¦ç†ă«čŞŤč­ă•ă›ă‚‹ďĽŽă“ă®ĺ‘˝ä»¤ă®ç›´ĺ‰Ťă«\textbf{JAchar}ăŚă‚ăŁăźĺ&nbsp;´ĺďĽŚ
  ă“ă®ć–‡ĺ­—ă®ĺľŚă‚Ťă«ĺ…Ąă‚‹ă‚°ă«ăĽç­‰ă®ĺ‡¦ç†ă«ă¤ă„ă¦ăŻćśŞĺ®šçľ©ă§ă‚ă‚‹
  \footnote{%
    ă“ă®ĺ‘˝ä»¤ă¨ĺŚç­‰ă®ĺ†…ĺ®ąăŻďĽŚ\cs{dirrctlua}ă®ĺ˝˘ă§\Pkg{ltjsclasses}ĺ†…ă§ä»Ąĺ‰Ťă‹ă‚‰ä˝żă‚Źă‚Śă¦ă„ăźďĽŽ
    ä¸€č¬ă¦ăĽă‚¶ă§ă‚‚ĺ©ç”¨ă—ă‚„ă™ăŹă™ă‚‹ăźă‚ďĽŚăăĽă‚¸ă§ăł20170505.0ă§ć–°ăźă«ĺ‘˝ä»¤ă¨ă—ă¦ĺ®šçľ©ă—ăźďĽŽ
  }ďĽŽ
  \item \cs{ltjfakeboxbdd}ăŻďĽŚĺ®źčˇŚă•ă‚Śăźç®‡ć‰€ăŚă€Śăśăă‚Żă‚ąă®ĺ…é&nbsp;­ă¨ćś«ĺ°ľă€Ťă§ă‚ă‚‹ă¨\LuaTeX-jaă®
  ĺ’Ść–‡ĺ‡¦ç†ă‚°ă«ăĽćŚżĺ…Ąĺ‡¦ç†ă«čŞŤč­ă•ă›ă‚‹ďĽŽ
\end{itemize}
äľ‹ăă°ďĽŚĺ…ă»ă©ă®äľ‹ă«ĺŻľă—ă¦é©ç”¨ă™ă‚‹ă¨ďĽŚć¬ˇă®ă‚ă†ă«ăŞă‚‹ďĽŽ
%&lt;/ja&gt;
\begin{LTXexample}[width=0.3\textwidth]
\parindent1\zw
\noindent ă‚ă‚ă‚ă‚ă‚ă‚ă‚ă‚\par % for comparison
ă€Śă‚ă‚ă‚ă‚ă‚ă‚ \par            % normal paragraph

\everypar{\null\ltjfakeparbegin}
ă€Śă‚ă‚ă‚ă‚ă‚ă‚ \par
\end{LTXexample}


\subsection{\cs{insertxkanjiskip}, \cs{insertkanjiskip}}
%&lt;*en&gt;
There are some situations which one wants to insert \Param{xkanjiskip} manually.
A simple approach is to use \cs{hskip}\cs{ltjgetparameter\{xkanjiskip\}}, but this approach has
several weak points. To cope with these weak points, \LuaTeX-ja defines a command \cs{insertxkanjiskip} which
inserts \Param{xkanjiskip} glue manually, from the version 20201224.0.
\begin{itemize}
  \item ``\cs{insertxkanjiskip}'' (without any keyword) uses the value of \Param{xkanjiskip} at the place.
  \item ``\cs{insertxkanjiskip late}'' (with ``\texttt{late}''~keyword) uses the value of \Param{xkanjiskip}
  at the end of a paragraph/hbox.
\end{itemize}
See the example below.
%&lt;/en&gt;
%&lt;*ja&gt;
\TeX ă§ć—Ąćś¬čŞžă®ć–‡ç«&nbsp;ă‚’ä˝śćă—ă¦ă„ă‚‹ă¨ďĽŚ
ă—ă°ă—ă°ă€Ść‰‹ĺ‹•ă§ĺ’Ść¬§ć–‡é–“ç©şç™˝\Param{xkanjiskip}ă‚’ćŚżĺ…Ąă—ăźă„ă€Ťă¨ă„ă†çŠ¶ćłă«é­é‡ă™ă‚‹ďĽŽ
ă“ă®ă‚ă†ăŞĺ&nbsp;´ĺďĽŚ\cs{hskip}\cs{ltjgetparameter\{xkanjiskip\}}\+ă¨ă™ă‚‹ă®ăŚă‚ăŹă‚ă‚‹ĺŻľĺżśă§ă‚ăŁăźăŚďĽŚă“ă‚Śă‚‰ă«ăŻ
ć¬ˇă®ă‚ă†ăŞé›Łç‚ąăŚă‚ă‚‹ďĽš
\begin{itemize}
  \item \cs{xkanjiskip}ăŻă€Ść®µč˝ă‚„hboxă§ă®çµ‚ç«Żă§ă®ĺ€¤ăŚăťă®ć®µč˝ďĽŹhboxĺ…¨ä˝“ă§ç”¨ă„ă‚‰ă‚Śă‚‹ă€Ťă¨ăŞăŁă¦ă„ă‚‹ăźă‚ďĽŚ
  \cs{hskip}\cs{ltjgetparameter\{xkanjiskip\}}\+ä»Ąé™Ťă«\Param{xkanjiskip}ă®ĺ€¤ăŚĺ¤‰ă‚Źă‚‹ĺ&nbsp;´ĺă«ĺŻľĺżśă§ăŤăŞă„ďĽŽ
  \item \LuaTeX-jaă§ăŻďĽŚ\cs{xkanjiskip}ă®č‡Şç„¶é•·ăŚ$\cs{maxdimen}=(2^{30}-1)\,\mbox{sp}$ă§ă‚ăŁăźĺ&nbsp;´ĺďĽŚ
  JFMă§ćŚ‡ĺ®šă•ă‚Śăźĺ€¤ă‚’ĺ®źéš›ă«ĺ©ç”¨ă™ă‚‹ă“ă¨ă«ăŞăŁă¦ă„ă‚‹ăŚďĽŚăťă‚Śă«ĺŻľĺżśă§ăŤă¦ă„ăŞă„ďĽŽ
  \item \Pkg{luatexja-adjust}ďĽ\ref{ssec:adj}çŻ€ďĽ‰ă«ă‚ă‚‹ĺ„Şĺ…ĺş¦čˇŚé•·čŞżć•´ă§ăŻďĽŚ
  \cs{hskip}\cs{ltjgetparameter\{xkanjiskip\}}\+ăŻć‰‹ĺ‹•ă§ćŚżĺ…Ąă—ăźă‚°ă«ăĽă§ă‚ă‚‹ă‹ă‚‰ďĽŚ
  č‡Şĺ‹•ă§ćŚżĺ…Ąă•ă‚Śăź\Param{xkanjiskip}ă¨ăŻ
  äĽ¸ç¸®ă®ĺ„Şĺ…é&nbsp;†ĺşŹăŚç•°ăŞăŁă¦ă—ăľă†ďĽŽ
\end{itemize}

ă“ă‚Śă‚‰ă®é›Łç‚ąă«ĺŻľĺ‡¦ă—ăźďĽŚ\Param{xkanjiskip}ă‚’ă‚°ă«ăĽă¨ă—ă¦ć‰‹ĺ‹•ćŚżĺ…Ąă™ă‚‹ĺ‘˝ä»¤ăŚ\cs{insertxkanjiskip}ă§ă‚ă‚‹ďĽŽ
ă“ă‚ŚăŻăăĽă‚¸ă§ăł20201224.0ă§čż˝ĺŠ&nbsp;ă•ă‚ŚăźďĽŽ
ä»Ąä¸‹ă®ĺ®źčˇŚäľ‹ă«ç¤şă™ă‚ă†ă«ďĽŚ
\begin{itemize}
  \item ĺŤç‹¬ă§\cs{insertxkanjiskip}ă¨ă—ăźĺ&nbsp;´ĺăŻďĽŚăťă®ć™‚ç‚ąă§ă®\Param{xkanjiskip}ă®ĺ€¤ă‚’ä˝żç”¨ă™ă‚‹
  \item ă€Ś\cs{insertxkanjiskip~late}ă€Ťă¨\texttt{late}ă‚­ăĽăŻăĽă‰ă‚’ĺľŚç˝®ă—ăźĺ&nbsp;´ĺăŻďĽŚ
  ć®µč˝ďĽŹhboxçµ‚äş†ć™‚ă«ăťă®ă¨ăŤă®\Param{xkanjiskip}ă®ĺ€¤ă«č‡Şĺ‹•č¨­ĺ®šă•ă‚Śă‚‹
  ďĽć®µč˝ďĽŹhboxé€”ä¸­ă§ă®ĺ€¤ăŻćśŞĺ®šçľ©ďĽ‰
  \item ă©ăˇă‚‰ă§ă‚ăŁă¦ă‚‚ďĽŚĺ®źčˇŚç®‡ć‰€ă«ćś¬ćťĄăŞă‚‰č‡Şĺ‹•ćŚżĺ…Ąă•ă‚Śă‚‹ăŻăšă®JFMç”±ćťĄă‚°ă«ăĽďĽŹă‚«ăĽăłăŻćŚżĺ…Ąă•ă‚ŚăŞă„
\end{itemize}
ă¨ăŞăŁă¦ă„ă‚‹ďĽŽ
%&lt;/ja&gt;
\begin{LTXexample}[width=0.3333\textwidth]
\ltjsetparameter{xkanjiskip=0.25\zw}
ă‚ďĽ%                        0.5\zw  (from JFM)
ă‚\insertxkanjiskip ďĽ%      0.25\zw (xkanjiskip at here)
ă‚\insertxkanjiskip late ďĽ% 0.25\zw (xkanjiskip at EOP)
ă‚a%                         1.25\zw (xkanjiskip at EOP)
\\%
\ltjsetparameter{xkanjiskip=1.25\zw}
ă‚\insertxkanjiskip ďĽ%      1.25\zw (xkanjiskip at here)
ă‚a%                         1.25\zw (xkanjiskip at EOP)
%% At the end of the paragraph (EOP), xkanjiskip is 1.25\zw.
\end{LTXexample}

%&lt;*en&gt;
There is a similar command \cs{insertkanjiskip} (\Param{kanjiskip} instead~of \Param{xkanjiskip}) is also defined.
Note that any shorthand form of \cs{insert}[\texttt{x}]\texttt{kanjiskip} are not defined by \LuaTeX-ja.
%&lt;/en&gt;
%&lt;*ja&gt;
\cs{insertxkanjiskip}ďĽăľăźăŻ\texttt{late}ă¤ăŤďĽ‰ă®çź­ç¸®ĺ˝˘
\footnote{ăˇă‚‡ă†ă©\cs{inhibitglue}ă®çź­ç¸®ĺ˝˘\cs{\ltjalchar`\&lt;}\+ă«ĺŻľĺżśă™ă‚‹ă‚‚ă®ďĽŽ}ăŻ
\LuaTeX-jaă§ăŻĺ®šçľ©ă—ă¦ă„ăŞă„ďĽŽçź­ç¸®ĺ˝˘ă‚’ä˝żă„ăźă„äşşăŻďĽŚéť˘ĺ€’ă§ă‚‚ĺ„č‡Şă§
\begin{lstlisting}
 \protected\def\+{\insertxkanjiskip late}
\end{lstlisting}
ăŞă©ă¨ĺ®šçľ©ă—ă¦ă»ă—ă„ďĽŽ

ćś€ĺľŚă«ăŞă‚‹ăŚďĽŚä»Ąä¸Šă®čŞ¬ćŽă®\Param{xkanjiskip}ă‚’ă™ăąă¦ć¨™ćş–ă®ĺ’Ść–‡é–“ç©şç™˝\Param{kanjiskip}ă«ç˝®ăŤćŹ›ăăź
\cs{insertkanjiskip}ĺ‘˝ä»¤ă‚‚ćş–ĺ‚™ă•ă‚Śă¦ă„ă‚‹ďĽŽ
%&lt;/ja&gt;

\subsection{\cs{ltjdeclarealtfont}}
\label{ssec:altfont}
%&lt;*en&gt;
Using \cs{ltjdeclarealtfont}, one can ``compose'' more than one Japanese fonts.
This \cs{ltjdeclarealtfont} uses in the following form:
\begin{quote}
\ttfamily \textbackslash ltjdeclarealtfont\meta{base\_font\_cs}\meta{alt\_font\_cs}\{\meta{range}\}
\end{quote}
where  \meta{base\_font\_cs}~and~\meta{alt\_font\_cs} are defined by \cs{jfont}.
Its meaning is
\begin{quote}
If the current Japanese font is \meta{base\_font\_cs}, characters which belong to \meta{range}
is typeset by another Japanese font \meta{alt\_font\_cs}, instead of \meta{base\_font\_cs}.
\end{quote}
Here \meta{range} 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 \meta{base\_font\_cs}. Note that characters which do not exist in \meta{alt\_font\_cs} 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}

Note that specifying negative numbers needs specification like \verb+{-1}-{-1}+,
because simple ``\texttt{-1}'' is treated as the range between 0~and~1.
%&lt;/en&gt;
%&lt;*ja&gt;
\cs{jfont} ă®ć›¸ĺĽŹă‚’č¦‹ă‚Śă°ă‚Źă‹ă‚‹ă‚ă†ă«ďĽŚĺźşćś¬çš„ă«ăŻ\LuaTeX-jaă«ăŠă‘ă‚‹1ă¤ă®ĺ’Ść–‡ă•ă‚©ăłăă«
ä˝żç”¨ĺ‡şćťĄă‚‹ă€Śĺ®źéš›ă®ă•ă‚©ăłăă€ŤăŻ1ă¤ă§ă‚ă‚‹ďĽŽ
ă—ă‹ă—ďĽŚ\cs{ltjdeclarealtfont} ă‚’ç”¨ă„ă‚‹ă¨ďĽŚă“ă®ĺŽźĺ‰‡ă‹ă‚‰ĺ¤–ă‚Śă‚‹ă“ă¨ăŚă§ăŤă‚‹ďĽŽ

\cs{ltjdeclarealtfont} ăŻä»Ąä¸‹ă®ć›¸ĺĽŹă§ä˝żç”¨ă™ă‚‹ďĽš
\begin{quote}
\ttfamily \textbackslash ltjdeclarealtfont\meta{base\_font\_cs}\meta{alt\_font\_cs}\{\meta{range}\}
\end{quote}
ă“ă‚ŚăŻă€ŚçŹľĺś¨ă®ĺ’Ść–‡ă•ă‚©ăłăă€ŤăŚ\meta{base\_font\_cs}ă§ă‚ă‚‹ă¨ăŤďĽŚ
\meta{range}ă«ĺ±žă™ă‚‹ć–‡ĺ­—ăŻ\meta{alt\_font\_cs}ă‚’ç”¨ă„ă¦çµ„ç‰ă•ă‚Śă‚‹ďĽŚă¨ă„ă†ć„Źĺ‘łă§ă‚ă‚‹ďĽŽ
\begin{itemize}
 \item \meta{base\_font\_cs}, \meta{alt\_font\_cs}ăŻ
\cs{jfont} ă«ă‚ăŁă¦ĺ®šçľ©ă•ă‚Śăźĺ’Ść–‡ă•ă‚©ăłăă§ă‚ă‚‹ďĽŽ
 \item \meta{range}ăŻć–‡ĺ­—ă‚łăĽă‰ă®çŻ„ĺ›˛ă‚’čˇ¨ă™ă‚łăłăžĺŚşĺ‡ă‚Šă®ăŞă‚ąăă§ă‚ă‚‹ăŚďĽŚ
   äľ‹ĺ¤–ă¨ă—ă¦č˛&nbsp;ć•°$-n$ăŻă€Ś\meta{base\_font\_cs}ă®JFMă®ć–‡ĺ­—ă‚Żă©ă‚ą$n$ă«ĺ±žă™ă‚‹ĺ…¨ă¦ă®ć–‡ĺ­—ă€Ť
   ă‚’ć„Źĺ‘łă™ă‚‹ďĽŽ

\meta{range}ä¸­ă«\meta{alt\_font\_cs}ä¸­ă«ĺ®źéš›ă«ăŻĺ­ĺś¨ă—ăŞă„ć–‡ĺ­—ăŚćŚ‡ĺ®šă•ă‚Śăźĺ&nbsp;´ĺăŻďĽŚ
ăťă®ć–‡ĺ­—ă«ĺŻľă™ă‚‹č¨­ĺ®šăŻç„ˇč¦–ă•ă‚Śă‚‹ďĽŽ
\end{itemize}

äľ‹ăă°ďĽŚ\cs{hoge} ă®JFMăŚ\LuaTeX-jać¨™ćş–ă®
\ \texttt{jfm-ujis.lua} ă§ă‚ăŁăźĺ&nbsp;´ĺďĽŚ
\begin{lstlisting}
\ltjdeclarealtfont\hoge\piyo{"3000-"30FF, {-1}-{-1}}
\end{lstlisting}
ăŻă€Ś\cs{hoge} ă‚’ĺ©ç”¨ă—ă¦ă„ă‚‹ă¨ăŤďĽŚ
\texttt{U+3000}--\texttt{U+30FF}ă¨
ć–‡ĺ­—ă‚Żă©ă‚ą1ďĽé–‹ăŤć‹¬ĺĽ§éˇžďĽ‰ä¸­ă®ć–‡ĺ­—ă&nbsp;ă‘ăŻ \cs{piyo} ă‚’ç”¨ă„ă‚‹ă€Ť
ă“ă¨ă‚’č¨­ĺ®šă™ă‚‹ďĽŽ\verb+{-1}-{-1}+ ă¨ă„ă†ĺ¤‰ă‚ŹăŁăźćŚ‡ĺ®šă®ä»•ć–ąă‚’ă—ă¦ă„ă‚‹ă®ăŻďĽŚ
ć™®é€šă« \texttt{-1} ă¨ćŚ‡ĺ®šă—ăźă®ă§ăŻć­Łă—ăŹ$-1$ă¨čŞ­ăżĺŹ–ă‚‰ă‚ŚăŞă„ă¨ă„ă†
ăžă‚Żă­ă®é˝ĺă«ă‚ă‚‹ďĽŽ
%&lt;/ja&gt;

%&lt;*ja&gt;
\subsection{\cs{ltjalchar} ă¨ \cs{ltjjachar}}
ć–‡ĺ­—ă‚łăĽă‰ăŚ$\text{\meta{char\_code}}~(\geq 128=\mathtt{0x80})$ă®ć–‡ĺ­—ă‚’
\ \cs{char} ă—ăŞăźă†ă‚Łă–ă‚’ä˝żă„ \cs{char}\meta{char\_code} ă¨ă—ă¦ĺ‡şĺŠ›ă•ă›ă‚‹ă¨ďĽŚ
ăťă®ć–‡ĺ­—ă®ĺ±žă™ă‚‹ć–‡ĺ­—çŻ„ĺ›˛ďĽ\ref{ssec:setrange}çŻ€ĺŹ‚ç…§ďĽ‰ă«ă‚ăŁă¦
\textbf{ALchar}ă‹\textbf{JAchar}ă‹ďĽŚă¤ăľă‚Šć¬§ć–‡ă•ă‚©ăłăă§ĺ‡şĺŠ›ă•ă‚Śă‚‹ă‹ĺ’Ść–‡ă•ă‚©ăłăă§ĺ‡şĺŠ›ă•ă‚Ś
ă‚‹ă‹ăŚć±şăľă‚‹ďĽŽ

ć–‡ĺ­—çŻ„ĺ›˛ă®č¨­ĺ®šă‚’ç„ˇč¦–ă—ďĽŚć–‡ĺ­—ă‚łăĽă‰ăŚ\meta{char\_code}ă®ć–‡ĺ­—ă‚’ĺĽ·ĺ¶çš„ă«
\textbf{ALchar}, \textbf{JAchar}ă§ĺ‡şĺŠ›ă™ă‚‹ĺ‘˝ä»¤ăŚăťă‚Śăžă‚Ś
\ \cs{ltjalchar},~\cs{ltjjachar} ă§ă‚ă‚‹ďĽŽä˝żç”¨ć–ąćł•ăŻ \cs{char} ă¨ĺŚăăŹ
\ \cs{ltjalchar}\meta{char\_code}, \cs{ltjjachar}\meta{char\_code}ă¨ă™ă‚Śă°ă‚ă„ďĽŽ
\LuaTeX-ja~20190926.0ă‹ă‚‰ďĽŚ\meta{char\_code}ăŚ127ä»Ąä¸‹ă®ĺ&nbsp;´ĺă§ă‚‚\cs{ltjjachar}\meta{char\_code}ăŚ
\textbf{JAchar}ă¨ă—ă¦ĺ‡şĺŠ›ă•ă‚Śă‚‹ă‚ă†ă«ăŞăŁă¦ă„ă‚‹ďĽŽ

ä»Ąä¸‹ăŻ\ref{ssec:setrange}çŻ€ă«čĽ‰ă›ăźäľ‹ă«ďĽŚ\cs{char} ă®ĺ‹•ä˝śăŞă©ă‚’čż˝ĺŠ&nbsp;ă—ăźă‚‚ă®ă§ă‚ă‚‹ďĽŽ
%&lt;/ja&gt;
\begin{LTXexample}[width=0.25\textwidth]
\gtfamily\large
Â¶,\char`Â¶,\ltjalchar`Â¶,\ltjjachar`Â¶\\     % default: ALchar
Î±,\char`Î±,\ltjalchar`Î±,\ltjjachar`Î±\\ % default: JAchar
g,\char`g,\ltjalchar`g,\ltjjachar`g       % ALchar unless \ltjjachar
\end{LTXexample}

%&lt;en&gt;\section{Commands for \LaTeXe}
%&lt;ja&gt;\section{\LaTeXe ç”¨ă®ĺ‘˝ä»¤}

%&lt;*en&gt;
\subsection{Loading Japanese fonts in \LaTeXe}
\label{ssec:ltx-jfm}
From version~20190107, 
\emph{\LuaTeX-ja does not load Japanese fonts for horizontal direction and
  that for vertical direction at same time},
to reduce the number of loaded fonts.
This will save time for typesetting and memory consumption of Lua side (\cite{tc18ltja})ďĽŽ

\begin{itemize}
  \item \cs{selectfont} loads (and chooses) only the Japanese font for the current direction,
  and does not load the Japanese font for other direction
  (\LuaTeX-ja only detects its size and JFM, to calculate the amount of shifting the baseline).

  \item Direction changing commands (\cs{yoko},~\cs{tate}, \cs{dtou},~\cs{utod}) are patched to
  include the following process:
  \begin{quote}
	If the Japanese font for new direction is not loaded,
	\LuaTeX-ja loads it automatically.
  \end{quote}
  Original commands are saved as \cs{ltj@@orig@yoko} etc.
  
  \item Specifying Japanese font command which is
  defined by \cs{jfont},~\cs{tfont}, or~\cs{DeclareFixedFont} directly
  actually loads (and selects) the Japanese font.
  For example, \textbf{JAchar}s in \cs{box0} will be typeset in \cs{HOGE},
  in the following code:
\begin{lstlisting}
  % in horizontal direction (\yoko)
  \DeclareFixedFont\HOGE{JT3}{gt}{m}{n}{12} % JT3: for vertical direction
  \HOGE
  \setbox0=\hbox{\tate ă‚ă„ă†}
\end{lstlisting}
  \end{itemize}
%&lt;/en&gt;

%&lt;*ja&gt;
\subsection{\LaTeXe ä¸‹ă§ă®ĺ’Ść–‡ă•ă‚©ăłăă®čŞ­ăżčľĽăż}
\label{ssec:ltx-jfm}
ăăĽă‚¸ă§ăł20190107ä»Ąé™Ťă§ăŻďĽŚ\LaTeXe ă®ä¸‹ă§\LuaTeX-jaă‚’ä˝żç”¨ă—ăźéš›ă«ďĽŚ
\emph{ć¨Şçµ„ç”¨ĺ’Ść–‡ă•ă‚©ăłăă¨ç¸¦çµ„ăżç”¨ĺ’Ść–‡ă•ă‚©ăłăă‚’ä¸ˇć–ąä¸€ĺş¦ă«čŞ­ăżčľĽăżă»é¸ćŠžă›ăšă«ďĽŚ
  ĺ®źéš›ă«ăťă‚Śăžă‚Śă‚’ä˝żă†çµ„ć–ąĺ‘ă«ăŞăŁăźă¨ăŤă«čˇŚă†}ă¨ă„ă†ć–ąé‡ťă«ă—ăźďĽŽ
ă“ă‚ŚăŻĺ®źéš›ă«čŞ­ăżčľĽă‚€ă•ă‚©ăłăć•°ă‚’ĺ‰Šć¸›ă™ă‚‹ă“ă¨ă§ďĽŚ
ă‚żă‚¤ă—ă‚»ăăă«ă‹ă‹ă‚‹ć™‚é–“ă¨ďĽä¸»ă«Luaă®ďĽ‰ăˇă˘ăŞć¶č˛»ă‚’ĺ‰Šć¸›ă™ă‚‹ăźă‚ă§ă‚ă‚‹(\cite{tc18ltja})ďĽŽ

\begin{itemize}
  \item \cs{selectfont}ăŻć¨Şçµ„ç”¨ă»ç¸¦çµ„ç”¨ĺ’Ść–‡ă•ă‚©ăłăă®ă†ăˇďĽŚçŹľĺś¨ă®çµ„ć–ąĺ‘ă§ä˝żă†ć–ąă‚’
  ĺ®źéš›ă«čŞ­ăżčľĽăżďĽă»é¸ćŠžă—ďĽ‰ďĽŚăťă†ă§ăŞă„ć–ąăŻă€Śă•ă‚©ăłăă‚µă‚¤ă‚şă¨JFMă®ăż\LuaTeX-jaăŚćŠŠćŹˇă—ă¦ă„ă‚‹çŠ¶ć…‹ă€Ť
  ďĽä»Ąä¸‹ďĽŚ\emph{JFMćŠŠćŹˇçŠ¶ć…‹}ďĽ‰ă¨ă™ă‚‹ďĽŽ

  \item çµ„ć–ąĺ‘ĺ¤‰ć›´ĺ‘˝ä»¤\cs{yoko},~\cs{tate}, \cs{dtou},~\cs{utod}ă«ăŻ
  \begin{quote}
	ć–°ăźăŞçµ„ć–ąĺ‘ă§ă®ĺ’Ść–‡ă•ă‚©ăłăăŚčŞ­ăżčľĽăľă‚Śă¦ă„ăŞă„ďĽJFMćŠŠćŹˇçŠ¶ć…‹ďĽ‰ăŞă‚‰ă°ďĽŚ
	çŹľĺś¨ă®ă‚¨ăłă‚łăĽă‡ă‚Łăłă‚°ă»ă•ă‚ˇăźăŞă»ă‚·ăŞăĽă‚şă»ă‚·ă‚§ă‚¤ă—ă‹ă‚‰ć”ąă‚ă¦čŞ­ăżčľĽă‚€ďĽăľăźăŻé¸ćŠžă™ă‚‹ďĽ‰
  \end{quote}
  ĺ‡¦ç†ăŚä»ă‘ĺŠ&nbsp;ăă‚‰ă‚Śă¦ă„ă‚‹ďĽŽ
  ă‚‚ă¨ă®ă€Śçµ„ć–ąĺ‘ă‚’ĺ¤‰ć›´ă™ă‚‹ă&nbsp;ă‘ă€Ťă®ĺ‘˝ä»¤ăŻ\cs{ltj@@orig@yoko}ă®ă‚ă†ă«\texttt{ltj@@orig@}ăŚĺ‰Ťă«ă¤ă„ăź
  ĺ‘˝ä»¤ă«äżťĺ­ă•ă‚Śă¦ă„ă‚‹ďĽŽ
  
  \item \cs{jfont},~\cs{tfont},~\cs{DeclareFixedFont}ă§ĺ®šçľ©ă•ă‚Śăźĺ’Ść–‡ă•ă‚©ăłăăŻ
  ăťă®ć™‚ç‚ąă§ĺ®źéš›ă«ă•ă‚©ăłăăŚčŞ­ăżčľĽăľă‚Śă‚‹ďĽŽă™ăŞă‚ŹăˇďĽŚä»Ąä¸‹ă®ă‚łăĽă‰ă«ăŠă„ă¦ďĽŚ
  \cs{box0}ä¸­ă®\textbf{JAchar}ăŻ\cs{HOGE}ă§ă‚żă‚¤ă—ă‚»ăăă•ă‚Śă‚‹ďĽŽ
\begin{lstlisting}
  % in horizontal direction (\yoko)
  \DeclareFixedFont\HOGE{JT3}{gt}{m}{n}{12} % JT3: for vertical direction
  \HOGE
  \setbox0=\hbox{\tate ă‚ă„ă†}
\end{lstlisting}
  \end{itemize}
%&lt;/ja&gt;

%&lt;en&gt;\subsection{Patch for NFSS2}
%&lt;ja&gt;\subsection{NFSS2ă¸ă®ă‘ăă}
\label{ssec:nfsspat}

%&lt;*en&gt;
Japanese patch for NFSS2 in \LuaTeX-ja
is based on \texttt{plfonts.dtx} which plays the same role in \pLaTeXe.
We will describe
commands which are not described in Subsection~\ref{ssec:chgfnt}.
%&lt;/en&gt;
%&lt;*ja&gt;
\LuaTeX-jaă®NFSS2ă¸ă®ć—Ąćś¬čŞžă‘ăăăŻ
\pLaTeXe ă§ĺŚć§ă®ĺ˝ąĺ‰˛ă‚’ćžśăźă™ \texttt{plfonts.dtx} ă‚’ă™ăĽă‚ąă«ďĽŚ
ĺ’Ść–‡ă‚¨ăłă‚łăĽă‡ă‚Łăłă‚°ă®ç®ˇç†ç­‰ă‚’Luaă§ć›¸ăŤăŞăŠă—ăźă‚‚ă®ă§ă‚ă‚‹ďĽŽ
ă“ă“ă§ăŻ\ref{ssec:chgfnt}çŻ€ă§čż°ăąă¦ă„ăŞă‹ăŁăźĺ‘˝ä»¤ă«ă¤ă„ă¦
č¨čż°ă—ă¦ăŠăŹďĽŽ
%&lt;/ja&gt;

\begin{cslist}%
\item[\normalfont\bfseries %
%&lt;ja&gt;čż˝ĺŠ&nbsp;ă®é•·ă•ĺ¤‰ć•°é”
%&lt;en&gt;additonal dimensions
]
%&lt;*en&gt;
Like \pLaTeXe, \LuaTeX-ja defines the following dimensions
for information of current Japanese font:
%&lt;/en&gt;
%&lt;*ja&gt;
\pLaTeXe ă¨ĺŚć§ă«ďĽŚ\LuaTeX-jaăŻă€ŚçŹľĺś¨ă®ĺ’Ść–‡ă•ă‚©ăłăă®ć…ĺ&nbsp;±ă€Ťă‚’ć&nbsp;Ľç´Ťă™ă‚‹é•·ă•ĺ¤‰ć•°
%&lt;/ja&gt;
\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}
%&lt;en&gt;and its \cs{normalsize} version:
%&lt;ja&gt;ă¨ďĽŚăťă® \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})%
%&lt;en&gt;.
\end{quote}
%&lt;*ja&gt;
ă‚’ĺ®šçľ©ă—ă¦ă„ă‚‹ďĽŽăŞăŠďĽŚ\cs{cwd} ă¨ \cs{zw}ďĽŚăľăź
\cs{cHT} ă¨ \cs{zh} ăŻä¸€č‡´ă—ăŞă„ĺŹŻč˝ć€§ăŚă‚ă‚‹ďĽŽăŞăśăŞă‚‰ďĽŚ
\cs{cwd},~\cs{cHT} ăŻć–‡ĺ­—ă‚Żă©ă‚ą0ă®ĺ’Ść–‡ć–‡ĺ­—ă®ĺŻ¸ćł•ă‹ă‚‰ć±şĺ®šă•ă‚Śă‚‹ă®ă«ĺŻľă—ďĽŚ
\cs{zw} ă¨ \cs{zh} ăŻJFMă«ćŚ‡ĺ®šă•ă‚Śăźĺ€¤ă«éŽăŽăŞă„ă‹ă‚‰ă§ă‚ă‚‹ďĽŽ
%&lt;/ja&gt;
%&lt;*en&gt;
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
a character whose character class is zero,
but on the other hand \cs{zw}~and~\cs{zh} are specified by JFM.
%&lt;/en&gt;


\item[\cs{DeclareYokoKanjiEncoding}\{\meta{encoding}\}\{\meta{text-settings}\}\{\meta{math-settings}\}]
%&lt;en&gt;\ \\[\dimexpr-\medskipamount-2\baselineskip\relax]
%&lt;ja&gt;\ \\[\dimexpr-2\baselineskip\relax]
\item[\cs{DeclareTateKanjiEncoding}\{\meta{encoding}\}\{\meta{text-settings}\}\{\meta{math-settings}\}]

%&lt;*en&gt;
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.
%&lt;/en&gt;
%&lt;*ja&gt;
\LuaTeX-jaă®NFSS2ă«ăŠă„ă¦ăŻďĽŚć¬§ć–‡ă•ă‚©ăłăă¨ĺ’Ść–‡ă•ă‚©ăłăăŻ
ăťă®ă‚¨ăłă‚łăĽă‡ă‚Łăłă‚°ă«ă‚ăŁă¦ă®ăżĺŚşĺĄă•ă‚Śă‚‹ďĽŽ
äľ‹ăă°ďĽŚOT1ă¨T1ă®ă‚¨ăłă‚łăĽă‡ă‚Łăłă‚°ăŻć¬§ć–‡ă•ă‚©ăłăă®ă‚¨ăłă‚łăĽă‡ă‚Łăłă‚°ă§ă‚ă‚ŠďĽŚ
ĺ’Ść–‡ă•ă‚©ăłăăŻă“ă‚Śă‚‰ă®ă‚¨ăłă‚łăĽă‡ă‚Łăłă‚°ă‚’ćŚă¤ă“ă¨ăŻă§ăŤăŞă„ďĽŽ
ă“ă‚Śă‚‰ă‚łăžăłă‰ăŻć¨Şçµ„ç”¨ă»ç¸¦çµ„ç”¨ĺ’Ść–‡ă•ă‚©ăłăă®ăźă‚ă®ć–°ă—ă„ă‚¨ăłă‚łăĽă‡ă‚Łăłă‚°ă‚’
ăťă‚Śăžă‚Śĺ®šçľ©ă™ă‚‹ďĽŽ
%&lt;/ja&gt;

\item[\cs{DeclareKanjiEncodingDefaults}\{\meta{text-settings}\}\{\meta{math-settings}\}]
%&lt;en&gt;\ \\[\dimexpr-\medskipamount-2\baselineskip\relax]
%&lt;ja&gt;\ \\[\dimexpr-2\baselineskip\relax]
\item[\cs{DeclareKanjiSubstitution}\{\meta{encoding}\}\{\meta{family}\}\{\meta{series}\}\{\meta{shape}\}]
%&lt;en&gt;\ \\[\dimexpr-\medskipamount-2\baselineskip\relax]
%&lt;ja&gt;\ \\[\dimexpr-2\baselineskip\relax]
\item[\cs{DeclareErrorKanjiFont}\{\meta{encoding}\}\{\meta{family}\}\{\meta{series}\}\{\meta{shape}\}\{\meta{size}\}]

%&lt;*en&gt;
The above 3~commands are just the counterparts for \cs{DeclareFontEncodingDefaults} and~others.
%&lt;/en&gt;
%&lt;*ja&gt;
ä¸Šč¨3ă¤ă®ă‚łăžăłă‰ăŻăˇă‚‡ă†ă©NFSS2 ă® \cs{DeclareFontEncodingDefaults} ăŞă©ă«ĺŻľĺżśă™ă‚‹ă‚‚ă®ă§ă‚ă‚‹ďĽŽ
%&lt;/ja&gt;

\item[\cs{reDeclareMathAlphabet}\{\meta{unified-cmd}\}\{\meta{al-cmd}\}\{\meta{ja-cmd}\}]

% ToDo: en
%&lt;*ja&gt;
ĺ’Ść–‡ă»ć¬§ć–‡ă®ć•°ĺĽŹç”¨ă•ă‚©ăłăă•ă‚ˇăźăŞă‚’ä¸€ĺş¦ă«ĺ¤‰ć›´ă™ă‚‹ĺ‘˝ä»¤ă‚’ä˝śćă™ă‚‹ďĽŽ
ĺ…·ä˝“çš„ă«ăŻďĽŚć¬§ć–‡ć•°ĺĽŹç”¨ă•ă‚©ăłăă•ă‚ˇăźăŞĺ¤‰ć›´ă®ĺ‘˝ä»¤\meta{al-cmd}ďĽ\cs{mathrm} ç­‰ďĽ‰ă¨ďĽŚĺ’Ść–‡ć•°ĺĽŹç”¨ă•ă‚©
	     ăłăă•ă‚ˇăźăŞĺ¤‰ć›´ă®ĺ‘˝ä»¤\meta{ja-cmd}ďĽ\cs{mathmc} ç­‰ďĽ‰ă®2ă¤ă‚’ĺŚć™‚ă«čˇŚă†ĺ‘˝ä»¤ă¨ă—ă¦
	     \meta{unified-cmd}ă‚’ďĽĺ†ŤďĽ‰ĺ®šçľ©ă™ă‚‹ďĽŽĺ®źéš›ă®ä˝żç”¨ă§ăŻ\meta{unified-cmd}ă¨
	     \meta{al-cmd}ă«ĺŚăă‚‚ă®ă‚’ćŚ‡ĺ®šă™ă‚‹ďĽŚă™ăŞă‚ŹăˇďĽŚ\meta{al-cmd}ă§ĺ’Ść–‡ĺ´ă‚‚ĺ¤‰
	     ć›´ă•ă›ă‚‹ă‚ă†ă«ă™ă‚‹ă®ăŚä¸€č¬çš„ă¨ć€ťă‚Źă‚Śă‚‹ďĽŽ

ćś¬ĺ‘˝ä»¤ăŻ
\begin{center}
\meta{unified-cmd}\texttt{\{}\meta{arg}\texttt{\}}\quad$\longrightarrow$\quad
(\meta{al-cmd}ă®1ć®µĺ±•é–‹çµćžś)\texttt{\{}\meta{ja-cmd}ă®1ć®µĺ±•é–‹çµćžś)\texttt{\{\meta{arg}\}\}}
\end{center}
ă¨ĺ®šçľ©ă‚’čˇŚă†ă®ă§ďĽŚä˝żç”¨ă«ăŻćł¨ć„ŹăŚĺż…č¦ă§ă‚ă‚‹ďĽš
%&lt;en&gt;\vspace{-\medskipamount}
\begin{itemize}
\item \meta{al-cmd},~\meta{ja-cmd}ăŻć—˘ă«ĺ®šçľ©ă•ă‚Śă¦ă„ăŞă‘ă‚Śă°ăŞă‚‰ăŞă„ďĽŽ
      \cs{reDeclareMathAlphabet}\\ă®ĺľŚă«
ä¸ˇĺ‘˝ä»¤ă®ĺ†…ĺ®ąă‚’ĺ†Ťĺ®šçľ©ă—ă¦ă‚‚ďĽŚ\meta{unified-cmd}ă®ĺ†…ĺ®ąă«ăťă‚ŚăŻĺŹŤć&nbsp;ă•ă‚ŚăŞă„ďĽŽ
\item \meta{al-cmd},~\meta{ja-cmd}ă«\verb+\@mathrm+ăŞă©ă¨ \texttt{@} ă‚’ă¤ă‘ăźĺ‘˝ä»¤ă‚’ćŚ‡ĺ®šă—ăźć™‚ă®ĺ‹•ä˝śăŻäżťč¨Ľă§ăŤăŞă„ďĽŽ
\end{itemize}
%&lt;/ja&gt;

\item[\cs{DeclareRelationFont}\{\meta{ja-encoding}\}\{\meta{ja-family}\}\{\meta{ja-series}\}\{\meta{ja-shape}\}\\*
  \null\hfill\{\meta{al-encoding}\}\{\meta{al-family}\}\{\meta{al-series}\}\{\meta{al-shape}\}]
%&lt;*en&gt;
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.
%&lt;/en&gt;
%&lt;*ja&gt;
ă„ă‚Źă‚†ă‚‹ă€Śĺľ“ĺ±žć¬§ć–‡ă€Ťă‚’č¨­ĺ®šă™ă‚‹ăźă‚ă®ĺ‘˝ä»¤ă§ă‚ă‚‹ďĽŽĺ‰ŤĺŤŠă®4ĺĽ•ć•°ă§čˇ¨ă•ă‚Śă‚‹ĺ’Ść–‡ă•ă‚©ăłăă«ĺŻľă—ă¦ďĽŚ
ăťă®ă•ă‚©ăłăă«ĺŻľĺżśă™ă‚‹ă€Śĺľ“ĺ±žć¬§ć–‡ă€Ťă®ă•ă‚©ăłăă‚’ĺľŚĺŤŠă®4ĺĽ•ć•°ă«ă‚ă‚Šä¸Žăă‚‹ďĽŽ
%&lt;/ja&gt;
\item[\cs{SetRelationFont}]
%&lt;*en&gt;
This command is almost same as \cs{DeclareRelationFont}, except that this command does a local
assignment, where \cs{DeclareRelationFont} does a global assignment.
%&lt;/en&gt;
%&lt;*ja&gt;
ă“ă®ă‚łăžăłă‰ăŻ \cs{DeclareRelationFont} ă¨ă­ăĽă‚«ă«ăŞćŚ‡ĺ®šă§ă‚ă‚‹ă“ă¨ă‚’é™¤ă„ă¦
ă»ă¨ă‚“ă©ĺŚăă§ă‚ă‚‹ďĽ\cs{DeclareRelationFont} ăŻă‚°ă­ăĽăă«ďĽ‰ďĽŽ
%&lt;/ja&gt;

\item[\cs{userelfont}]
%&lt;*en&gt;
(Only)~at the next call of \cs{selectfont},
  change current alphabetic font encoding/family/\dots\ to the `accompanied' alphabetic
  font family with respect to current Japanese font family,
  which was set by
  \cs{DeclareRelationFont} or \cs{SetRelationFont}.

  The following is an example of \cs{SetRelationFont} and \cs{userelfont}:
%&lt;/en&gt;
%&lt;*ja&gt;
ć¬ˇĺ›žďĽă®ăżďĽ‰ă®\cs{selectfont}ă®ĺ®źčˇŚć™‚ă«ďĽŚçŹľĺś¨ă®ć¬§ć–‡ă•ă‚©ăłăă®ă‚¨ăłă‚łăĽă‡ă‚Łăłă‚°ďĽŹă•ă‚ˇăźăŞďĽŹâ€¦â€¦ ă‚’ďĽŚ
\cs{DeclareRelationFont} ă‹ \cs{SetRelationFont} ă§ćŚ‡ĺ®šă•ă‚Śăź
çŹľĺś¨ă®ĺ’Ść–‡ă•ă‚©ăłăă«ĺŻľĺżśă™ă‚‹ă€Śĺľ“ĺ±žć¬§ć–‡ă€Ťă•ă‚©ăłăă«ĺ¤‰ć›´ă™ă‚‹ďĽŽ

  ä»Ąä¸‹ă« \cs{SetRelationFont} ă¨ \cs{userelfont} ă®äľ‹ă‚’
ç´ąä»‹ă—ă¦ăŠă“ă†ďĽŽ\cs{userelfont} ă®ä˝żç”¨ă«ă‚ăŁă¦ďĽŚă€Śabcă€Ťă®é¨ĺ†ă®ă•ă‚©ăłăăŚ
Latin Modern Sans Serif (TU/lmss/m/n) ă«ĺ¤‰ă‚ŹăŁă¦ă„ă‚‹ă“ă¨ăŚă‚Źă‹ă‚‹ďĽŽ
%&lt;/ja&gt;
\begin{LTXexample}[width=0.3\textwidth]
\makeatletter
\SetRelationFont{JY3}{\k@family}{m}{n}{TU}{lmss}{m}{n}
  % \k@family: current Japanese font family
\userelfont\selectfont ă‚ă„ă†abc
\end{LTXexample}

\item[\cs{adjustbaseline}]
%&lt;*en&gt;
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 similar task, namely setting the
	     \Param{talbaselineshift} parameter
(a Japanese character whose character class is zero is used, instead of `ćĽ˘' ).
%&lt;/en&gt;
%&lt;*ja&gt;
\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}ă‘ă©ăˇăĽă‚żă®čŞżć•´ĺ‡¦
	     ç†ă‚’čˇŚăŁă¦ă„ă‚‹ďĽä˝†ă—ă€ŚćĽ˘ă€Ťă§ăŞăŹă€Ść–‡ĺ­—ă‚Żă©ă‚ą0ă®ĺ’Ść–‡ć–‡ĺ­—ă€Ťă‚’ç”¨ă„ă‚‹ďĽ‰ďĽŽ

\pLaTeXe ă§ăŻďĽŚ\cs{adjustbaseline}ă§ďĽćś¬çŻ€ă®ćś€ĺťă«čż°ăąăźďĽŚĺ°Źć–‡ĺ­—ă§ĺ§‹ăľă‚‹ďĽ‰\cs{cht}, \cs{cwd}%ă®
  č¨­ĺ®šĺ‡¦ç†ă‚‚čˇŚăŁă¦ă„ăźăŚďĽŚ\LuaTeX-jaă§ă‚‚ĺ…¨ăŹĺŚć§ă§ă‚ă‚‹ďĽŽ
%&lt;/ja&gt;

\item[\cs{fontfamily}\{\meta{family}\}]
%&lt;*en&gt;
As in \LaTeXe, this command changes current font family (alphabetic, Japanese,~\emph{or both})
to \meta{family}. See Subsection~\ref{ssec:fontfamilycmd} for detail.
%&lt;/en&gt;
%&lt;*ja&gt;
ĺ…ă€…ă®\LaTeXe ă«ăŠă‘ă‚‹ă‚‚ă®ă¨ĺŚć§ă«ďĽŚă“ă®ă‚łăžăłă‰ăŻçŹľĺś¨ă®ă•ă‚©ăłăă•ă‚ˇăźăŞďĽć¬§ć–‡ďĽŚ
ĺ’Ść–‡ďĽŚ\emph{ă‚‚ă—ăŹăŻä¸ˇć–ą}ďĽ‰ă‚’\meta{family}ă«ĺ¤‰ć›´ă™ă‚‹ďĽŽč©łç´°ăŻ\ref{ssec:fontfamilycmd}çŻ€ă‚’ĺŹ‚ç…§ă™ă‚‹ă“ă¨ďĽŽ
%&lt;/ja&gt;

\item[\cs{fontshape}\{\meta{shape}\}\textrm{, }\cs{fontshapeforce}\{\meta{shape}\}]
%&lt;*en&gt;
As in \LaTeXe, this command changes current alphabetic font shape
according to shape change rules.

Traditionally, \cs{fontshape} changes also current Japanese font shape always.
However, this leads a lot of \LaTeX\ font warning like
\begin{verbatim}
    Font shape `JY3/mc/m/it' undefined
    using `JY3/mc/m/n' instead on ....
\end{verbatim}
when \cs{itshape} is called,
because almost all Japanese fonts only have shape ``\texttt{n}'', and \cs{itshape} calls \cs{fontshape}.

\LuaTeX-ja~20200323.0 change the behavior. Namely,
\cs{fontshape\{\meta{shape}\}}~and~\cs{fontshapeforce\{\meta{shape}\}} change current Japanese font shape, only if
the required shape (according to shape changing rules) or \meta{shape} is avaliable in current Japanese font family/series.
When this is not the case, an info such as
\begin{verbatim}
    Kanji font shape JY3/mc/m/it' undefined
    No change on ...
\end{verbatim}
is issued instead of a warning.
%&lt;/en&gt;
%&lt;*ja&gt;
ĺ…ă€…ă®\LaTeXe ă«ăŠă‘ă‚‹ă‚‚ă®ă¨ĺŚć§ă«ďĽŚă“ă®ă‚łăžăłă‰ăŻçŹľĺś¨ă®ć¬§ć–‡ă•ă‚©ăłăă‚·ă‚§ă‚¤ă—ă‚’
\cs{DeclareFontShapeChangeRule}ă«ă‚ă‚‹ă‚·ă‚§ă‚¤ă—ć›´ć–°č¦Źĺ‰‡ă«ă‚ăŁă¦ĺ¤‰ć›´ă™ă‚‹ďĽŽ

äĽťçµ±çš„ă«ăŻďĽŚ\cs{fontshape}ăŻç„ˇćťˇä»¶ă«ĺ’Ść–‡ă•ă‚©ăłăă‚·ă‚§ă‚¤ă—ă‚‚ĺ¤‰ć›´ă—ăźďĽŽă—ă‹ă—ďĽŚäľ‹ăă°ĺ¤šăŹă®ĺ’Ść–‡ă•ă‚©ăłăăŻ
ă‚·ă‚§ă‚¤ă—ăŚ``\texttt{n}''ă—ă‹ćŚăźăŞă„ă“ă¨ă¨\cs{itshape}ăŚ\cs{fontshape}ă‚’ĺ‘Ľăłĺ‡şă™ă“ă¨ă‹ă‚‰ďĽŚ
\begin{verbatim}
    Font shape `JY3/mc/m/it' undefined
    using `JY3/mc/m/n' instead on ....
\end{verbatim}
ă¨ă„ăŁăźč­¦ĺ‘Šă‚’ă‚‚ăźă‚‰ă—ă¦ă—ăľăŁă¦ă„ăźďĽŽ

ä¸€ć–ąďĽŚ\LuaTeX-ja 20200323.0ä»Ąé™Ťă§ăŻďĽŚ
\cs{fontshape\{\meta{shape}\}}, \cs{fontshapeforce\{\meta{shape}\}}ăŚĺ’Ść–‡ă•ă‚©ăłăă‚·ă‚§ă‚¤ă—ă‚’ć›´ć–°ă™ă‚‹ă®ăŻďĽŚ
ă‚·ă‚§ă‚¤ă—ć›´ć–°č¦Źĺ‰‡ă«ĺźşăĄă„ăźĺ€¤ă‚„\meta{shape}ă®ĺ°‘ăŞăŹă¨ă‚‚ä¸€ă¤ăŚçŹľĺś¨ă®ĺ’Ść–‡ă•ă‚©ăłăă•ă‚ˇăźăŞă»ă‚·ăŞăĽă‚şă§ĺ©ç”¨ĺŹŻč˝ăŞă¨ăŤă«é™ă‚‰ă‚Śă‚‹ďĽŽ
ă©ăˇă‚‰ă§ă‚‚ăŞăŹďĽŚĺ’Ść–‡ă•ă‚©ăłăă‚·ă‚§ă‚¤ă—ăŚĺ¤‰ć›´ă•ă‚ŚăŞă‹ăŁăźĺ&nbsp;´ĺă«ăŻ
\begin{verbatim}
    Kanji font shape JY3/mc/m/it' undefined
    No change on ...
\end{verbatim}
ă¨ă„ă†infoďĽč­¦ĺ‘Šă§ăŞăŹďĽ‰ă‚’ĺ‡şĺŠ›ă™ă‚‹ďĽŽ
%&lt;/ja&gt;

\item[\cs{kanjishape}\{\meta{shape}\}\textrm{, }\cs{kanjishapeforce}\{\meta{shape}\}]
%&lt;*en&gt;
\cs{kanjishape\{\meta{shape}\}} changes current Japanese font shape according to shape change rules, and
\cs{kanjishapeforce\{\meta{shape}\}} changes current Japanese font shape to \meta{shape}, regardless of the rules.
Hence \cs{kanjishape\{it\}} produces a warning
\begin{verbatim}
    Font shape `JY3/mc/m/it' undefined
    using `JY3/mc/m/n' instead on ....
\end{verbatim}
which is not produced by \cs{fontshape\{it\}}.
%&lt;/en&gt;
%&lt;*ja&gt;
  ...
%&lt;/ja&gt;


\begin{figure}[!tb]
\begin{LTXexample}[pos=b]
\DeclareKanjiFamily{JY3}{edm}{}
\DeclareFontShape{JY3}{edm}{m}{n}   {&lt;-&gt; s*HaranoAjiMincho-Regular:jfm=ujis}{}
\DeclareFontShape{JY3}{edm}{m}{fb}  {&lt;-&gt; s*HaranoAjiGothic-Regular:jfm=ujis;color=003FFF}{}
\DeclareFontShape{JY3}{edm}{m}{fb2} {&lt;-&gt; s*HaranoAjiGothic-Regular:jfm=ujis;color=FF1900}{}
\DeclareAlternateKanjiFont{JY3}{edm}{m}{n}{JY3}{edm}{m}{fb}{ "4E00-"67FF,{-2}-{-2}}
\DeclareAlternateKanjiFont{JY3}{edm}{m}{n}{JY3}{edm}{m}{fb2}{"6800-"9FFF}
{\kanjifamily{edm}\selectfont
ć—Ąćś¬ĺ›˝ć°‘ăŻă€ć­Łĺ˝“ă«é¸ćŚ™ă•ă‚Śăźĺ›˝äĽšă«ăŠă‘ă‚‹ä»Łčˇ¨č€…ă‚’é€šăă¦čˇŚĺ‹•ă—ă€â€¦â€¦}
\end{LTXexample}
%&lt;ja&gt;\caption{\cs{DeclareAlternateKanjiFont} ă®ä˝żç”¨äľ‹}
%&lt;en&gt;\caption{An example of \cs{DeclareAlternateKanjiFont}}
\label{fig:altkanji}
\end{figure}

\item[\cs{DeclareAlternateKanjiFont}\\
  \{\meta{base-encoding}\}\{\meta{base-family}\}\{\meta{base-series}\}\{\meta{base-shape}\}\\
  \{\meta{alt-encoding}\}\{\meta{alt-family}\}\{\meta{alt-series}\}\{\meta{alt-shape}\}\{\meta{range}\}]
%&lt;*ja&gt;
\ref{ssec:altfont}çŻ€ă®\
\cs{ltjdeclarealtfont} ă¨ĺŚć§ă«ďĽŚĺ‰ŤĺŤŠă®4ĺĽ•ć•°ă®
ĺ’Ść–‡ă•ă‚©ăłăďĽĺźşĺş•ă•ă‚©ăłăďĽ‰ă®ă†ăˇ\meta{range}ä¸­ă®ć–‡ĺ­—ă‚’
ç¬¬5ă‹ă‚‰ç¬¬8ĺĽ•ć•°ă®ĺ’Ść–‡ă•ă‚©ăłăă‚’ä˝żăŁă¦çµ„ă‚€ă‚ă†ă«ćŚ‡ç¤şă™ă‚‹ďĽŽ
ä˝żç”¨äľ‹ă‚’ĺ›ł\nobreak\ref{fig:altkanji}ă«čĽ‰ă›ăźďĽŽ

\begin{itemize}
 \item
\cs{ltjdeclarealtfont} ă§ăŻĺźşĺş•ă•ă‚©ăłăă»ç˝®ăŤćŹ›ăĺ…ĺ’Ść–‡ă•ă‚©ăłăăŻă‚ă‚‰ă‹ăă‚ĺ®šçľ©ă•ă‚Śă¦ă„
	     ăŞă„ă¨ă„ă‘ăŞă„ďĽăťă®ä»Łă‚Źă‚ŠĺŤłć™‚ç™şĺŠąďĽ‰ăźăŚďĽŚ
\cs{DeclareAlternateKanjiFont} ă®č¨­ĺ®šăŚ
ĺ®źéš›ă«ĺŠąĺŠ›ăŚç™şćŹ®ă™ă‚‹ă®ăŻďĽŚć›¸ä˝“ĺ¤‰ć›´ă‚„ă‚µă‚¤ă‚şĺ¤‰ć›´ă‚’čˇŚăŁăźć™‚ďĽŚ
ă‚ă‚‹ă„ăŻďĽă“ă‚Śă‚‰ă‚’ĺ«ă‚€ăŚďĽ‰\cs{selectfont} ăŚĺ®źčˇŚă•ă‚Śăźć™‚ă§ă‚ă‚‹ďĽŽ
 \item
ć®µč˝ă‚„hboxă®ćś€ĺľŚă§ă®č¨­ĺ®šĺ€¤ăŚć®µč˝ďĽŹhboxĺ…¨ä˝“ă«ă‚ŹăźăŁă¦é€šç”¨ă™ă‚‹ç‚ąă‚„ďĽŚ
\meta{range}ă«č˛&nbsp;ć•°$-n$ă‚’ćŚ‡ĺ®šă—ăźĺ&nbsp;´ĺďĽŚăťă‚ŚăŚă€Śĺźşĺş•ă•ă‚©ăłăă®ć–‡ĺ­—ă‚Żă©ă‚ą$n$ă«ĺ±žă™ă‚‹ć–‡ĺ­—ĺ…¨ä˝“ă€Ť
ă¨č§Łé‡ă•ă‚Śă‚‹ă®ăŻ \cs{ltjdeclarealtfont} ă¨ĺŚăă§ă‚ă‚‹ďĽŽ
\end{itemize}%
%&lt;/ja&gt;
%&lt;*en&gt;
As \cs{ltjdeclarealtfont}~(Subsection~\ref{ssec:altfont}),
characters in \meta{range} 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 \autoref{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}
%&lt;/en&gt;
\end{cslist}


%&lt;*en&gt;
Furthermore, \LuaTeX-ja applies patches which enables NFSS2 commands,
such~as \cs{DeclareSymbolFont}~and~\cs{SetSymbolFont}, to specify
Japanee fonts as math fonts.

Specifying \texttt{disablejfam} option in \cs{usepackage} prevents
applying these patches.
Hence one cannot write Japanese Characters in math mode directly
if \texttt{disablejfam} option is specified.
The code below does not work either:
\begin{lstlisting}
\DeclareSymbolFont{mincho}{JY3}{mc}{m}{n}
\DeclareSymbolFontAlphabet{\mathmc}{mincho}
\end{lstlisting}
%&lt;/en&gt;
%&lt;*ja&gt;
ă“ă®ä»–ă«ă‚‚ďĽŚć¨™ćş–ă§ăŻ
\cs{DeclareSymbolFont}, \cs{SetSymbolFont} ăŞă©ă®ĺ‘˝ä»¤ă§
ďĽNFSS2ă®ćž&nbsp;çµ„ăżă§ďĽ‰ć•°ĺĽŹă•ă‚©ăłăă¨ă—ă¦ć—Ąćś¬čŞžă•ă‚©ăłăă‚’ä˝żăă‚‹ă‚ă†ă«ă™ă‚‹ăźă‚ă®ă‘ăăă‚’ĺ˝“ă¦ă¦ă„ă‚‹ďĽŽ

ä¸€ć–ąďĽŚ\texttt{disablejfam}ă‚Şă—ă‚·ă§ăłćŚ‡ĺ®šć™‚ă«ăŻďĽŚă“ă‚Śă‚‰ă®ă‘ăăă‚’ĺ˝“ă¦ăŞă„ă®ă§
\begin{lstlisting}
\DeclareSymbolFont{mincho}{JY3}{mc}{m}{n}
\DeclareSymbolFontAlphabet{\mathmc}{mincho}
\end{lstlisting}
ă®ă‚ă†ă«č¨­ĺ®šă—ă¦ă‚‚ďĽŚć•°ĺĽŹă˘ăĽă‰ä¸­ă«ç›´ă«ć—Ąćś¬čŞžă‚’č¨čż°ă™ă‚‹ă“ă¨ăŻă§ăŤăŞă„ďĽŽ
\verb|$\mathmc{ă‚}$| ă®ă‚ă†ă« \cs{mathmc} ă§ĺ›˛ă‚“ă§ă‚‚ă§ăŤăŞă„ďĽŽ
%&lt;/ja&gt;

%&lt;en&gt;\subsection{Detail of \cs{fontfamily} command}
%&lt;ja&gt;\subsection{\cs{fontfamily}ă‚łăžăłă‰ă®č©łç´°}
\label{ssec:fontfamilycmd}
%&lt;*en&gt;
In this subsection, we describe when \cs{fontfamily}\meta{family} changes current
Japanese/alphabetic font family. Basically, current Japanese fotn family is changed to
\meta{family} 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
\meta{family}, and another case that \meta{family} 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}}$.
%&lt;/en&gt;
%&lt;*ja&gt;
ćś¬çŻ€ă§ăŻďĽŚ\cs{fontfamily}\meta{family} ăŚă„ă¤ĺ’Ść–‡/ć¬§ć–‡ă•ă‚©ăłăă•ă‚ˇăźăŞă‚’ĺ¤‰ć›´ă™ă‚‹ă‹ă«ă¤ă„ă¦č§ŁčŞ¬
ă™ă‚‹ďĽŽĺźşćś¬çš„ă«ăŻďĽŚ\meta{family}ăŚĺ’Ść–‡ă•ă‚©ăłăă•ă‚ˇăźăŞă&nbsp;ă¨čŞŤč­ă•ă‚Śă‚Śă°ĺ’Ść–‡ĺ´ăŚďĽŚć¬§ć–‡ă•ă‚©ăłăă•ă‚ˇ
ăźăŞă&nbsp;ă¨čŞŤč­ă•ă‚Śă‚Śă°ć¬§ć–‡ĺ´ăŚĺ¤‰ć›´ă•ă‚Śă‚‹ďĽŽă©ăˇă‚‰ă¨ă‚‚čŞŤč­ă•ă‚Śă‚Śă°ĺ’Ść–‡ă»ć¬§ć–‡ă®ä¸ˇć–ąăŚĺ¤‰ă‚Źă‚‹ă“
ă¨ă«ăŞă‚‹ă—ďĽŚĺ˝“ç„¶ă©ăˇă‚‰ă¨ă‚‚čŞŤč­ă•ă‚ŚăŞă„ă“ă¨ă‚‚ă‚ă‚‹ďĽŽ

\paragraph{ĺ’Ść–‡ă•ă‚©ăłăă•ă‚ˇăźăŞă¨ă—ă¦ă®čŞŤč­}
ăľăšďĽŚ\meta{family}ăŚĺ’Ść–‡ă•ă‚©ăłăă•ă‚ˇăźăŞă¨ă—ă¦čŞŤč­ă•ă‚Śă‚‹ă‹ăŻä»Ąä¸‹ă®é&nbsp;†ĺşŹă§ć±şĺ®šă•ă‚Śă‚‹ďĽŽ
ă“ă‚ŚăŻ\pLaTeXe ă® \cs{fontfamily} ă«ă¨ă¦ă‚‚äĽĽă¦ă„ă‚‹ăŚďĽŚă“ă“ă§ăŻLuaă«ă‚ăŁă¦ĺ®źčŁ…ă—ă¦ă„ă‚‹ďĽŽ
čŁśĺŠ©çš„ă«ă€Śĺ’Ść–‡ă•ă‚©ăłăă•ă‚ˇăźăŞă§ăŻăŞă„ă¨čŞŤč­ă•ă‚Śăźă€Ťă•ă‚ˇăźăŞă‚’ć&nbsp;Ľç´Ťă—ăźăŞă‚ąă$N_{\mathrm{J}}$ă‚’ç”¨ă„ă‚‹ďĽŽ
%&lt;/ja&gt;
\begin{enumerate}
%&lt;*en&gt;
\item If the family~\meta{family} has been defined already by \cs{DeclareKanjiFamily},
      \meta{family} is recognized as a  Japanese font family.
      Note that \meta{family} need not be defined under \emph{current} Japanese font encoding.
%&lt;/en&gt;
%&lt;*ja&gt;
\item ă•ă‚ˇăźăŞ\meta{family}ăŚć—˘ă« \cs{DeclareKanjiFamily} ă«ă‚ăŁă¦ĺ®šçľ©ă•ă‚Śă¦ă„ă‚‹ĺ&nbsp;´ĺďĽŚ
      \meta{family}ăŻĺ’Ść–‡ă•ă‚©ăłăă•ă‚ˇăźăŞă§ă‚ă‚‹ă¨čŞŤč­ă•ă‚Śă‚‹ďĽŽ
      ă“ă“ă§ďĽŚ\meta{family}ăŻçŹľĺś¨ă®ĺ’Ść–‡ă•ă‚©ăłăă‚¨ăłă‚łăĽă‡ă‚Łăłă‚°ă§ĺ®šçľ©ă•ă‚Śă¦ă„ăŞăŹă¦ă‚‚ă‚ă„ďĽŽ
%&lt;/ja&gt;
%&lt;*en&gt;
\item If the family~\meta{family} has been listed in a list~$N_{\mathrm{J}}$, this means
      that \meta{family} is not a Japanese font family.
%&lt;/en&gt;
%&lt;*ja&gt;
\item ă•ă‚ˇăźăŞ\meta{family}ăŚăŞă‚ąă$N_{\mathrm{J}}$ă«ć—˘ă«ĺ«ăľă‚Śă¦ă„ă‚Śă°ďĽŚăťă‚ŚăŻ
      \meta{family}ăŚĺ’Ść–‡ă•ă‚©ăłăă•ă‚ˇăźăŞă§ăŻăŞă„ă“ă¨ă‚’ć„Źĺ‘łă™ă‚‹ďĽŽ
%&lt;/ja&gt;
%&lt;*en&gt;
\item If the \Pkg{luatexja-fontspec} package is loaded, we stop here, and \meta{family} 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~\meta{enc} such that
      a font definition named \texttt{\meta{enc}\meta{family}.fd} (the file name is
      all lowercase) exists. If so, \meta{family} is recognized as a  Japanese font family (the font definition file won't be loaded here).
      If not, \meta{family} is not a Japanese font family, and
      \meta{family} is appended to the list~$N_{\mathrm{J}}$.
%&lt;/en&gt;
%&lt;*ja&gt;
\item ă‚‚ă—\Pkg{luatexja-fontspec}ă‘ăă‚±ăĽă‚¸ăŚčŞ­ăżčľĽăľă‚Śă¦ă„ă‚Śă°ďĽŚă“ă“ă§çµ‚äş†ă§ă‚ă‚ŠďĽŚ
\meta{family}ăŻĺ’Ść–‡ă•ă‚©ăłăă•ă‚ˇăźăŞă¨ă—ă¦čŞŤč­ă•ă‚ŚăŞă„ă“ă¨ă«ăŞă‚‹ďĽŽ

ă‚‚ă—\Pkg{luatexja-fontspec}ă‘ăă‚±ăĽă‚¸ăŚčŞ­ăżčľĽăľă‚Śă¦ă„ăŞă‘ă‚Śă°ďĽŚĺ’Ść–‡ă‚¨ăłă‚łăĽă‡ă‚Łăłă‚°\meta{enc}ă§
ă•ă‚©ăłăĺ®šçľ©ă•ă‚ˇă‚¤ă«\texttt{\meta{enc}\meta{family}.fd}ďĽă•ă‚ˇă‚¤ă«ĺŤăŻĺ…¨ă¦ĺ°Źć–‡ĺ­—ďĽ‰ăŚĺ­ĺś¨ă™ă‚‹ă‚ă†ăŞă‚‚
      ă®ăŚă‚ă‚‹ă‹ă©ă†ă‹ă‚’čŞżăąă‚‹ďĽŽ
ĺ­ĺś¨ă™ă‚Śă°ďĽŚ\meta{family}ăŻĺ’Ść–‡ă•ă‚©ăłăă•ă‚ˇăźăŞă¨čŞŤč­ă•ă‚Śă‚‹ďĽă•ă‚©ăłăĺ®šçľ©ă•ă‚ˇă‚¤ă«ăŻčŞ­ăżčľĽăľă‚ŚăŞ
      ă„ďĽ‰ďĽŽ
ĺ­ĺś¨ă—ăŞă‘ă‚Śă°ďĽŚ\meta{family}ăŻĺ’Ść–‡ă•ă‚©ăłăă•ă‚ˇăźăŞă§ăŞă„ă¨čŞŤč­ă•ă‚ŚďĽŚăŞă‚ąă$N_{\mathrm{J}}$ă«\meta{family}ă‚’čż˝ĺŠ&nbsp;ă™ă‚‹ă“ă¨ă§ăťă‚Śă‚’č¨ć†¶ă™ă‚‹ďĽŽ

%&lt;/ja&gt;
\end{enumerate}

%&lt;*en&gt;
\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}}$,
%&lt;/en&gt;
%&lt;*ja&gt;
\paragraph{ć¬§ć–‡ă•ă‚©ăłăă•ă‚ˇăźăŞă¨ă—ă¦ă®čŞŤč­}
ĺŚć§ă«ďĽŚ\meta{family}ăŚĺ’Ść–‡ă•ă‚©ăłăă•ă‚ˇăźăŞă¨ă—ă¦čŞŤč­ă•ă‚Śă‚‹ă‹ăŻä»Ąä¸‹ă®é&nbsp;†ĺşŹă§ć±şĺ®šă•ă‚Śă‚‹ďĽŽ
čŁśĺŠ©çš„ă«ă€Ść¬§ć–‡ă•ă‚©ăłăă•ă‚ˇăźăŞă¨ć—˘ă«čŞŤč­ă•ă‚Śăźă€Ťă•ă‚ˇăźăŞă®ăŞă‚ąă$F_{\textrm{A}}$ă¨ďĽŚ
ă€Ść¬§ć–‡ă•ă‚©ăłăă•ă‚ˇăźăŞă§ăŻăŞă„ă¨čŞŤč­ă•ă‚Śăźă€Ťă•ă‚ˇăźăŞă‚’ć&nbsp;Ľç´Ťă—ăźăŞă‚ąă$N_{\mathrm{A}}$ă‚’ç”¨ă„ă‚‹ďĽŽ
%&lt;/ja&gt;

\begin{enumerate}
%&lt;*en&gt;
\item If the family~\meta{family} has been listed in a list~$F_{\mathrm{A}}$,
      \meta{family} is recognized as an alphabetic font family.
%&lt;/en&gt;
%&lt;*ja&gt;
\item ă•ă‚ˇăźăŞ\meta{family}ăŚăŞă‚ąă$F_{\mathrm{A}}$ă«ć—˘ă«ĺ«ăľă‚Śă¦ă„ă‚Śă°ďĽŚ
      \meta{family}ăŻć¬§ć–‡ă•ă‚©ăłăă•ă‚ˇăźăŞă¨čŞŤč­ă•ă‚Śă‚‹ďĽŽ
%&lt;/ja&gt;
%&lt;*en&gt;
\item If the family~\meta{family} has been listed in a list~$N_{\mathrm{A}}$, this means
      that \meta{family} is not  an alphabetic font family.
%&lt;/en&gt;
%&lt;*ja&gt;
\item ă•ă‚ˇăźăŞ\meta{family}ăŚăŞă‚ąă$N_{\mathrm{A}}$ă«ć—˘ă«ĺ«ăľă‚Śă¦ă„ă‚Śă°ďĽŚăťă‚ŚăŻ
      \meta{family}ăŚć¬§ć–‡ă•ă‚©ăłăă•ă‚ˇăźăŞă§ăŻăŞă„ă“ă¨ă‚’ć„Źĺ‘łă™ă‚‹ďĽŽ
%&lt;/ja&gt;
%&lt;*en&gt;
\item If there exists an alphabetic font encoding such that the family~\meta{family} has been
      defined under it, \meta{family} is recognized as an alphabetic font family, and
      to memorize this, \meta{family} is appended to the list~$F_{\mathrm{A}}$.
%&lt;/en&gt;
%&lt;*ja&gt;
\item ă‚ă‚‹ć¬§ć–‡ă•ă‚©ăłăă‚¨ăłă‚łăĽă‡ă‚Łăłă‚°ä¸‹ă§ă•ă‚ˇăźăŞ\meta{family}ăŚĺ®šçľ©ă•ă‚Śă¦ă„ă‚Śă°ďĽŚ
      \meta{family}ăŻć¬§ć–‡ă•ă‚©ăłăă•ă‚ˇăźăŞă¨čŞŤč­ă•ă‚ŚďĽŚăŞă‚ąă$F_{\mathrm{A}}$ă«\meta{family}ă‚’čż˝ĺŠ&nbsp;ă™ă‚‹ă“ă¨ă§ă“ă®ă“ă¨ă‚’č¨ć†¶ă™ă‚‹ďĽŽ
%&lt;/ja&gt;
%&lt;*en&gt;
\item Now \LuaTeX-ja looks whether there exists an alphabetic font encoding~\meta{enc} such that
      a font definition named \texttt{\meta{enc}\meta{family}.fd} (the file name is
      all lowercase) exists. If so, current alphabetic font family will be changed to
      \meta{family}~(the font definition file won't be loaded here).
      If not, current alphabetic font family won't be changed, and
      \meta{family} is appended to the list~$N_{\mathrm{A}}$.
%&lt;/en&gt;
%&lt;*ja&gt;
\item ćś€çµ‚ć®µéšŽă§ăŻďĽŚć¬§ć–‡ă‚¨ăłă‚łăĽă‡ă‚Łăłă‚°\meta{enc}ă§
ă•ă‚©ăłăĺ®šçľ©ă•ă‚ˇă‚¤ă«\texttt{\meta{enc}\meta{family}.fd}ďĽă•ă‚ˇă‚¤ă«ĺŤăŻĺ…¨ă¦ĺ°Źć–‡ĺ­—ďĽ‰ăŚĺ­ĺś¨ă™ă‚‹ă‚ă†ăŞă‚‚
      ă®ăŚă‚ă‚‹ă‹ă©ă†ă‹ă‚’čŞżăąă‚‹ďĽŽ
ĺ­ĺś¨ă™ă‚Śă°ďĽŚ\meta{family}ăŻć¬§ć–‡ă•ă‚©ăłăă•ă‚ˇăźăŞă¨čŞŤč­ă•ă‚Śă‚‹ďĽă•ă‚©ăłăĺ®šçľ©ă•ă‚ˇă‚¤ă«ăŻčŞ­ăżčľĽăľă‚ŚăŞă„ďĽ‰ďĽŽ
ĺ­ĺś¨ă—ăŞă‘ă‚Śă°ďĽŚ\meta{family}ăŻć¬§ć–‡ă•ă‚©ăłăă•ă‚ˇăźăŞă¨čŞŤč­ă•ă‚ŚăŞă„ă®ă§ďĽŚăŞă‚ąă$N_{\mathrm{A}}$ă«
      \meta{family}ă‚’čż˝ĺŠ&nbsp;ă—ă¦ăťă®ă“ă¨ă‚’č¨ć†¶ă™ă‚‹ďĽŽ
%&lt;/ja&gt;
\end{enumerate}

%&lt;*en&gt;
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}}$.
%&lt;/en&gt;
%&lt;*ja&gt;
ăľăźďĽŚ\cs{DeclareFontFamily}ăŚ\LuaTeX-jaă®čŞ­ăżčľĽăżĺľŚă«ĺ®źčˇŚă•ă‚Śăźĺ&nbsp;´ĺăŻďĽŚ
ç¬¬2ĺĽ•ć•°ďĽă•ă‚ˇăźăŞĺŤďĽ‰ăŚč‡Şĺ‹•çš„ă«$F_{\mathrm{A}}$ă«čż˝ĺŠ&nbsp;ă•ă‚Śă‚‹ďĽŽ
%&lt;/ja&gt;

%&lt;*en&gt;
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.
%&lt;/en&gt;
%&lt;*ja&gt;
ä»Ąä¸Šă®ć–ąé‡ťăŻ\pLaTeXe ă«ăŠă‘ă‚‹ \cs{fontfamily} ă«ă‚„ăŻă‚ŠéˇžäĽĽă—ă¦ă„ă‚‹ăŚďĽŚ3.ăŚĺŠ&nbsp;ă‚Źă‚Šč‹Ąĺą˛č¤‡é›‘ă«ăŞăŁă¦ă„ă‚‹ďĽŽ
ăťă‚ŚăŻ\pLaTeXe ăŚă•ă‚©ăĽăžăăă§ă‚ă‚‹ă®ă«ĺŻľă—\LuaTeX-jaăŻăťă†ă§ăŞă„ăźă‚ďĽŚ
\LuaTeX-jaăŻč‡Şčş«ăŚčŞ­ăżčľĽăľă‚Śă‚‹ĺ‰Ťă«ă©ă†ă„ă†\cs{DeclareFontFamily}ă®ĺ‘Ľăłĺ‡şă—ăŚă‚ăŁăźă‹
ćŠŠćŹˇă§ăŤăŞă„ă‹ă‚‰ă§ă‚ă‚‹ďĽŽ
%&lt;/ja&gt;

%&lt;en&gt;\paragraph{Remarks}
%&lt;ja&gt;\paragraph{ćł¨ć„Ź}
%&lt;*en&gt;
Of course, there is a case that \meta{family} is not recognized as a Japanese font family,  nor
an alphabetic font family.
In this case, \LuaTeX-ja treats ``the argument \meta{family} is wrong'', so
set both current alphabetic and Japanese font family to \meta{family},
to use the default family for font substitution.
%&lt;/en&gt;
%&lt;*ja&gt;
ă•ă¦ďĽŚĺĽ•ć•°ă«ă‚ăŁă¦ăŻďĽŚă€Śĺ’Ść–‡ă•ă‚©ăłăă•ă‚ˇăźăŞă¨ă‚‚ć¬§ć–‡ă•ă‚©ăłăă•ă‚ˇăźăŞă‚‚čŞŤč­ă•ă‚ŚăŞă‹ăŁăźă€Ť
ă¨ă„ă†äş‹ć…‹ă‚‚ă‚ă‚Šĺľ—ă‚‹ďĽŽ
  ă“ă®ĺ&nbsp;´ĺďĽŚĺĽ•ć•°\meta{family}ăŻä¸Ťć­Łă&nbsp;ăŁăźďĽŚă¨ă„ă†ă“ă¨ă«ăŞă‚‹ă®ă§ďĽŚ
ĺ’Ść–‡ă»ć¬§ć–‡ă®ä¸ˇć–ąă®ă•ă‚©ăłăă•ă‚ˇăźăŞă‚’\meta{family}ă«č¨­ĺ®šă—ďĽŚä»Łç”¨ă•ă‚©ăłăăŚä˝żă‚Źă‚Śă‚‹ă«ä»»ă›ă‚‹ă“ă¨ă«ă™ă‚‹ďĽŽ
%&lt;/ja&gt;

%&lt;*en&gt;
\subsection{Notes on \cs{DeclareTextSymbol}}
From \LaTeX~2017/01/01, the standard encoding of \LuaLaTeX\ is changed to the \texttt{TU}
encoding. This menas that symbols defined by \texttt{T1}~and~\texttt{TS1} encodings can be used
without loading any package. To produces these symbols in alphabetic fonts in \LuaTeX-ja,
\LuaTeX-ja patches \cs{DeclareTextSymbol}, and reloads \texttt{tuenc.def}.

Under original definition of \cs{DeclareTextSymbol},
internal commands which is defined by \cs{DeclareTextSymbol} (such as \cs{T1\cs{textquotedblleft}})
are \textit{chardef} tokens. However, this no longer holds in \LuaTeX-ja;
for example, the meaning of \cs{TU\cs{textquotedblleft}} is \cs{ltjalchar8220\ltjalchar"2423 }.
%&lt;/en&gt;
%&lt;*ja&gt;
\subsection{\cs{DeclareTextSymbol}ä˝żç”¨ć™‚ă®ćł¨ć„Ź}
\LaTeX~(2017/01/01)ä»Ąé™Ťă§ăŻďĽŚ\texttt{TU}ă‚¨ăłă‚łăĽă‡ă‚Łăłă‚°ăŚć¨™ćş–ă¨ăŞă‚ŠďĽŚç‰ąă«ä˝•ă‚‚ă—ăŞăŹă¦ă‚‚
\texttt{T1},~\texttt{TS1}ă‚¨ăłă‚łăĽă‡ă‚Łăłă‚°ă§ĺ®šçľ©ă•ă‚Śă¦ă„ăźč¨ĺŹ·éˇžăŚ
ä˝żăă‚‹ă‚ă†ă«ăŞăŁăźďĽŽ\LuaTeX-jaă§ăŻă“ă‚Śă‚‰ă®ĺ‘˝ä»¤ă«ă‚ăŁă¦č¨ĺŹ·ăŚć¬§ć–‡ă•ă‚©ăłăă§ĺ‡şĺŠ›ă•ă‚Śă‚‹ă‚ă†ă«ă™ă‚‹ăźă‚ďĽŚ
\cs{DeclareTextSymbol}ĺ‘˝ä»¤ă‚’ć”ąĺ¤‰ă—ďĽŚăťă—ă¦\texttt{TU}ă‚¨ăłă‚łăĽă‡ă‚Łăłă‚°ă®ĺ®šçľ©ă§ă‚ă‚‹
\texttt{tuenc.def}ă‚’ĺ†ŤčŞ­čľĽă—ă¦ă„ă‚‹ďĽŽ

ĺľ“ćťĄăŻ \cs{DeclareTextSymbol} ă§ĺ†…é¨çš„ă«ĺ®šçľ©ă•ă‚Śăź\cs{T1\cs{textquotedblleft}}ă¨ă„ăŁăźĺ‘˝ä»¤ăŻ
\textit{chardef}ăăĽă‚Żăłă§ă‚ăŁăźďĽŽă—ă‹ă—ĺ‰Ťć®µč˝ă§čż°ăąăźć”ąĺ¤‰ă«ă‚ă‚Šă‚‚ăŻă‚„ăťă†ă§ăŻăŞăŹăŞăŁă¦ăŠă‚ŠďĽŚäľ‹ăă°
\cs{TU\cs{textquotedblleft}}ăŻ \cs{ltjalchar8220\ltjalchar"2423 } ă¨ă„ă†ĺ®šçľ©ă«ăŞăŁă¦ă„ă‚‹ďĽŽ%"
%&lt;/ja&gt;

\begin{table}[t]
  \centering\small
  \caption{strut}\label{tab:strutbox}\medskip
  \begin{tabular}{llcccl}
    \toprule
    \textbf{box}&amp;\textbf{direction}&amp;\textbf{width}&amp;\textbf{height}&amp;\textbf{depth}
    &amp;\textbf{user command}\\
    \midrule
  \cs{ystrutbox}&amp;yoko&amp;0&amp;0.7\cs{baselineskip}&amp;0.3\cs{baselineskip}&amp;\cs{ystrut}\\\midrule
  \cs{tstrutbox}&amp;tate, utod&amp;0&amp;0.5\cs{baselineskip}&amp;0.5\cs{baselineskip}&amp;\cs{tstrut}\\\midrule
  \cs{dstrutbox}&amp;dtou&amp;0&amp;0.7\cs{baselineskip}&amp;0.3\cs{baselineskip}&amp;\cs{dstrut}\\\midrule
  \cs{zstrutbox}&amp;---&amp;0&amp;0.7\cs{baselineskip}&amp;0.3\cs{baselineskip}&amp;\cs{zstrut}\\\bottomrule
  \end{tabular}
\end{table}
%&lt;*en&gt;
\subsection{\cs{strutbox}}
As \pLaTeX~(2017/04/08 or later), \cs{strutbox} is \emph{a macro} which is expanded to one of
\cs{ystrutbox},~\cs{tstrutbox},~and~\cs{dstrutbox}
(all of them are shown in \autoref{tab:strutbox}), according to the current direction.
Similarly, \cs{strut} now uses one of these boxes.
%&lt;/en&gt;
%&lt;*ja&gt;
\subsection{\cs{strutbox}}
\pLaTeX~2017/04/08ä»Ąé™Ťă¨ĺŚăă‚ă†ă«ďĽŚ
\cs{strutbox}ăŻçŹľĺś¨ă®çµ„ć–ąĺ‘ă«ă‚ăŁă¦\cs{ystrutbox}, \cs{tstrutbox}, \cs{dstrutbox}ă®
ă„ăšă‚Śă‹ă«ĺ±•é–‹ă•ă‚Śă‚‹\emph{ăžă‚Żă­}ă¨ăŞăŁă¦ă„ă‚‹ďĽă“ă‚Śă‚‰ă«ă¤ă„ă¦ăŻ\autoref{tab:strutbox}ĺŹ‚ç…§ďĽ‰ďĽŽ
ĺŚć§ă«\cs{strut}ă‚‚ă“ă®3\nobreak ăśăă‚Żă‚ąă®ă„ăšă‚Śă‹ă‚’çµ„ć–ąĺ‘ă«ă‚ăŁă¦ä˝żă„ĺ†ă‘ă‚‹ă‚ă†ă«ăŞăŁă¦ă„ă‚‹ďĽŽ

\cs{zstrutbox}ăŻutodć–ąĺ‘ďĽ\pTeX ă§ă„ă†ç¸¦ć•°ĺĽŹă‡ă‚Łă¬ă‚Żă‚·ă§ăłďĽ‰ă§ä˝żă‚Źă‚Śă‚‹ć”Żćź±ăśăă‚Żă‚ąă§ă‚ă‚‹ăŚďĽŚ
ĺ®źéš›ă«ä˝żă‚Źă‚Śă‚‹ă®ăŻ\cs{zstrut}ăŚćŽç¤şçš„ă«ç™şčˇŚă•ă‚Śăźć™‚ďĽŚăťă—ă¦
\Pkg{lltjext}ă‘ăă‚±ăĽă‚¸ă§čż˝ĺŠ&nbsp;ă•ă‚Śă‚‹çµ„ć–ąĺ‘ćŚ‡ĺ®šă§ \texttt{&lt;u&gt;} ă‚’ćŚ‡ĺ®šă—ăźć™‚ďĽŚăŠă‚ăł
ĺ‘¨ĺ›˛ăŚç¸¦çµ„ă®çŠ¶ćłă§ \texttt{&lt;z&gt;} ă‚’ćŚ‡ĺ®šă—ăźć™‚ă«é™ă‚‰ă‚Śă¦ă„ă‚‹ďĽŽ
%&lt;/ja&gt;

%&lt;*en&gt;
\section{expl3 interface}
This section describes expl3 interfaces provided by \LuaTeX-ja.
All of them belong to te \texttt{platex} module, since they are provided for compatibility with Japanese \pLaTeX.
Note that commands which are marked with dagger (``\dagger'') are additions by \LuaTeX-ja.
%&lt;/en&gt;
%&lt;*ja&gt;
\section{expl3ĺ˝˘ĺĽŹă®ĺ‘˝ä»¤}
expl3ă®ć–‡ćł•ă«ć˛żăŁăźçµ„ć–ąĺ‘ĺ¤‰ć›´ĺ‘˝ä»¤ă‚„çµ„ć–ąĺ‘ă«ă‚ă‚‹ćťˇä»¶ĺ¤ć–­ć–‡ă§ă‚ă‚‹ďĽŽ
ă“ă‚Śă‚‰ăŻ\pLaTeX ă¨ă®äş’ćŹ›ć€§ă®ç‚şă«ç”¨ć„Źă•ă‚Śă¦ă„ă‚‹ă®ă§ďĽŚ\texttt{platex}ă˘ă‚¸ăĄăĽă«ă¨ă—ă¦ĺ®šçľ©ă•ă‚Śă¦ă„ă‚‹ďĽŽ
ăŞăŠďĽŚ``\dagger''ăŚă¤ă„ă¦ă„ă‚‹ĺ‘˝ä»¤ăŻ\LuaTeX-jaç‹¬č‡Şă®ă‚‚ă®ă§ă‚ă‚‹ďĽŽ
%&lt;/ja&gt;
\begin{cslist}
  \item[\cs{platex\_direction\_yoko:}\textrm{, }\cs{platex\_direction\_tate:}\textrm{, }\cs{platex\_direction\_dtou:}]
%&lt;ja&gt;  ăťă‚Śăžă‚Ś\cs{yoko},~\cs{tate},~\cs{dtou}ă¨ĺŚçľ©ďĽŽ
%&lt;en&gt;  Synonyms for \cs{yoko},~\cs{tate}~and~\cs{dtou}, respectively.
  \item[\cs{platex\_if\_direction\_yoko\_p:}]
%&lt;en&gt;\ \\[\dimexpr-\medskipamount-2\baselineskip\relax]
%&lt;ja&gt;\ \\[\dimexpr-2\baselineskip\relax]
  \item[\cs{platex\_if\_direction\_yoko:\underline{\textsl{TF}}} \{\meta{true code}\} \{\meta{false code}\}]
%&lt;ja&gt;  çŹľĺś¨ă®çµ„ć–ąĺ‘ăŚć¨Şçµ„ă§ă‚ă‚‹ă‹ĺ¦ă‹ă‚’ă†ă‚ąăă™ă‚‹ďĽŽ
%&lt;en&gt;  Tests if the current direction is \emph{yoko} (horizontal writing).
  \item[\cs{platex\_if\_direction\_tate\_nomath\_p:}$^\dagger$]
%&lt;en&gt;\ \\[\dimexpr-\medskipamount-2\baselineskip\relax]
%&lt;ja&gt;\ \\[\dimexpr-2\baselineskip\relax]
  \item[\cs{platex\_if\_direction\_tate\_nomath:\underline{\textsl{TF}}}$^\dagger$ \{\meta{true code}\} \{\meta{false code}\}]
%&lt;ja&gt;  çŹľĺś¨ă®çµ„ć–ąĺ‘ăŚç¸¦çµ„ă§ă‚ă‚‹ă‹ĺ¦ă‹ă‚’ă†ă‚ąăă™ă‚‹ďĽŽ
%&lt;en&gt;  Tests if the current direction is \emph{tate} (vertical writing).
  \item[\cs{platex\_if\_direction\_tate\_math\_p:}$^\dagger$]
%&lt;en&gt;\ \\[\dimexpr-\medskipamount-2\baselineskip\relax]
%&lt;ja&gt;\ \\[\dimexpr-2\baselineskip\relax]
  \item[\cs{platex\_if\_direction\_tate\_math:\underline{\textsl{TF}}}$^\dagger$ \{\meta{true code}\} \{\meta{false code}\}]
%&lt;ja&gt;  çŹľĺś¨ă®çµ„ć–ąĺ‘ăŚutodć–ąĺ‘ďĽ\pTeX ă§ă„ă†ă€Śç¸¦ć•°ĺĽŹă‡ă‚Łă¬ă‚Żă‚·ă§ăłă€ŤďĽ‰ă§ă‚ă‚‹ă‹ĺ¦ă‹ă‚’ă†ă‚ąăă™ă‚‹ďĽŽ
%&lt;en&gt;  Tests if the current direction is \emph{utod}.
  \item[\cs{platex\_if\_direction\_tate\_p:}]
%&lt;en&gt;\ \\[\dimexpr-\medskipamount-2\baselineskip\relax]
%&lt;ja&gt;\ \\[\dimexpr-2\baselineskip\relax]
  \item[\cs{platex\_if\_direction\_tate:\underline{\textsl{TF}}} \{\meta{true code}\} \{\meta{false code}\}]
%&lt;ja&gt;  çŹľĺś¨ă®çµ„ć–ąĺ‘ăŚç¸¦çµ„ăľăźăŻutodć–ąĺ‘ă§ă‚ă‚‹ă‹ĺ¦ă‹ă‚’ă†ă‚ąăă™ă‚‹ďĽŽ
%&lt;en&gt;  Tests if the current direction is \emph{tate}~or~\emph{utod}.
  \item[\cs{platex\_if\_direction\_dtou\_p:}]
%&lt;en&gt;\ \\[\dimexpr-\medskipamount-2\baselineskip\relax]
%&lt;ja&gt;\ \\[\dimexpr-2\baselineskip\relax]
  \item[\cs{platex\_if\_direction\_dtou:\underline{\textsl{TF}}} \{\meta{true code}\} \{\meta{false code}\}]
%&lt;ja&gt;  çŹľĺś¨ă®çµ„ć–ąĺ‘ăŚdtouć–ąĺ‘ă§ă‚ă‚‹ă‹ĺ¦ă‹ă‚’ă†ă‚ąăă™ă‚‹ďĽŽ
%&lt;en&gt;  Tests if the current direction is \emph{dtou}.
  \item[\cs{platex\_if\_box\_yoko\_p:N} \meta{box}]
%&lt;en&gt;\ \\[\dimexpr-\medskipamount-2\baselineskip\relax]
%&lt;ja&gt;\ \\[\dimexpr-2\baselineskip\relax]
  \item[\cs{platex\_if\_box\_yoko:N\underline{\textsl{TF}}} \meta{box} \{\meta{true code}\} \{\meta{false code}\}]
%&lt;ja&gt;  ăśăă‚Żă‚ą\meta{box}ă®çµ„ć–ąĺ‘ăŚć¨Şçµ„ă§ă‚ă‚‹ă‹ĺ¦ă‹ă‚’ă†ă‚ąăă™ă‚‹ďĽŽ
%&lt;en&gt;  Tests if the direction of \meta{box} is \emph{yoko}.
  \item[\cs{platex\_if\_box\_tate\_nomath\_p:N}$^\dagger$ \meta{box}]
%&lt;en&gt;\ \\[\dimexpr-\medskipamount-2\baselineskip\relax]
%&lt;ja&gt;\ \\[\dimexpr-2\baselineskip\relax]
  \item[\cs{platex\_if\_box\_tate\_nomath:N\underline{\textsl{TF}}}$^\dagger$ \meta{box} \{\meta{true code}\} \{\meta{false code}\}]
%&lt;ja&gt;  ăśăă‚Żă‚ą\meta{box}ă®çµ„ć–ąĺ‘ăŚç¸¦çµ„ă§ă‚ă‚‹ă‹ĺ¦ă‹ă‚’ă†ă‚ąăă™ă‚‹ďĽŽ
%&lt;en&gt;  Tests if the direction of \meta{box} is \emph{tate}.
  \item[\cs{platex\_if\_box\_tate\_math\_p:N}$^\dagger$ \meta{box}]
%&lt;en&gt;\ \\[\dimexpr-\medskipamount-2\baselineskip\relax]
%&lt;ja&gt;\ \\[\dimexpr-2\baselineskip\relax]
  \item[\cs{platex\_if\_box\_tate\_math:N\underline{\textsl{TF}}}$^\dagger$ \meta{box} \{\meta{true code}\} \{\meta{false code}\}]
%&lt;ja&gt;  ăśăă‚Żă‚ą\meta{box}ă®çµ„ć–ąĺ‘ăŚutodć–ąĺ‘ă§ă‚ă‚‹ă‹ĺ¦ă‹ă‚’ă†ă‚ąăă™ă‚‹ďĽŽ
%&lt;en&gt;  Tests if the direction of \meta{box} is \emph{utod}.
  \item[\cs{platex\_if\_box\_tate\_p:N} \meta{box}]
%&lt;en&gt;\ \\[\dimexpr-\medskipamount-2\baselineskip\relax]
%&lt;ja&gt;\ \\[\dimexpr-2\baselineskip\relax]
  \item[\cs{platex\_if\_box\_tate:N\underline{\textsl{TF}}} \meta{box} \{\meta{true code}\} \{\meta{false code}\}]
%&lt;ja&gt;  ăśăă‚Żă‚ą\meta{box}ă®çµ„ć–ąĺ‘ăŚç¸¦çµ„ăľăźăŻutodć–ąĺ‘ă§ă‚ă‚‹ă‹ĺ¦ă‹ă‚’ă†ă‚ąăă™ă‚‹ďĽŽ
%&lt;en&gt;  Tests if the direction of \meta{box} is \emph{tate}~or~\emph{utod}.
  \item[\cs{platex\_if\_box\_dtou\_p:N} \meta{box}]
%&lt;en&gt;\ \\[\dimexpr-\medskipamount-2\baselineskip\relax]
%&lt;ja&gt;\ \\[\dimexpr-2\baselineskip\relax]
\item[\cs{platex\_if\_box\_dtou:N\underline{\textsl{TF}}} \meta{box} \{\meta{true code}\} \{\meta{false code}\}]
%&lt;ja&gt;    ăśăă‚Żă‚ą\meta{box}ă®çµ„ć–ąĺ‘ăŚdtouć–ąĺ‘ă§ă‚ă‚‹ă‹ĺ¦ă‹ă‚’ă†ă‚ąăă™ă‚‹ďĽŽ
%&lt;en&gt;  Tests if the direction of \meta{box} is \emph{dtou}.
\end{cslist}


%&lt;*en&gt;
\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}.
%&lt;/en&gt;
%&lt;*ja&gt;
\section{ć‹ˇĺĽµă‘ăă‚±ăĽă‚¸}
\LuaTeX-jaă«ăŻďĽĺ‹•ä˝śă«ăŻĺż…é&nbsp;ă§ăŻăŞă„ăŚďĽ‰č‡Şç”±ă«čŞ­ăżčľĽă‚ă‚‹ć‹ˇĺĽµăŚä»ĺ±žă—ă¦ă„ă‚‹ďĽŽ
ă“ă‚Śă‚‰ăŻ\LaTeX ă®ă‘ăă‚±ăĽă‚¸ă¨ă—ă¦ĺ¶ä˝śă—ă¦ă„ă‚‹ăŚďĽŚ
\Pkg{luatexja-otf}ă¨\Pkg{luatexja-adjust}ă«ă¤ă„ă¦ăŻplain \LuaTeX ă§ă‚‚\
\cs{input} ă§čŞ­ăżčľĽăżĺŹŻč˝ă§ă‚ă‚‹ďĽŽ
%&lt;/ja&gt;
\subsection{\Pkg{luatexja-fontspec}}
\label{ssec:fontspec2}
%&lt;*en&gt;
As described in Subsection~\ref{ssec:fontspec}, this optional package
provides the counterparts for several commands defined in the
\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:
%&lt;/en&gt;
%&lt;*ja&gt;
\ref{ssec:fontspec}çŻ€ă§čż°ăąăźă‚ă†ă«ďĽŚă“ă®čż˝ĺŠ&nbsp;ă‘ăă‚±ăĽă‚¸ăŻ\Pkg{fontspec}%
ă‘ăă‚±ăĽă‚¸ă§ĺ®šçľ©ă•ă‚Śă¦ă„ă‚‹ă‚łăžăłă‰ă«ĺŻľĺżśă™ă‚‹ĺ’Ść–‡ă•ă‚©ăłăç”¨ă®ă‚łăžăłă‰ă‚’ćŹäľ›ă™ă‚‹ďĽŽ

\Pkg{fontspec}ă‘ăă‚±ăĽă‚¸ă§ćŚ‡ĺ®šĺŹŻč˝ăŞĺ„ç¨®OpenTypeć©źč˝ă«ĺŠ&nbsp;ăă¦ďĽŚĺ’Ść–‡ç‰ă®ă‚łăžăłă‰ă«ăŻ
ä»Ąä¸‹ă®ă€Śă•ă‚©ăłăć©źč˝ă€Ťă‚’ćŚ‡ĺ®šă™ă‚‹ă“ă¨ăŚă§ăŤă‚‹ďĽš
%&lt;/ja&gt;


\begin{cslist}
\item[CID=\meta{name}\textrm{, }JFM=\meta{name}\textrm{, }JFM-var=\meta{name}]

%&lt;*en&gt;
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.
%&lt;/en&gt;
%&lt;*ja&gt;
ă“ă‚Śă‚‰3ă¤ă®ă‚­ăĽăŻăťă‚Śăžă‚Ś \cs{jfont},~\cs{tfont}ă«ĺŻľă™ă‚‹
\texttt{cid}, \texttt{jfm}, \texttt{jfmvar}ă‚­ăĽă¨ăťă‚Śăžă‚ŚĺŻľĺżśă™ă‚‹ďĽŽ
\texttt{cid}, \texttt{jfm}, \texttt{jfmvar}ă‚­ăĽă®č©łç´°ăŻ\ref{ssec:jfont}çŻ€
	     ă¨\ref{ssec:psft}çŻ€ă‚’ĺŹ‚ç…§ďĽŽ

\texttt{CID} ă‚­ăĽăŻä¸‹ă® \texttt{NoEmbed} ă¨ĺă‚Źă›ă¦ç”¨ă„ă‚‰ă‚Śăźă¨ăŤă®ăżćś‰ĺŠąă§ă‚ă‚‹ďĽŽ
ăľăźďĽŚć¨Şçµ„ç”¨JFMă¨ç¸¦çµ„ç”¨JFMăŻĺ…±ç”¨ă§ăŤăŞă„ăźă‚ďĽŚĺ®źéš›ă« \texttt{JFM} ă‚­ăĽă‚’ç”¨ă„ă‚‹éš›ăŻ
ĺľŚă«čż°ăąă‚‹\ \texttt{YokoFeatures} ă‚­ăĽă‚„ \texttt{TateFeatures}\ ă®ä¸­ă§ç”¨ă„ă‚‹
ă“ă¨ă«ăŞă‚‹ďĽŽ
%&lt;/ja&gt;

\item[NoEmbed]
%&lt;*en&gt;
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}.
%&lt;/en&gt;
%&lt;*ja&gt;
ă“ă‚Śă‚’ćŚ‡ĺ®šă™ă‚‹ă“ă¨ă§ďĽŚPDFă«ĺź‹ă‚čľĽăľă‚ŚăŞă„ă€ŚĺŤĺ‰Ťă&nbsp;ă‘ă€Ťă®ă•ă‚©ăłăă‚’ćŚ‡ĺ®šă™ă‚‹ă“ă¨ăŚ
ă§ăŤă‚‹ďĽŽ\ref{ssec:psft}çŻ€ă‚’ĺŹ‚ç…§ďĽŽ
%&lt;/ja&gt;

\begin{figure}[!tb]
\begin{LTXexample}[width=0.25\textwidth]
\jfontspec[
  YokoFeatures={Color=FF1900}, TateFeatures={Color=003FFF},
  TateFont=HaranoAjiGothic-Regular
]{HaranoAjiMincho-Regular}
\hbox{\yoko ć¨Şçµ„ă®ă†ă‚ąă}\hbox{\tate ç¸¦çµ„ă®ă†ă‚ąă}
\addjfontfeatures{Color=00AF00}
\hbox{\yoko ć¨Şçµ„}\hbox{\tate ç¸¦çµ„}
\end{LTXexample}
%&lt;ja&gt;\caption{\texttt{TateFeatures} ç­‰ă®ä˝żç”¨äľ‹}
%&lt;en&gt;\caption{An example of \texttt{TateFeatures} etc.}
\label{fig:yokotate-fontspec}
\end{figure}

\item[Kanjiskip=\meta{bool}]
%&lt;*ja&gt;
\pageref{pg:ltjksp}ăšăĽă‚¸ă§čŞ¬ćŽă—ăź \verb+\jfont+ ä¸­ă§ă® \texttt{ltjksp} ćŚ‡ĺ®šă¨
ĺŚä¸€ă®ĺŠąĺŠ›ă‚’ćŚăˇďĽŚ
JFMä¸­ă«ăŠă‘ă‚‹ \texttt{kanjiskip\_natural}, \texttt{kanjiskip\_stretch},\
\texttt{kanjiskip\_shrink}ă‚­ăĽďĽ\pageref{pg:ksp_nat}ăšăĽă‚¸ďĽ‰ă®ćś‰ĺŠą/ç„ˇĺŠąă‚’ĺ‡ă‚Šć›żăă‚‹ďĽŽ
ć¨™ćş–ĺ€¤ăŻ \texttt{true} ă§ă‚ă‚‹ďĽŽ
%&lt;/ja&gt;

\item[TateFeatures=\{\meta{features}\}\textrm{, }TateFont=\meta{font}]
%&lt;*en&gt;
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 \autoref{fig:yokotate-fontspec}.
%&lt;/en&gt;
%&lt;*ja&gt;
ç¸¦çµ„ă«ăŠă„ă¦ä˝żç”¨ă•ă‚Śă‚‹ă•ă‚©ăłăă‚„ďĽŚç¸¦çµ„ă«ăŠă„ă¦ă®ăżé©ç”¨ă•ă‚Śă‚‹ă•ă‚©ăłăć©źč˝é”ă‚’
ćŚ‡ĺ®šă™ă‚‹ďĽŽä˝żç”¨äľ‹ăŻ\autoref{fig:yokotate-fontspec}ĺŹ‚ç…§ďĽŽ
%&lt;/ja&gt;

\item[YokoFeatures=\{\meta{features}\}]
%&lt;*en&gt;
The \texttt{YokoFeatures} key specifies font features which are only turned~on in
horizontal writing,.
A demonstrarion is shown in \autoref{fig:yokotate-fontspec}.
%&lt;/en&gt;
%&lt;*ja&gt;
ĺŚć§ă«ďĽŚć¨Şçµ„ă«ăŠă„ă¦ă®ăżé©ç”¨ă•ă‚Śă‚‹ă•ă‚©ăłăć©źč˝é”ă‚’
ćŚ‡ĺ®šă™ă‚‹ďĽŽä˝żç”¨äľ‹ăŻ\autoref{fig:yokotate-fontspec}ĺŹ‚ç…§ďĽŽ
%&lt;/ja&gt;


\begin{figure}[!tb]
\begin{LTXexample}[pos=b]
\jfontspec[
  AltFont={
    {Range="4E00-"67FF, Font=HaranoAjiGothic-Regular, Color=003FFF},
    {Range="6800-"9EFF, Color=FF1900},
    {Range="3040-"306F, Font=HaranoAjiGothic-Regular, Color=35A16B},
  }
]{HaranoAjiMincho-Regular}
ć—Ąćś¬ĺ›˝ć°‘ăŻă€ć­Łĺ˝“ă«é¸ćŚ™ă•ă‚Śăźĺ›˝äĽšă«ăŠă‘ă‚‹ä»Łčˇ¨č€…ă‚’é€šăă¦čˇŚĺ‹•ă—ă€ă‚Źă‚Śă‚‰ă¨ă‚Źă‚Śă‚‰ă®ĺ­ĺ­«ă®ăźă‚ă«ă€
č«¸ĺ›˝ć°‘ă¨ă®ĺŤ”ĺ’Śă«ă‚ă‚‹ććžśă¨ă€ă‚ŹăŚĺ›˝ĺ…¨ĺśźă«ă‚Źăźă¤ă¦č‡Şç”±ă®ă‚‚ăźă‚‰ă™ćµć˛˘ă‚’ç˘şäżťă—ă€â€¦â€¦
\end{LTXexample}
%&lt;ja&gt;\caption{\texttt{AltFont} ă®ä˝żç”¨äľ‹}
%&lt;en&gt;\caption{An example of \texttt{AltFont}}
\label{fig:altkanji-fontspec}
\end{figure}

\item[AltFont]

%&lt;*en&gt;
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:
%&lt;/en&gt;
%&lt;*ja&gt;
\ref{ssec:altfont}çŻ€ă® \cs{ltjdeclarealtfont} ă‚„ďĽŚ
\ref{ssec:nfsspat}çŻ€ă® \cs{DeclareAlternateKanjiFont} ă¨ĺŚć§ă«ďĽŚ
ă“ă®ă‚­ăĽă‚’ç”¨ă„ă‚‹ă¨ä¸€é¨ă®ć–‡ĺ­—ă‚’ç•°ăŞăŁăźă•ă‚©ăłăă‚„ć©źč˝ăźăˇă‚’ä˝żăŁă¦çµ„ă‚€ă“ă¨ăŚă§ăŤă‚‹ďĽŽ
\texttt{AltFont} ă‚­ăĽă«ćŚ‡ĺ®šă™ă‚‹ĺ€¤ăŻďĽŚć¬ˇă®ă‚ă†ă«äşŚé‡Ťă®ă‚łăłăžĺŚşĺ‡ă‚ŠăŞă‚ąăă§ă‚ă‚‹ďĽš
%&lt;/ja&gt;
\begin{lstlisting}[escapechar=\#]
AltFont = {
  ...
  { Range=#\meta{range}#, #\meta{features}#},
  { Range=#\meta{range}#, Font=#\meta{font~name}#, #\meta{features}# },
  { Range=#\meta{range}#, Font=#\meta{font~name}&gt;# },
  ...
}
\end{lstlisting}
%&lt;*en&gt;
Each sublist should have the \texttt{Range} key
(sublist which does not contain \texttt{Range} key is simply ignored).
A demonstrarion is shown in \autoref{fig:altkanji-fontspec}.
%&lt;/en&gt;
%&lt;*ja&gt;
ĺ„é¨ĺ†ăŞă‚ąăă«ăŻ \texttt{Range} ă‚­ăĽăŚĺż…é&nbsp;ă§ă‚ă‚‹ďĽĺ«ăľă‚ŚăŞă„é¨ĺ†ăŞă‚ąăăŻ
ĺŤç´”ă«ç„ˇč¦–ă•ă‚Śă‚‹ďĽ‰ďĽŽćŚ‡ĺ®šäľ‹ăŻ\autoref{fig:altkanji-fontspec}ă«ç¤şă—ăźďĽŽ
%&lt;/ja&gt;
\end{cslist}

%&lt;*ja&gt;
ăŞăŠďĽŚ\Pkg{luatexja-fontspec} čŞ­ăżčľĽăżć™‚ă«ăŻĺ’Ść–‡ă•ă‚©ăłăĺ®šçľ©ă•ă‚ˇă‚¤ă«%
\texttt{\meta{ja-enc}\meta{family}.fd}ăŻĺ…¨ăŹĺŹ‚ç…§ă•ă‚ŚăŞăŹăŞă‚‹ďĽŽ
%&lt;/ja&gt;


%&lt;*en&gt;
\paragraph{Remark on \texttt{AltFont}, \texttt{YokoFeatures}, \texttt{TateFeatures} keys}
\leavevmode\par
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=FF1900} }
}
\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=FF1900 } },
}
\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~\autoref{fig:yokotate-fontspec}
has no effect, because a color specification is already done in
\texttt{YokoFeatures}~and~\texttt{TateFeatures} keys.
%&lt;/en&gt;
%&lt;*ja&gt;
\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=FF1900} }
}
\end{lstlisting}
ă®ă‚ă†ă«ćŚ‡ĺ®šă™ă‚‹ă“ă¨ăŻĺ‡şćťĄăšďĽŚ
\begin{lstlisting}
UprightFeatures = {
  AltFont = { { Font=HogeraMin-Light, Range="3000-"30FF, } },
},
BoldFeatures = {
  AltFont =  { { Font=HogeraMin-Bold, Range="3000-"30FF, Color=FF1900 } },
}
\end{lstlisting}
ă®ă‚ă†ă«ćŚ‡ĺ®šă—ăŞă‘ă‚Śă°ăŞă‚‰ăŞă„ďĽŽ

ä¸€ć–ąďĽŚ\texttt{AltFont} ă‚­ăĽĺ†…ă®ĺ„ăŞă‚ąăă§ăŻ
\ \texttt{YokoFeatures},~\texttt{TateFeatures} ĺŹŠăł \texttt{TateFont} ă‚­ăĽă‚’
ćŚ‡ĺ®šă™ă‚‹ă“ă¨ăŻĺŹŻč˝ă§ă‚ă‚ŠďĽŽăľăź\ \texttt{YokoFeatures},~\texttt{TateFeatures} ă‚­ăĽă®
ä¸­čş«ă« \texttt{AltFont} ă‚’ćŚ‡ĺ®šă™ă‚‹ă“ă¨ăŚă§ăŤă‚‹ďĽŽ

ăľăźďĽŚ\autoref{fig:yokotate-fontspec}ĺľŚĺŤŠé¨ă§ăŻ6čˇŚç›®ă®ç–‘äĽĽĺ¤Şĺ­—ç„ˇĺŠąĺŚ–ă®ćŚ‡ĺ®šăŚĺŠąă‹ăšďĽŚ
2čˇŚç›®ă§ćŚ‡ĺ®šă—ăź\ \texttt{YokoFeatures},~\texttt{TateFeatures}\ ă«ă‚ă‚‹ç–‘äĽĽĺ¤Şĺ­—ă®ćŚ‡ĺ®šăŚćś‰ĺŠąă«ăŞăŁ
ăźăľăľă§ă‚ă‚‹ďĽŽă“ă‚ŚăŻ\emph{\ \texttt{YokoFeatures},~\texttt{TateFeatures}\ ă«ă‚ă‚‹
OpenTypeć©źč˝ćŚ‡ĺ®šăŻ
çµ„ć–ąĺ‘ă«äľťĺ­ă—ăŞă„OpenTypeć©źč˝ă®ćŚ‡ĺ®šă‚ă‚ŠĺľŚă«č§Łé‡ă•ă‚Śă‚‹}ă‹ă‚‰ă§ă‚ă‚‹ďĽŽ

%&lt;/ja&gt;


\subsection{\Pkg{luatexja-otf}}
\label{ssec:ltjotf}
%&lt;*en&gt;
This optional package supports typesetting glyphs
by specifying a CID number.
The package \Pkg{luatexja-otf} offers the following 2~low-level
commands:
%&lt;/en&gt;
%&lt;*ja&gt;
ă“ă®čż˝ĺŠ&nbsp;ă‘ăă‚±ăĽă‚¸ăŻCIDç•ŞĺŹ·ă«ă‚ă‚‹ć–‡ĺ­—ă®ĺ‡şĺŠ›ă‚’ă‚µăťăĽăă™ă‚‹ďĽŽ
\Pkg{luatexja-otf}ăŻä»Ąä¸‹ă®2ă¤ă®ä˝Žă¬ă™ă«ă‚łăžăłă‰ă‚’ćŹäľ›ă™ă‚‹ďĽš
%&lt;/ja&gt;
\begin{cslist}
\item[\cs{CID}\{\meta{number}\}]
%&lt;*en&gt;
Typeset a glyph whose CID number is \meta{number}.
If the Japanese font is neither Adobe-Japan1,~Adobe-GB1, Adobe-CNS1,
Adobe-Korea1,~nor~Adobe-KR CID-keyed font,
\LuaTeX-ja treats that \meta{number} is a CID number of Adobe-Japan1 character collection,
and tries to typeset a ``most suitable glyph''.

Note that if the Japanese font is loaded using the HarfBuzz library, this \cs{CID}
command does not work.
%&lt;/en&gt;
%&lt;*ja&gt;
CIDç•ŞĺŹ·ăŚ\meta{number}ă®ć–‡ĺ­—ă‚’ĺ‡şĺŠ›ă™ă‚‹ďĽŽ
ă‚‚ă—çŹľĺś¨ă®ĺ’Ść–‡ă•ă‚©ăłăăŚAdobe-Japan1,~Adobe-GB1, Adobe-CNS1, Adobe-Korea1,~Adobe-KRă®
  ă„ăšă‚Śă®CID-keyed fontă§ă‚‚ăŞă„ĺ&nbsp;´ĺďĽŚ\meta{number}ăŻAdobe-Japan1ă®CIDç•ŞĺŹ·ă§ă‚ă‚‹ă¨č§Łé‡ă—
  ă€Śé©ĺ‡ăŞă‚°ăŞă•ă€Ť\footnote{%
  ç‰ąă«ç¸¦çµ„ç”¨ă‚°ăŞă•ă®CIDç•ŞĺŹ·ă‚’ćŚ‡ĺ®šă—ăźĺ&nbsp;´ĺăŻďĽLuaTeX-ja 20190504.0ä»Ąé™Ťă§ăŻč‹Ąĺą˛ć”ąč‰Żă•ă‚Śă¦ă„ă‚‹ăŚďĽ‰
  ć„Źĺ›łă—ăŞă„çµćžśă«ăŞă‚‹ĺŹŻč˝ć€§ăŚé«ă„ďĽŽ
  ăŞăŠďĽŚăăĽă‚¸ă§ăł20190708.0ä»Ąé™Ťă§ăŻďĽŚCIDă‹ă‚‰ă‚°ăŞă•ă¸ă®é¸ćŠžă«ă‚°ăŞă•ĺŤă®ć…ĺ&nbsp;±ă‚’ä˝żç”¨ă—ă¦ă„ăŞă„ďĽŽ
  ăľăźďĽŚă•ă‚©ăłăă«Adobe-Japan1ă®IVSăŚĺ«ăľă‚Śă¦ă„ă‚Śă°ďĽŚăťă®ć…ĺ&nbsp;±ă‚’ç”¨ă„ă¦
  ă‚°ăŞă•ă‚’é¸ćŠžă™ă‚‹ďĽŽ
}ă‚’ĺ‡şĺŠ›ă™ă‚‹ďĽŽ

ăŞăŠďĽŚçŹľĺś¨ă®ĺ’Ść–‡ă•ă‚©ăłăăŚHarfBuzză‚’ç”¨ă„ă¦čŞ­ăżčľĽăľă‚Śăźĺ&nbsp;´ĺă«ăŻďĽŚ\cs{CID}ăŻć­Łă—ăŹĺ‹•ä˝śă—ăŞă„ďĽŽ
%&lt;/ja&gt;

\item[\cs{UTF}\{\meta{hex\_number}\}]
%&lt;*en&gt;
Typeset a character whose character code is \meta{hex\_number} (in hexadecimal).
This command is similar to \verb+\char"+\meta{hex\_number},\ %"
but please remind remarks below.
%&lt;/en&gt;
%&lt;*ja&gt;
ć–‡ĺ­—ă‚łăĽă‰ăŚďĽ16é€˛ă§ďĽ‰\meta{hex\_number}ă®ć–‡ĺ­—ă‚’ĺ‡şĺŠ›ă™ă‚‹ďĽŽ
ă“ă®ă‚łăžăłă‰ăŻ \verb+\char"+\meta{hex\_number}ă¨äĽĽă¦ă„ă‚‹ăŚďĽŚä¸‹ă®ćł¨ć„Źă‚’ĺŹ‚ç…§ă™ă‚‹ă“ă¨ďĽŽ%"
%&lt;/ja&gt;
\end{cslist}

%&lt;*ja&gt;
ă“ă®ă‘ăă‚±ăĽă‚¸ăŻďĽŚăžă‚Żă­é›† \texttt{luatexja-ajmacros.sty}\footnote{\Pkg{otf}ă‘ăă‚±ăĽă‚¸ä»ĺ±žă®äş•ä¸Šćµ©ä¸€ć°Źă«ă‚ă‚‹ăžă‚Żă­é›†
\texttt{ajmacros.sty} ă«ĺŻľă—ă¦
ćĽ˘ĺ­—ă‚łăĽă‰ă‚’UTF-8ă«ă—ăźă‚ŠďĽŚplain \LuaTeX ă§ă‚‚ĺ©ç”¨ĺŹŻč˝ă«ă™ă‚‹ă¨ă„ă†
äż®ć­Łă‚’ĺŠ&nbsp;ăăźă‚‚ă®ă§ă‚ă‚‹ďĽŽ}\ ă‚‚č‡Şĺ‹•çš„ă«čŞ­ăżčľĽă‚€ďĽŽ
\texttt{luatexja-ajmacros.sty} ăŻďĽŚ
ăťă®ăźă‚ďĽŚ\Pkg{luatexja-otf} ă‚’čŞ­ăżă“ă‚ă° \texttt{ajmacros.sty} ăžă‚Żă­é›†ă«ă‚ă‚‹ \cs{ajĺŤŠč§’} ăŞă©ă®ăžă‚Żă­ă‚‚ăťă®ăľăľä˝żă†ă“ă¨ăŚă§ăŤă‚‹ďĽŽ
%&lt;/ja&gt;
%&lt;*en&gt;
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ĺŤŠč§’}.
%&lt;/en&gt;

%&lt;en&gt;\paragraph{Remarks}
%&lt;ja&gt;\paragraph{ćł¨ć„Ź}
%&lt;*en&gt;
Characters by \cs{CID} and \cs{UTF} commands are different from
ordinary characters in the following points:
%&lt;/en&gt;
%&lt;*ja&gt;
\cs{CID} ă¨ \cs{UTF} ă‚łăžăłă‰ă«ă‚ăŁă¦ĺ‡şĺŠ›ă•ă‚Śă‚‹ć–‡ĺ­—ăŻ
ä»Ąä¸‹ă®ç‚ąă§é€šĺ¸¸ă®ć–‡ĺ­—ă¨ç•°ăŞă‚‹ďĽš
%&lt;/ja&gt;
\begin{itemize}
%&lt;*en&gt;
\item Always treated as \textbf{JAchar}s.
%&lt;/en&gt;
%&lt;*ja&gt;
\item ĺ¸¸ă«\textbf{JAchar}ă¨ă—ă¦ć‰±ă‚Źă‚Śă‚‹ďĽŽ
%&lt;/ja&gt;
%&lt;*en&gt;
\item In vertical direction, \texttt{vert}/\texttt{vrt2} feature are automatically applied to
      characters by \cs{UTF}, regardless these feature are not activated in current Japanese font.
%&lt;/en&gt;
%&lt;*ja&gt;
\item ç¸¦çµ„ć™‚ă«ăŻďĽŚçŹľĺś¨ă®ç¸¦çµ„ç”¨ĺ’Ść–‡ă•ă‚©ăłăă§ \texttt{vert}/\texttt{vrt2} ć©źč˝ăŚ
  ćś‰ĺŠąă‹ç„ˇĺŠąă‹ă‚’ĺ•Źă‚ŹăšďĽŚ\cs{UTF} ă§ĺ‡şĺŠ›ă•ă‚Śă‚‹ć–‡ĺ­—ă«ăŻă“ă‚Śă‚‰ă®OpenTypeć©źč˝ăŚĺŤă„ăźĺ­—ĺ˝˘ă«ăŞă‚‹ďĽŽ
%&lt;/ja&gt;
%&lt;*en&gt;
\item Processes for supporting other OpenType features (for example,
      glyph replacement and kerning) by the \Pkg{luaotfload} package
      is not performed to these characters.
%&lt;/en&gt;
%&lt;*ja&gt;
\item ăťă®ä»–ă®OpenTypeć©źč˝ďĽäľ‹ăă°ă‚°ăŞă•ç˝®ćŹ›ă‚„ă‚«ăĽă‹ăłă‚°ďĽ‰ă‚’ă‚µăťăĽăă™ă‚‹ăźă‚ă®
  \Pkg{luaotfload}ă‘ăă‚±ăĽă‚¸ă«ă‚ă‚‹ĺ‡¦ç†ăŻă“ă‚Śă‚‰ă®ć–‡ĺ­—ă«ăŻĺŤă‹ăŞă„ďĽŽ
%&lt;/ja&gt;
\end{itemize}

%&lt;en&gt;\paragraph{Additional syntax of JFM}
%&lt;ja&gt;\paragraph{JFMă¸ă®č¨ćł•ă®čż˝ĺŠ&nbsp;}

%&lt;*en&gt;
The package \Pkg{luatexja-otf} extends the syntax of JFM; the entries of \texttt{
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 extended notation is used in the standard JFM \texttt{jfm-ujis.lua}
to typeset halfwidth Hiragana glyphs (CID~516--598) in halfwidth.
%&lt;/en&gt;
%&lt;*ja&gt;
\Pkg{luatexja-otf}ă‘ăă‚±ăĽă‚¸ă‚’čŞ­ăżčľĽă‚€ă¨ďĽŚ
JFMă®\texttt{chars}ă†ăĽă–ă«ă®ă‚¨ăłăăŞă¨ă—ă¦ \verb+'AJ1-xxx'+ ă®ĺ˝˘ă®ć–‡ĺ­—ĺ—ăŚ
ä˝żăă‚‹ă‚ă†ă«ăŞă‚‹ďĽŽă“ă‚ŚăŻAdobe-Japan1ă«ăŠă‘ă‚‹CIDç•ŞĺŹ·ăŚ \verb+xxx+ ă®ć–‡ĺ­—ă‚’čˇ¨ă™ďĽŽ

ă“ă®ć‹ˇĺĽµč¨ćł•ăŻďĽŚć¨™ćş–JFM~\texttt{jfm-ujis.lua}ă§ďĽŚĺŤŠč§’ă˛ă‚‰ăŚăŞă®ă‚°ăŞă•ďĽCID~516--598ďĽ‰ă‚’
ć­Łă—ăŹĺŤŠč§’ĺą…ă§çµ„ă‚€ăźă‚ă«ĺ©ç”¨ă•ă‚Śă¦ă„ă‚‹ďĽŽ
%&lt;/ja&gt;

\subsection{\Pkg{luatexja-adjust}}
\label{ssec:adj}
\begin{figure}[t]
\def\sq{%
  \hbox to 1\zw{\hss\fboxsep=-.5\fboxrule\fbox{%
  ă€€\hskip\dimexpr-.5\zw-.2pt\vrule width.4pt height.08\zw depth.12\zw%
  \hskip\dimexpr.5\zw-.2pt\relax}\hss}}
\def\sb{\hbox to 1\zw{\hss\fboxsep=-.5\fboxrule\fbox{%
  â–&nbsp;\hskip\dimexpr-.5\zw-.2pt\vrule width.4pt height.08\zw depth.12\zw%
  \hskip\dimexpr.5\zw-.2pt\relax}\hss}}
\newbox\gridbox
\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}{\copy\gridbox}\hskip-20\zw%
  \vbox{\hsize=20\zw\noindent\leftskip0pt\rightskip0pt\parfillskip0pt#1}\vrule}%
}}

{\centering
\begin{tabular}{lc}
\toprule
no adjustment&amp;\outbox{ä»Ąä¸Šă®ĺŽźç†ăŻďĽŚă€ŚĺŚ…é™¤ĺŽźç†ă€Ťă¨ă‚ăŹĺ‘Ľă°ă‚Śă‚‹ăŚ\hskip-.5\zw\null}\\
without priority&amp;%
\ltjdisableadjust
\outbox{ä»Ąä¸Šă®ĺŽźç†ăŻďĽŚă€ŚĺŚ…é™¤ĺŽźç†ă€Ťă¨ă‚ăŹĺ‘Ľă°ă‚Śă‚‹ăŚ}%
\ltjenableadjust\\
with priority&amp;%
\outbox{ä»Ąä¸Šă®ĺŽźç†ăŻďĽŚă€ŚĺŚ…é™¤ĺŽźç†ă€Ťă¨ă‚ăŹĺ‘Ľă°ă‚Śă‚‹ăŚ}
%&lt;en&gt;\ltjdisableadjust
\\
\bottomrule
\end{tabular}\par}
\medskip

\fakefn{}{The value of
\Param{kanjiskip} is 0\,pt${}^{+1/5\,\mathrm{em}}_{-1/5\,\mathrm{em}}$ in this figure,
for making the difference obvious.}
%&lt;ja&gt;\caption{čˇŚé•·čŞżć•´}\label{fig:adj}
%&lt;en&gt;\caption{Line adjustment}\label{fig:adj}
\end{figure}


%&lt;*en&gt;
(see Japanese version of this manual)
%&lt;/en&gt;
%&lt;*ja&gt;
ă“ă®čż˝ĺŠ&nbsp;ă‘ăă‚±ăĽă‚¸ăŻä»Ąä¸‹ă®ć©źč˝ă‚’ćŹäľ›ă™ă‚‹ďĽŽč©łç´°ăŞä»•ć§ă«ă¤ă„ă¦ăŻ\ref{sec-adjspec}ç«&nbsp;ă‚’ĺŹ‚ç…§ă—ă¦ă»ă—ă„ďĽŽ
\begin{description}
 \item[čˇŚćś«ć–‡ĺ­—ă®ä˝Ťç˝®čŞżć•´]
  \pTeX ă§ăŻďĽŚďĽćŻéťžăŻă¨ă‚‚ă‹ăŹďĽ‰ă€ŚčˇŚćś«ă®čŞ­ç‚ąăŻă¶ă‚‰ä¸‹ă’ă‹äşŚĺ†ĺŹ–ă‚Šă‹ĺ…¨č§’ĺŹ–ă‚Šă®ă„ăšă‚Śă‹ă«ă€Ťă®ă‚ă†ă«
  čˇŚćś«ć–‡ĺ­—ă¨ĺ®źéš›ă®čˇŚćś«ă®ä˝Ťç˝®é–˘äż‚ă‚’2é€šă‚Šä»Ąä¸Šă«ă™ă‚‹ă“ă¨ăŻéť˘ĺ€’ă§ă‚ăŁăźďĽŽ
  ĺ’Ść–‡ă•ă‚©ăłăăˇăăŞăă‚Żă&nbsp;ă‘ă§ăŻă€Śĺ¸¸ă«čˇŚćś«ă®čŞ­ç‚ąăŻă¶ă‚‰ä¸‹ă’ă€Ťă¨ă„ăŁăźă“ă¨ă—ă‹ă§ăŤăšďĽŚ
  ĺ‰Ťă®ć–‡ă«ć›¸ă„ăźă“ă¨ă‚’ĺ®źçŹľă™ă‚‹ă«ăŻ
  \begin{lstlisting}
\def\ă€‚{%
  \penalty10000 % ç¦ĺ‰‡ăšăŠă«ă†ă‚Ł
  \hbox to0pt{ă€‚\hss}\penalty0 % ă¶ă‚‰ä¸‹ă’ă®ĺ&nbsp;´ĺ
  \kern.5\zw\penalty0 % äşŚĺ†ĺŹ–ă‚Šă®ĺ&nbsp;´ĺ
  \kern.5\zw\penalty0 % ĺ…¨č§’ĺŹ–ă‚Šă®ĺ&nbsp;´ĺ
}
\end{lstlisting}
  ă®ă‚ă†ăŞĺ‘˝ä»¤ă‚’ĺ®šçľ©ă—ďĽŚć–‡ä¸­ă®ĺ…¨ă¦ă®ĺŹĄç‚ąă‚’ \lstinline+\ă€‚+ ă§ć›¸ăŹă“ă¨ăŚĺż…č¦ă&nbsp;ăŁăźďĽŽ

  \Pkg{luatexja-adjust}ă‘ăă‚±ăĽă‚¸ăŻďĽŚä¸Šă§čż°ăąăźčˇŚćś«ć–‡ĺ­—ă¨ĺ®źéš›ă®čˇŚćś«ă¨ă®ä˝Ťç˝®é–˘äż‚ă‚’
  2é€šă‚Šä»Ąä¸Šă‹ă‚‰č‡Şĺ‹•çš„ă«é¸ćŠžă™ă‚‹ć©źč˝ă‚’ćŹäľ›ă™ă‚‹ďĽŽ
  \pdfTeX ă¨ĺŚăă‚ă†ă«ďĽŚă€Ś\TeX ă«ă‚ă‚‹čˇŚĺ†ĺ‰˛ă®ĺľŚă§čˇŚćś«ć–‡ĺ­—ă®ä˝Ťç˝®ă‚’čŁść­Łă™ă‚‹ă€Ťć–ąćł•ă¨
  ă€ŚčˇŚĺ†ĺ‰˛ă®éŽç¨‹ă§čˇŚćś«ć–‡ĺ­—ă®ä˝Ťç˝®ă‚’č€ć…®ă«ĺ…Ąă‚Śă‚‹ă€Ťć–ąćł•ă‚’é¸ăąă‚‹ă‚ă†ă«ă—ăź
  ďĽ\Pkg{luatexja-adjust}ă‘ăă‚±ăĽă‚¸ă®ć—˘ĺ®šă§ăŻĺ‰Ťč€…ďĽ‰ďĽŽ
  
 \item[ĺ„Şĺ…é&nbsp;†ä˝Ťä»ăŤă®čˇŚé•·čŞżć•´]
  \pTeX ă§ăŻďĽŚčˇŚé•·čŞżć•´ă«ăŠă„ă¦ĺ„Şĺ…ĺş¦ă®ć¦‚ĺżµăŚĺ­ĺś¨ă—ăŞă‹ăŁăźăźă‚ďĽŚĺ›ł
  \ref{fig:adj}ä¸Šć®µă«ăŠă‘ă‚‹ĺŤŠč§’ĺ†ă®ĺŤŠç«ŻăŻďĽŚ\autoref{fig:adj}ä¸­ć®µă®ă‚ă†ă«ďĽŚéŤµ
  ć‹¬ĺĽ§ĺ‘¨čľşă®ç©şç™˝ă¨ĺ’Ść–‡é–“ç©şç™˝(\Param{kanjiskip})ă®ä¸ˇć–ąă«ă‚ăŁă¦č˛&nbsp;ć‹…ă•ă‚Śă‚‹ďĽŽă—
  ă‹ă—ďĽŚă€Ść—Ąćś¬čŞžçµ„ç‰ĺ‡¦ç†ă®č¦ä»¶ă€Ť\cite{jlreq}ă‚„JIS~X~4051~\cite{x4051}ă«ăŠă„
  ă¦ăŻďĽŚă“ă®ă‚ă†ăŞçŠ¶ćłă§ăŻĺŤŠç«ŻăŻéŤµć‹¬ĺĽ§ĺ‘¨čľşă®ç©şç™˝ă®ăżă§č˛&nbsp;ć‹…ă—ďĽŚăťă®ä»–ă®ĺ’Ść–‡
  ć–‡ĺ­—ăŻă™ă‚żçµ„ă§çµ„ăľă‚Śă‚‹ďĽ\autoref{fig:adj}ä¸‹ć®µďĽ‰ă“ă¨ă«ăŞăŁă¦ă„ă‚‹ďĽŽ
  \Pkg{luatexja-adjust}ă‘ăă‚±ăĽă‚¸ă®ćŹäľ›ă™ă‚‹ç¬¬2ă®ć©źč˝ăŻďĽŚ
  \cite{jlreq}ă‚„\cite{x4051}ă«ăŠă‘ă‚‹č¦Źĺ®šă®ă‚ă†ăŞďĽŚĺ„Şĺ…é&nbsp;†ä˝Ťä»ăŤ
  ă®čˇŚé•·čŞżć•´ă§ă‚ă‚‹ďĽŽ
  \begin{itemize}
   \item ĺ„Şĺ…ĺş¦ä»ăŤčˇŚé•·čŞżć•´ăŻďĽŚć®µč˝ă‚’čˇŚĺ†ĺ‰˛ă—ăźĺľŚă«ĺ€‹ă€…ă®čˇŚă«ă¤ă„ă¦čˇŚă‚Źă‚Śă‚‹ă‚‚ă®ă§ă‚ă‚‹ďĽŽ
	ăťă®ăźă‚ďĽŚčˇŚĺ†ĺ‰˛ă®ä˝Ťç˝®ăŻĺ¤‰ĺŚ–ă™ă‚‹ă“ă¨ăŻăŞă„ďĽŽ
	
	\verb+\hbox{...}+ ă¨ă„ăŁăźă€Śé€”ä¸­ă§ć”ąčˇŚă§ăŤăŞă„ć°´ĺąłăśăă‚Żă‚ąă€Ťă§ăŻďĽăźă¨ăĺą…ăŚćŚ‡ĺ®šă•ă‚Śă¦ă„ă¦ă‚‚ďĽ‰ç„ˇĺŠąă§ă‚ă‚‹ďĽŽ
   \item ĺ„Şĺ…ĺş¦ä»ăŤčˇŚé•·čŞżć•´ă‚’čˇŚă†ă¨ďĽŚĺ’Ść–‡ĺ‡¦ç†ă‚°ă«ăĽă®č‡Şç„¶é•·ăŻĺ¤‰ĺŚ–ă—ăŞă„ăŚďĽŚäĽ¸ăłé‡Źă‚„ç¸®ăżé‡ŹăŻ
	ä¸€č¬ă«ĺ¤‰ĺŚ–ă™ă‚‹ďĽŽăťă®ăźă‚ďĽŚć—˘ă«çµ„ăľă‚Śăźć®µč˝ă‚’ \cs{unhbox} ăŞă©ă‚’ĺ©ç”¨ă—ă¦çµ„ăżç›´ă™ĺ‡¦ç†ă‚’
	čˇŚă†ĺ&nbsp;´ĺă«ăŻćł¨ć„ŹăŚĺż…č¦ă§ă‚ă‚‹ďĽŽ
  \end{itemize}
  
 \item[ă€Śä¸­čş«ăľă§ăżăźă€ŤčˇŚé€ă‚Šč¨ç®—]
  č¤‡ć•°čˇŚă«ć¸ˇă‚‹ć–‡ç«&nbsp;ă‚’çµ„ç‰ă™ă‚‹ă¨ăŤă«ăŻčˇŚé–“ă«ç©şăŤăŚĺ…Ąă‚‹ă“ă¨ăŚć™®é€šă§ă‚ă‚‹ďĽŽ
  \TeX ă§ăŻĺ„čˇŚăŚä¸€ă¤ăšă¤ă®ć°´ĺąłăśăă‚Żă‚ąă‚’ăŞă—ă¦ă„ă‚‹ă“ă¨ă‚’ć€ťă„ĺ‡şă™ă¨ďĽŚéšŁă‚ŠĺăŁăź
  2ă¤ă®čˇŚďĽă¤ăľă‚Šć°´ĺąłăśăă‚Żă‚ąďĽ‰ă®é–“ă®ç©şăŤăŻć¬ˇă®ă‚ă†ă«ă—ă¦ć±şăľă‚‹ă®ă&nbsp;ăŁăźďĽš
  \begin{itemize}
   \item ă€Śé€šĺ¸¸ă«çµ„ă‚“ă&nbsp;ă¨ăŤă®čˇŚé–“ă€Ť$d$ă‚’ďĽŚ\cs{baselineskip}ă‹ă‚‰
	ă€Śĺ‰Ťă®čˇŚă€Ťă®ć·±ă•ă¨ă€Ść¬ˇă®čˇŚă€Ťă®é«ă•ă‚’ĺŠ&nbsp;ăăźă‚‚ă®ă‚’ĺĽ•ă„ăźĺ€¤ă¨ă™ă‚‹ďĽŽ
   \item $d\ge\cs{lineskiplimit}$ă®ĺ&nbsp;´ĺďĽŚ
	ć¨™ćş–ă®čˇŚé€ă‚Š\cs{baselineskip}ă§çµ„ă‚“ă§ă‚‚ĺŤĺ†ăŞé–“éš”ăŚă‚ă‚‹ă¨ĺ¤ć–­ă•ă‚ŚďĽŚ
	2čˇŚă®é–“ă«ăŻé•·ă•$d$ă®ç©şç™˝ăŚćŚżĺ…Ąă•ă‚Śă‚‹ďĽŽă¤ăľă‚ŠčˇŚé€ă‚ŠăŻ\cs{baselineskip}ďĽŽ
   \item $d&lt;\cs{lineskiplimit}$ă®ĺ&nbsp;´ĺďĽŚ
	2čˇŚă®é–“ă«ăŻé•·ă•\cs{lineskip}ă®ç©şç™˝ăŚćŚżĺ…Ąă•ă‚Śă‚‹ďĽŽ
	ăťă®ăźă‚ďĽč¨­ĺ®šĺ€¤ă«ă‚ă‚‹ăŚďĽŚĺ¤šăŹă®ĺ&nbsp;´ĺďĽ‰čˇŚé€ă‚ŠăŻ\cs{baselineskip}ă‚ă‚ŠĺşăŚă‚‹ďĽŽ
  \end{itemize}

  \begin{figure}[t]
	\noindent\centering
	\begin{minipage}[b]{18\zw}
	  \ltjenableadjust[profile=false, linestep=false]
	  â€¦â€¦ă&nbsp;ă‹ă‚‰ďĽŚâ‘&nbsp;ă‚ă‚Š$\dfrac{a^2}{b} = \dfrac{1+\sqrt{5}}2$ďĽŽ\\
	  ă‚ăŁă¦$b=\dfrac{1-\sqrt{5}}2$ă§ă‚ă‚‹ďĽŽ\\
	  ă“ă‚Śă‚’â‘ˇĺĽŹă«ä»Łĺ…Ąă™ă‚‹ă¨â€¦â€¦
	  \par\vskip\abovecaptionskip
	  \ltjenableadjust[profile=false, linestep=false]
	  \par\centering\leavevmode{\small (a)}
	\end{minipage}%
	\kern2\zw
	\begin{minipage}[b]{18\zw}
	  \ltjenableadjust[profile]
	  â€¦â€¦ă&nbsp;ă‹ă‚‰ďĽŚâ‘&nbsp;ă‚ă‚Š$\dfrac{a^2}{b} = \dfrac{1+\sqrt{5}}2$ďĽŽ\\
	  ă‚ăŁă¦$b=\dfrac{1-\sqrt{5}}2$ă§ă‚ă‚‹ďĽŽ\\
	  ă“ă‚Śă‚’â‘ˇĺĽŹă«ä»Łĺ…Ąă™ă‚‹ă¨â€¦â€¦
	  \par\vskip\abovecaptionskip
	  \ltjenableadjust[profile=false, linestep=false]
	  \par\centering\leavevmode{\small (b)}
	\end{minipage}\par
	  \caption{é«ă„čˇŚăŚé€Łç¶šă—ăźă¨ăŤă®çŠ¶ćł}\label{fig:linegap1}
  \end{figure}

  ă“ă“ă§ďĽŚ\TeX ăŻčˇŚé€ă‚Šă®ć±şĺ®šă§ă€Śé«ă•ă»ć·±ă•ă‚’ĺŹ–ăŁă¦ă„ă‚‹ă‚‚ă®ăŚ
  čˇŚă®ă©ă®ć°´ĺąłä˝Ťç˝®ă«ă‚ă‚‹ă‹ă€ŤăŻä¸€ĺ‡č€ć…®ă—ăŞă„ă“ă¨ă«ćł¨ć„Źă—ă¦ă»ă—ă„ďĽŽăťă®ăźă‚ďĽŚ
  \autoref{fig:linegap1}~(a)ă®ă‚ă†ă«ă€Śĺż…č¦ä»Ąä¸Šă«čˇŚé–“ăŚç©şă„ă¦č¦‹ăă‚‹ă€ŤçŠ¶ćłăŚčµ·ă“ă‚‹ă“ă¨ăŚă‚ă‚‹ďĽŽ

  \Pkg{luatexja-adjust}ă‘ăă‚±ăĽă‚¸ă§ăŻďĽŚă€Śé€šĺ¸¸ă«çµ„ă‚“ă&nbsp;ă¨ăŤă®čˇŚé–“ă€Ť$d$ă‚’
  ĺ„čˇŚă®ä¸­čş«ă®ć–‡ĺ­—ă»ă‚°ă«ăĽă»ăśăă‚Żă‚ąă®ĺŻ¸ćł•ă‚’ĺ‹ćˇă—ă¦č¨ç®—ă™ă‚‹ă¨ă„ă†ć–ąćł•ă‚’
  ĺ©ç”¨ă§ăŤă‚‹ă‚ă†ă«ă—ăźďĽŽă“ă®ć©źč˝ă‚’ä˝żă†ă¨ďĽŚ\autoref{fig:linegap1}~(b)ă®ă‚ă†ă«
  čˇŚé–“ă®ç©şăŤăŚĺż…č¦ä»Ąä¸Šă«ĺ¤§ăŤăŹăŞă‚‹ă“ă¨ă‚’éżă‘ă‚‹ă“ă¨ăŚă§ăŤă‚‹ďĽŽ
  \begin{itemize}
	\item ć®µč˝ä¸­ă®éšŁă‚ŠĺăŁăźäşŚčˇŚă&nbsp;ă‘ă§ăŞăŹďĽŚčˇŚé–“ă®ç©şăŤăŻ
	ć–°ăźă«ć°´ĺąłăśăă‚Żă‚ą$h$ă‚’ďĽĺ†…é¨ă»ĺ¤–é¨ĺ•Źă‚ŹăšďĽ‰ĺž‚ç›´ă˘ăĽă‰ă§čż˝ĺŠ&nbsp;ă—ăźć™‚ă«ă‚‚č‡Şĺ‹•ă§ćŚżĺ…Ąă•ă‚Śă‚‹ďĽŽ
	ăťă®ĺ&nbsp;´ĺă«ăŻďĽŚĺ‰Ťć®µč˝ă§čż°ăąăźă€Śä¸­čş«ăľă§ăżă‚‹ă€Ťĺ‡¦ç†ăŻ
	\begin{itemize}
	 \item çŹľĺś¨ă®ăŞă‚ąăă«ăŠă‘ă‚‹ćś€ĺľŚă®ăŽăĽă‰
	  \footnote{ćś€ĺľŚă®ăŽăĽă‰ăŚ\cs{parskip}ă«ă‚ă‚‹ă‚°ă«ăĽă§ă‚ăŁăźĺ&nbsp;´ĺă®ăż
		ă•ă‚‰ă«ä¸€ă¤ĺ‰Ťă®ăŽăĽă‰ă‚’ĺŹ‚ç…§ă™ă‚‹ďĽŽ}ăŚć°´ĺąłăśăă‚Żă‚ą$h'$ă§ă‚ă‚ŠďĽŚă‹ă¤
	  \item \cs{prevdepth}ă®ĺ€¤ă¨ăťă®$h'$ă®ć·±ă•ă®ĺ€¤ăŚä¸€č‡´ă—ă¦ă„ă‚‹
	\end{itemize}
	ĺ&nbsp;´ĺă«ă®ăżç™şĺ‹•ă™ă‚‹ă‚ă†ă«ă—ă¦ă„ă‚‹ďĽŽ
	\item čˇŚă®ä¸­čş«ă«ć°´ĺąłăśăă‚Żă‚ą$h''$ăŚĺ…ĄăŁă¦ăŹă‚‹ă“ă¨ă‚‚ă‚ă‚‹ăŚďĽŚăťă®ĺ&nbsp;´ĺăŻ$h''$ă®ä¸­čş«ă®é«ă•ă»ć·±ă•ăľă§ăŻ
	ĺŹ‚ç…§ă›ăšďĽŚă‚ăŹăľă§ă‚‚$h''$č‡Şčş«ă®é«ă•ă»ć·±ă•ă®ăżă‚’ĺŹ‚ç…§ă™ă‚‹ďĽŽ
	ĺŹ‚ç…§ă™ă‚‹ă‚ă†ă«ă—ă¦ă—ăľă†ă¨ďĽŚ\cs{smash}ăŞă©ć‰‹ĺ‹•ă§čˇŚăŁăźé«ă•ă»ć·±ă•čŞżć•´ă®ć„Źĺ‘łăŚăŞăŹăŞăŁă¦ă—ăľă†ă‹ă‚‰ă§ă‚ă‚‹ďĽŽ
  \end{itemize}
  ăŞăŠďĽŚçŹľĺś¨ă®ĺ®źčŁ…ă§ăŻďĽŚă€Śä¸­čş«ăľă§ăżă‚‹čˇŚé–“čŞżć•´ă€ŤăŻďĽŚĺ¤–é¨ĺž‚ç›´ă˘ăĽă‰ă«ăŠă‘ă‚‹
  ĺ‰Ťă®ć®µč˝ă®ćś€çµ‚čˇŚă¨ć¬ˇă®ć®µč˝ă®ĺ…é&nbsp;­čˇŚă¨ă®é–“ă§ăŻ
  ćş€č¶łă«ĺ‹•ä˝śă—ăŞă„ă“ă¨ăŚă‚ă‚‹ďĽŽă“ă‚Śă«ă¤ă„ă¦ăŻä»ŠĺľŚă®čŞ˛éˇŚă§ă‚ă‚‹ďĽŽ

  \begin{figure}[t]
	\noindent\centering
	\begin{minipage}[b]{16\zw}
	  \ltjenableadjust[profile]
	  â€¦â€¦ă&nbsp;ă‹ă‚‰ďĽŚâ‘&nbsp;ă‚ă‚Š$\dfrac{a^2}{b}= \dfrac{1+\sqrt{5}}2$ďĽŽ\\
	  ă‚ăŁă¦$b=\dfrac{1-\sqrt{5}}2$ă§ă‚ă‚‹ďĽŽ\\
	  ă“ă‚Śă‚’â‘ˇĺĽŹă«ä»Łĺ…Ąă™ă‚‹ă¨â€¦â€¦
	  \par\vskip\abovecaptionskip
	  \ltjenableadjust[profile=false, linestep=false]
	  \par\centering\leavevmode{\small (a): ç„ˇĺŠą}
	\end{minipage}%
	\kern2\zw
	\begin{minipage}[b]{16\zw}
	  \ltjsetparameter{linestep_factor=0.25}
	  \ltjenableadjust[profile, linestep]
	  â€¦â€¦ă&nbsp;ă‹ă‚‰ďĽŚâ‘&nbsp;ă‚ă‚Š$\dfrac{a^2}{b} = \dfrac{1+\sqrt{5}}2$ďĽŽ\\
	  ă‚ăŁă¦$b=\dfrac{1-\sqrt{5}}2$ă§ă‚ă‚‹ďĽŽ\\
	  ă“ă‚Śă‚’â‘ˇĺĽŹă«ä»Łĺ…Ąă™ă‚‹ă¨â€¦â€¦
	  \par\vskip\abovecaptionskip
	  \ltjenableadjust[profile=false, linestep=false]
	  \par\centering\leavevmode{\small (b): $0.25$\cs{baselineskip}ĺ»ăż}
	\end{minipage}\par\medskip
	\begin{minipage}[b]{16\zw}
	  \ltjsetparameter{linestep_factor=0.5}
	  \ltjenableadjust[profile, linestep]
	  â€¦â€¦ă&nbsp;ă‹ă‚‰ďĽŚâ‘&nbsp;ă‚ă‚Š$\dfrac{a^2}{b} = \dfrac{1+\sqrt{5}}2$ďĽŽ\\
	  ă‚ăŁă¦$b=\dfrac{1-\sqrt{5}}2$ă§ă‚ă‚‹ďĽŽ\\
	  ă“ă‚Śă‚’â‘ˇĺĽŹă«ä»Łĺ…Ąă™ă‚‹ă¨â€¦â€¦
	  \par\vskip\abovecaptionskip
	  \ltjenableadjust[profile=false, linestep=false]
	  \par\centering\leavevmode{\small (c): 0.5\cs{baselineskip}ĺ»ăż}
	\end{minipage}%
	\kern2\zw
	\begin{minipage}[b]{16\zw}
	  \ltjsetparameter{linestep_factor=1}
	  \ltjenableadjust[profile, linestep]
	  â€¦â€¦ă&nbsp;ă‹ă‚‰ďĽŚâ‘&nbsp;ă‚ă‚Š$\dfrac{a^2}{b} = \dfrac{1+\sqrt{5}}2$ďĽŽ\\
	  ă‚ăŁă¦$b=\dfrac{1-\sqrt{5}}2$ă§ă‚ă‚‹ďĽŽ\\
	  ă“ă‚Śă‚’â‘ˇĺĽŹă«ä»Łĺ…Ąă™ă‚‹ă¨â€¦â€¦
	  \par\vskip\abovecaptionskip
	  \ltjenableadjust[profile=false, linestep=false]
	  \par\centering\leavevmode{\small (d): \cs{baselineskip}ĺ»ăż}
	\end{minipage}\par
	  \caption{ć®µéšŽçš„ăŞčˇŚé€ă‚Šĺ˘—ĺŠ&nbsp;}\label{fig:linegap2}
  \end{figure}

 \item[ć®µéšŽçš„ăŞčˇŚé€ă‚ŠčŞżć•´]
  ć—˘ă«čż°ăąăźă‚ă†ă«ďĽŚ
  ă€Śé€šĺ¸¸ă«çµ„ă‚“ă&nbsp;ă¨ăŤă®čˇŚé–“ă€Ť$d$ăŚ\cs{lineskiplimit}ă‚ă‚Šĺ°Źă•ă„ĺ&nbsp;´ĺďĽŚ\TeX ć¨™ćş–ă§ăŻ
  čˇŚé–“ăŻ\cs{lineskip}ă¨ăŞă‚‹ă®ă&nbsp;ăŁăźďĽŽ
  ă“ă®ă¨ăŤčˇŚé€ă‚ŠăŻă€Śĺ‰Ťă®čˇŚă®ć·±ă•ă€ŤďĽŚă€Ść¬ˇă®čˇŚă®é«ă•ă€ŤďĽŚ\cs{lineskip}ă®3ă¤ă®ĺ’Śă«ăŞă‚‹ă‚Źă‘ă&nbsp;ăŚďĽŚ
  ĺ&nbsp;´ĺă«ă‚ăŁă¦ăŻčˇŚé€ă‚Šă‚’ă€Ś\cs{baselineskip}ă®ć•´ć•°ĺ€Ťă€ŤăŞă©ă¨ĺ‡ă‚Šă®ă„ă„ĺ€¤ă«ćŹăăźă„ă¨ă„ă†çŠ¶ćłăŚ
  č€ăă‚‰ă‚ŚăŞăŹă‚‚ăŞă„ďĽŽ
  
  \Pkg{luatexja-adjust}ă‘ăă‚±ăĽă‚¸ă§ăŻďĽŚ$d&lt;\cs{lineskiplimit}$ă®ă¨ăŤă«
  čˇŚé€ă‚Šă‚’\cs{baselineskip}ă®\Param{linestep\_factor}ĺ€Ťăšă¤ĺ˘—ć¸›ă•ă›ă¦
  \begin{quote}
	čˇŚé–“ăŚ\cs{lineskip}ä»Ąä¸Šă¨ăŞă‚‹ă‚ă†ăŞďĽŚ
	ćś€ĺ°Źă®$(1+k\cdot \Param{linestep\_factor})\cs{baselineskip}$ďĽ$k$ăŻć•´ć•°ďĽ‰ă®ĺ€¤
  \end{quote}
  ă¨ă™ă‚‹ć©źč˝ă‚’ĺ©ç”¨ă§ăŤă‚‹ă‚ă†ă«ă—ăźďĽŽ
  \autoref{fig:linegap2}ă®(a)ăŚă“ă®ć©źč˝ă‚’ç„ˇĺŠąă«ă—ăźçŠ¶ćłă§ďĽŚ(b),~(c),~(d)ăŚ
  ăťă‚Śăžă‚Ś\Param{linestep\_factor}ă‚’0.25,~0.5,~1ă¨ă—ăźçŠ¶ćłă§ă‚ă‚‹ďĽŽ

  ăŞăŠďĽŚă“ă®ć©źč˝ăŻčˇ¨çµ„ć™‚(\cs{halign},~\cs{valign})ă«ăŻç„ˇĺŠąă§ă‚ă‚‹ďĽŽ
  \LaTeX ă«ăŠă‘ă‚‹čˇ¨çµ„ç’°ĺ˘ďĽtabular, arrayăŞă©ďĽ‰ă§ăŻďĽŚ\cs{baselineskip},~\cs{lineskip}ăŻă©ăˇă‚‰ă‚‚0ă«č¨­ĺ®šă•ă‚Śă¦ă„ă‚‹ă®ă§
  ďĽä»Łă‚Źă‚Šă«ĺ„čˇŚă«\cs{@arstrut}ă¨ă„ă†ć”Żćź±ăŚĺ…Ąă‚‹ďĽ‰ăźă‚ă«ć„Źĺ‘łăŚăŞă„ă“ă¨ă¨ďĽŚ
  ć•°ĺĽŹă‚’ĺ†…é¨ă§čˇ¨çµ„ă‚’ä˝żăŁă¦çµ„ă‚€alignç’°ĺ˘ăŞă©ă§ăŻă‹ăăŁă¦čˇŚé–“ăŚä¸ŤćŹă„ă«ăŞăŁă¦ă—ăľă†ă‹ă‚‰ă§ă‚ă‚‹ďĽŽ
\end{description}

\Pkg{luatexja-adjust}ă‘ăă‚±ăĽă‚¸ăŻďĽŚä¸Šč¨ă§čż°ăąăź4ć©źč˝ă‚’ćś‰ĺŠąĺŚ–/ç„ˇĺŠąĺŚ–ă™ă‚‹ăźă‚ă®
ä»Ąä¸‹ă®ĺ‘˝ä»¤ă‚’ćŹäľ›ă™ă‚‹ďĽŽă“ă‚Śă‚‰ăŻă™ăąă¦ă‚°ă­ăĽăă«ă«ĺŠąĺŠ›ă‚’ç™şćŹ®ă™ă‚‹ďĽŽ

\begin{cslist}
\item[\cs{ltjenableadjust[...]}]
\verb+...+ ă«ćŚ‡ĺ®šă—ăźkey-valueăŞă‚ąăă«ĺľ“ă„ďĽŚă€ŚčˇŚćś«ć–‡ĺ­—ă®ä˝Ťç˝®čŞżć•´ă€Ťă€Śĺ„Şĺ…é&nbsp;†ä˝Ťä»ăŤă®čˇŚé•·čŞżć•´ă€Ť
  ă€Śă€Žä¸­čş«ăľă§ăżăźă€ŹčˇŚé€ă‚Šč¨ç®—ă€Ťă€Ść®µéšŽçš„ăŞčˇŚé€ă‚ŠčŞżć•´ă€Ť%ă€Śćżç‚ąă»ĺŤŠćżç‚ąä»ăŤä»®ĺŤć–‡ĺ­—ă®ć­Łč¦ŹĺŚ–ă€Ť
  ă‚’ćś‰ĺŠąĺŚ–/ç„ˇĺŠąĺŚ–ă™ă‚‹ďĽŽ
ćŚ‡ĺ®šă§ăŤă‚‹ă‚­ăĽăŻä»Ąä¸‹ă®é€šă‚ŠďĽŽ
\begin{description}
  \item[\texttt{lineend=[false,true,extended]}]
  čˇŚćś«ć–‡ĺ­—ă®ä˝Ťç˝®čŞżć•´ă®ć©źč˝ă‚’ç„ˇĺŠąĺŚ–(\texttt{false})ďĽŚă€ŚčˇŚĺ†ĺ‰˛ĺľŚă«čŞżć•´ă€Ťă®ĺ˝˘ă§ćś‰ĺŠąĺŚ–(\texttt{true})ďĽŚ
  ă€ŚčˇŚĺ†ĺ‰˛ă®éŽç¨‹ă§č€ć…®ă€Ťă®ĺ˝˘ă§ćś‰ĺŠąĺŚ–(\texttt{extended})ă™ă‚‹ďĽŽ
  \item[\texttt{priority=[false,true]}]
  ĺ„Şĺ…é&nbsp;†ä˝Ťä»ăŤă®čˇŚé•·čŞżć•´ă‚’ç„ˇĺŠąĺŚ–(\texttt{false})ďĽŚăľăźăŻćś‰ĺŠąĺŚ–(\texttt{true})ďĽŽ
  \item[\texttt{profile=[false,true]}]
  ă€Śä¸­čş«ăľă§ăżăźă€ŤčˇŚé€ă‚Šč¨ç®—ă‚’ç„ˇĺŠąĺŚ–(\texttt{false})ďĽŚăľăźăŻćś‰ĺŠąĺŚ–(\texttt{true})ďĽŽ
  \item[\texttt{linestep=[false,true]}]
  ć®µéšŽçš„ăŞčˇŚé€ă‚ŠčŞżć•´ă‚’ç„ˇĺŠąĺŚ–(\texttt{false})ďĽŚăľăźăŻćś‰ĺŠąĺŚ–(\texttt{true})ďĽŽ
%  \item[\texttt{composekana=[false,true]}]
%  ćżç‚ąă»ĺŤŠćżç‚ąä»ăŤä»®ĺŤć–‡ĺ­—ă®ć­Łč¦ŹĺŚ–ă‚’ç„ˇĺŠąĺŚ–(\texttt{false})ďĽŚăľăźăŻćś‰ĺŠąĺŚ–(\texttt{true})ďĽŽ
\end{description}
ă©ă®ă‚­ăĽă¨ă‚‚ă‚­ăĽĺŤă®ăżă‚’ćŚ‡ĺ®šă—ăźĺ&nbsp;´ĺăŻĺ€¤ă¨ă—ă¦\texttt{true}ăŚćŚ‡ĺ®šă•ă‚Śăźă‚‚ă®ă¨ć‰±ă‚Źă‚Śă‚‹ďĽŽ

äş’ćŹ›ć€§ă®ç‚şďĽŚă‚Şă—ă‚·ă§ăłç„ˇă—ă§ăźă&nbsp;\cs{ltjenableadjust}ăŚĺ‘Ľăłĺ‡şă•ă‚Śăźĺ&nbsp;´ĺăŻďĽŚ
\begin{lstlisting}
\ltjenableadjust[lineend=true,priority=true]
\end{lstlisting}
ă¨ć‰±ă‚Źă‚Śă‚‹ďĽŽ
  
\item[\cs{ltjdisableadjust}]
\Pkg{luatexja-adjust}ă‘ăă‚±ăĽă‚¸ă®ć©źč˝ă‚’ç„ˇĺŠąĺŚ–ă™ă‚‹ďĽŽ
\begin{lstlisting}
\ltjenableadjust[lineend=false,priority=false,profile=false,linestep=false]
\end{lstlisting}
ă¨ĺŚçľ©ďĽŽ
\end{cslist}

ăľăźďĽŚć¬ˇă®ă‘ă©ăˇăĽă‚żăŚ\cs{ltjsetparameter}ĺ†…ă§
čż˝ĺŠ&nbsp;ă•ă‚Śă‚‹ďĽŽă„ăšă‚Śă‚‚ă‚°ă­ăĽăă«ă«ĺŠąĺŠ›ă‚’ç™şćŹ®ă™ă‚‹ďĽŽ
\begin{cslist}[style=standard]
\item[\DParam{stretch\_priority}\,=\{\meta{list}\}]
\Param{kanjiskip}, \Param{xkanjiskip}ďĽŚăŠă‚ăłă€Ś\textbf{JAglue}ä»Ąĺ¤–ă®ă‚°ă«ăĽă€Ťă‚’ďĽŚ
ă€ŚčˇŚă‚’č‡Şç„¶é•·ă‚ă‚ŠäĽ¸ă°ă™ă€Ťĺ&nbsp;´ĺă®čŞżć•´ă«ç”¨ă„ă‚‹ĺ„Şĺ…ĺş¦ă‚’ćŚ‡ĺ®šă™ă‚‹ďĽŽ

ćŚ‡ĺ®šć–ąćł•ăŻďĽŚ\meta{list}ă®ä¸­ă«key-value listă®ĺ˝˘ă§
\begin{lstlisting}
stretch_priority={kanjiskip=-35,xkanjiskip=-25,others=50}
\end{lstlisting}
ă®ă‚ă†ă«ă—ă¦čˇŚă†ďĽŽă‚­ăĽĺŤ\texttt{kanjiskip},~\texttt{xkanjiskip}ă«ă¤ă„ă¦ăŻ
ăťă®ăľăľă®ć„Źĺ‘łă§ă‚ă‚ŠďĽŚ
\texttt{others}ă‚­ăĽăŚă€Ś\textbf{JAglue}ä»Ąĺ¤–ă®ă‚°ă«ăĽă€Ťă‚’čˇ¨ă™ďĽŽ
ĺ„ă‚­ăĽă®ĺ€¤ăŻďĽŚJFMă‚°ă«ăĽă«ăŠă‘ă‚‹ă€Śĺ„Şĺ…ĺş¦$i$ă€Ťă‚’$10i$ă«ĺŻľĺżśă•ă›ăźć•´ć•°ĺ€¤ă§ă‚ă‚ŠďĽŚ
  ĺ¤§ăŤă„ć–ąăŚĺ…ă«äĽ¸ă°ă•ă‚Śă‚‹ă“ă¨ă‚’ć„Źĺ‘łă—ă¦ă„ă‚‹ďĽŽ
  ĺťćśźĺ€¤ăŻ
\begin{lstlisting}
{kanjiskip=-35,xkanjiskip=-25,others=50}
\end{lstlisting}
ă§ă‚ă‚ŠďĽŚă€Śĺ„Şĺ…ĺş¦$-4$ă€Ťă¨ćŚ‡ĺ®šă•ă‚Śă¦ă„ă‚‹JFMă‚°ă«ăĽăŚćś€ă‚‚äĽ¸ăłă«ăŹă„ă‚ă†ă«ăŞăŁă¦ă„ă‚‹ďĽŽ

\item[\DParam{shrink\_priority}\,=\{\meta{list}\}]
ĺŚć§ă«ďĽŚă€ŚčˇŚă‚’č‡Şç„¶é•·ă‚ă‚Šç¸®ă‚ă‚‹ă€Ťĺ&nbsp;´ĺă®čŞżć•´ă«ç”¨ă„ă‚‹ĺ„Şĺ…ĺş¦ă‚’ćŚ‡ĺ®šă™ă‚‹ďĽŽ
ăťă‚Śä»Ąĺ¤–ăŻ\Param{stretch\_priority}ă¨ćŚ‡ĺ®šă®ĺ˝˘ĺĽŹăŻĺ¤‰ă‚Źă‚‰ăŞă„ďĽĺťćśźĺ€¤ă‚‚ĺ¤‰ă‚Źă‚‰ăŞă„ďĽ‰ďĽŽ

 \item[\DParam{linestep\_factor}\,=\meta{float}]
  ć®µéšŽçš„ăŞčˇŚé€ă‚ŠčŞżć•´ă®éš›ďĽŚ\cs{baselineskip}ă®č‡Şç„¶é•·ă®ä˝•ĺ€ŤĺŤä˝Ťă§čˇŚé€ă‚Šă‚’ĺ¤‰ăă‚‹ă‹ă‚’ćŚ‡ĺ®šă™ă‚‹ďĽŽ
  0ă‚’ćŚ‡ĺ®šă™ă‚‹ă¨ç„ˇĺŠąă«ăŞă‚‹ă®ă¨ĺ¤‰ă‚Źă‚‰ăŞă„ďĽŽăľăźč˛&nbsp;ć•°ă‚’ćŚ‡ĺ®šă™ă‚‹ă¨ďĽŚ
  ăťă®çµ¶ĺŻľĺ€¤ăŚćŚ‡ĺ®šă•ă‚Śăźă‹ă®ă‚ă†ă«ć‰±ă‚Źă‚Śă‚‹ďĽŽ
  ĺťćśźĺ€¤ăŻ0.5ďĽă¤ăľă‚ŠĺŤŠčˇŚĺŤä˝ŤďĽ‰ă§ă‚ă‚‹ďĽŽ

  \item[\DParam{profile\_hgap\_factor}\,=\meta{float}]
  ă€Śä¸­čş«ăľă§č¦‹ăźă€ŤčˇŚé€ă‚Šč¨ç®—ă®éš›ďĽŚ
  ĺ‰Ťă®čˇŚă«ă‚ă‚‹ć·±ă•ăŚĺ¤§ăŤă„ă‚‚ă®ă¨ć¬ˇă®čˇŚă«ă‚ă‚‹é«ă•ăŚĺ¤§ăŤă„ă‚‚ă®ăŚ
  ć°´ĺąłć–ąĺ‘ă«ă©ă‚Śă&nbsp;ă‘é›˘ă‚Śă¦ă„ăŞă„ă¨ă„ă‘ăŞă„ă‹ă‚’
  ă€Ś\cs{lineskip}ă®č‡Şç„¶é•·ă®ä˝•ĺ€Ťă‹ă€Ťă§ćŚ‡ĺ®šă™ă‚‹ďĽŽ
  č˛&nbsp;ć•°ă‚’ćŚ‡ĺ®šă™ă‚‹ă¨ďĽŚăťă®çµ¶ĺŻľĺ€¤ăŚćŚ‡ĺ®šă•ă‚Śăźă‹ă®ă‚ă†ă«ć‰±ă‚Źă‚Śă‚‹ďĽŽ
  ĺťćśźĺ€¤ăŻ1ďĽă¤ăľă‚Š\cs{lineskip}ďĽă®č‡Şç„¶é•·ďĽ‰ďĽ‰ă§ă‚ă‚‹ďĽŽ
\end{cslist}

ă•ă‚‰ă«ďĽŚăăĽă‚¸ă§ăł20220211.0ä»Ąé™Ťă§ăŻć¬ˇă®ĺ‘˝ä»¤ăŚćŹäľ›ă•ă‚Śă‚‹ďĽŽ
\begin{cslist}
  \item[\cs{ltjghostbeforejachar}]
  \LuaTeX-jaćś¬ä˝“ăŚćŹäľ›ă—ă¦ă„ă‚‹\cs{ltjfakeparbegin}, \cs{ltjfakeboxbdd}ă¨éˇžäĽĽă®ĺ‘˝ä»¤ă§ă‚ă‚‹ďĽŽ
  ĺ®źčˇŚă•ă‚Śăźç®‡ć‰€ăŚďĽé™ĺ®šă»éťžé™ĺ®šă‚’ĺ•Źă‚ŹăšďĽ‰ć°´ĺąłă˘ăĽă‰ă§ă‚ăŁăźĺ&nbsp;´ĺă«ďĽŚĺ®źčˇŚă•ă‚Śăźç®‡ć‰€ăŻ
  ă€Ść–‡ĺ­—ă‚Żă©ă‚ą0ă®\textbf{JAchar}ă€Ťă®ç›´ĺ‰Ťă§ă‚ă‚‹ă¨ďĽŚ
  \LuaTeX-jaă®ĺ’Ść–‡ĺ‡¦ç†ă‚°ă«ăĽćŚżĺ…Ąĺ‡¦ç†ă«čŞŤč­ă•ă›ă‚‹ďĽŽä»Ąä¸‹ă®ĺ®źčˇŚäľ‹ă‚’ĺŹ‚ç…§ďĽŽ

\medskip
\begin{LTXexample}[width=18\zw]
\ltjsetparameter{kanjiskip=14pt,xkanjiskip=50pt}
\let\LG=\ltjghostbeforejachar
A\LG  B   \par% ==&gt; ALchar--(xkanjiskip)--\LG
A\LG  ĺ­—  \par% ==&gt; ALchar--(xkanjiskip)--\LG
ćĽ˘\LG B   \par% ==&gt; JAchar--(kanjiskip)--\LG
ćĽ˘\LG ĺ­—  \par% ==&gt; JAchar--(kanjiskip)--\LG
\end{LTXexample}

  \item[\cs{ltjghostafterjachar}]
  \cs{ltjghostbeforejachar}ă¨ĺŻľă‚’ćă™ĺ‘˝ä»¤ă§ďĽŚĺ®źčˇŚă•ă‚Śăźç®‡ć‰€ăŻ
  ă€Ść–‡ĺ­—ă‚Żă©ă‚ą0ă®\textbf{JAchar}ă€Ťă®ç›´ĺľŚă§ă‚ă‚‹ă¨ďĽŚ
  \LuaTeX-jaă®ĺ’Ść–‡ĺ‡¦ç†ă‚°ă«ăĽćŚżĺ…Ąĺ‡¦ç†ă«čŞŤč­ă•ă›ă‚‹ďĽŽä»Ąä¸‹ă®ĺ®źčˇŚäľ‹ă‚’ĺŹ‚ç…§ďĽŽ

\medskip
\begin{LTXexample}[width=18\zw]
\ltjsetparameter{kanjiskip=14pt,xkanjiskip=50pt}
\let\LG=\ltjghostafterjachar
A\LG  B   \par% ==&gt; \LG--(xkanjiskip)--ALchar
ćĽ˘\LG B   \par% ==&gt; \LG--(xkanjiskip)--ALchar
A\LG  ĺ­—  \par% ==&gt; \LG--(kanjiskip)--JAchar
ćĽ˘\LG ĺ­—  \par% ==&gt; \LG--(kanjiskip)--JAchar
\end{LTXexample}
\end{cslist}
ăŞăŠďĽŚăăĽă‚¸ă§ăł20220207.0ă§čż˝ĺŠ&nbsp;ă•ă‚Śăź\cs{ltjghostjachar}ăŻĺ®źčŁ…ă«ăă‚°ăŚă‚ăŁăźă®ă¨ă€Śä¸ˇĺ´ă€Ť
ă¨ă„ă†ç‚ąăŚć‰±ă„ăĄă‚‰ă‹ăŁăźă®ă§ďĽŚĺ°†ćťĄăŻĺ‰Šé™¤ă™ă‚‹äşĺ®šă§ă‚ă‚‹ďĽŽ

ä¸ˇĺ‘˝ä»¤ă®ä¸»ăŞä»•ć§ç”¨é€”ăŻĺ’Ść–‡ă‚´ăĽă‚ąăă§ă®ä˝żç”¨ă§ă‚ă‚‹ďĽŽ\Pkg{BXghost}ă‘ăă‚±ăĽă‚¸(\cite{bxghost})ăŞă©ă§ăŻ
äĽťçµ±çš„ă«ĺ…¨č§’ç©şç™˝(\texttt{U+3000})ă¨\verb+\kern-1\zw+ă‚’çµ„ăżĺă‚Źă›ăźć–ąćł•ăŚä˝żă‚Źă‚Śă¦ăŤăźăŚďĽŚ
\LuaTeX-jaă§ăŻĺ…¨č§’ç©şç™˝ă‚’ä˝żăŁăźă&nbsp;ă‘ă§ăŻă†ăľăŹă„ă‹ăŞă„ĺŹŻč˝ć€§ăŚă‚ă‚‹ăźă‚ďĽŚć–°ăźă«ĺ‘˝ä»¤ăŚç”¨ć„Źă•ă‚ŚăźďĽŽ

%&lt;/ja&gt;

\subsection{\Pkg{luatexja-ruby}}
%&lt;*en&gt;
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}.)
%&lt;/en&gt;
%&lt;*ja&gt;
ă“ă®čż˝ĺŠ&nbsp;ă‘ăă‚±ăĽă‚¸ăŻďĽŚ\LuaTeX-jaă®ć©źč˝ă‚’ĺ©ç”¨ă—ăźă«ă“ďĽćŚŻă‚Šä»®ĺŤďĽ‰ă®çµ„ç‰ć©źč˝ă‚’ćŹäľ›ă™ă‚‹ďĽŽ
ĺ‰ŤĺľŚă®ć–‡ĺ­—ç¨®ă«ĺżśăăźĺ‰ŤĺľŚă¸ă®č‡Şĺ‹•é€˛ĺ…Ąă‚„ďĽŚ
čˇŚé&nbsp;­ĺ˝˘ă»čˇŚä¸­ĺ˝˘ă»čˇŚćś«ĺ˝˘ă®č‡Şĺ‹•çš„ăŞä˝żă„ĺ†ă‘ăŚç‰ąĺľ´ă§ă‚ă‚‹ďĽŽ

ă«ă“çµ„ç‰ă«č¨­ĺ®šĺŹŻč˝ăŞé&nbsp;…ç›®ă‚„ćł¨ć„Źäş‹é&nbsp;…ăŚĺ¤šă„ăźă‚ďĽŚćś¬čż˝ĺŠ&nbsp;ă‘ăă‚±ăĽă‚¸ă®č©łç´°ăŞčŞ¬ćŽăŻ
ä˝żç”¨äľ‹ă¨ĺ…±ă« \url{luatexja-ruby.pdf}\ ă¨ă„ă†ĺĄă•ă‚ˇă‚¤ă«ă«čĽ‰ă›ă¦ă„ă‚‹ďĽŽ
ă“ă®çŻ€ă§ăŻç°ˇĺŤăŞä˝żç”¨ć–ąćł•ă®ăżčż°ăąă‚‹ďĽŽ
%&lt;/ja&gt;

\begin{description}
%&lt;*en&gt;
 \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}.
%&lt;/en&gt;
%&lt;*ja&gt;
 \item[ă‚°ă«ăĽă—ă«ă“] ć¨™ćş–ă§ăŻă‚°ă«ăĽă—ă«ă“ă®ĺ˝˘ă§çµ„ăľă‚Śă‚‹ďĽŽç¬¬1ĺĽ•ć•°ă«č¦Şć–‡ĺ­—ďĽŚ
ç¬¬2ĺĽ•ć•°ă«ă«ă“ă‚’č¨čż°ă™ă‚‹ďĽŽ
%&lt;/ja&gt;
\begin{LTXexample}[width=0.3\textwidth]
ćť±čĄżç·š\ruby{ĺ¦™ĺ…¸}{ăżă‚ă†ă§ă‚“}é§…ăŻâ€¦â€¦\\
ćť±čĄżç·šă®\ruby{ĺ¦™ĺ…¸}{ăżă‚ă†ă§ă‚“}é§…ăŻâ€¦â€¦\\
ćť±čĄżç·šă®\ruby{ĺ¦™ĺ…¸}{ăżă‚ă†ă§ă‚“}ă¨ă„ă†é§…â€¦â€¦\\
ćť±čĄżç·š\ruby{č‘›čĄż}{ă‹ă•ă„}é§…ăŻâ€¦â€¦
\end{LTXexample}
%&lt;*en&gt;
As the above example, ruby hangover is allowed on the Hiragana before/after
its base characters.
%&lt;/en&gt;
%&lt;ja&gt; ă“ă®äľ‹ă®ă‚ă†ă«ďĽŚć¨™ćş–ă§ăŻĺ‰ŤĺľŚă®ĺąłä»®ĺŤă«ă«ă“ĺ…¨č§’ăľă§ă‹ă‹ă‚‹ă‚ă†ă«ăŞăŁă¦ă„ă‚‹ďĽŽ

%&lt;*en&gt;
\item[Mono-ruby]
To attach ruby characters to each base characters (\emph{mono-ruby}),
one should use \cs{ruby} multiple times:
%&lt;/en&gt;
%&lt;*ja&gt;
 \item[ă˘ăŽă«ă“] č¦Şć–‡ĺ­—ă‚’1ć–‡ĺ­—ă«ă™ă‚‹ă¨ă˘ăŽă«ă“ă¨ăŞă‚‹ďĽŽ
2ć–‡ĺ­—ä»Ąä¸Šă®ç†źčŞžă‚’ă˘ăŽă«ă“ă®ĺ˝˘ă§çµ„ăżăźă„ĺ&nbsp;´ĺăŻďĽŚéť˘ĺ€’ă§ă‚‚
ăťă®ć•°ă&nbsp;ă‘ \cs{ruby} ă‚’ć›¸ăŹĺż…č¦ăŚă‚ă‚‹ďĽŽ
%&lt;/ja&gt;
\begin{LTXexample}[width=0.3\textwidth]
ćť±čĄżç·šă®\ruby{ĺ¦™}{ăżă‚ă†}\ruby{ĺ…¸}{ă§ă‚“}é§…ăŻâ€¦â€¦
\end{LTXexample}

%&lt;*en&gt;
 \item[Jukugo-ruby]
Vertical bar~\verb+|+ denotes a boundary of \emph{groups}.
%&lt;/en&gt;
%&lt;*ja&gt;
 \item[ç†źčŞžă«ă“] ĺĽ•ć•°ĺ†…ă®ç¸¦ćŁ’ \verb+|+ ăŻă‚°ă«ăĽă—ă®ĺŚşĺ‡ă‚Šă‚’čˇ¨ă—ďĽŚ
č¤‡ć•°ă‚°ă«ăĽă—ă®ă«ă“ăŻç†źčŞžă«ă“ă¨ă—ă¦çµ„ăľă‚Śă‚‹ďĽŽ
\cite{x4051}ă«ă‚ă‚‹ă‚ă†ă«ďĽŚ
ă©ă®ă‚°ă«ăĽă—ă§ă‚‚ă€Śč¦Şć–‡ĺ­—ă€ŤăŚĺŻľĺżśă™ă‚‹ă«ă“ä»Ąä¸Šă®é•·ă•ă®ĺ&nbsp;´ĺăŻ
ĺ„ă‚°ă«ăĽă—ă”ă¨ă«ďĽŚăťă†ă§ăŞă„ă¨ăŤăŻĺ…¨ä˝“ă‚’ăľă¨ă‚ă¦1ă¤ă®ă‚°ă«ăĽă—ă«ă“ă¨ă—ă¦çµ„ăľă‚Śă‚‹ďĽŽ
\cite{jlreq}ă§č¦Źĺ®šă•ă‚Śă¦ă„ă‚‹çµ„ăżć–ąă¨ăŻç•°ăŞă‚‹ă®ă§ćł¨ć„ŹďĽŽ
%&lt;/ja&gt;
\begin{LTXexample}
\ruby{ĺ¦™|ĺ…¸}{ăżă‚ă†|ă§ă‚“}\
\ruby{č‘›|čĄż}{ă‹|ă•ă„}\
\ruby{çĄžćĄ˝|ĺť‚}{ă‹ăă‚‰|ă–ă‹}
\end{LTXexample}
%&lt;*en&gt;
If there are multiple groups in one \cs{ruby} call,
A linebreak between two groups is allowed.
%&lt;/en&gt;
%&lt;ja&gt; č¤‡ć•°ă«ă“ă§ăŻă‚°ă«ăĽă—ă¨ă‚°ă«ăĽă—ă®é–“ă§ć”ąčˇŚăŚĺŹŻč˝ă§ă‚ă‚‹ďĽŽ
\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}

%&lt;*en&gt;
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.
%&lt;/en&gt;
%&lt;*ja&gt;
ăľăźďĽŚă«ă“ć–‡ĺ­—ă®ă»ă†ăŚč¦Şć–‡ĺ­—ă‚ă‚Šă‚‚é•·ă„ĺ&nbsp;´ĺăŻďĽŚč‡Şĺ‹•çš„ă«
čˇŚé&nbsp;­ĺ˝˘ă»čˇŚä¸­ĺ˝˘ă»čˇŚćś«ĺ˝˘ă®ă„ăšă‚Śă‹é©ĺ‡ăŞă‚‚ă®ă‚’é¸ćŠžă™ă‚‹ďĽŽ
%&lt;/ja&gt;
\begin{LTXexample}[width=0.3\textwidth]
\vbox{\hsize=8\zw\noindent
\null\kern3\zw â€¦â€¦ă‚’\ruby{ć‰ż}{ă†ă‘ăźăľă‚Ź}ă‚‹
     \kern1\zw â€¦â€¦ă‚’\ruby{ć‰ż}{ă†ă‘ăźăľă‚Ź}ă‚‹\\
\null\kern5\zw â€¦â€¦ă‚’\ruby{ć‰ż}{ă†ă‘ăźăľă‚Ź}ă‚‹
}
\end{LTXexample}


%&lt;*ja&gt;
\subsection{\Pkg{lltjext}}
\pLaTeX ă§ăŻç¸¦çµ„ç”¨ă®ć‹ˇĺĽµă¨ă—ă¦ \Pkg{plext} ă‘ăă‚±ăĽă‚¸ăŚç”¨ć„Źă•ă‚Śă¦ă„ăźăŚďĽŚ
ăťă‚Śă‚’\LuaTeX-jaç”¨ă«ć›¸ăŤăŞăŠă—ăźă‚‚ă®ăŚćś¬čż˝ĺŠ&nbsp;ă‘ăă‚±ăĽă‚¸ \Pkg{lltjext} ă§ă‚ă‚‹ďĽŽ

ĺľ“ćťĄă® \Pkg{plext} ă‘ăă‚±ăĽă‚¸ă¨ă®é•ă„ăŻďĽŚ
\begin{itemize}
 \item çµ„ć–ąĺ‘ă‚Şă—ă‚·ă§ăł \texttt{&lt;y&gt;}ďĽć¨Şçµ„ďĽ‰ďĽŚ\texttt{&lt;t&gt;}ďĽç¸¦çµ„ďĽ‰ďĽŚ
\texttt{&lt;z&gt;}\ ă®ä»–ă«\ \texttt{&lt;d&gt;}ďĽdtouć–ąĺ‘ďĽ‰ďĽŚ\texttt{&lt;u&gt;}ďĽutodć–ąĺ‘ďĽ‰ă‚’čż˝ĺŠ&nbsp;ă—ăźďĽŽ
\texttt{&lt;z&gt;} ă¨ \texttt{&lt;u&gt;} ă®é•ă„ăŻďĽŚ\texttt{&lt;z&gt;} ăŚďĽ\Pkg{plext} ă‘ăă‚±ăĽă‚¸ă¨ĺŚć§ă«ďĽ‰
ĺ‘¨ĺ›˛ă®çµ„ć–ąĺ‘ăŚç¸¦çµ„ă®ă¨ăŤă«ă—ă‹ć„Źĺ‘łă‚’ćŚăźăŞă„
  \footnote{%
    ĺ‘¨ĺ›˛ă®çµ„ć–ąĺ‘ăŚç¸¦çµ„ä»Ąĺ¤–ă®ă¨ăŤăŻďĽŚ\texttt{&lt;z&gt;} ă‚’ćŚ‡ĺ®šă—ă¦ă‚‚ä¸­čş«ă®çµ„ć–ąĺ‘ăŻĺ‘¨ĺ›˛ă®çµ„ć–ąĺ‘ă¨ĺ¤‰ă‚Źă‚‰ăŞă„ďĽŽ
  }%
ă®ă«ĺŻľă—ďĽŚ\texttt{&lt;u&gt;} ă«ăŻăťă®ă‚ă†ăŞĺ¶é™ăŚăŞă„ă“ă¨ă§ă‚ă‚‹ďĽŽ
 \item é€Łć•°ĺ­—ç”¨ĺ‘˝ä»¤ \cs{rensuji} ă«ăŠă‘ă‚‹ä˝Ťç˝®ĺă‚Źă›ă‚Şă—ă‚·ă§ăł \texttt{[l]}, \texttt{[c]},
       \texttt{[r]} ă®ćŚ™ĺ‹•ă‚’č‹Ąĺą˛ĺ¤‰ć›´ă—ăźďĽŽ
\end{itemize}

%&lt;/ja&gt;
%&lt;*en&gt;
\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.
%&lt;/en&gt;

%&lt;*ja&gt;
ĺżµă®ç‚şďĽŚćś¬ \Pkg{lltjext} ă‘ăă‚±ăĽă‚¸ă§čż˝ĺŠ&nbsp;ă»ĺ¤‰ć›´ă—ă¦ă„ă‚‹ĺ‘˝ä»¤ă®ä¸€č¦§ă‚’čĽ‰ă›ă¦ăŠăŹďĽŽ
\begin{cslist}
\item[tabular\textrm{, }array\textrm{, }minipageç’°ĺ˘]
ă“ă‚Śă‚‰ă®ç’°ĺ˘ăŻďĽŚ
\begin{lstlisting}
\begin{tabular}&lt;dir&gt;[pos]{table spec} ... \end{tabular}
\begin{array}&lt;dir&gt;[pos]{table spec}   ... \end{array}
\begin{minipage}&lt;dir&gt;[pos]{width}     ... \end{minipage}
\end{lstlisting}
ă®ă‚ă†ă«ďĽŚçµ„ć–ąĺ‘ă‚Şă—ă‚·ă§ăł \texttt{\&lt;dir\&gt;} ăŚć‹ˇĺĽµă•ă‚Śă¦ă„ă‚‹ďĽŽ
ć—˘ă«čż°ăąăźă‚ă†ă«ďĽŚçµ„ć–ąĺ‘ă‚Şă—ă‚·ă§ăłă«ćŚ‡ĺ®šă§ăŤă‚‹ĺ€¤ăŻä»Ąä¸‹ă®5ă¤ă§ă‚ă‚ŠďĽŚ
ăťă‚Śä»Ąĺ¤–ă‚’ćŚ‡ĺ®šă—ăźć™‚ă‚„ç„ˇćŚ‡ĺ®šć™‚ăŻĺ‘¨ĺ›˛ă®çµ„ć–ąĺ‘ă¨ĺŚăçµ„ć–ąĺ‘ă«ăŞă‚‹ďĽŽ
\begin{description}
 \item[y] ć¨Şçµ„(\cs{yoko})
 \item[t] ç¸¦çµ„(\cs{tate})
 \item[z] ĺ‘¨ĺ›˛ăŚç¸¦çµ„ă®ć™‚ăŻutodć–ąĺ‘ďĽŚăťă‚Śä»Ąĺ¤–ăŻăťă®ăľăľ
 \item[d] dtouć–ąĺ‘
 \item[u] utodć–ąĺ‘
\end{description}
\item[\cs{parbox}&lt;\meta{dir}&gt;{[\meta{pos}]}\{\meta{width}\}\{\meta{contents}\}]
\cs{parbox} ĺ‘˝ä»¤ă‚‚ĺŚć§ă«ďĽŚçµ„ć–ąĺ‘ă®ćŚ‡ĺ®šăŚă§ăŤă‚‹ă‚ă†ă«ć‹ˇĺĽµă•ă‚Śă¦ă„ă‚‹ďĽŽ

\item[\cs{pbox}&lt;\meta{dir}&gt;{[\meta{width}][\meta{pos}]}\{\meta{contents}\}]
çµ„ć–ąĺ‘\meta{dir}ă§\meta{contents}ă®ä¸­čş«ă‚’LRă˘ăĽă‰ă§çµ„ă‚€ĺ‘˝ä»¤ă§ă‚ă‚‹ďĽŽ
\meta{width}ăŚć­Łă®ĺ€¤ă§ă‚ă‚‹ă¨ăŤăŻďĽŚăśăă‚Żă‚ąĺ…¨ä˝“ă®ĺą…ăŚăťă®ĺ€¤ă¨ăŞă‚‹ďĽŽ
ăťă®éš›ďĽŚä¸­čş«ăŻ\meta{pos}ă®ĺ€¤ă«ĺľ“ă„ďĽŚĺ·¦ĺŻ„ă›(\texttt{l})ďĽŚĺŹłćŹă(\texttt{r})ďĽŚ
ä¸­ĺ¤®ćŹăďĽăťă‚Śä»Ąĺ¤–ďĽ‰ă•ă‚Śă‚‹ďĽŽ
\item[pictureç’°ĺ˘]
ĺ›łčˇ¨ä˝śćă«ç”¨ă„ă‚‹\texttt{picture}ç’°ĺ˘ă‚‚ďĽŚ
\begin{lstlisting}
\begin{picture}&lt;dir&gt;(x_size, y_size)(x_offset,y_offset)
  ...
\end{picture}
\end{lstlisting}
ă¨çµ„ć–ąĺ‘ăŚćŚ‡ĺ®šă§ăŤă‚‹ă‚ă†ă«ć‹ˇĺĽµă•ă‚Śă¦ă„ă‚‹ďĽŽ
$x$ćĺ†ă®ĺ˘—ĺŠ&nbsp;ć–ąĺ‘ăŻĺ­—é€ă‚Šć–ąĺ‘ďĽŚ$y$ćĺ†ă®ĺ˘—ĺŠ&nbsp;ć–ąĺ‘ăŻčˇŚé€ă‚Šć–ąĺ‘ă®\emph{ĺŹŤĺŻľć–ąĺ‘}ă¨ăŞă‚‹ďĽŽ
\Pkg{plext} ă‘ăă‚±ăĽă‚¸ă¨ĺŚć§ă«
ĺ†…é¨ă§ăŻă™ăĽă‚ąă©ă‚¤ăłčŁść­ŁďĽ\Param{yalbaselineshift}ă‘ă©ăˇăĽă‚żăŞă©ďĽ‰ă®ĺ˝±éźżă‚’ĺŹ—ă‘ăŞă„ă‚ă†ă«ďĽŚ
\cs{put},~\cs{line}, \cs{vector}, \cs{dashbox}, \cs{oval},~\cs{circle}ă‚‚
ă™ăĽă‚ąă©ă‚¤ăłčŁść­Łă‚’ĺŹ—ă‘ăŞă„ă‚ă†ă«ĺ†Ťĺ®šçľ©ă•ă‚Śă¦ă„ă‚‹ďĽŽ

\item[\cs{rensuji}{[\meta{pos}]}\{\meta{contents}\}\textrm{, }\cs{rensujiskip}]

\item[\cs{Kanji}\{\meta{counter\_name}\}]

\item[\cs{kasen}\{\meta{contents}\}\textrm{, }\cs{bou}\{\meta{contents}\}\textrm{,
		     }\cs{boutenchar}]

\item[ĺŹ‚ç…§ç•ŞĺŹ·]
\end{cslist}
%&lt;/ja&gt;
%&lt;*en&gt;
\begin{cslist}
\item[tabular\textrm{, }array\textrm{, }minipage\textrm{ environments}]
These environments are extended by \texttt{\&lt;dir\&gt;}, which specifies the direction,
as follows:
\begin{lstlisting}
\begin{tabular}&lt;dir&gt;[pos]{table spec} ... \end{tabular}
\begin{array}&lt;dir&gt;[pos]{table spec}   ... \end{array}
\begin{minipage}&lt;dir&gt;[pos]{width}     ... \end{minipage}
\end{lstlisting}
This option permits one of the following five values. If none of them is specified,
the direction inside the environment is same as that outside the enviromnent.
\begin{description}
 \item[y] \emph{yoko} direction (horizontal writing)
 \item[t] \emph{tate} direction (vertical writing)
 \item[z] \emph{utod} direction if direction outside the env.\ is \emph{tate}.
 \item[d] \emph{dtou} direction
 \item[u] \emph{utod} direction
\end{description}
\item[\cs{parbox}&lt;\meta{dir}&gt;{[\meta{pos}]}\{\meta{width}\}\{\meta{contents}\}]
\cs{parbox} command is also extended by \texttt{&lt;\meta{dir}&gt;}.

\item[\cs{pbox}&lt;\meta{dir}&gt;{[\meta{width}][\meta{pos}]}\{\meta{contents}\}]
This commands typeset \meta{contents} in LR-mode, in \meta{dir} direction.
If \meta{width} is positive, the width of the box becomes this \meta{width}.
In this case, \meta{contents} will be aligned to left (when \meta{pos} is \texttt{l}),
center (\texttt{c}), or~right (\texttt{r}).
  
\item[picture\textrm{\ environment}]
\texttt{picture} environment also extended by \texttt{&lt;\meta{dir}&gt;}, as follows:
\begin{lstlisting}
\begin{picture}&lt;dir&gt;(x_size, y_size)(x_offset,y_offset)
  ...
\end{picture}
\end{lstlisting}

\item[\cs{rensuji}{[\meta{pos}]}\{\meta{contents}\}\textrm{, }\cs{rensujiskip}]

\item[\cs{Kanji}\{\meta{counter\_name}\}]

\item[\cs{kasen}\{\meta{contents}\}\textrm{, }\cs{bou}\{\meta{contents}\}\textrm{,
		     }\cs{boutenchar}]

\item[ĺŹ‚ç…§ç•ŞĺŹ·]
\end{cslist}
%&lt;/en&gt;

%&lt;*ja&gt;
\paragraph{čˇ¨çµ„ä»–ă®ćŹăä˝Ťç˝®}
čˇ¨çµ„ďĽ\texttt{array}, \texttt{tabular}ç’°ĺ˘ďĽ‰ďĽŚ\cs{parbox}ĺ‘˝ä»¤ďĽŚ\cs{minipage}ç’°ĺ˘ă®
ćŹăä˝Ťç˝®ă«ă¤ă„ă¦ăŻ\autoref{tab:lltjext_dir}ă‚’ĺŹ‚ç…§ďĽŽ\pLaTeX~2017-07-29ă¨
ă§ăŤă‚‹ă&nbsp;ă‘ĺŚăćŚ™ĺ‹•ă«ăŞă‚‹ă‚ă†ă«ă—ă¦ă„ă‚‹ďĽŽ\autoref{tab:lltjext_dir}ä¸­ă®A--Dă®ć„Źĺ‘łăŻć¬ˇă®é€šă‚ŠďĽŽ

\begin{table}
  \caption{\Pkg{lltjext}ă‘ăă‚±ăĽă‚¸ă«ăŠă‘ă‚‹čˇ¨çµ„ă»\cs{parbox}ĺ‘˝ä»¤ä»–ă®ćŹăä˝Ťç˝®}
  \label{tab:lltjext_dir}
  {\centering
    \begin{tabular}{lcccc}
      \toprule
      â†“ä¸­čş«ďĽĽĺ‘¨ĺ›˛â†’&amp;\cs{yoko}&amp;\cs{tate}&amp;\cs{utod}&amp;\cs{dtou}\\
      \midrule
      \cs{yoko}&amp;A&amp;B&amp;B&amp;B\\
      \cs{tate}&amp;B&amp;A&amp;D&amp;C\\
      \cs{utod}&amp;B&amp;D&amp;A&amp;C\\
      \cs{dtou}&amp;B&amp;C&amp;C&amp;A\\
      \bottomrule
    \end{tabular}\par}
\end{table}

\begin{description}
 \item[A] ĺ‘¨ĺ›˛ă®çµ„ć–ąĺ‘ă¨ä¸­čş«ă®çµ„ć–ąĺ‘ăŚĺŚăĺ&nbsp;´ĺďĽŽ
  \begin{itemize}
   \item \texttt{[t]}ćŚ‡ĺ®šă®ă¨ăŤďĽš
    ä¸­čş«ă®ĺ…é&nbsp;­čˇŚă®ă™ăĽă‚ąă©ă‚¤ăłăŚĺ‘¨ĺ›˛ă®ă™ăĽă‚ąă©ă‚¤ăłă¨ä¸€č‡´ă™ă‚‹ďĽŽ
    čˇ¨çµ„ă§ĺ…é&nbsp;­čˇŚă®ä¸Šă«ç˝«ç·šăŚă‚ăŁăźĺ&nbsp;´ĺăŻďĽŚăťă‚ŚăŚă™ăĽă‚ąă©ă‚¤ăłă®ä˝Ťç˝®
    \footnote{\LuaTeX-jaă§ăŻĺ’Ść–‡ĺ´ă®ă™ăĽă‚ąă©ă‚¤ăłă®ä˝Ťç˝®ă‚‚ä¸Šä¸‹ç§»ĺ‹•ă§ăŤă‚‹ă“ă¨ă«ćł¨ć„ŹďĽŽ
      ăťă®ăźă‚ă€Śĺ’Ść–‡ă™ăĽă‚ąă©ă‚¤ăłă€Ťă®ä˝Ťç˝®ă«ćťĄă‚‹ă¨ăŻé™ă‚‰ăŞă„ďĽŽ}ă¨ăŞă‚‹ďĽŽ
   \item \texttt{[c]}ćŚ‡ĺ®šă®ă¨ăŤďĽš
    ä¸­čş«ă®ä¸Šä¸‹ă®ä¸­ĺżăŚĺ‘¨ĺ›˛ă®ć•°ĺĽŹă®č»¸ă‚’é€šă‚‹ďĽŽ
   \item \texttt{[b]}ćŚ‡ĺ®šă®ă¨ăŤďĽš
    ä¸­čş«ă®ćś€çµ‚čˇŚă®ă™ăĽă‚ąă©ă‚¤ăłăŚĺ‘¨ĺ›˛ă®ă™ăĽă‚ąă©ă‚¤ăłă¨ä¸€č‡´ă™ă‚‹ďĽŽ
    čˇ¨çµ„ă§ćś€çµ‚čˇŚă®ä¸‹ă«ç˝«ç·šăŚă‚ăŁăźĺ&nbsp;´ĺăŻďĽŚăťă‚ŚăŚă™ăĽă‚ąă©ă‚¤ăłă®ä˝Ťç˝®ă¨ăŞă‚‹ďĽŽ
  \end{itemize}
 \item[B] ĺ‘¨ĺ›˛ă®çµ„ć–ąĺ‘ă¨ä¸­čş«ă®çµ„ć–ąĺ‘ăŚ90ĺş¦ăšă‚Śă¦ă„ă‚‹ĺ&nbsp;´ĺďĽŽ
  \begin{itemize}
   \item \texttt{[t]}ćŚ‡ĺ®šă®ă¨ăŤďĽš
    čˇ¨çµ„ă«ăŠă„ă¦ăŻďĽŚä¸Šç«ŻăŚĺ‘¨ĺ›˛ă®ă™ăĽă‚ąă©ă‚¤ăłă¨ä¸€č‡´ă™ă‚‹ďĽŽ
    \cs{parbox}ă‚„\cs{minipage}ç’°ĺ˘ă«ăŠă„ă¦ăŻďĽŚä¸Šç«ŻăŚĺ‘¨ĺ›˛ă®ĺ’Ść–‡ć–‡ĺ­—ă®ä¸Šç«Żă¨ä¸€č‡´ă™ă‚‹ďĽŽ
   \item \texttt{[c]}ćŚ‡ĺ®šă®ă¨ăŤďĽš
    ä¸­čş«ă®ä¸Šä¸‹ă®ä¸­ĺżăŚĺ‘¨ĺ›˛ă®ć•°ĺĽŹă®č»¸ă‚’é€šă‚‹ďĽŽ
   \item \texttt{[b]}ćŚ‡ĺ®šă®ă¨ăŤďĽš
    čˇ¨çµ„ă«ăŠă„ă¦ăŻďĽŚä¸‹ç«ŻăŚĺ‘¨ĺ›˛ă®ă™ăĽă‚ąă©ă‚¤ăłă¨ä¸€č‡´ă™ă‚‹ďĽŽ
    \cs{parbox}ă‚„\cs{minipage}ç’°ĺ˘ă«ăŠă„ă¦ăŻďĽŚä¸‹ç«ŻăŚĺ‘¨ĺ›˛ă®ĺ’Ść–‡ć–‡ĺ­—ă®ä¸‹ç«Żă¨ä¸€č‡´ă™ă‚‹ďĽŽ
  \end{itemize}
 \item[C] ĺ‘¨ĺ›˛ă®çµ„ć–ąĺ‘ă¨ä¸­čş«ă®çµ„ć–ąĺ‘ăŚ180ĺş¦ăšă‚Śă¦ă„ă‚‹ĺ&nbsp;´ĺďĽŽ
  \cs{parbox}ă‚„\cs{minipage}ç’°ĺ˘ă«ăŠă„ă¦ăŻďĽŚä¸Šă®Bă®ĺ&nbsp;´ĺă¨ĺŚăćŚ™ĺ‹•ă§ă‚ă‚‹ďĽŽčˇ¨çµ„ă«ăŠă„ă¦ăŻďĽŚ
  Aă§\texttt{[t]}ă¨\texttt{[b]}ă‚’ĺ…Ąă‚Ść›żăăź
  \begin{itemize}
   \item \texttt{[t]}ćŚ‡ĺ®šă®ă¨ăŤďĽš
    ä¸­čş«ă®ćś€çµ‚čˇŚă®ă™ăĽă‚ąă©ă‚¤ăłăŚĺ‘¨ĺ›˛ă®ă™ăĽă‚ąă©ă‚¤ăłă¨ä¸€č‡´ă™ă‚‹ďĽŽ
    ćś€çµ‚čˇŚă®ä¸‹ă«ç˝«ç·šăŚă‚ăŁăźĺ&nbsp;´ĺăŻďĽŚăťă‚ŚăŚă™ăĽă‚ąă©ă‚¤ăłă®ä˝Ťç˝®ă¨ăŞă‚‹ďĽŽ
   \item \texttt{[c]}ćŚ‡ĺ®šă®ă¨ăŤďĽš
    ä¸­čş«ă®ä¸Šä¸‹ă®ä¸­ĺżăŚĺ‘¨ĺ›˛ă®ć•°ĺĽŹă®č»¸ă‚’é€šă‚‹ďĽŽ
   \item \texttt{[b]}ćŚ‡ĺ®šă®ă¨ăŤďĽš
    ä¸­čş«ă®ĺ…é&nbsp;­čˇŚă®ă™ăĽă‚ąă©ă‚¤ăłăŚĺ‘¨ĺ›˛ă®ă™ăĽă‚ąă©ă‚¤ăłă¨ä¸€č‡´ă™ă‚‹ďĽŽ
    čˇ¨çµ„ă§ĺ…é&nbsp;­čˇŚă®ä¸Šă«ç˝«ç·šăŚă‚ăŁăźĺ&nbsp;´ĺăŻďĽŚăťă‚ŚăŚă™ăĽă‚ąă©ă‚¤ăłă®ä˝Ťç˝®ă¨ăŞă‚‹ďĽŽ
  \end{itemize}
 \item[D] é€šĺ¸¸ă®ç¸¦çµ„(\cs{tate})ă¨ă€Śç¸¦ć•°ĺĽŹă‡ă‚Łă¬ă‚Żă‚·ă§ăłă€Ťă«ç›¸ĺ˝“ă™ă‚‹\cs{utod}ć–ąĺ‘ăŚçµˇă‚“ă&nbsp;ĺ&nbsp;´ĺďĽŽ
  \cs{parbox}ă‚„\cs{minipage}ç’°ĺ˘ă«ăŠă„ă¦ăŻďĽŚä¸Šă®Bă®ĺ&nbsp;´ĺă¨ĺŚăćŚ™ĺ‹•ă§ă‚ă‚‹ďĽŽčˇ¨çµ„ă«ăŠă„ă¦ăŻďĽŚ
  \begin{itemize}
   \item \texttt{[t]}ćŚ‡ĺ®šă®ă¨ăŤďĽš
    ä¸­čş«ă®ĺ…é&nbsp;­čˇŚă®ć¬§ć–‡ă™ăĽă‚ąă©ă‚¤ăłăŚĺ‘¨ĺ›˛ă®ć¬§ć–‡ă™ăĽă‚ąă©ă‚¤ăłă¨ä¸€č‡´ă™ă‚‹ďĽŽ
   \item \texttt{[c]}ćŚ‡ĺ®šă®ă¨ăŤďĽš
    ä¸­čş«ă®ä¸Šä¸‹ă®ä¸­ĺżăŚĺ‘¨ĺ›˛ă®ć•°ĺĽŹă®č»¸ă‚’é€šă‚‹ďĽŽ
   \item \texttt{[b]}ćŚ‡ĺ®šă®ă¨ăŤďĽš
    ä¸­čş«ă®ćś€çµ‚čˇŚă®ć¬§ć–‡ă™ăĽă‚ąă©ă‚¤ăłăŚĺ‘¨ĺ›˛ă®ć¬§ć–‡ă™ăĽă‚ąă©ă‚¤ăłă¨ä¸€č‡´ă™ă‚‹ďĽŽ
  \end{itemize}
\end{description}
%&lt;/ja&gt;

\subsection{\Pkg{luatexja-preset}}
\label{ssec:preset}

%&lt;*en&gt;
As described in Subsection~\ref{ssec:preset-abst},
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 (changing fonts)
and a part of \Pkg{PXchfon} package (presets) by Takayuki Yato.

Options which are given in \cs{usepackage} but not described in this~subsection
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 equivalent to lines 1--3.
%&lt;/en&gt;
%&lt;*ja&gt;
\ref{ssec:preset-abst}çŻ€ă§čż°ăąăźă‚ă†ă«ďĽŚă‚ăŹä˝żă‚Źă‚Śă¦ă„ă‚‹ĺ’Ść–‡ă•ă‚©ăłăč¨­ĺ®šă‚’ä¸€čˇŚă§ćŚ‡ĺ®šă§ăŤă‚‹ă‚ă†ă«ă—ăźă®ăŚ
\Pkg{luatexja-preset}ă‘ăă‚±ăĽă‚¸ă§ă‚ă‚‹ďĽŽă“ă®ă‘ăă‚±ăĽă‚¸ăŻďĽŚ
\Pkg{otf}ă‘ăă‚±ăĽă‚¸ă®ä¸€é¨ďĽĺ¤šć›¸ä˝“ĺŚ–ďĽ‰ă¨ĺ…«ç™»ĺ´‡äą‹ć°Źă«ă‚ă‚‹\Pkg{PXchfon}ă‘ăă‚±ăĽă‚¸ă®ä¸€é¨ďĽă—ăŞă‚»ăăćŚ‡ĺ®šďĽ‰
ă¨ă‚’ĺă‚Źă›ăźă‚ă†ăŞć&nbsp;ĽĺĄ˝ă‚’ă—ă¦ă„ă‚‹ďĽŽ

ă‘ăă‚±ăĽă‚¸čŞ­ăżčľĽăżć™‚ă«ć¸ˇă•ă‚Śăźă‚Şă—ă‚·ă§ăłă®ă†ăˇďĽŚ
ćś¬çŻ€ă«ăŞă„ă‚‚ă®ă‚’ćŚ‡ĺ®šă—ăźĺ&nbsp;´ĺďĽŚăťă‚Śă‚‰ăŻăťă®ăľăľ
\Pkg{luatexja-fontspec}ă‘ăă‚±ăĽă‚¸ă«ć¸ˇă•ă‚Śă‚‹\footnote{\texttt{nfssonly} ă‚Şă—ă‚·ă§ăłăŚ
ćŚ‡ĺ®šă•ă‚Śă¦ă„ăźĺ&nbsp;´ĺăŻďĽŚ\Pkg{luatexja-fontspec}ă‘ăă‚±ăĽă‚¸ăŻčŞ­ăżčľĽăľă‚ŚăŞă„ă®ă§ĺŤç´”ă«ç„ˇč¦–ă•ă‚Ś
ă‚‹ďĽŽ}ďĽŽäľ‹ăă°ďĽŚä¸‹ă®1--3čˇŚç›®ăŻ5čˇŚç›®ă®ă‚ă†ă«ä¸€čˇŚă«ăľă¨ă‚ă‚‹ă“ă¨ăŚă§ăŤă‚‹ďĽŽ
%&lt;/ja&gt;
\begin{lstlisting}
\usepackage[no-math]{fontspec}
\usepackage[match]{luatexja-fontspec}
\usepackage[kozuka-pr6n]{luatexja-preset}
%%--------
\usepackage[no-math,match,kozuka-pr6n]{luatexja-preset}
\end{lstlisting}

%&lt;en&gt;\subsubsection{General Options}
%&lt;ja&gt;\subsubsection{ä¸€č¬çš„ăŞă‚Şă—ă‚·ă§ăł}
\label{sssec:ltjpreset-general}

\begin{cslist}[before*=]
\item[fontspec%
%&lt;en&gt;\textrm{~(enabled by default)}
%&lt;ja&gt;\emph{\gtfamily ďĽć—˘ĺ®šďĽ‰}
]
%&lt;*en&gt;
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.

If you need to pass some options to \Pkg{fontspec}, you can load \Pkg{fontspec} manually
before \Pkg{luatexja-preset}:
%&lt;/en&gt;
%&lt;*ja&gt;
\Pkg{luatexja-fontspec}ă‘ăă‚±ăĽă‚¸ă®ć©źč˝ă‚’ç”¨ă„ă¦ĺ’Ść–‡ă•ă‚©ăłăă‚’é¸ćŠžă™ă‚‹ďĽŽ
ă“ă‚ŚăŻďĽŚ\Pkg{fontspec}ă‘ăă‚±ăĽă‚¸ăŚč‡Şĺ‹•ă§čŞ­ăżčľĽăľă‚Śă‚‹ă“ă¨ă‚’ć„Źĺ‘łă™ă‚‹ďĽŽ

ă‚‚ă—\Pkg{fontspec}ă‘ăă‚±ăĽă‚¸ă«ä˝•ă‚‰ă‹ă®ă‚Şă—ă‚·ă§ăłă‚’ć¸ˇă™ĺż…č¦ăŚă‚ă‚‹
\footnote{äľ‹ăă°ďĽŚć•°ĺĽŹă•ă‚©ăłăăľă§ç˝®ćŹ›ă•ă‚Śă¦ă—ăľă„ďĽŚ\cs{mathit}ă«ă‚ăŁă¦ă‚®ăŞă‚·ăŁć–‡ĺ­—ă®
ć–śä˝“ĺ¤§ć–‡ĺ­—ăŚĺ‡şăŞăŹăŞă‚‹ďĽŚăŞă©ďĽŽ}ĺ&nbsp;´ĺăŻďĽŚ
ć¬ˇă®ă‚ă†ă«\Pkg{luatexja-preset}ă®ĺ‰Ťă«\Pkg{fontspec}ă‚’ć‰‹ĺ‹•ă§čŞ­ăżă“ă‚ă°č‰Żă„ďĽš
%&lt;/ja&gt;
\begin{lstlisting}
\usepackage[no-math]{fontspec}
\usepackage[...]{luatexja-preset}
\end{lstlisting}

\item[nfssonly]
%&lt;*en&gt;
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.
%&lt;/en&gt;
%&lt;*ja&gt;
\LaTeX ć¨™ćş–ă®ă•ă‚©ăłăé¸ćŠžć©źć§‹(NFSS2)ă‚’ç”¨ă„ă¦
\texttt{ltjpm}$n$ďĽćŽćśťďĽ‰ďĽŚ\texttt{ltjpg}$n$ďĽă‚´ă‚·ăă‚ŻďĽ‰ďĽŚ
ăťă‚Śă«ĺľŚă«čż°ăąă‚‹\texttt{deluxe}ă‚Şă—ă‚·ă§ăłăŚćŚ‡ĺ®šă•ă‚Śăźĺ&nbsp;´ĺă«ăŻ
\texttt{ltjpmg}$n$ďĽä¸¸ă‚´ă‚·ăă‚ŻďĽ‰ă¨ă„ă†
ĺ’Ść–‡ă•ă‚©ăłăă•ă‚ˇăźăŞă‚’ĺ®šçľ©%
\footnote{%
  $n$ăŻč‡Şç„¶ć•°ă§ă‚ă‚ŠďĽŚ\cs{ltjapplypreset}ă®ĺ®źčˇŚďĽă“ă®ĺ‘˝ä»¤ăŻ\Pkg{luatexja-preset}ă‘ăă‚±ăĽă‚¸
  čŞ­ăżčľĽăżć™‚ă«č‡Şĺ‹•çš„ă«ĺ®źčˇŚă•ă‚Śă‚‹ďĽ‰ă”ă¨ă«ĺ˘—ĺŠ&nbsp;ă—ă¦ă„ăŹďĽŽ
}ă—ďĽŚă“ă‚Śă‚‰ă‚’ç”¨ă„ă‚‹ďĽŽ

ćś¬ă‚Şă—ă‚·ă§ăłćŚ‡ĺ®šć™‚ă«ăŻ\Pkg{fontspec}ă»\Pkg{luatexja-fontspec}ă‘ăă‚±ăĽă‚¸ăŻ
č‡Şĺ‹•ă§ăŻčŞ­ăżčľĽăľă‚ŚăŞă„ďĽŚă—ă‹ă—ďĽŚ
\begin{lstlisting}
\usepackage{fontspec}
\usepackage[hiragino-pron,nfssonly]{luatexja-preset}
\end{lstlisting}
ă®ă‚ă†ă«ă™ă‚Śă°ďĽŚă“ă®ă‚Şă—ă‚·ă§ăłă‚’ćŚ‡ĺ®šă™ă‚Śă°
ć¬§ć–‡ă•ă‚©ăłăă‚’\Pkg{fontspec}ă‘ăă‚±ăĽă‚¸ă®ć©źč˝ă‚’ä˝żăŁă¦ćŚ‡ĺ®šă™ă‚‹ă“ă¨ăŚă§ăŤă‚‹ďĽŽ

ä¸€ć–ąďĽŚ\Pkg{luatexja-preset}ă‘ăă‚±ăĽă‚¸čŞ­ăżčľĽăżć™‚ă«
ć—˘ă«\Pkg{luatexja-fontspec}ă‘ăă‚±ăĽă‚¸ăŚčŞ­ăżčľĽăľă‚Śă¦ă„ă‚‹ĺ&nbsp;´ĺăŻ
\texttt{nfssonly}ă‚Şă—ă‚·ă§ăłăŻç„ˇč¦–ă•ă‚Śă‚‹ďĽŽ
%&lt;/ja&gt;

\item[match]
%&lt;*en&gt;
If this option is specified, usual family-changing commands such as
\cs{rmfamily},~\cs{textrm}, \cs{sffamily},~\dots\ also change Japanese font family.
This option is passed to \Pkg{luatexja-fontspec}, if \texttt{fontspec}
option is specifed.
%&lt;/en&gt;

%&lt;*ja&gt;
ă“ă®ă‚Şă—ă‚·ă§ăłăŚćŚ‡ĺ®šă•ă‚Śă‚‹ă¨ďĽŚă€Ś\pLaTeXe ć–°ă‰ă‚­ăĄăˇăłăă‚Żă©ă‚ąă€Ťă®ă‚ă†ă«\
\cs{rmfamily}, \verb+\textrm{...}+, \cs{sffamily} ç­‰ăŚ
ć¬§ć–‡ă•ă‚©ăłăă&nbsp;ă‘ă§ăŞăŹĺ’Ść–‡ă•ă‚©ăłăă‚‚ĺ¤‰ć›´ă™ă‚‹ă‚ă†ă«ăŞă‚‹ďĽŽ
\ \texttt{fontspec}\
ă‚Şă—ă‚·ă§ăłăŚćś‰ĺŠąă«ăŞăŁă¦ă„ă‚‹ĺ&nbsp;´ĺăŻďĽŚă“ă®ă‚Şă—ă‚·ă§ăłăŻ \Pkg{luatexja-fontspec} ă‘ăă‚±ăĽă‚¸ă¸ă¨ć¸ˇă•ă‚Śă‚‹ďĽŽ
%&lt;/ja&gt;


\item[nodeluxe%
%&lt;en&gt;\textrm{~(enabled by default)}
%&lt;ja&gt;\emph{\gtfamily ďĽć—˘ĺ®šďĽ‰}
]
%&lt;*en&gt;
The nagation of \texttt{deluxe} option.
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.
%&lt;/en&gt;
%&lt;*ja&gt;
\texttt{deluxe}ă‚Şă—ă‚·ă§ăłă®ĺ¦ĺ®šďĽŽ
\LaTeXe ç’°ĺ˘ä¸‹ă®ć¨™ćş–č¨­ĺ®šă®ă‚ă†ă«ďĽŚćŽćśťä˝“ă»ă‚´ă‚·ăă‚Żä˝“ă‚’ĺ„1ă‚¦ă‚§ă‚¤ăă§ä˝żç”¨ă™ă‚‹ďĽŽ
ă‚ă‚Šĺ…·ä˝“çš„ă«č¨€ă†ă¨ďĽŚă“ă®č¨­ĺ®šă®ä¸‹ă§ăŻ
\ \verb+\mcfamily\bfseries+, \verb+\gtfamily\bfseries+,
\verb+\gtfamily\mdseries+ăŻăżăŞĺŚăă•ă‚©ăłăă¨ăŞă‚‹ďĽŽ
%&lt;/ja&gt;
\item[deluxe]
%&lt;*en&gt;
Use the mincho family with three weights (light, medium, and~bold),
the gothic family with three weights (medium, bold, and extra~bold), and \textit{rounded gothic}%
\footnote{Provided by \cs{mgfamily} and \cs{textmg},
because ``rounded gothic'' is called \textit{maru gothic} (ä¸¸ă‚´ă‚·ăă‚Ż) in Japanese.}.
Mincho light and gothic extra~bold can be by
\cs{mcfamily}\cs{ltseries}~and~\cs{gtfamily}\cs{ebseries}, respectively.

\begin{itemize}
 \item Some presets do not have the light weight of mincho.
  In this case, we substitute the medium weight for the light weight.
 \item \Pkg{luatexja-preset} does not produce an error (only produces a warning), even if
  (one of) fonts for \cs{mcfamily}\cs{ltseries}, \cs{gtfamily}\cs{ebseries}, \cs{mgfamily}
  do not exist.
\end{itemize}
%&lt;/en&gt;
%&lt;*ja&gt;
ćŽćśťä˝“ă»ă‚´ă‚·ăă‚Żä˝“ĺ„3ă‚¦ă‚§ă‚¤ăă¨ďĽŚ
ä¸¸ă‚´ă‚·ăă‚Żä˝“ (\cs{mgfamily}, \verb+\textmg{...}+) ă‚’ĺ©ç”¨ĺŹŻč˝ă«ă™ă‚‹ďĽŽ
ćŽćśťä˝“ăŻç´°ĺ­—ă»ä¸­ĺ­—ă»ĺ¤Şĺ­—ă®3ă‚¦ă‚§ă‚¤ăăŚă‚ă‚ŠďĽŚ
ćŽćśťä˝“ă®ç´°ĺ­—ăŻ \cs{mcfamily}\cs{ltseries} ă§ĺ©ç”¨ă§ăŤă‚‹ďĽŽ
ăľăźďĽŚă‚´ă‚·ăă‚Żä˝“ăŻä¸­ĺ­—ă»ĺ¤Şĺ­—ă»ćĄµĺ¤Şă®3ă‚¦ă‚§ă‚¤ăăŚă‚ă‚ŠďĽŚ
ă‚´ă‚·ăă‚Żä˝“ă®ćĄµĺ¤ŞăŻ \cs{gtfamily}\cs{ebseries} ă§ĺ©ç”¨ă§ăŤă‚‹%
\footnote{éŽĺŽ»ă¨ă®äş’ćŹ›ć€§ă®ăźă‚ďĽŚ\cs{gtebfamily}, \cs{textgteb\{...\}} ă‚‚
 äľťç„¶ă¨ă—ă¦ĺ©ç”¨ĺŹŻč˝ă§ă‚ă‚‹ďĽŽ}ďĽŽ

\begin{itemize}
  \item ă—ăŞă‚»ăăč¨­ĺ®šă«ă‚ăŁă¦ăŻćŽćśťä˝“ç´°ĺ­—ăŚç”¨ć„Źă•ă‚Śă¦ă„ăŞă„ă‚‚ă®ă‚‚ă‚ă‚‹ďĽŽăťă®ĺ&nbsp;´ĺăŻ
  ćŽćśťä˝“ä¸­ĺ­—ăŚä»Łç”¨ă•ă‚Śă‚‹ďĽŽ
  \item ćŽćśťä˝“ç´°ĺ­—ďĽŚă‚´ă‚·ăă‚Żä˝“ćĄµĺ¤ŞďĽŚä¸¸ă‚´ă‚·ăă‚Żä˝“ă®3ă•ă‚©ăłăă«ă¤ă„ă¦ăŻ
  ĺ®źéš›ă«ă•ă‚©ăłăă‚’ă­ăĽă‰ă™ă‚‹ĺ‰Ťă«ĺ­ĺś¨ă™ă‚‹ă‹ăă‚§ăă‚Żă‚’čˇŚă†ďĽŽ
  ĺ­ĺś¨ă—ăŞă‹ăŁăźă‚‚ă®ă«ă¤ă„ă¦ăŻč­¦ĺ‘Šă‚’ç™şă—ďĽŚ
  ăťă‚Śăžă‚ŚćŽćśťä˝“ä¸­ĺ­—ďĽŽă‚´ă‚·ăă‚Żä˝“ĺ¤Şĺ­—ďĽŚă‚´ă‚·ăă‚Żä˝“ĺ¤Şĺ­—ă§ä»Łç”¨ă™ă‚‹ďĽŽ
\end{itemize}
%&lt;/ja&gt;
\item[expert]
%&lt;*en&gt;
Use horizontal/vertical kana alternates, and define a command \cs{rubyfamily} to use kana
characters designed for ruby.
%&lt;/en&gt;
%&lt;*ja&gt;
ć¨Şçµ„ă»ç¸¦çµ„ĺ°‚ç”¨ä»®ĺŤă‚’ç”¨ă„ă‚‹ďĽŽăľăźďĽŚ\cs{rubyfamily} ă§ă«ă“ç”¨ä»®ĺŤăŚä˝żç”¨ĺŹŻč˝ă¨ăŞă‚‹\footnote{%
  \cs{rubyfamily}ă¨ăŻă„ă„ă¤ă¤ďĽŚĺ®źéš›ă«ăŻă•ă‚©ăłăă•ă‚ˇăźăŞă‚’ĺ‡ă‚Šć›żăă‚‹ă®ă§ăŻăŞă„ďĽé€šĺ¸¸ă§ăŻ
  OpenTypeć©źč˝ă®ćś‰ĺŠąĺŚ–ă§ă‚ă‚ŠďĽŚ\texttt{nfssonly} ćŚ‡ĺ®šć™‚ă«ăŻă‚·ă‚§ă‚¤ă—ă‚’ \texttt{rb} ă«ĺ‡ă‚Šć›żăă‚‹ďĽ‰ďĽŽ
}ďĽŽ
%&lt;/ja&gt;
\item[bold]
%&lt;*en&gt;
Substitute bold series of gothic for medium series of gothic and bold series of mincho.
If \texttt{nodeluxe} option is enabled, medium series of gothic is also changed,
since we use same font for both series of gothic.
%&lt;/en&gt;
%&lt;*ja&gt;
\texttt{nodeluxe}ă‚Şă—ă‚·ă§ăłćŚ‡ĺ®šć™‚ă«ăŻďĽŚă€ŚćŽćśťă®ĺ¤Şĺ­—ă€Ťă‚’ă‚´ă‚·ăă‚Żä˝“ă¨ĺŚăă•ă‚©ăłăă«ă™ă‚‹ďĽŽ
\texttt{deluxe}ă‚Şă—ă‚·ă§ăłćŚ‡ĺ®šć™‚ă«ăŻďĽŚă€ŚćŽćśťă®ĺ¤Şĺ­—ă€Ťă€Śă‚´ă‚·ăă‚Żä˝“ă®ä¸­ĺ­—ă€Ťă‚’ă‚´ă‚·ăă‚Żä˝“ă®ĺ¤Şĺ­—ă¨ĺŚăă•ă‚©ăłăă«ă™ă‚‹ďĽŽ
%&lt;/ja&gt;
\item[jis90\textrm{,~}90jis]
%&lt;en&gt;Use JIS~X~0208:1990 glyph variants if possible.
%&lt;ja&gt;ĺ‡şćťĄă‚‹é™ă‚ŠJIS~X~0208:1990ă®ĺ­—ĺ˝˘ă‚’ä˝żă†ďĽŽ
\item[jis2004\textrm{,~}2004jis]
%&lt;en&gt;Use JIS~X~0213:2004 glyph variants if possible.
%&lt;ja&gt;ĺ‡şćťĄă‚‹é™ă‚ŠJIS~X~0213:2004ă®ĺ­—ĺ˝˘ă‚’ä˝żă†ďĽŽ
\item[jfm\_yoko=\meta{jfm}]
%&lt;*en&gt;
Use the JFM \texttt{jfm-\meta{jfm}.lua} for horizontal direction, instead of \texttt{jfm-ujis.lua}~(default JFM).
%&lt;/en&gt;
%&lt;*ja&gt;
ć¨Şçµ„ç”¨ĺ’Ść–‡ă•ă‚©ăłăă§ç”¨ă„ă‚‹JFMă‚’\texttt{jfm-\meta{jfm}.lua}ă«ă™ă‚‹ďĽŽă“ă®ă‚Şă—ă‚·ă§ăłăŚăŞă„ć™‚ăŻ
\LuaTeX\nobreakdash -jać¨™ćş–ă®\texttt{jfm-ujis.lua}ăŚç”¨ă„ă‚‰ă‚Śă‚‹ďĽŽ
%&lt;/ja&gt;
\item[jfm\_tate=\meta{jfm}]
%&lt;*en&gt;
Use the JFM \texttt{jfm-\meta{jfm}.lua} for vertical direction, instead of \texttt{jfm-ujisv.lua}~(default JFM).
%&lt;/en&gt;
%&lt;*ja&gt;
ç¸¦ç”¨ĺ’Ść–‡ă•ă‚©ăłăă§ç”¨ă„ă‚‹JFMă‚’\texttt{jfm-\meta{jfm}.lua}ă«ă™ă‚‹ďĽŽă“ă®ă‚Şă—ă‚·ă§ăłăŚăŞă„ć™‚ăŻ
\LuaTeX-jać¨™ćş–ă®\texttt{jfm-ujisv.lua}ăŚç”¨ă„ă‚‰ă‚Śă‚‹ďĽŽ
%&lt;/ja&gt;

\item[jis]
%&lt;en&gt;Same as \texttt{jfm\_yoko=jis}.
%&lt;ja&gt;\texttt{jfm\_yoko=jis}ă¨ĺŚăďĽŽă“ă“ă§ç”¨ă„ă‚‹JFM~\texttt{jfm-jis.lua}ăŻJISă•ă‚©ăłăăˇăăŞăă‚Żă‚’ĺ…ă«ă—ăźă‚‚ă®ă§ă‚ă‚‹ďĽŽ

\end{cslist}
%&lt;*en&gt;
Note that \texttt{jis90},~\texttt{90jis}, \texttt{jis2004}~and~\texttt{2004jis} only affect with mincho,
gothic (and, possibly rounded gothic) families defined by this package.
We didn't taken account of when more than one options among them are specified.
%&lt;/en&gt;
%&lt;*ja&gt;
\texttt{jis90},~\texttt{90jis}, \texttt{jis2004},~\texttt{2004jis}ă«ă¤ă„ă¦ăŻćś¬ă‘ăă‚±ăĽă‚¸ă§ĺ®šçľ©ă•ă‚Śăź
ćŽćśťä˝“ă»ă‚´ă‚·ăă‚Żä˝“ďĽă»ä¸¸ă‚´ă‚·ăă‚Żä˝“ďĽ‰ă«ă®ăżćś‰ĺŠąă§ă‚ă‚‹ďĽŽ
ă“ă‚Śă‚‰4ă‚Şă—ă‚·ă§ăłă®ă†ăˇč¤‡ć•°ăŚĺŚć™‚ă«ćŚ‡ĺ®šă•ă‚Śăźĺ&nbsp;´ĺă®ĺ‹•ä˝śă«ă¤ă„ă¦ăŻĺ…¨ăŹč€ć…®ă—ă¦ă„ăŞă„ďĽŽ
%&lt;/ja&gt;

%&lt;en&gt;\subsubsection{Presets which support multi weights}
%&lt;ja&gt;\subsubsection{ĺ¤šă‚¦ă‚§ă‚¤ăç”¨ă—ăŞă‚»ăăă®ä¸€č¦§}
\label{sssec:ltjpreset-multi}

%&lt;*en&gt;
Besides \texttt{bizud}, \texttt{haranoaji}, \texttt{morisawa-pro},~and~\texttt{morisawa-pr6n} presets,
fonts are specified by font name, not by file name.
In following tables, starred fonts (e.g.~KozGo\dots-Regular) are used for medium series of \textit{gothic},
\emph{if and only if \texttt{deluxe} option is specified}.
%&lt;/en&gt;
%&lt;*ja&gt;
\texttt{bizud}, \texttt{haranoaji}, \texttt{morisawa-pro}, \texttt{morisawa-pr6n}ä»Ąĺ¤–ăŻă•ă‚©ăłăă®ćŚ‡ĺ®šăŻ
ďĽă•ă‚ˇă‚¤ă«ĺŤă§ăŞăŹďĽ‰ă•ă‚©ăłăĺŤă§čˇŚă‚Źă‚Śă‚‹ďĽŽ
ä»Ąä¸‹ă®čˇ¨ă«ăŠă„ă¦ďĽŚ*\,ă¤ăŤă®ă•ă‚©ăłă(e.g.,~KozGo\dots-Regular)ăŻďĽŚ\emph{\texttt{deluxe}ă‚Şă—ă‚·ă§ăłćŚ‡ĺ®šć™‚ă«}
ă‚´ă‚·ăă‚Żä˝“ä¸­ĺ­—ă¨ă—ă¦ç”¨ă„ă‚‰ă‚Śă‚‹ă‚‚ă®ă‚’ç¤şă—ă¦ă„ă‚‹ďĽŽ
%&lt;/ja&gt;
\begin{cslist}[style=standard]
 \item[kozuka-pro] Kozuka Pro (Adobe-Japan1-4) fonts.
%&lt;en&gt;    \\*[-\dimexpr\medskipamount+\baselineskip\relax]
 \item[kozuka-pr6] Kozuka Pr6 (Adobe-Japan1-6)  fonts.
%&lt;en&gt;    \\*[-\dimexpr\medskipamount+\baselineskip\relax]
 \item[kozuka-pr6n] Kozuka Pr6N (Adobe-Japan1-6, JIS04-savvy) fonts.

%&lt;*en&gt;
Kozuka Pro/Pr6N fonts are bundled with Adobe's software, such as Adobe~InDesign.
There is not rounded gothic family in Kozuka fonts.
%&lt;/en&gt;
%&lt;*ja&gt;
ĺ°ŹĺˇšProć›¸ä˝“ă»Pr6Nć›¸ä˝“ăŻAdobe InDesignç­‰ă®AdobečŁ˝ĺ“ă«ăăłă‰ă«ă•ă‚Śă¦ă„ă‚‹ďĽŽ
ă€Śĺ°Źĺˇšä¸¸ă‚´ă‚·ăă‚Żă€ŤăŻĺ­ĺś¨ă—ăŞă„ă®ă§ďĽŚäľżĺ®śçš„ă«ĺ°Źĺˇšă‚´ă‚·ăă‚ŻHă«ă‚ăŁă¦ä»Łç”¨ă—ă¦ă„ă‚‹ďĽŽ
%&lt;/ja&gt;
\begin{center}\small
\begin{tabular}{lllll}
\toprule
\bfseries family&amp;\bfseries series&amp;\ttfamily kozuka-pro&amp;\ttfamily kozuka-pr6&amp;\ttfamily kozuka-pr6n\\
\midrule
 &amp;light&amp;KozMinPro-Light&amp;KozMinProVI-Light&amp;KozMinPr6N-Light\\
%&lt;en&gt;\textit{mincho}%
%&lt;ja&gt;\textgt{ćŽćśť}%
 &amp;medium&amp;KozMinPro-Regular&amp;KozMinProVI-Regular&amp;KozMinPr6N-Regular\\
 &amp;bold&amp;KozMinPro-Bold&amp;KozMinProVI-Bold&amp;KozMinPr6N-Bold\\
\midrule
 &amp;&amp;KozGoPro-Regular*&amp;KozGoProVI-Regular*&amp;KozGoPr6N-Regular*\\
 &amp;\smash{\raisebox{1.5ex}{medium}}
 &amp;KozGoPro-Medium&amp;KozGoProVI-Medium&amp;KozGoPr6N-Medium\\
\cmidrule(l){2-5}
%&lt;en&gt;\smash{\raisebox{2ex}{\textit{gothic}}}%
%&lt;ja&gt;\smash{\raisebox{2ex}{\textgt{ă‚´ă‚·ăă‚Ż}}}%
 &amp;bold&amp;KozGoPro-Bold&amp;KozGoProVI-Bold&amp;KozGoPr6N-Bold\\
 &amp;extra bold&amp;KozGoPro-Heavy&amp;KozGoProVI-Heavy&amp;KozGoPr6N-Heavy\\
\midrule
%&lt;en&gt;\textit{rounded gothic}
%&lt;ja&gt;\textgt{ä¸¸ă‚´ă‚·ăă‚Ż}
&amp;&amp;KozGoPro-Heavy&amp;KozGoProVI-Heavy&amp;KozGoPr6N-Heavy\\
\bottomrule
\end{tabular}
\end{center}

 \item[hiragino-pro]  Hiragino Pro (Adobe-Japan1-5) fonts.
%&lt;en&gt;    \\*[-\dimexpr\medskipamount+\baselineskip\relax]
 \item[hiragino-pron] Hiragino ProN (Adobe-Japan1-5, JIS04-savvy) fonts.

%&lt;*en&gt;
Hiragino fonts (except Hiragino~Mincho~W2) are bundled with Mac OS~X 10.5 or later.
Note that fonts for gothic extra~bold (HiraKakuStd[N]-W8) only contains characters in
Adobe-Japan1-3 character collection, while others contains those in
Adobe-Japan1-5 character collection.
%&lt;/en&gt;
%&lt;*ja&gt;
ćĄµĺ¤Şă‚´ă‚·ăă‚Żä˝“ă¨ă—ă¦ç”¨ă„ă‚‹ă’ă©ă‚®ăŽč§’ă‚´W8ăŻďĽŚAdobe-Japan1-3ă®çŻ„ĺ›˛ă—ă‹ă‚«ăăĽă—ă¦ă„ăŞă„
Std/StdNă•ă‚©ăłăă§ă‚ă‚ŠďĽŚăťă®ä»–ăŻAdobe-Japan1-5ĺŻľĺżśă§ă‚ă‚‹ďĽŽ

ăŞăŠďĽŚćŽćśťä˝“ç´°ĺ­—ă¨ă—ă¦ç”¨ă„ă‚‹ă’ă©ă‚®ăŽćŽćśťä˝“W2ăŻOS~Xă«ăŻăăłă‰ă«ă•ă‚Śă¦ăŠă‚‰ăšďĽŚ
ĺĄé€”čłĽĺ…Ąă™ă‚‹ĺż…č¦ăŚă‚ă‚‹ďĽŽ
%&lt;/ja&gt;
\begin{center}\small
\begin{tabular}{llll}
\toprule
\bf family&amp;\bf series&amp;\tt hiragino-pro&amp;\tt hiragino-pron\\
\midrule
 &amp;light&amp;Hiragino~Mincho~Pro~W2&amp;Hiragino~Mincho~ProN~W2\\
%&lt;en&gt;\textit{mincho}%
%&lt;ja&gt;\textgt{ćŽćśť}%
 &amp;medium&amp;Hiragino~Mincho~Pro~W3&amp;Hiragino~Mincho~ProN~W3\\
 &amp;bold&amp;Hiragino~Mincho~Pro~W6&amp;Hiragino~Mincho~ProN~W6\\
\midrule
 &amp;&amp;Hiragino~Kaku~Gothic~Pro~W3*&amp;Hiragino~Kaku~Gothic~ProN~W3*\\
 &amp;\smash{\raisebox{1.5ex}{medium}}
 &amp;Hiragino~Kaku~Gothic~Pro~W6&amp;Hiragino~Kaku~Gothic~ProN~W6\\
\cmidrule(l){2-4}
%&lt;en&gt;\smash{\raisebox{2ex}{\textit{gothic}}}%
%&lt;ja&gt;\smash{\raisebox{2ex}{\textgt{ă‚´ă‚·ăă‚Ż}}}%
 &amp;bold&amp;Hiragino~Kaku~Gothic~Pro~W6&amp;Hiragino~Kaku~Gothic~ProN~W6\\
 &amp;extra bold&amp;Hiragino~Kaku~Gothic~Std~W8&amp;Hiragino~Kaku~Gothic~StdN~W8\\
\midrule
%&lt;en&gt;\textit{rounded gothic}
%&lt;ja&gt;\textgt{ä¸¸ă‚´ă‚·ăă‚Ż}
&amp;&amp;Hiragino~Maru~Gothic~Pro~W4&amp;Hiragino~Maru~Gothic~ProN~W4\\
\bottomrule
\end{tabular}
\end{center}

\item[bizud] BIZ UD fonts (by Morisawa Inc.) bundled with
  Windows~10 October 2018 Update.
\begin{center}\small
\begin{tabular}{ll&gt;{\ttfamily}l}
\toprule
\textbf{family}&amp;\textbf{series}\\
\midrule
%&lt;en&gt;\textit{mincho}
%&lt;ja&gt;\textgt{ćŽćśť}%
 &amp;&amp;BIZ-UDMinchoM.ttc\\
\midrule
 &amp;medium&amp;BIZ-UDGothicR.ttc\\
\cmidrule(l){2-3}
%&lt;en&gt;\textit{gothic}%
%&lt;ja&gt;\textgt{ă‚´ă‚·ăă‚Ż}
 &amp;bold&amp;BIZ-UDGothicB.ttc\\
 &amp;extra bold&amp;BIZ-UDGothicB.ttc\\
\midrule
%&lt;en&gt;\textit{rounded gothic}
%&lt;ja&gt;\textgt{ä¸¸ă‚´ă‚·ăă‚Ż}
&amp;&amp;BIZ-UDGothicB.ttc\\
\bottomrule
\end{tabular}
\end{center}

%&lt;en&gt;\newpage

 \item[morisawa-pro]  Morisawa Pro (Adobe-Japan1-4) fonts.
%&lt;en&gt;    \\*[-\dimexpr\medskipamount+\baselineskip\relax]
 \item[morisawa-pr6n]  Morisawa Pr6N (Adobe-Japan1-6, JIS04-savvy) fonts.
\begin{center}\footnotesize
\begin{tabular}{ll&gt;{\tt}l&gt;{\tt}l}
\toprule
\bf family&amp;\bf series&amp;morisawa-pro&amp;morisawa-pr6n\\
\midrule
 &amp;medium&amp;A-OTF-RyuminPro-Light.otf&amp;A-OTF-RyuminPr6N-Light.otf\\
%&lt;en&gt;\smash{\raisebox{1.5ex}{\textit{mincho}}}%
%&lt;ja&gt;\smash{\raisebox{1.5ex}{\textgt{ćŽćśť}}}%
 &amp;bold&amp;A-OTF-FutoMinA101Pro-Bold.otf&amp;A-OTF-FutoMinA101Pr6N-Bold.otf\\
\midrule
 &amp;medium
 &amp;A-OTF-GothicBBBPro-Medium.otf&amp;A-OTF-GothicBBBPr6N-Medium.otf\\
%&lt;en&gt;\textit{gothic}%
%&lt;ja&gt;\textgt{ă‚´ă‚·ăă‚Ż}
 &amp;bold&amp;A-OTF-FutoGoB101Pro-Bold.otf&amp;A-OTF-FutoGoB101Pr6N-Bold.otf\\
 &amp;extra bold&amp;A-OTF-MidashiGoPro-MB31.otf&amp;A-OTF-MidashiGoPr6N-MB31.otf\\
\midrule
%&lt;en&gt;\textit{rounded gothic}
%&lt;ja&gt;\textgt{ä¸¸ă‚´ă‚·ăă‚Ż}
&amp;&amp;A-OTF-Jun101Pro-Light.otf&amp;A-OTF-ShinMGoPr6N-Light.otf\\
\bottomrule
\end{tabular}
\end{center}


 \item[yu-win]  Yu fonts bundled with Windows~8.1.
%&lt;en&gt;    \\*[-\dimexpr\medskipamount+\baselineskip\relax]
 \item[yu-win10]  Yu fonts bundled with Windows~10.
%&lt;en&gt;    \\*[-\dimexpr\medskipamount+\baselineskip\relax]
 \item[yu-osx]  Yu fonts bundled with OSX~Mavericks.
\begin{center}\small
\begin{tabular}{lllll}
\toprule
\bf family&amp;\bf series&amp;\texttt{yu-win}&amp;\texttt{yu-win10}&amp;\texttt{yu-osx}\\
\midrule
 &amp;light&amp;YuMincho-Light&amp;YuMincho-Light&amp;(YuMincho~Medium)\\
%&lt;en&gt;\textit{mincho}%
%&lt;ja&gt;\textgt{ćŽćśť}%
 &amp;medium&amp;YuMincho-Regular&amp;YuMincho-Regular&amp;YuMincho~Medium\\
 &amp;bold&amp;YuMincho-Demibold&amp;YuMincho-Demibold&amp;YuMincho~Demibold\\
\midrule
 &amp;&amp;YuGothic-Regular*&amp;YuGothic-Regular*&amp;YuGothic~Medium*\\
 &amp;\smash{\raisebox{1.5ex}{medium}}%
        &amp;YuGothic-Regular&amp;YuGothic-Medium&amp;YuGothic~Medium\\
\cmidrule(l){2-5}
%&lt;en&gt;\textit{gothic}%
%&lt;ja&gt;\textgt{ă‚´ă‚·ăă‚Ż}
 &amp;bold&amp;YuGothic-Bold&amp;YuGothic-Bold&amp;YuGothic~Bold\\
 &amp;extra bold&amp;YuGothic-Bold&amp;YuGothic-Bold&amp;YuGothic~Bold\\
\midrule
%&lt;en&gt;\textit{rounded gothic}
%&lt;ja&gt;\textgt{ä¸¸ă‚´ă‚·ăă‚Ż}
&amp;&amp;YuGothic-Bold&amp;YuGothic-Bold&amp;YuGothic~Bold\\
\bottomrule
\end{tabular}
\end{center}

\item[moga-mobo]  MogaMincho, MogaGothic, and MoboGothic.
%&lt;en&gt;    \\*[-\dimexpr\medskipamount+\baselineskip\relax]
\item[moga-mobo-ex]  MogaExMincho, MogaExGothic, and MoboExGothic.
%&lt;en&gt;\par These fonts can be downloaded from \url{http://yozvox.web.fc2.com/}.
%&lt;ja&gt;ă“ă‚Śă‚‰ă®ă•ă‚©ăłăăŻ \url{http://yozvox.web.fc2.com/} ă‹ă‚‰ă€ă‚¦ăłă­ăĽă‰ă§ăŤă‚‹ďĽŽ
\begin{center}\small
\begin{tabular}{llll}
\toprule
\bf family&amp;\bf series&amp;\bf default, \texttt{90jis}~option&amp;\bf \texttt{jis2004} option\\
\midrule
 &amp;medium&amp;Moga90Mincho&amp;MogaMincho\\
%&lt;en&gt;\smash{\raisebox{1.5ex}{\textit{mincho}}}%
%&lt;ja&gt;\smash{\raisebox{1.5ex}{\textgt{ćŽćśť}}}%
 &amp;bold&amp;Moga90Mincho Bold&amp;MogaMincho Bold\\
\midrule
 &amp;medium&amp;Moga90Gothic&amp;MogaGothic\\
%&lt;en&gt;\textit{gothic}%
%&lt;ja&gt;\textgt{ă‚´ă‚·ăă‚Ż}
 &amp;bold&amp;Moga90Gothic Bold&amp;MogaGothic Bold\\
 &amp;extra bold&amp;Moga90Gothic Bold&amp;MogaGothic Bold\\
\midrule
%&lt;en&gt;\textit{rounded gothic}
%&lt;ja&gt;\textgt{ä¸¸ă‚´ă‚·ăă‚Ż}
&amp;&amp;Mobo90Gothic&amp;MoboGothic\\
\bottomrule
\end{tabular}
\end{center}
%&lt;en&gt;When \texttt{moga-mobo-ex} is specified, the font ``MogaEx90Mincho'' etc.\ are used.
%&lt;ja&gt;\texttt{moga-mobo-ex}ă‚Şă—ă‚·ă§ăłćŚ‡ĺ®šć™‚ă«ăŻMogaEx90MinchoăŞă©ă®ExăŚĺŤĺ‰Ťă«ă¤ă„ăźă•ă‚©ăłăăŚä˝żă‚Źă‚Śă‚‹ďĽŽ

\item[ume]  Ume Mincho and Ume Gothic.
%&lt;en&gt;\par These fonts can be downloaded from\\\hfill \url{https://ja.osdn.net/projects/ume-font/wiki/FrontPage}.
%&lt;ja&gt;ă“ă‚Śă‚‰ă®ă•ă‚©ăłăăŻ \url{https://ja.osdn.net/projects/ume-font/wiki/FrontPage} ă‹ă‚‰ă€ă‚¦ăłă­ăĽă‰ă§ăŤă‚‹ďĽŽ
\begin{center}\small
\begin{tabular}{lll}
\toprule
\bf family&amp;\bf series&amp;\bf default\\
\midrule
 &amp;medium&amp;Ume Mincho\\
%&lt;en&gt;\smash{\raisebox{1.5ex}{\textit{mincho}}}%
%&lt;ja&gt;\smash{\raisebox{1.5ex}{\textgt{ćŽćśť}}}%
 &amp;bold&amp;Ume Mincho\\
\midrule
 &amp;&amp;Ume Gothic*\\
 &amp;\smash{\raisebox{1.5ex}{medium}}&amp;Ume Gothic O5\\
\cmidrule(l){2-3}
%&lt;en&gt;\textit{gothic}%
%&lt;ja&gt;\textgt{ă‚´ă‚·ăă‚Ż}
 &amp;bold&amp;Ume Gothic O5\\
 &amp;extra bold&amp;Ume Gothic O5\\
\midrule
%&lt;en&gt;\textit{rounded gothic}
%&lt;ja&gt;\textgt{ä¸¸ă‚´ă‚·ăă‚Ż}
&amp;&amp;Ume Gothic O5\\
\bottomrule
\end{tabular}
\end{center}

%&lt;en&gt;\newpage
 \item[sourcehan]  Source Han Serif and Source Han Sans fonts (Language-specific OTF \textit{or} OTC)
%&lt;en&gt;    \\*[-\dimexpr\medskipamount+\baselineskip\relax]
 \item[sourcehan-jp]  Source Han Serif JP and Source Han Sans JP fonts (Region-specific Subset OTF)
\begin{center}\small
\def\AD#1#2{Source Han #1 #2&amp;Source Han #1 JP #2}%
\begin{tabular}{lllll}
\toprule
\bf family&amp;\bf series&amp;\texttt{sourcehan}&amp;\texttt{sourcehan-jp}\\
\midrule
 &amp;light&amp;\AD{Serif}{Light}\\
%&lt;en&gt;\textit{mincho}%
%&lt;ja&gt;\textgt{ćŽćśť}%
 &amp;medium&amp;\AD{Serif}{Regular}\\
 &amp;bold&amp;\AD{Serif}{Bold}\\
\midrule
 &amp;&amp;\AD{Sans}{Regular*}\\
 &amp;\smash{\raisebox{1.5ex}{medium}}
 &amp;\AD{Sans}{Medium}\\
\cmidrule(l){2-4}
%&lt;en&gt;\smash{\raisebox{2ex}{\textit{gothic}}}%
%&lt;ja&gt;\smash{\raisebox{2ex}{\textgt{ă‚´ă‚·ăă‚Ż}}}%
 &amp;bold&amp;\AD{Sans}{Bold}\\
 &amp;extra bold&amp;\AD{Sans}{Heavy}\\
\midrule
%&lt;en&gt;\textit{rounded gothic}
%&lt;ja&gt;\textgt{ä¸¸ă‚´ă‚·ăă‚Ż}
&amp;&amp;\AD{Sans}{Medium}\\
\bottomrule
\end{tabular}
\end{center}


 \item[noto-otc]  Noto Serif CJK and Noto Sans CJK fonts (OTC)
%&lt;en&gt;    \\*[-\dimexpr\medskipamount+\baselineskip\relax]
 \item[noto-otf\textrm{, }noto]  Noto Serif CJK and Noto Sans CJK fonts (Language-specific OTF)
%&lt;en&gt;    \\*[-\dimexpr\medskipamount+\baselineskip\relax]
 \item[noto-jp]  Noto Serif CJK and Noto Sans CJK fonts (Region-specific subset OTF)
\begin{center}\small
\def\AD#1#2{Noto #1 CJK #2&amp;Noto #1 CJK JP #2&amp;Noto #1 JP #2}%
\begin{tabular}{lllll}
\toprule
\bf family&amp;\bf series&amp;\texttt{noto-otc}&amp;\texttt{noto-otf}, \texttt{noto}&amp;\texttt{noto-jp}\\
\midrule
 &amp;light&amp;\AD{Serif}{Light}\\
%&lt;en&gt;\textit{mincho}%
%&lt;ja&gt;\textgt{ćŽćśť}%
 &amp;medium&amp;\AD{Serif}{Regular}\\
 &amp;bold&amp;\AD{Serif}{Bold}\\
\midrule
 &amp;&amp;\AD{Sans}{Regular*}\\
 &amp;\smash{\raisebox{1.5ex}{medium}}
 &amp;\AD{Sans}{Medium}\\
\cmidrule(l){2-5}
%&lt;en&gt;\smash{\raisebox{2ex}{\textit{gothic}}}%
%&lt;ja&gt;\smash{\raisebox{2ex}{\textgt{ă‚´ă‚·ăă‚Ż}}}%
 &amp;bold&amp;\AD{Sans}{Bold}\\
 &amp;extra bold&amp;\AD{Sans}{Black}\\
\midrule
%&lt;en&gt;\textit{rounded gothic}
%&lt;ja&gt;\textgt{ä¸¸ă‚´ă‚·ăă‚Ż}
&amp;&amp;\AD{Sans}{Medium}\\
\bottomrule
\end{tabular}
\end{center}

\item[haranoaji]  Harano Aji Fonts.
%&lt;en&gt;\par These fonts can be downloaded from\\\hfill \url{https://github.com/trueroad/HaranoAjiFonts}.
%&lt;ja&gt;ă“ă‚Śă‚‰ă®ă•ă‚©ăłăăŻ \url{https://github.com/trueroad/HaranoAjiFonts} ă‹ă‚‰ă€ă‚¦ăłă­ăĽă‰ă§ăŤă‚‹ďĽŽ
%&lt;*en&gt;
There is not rounded gothic family in Harano Aji Fonts.
%&lt;/en&gt;
%&lt;*ja&gt;
ă€ŚĺŽźăŽĺ‘łä¸¸ă‚´ă‚·ăă‚Żă€ŤăŻĺ­ĺś¨ă—ăŞă„ă®ă§ďĽŚäľżĺ®śçš„ă«ĺŽźăŽĺ‘łč§’ă‚´ă‚·ăă‚ŻHeavyă«ă‚ăŁă¦ä»Łç”¨ă—ă¦ă„ă‚‹ďĽŽ
%&lt;/ja&gt;
\begin{center}\small
\begin{tabular}{lll}
\toprule
\bf family&amp;\bf series&amp;\texttt{haranoaji}\\
\midrule
 &amp;light&amp;HaranoAjiMincho-Light.otf\\
%&lt;en&gt;\textit{mincho}%
%&lt;ja&gt;\textgt{ćŽćśť}%
 &amp;medium&amp;HaranoAjiMincho-Regular.otf\\
 &amp;bold&amp;HaranoAjiMincho-Bold.otf\\
\midrule
 &amp;&amp;HaranoAjiGothic-Regular.otf*\\
 &amp;\smash{\raisebox{1.5ex}{medium}}
 &amp;HaranoAjiGothic-Medium.otf\\
\cmidrule(l){2-3}
%&lt;en&gt;\smash{\raisebox{2ex}{\textit{gothic}}}%
%&lt;ja&gt;\smash{\raisebox{2ex}{\textgt{ă‚´ă‚·ăă‚Ż}}}%
 &amp;bold&amp;HaranoAjiGothic-Bold.otf\\
 &amp;extra bold&amp;HaranoAjiGothic-Heavy.otf\\
\midrule
%&lt;en&gt;\textit{rounded gothic}
%&lt;ja&gt;\textgt{ä¸¸ă‚´ă‚·ăă‚Ż}
&amp;&amp;HaranoAjiGothic-Medium.otf\\
\bottomrule
\end{tabular}
\end{center}
\end{cslist}

%&lt;en&gt;\subsubsection{Presets which do not support multi weights}
%&lt;ja&gt;\subsubsection{ĺŤă‚¦ă‚§ă‚¤ăç”¨ă—ăŞă‚»ăăä¸€č¦§}
\label{sssec:ltjpreset-single}

%&lt;*en&gt;
Next, we describe settings for using only single weight.
%&lt;/en&gt;
%&lt;*ja&gt;
ć¬ˇă«ďĽŚĺŤă‚¦ă‚§ă‚¤ăç”¨ă®č¨­ĺ®šă‚’čż°ăąă‚‹ďĽŽă“ă®4č¨­ĺ®šă§ăŻ
ćŽćśťä˝“ĺ¤Şĺ­—ă»ä¸¸ă‚´ă‚·ăă‚Żä˝“ăŻă‚´ă‚·ăă‚Żä˝“ă¨ĺŚăă•ă‚©ăłăăŚç”¨ă„ă‚‰ă‚Śă‚‹ďĽŽ
%&lt;/ja&gt;
\par\nobreak\medskip
{\centering\small
\begin{tabular}{lllll}
\toprule
&amp;\tt noembed&amp;\tt ipa&amp;\tt ipaex&amp;\tt ms\\
\midrule
%&lt;*en&gt;
\it mincho&amp;Ryumin-Light (non-embedded)
&amp;IPA Mincho&amp;IPAex Mincho&amp;MS Mincho\\
\it gothic&amp;GothicBBB-Medium (non-embedded)
&amp;IPA Gothic&amp;IPAex Gothic&amp;MS Gothic\\
%&lt;/en&gt;
%&lt;*ja&gt;
\gtfamily ćŽćśť&amp;Ryumin-LightďĽéťžĺź‹čľĽďĽ‰
&amp;IPAćŽćśť&amp;IPAexćŽćśť&amp;MSćŽćśť\\
\gtfamily ă‚´ă‚·ăă‚Ż&amp;GothicBBB-MediumďĽéťžĺź‹čľĽďĽ‰
&amp;IPAă‚´ă‚·ăă‚Ż&amp;IPAexă‚´ă‚·ăă‚Ż&amp;MSă‚´ă‚·ăă‚Ż\\
%&lt;/ja&gt;
\bottomrule
\end{tabular}\par\medskip}

%&lt;en&gt;\subsubsection{Presets which use HG fonts}
%&lt;ja&gt;\subsubsection{HGă•ă‚©ăłăă‚’ä˝żă†ă—ăŞă‚»ăă}
\label{sssec:ltjpreset-hg}
%&lt;*en&gt;
We can use HG~fonts bundled with Microsoft~Office for realizing multiple weights.
In the table below, starred fonts (e.g., IPA~Gothic*) are used
only if \texttt{jis2004} or \texttt{nodeluxe} option is spefified.
%&lt;/en&gt;
%&lt;*ja&gt;
ă™ăĺ‰Ťă«ć›¸ă„ăźĺŤă‚¦ă‚§ă‚¤ăç”¨č¨­ĺ®šă‚’ďĽŚMicrosoft Officeç­‰ă«ä»ĺ±žă™ă‚‹HGă•ă‚©ăłăă‚’ä˝żăŁă¦
ĺ¤šă‚¦ă‚§ă‚¤ăĺŚ–ă—ăźč¨­ĺ®šă‚‚ă‚ă‚‹ďĽŽä»Ąä¸‹ă®čˇ¨ă§ăŻďĽŚ*~ä»ăŤă®ă•ă‚©ăłăďĽäľ‹ďĽšIPAă‚´ă‚·ăă‚Ż*ďĽ‰ăŻ
\texttt{jis2004}ă¨\texttt{nodeluxe}ă®ă„ăšă‚Śă‹ă®ă‚Şă—ă‚·ă§ăłăŚćś‰ĺŠąă«ăŞăŁă¦ă„ă‚‹ă¨ăŤă«ä˝żă‚Źă‚Śă‚‹ďĽŽ
%&lt;/ja&gt;
\par\nobreak\medskip
{\centering\small
\begin{tabular}{lllll}
\toprule
\textbf{family}&amp;\textbf{series}&amp;\tt ipa-hg&amp;\tt ipaex-hg&amp;\tt ms-hg\\
\midrule
%&lt;*en&gt;
&amp;medium&amp;IPA Mincho&amp;IPAex Mincho&amp;MS Mincho\\
\smash{\raisebox{1.5ex}{\textit{mincho}}}%
&amp;bold&amp;HG Mincho E&amp;HG Mincho E&amp;HG Mincho E\\\midrule
&amp;&amp;IPA Gothic*&amp;IPAex Gothic*&amp;MS Gothic*\\
&amp;\smash{\raisebox{1.5ex}{medium}}%
&amp;HG Gothic M&amp;HG Gothic M&amp;HG Gothic M\\\cmidrule{2-5}
\textit{gothic}&amp;bold&amp;HG Gothic E&amp;HG Gothic E&amp;HG Gothic E\\\cmidrule{2-5}
&amp;extra bold&amp;HG Soei Kaku Gothic UB&amp;HG Soei Kaku Gothic UB&amp;HG Soei Kaku Gothic UB\\\midrule
\textit{rounded gothic}&amp;&amp;
HG MaruGothic M PRO&amp;HG MaruGothic M PRO&amp;HG MaruGothic M PRO\\
%&lt;/en&gt;
%&lt;*ja&gt;
&amp;medium&amp;IPAćŽćśť&amp;IPAexćŽćśť&amp;MSćŽćśť\\
\smash{\raisebox{1.5ex}{\textgt{ćŽćśť}}}%
&amp;bold&amp;HGćŽćśťE&amp;HGćŽćśťE&amp;HGćŽćśťE\\\midrule
&amp;&amp;IPAă‚´ă‚·ăă‚Ż*&amp;IPAexă‚´ă‚·ăă‚Ż*&amp;MSă‚´ă‚·ăă‚Ż*\\
&amp;\smash{\raisebox{1.5ex}{medium}}%
&amp;HGă‚´ă‚·ăă‚ŻM&amp;HGă‚´ă‚·ăă‚ŻM&amp;HGă‚´ă‚·ăă‚ŻM\\\cmidrule{2-5}
\textgt{ă‚´ă‚·ăă‚Ż}&amp;bold&amp;HGă‚´ă‚·ăă‚ŻE&amp;HGă‚´ă‚·ăă‚ŻE&amp;HGă‚´ă‚·ăă‚ŻE\\\cmidrule{2-5}
&amp;extra bold&amp;HGĺ‰µč‹±č§’ă‚´ă‚·ăă‚ŻUB&amp;HGĺ‰µč‹±č§’ă‚´ă‚·ăă‚ŻUB&amp;HGĺ‰µč‹±č§’ă‚´ă‚·ăă‚ŻUB\\\midrule
\textgt{ä¸¸ă‚´ă‚·ăă‚Ż}&amp;&amp;
HGä¸¸ă‚´ă‚·ăă‚ŻM-PRO&amp;HGä¸¸ă‚´ă‚·ăă‚ŻM-PRO&amp;HGä¸¸ă‚´ă‚·ăă‚ŻM-PRO\\
%&lt;/ja&gt;
\bottomrule
\end{tabular}\par\medskip}

%&lt;*en&gt;
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[\texttt{jis90}, \texttt{90jis}] by file name (\texttt{hgrme.ttc}, \texttt{hgrge.ttc}, \texttt{hgrsgu.ttc}, \texttt{hgrsmp.ttf}).
\item[\texttt{jis2004}, \texttt{2004jis}] by file name (\texttt{hgrme04.ttc}, \texttt{hgrge04.ttc}, \texttt{hgrsgu04.ttc}, \texttt{hgrsmp04.ttf}).
\end{description}
%&lt;/en&gt;
%&lt;*ja&gt;
ăŞăŠďĽŚHGćŽćśťEă»HGă‚´ă‚·ăă‚ŻEă»HGĺ‰µč‹±č§’ă‚´ă‚·ăă‚ŻUBă»HGä¸¸ă‚´ă‚·ăă‚Żä˝“PROă®4ă¤ă«ă¤ă„ă¦ăŻďĽŚĺ†…é¨ă§
\begin{description}
\item[ć¨™ćş–] ă•ă‚©ăłăĺŤďĽ\texttt{HGMinchoE} ăŞă©ďĽ‰
\item[\texttt{jis90}, \texttt{90jis}ćŚ‡ĺ®šć™‚] ă•ă‚ˇă‚¤ă«ĺŤ (%
\texttt{hgrme.ttc}, \texttt{hgrge.ttc}, \texttt{hgrsgu.ttc}, \texttt{hgrsmp.ttf})
\item[\texttt{jis2004}, \texttt{2004jis}ćŚ‡ĺ®šć™‚] ă•ă‚ˇă‚¤ă«ĺŤ (%
\texttt{hgrme04.ttc}, \texttt{hgrge04.ttc}, \texttt{hgrsgu04.ttc}, \texttt{hgrsmp04.ttf})
\end{description}
ă¨ă—ă¦ćŚ‡ĺ®šă‚’čˇŚăŁă¦ă„ă‚‹ă®ă§ćł¨ć„Źă™ă‚‹ă“ă¨ďĽŽ
%&lt;/ja&gt;

%&lt;en&gt;\subsubsection{Define/Use Custom Presets}
%&lt;ja&gt;\subsubsection{ć–°ăźăŞă—ăŞă‚»ăăă®ĺ®šçľ©}

%&lt;*ja&gt;
ăăĽă‚¸ă§ăł20170904.0ä»Ąé™Ťă§ăŻďĽŚč‡Şĺ†ă§ć–°ăźăŞă—ăŞă‚»ăăă‚’ĺ®šçľ©ă™ă‚‹ă“ă¨ăŚĺ‡şćťĄă‚‹ă‚ă†ă«ăŞăŁăźďĽŽ
ä»Ąä¸‹ă«čŞ¬ćŽă™ă‚‹2ĺ‘˝ä»¤ăŻă—ăŞă‚˘ăłă–ă«ă§ă—ă‹ĺ®źčˇŚă§ăŤăŞă„ďĽŽ
%&lt;/ja&gt;
%&lt;*en&gt;
From version~20170904.0, one can define new presets using \cs{ltjnewpreset},
and use them by \cs{ltjapplypreset}. These two commands can only be used in the preamble.
%&lt;/en&gt;
\begin{cslist}
 \item[\cs{ltjnewpreset}\{\meta{name}\}\{\meta{specification}\}]
%&lt;*ja&gt;
  ć–°ăźă«\meta{name}ă¨ă„ă†ĺŤç§°ă®ă—ăŞă‚»ăăă‚’ĺ®šçľ©ă™ă‚‹ďĽŽă“ă®ĺŤç§°ăŻďĽŚ
  ă™ă§ă«ĺ®šçľ©ă•ă‚Śă¦ă„ă‚‹ă—ăŞă‚»ăăĺŤă‚„ďĽŚ
  \ref{sssec:ltjpreset-general}ă§ĺ®šçľ©ă•ă‚Śă¦ă„ă‚‹ă‚Şă—ă‚·ă§ăłďĽŚă•ă‚‰ă«
  ć¬ˇă®13ĺ€‹ă¨é‡Ťč¤‡ă—ă¦ăŻăŞă‚‰ăŞă„ďĽŽ
  \begin{quote}
	\ttfamily
	mc mc-l mc-m mc-b mc-bx gt gt-u gt-d gt-m gt-b gt-bx gt-eb mg-m
  \end{quote}

  \meta{specification}ăŻďĽŚă—ăŞă‚»ăăĺŤă‚„ä»Ąä¸‹ă®ă‚­ăĽé”ă®ă‚łăłăžĺŚşĺ‡ă‚ŠăŞă‚ąăă‚’ćŚ‡ĺ®šă™ă‚‹ďĽš
  \begin{description}
   \item[\ttfamily mc-l=\meta{font}] ćŽćśťä˝“ç´°ĺ­—(\cs{mcfamily}\cs{ltseries})
   \item[\ttfamily mc-m=\meta{font}] ćŽćśťä˝“ä¸­ĺ­—(\cs{mcfamily}\cs{mdseries})
   \item[\ttfamily mc-b=\meta{font}] ćŽćśťä˝“ĺ¤Şĺ­—(\cs{mcfamily}\cs{bfseries})
   \item[\ttfamily mc-bx=\meta{font}] \texttt{mc-b=\meta{font}}ă¨ĺŚçľ©ďĽŽ
   \item[\ttfamily gt-u=\meta{font}] \texttt{deluxe}ă‚Şă—ă‚·ă§ăłćśŞćŚ‡ĺ®šć™‚ă®ă‚´ă‚·ăă‚Żä˝“(\cs{gtfamily})ă»ćŽćśťä˝“ĺ¤Şĺ­—
   \item[\ttfamily gt-d=\meta{font}] \texttt{deluxe}ă‚Şă—ă‚·ă§ăłćŚ‡ĺ®šć™‚ă®ă‚´ă‚·ăă‚Żä˝“ä¸­ĺ­—(\cs{gtfamily}\cs{mdseries})
   \item[\ttfamily gt-m=\meta{font}] \texttt{deluxe}ă‚Şă—ă‚·ă§ăłă®ćŚ‡ĺ®šă®ćś‰ç„ˇă«é–˘äż‚ăŞăŹ
    ă‚´ă‚·ăă‚Żä˝“ä¸­ĺ­—(\cs{gtfamily}\cs{mdseries})ă‚’ćŚ‡ĺ®šă™ă‚‹ďĽŽă€Ś\texttt{gt-u=\meta{font}, gt-d\meta{font}}ă€Ťă¨ĺŚçľ©ďĽŽ
   \item[\ttfamily gt-b=\meta{font}] ă‚´ă‚·ăă‚Żä˝“ĺ¤Şĺ­—(\cs{gtfamily}\cs{bfseries})\\
    ăŞăŠďĽŚă‘ăă‚±ăĽă‚¸čŞ­ăżčľĽăżć™‚ă«\texttt{bold}ă‚Şă—ă‚·ă§ăłăŚćŚ‡ĺ®šă•ă‚Śăźĺ&nbsp;´ĺăŻďĽŚ\texttt{mc-b=\meta{font}}ă‚’ćŚ‡ĺ®šă—ăźă“ă¨ă«ă‚‚ăŞă‚‹ďĽŽ
   \item[\ttfamily gt-bx=\meta{font}] \texttt{gt-b=\meta{font}}ă¨ĺŚçľ©ďĽŽ
   \item[\ttfamily gt-eb=\meta{font}] ă‚´ă‚·ăă‚Żä˝“ĺ¤Şĺ­—(\cs{gtfamily}\cs{ebseries})
   \item[\ttfamily mg-m=\meta{font}] ä¸¸ă‚´ă‚·ăă‚Żä˝“(\cs{mgfamily})
   \item[\ttfamily mc=\meta{font}] ćŽćśťä˝“ă®ç´°ĺ­—ă»ä¸­ĺ­—ă»ĺ¤Şĺ­—ĺ…¨é¨ă‚’č¨­ĺ®šďĽŽ
	ä»Ąä¸‹ă‚’ćŚ‡ĺ®šă—ăźă“ă¨ă¨ĺŚăă§ă‚ă‚‹ďĽš
	\begin{quote}
	  \ttfamily mc-l=\meta{font}, mc-m=\meta{font}, mc-b=\meta{font}
	\end{quote}
   \item[\ttfamily gt=\meta{font}] ă‚´ă‚·ăă‚Żä˝“ă®ä¸­ĺ­—ă»ĺ¤Şĺ­—ă»ćĄµĺ¤Şĺ…¨é¨ă‚’č¨­ĺ®šďĽŽ
	ä»Ąä¸‹ă‚’ćŚ‡ĺ®šă—ăźă“ă¨ă¨ĺŚăă§ă‚ă‚‹ďĽš
	\begin{quote}
	  \ttfamily gt-u=\meta{font}, gt-d=\meta{font}, gt-b=\meta{font}, gt-eb=\meta{font}
	\end{quote}
  \end{description}
%&lt;/ja&gt;
%&lt;*en&gt;
  Define new preset~\meta{name}. This &lt;name&gt; cannot be same as other presets,
  options described in Subsubsection~\ref{sssec:ltjpreset-general}, nor
  following 13~strings:
  \begin{quote}
	\ttfamily
	mc mc-l mc-m mc-b mc-bx gt gt-u gt-d gt-m gt-b gt-bx gt-eb mg-m
  \end{quote}

  \meta{specification} is a comma-separated list which consists of
  other presets and/or the following keys:
  \begin{description}
   \item[\ttfamily mc-l=\meta{font}] mincho light
   \item[\ttfamily mc-m=\meta{font}] mincho medium
   \item[\ttfamily mc-b=\meta{font}] mincho bold
   \item[\ttfamily mc-bx=\meta{font}] synonym for \texttt{mc-b=\meta{font}}
   \item[\ttfamily gt-u=\meta{font}] gothic, when \texttt{deluxe}~option is not specified.
   \item[\ttfamily gt-d=\meta{font}] gothic medium, when \texttt{deluxe}~option is specified.
   \item[\ttfamily gt-m=\meta{font}] gothic medium. This key is equivalent to ``\texttt{gt-u=\meta{font}, gt-d\meta{font}}''.
   \item[\ttfamily gt-b=\meta{font}] gothic bold\\
    Note that this key also specifies mincho bold if \texttt{bold} option is specified.
   \item[\ttfamily gt-bx=\meta{font}] synonym for \texttt{gt-b=\meta{font}}
   \item[\ttfamily gt-eb=\meta{font}] gothic extra~bold
   \item[\ttfamily mg-m=\meta{font}] rounded gothic
   \item[\ttfamily mc=\meta{font}] Equivalent to
	\begin{quote}
	  \ttfamily mc-l=\meta{font}, mc-m=\meta{font}, mc-b=\meta{font}
	\end{quote}
   \item[\ttfamily gt=\meta{font}] Equivalent to
	\begin{quote}
	  \ttfamily gt-u=\meta{font}, gt-d=\meta{font}, gt-b=\meta{font}, gt-eb=\meta{font}
	\end{quote}
  \end{description}
%&lt;/en&gt;
 \item[\cs{ltjnewpreset}*\{\meta{name}\}\{\meta{specification}\}]
%&lt;*ja&gt;
  \cs{ltjnewpreset}ă¨ă»ăĽĺŚăă§ă‚ă‚‹ăŚďĽŚă“ăˇă‚‰ăŻă™ă§ă«ĺ®šçľ©ă•ă‚Śă¦ă„ă‚‹ă—ăŞă‚»ăăĺŤ
  ă‚’\meta{name}ă«ćŚ‡ĺ®šă—ăźĺ&nbsp;´ĺă«ăŻă‚¨ă©ăĽă‚’ĺ‡şă•ăšă«ĺ®šçľ©ă‚’ç˝®ăŤćŹ›ăă‚‹ďĽŽ
%&lt;/ja&gt;
%&lt;*en&gt;
  Almost same as \cs{ltjnewpreset}. However, if \meta{name} matches a preset which already defined,
  this command simply overwrite it.
%&lt;/en&gt;
 \item[\cs{ltjapplypreset}\{\meta{name}\}]
%&lt;ja&gt; \meta{name}ă§ćŚ‡ĺ®šă•ă‚Śăźă—ăŞă‚»ăăă‚’ä˝żăŁă¦ĺ’Ść–‡ă•ă‚©ăłăă‚’č¨­ĺ®šă™ă‚‹ďĽŽ
%&lt;en&gt; Set Japanese font families using preset~\meta{name}.
\end{cslist}

%&lt;*ja&gt;
ăŞăŠďĽŚ\cs{ltjnewpreset}ă®ç¬¬äşŚĺĽ•ć•°\meta{specification}ă«ĺ«ăľă‚Śă‚‹
ă—ăŞă‚»ăăĺŤăŻ\cs{ltjnewpreset}ă®ć™‚ç‚ąă§ĺ®šçľ©ă•ă‚Śă¦ă„ă‚‹ĺż…č¦ăŻăŞăŹďĽŚ
\cs{ltjapplypreset}ă§ĺ®źéš›ă«ä˝żă†ă¨ăŤă«ĺ®šçľ©ă•ă‚Śă¦ă„ă‚Śă°č‰Żă„ďĽŽ
ăťă®ăźă‚ďĽŚć¬ˇă®ă‚ă†ăŞč¨čż°ă‚‚ĺŹŻč˝ă§ă‚ă‚‹ďĽš
\begin{lstlisting}
  \ltjnewpreset{hoge}{piyo,mc-b=HiraMinProN-W6}
  \ltjnewpreset{piyo}{mg-m=HiraMaruProN-W4}
  \ltjapplypreset{hoge}
\end{lstlisting}

\paragraph{ćł¨ć„Ź}
\cs{ltjnewpreset}ă§ĺ®šçľ©ă—ăźă—ăŞă‚»ăăă«ăŻä»Ąä¸‹ă®ĺ¶é™ăŚă‚ă‚‹ďĽŽ
\begin{itemize}
  \item éťžĺź‹ă‚čľĽăżă®ă•ă‚©ăłăă‚’ćŚ‡ĺ®šă™ă‚‹ă“ă¨ăŻă§ăŤăŞă„ďĽŽ
  \item \texttt{ipa-hg}ăŞă©ă®ă„ăŹă¤ă‹ă®ă—ăŞă‚»ăăă§ăŻ
  ă€Ś\texttt{90jis}, \texttt{jis2004}ăŚćŚ‡ĺ®šă•ă‚Śă¦ă„ă‚‹ă‹ĺ¦ă‹ă§ă•ă‚©ăłăă®ćŚ‡ĺ®šă‚’ĺ¤‰ăă‚‹ă€Ťĺ‡¦ç†ăŚ
  čˇŚă‚Źă‚Śă¦ă„ăźăŚďĽŚ\cs{ltjnewpreset}ă§ĺ®šçľ©ă—ăźă—ăŞă‚»ăăă§ăŻă“ă®ĺ‡¦ç†ăŻĺŤă‹ăŞă„ďĽŽ
  HGă•ă‚©ăłăă‚„ă˘ă‚¬ćŽćśťăŞă©ă‚’ä˝żă†ă—ăŞă‚»ăăă‚’ĺ®šçľ©ă™ă‚‹ĺ&nbsp;´ĺă«ăŻćł¨ć„Źă™ă‚‹ă“ă¨ďĽŽ
\end{itemize}
%&lt;/ja&gt;
%&lt;*en&gt;
Note that \cs{ltjnewpreset} does not ``expand'' the definition to define a preset.
This means that one can write as the following:
\begin{lstlisting}
  \ltjnewpreset{hoge}{piyo,mc-b=HiraMinProN-W6}
  \ltjnewpreset{piyo}{mg-m=HiraMaruProN-W4}
  \ltjapplypreset{hoge}
\end{lstlisting}

\paragraph{Restrictions}
Presets which are defined by \cs{ltjnewpreset} have following restrictions:
\begin{itemize}
  \item One cannot specify non-embedded fonts (such as Ryumin-Light).
  \item Some presets, such as \texttt{ipa-hg}, have a feature that
  fonts are changed according to whether \texttt{90jis}~or~\texttt{jis2004} is speified.
  This feature is not usable in presets which are defined by \cs{ltjnewpreset}.
\end{itemize}
%&lt;/en&gt;


\clearpage
%&lt;en&gt;\part{Implementations}
%&lt;ja&gt;\part{ĺ®źčŁ…}
\label{part-imp}
%&lt;en&gt;\section{Storing Parameters}
%&lt;ja&gt;\section{ă‘ă©ăˇăĽă‚żă®äżťćŚ}
\label{sec-para}
%&lt;en&gt;\subsection{Used dimensions, attributes and whatsit nodes}
%&lt;ja&gt;\subsection{\LuaTeX-jaă§ç”¨ă„ă‚‰ă‚Śă‚‹ă¬ă‚¸ă‚ąă‚żă¨whatsităŽăĽă‰}

%&lt;*en&gt;
Here the following is the list of dimensions and attributes which are used in \LuaTeX-ja.
%&lt;/en&gt;
%&lt;*ja&gt;
ä»Ąä¸‹ăŻ\LuaTeX-jaă§ç”¨ă„ă‚‰ă‚Śă‚‹ĺŻ¸ćł•ă¬ă‚¸ă‚ąă‚ż(dimension)ďĽŚĺ±žć€§ă¬ă‚¸ă‚ąă‚ż(attribute)ă®
ăŞă‚ąăă§ă‚ă‚‹ďĽŽ
%&lt;/ja&gt;
\begin{list}{}{%
\def\makelabel{\ttfamily}\advance\leftmargin1\zw
\def\dim#1{\item[\textbackslash #1\ \textrm{(dimension)}]}
\def\cnt#1{\item[\textbackslash #1\ \textrm{(counter)}]}
\def\attr#1{\item[\textbackslash #1\ \textrm{(attribute)}]}
}

\dim{jQ}
%&lt;*en&gt;
\cs{jQ} is equal to
			$1\,\textrm{Q}=0.25\,\textrm{mm}$, where ``Q''~(also called ``ç´š'') is
			a unit used in Japanese phototypesetting.
So one should not change the value of this dimension.
%&lt;/en&gt;
%&lt;*ja&gt;
\cs{jQ} ăŻĺ†™ć¤Ťă§ç”¨ă„ă‚‰ă‚Śăź$1\,\textrm{Q}=0.25\,\textrm{mm}$%
ďĽă€Śç´šă€Ťă¨ă‚‚ć›¸ă‹ă‚Śă‚‹ďĽ‰ă«ç­‰ă—ă„ďĽŽă—ăźăŚăŁă¦ďĽŚ
ă“ă®ĺŻ¸ćł•ă¬ă‚¸ă‚ąă‚żă®ĺ€¤ă‚’ĺ¤‰ć›´ă—ă¦ăŻăŞă‚‰ăŞă„ďĽŽ
%&lt;/ja&gt;

\dim{jH}
%&lt;*en&gt;
There is also a unit called ``ć­Ż'' which equals to $0.25\,\textrm{mm}$ and
                         used in Japanese phototypesetting.
This \cs{jH} is the same \cs{dimen} register as \cs{jQ}.
%&lt;/en&gt;
%&lt;*ja&gt;
ĺŚăăŹĺ†™ć¤Ťă§ç”¨ă„ă‚‰ă‚Śă¦ă„ăźĺŤä˝Ťă¨ă—ă¦ă€Ść­Żă€ŤăŚă‚ă‚ŠďĽŚă“ă‚Śă‚‚$0.25\,\textrm{mm}$ă¨
ç­‰ă—ă„ďĽŽă“ă® \cs{jH} ăŻ \cs{jQ} ă¨ĺŚăĺŻ¸ćł•ă¬ă‚¸ă‚ąă‚żă‚’ćŚ‡ă™ďĽŽ
%&lt;/ja&gt;

\dim{ltj@dimen@zw}
%&lt;*en&gt;
A temporal register for the ``full-width'' of current Japanese font.
The command \cs{zw} sets this register to the correct value, and
``return'' this register itself.
%&lt;/en&gt;
%&lt;*ja&gt;
çŹľĺś¨ă®ĺ’Ść–‡ă•ă‚©ăłăă®ă€Śĺ…¨č§’ĺą…ă€Ťă‚’äżťćŚă™ă‚‹ä¸€ć™‚ă¬ă‚¸ă‚ąă‚żďĽŽ
\cs{zw} ĺ‘˝ä»¤ăŻďĽŚă“ă®ă¬ă‚¸ă‚ąă‚żă‚’é©ĺ‡ăŞĺ€¤ă«č¨­ĺ®šă—ăźĺľŚďĽŚ
ă€Śă“ă®ă¬ă‚¸ă‚ąă‚żč‡Şä˝“ă‚’čż”ă™ă€ŤďĽŽ
%&lt;/ja&gt;

\dim{ltj@dimen@zh}
%&lt;*en&gt;
A temporal register for the ``full-height'' (usually the sum of height of imaginary body and its depth) of current Japanese font.
The command \cs{zh} sets this register to the correct value, and
``return'' this register itself.
%&lt;/en&gt;
%&lt;*ja&gt;
çŹľĺś¨ă®ĺ’Ść–‡ă•ă‚©ăłăă®ă€Śĺ…¨č§’é«ă•ă€ŤďĽé€šĺ¸¸ďĽŚé«ă•ă¨ć·±ă•ă®ĺ’ŚďĽ‰ă‚’äżťćŚă™ă‚‹ä¸€ć™‚ă¬ă‚¸ă‚ąă‚żďĽŽ
\cs{zh} ĺ‘˝ä»¤ăŻďĽŚă“ă®ă¬ă‚¸ă‚ąă‚żă‚’é©ĺ‡ăŞĺ€¤ă«č¨­ĺ®šă—ăźĺľŚďĽŚ
ă€Śă“ă®ă¬ă‚¸ă‚ąă‚żč‡Şä˝“ă‚’čż”ă™ă€ŤďĽŽ
%&lt;/ja&gt;

\attr{jfam}
%&lt;*en&gt;
Current number of Japanese font family for math formulas.
%&lt;/en&gt;
%&lt;*ja&gt;
ć•°ĺĽŹç”¨ă®ĺ’Ść–‡ă•ă‚©ăłăă•ă‚ˇăźăŞă®çŹľĺś¨ă®ç•ŞĺŹ·ďĽŽ
%&lt;/ja&gt;

\attr{ltj@curjfnt}
%&lt;*en&gt;
If this attribute is a positive number, it stores the font number of current Japanese font for horizontal direction.
If this attribute is negative, it means that the Japanese font for horizontal direction is
not loaded---\LuaTeX-ja only knows its size and JFM.
%&lt;/en&gt;
%&lt;*ja&gt;
ĺźşćś¬çš„ă«ăŻçŹľĺś¨ă®ć¨Şçµ„ç”¨ĺ’Ść–‡ă•ă‚©ăłăă®ă•ă‚©ăłăç•ŞĺŹ·ă‚’ć&nbsp;Ľç´Ťă—ă¦ă„ă‚‹ăŚďĽŚ
\LaTeX ä¸‹ă§ä˝żç”¨ă™ă‚‹ĺ&nbsp;´ĺăŻďĽ$-2$ä»Ąä¸‹ă®ďĽ‰č˛&nbsp;ć•°ă¨ăŞă‚‹ă“ă¨ăŚă‚ă‚‹ďĽŽ
  č˛&nbsp;ć•°ă®ĺ&nbsp;´ĺăŻă€Ść¨Şçµ„ç”¨ĺ’Ść–‡ă•ă‚©ăłăăŻĺ®źéš›ă«ăŻčŞ­ăżčľĽăľă‚Śă¦ăŠă‚‰ăšďĽŚăťă®ă•ă‚©ăłăă‚µă‚¤ă‚şă¨JFMă&nbsp;ă‘ăŚ
  \LuaTeX-jaăŚćŠŠćŹˇă—ă¦ă„ă‚‹ă€ŤçŠ¶ć…‹ă‚’čˇ¨ă™ďĽŽ
%&lt;/ja&gt;

\attr{ltj@curtfnt}
%&lt;*en&gt;
Similar to \cs{ltj@curjfnt}, but with current Japanese font for vertical direction.
%&lt;/en&gt;
%&lt;*ja&gt;
ç¸¦çµ„ç”¨ĺ’Ść–‡ă•ă‚©ăłăă«é–˘ă™ă‚‹\cs{ltj@curjfnt}ă¨ĺŚć§ă®ĺ€¤ďĽŽ
%&lt;/ja&gt;

\attr{ltj@charclass}
%&lt;*en&gt;
The character class of a \textbf{JAchar}. This attribute is only set on a
			 \textit{glyph\_node} which contains a \textbf{JAchar}.
%&lt;/en&gt;
%&lt;*ja&gt;
\textbf{JAchar}ă®ć–‡ĺ­—ă‚Żă©ă‚ąďĽŽ\textbf{JAchar}ăŚć&nbsp;Ľç´Ťă•ă‚Śăź\textit{glyph\_node}ă§ă®ăżä˝żă‚Źă‚Śă‚‹ďĽŽ
%&lt;/ja&gt;

\attr{ltj@yablshift}
%&lt;*en&gt;
The amount of shifting the baseline of alphabetic fonts in scaled point ($2^{-16}\,\textrm{pt}$).
``unset'' means zero.
%&lt;/en&gt;
%&lt;*ja&gt;
ă‚ąă‚±ăĽă«ă‰ă»ăťă‚¤ăłă($2^{-16}\,\textrm{pt}$)ă‚’ĺŤä˝Ťă¨ă—ăźć¬§ć–‡ă•ă‚©ăłăă®ă™ăĽă‚ąă©ă‚¤ăłă®ç§»ĺ‹•é‡ŹďĽŽ
ă“ă®ĺ±žć€§ăŚă€ŚćśŞč¨­ĺ®šă€Ť(\texttt{-"7FFFFFFF})ă®ă¨ăŤăŻ0ă§ă‚ă‚‹ă¨ăżăŞă•ă‚Śă‚‹ďĽŽ\cs{ltj@ykblshift}ä»–ă‚‚ĺŚć§ďĽŽ
%&lt;/ja&gt;

\attr{ltj@ykblshift}
%&lt;*en&gt;
The amount of shifting the baseline of Japanese fonts in scaled point ($2^{-16}\,\textrm{pt}$).
%&lt;/en&gt;
%&lt;*ja&gt;
ă‚ąă‚±ăĽă«ă‰ă»ăťă‚¤ăłă($2^{-16}\,\textrm{pt}$)ă‚’ĺŤä˝Ťă¨ă—ăźĺ’Ść–‡ă•ă‚©ăłăă®ă™ăĽă‚ąă©ă‚¤ăłă®ç§»ĺ‹•é‡ŹďĽŽ
%&lt;/ja&gt;

\attr{ltj@tablshift}
\attr{ltj@tkblshift}

\attr{ltj@autospc}
%&lt;*en&gt;
Whether the auto insertion of \Param{kanjiskip} is allowed at the node.
0 means ``not allowed'', and the other value (including ``unset'') means ``allowed''.
%&lt;/en&gt;
%&lt;*ja&gt;
ăťă®ăŽăĽă‰ă§\Param{kanjiskip}ă®č‡Şĺ‹•ćŚżĺ…ĄăŚč¨±ă•ă‚Śă‚‹ă‹ă©ă†ă‹ďĽŽ
0ăŻă€Śč¨±ĺŹŻă—ăŞă„ă€ŤďĽŚ0ä»Ąĺ¤–ă®ĺ€¤ďĽă€ŚćśŞč¨­ĺ®šă€Ťă‚‚ĺ«ă‚€ďĽ‰ăŻă€Śč¨±ĺŹŻă™ă‚‹ă€ŤďĽŽ
%&lt;/ja&gt;

\attr{ltj@autoxspc}
%&lt;*en&gt;
Whether the auto insertion of \Param{xkanjiskip} is allowed at the node.
0 means ``not allowed'', and the other value (including ``unset'') means ``allowed''.
%&lt;/en&gt;
%&lt;*ja&gt;
ăťă®ăŽăĽă‰ă§\Param{xkanjiskip}ă®č‡Şĺ‹•ćŚżĺ…ĄăŚč¨±ă•ă‚Śă‚‹ă‹ă©ă†ă‹ďĽŽ
0ăŻă€Śč¨±ĺŹŻă—ăŞă„ă€ŤďĽŚ0ä»Ąĺ¤–ă®ĺ€¤ďĽă€ŚćśŞč¨­ĺ®šă€Ťă‚‚ĺ«ă‚€ďĽ‰ăŻă€Śč¨±ĺŹŻă™ă‚‹ă€ŤďĽŽ
%&lt;/ja&gt;

\attr{ltj@icflag}
%&lt;*en&gt;
An attribute for distinguishing ``kinds'' of a node. One of the following value is
assigned to this attribute:
%&lt;/en&gt;
%&lt;*ja&gt;
ăŽăĽă‰ă®ă€Śç¨®éˇžă€Ťă‚’ĺŚşĺĄă™ă‚‹ăźă‚ă®ĺ±žć€§ďĽŽä»Ąä¸‹ă®ă†ăˇă®ă˛ă¨ă¤ăŚĺ€¤ă¨ă—ă¦ĺ‰˛ă‚Šĺ˝“ă¦ă‚‰ă‚Śă‚‹ďĽš
%&lt;/ja&gt;
\begin{description}
\item[\textit{italic} (1)]
%&lt;*en&gt;
Kerns from italic correction (\verb+\/+), or from kerning information of a Japanese font.
These kerns are ``ignored'' in the insertion process of \textbf{JAglue},
unlike explicit \cs{kern}.
%&lt;/en&gt;
%&lt;*ja&gt;
ă‚¤ă‚żăŞăă‚ŻčŁść­Ł(\verb+\/+)ă«ă‚ă‚‹ă‚«ăĽăłďĽŚ
ăľăźăŻ \Pkg{luaotfload} ă«ă‚ăŁă¦ćŚżĺ…Ąă•ă‚Śăźă•ă‚©ăłăă®ă‚«ăĽă‹ăłă‚°ć…ĺ&nbsp;±ç”±ćťĄă®ă‚«ăĽăłďĽŽ
ă“ă‚Śă‚‰ă®ă‚«ăĽăłăŻé€šĺ¸¸ă® \cs{kern} ă¨ăŻç•°ăŞă‚ŠďĽŚ
\textbf{JAglue}ă®ćŚżĺ…Ąĺ‡¦ç†ă«ăŠă„ă¦ăŻé€ŹéŽă™ă‚‹ďĽŽ
%&lt;/ja&gt;

\item[\textit{packed} (2)]

\item[\textit{kinsoku} (3)]
%&lt;*en&gt;
Penalties inserted for the word-wrapping process (\emph{kinsoku shori}) of Japanese characters.
%&lt;/en&gt;
%&lt;ja&gt;ç¦ĺ‰‡ĺ‡¦ç†ă®ăźă‚ă«ćŚżĺ…Ąă•ă‚ŚăźăšăŠă«ă†ă‚ŁďĽŽ
\item[\mathversion{bold}$\textit{from\_jfm}$--$(\textit{from\_jfm}+63)$~(4--67)]
%&lt;en&gt;Glues/kerns from JFM.
%&lt;ja&gt;JFMç”±ćťĄă®ă‚°ă«ăĽďĽŹă‚«ăĽăłďĽŽ
\item[\textit{kanji\_skip}~(68), \textit{kanji\_skip\_jfm}~(69)]
%&lt;en&gt;Glues from \Param{kanjiskip}.
%&lt;ja&gt;ĺ’Ść–‡é–“ç©şç™˝\Param{kanjiskip}ă‚’čˇ¨ă™ă‚°ă«ăĽďĽŽ
\item[\textit{xkanji\_skip}~(70), \textit{xkanji\_skip\_jfm}~(71)]
%&lt;en&gt;Glues from \Param{xkanjiskip}.
%&lt;ja&gt;ĺ’Ść¬§ć–‡é–“ç©şç™˝\Param{xkanjiskip}ă‚’čˇ¨ă™ă‚°ă«ăĽďĽŽ
\item[\textit{processed} (73)]
%&lt;en&gt;Nodes which is already processed by \ldots.
%&lt;ja&gt;\LuaTeX-ja ă®ĺ†…é¨ĺ‡¦ç†ă«ă‚ăŁă¦ć—˘ă«ĺ‡¦ç†ă•ă‚ŚăźăŽăĽă‰ďĽŽ
\item[\textit{ic\_processed} (74)]
%&lt;*en&gt;
Glues from an italic correction, but already processed in the insertion process of \textbf{JAglue}s.
%&lt;/en&gt;
%&lt;ja&gt;ă‚¤ă‚żăŞăă‚ŻčŁść­Łă«ç”±ćťĄă™ă‚‹ă‚°ă«ăĽă§ă‚ăŁă¦ďĽŚć—˘ă« \textbf{JAglue} ćŚżĺ…Ąĺ‡¦ç†ă«ă‹ă‹ăŁăźă‚‚ă®ďĽŽ
\item[\textit{boxbdd} (75)]
%&lt;en&gt;Glues/kerns that inserted just the beginning or the ending of an hbox or a paragraph.
%&lt;ja&gt;hboxă‹ć®µč˝ă®ćś€ĺťă‹ćś€ĺľŚă«ćŚżĺ…Ąă•ă‚Śăźă‚°ă«ăĽďĽŹă‚«ăĽăłďĽŽ
\item[\textit{special\_jaglue} (76)]
%&lt;en&gt;Glues from \cs{insert}[\texttt{x}]\texttt{kanjiskip}.
%&lt;ja&gt;\cs{insert}[\texttt{x}]\texttt{kanjiskip}ç”±ćťĄă®ă‚°ă«ăĽďĽŽ
\end{description}

%&lt;*ja&gt;
ăľăźďĽŚćŚżĺ…Ąĺ‡¦ç†ă®çµćžśă§ă‚ă‚‹ăŞă‚ąăă®ćś€ĺťă®ăŽăĽă‰ă§ăŻďĽŚ\verb+\ltj@icflag+ ă®ĺ€¤ă«
\textit{processed\_begin\_flag}~(4096)ăŚčż˝ĺŠ&nbsp;ă•ă‚Śă‚‹ďĽŽă“ă‚Śă«ă‚ăŁă¦ďĽŚ\cs{unhbox} ăŚ
é€Łç¶šă—ăźĺ&nbsp;´ĺă§ă‚‚ă€Śăśăă‚Żă‚ąă®ĺ˘ç•Śă€ŤăŚč­ĺĄă§ăŤă‚‹ă‚ă†ă«ăŞăŁă¦ă„ă‚‹ďĽŽ
%&lt;/ja&gt;

\attr{ltj@kcat\,$i$}
%&lt;*en&gt;
Where $i$~is a natural number which is less than~7.
These 7~attributes store bit~vectors indicating which character block is regarded as a block of \textbf{JAchar}s.
%&lt;/en&gt;
%&lt;*ja&gt;
$i$ăŻ7ă‚ă‚Šĺ°Źă•ă„č‡Şç„¶ć•°ďĽŽ
ă“ă‚Śă‚‰7ă¤ă®ĺ±žć€§ă¬ă‚¸ă‚ąă‚żăŻďĽŚă©ă®ć–‡ĺ­—ă–ă­ăă‚ŻăŚ\textbf{JAchar}ă®ă–ă­ăă‚Żă¨ă—ă¦
ć‰±ă‚Źă‚Śă‚‹ă‹ă‚’ç¤şă™ă“ăăă™ă‚Żăă«ă‚’ć&nbsp;Ľç´Ťă™ă‚‹ďĽŽ
%&lt;/ja&gt;

\attr{ltj@dir}
%&lt;*ja&gt;
\textit{direction}~whatsitďĽĺľŚčż°ďĽ‰ă«ăŠă„ă¦çµ„ć–ąĺ‘ă‚’ç¤şă™ăźă‚ă«ďĽŚă‚ă‚‹ă„ăŻ\textit{dir\_box}ă®
			 çµ„ć–ąĺ‘ă‚’ç”¨ă„ă‚‹ďĽŽ\textit{direction}~whatsită«ăŠă„ă¦ăŻĺ€¤ăŻ
\begin{quote}
 \textit{dir\_dtou} (1), \textit{dir\_tate} (3),
 \textit{dir\_yoko} (4), \textit{dir\_utod} (11)
\end{quote}
ă®ă„ăšă‚Śă‹ă§ă‚ă‚ŠďĽŚ\textit{dir\_box}ă§ăŻă“ă‚Śă‚‰ă«ć¬ˇă‚’ĺŠ&nbsp;ăăźĺ€¤ă‚’ă¨ă‚‹ďĽ\ref{sec-dir-imp}ç«&nbsp;ĺŹ‚ç…§ďĽ‰ďĽŽ
%&lt;/ja&gt;
\begin{description}
\item[\textit{dir\_node\_auto} (128)]
%&lt;ja&gt; ç•°ăŞă‚‹çµ„ć–ąĺ‘ă«é…Ťç˝®ă™ă‚‹ăźă‚ă«č‡Şĺ‹•çš„ă«ä˝śă‚‰ă‚Śăźăśăă‚Żă‚ąďĽŽ
\item[\textit{dir\_node\_manual} (256)]
%&lt;ja&gt; \cs{ltjsetwd} ă«ă‚ăŁă¦ă€Śăśăă‚Żă‚ąă®ćś¬ćťĄă®çµ„ć–ąĺ‘ă¨ăŻç•°ăŞă‚‹çµ„ć–ąĺ‘ă§ă®ĺŻ¸ćł•ă€Ťă‚’
%&lt;ja&gt; č¨­ĺ®šă—ăźă¨ăŤă«ďĽŚăťă‚Śă‚’č¨éŚ˛ă™ă‚‹ăźă‚ă®ăśăă‚Żă‚ąďĽŽ
\end{description}
%&lt;ja&gt; \TeX ĺ´ă‹ă‚‰č¦‹ăă‚‹ĺ€¤ďĽŚă¤ăľă‚Š \verb+\the\ltj@dir+ ă®ĺ€¤ăŻĺ¸¸ă«0ă§ă‚ă‚‹ďĽŽ

\cnt{ltjlineendcomment}
%&lt;*ja&gt;
  \LuaTeX-jaăŻ\textbf{JAchar}ă§ĺ…ĄĺŠ›čˇŚăŚçµ‚äş†ă—ăźĺ&nbsp;´ĺďĽŚăťă®ç›´ĺľŚă«ă‚łăˇăłăć–‡ĺ­—ă‚’
  ăŠăŹă“ă¨ă§ä˝™č¨ăŞç©şç™˝ăŚćŚżĺ…Ąă•ă‚Śă‚‹ă“ă¨ă‚’é˛ă„ă§ă„ă‚‹ďĽŽ
  \cs{ltjlineendcomment}ăŻăťă®éš›ă®ă‚łăˇăłăć–‡ĺ­—ă®Unicodeă«ăŠă‘ă‚‹ç¬¦ĺŹ·ä˝Ťç˝®ă‚’ćŚ‡ĺ®šă™ă‚‹
  ďĽč©łç´°ăŻ\ref{ssec:lineend}çŻ€ă‚’ĺŹ‚ç…§ďĽ‰ďĽŽ

  \LuaTeX-jaă«ăŠă‘ă‚‹ć—˘ĺ®šĺ€¤ăŻ$\texttt{"FFFFF}=1048575$ă§ă‚ă‚ŠďĽŚ
  ă¦ăĽă‚¶ăŻĺ†…é¨ĺ‹•ä˝śă‚’ç†źçźĄă—ă¦ă„ăŞă„é™ă‚Šă“ă®ă‚«ă‚¦ăłă‚żă®ĺ€¤ă‚’ĺ¤‰ć›´ă—ă¦ăŻăŞă‚‰ăŞă„ďĽŽ
  \cs{ltjlineendcomment}ă®ĺ€¤ăŚUnicodeă®çŻ„ĺ›˛ĺ¤–ďĽč˛&nbsp;ă‚„ďĽŚ$\texttt{"10FFFF}=1114111$ă‚’č¶…ăăźĺ&nbsp;´ĺďĽ‰
  ă«ăŹă‚‹ă“ă¨ăŻćłĺ®šă•ă‚Śă¦ă„ăŞă„ďĽŽ
%&lt;/ja&gt;
\end{list}

%&lt;*en&gt;
Furthermore, \LuaTeX-ja uses several user-defined whatsit nodes for
internal processing. All those nodes except \emph{direction} whatsits
store a natural number (hence its \texttt{type} is 100).
\emph{direction} whatsits store a node list, hence its \texttt{type} is 110.
Their \texttt{user\_id} (used for distinguish user-defined whatsits)
are allocated by \texttt{luatexbase.newuserwhatsitid}.
%&lt;/en&gt;
%&lt;*ja&gt;
ă•ă‚‰ă«ďĽŚ\LuaTeX-jaăŻă„ăŹă¤ă‹ă®user-defined whatsit nodeă‚’ĺ†…é¨ĺ‡¦ç†ă«ç”¨ă„ă‚‹ďĽŽ
\textit{direction} whatsităŻăŽăĽă‰ăŞă‚ąăă‚’ć&nbsp;Ľç´Ťă™ă‚‹ăŚďĽŚ
ăťă‚Śä»Ąĺ¤–ă®whatsităŽăĽă‰ă® \texttt{type} ăŻ100ă§ă‚ă‚ŠďĽŚăŽăĽă‰ăŻč‡Şç„¶ć•°ă‚’ć&nbsp;Ľç´Ťă—ă¦ă„ă‚‹ďĽŽ
user-defined whatsită‚’č­ĺĄă™ă‚‹ăźă‚ă® \texttt{user\_id} ăŻ\
\texttt{luatexbase.newuserwhatsitid} ă«ă‚ă‚Šç˘şäżťă•ă‚Śă¦ăŠă‚ŠďĽŚ
ä¸‹ă®č¦‹ĺ‡şă—ăŻĺŤăŞă‚‹č­ĺĄç”¨ă§ă—ă‹ăŞă„ďĽŽ
%&lt;/ja&gt;
\begin{description}
\item[\textit{inhibitglue}]
%&lt;*en&gt;
Nodes for indicating that \cs{inhibitglue} is
	   specified. The \texttt{value} field of these nodes doesn't matter.
%&lt;/en&gt;
%&lt;*ja&gt;
\cs{inhibitglue} ăŚćŚ‡ĺ®šă•ă‚Śăźă“ă¨ă‚’ç¤şă™ăŽăĽă‰ďĽŽă“ă‚Śă‚‰ă®ăŽăĽă‰ă®\
\texttt{value} ă•ă‚ŁăĽă«ă‰ăŻć„Źĺ‘łă‚’ćŚăźăŞă„ďĽŽ
%&lt;/ja&gt;

\item[\textit{stack\_marker}]
%&lt;*en&gt;
Nodes for \LuaTeX-ja's stack system (see the next
	   subsection). The \texttt{value} field of these nodes is
	   current group level.
%&lt;/en&gt;
%&lt;*ja&gt;
\LuaTeX-jaă®ă‚ąă‚żăă‚Żă‚·ă‚ąă†ă&nbsp;ďĽć¬ˇă®çŻ€ă‚’ĺŹ‚ç…§ďĽ‰ă®ăźă‚ă®ăŽăĽă‰ďĽŽ
ă“ă‚Śă‚‰ă®ăŽăĽă‰ă® \texttt{value} ă•ă‚ŁăĽă«ă‰ăŻçŹľĺś¨ă®ă‚°ă«ăĽă—ăŤă‚ąăă¬ă™ă«ă‚’čˇ¨ă™ďĽŽ
%&lt;/ja&gt;

\item[\textit{char\_by\_cid}]
%&lt;*en&gt;
Nodes for \textbf{JAchar} which processes by \Pkg{luaotfload} won't be applied,
       and the character code is
	   stored in the \texttt{value} field. Each node of this type are
           converted to a \textit{glyph\_node} \emph{after}
	   processes by luaotfload.
Nodes of this type is used in \cs{CID}~and~\cs{UTF}.
%&lt;/en&gt;
%&lt;*ja&gt;
\Pkg{luaotfload}ă«ă‚ă‚‹ĺ‡¦ç†ăŚé©ç”¨ă•ă‚ŚăŞă„\textbf{JAchar}ă®ăźă‚ă®ăŽăĽă‰ă§ďĽŚ
\texttt{value} ă•ă‚ŁăĽă«ă‰ă«ć–‡ĺ­—ă‚łăĽă‰ăŚć&nbsp;Ľç´Ťă•ă‚Śă¦ă„ă‚‹ďĽŽ
ă“ă®ç¨®éˇžă®ăŽăĽă‰ăŻăťă‚Śăžă‚ŚăŚ\Pkg{luaotfload}ă®ă‚łăĽă«ăăă‚Żă®ĺ‡¦ç†ă®
\emph{ĺľŚă§}\textit{glyph\_node}ă«ĺ¤‰ćŹ›ă•ă‚Śă‚‹ďĽŽ
\cs{CID}, \cs{UTF}ă§ă“ă®ç¨®éˇžă®ăŽăĽă‰ăŚĺ©ç”¨ă•ă‚Śă¦ă„ă‚‹ďĽŽ
%&lt;/ja&gt;

\item[\textit{replace\_vs}]
%&lt;*en&gt;
Similar to \textit{char\_by\_cid} whatsits above.
These nodes are for \textbf{ALchar} which the callback process of
	   \Pkg{luaotfload} won't be applied.
%&lt;/en&gt;
%&lt;*ja&gt;
ä¸Šă®\textit{char\_by\_cid}ă¨ĺŚć§ă«ďĽŚ
ă“ă‚Śă‚‰ă®ăŽăĽă‰ăŻ\Pkg{luaotfload}ă®ă‚łăĽă«ăăă‚Żă«ă‚ă‚‹ĺ‡¦ç†ăŚé©ç”¨ă•ă‚ŚăŞă„\textbf{ALchar}ă®ăź
	   ă‚ă‚‚ă®ă§ă‚ă‚‹ďĽŽ
%&lt;/ja&gt;

\item[\textit{begin\_par}]
%&lt;*en&gt;
Nodes for indicating beginning of a paragraph.
A paragraph which is started by \cs{item} in list-like environments has a horizontal box
for its label before the actual contents. So \dots
%&lt;/en&gt;
%&lt;*ja&gt;
ă€Ść®µč˝ă®é–‹ĺ§‹ă€Ťă‚’ć„Źĺ‘łă™ă‚‹ăŽăĽă‰ďĽŽ
\texttt{list}ç’°ĺ˘ďĽŚ\texttt{itemize}ç’°ĺ˘ăŞă©ă«ăŠă„ă¦ďĽŚ\cs{item} ă§ĺ§‹ăľă‚‹ĺ„é&nbsp;…ç›®ăŻâ€¦â€¦
%&lt;/ja&gt;

\item[\textit{direction}]

\end{description}

%&lt;*en&gt;
These whatsits will be removed during the process of inserting \textbf{JAglue}s.
%&lt;/en&gt;
%&lt;*ja&gt;
ă“ă‚Śă‚‰ă®whatsităŽăĽă‰ăŻ\textbf{JAglue}ă®ćŚżĺ…Ąĺ‡¦ç†ă®é–“ă«ĺŹ–ă‚Šé™¤ă‹ă‚Śă‚‹ďĽŽ
%&lt;/ja&gt;

%&lt;en&gt;\subsection{Stack system of \LuaTeX-ja}
%&lt;ja&gt;\subsection{\LuaTeX-jaă®ă‚ąă‚żăă‚Żă‚·ă‚ąă†ă&nbsp;}
\label{ssec:stack}

%&lt;en&gt;\paragraph{Background}
%&lt;ja&gt;\paragraph{čŚć™Ż}
%&lt;*en&gt;
\LuaTeX-ja has its own stack system, and most parameters of \LuaTeX-ja
are stored in it. To clarify the reason, imagine the parameter
\Param{kanjiskip} is stored by a skip, and consider the following
source:
%&lt;/en&gt;
%&lt;*ja&gt;
\LuaTeX-jaăŻç‹¬č‡Şă®ă‚ąă‚żăă‚Żă‚·ă‚ąă†ă&nbsp;ă‚’ćŚăˇďĽŚ\LuaTeX-jaă®ă»ă¨ă‚“ă©ă®ă‘ă©ăˇăĽă‚żăŻ
ă“ă‚Śă‚’ç”¨ă„ă¦äżťćŚă•ă‚Śă¦ă„ă‚‹ďĽŽăťă®ç†ç”±ă‚’ćŽă‚‰ă‹ă«ă™ă‚‹ăźă‚ă«ďĽŚ
\Param{kanjiskip}ă‘ă©ăˇăĽă‚żăŚă‚ąă‚­ăă—ă¬ă‚¸ă‚ąă‚żă§äżťćŚă•ă‚Śă¦ă„ă‚‹ă¨ă—ďĽŚ
ä»Ąä¸‹ă®ă‚łăĽă‰ă‚’č€ăă¦ăżă‚ă†ďĽš
%&lt;/ja&gt;
\begin{LTXexample}
\ltjsetparameter{kanjiskip=0pt}ăµăŚăµăŚ.%
\setbox0=\hbox{%
  \ltjsetparameter{kanjiskip=5pt}ă»ă’ă»ă’}
\box0.ă´ă‚ă´ă‚\par
\end{LTXexample}

%&lt;*en&gt;
As described in Subsection~\ref{ssec:param}, the only effective value of
\Param{kanjiskip} in an hbox is the latest value, so the value of
\Param{kanjiskip} which applied in the entire hbox should be 5\,pt.
However, by the implementation method of \LuaTeX, this ``5\,pt'' cannot be
known from any callbacks.  In the \texttt{tex/packaging.w}, which is a
file in the source of \LuaTeX, there are the following codes:
%&lt;/en&gt;
%&lt;*ja&gt;
\ref{ssec:param}çŻ€ă§čż°ăąăźă‚ă†ă«ďĽŚă‚ă‚‹hboxă®ä¸­ă§ĺŠąĺŠ›ă‚’ćŚă¤
\Param{kanjiskip}ă®ĺ€¤ăŻćś€ĺľŚă«çŹľă‚Śăźĺ€¤ă®ăżă§ă‚ă‚ŠďĽŚă—ăźăŚăŁă¦ăśăă‚Żă‚ąĺ…¨ä˝“ă«é©ç”¨ă•ă‚Śă‚‹
\Param{kanjiskip}ăŻ5\,ptă§ă‚ă‚‹ăąăŤă§ă‚ă‚‹ďĽŽă—ă‹ă—ďĽŚ\LuaTeX ă®ĺ®ź
čŁ…ă‚’č¦łĺŻźă™ă‚‹ă¨ďĽŚă“ă®5\,ptă¨ă„ă†é•·ă•ăŻă©ă®ă‚łăĽă«ăăă‚Żă‹ă‚‰ă‚‚çźĄă‚‹ă“ă¨ăŻă§ăŤăŞă„ă“ă¨ăŚă‚Źă‹ă‚‹ďĽŽ
\LuaTeX ă®ă‚˝ăĽă‚ąă•ă‚ˇă‚¤ă«ă®1ă¤ \texttt{tex/packaging.w} ă®ä¸­ă«ďĽŚ
ä»Ąä¸‹ă®ă‚łăĽă‰ăŚă‚ă‚‹ďĽš
%&lt;/ja&gt;
\begin{lstlisting}[numbers=left,firstnumber=1226]
void package(int c)
{
    scaled h;                   /* height of box */
    halfword p;                 /* first node in a box */
    scaled d;                   /* max depth */
    int grp;
    grp = cur_group;
    d = box_max_depth;
    unsave();
    save_ptr -= 4;
    if (cur_list.mode_field == -hmode) {
        cur_box = filtered_hpack(cur_list.head_field,
                                 cur_list.tail_field, saved_value(1),
                                 saved_level(1), grp, saved_level(2));
        subtype(cur_box) = HLIST_SUBTYPE_HBOX;
\end{lstlisting}
%&lt;*en&gt;
Notice that \texttt{unsave()} is executed \emph{before}
\texttt{filtered\_hpack()}, where \texttt{hpack\_filter} callback is
executed) here. So ``5\,pt'' in the above source is orphaned at
\texttt{unsave()}, and hence it can't be accessed from \texttt{hpack\_filter}
callback.
%&lt;/en&gt;
%&lt;*ja&gt;
\texttt{unsave()} ăŚ \texttt{filtered\_hpack()}ďĽă“ă‚ŚăŻ \texttt{hpack\_filter} ă‚łăĽă«ăăă‚ŻăŚ
ĺ®źčˇŚă•ă‚Śă‚‹ă¨ă“ă‚Ťă§ă‚ă‚‹ďĽ‰ă®\emph{ĺ‰Ťă«}ĺ®źčˇŚă•ă‚Śă¦ă„ă‚‹ă“ă¨ă«ćł¨ć„Źă™ă‚‹ďĽŽ
ă—ăźăŚăŁă¦ďĽŚä¸Šč¨ă‚˝ăĽă‚ąä¸­ă§5\,ptăŻ \texttt{unsave()} ă®ă¨ă“ă‚Ťă§ćŤ¨ă¦ă‚‰ă‚ŚďĽŚ
\texttt{hpack\_filter} ă‚łăĽă«ăăă‚Żă‹ă‚‰ăŻă‚˘ă‚Żă‚»ă‚ąă™ă‚‹ă“ă¨ăŚă§ăŤăŞă„ďĽŽ
%&lt;/ja&gt;

%&lt;en&gt;\paragraph{Implementation}
%&lt;ja&gt;\paragraph{č§Łć±şćł•}

%&lt;*en&gt;
The code of stack system is based on that in a post of Dev-luatex mailing list\footnote{%
\texttt{[Dev-luatex] tex.currentgrouplevel}, a post at 2008/8/19 by Jonathan Sauer.}.
%&lt;/en&gt;
%&lt;*ja&gt;
ă‚ąă‚żăă‚Żă‚·ă‚ąă†ă&nbsp;ă®ă‚łăĽă‰ăŻDev-luatexăˇăĽăŞăłă‚°ăŞă‚ąăă®ă‚ă‚‹ćŠ•ç¨ż\footnote{%
\texttt{[Dev-luatex] tex.currentgrouplevel}: Jonathan Saueră«ă‚ă‚‹2008/8/19ă®ćŠ•ç¨żďĽŽ}ă‚’
ă™ăĽă‚ąă«ă—ă¦ă„ă‚‹ďĽŽ
%&lt;/ja&gt;

%&lt;*en&gt;
These are two \TeX\ count registers for maintaining information:
\verb+\ltj@@stack+ for the stack level, and \verb+\ltj@@group@level+ for
the \TeX's group level when the last assignment was done.  Parameters
are stored in one big table named \texttt{charprop\_stack\_table}, where
\texttt{charprop\_stack\_table[$i$]} stores data of stack level~$i$. If
a new stack level is created by \cs{ltjsetparameter}, all data of the
previous level is copied.
%&lt;/en&gt;
%&lt;*ja&gt;
ć…ĺ&nbsp;±ă‚’äżťćŚă™ă‚‹ăźă‚ă«ďĽŚ2ă¤ă®\TeX ă®ć•´ć•°ă¬ă‚¸ă‚ąă‚żă‚’ç”¨ă„ă¦ă„ă‚‹ďĽš
\verb+\ltj@@stack+ ă«ă‚ąă‚żăă‚Żă¬ă™ă«ďĽŚ\verb+\ltj@@group@level+ ă«ćś€ĺľŚă®ä»Łĺ…ĄăŚ
ăŞă•ă‚Śăźć™‚ç‚ąă§ă®\TeX ă®ă‚°ă«ăĽă—ă¬ă™ă«ă‚’äżťćŚă—ă¦ă„ă‚‹ďĽŽ
ă‘ă©ăˇăĽă‚żăŻ\texttt{charprop\_stack\_table}ă¨ă„ă†ĺŤĺ‰Ťă®ă˛ă¨ă¤ă®ĺ¤§ăŤăŞă†ăĽă–ă«ă«
ć&nbsp;Ľç´Ťă•ă‚Śă‚‹ďĽŽă“ă“ă§ďĽŚ\texttt{charprop\_stack\_table[$i$]}ăŻă‚ąă‚żăă‚Żă¬ă™ă«$i$ă®
ă‡ăĽă‚żă‚’ć&nbsp;Ľç´Ťă—ă¦ă„ă‚‹ďĽŽă‚‚ă—ć–°ă—ă„ă‚ąă‚żăă‚Żă¬ă™ă«ăŚ \cs{ltjsetparameter} ă«ă‚ăŁă¦
ç”źćă•ă‚Śăźă‚‰ďĽŚĺ‰Ťă®ă¬ă™ă«ă®ĺ…¨ă¦ă®ă‡ăĽă‚żăŚă‚łă”ăĽă•ă‚Śă‚‹ďĽŽ
%&lt;/ja&gt;

%&lt;*en&gt;
To resolve the problem mentioned in above paragraph ``Background'', \LuaTeX-ja uses
another trick. When the stack level is about to be increased, a whatsit
node whose type, subtype and value are 44~(\textit{user\_defined}),
\textit{stack\_marker} and the current group level respectively is appended to the current
list (we refer this node by \textit{stack\_flag}). This enables us to
know whether assignment is done just inside a hbox. Suppose that the
stack level is~$s$ and the \TeX's group level is~$t$ just after the hbox
group, then:
%&lt;/en&gt;
%&lt;*ja&gt;
ä¸Šă®ă€ŚčŚć™Żă€Ťă§čż°ăąăźĺ•ŹéˇŚă‚’č§Łć±şă™ă‚‹ăźă‚ă«ďĽŚ\LuaTeX-jaă§ăŻć¬ˇă®ć‰‹ćł•ă‚’ç”¨ă„ă‚‹ďĽš
ă‚ąă‚żăă‚Żă¬ă™ă«ăŚĺ˘—ĺŠ&nbsp;ă™ă‚‹ă™ă‚‹ă¨ăŤďĽŚtype, subtype, valueăŚăťă‚Śăžă‚Ś
44~(\textit{user\_defined}), \textit{stack\_marker}ďĽŚăťă—ă¦çŹľĺś¨ă®ă‚°ă«ăĽă—ă¬ă™ă«ă§ă‚ă‚‹whatsităŽăĽă‰
ă‚’çŹľĺś¨ă®ăŞă‚ąăă«ä»ă‘ĺŠ&nbsp;ăă‚‹ďĽă“ă®ăŽăĽă‰ă‚’\textit{stack\_flag}ă¨ă™ă‚‹ďĽ‰ďĽŽ
ă“ă‚Śă«ă‚ă‚ŠďĽŚă‚ă‚‹hboxă®ä¸­ă§ä»Łĺ…ĄăŚăŞă•ă‚Śăźă‹ă©ă†ă‹ă‚’çźĄă‚‹ă“ă¨ăŚĺŹŻč˝
ă¨ăŞă‚‹ďĽŽă‚ąă‚żăă‚Żă¬ă™ă«ă‚’$s$ďĽŚăťă®hbox groupă®ç›´ĺľŚă®\TeX ă®ă‚°ă«ăĽă—ă¬ă™ă«ă‚’
$t$ă¨ă™ă‚‹ă¨ďĽš
%&lt;/ja&gt;
\begin{itemize}
%&lt;*en&gt;
\item If there is no \textit{stack\_flag} node in the list of the contents of the hbox, then
      no assignment was occurred inside the hbox. Hence values of
      parameters at the end of the hbox are stored in the stack
      level~$s$.
%&lt;/en&gt;
%&lt;*ja&gt;
\item ă‚‚ă—ăťă®hboxă®ä¸­čş«ă‚’čˇ¨ă™ăŞă‚ąăă®ä¸­ă«\textit{stack\_flag}ăŽăĽă‰ăŚăŞă‘ă‚Śă°ďĽŚ
  hboxă®ä¸­ă§ăŻä»Łĺ…ĄăŻčµ·ă“ă‚‰ăŞă‹ăŁăźă¨ă„ă†ă“ă¨ă«ăŞă‚‹ďĽŽ
  ă—ăźăŚăŁă¦ďĽŚăťă®hboxă®çµ‚ă‚Źă‚Šă«ăŠă‘ă‚‹ă‘ă©ăˇăĽă‚żă®ĺ€¤ăŻă‚ąă‚żăă‚Żă¬ă™ă«$s$ă«
  ć&nbsp;Ľç´Ťă•ă‚Śă¦ă„ă‚‹ďĽŽ
%&lt;/ja&gt;

%&lt;*en&gt;
\item If there is a \textit{stack\_flag} node whose value is~$t+1$, then
      an assignment was occurred just inside the hbox group. Hence
      values of parameters at the end of the hbox are stored in the
      stack level~$s+1$.
%&lt;/en&gt;
%&lt;*ja&gt;
\item ă‚‚ă—ĺ€¤ăŚ$t+1$ă®\textit{stack\_flag}ăŽăĽă‰ăŚă‚ă‚Śă°ďĽŚăťă®
  hboxă®ä¸­ă§ä»Łĺ…ĄăŚčµ·ă“ăŁăźă“ă¨ă«ăŞă‚‹ďĽŽ
  ă—ăźăŚăŁă¦ďĽŚhboxă®çµ‚ă‚Źă‚Šă«ăŠă‘ă‚‹ă‘ă©ăˇăĽă‚żă®ĺ€¤ăŻă‚ąă‚żăă‚Żă¬ă™ă«$s+1$ă«
  ć&nbsp;Ľç´Ťă•ă‚Śă¦ă„ă‚‹ďĽŽ
%&lt;/ja&gt;

%&lt;*en&gt;
\item If there are \textit{stack\_flag} nodes but all of their values
      are more than~$t+1$, then an assignment was occurred in the box,
      but it is done in more internal group. Hence values of
      parameters at the end of the hbox are stored in the stack
      level~$s$.
%&lt;/en&gt;
%&lt;*ja&gt;
\item ă‚‚ă—\textit{stack\_flag}ăŽăĽă‰ăŚă‚ă‚‹ăŚăťă‚Śă‚‰ă®ĺ€¤ăŚĺ…¨ă¦$t+1$ă‚ă‚Šĺ¤§ăŤă„
  ĺ&nbsp;´ĺďĽŚăťă®ăśăă‚Żă‚ąă®ä¸­ă§ä»Łĺ…ĄăŚčµ·ă“ăŁăźăŚďĽŚăťă‚ŚăŻă€Śă‚ă‚Šĺ†…é¨ă®ă€Ťă‚°ă«ăĽă—ă§
  čµ·ă“ăŁăźă¨ă„ă†ă“ă¨ă«ăŞă‚‹ďĽŽă—ăźăŚăŁă¦ďĽŚhboxă®çµ‚ă‚Źă‚Šă§ă®ă‘ă©ăˇăĽă‚żă®
  ĺ€¤ăŻă‚ąă‚żăă‚Żă¬ă™ă«$s$ă«ć&nbsp;Ľç´Ťă•ă‚Śă¦ă„ă‚‹ďĽŽ
%&lt;/ja&gt;
\end{itemize}

%&lt;*en&gt;
Note that to work this trick correctly, assignments to
\verb+\ltj@@stack+ and \verb+\ltj@@group@level+ have to be local always,
regardless the value of \cs{globaldefs}.
To solve this problem, we use another trick: the assignment
\hbox{\verb+\directlua{tex.globaldefs=0}+} is always local.
%&lt;/en&gt;
%&lt;*ja&gt;
ă“ă®ăăŞăă‚Żă‚’ć­Łă—ăŹĺŤă‹ă›ă‚‹ăźă‚ă«ăŻďĽŚ\verb+\ltj@@stack+ ă¨ \verb+\ltj@@group@level+ ă¸ă®
ä»Łĺ…ĄăŻ \cs{globaldefs} ă®ĺ€¤ă«ă‚ă‚‰ăšĺ¸¸ă«ă­ăĽă‚«ă«ă§ăŞă‘ă‚Śă°ăŞă‚‰ăŞă„ă“ă¨ă«ćł¨ć„Źă™ă‚‹ďĽŽ
ă“ă®ĺ•ŹéˇŚăŻ \hbox{\verb+\directlua{tex.globaldefs=0}+}ďĽă“ă®ä»Łĺ…ĄăŻĺ¸¸ă«ă­ăĽă‚«ă«ďĽ‰ă‚’
ç”¨ă„ă‚‹ă“ă¨ă§č§Łć±şă—ă¦ă„ă‚‹ďĽŽ
%&lt;/ja&gt;

%&lt;*en&gt;
\subsection{Lua functions of the stack system}
In this subsection, we will see how a user use \LuaTeX-ja's stack system to
store some data which obeys the grouping of \TeX.
%&lt;/en&gt;
%&lt;*ja&gt;
\subsection{ă‚ąă‚żăă‚Żă‚·ă‚ąă†ă&nbsp;ă§ä˝żç”¨ă•ă‚Śă‚‹é–˘ć•°}
ćś¬çŻ€ă§ăŻďĽŚă¦ăĽă‚¶ăŚ\LuaTeX-jaă®ă‚ąă‚żăă‚Żă‚·ă‚ąă†ă&nbsp;ă‚’ä˝żç”¨ă—ă¦ďĽŚ
\TeX ă®ă‚°ă«ăĽă”ăłă‚°ă«ĺľ“ă†ă‚ă†ăŞ
ç‹¬č‡Şă®ă‡ăĽă‚żă‚’ĺŹ–ă‚Šć‰±ă†ć–ąćł•ă‚’čż°ăąă‚‹ďĽŽ
%&lt;/ja&gt;

%&lt;*en&gt;
The following function can be used to store data into a stack:
\begin{lstlisting}
luatexja.stack.set_stack_table(index, &lt;any&gt; data)
\end{lstlisting}
Any values which except \texttt{nil}~and~NaN are usable as \textit{index}.
However, a user should use only negative integers or strings as \textit{index},
since natural numbers are used by \LuaTeX-ja itself.
Also, whether \textit{data} is stored locally or globally
is determined by \texttt{luatexja.isglobal}
(stored globally if and only if \texttt{luatexja.isglobal == 'global'}).
%&lt;/en&gt;
%&lt;*ja&gt;
ă‚ąă‚żăă‚Żă«ĺ€¤ă‚’č¨­ĺ®šă™ă‚‹ă«ăŻďĽŚä»Ąä¸‹ă®Luaé–˘ć•°ă‚’ĺ‘Ľăłĺ‡şă›ă°č‰Żă„ďĽš
\begin{lstlisting}
luatexja.stack.set_stack_table(&lt;any&gt; index, &lt;any&gt; data)
\end{lstlisting}
ç›´ć„źçš„ă«ăŻďĽŚă‚ąă‚żăă‚Żă†ăĽă–ă«ä¸­ă®ă‚¤ăłă‡ăă‚Żă‚ą\textit{index}ă®ĺ€¤ă‚’\textit{data}ă«ă™ă‚‹ďĽŚă¨ă„ă†ć„Źĺ‘łă§ă‚ă‚‹ďĽŽ
\textit{index}ă®ĺ€¤ă¨ă—ă¦ăŻ \texttt{nil} ă¨NaNä»Ąĺ¤–ă®ä»»ć„Źă®ĺ€¤ă‚’ä˝żăă‚‹ăŚďĽŚ
č‡Şç„¶ć•°ăŻ\LuaTeX-jaăŚä˝żç”¨ă™ă‚‹ďĽĺ°†ćťĄă®ć‹ˇĺĽµç”¨ă‚‚ĺ«ă‚€ďĽ‰ă®ă§ďĽŚ
ă¦ăĽă‚¶ăŚä˝żç”¨ă™ă‚‹ĺ&nbsp;´ĺăŻč˛&nbsp;ă®ć•´ć•°ĺ€¤ă‹ć–‡ĺ­—ĺ—ă®ĺ€¤ă«ă™ă‚‹ă“ă¨ăŚćś›ăľă—ă„ďĽŽ
ăľăźďĽŚă­ăĽă‚«ă«ă«č¨­ĺ®šă•ă‚Śă‚‹ă‹ă‚°ă­ăĽăă«ă«č¨­ĺ®šă•ă‚Śă‚‹ă‹ăŻďĽŚ\texttt{luatexja.isglobal} ă®ĺ€¤ă«äľťĺ­ă™ă‚‹
ďĽă‚°ă­ăĽăă«ă«č¨­ĺ®šă•ă‚Śă‚‹ă®ăŻďĽŚ\texttt{luatexja.isglobal == 'global'} ă§ă‚ă‚‹ăˇă‚‡ă†ă©ăťă®ć™‚ďĽ‰ďĽŽ
%&lt;/ja&gt;

%&lt;*en&gt;
Stored data can be obtained as the return value of
\begin{lstlisting}
luatexja.stack.get_stack_table(index, &lt;any&gt; default, &lt;number&gt; level)
\end{lstlisting}
where \textit{level} is the stack level, which is usually the value of \verb+\ltj@@stack+,
and \textit{default} is the default value which will be returned if no values are stored
in the stack table whose level is \textit{level}.
%&lt;/en&gt;
%&lt;*ja&gt;
ă‚ąă‚żăă‚Żă®ĺ€¤ăŻďĽŚ
\begin{lstlisting}
luatexja.stack.get_stack_table(&lt;any&gt; index, &lt;any&gt; default, &lt;number&gt; level)
\end{lstlisting}
ă®ć»ă‚Šĺ€¤ă§ĺŹ–ĺľ—ă§ăŤă‚‹ďĽŽ\textit{level}ăŻă‚ąă‚żăă‚Żă¬ă™ă«ă§ă‚ă‚ŠďĽŚ
é€šĺ¸¸ăŻ \verb+\ltj@@stack+ ă®ĺ€¤ă‚’ćŚ‡ĺ®šă™ă‚‹ă“ă¨ă«ăŞă‚‹ă&nbsp;ă‚Ťă†ďĽŽ
\textit{default}ăŻă¬ă™ă«\textit{level}ă®ă‚ąă‚żăă‚Żă«ĺ€¤ăŚč¨­ĺ®šă•ă‚Śă¦ă„ăŞă‹ăŁăźĺ&nbsp;´ĺă«
čż”ă™ă‡ă•ă‚©ă«ăĺ€¤ă§ă‚ă‚‹ďĽŽ
%&lt;/ja&gt;

\begin{figure}[tb]
\begin{lstlisting}[numbers=left, firstnumber=380]
\protected\def\ltj@setpar@global{%
  \relax\ifnum\globaldefs&gt;0\directlua{luatexja.isglobal='global'}%
    \else\directlua{luatexja.isglobal=''}\fi
}
\protected\def\ltjsetparameter#1{%
  \ltj@setpar@global\setkeys[ltj]{japaram}{#1}\ignorespaces}
\protected\def\ltjglobalsetparameter#1{%
  \relax\ifnum\globaldefs&lt;0\directlua{luatexja.isglobal=''}%
    \else\directlua{luatexja.isglobal='global'}\fi%
  \setkeys[ltj]{japaram}{#1}\ignorespaces}
\end{lstlisting}
%&lt;ja&gt;\caption{ă‘ă©ăˇăĽă‚żč¨­ĺ®šĺ‘˝ä»¤ă®ĺ®šçľ©}
%&lt;en&gt;\caption{Definiton of parameter setting commands}
\label{fig:setpar-def}
\end{figure}

%&lt;*en&gt;
\subsection{Extending Parameters}
Keys for \cs{ltjsetparameter}~and~\cs{ltjgetparameter} can be extended,
as in \Pkg{luatexja-adjust}.
%&lt;/en&gt;
%&lt;*ja&gt;
\subsection{ă‘ă©ăˇăĽă‚żă®ć‹ˇĺĽµ}
ă“ă“ă§ăŻďĽŚ\Pkg{luatexja-adjust}ă§čˇŚăŞăŁă¦ă„ă‚‹ă‚ă†ă«ďĽŚ
\cs{ltjsetparameter},~\cs{ltjgetparameter}ă«ćŚ‡ĺ®šĺŹŻč˝ăŞă‚­ăĽă‚’čż˝ĺŠ&nbsp;ă™ă‚‹ć–ąćł•
ă‚’čż°ăąă‚‹ďĽŽ
%&lt;/ja&gt;

%&lt;*en&gt;
\paragraph{Setting parameters}
\autoref{fig:setpar-def} shows the \emph{most outer} definition of
two commands,
\cs{ltjsetparameter} and \cs{ltjglobalsetparameter}.
Most important part is the last \cs{setkeys},
which is offered by the \Pkg{xkeyval} package.

Hence, to add a key in \cs{ltjsetparameter}, one only have to add a key
whose prefix is \texttt{ltj} and whose family is \texttt{japaram}, as the following.
\begin{lstlisting}
\define@key[ltj]{japaram}{...}{...}
\end{lstlisting}

\cs{ltjsetparameter}~and~\cs{ltjglobalsetparameter} automatically sets
\texttt{luatexja.isglobal}. Its meaning is the following.
\begin{align}
 \texttt{luatexja.isglobal} =
\begin{cases*}
 \texttt{'global'}&amp;(global assignment),\\
 \texttt{''}&amp;(local assignment).
\end{cases*}
\end{align}
This is determined not only by command name
(\cs{ltjsetparameter}~or~\cs{ltjglobalsetparameter}),
but also by the value of \cs{globaldefs}.
%&lt;/en&gt;
%&lt;*ja&gt;
\paragraph{ă‘ă©ăˇăĽă‚żă®č¨­ĺ®š}
\cs{ltjsetparameter}ă¨ďĽŚ\cs{ltjglobalsetparameter}ă®ĺ®šçľ©ăŻ\autoref{fig:setpar-def}ă®
ă®ă‚ă†ă«ăŞăŁă¦ă„ă‚‹ďĽŽ
ćś¬čłŞçš„ăŞă®ăŻćś€ĺľŚă®\cs{setkeys}ă§ďĽŚă“ă‚ŚăŻ\Pkg{xkeyval}ă‘ăă‚±ăĽă‚¸ă®ćŹäľ›ă™ă‚‹ĺ‘˝ä»¤ă§ă‚ă‚‹ďĽŽ

ă“ă®ăźă‚ďĽŚ\cs{ltjsetparameter}ă«ćŚ‡ĺ®šĺŹŻč˝ăŞă‘ă©ăˇăĽă‚żă‚’čż˝ĺŠ&nbsp;ă™ă‚‹ă«ăŻďĽŚ
\meta{prefix}ă‚’\texttt{ltj}ďĽŚ\meta{family}ă‚’\texttt{japaram}ă¨ă—ăźă‚­ăĽă‚’
\begin{lstlisting}
\define@key[ltj]{japaram}{...}{...}
\end{lstlisting}
ă®ă‚ă†ă«ĺ®šçľ©ă™ă‚Śă°č‰Żă„ă&nbsp;ă‘ă§ă‚ă‚‹ďĽŽ
ăŞăŠďĽŚă‘ă©ăˇăĽă‚żćŚ‡ĺ®šăŚă‚°ă­ăĽăă«ă‹ă­ăĽă‚«ă«ă‹ă©ă†ă‹ă‚’ç¤şă™\texttt{luatexja.isglobal}ăŚďĽŚ
\begin{align}
 \texttt{luatexja.isglobal} =
\begin{cases*}
 \texttt{'global'}&amp;ďĽă‘ă©ăˇăĽă‚żč¨­ĺ®šăŻă‚°ă­ăĽăă«ďĽ‰ďĽŚ\\
 \texttt{''}&amp;ďĽă‘ă©ăˇăĽă‚żč¨­ĺ®šăŻă­ăĽă‚«ă«ďĽ‰ďĽŽ
\end{cases*}
\end{align}
ă¨ă—ă¦č‡Şĺ‹•çš„ă«ă‚»ăăă•ă‚Śă‚‹\footnote{ĺ‘˝ä»¤ăŚ\cs{ltjglobalsetparameter}ă‹ă©ă†ă‹ă&nbsp;ă‘ă§ăŻ
ăŞăŹďĽŚĺ®źčˇŚć™‚ă®\cs{globaldefs}ă®ĺ€¤ă«ă‚‚äľťĺ­ă—ă¦ĺ®šăľă‚‹ďĽŽ}ďĽŽ
%&lt;/ja&gt;

%&lt;*en&gt;
\paragraph{Getting parameters}
\cs{ltjgetparameter} is implemented by a Lua script.

For parameters that do not need additional arguments, one only have to
define a function in the table \verb+luatexja.unary_pars+.
For example, with the following function,
\verb+\ltjgetparameter{hoge}+ returns a \emph{string} \texttt{42}.
\begin{lstlisting}[numbers=left]
function luatexja.unary_pars.hoge (t)
  return 42
end
\end{lstlisting}
Here the argument of \verb+luatexja.unary_pars.hoge+ is
the stack level of \LuaTeX-ja's stack system (see Subsection~\ref{ssec:stack}).

On the other hand, for parameters that need an additional argument
(this must be an integer), one have to define a function in
\verb+luatexja.binary_pars+ first. For example,
\begin{lstlisting}[numbers=left]
function luatexja.binary_pars.fuga (c, t)
  return tostring(c) .. ', ' .. tostring(42)
end
\end{lstlisting}
Here the first argument $t$ is the stack level, as before.
The second argument $c$ is just the second argument of \cs{ltjgetparameter}.

For parameters that need an additional argument, one also have to
execute the \TeX\ code like
\begin{lstlisting}
\ltj@@decl@array@param{fuga}
\end{lstlisting}
to indicate that ``the parameter \texttt{fuga} needs an additional argument''.
%&lt;/en&gt;
%&lt;*ja&gt;
\paragraph{ă‘ă©ăˇăĽă‚żă®ĺŹ–ĺľ—}
ä¸€ć–ąďĽŚ\cs{ltjgetparameter} ăŻLuaă‚ąă‚ŻăŞă—ăă«ă‚ăŁă¦ĺ®źčŁ…ă•ă‚Śă¦ă„ă‚‹ďĽŽ
ĺ€¤ă‚’ĺŹ–ĺľ—ă™ă‚‹ă®ă«čż˝ĺŠ&nbsp;ĺĽ•ć•°ă®č¦ă‚‰ăŞă„ă‘ă©ăˇăĽă‚żă«ă¤ă„ă¦ăŻďĽŚ\verb+luatexja.unary_pars+\
ĺ†…ă«ĺ‡¦ç†ĺ†…ĺ®ąă‚’č¨čż°ă—ăźé–˘ć•°ă‚’ĺ®šçľ©ă™ă‚Śă°č‰Żă„ďĽŽäľ‹ăă°ďĽŚLuaă‚ąă‚ŻăŞă—ăă§
\begin{lstlisting}[numbers=left]
function luatexja.unary_pars.hoge (t)
  return 42
end
\end{lstlisting}
ă‚’ĺ®źčˇŚă™ă‚‹ă¨ďĽŚ\verb+\ltjgetparameter{hoge}+ ăŻ \texttt{42} ă¨ă„ă†\emph{ć–‡ĺ­—ĺ—}ă‚’čż”ă™ďĽŽ
é–˘ć•° \verb+luatexja.unary_pars.hoge+ ă®ĺĽ•ć•°$t$ăŻďĽŚ\ref{ssec:stack}çŻ€ă§čż°ăąăź
\LuaTeX-jaă®ă‚ąă‚żăă‚Żă‚·ă‚ąă†ă&nbsp;ă«ăŠă‘ă‚‹ă‚ąă‚żăă‚Żă¬ă™ă«ă§ă‚ă‚‹ďĽŽ
ć»ă‚Šĺ€¤ăŻă„ă‹ăŞă‚‹ĺ€¤ă§ă‚ăŁă¦ă‚‚ďĽŚćś€çµ‚çš„ă«ăŻć–‡ĺ­—ĺ—ă¨ă—ă¦ĺ‡şĺŠ›ă•ă‚Śă‚‹ă“ă¨ă«ćł¨ć„ŹďĽŽ

ä¸€ć–ąďĽŚčż˝ĺŠ&nbsp;ĺĽ•ć•°ďĽ\emph{ć•°ĺ€¤ă—ă‹č¨±ĺ®ąă—ăŞă„}ďĽ‰ăŚĺż…č¦ăŞă‘ă©ăˇăĽă‚żă«ă¤ă„ă¦ăŻďĽŚ
ăľăšLuaă‚ąă‚ŻăŞă—ăă§ĺ‡¦ç†ĺ†…ĺ®ąă®ćś¬ä˝“ă‚’č¨čż°ă—ă¦ăŠăŹďĽš
\begin{lstlisting}[numbers=left]
function luatexja.binary_pars.fuga (c, t)
  return tostring(c) .. ', ' .. tostring(42)
end
\end{lstlisting}
ĺĽ•ć•°$t$ăŻďĽŚĺ…ă«čż°ăąăźé€šă‚Šă®ă‚ąă‚żăă‚Żă¬ă™ă«ă§ă‚ă‚‹ďĽŽä¸€ć–ąďĽŚĺĽ•ć•°$c$ăŻ\
\cs{ltjgetparameter} ă®ç¬¬2ĺĽ•ć•°ă‚’čˇ¨ă™ć•°ĺ€¤ă§ă‚ă‚‹ďĽŽ
ă—ă‹ă—ă“ă‚Śă&nbsp;ă‘ă§ăŻé§„ç›®ă§ďĽŚ
\begin{lstlisting}
\ltj@@decl@array@param{fuga}
\end{lstlisting}
ă‚’ĺ®źčˇŚă—ďĽŚ\TeX ă‚¤ăłă‚żăĽă•ă‚§ăĽă‚ąĺ´ă«
ă€Ś\verb+\ltjgetparameter{fuga}+ ăŻčż˝ĺŠ&nbsp;ĺĽ•ć•°ăŚĺż…č¦ă€Ťă¨ă„ă†ă“ă¨ă‚’é€šçźĄă™ă‚‹ĺż…č¦ăŚă‚ă‚‹ďĽŽ
%&lt;/ja&gt;

%&lt;en&gt;\section{Linebreak after a Japanese Character}
%&lt;ja&gt;\section{ĺ’Ść–‡ć–‡ĺ­—ç›´ĺľŚă®ć”ąčˇŚ}
\label{sec-lbreak}
%&lt;en&gt;\subsection{Reference: behavior in \pTeX}
%&lt;ja&gt;\subsection{ĺŹ‚č€ďĽš\pTeX ă®ĺ‹•ä˝ś}
%&lt;*en&gt;
In~\pTeX, a line break after a Japanese character doesn't emit a space,
since words are not separated by spaces in Japanese writings. However,
this feature isn't fully implemented in \LuaTeX-ja due to the
specification of callbacks in~\LuaTeX. To clarify the difference between
\pTeX~and~\LuaTeX, We briefly describe the handling of a line break in~\pTeX, in
this subsection.

\pTeX's input processor can be described in terms of a finite state
automaton, as that of~\TeX\ in~Section~2.5 of~\cite{texbytopic}. The
internal states are as follows:
\begin{itemize}
\item State~$N$: new line
\item State~$S$: skipping spaces
\item State~$M$: middle of line
\item State~$K$: after a Japanese character
\end{itemize}
The first three states---$N$,~$S$, and~$M$---are as same as \TeX's input
processor.  State~$K$ is similar to state~$M$, and is entered after
Japanese characters.  The diagram of state transitions are indicated in
\autoref{fig:ptexipro}.  Note that \pTeX\ doesn't leave state~$K$
after ``beginning/ending of a group'' characters.
%&lt;/en&gt;

%&lt;*ja&gt;
ć¬§ć–‡ă§ăŻć–‡ç«&nbsp;ă®ć”ąčˇŚăŻĺŤčŞžé–“ă§ă—ă‹čˇŚă‚ŹăŞă„ďĽŽăťă®ăźă‚ďĽŚ\TeX ă§ăŻďĽŚďĽć–‡ĺ­—ă®ç›´ĺľŚă®ďĽ‰ć”ąčˇŚăŻ
ç©şç™˝ć–‡ĺ­—ă¨ĺŚăć‰±ă„ă¨ă—ă¦ć‰±ă‚Źă‚Śă‚‹ďĽŽä¸€ć–ąďĽŚĺ’Ść–‡ă§ăŻă»ă¨ă‚“ă©ă©ă“ă§ă‚‚ć”ąčˇŚăŚĺŹŻč˝ăŞăźă‚ďĽŚ
\pTeX ă§ăŻĺ’Ść–‡ć–‡ĺ­—ă®ç›´ĺľŚă®ć”ąčˇŚăŻĺŤç´”ă«ç„ˇč¦–ă•ă‚Śă‚‹ă‚ă†ă«ăŞăŁă¦ă„ă‚‹ďĽŽ

ă“ă®ă‚ă†ăŞĺ‹•ä˝śăŻďĽŚ\pTeX ăŚ\TeX ă‹ă‚‰ă‚¨ăłă‚¸ăłă¨ă—ă¦ć‹ˇĺĽµă•ă‚Śăźă“ă¨ă«ă‚ăŁă¦ĺŹŻč˝ă«ăŞăŁăźă“ă¨ă§ă‚ă‚‹ďĽŽ
\pTeX ă®ĺ…ĄĺŠ›ĺ‡¦ç†é¨ăŻďĽŚ\TeX ă«ăŠă‘ă‚‹ăťă‚Śă¨ĺŚăă‚ă†ă«ďĽŚćś‰é™ă‚ŞăĽăăžăăłă¨ă—ă¦č¨čż°ă™ă‚‹ă“ă¨ăŚă§ăŤďĽŚ
ä»Ąä¸‹ă«čż°ăąă‚‹ă‚ă†ăŞ4çŠ¶ć…‹ă‚’ćŚăŁă¦ă„ă‚‹ďĽŽ

\begin{itemize}
\item State~$N$: čˇŚă®é–‹ĺ§‹ďĽŽ
\item State~$S$: ç©şç™˝čŞ­ăżéŁ›ă°ă—ďĽŽ
\item State~$M$: čˇŚä¸­ďĽŽ
\item State~$K$: čˇŚä¸­ďĽĺ’Ść–‡ć–‡ĺ­—ă®ĺľŚďĽ‰ďĽŽ
\end{itemize}
ăľăźďĽŚçŠ¶ć…‹é·ç§»ăŻďĽŚ\autoref{fig:ptexipro}ă®ă‚ă†ă«ăŞăŁă¦ăŠă‚ŠďĽŚĺ›łä¸­ă®ć•°ĺ­—ăŻ
ă‚«ă†ă‚´ăŞăĽă‚łăĽă‰ă‚’čˇ¨ă—ă¦ă„ă‚‹ďĽŽćś€ĺťă®3çŠ¶ć…‹ăŻ\TeX ă®ĺ…ĄĺŠ›ĺ‡¦ç†é¨ă¨ĺŚăă§ă‚ă‚ŠďĽŚ
ĺ›łä¸­ă‹ă‚‰çŠ¶ć…‹$K$ă¨ă€Ś$j$ă€Ťă¨ć›¸ă‹ă‚Śăźçź˘ĺŤ°ă‚’ĺŹ–ă‚Šé™¤ă‘ă°ďĽŚ\TeX ă®ĺ…ĄĺŠ›ĺ‡¦ç†é¨ă¨ĺŚ
ăă‚‚ă®ă«ăŞă‚‹ďĽŽ

ă“ă®ĺ›łă‹ă‚‰ĺ†ă‹ă‚‹ă“ă¨ăŻďĽŚ
\begin{quote}
čˇŚăŚĺ’Ść–‡ć–‡ĺ­—ďĽă¨ă‚°ă«ăĽă—ĺ˘ç•Ść–‡ĺ­—ďĽ‰ă§çµ‚ă‚ŹăŁă¦ă„ă‚Śă°ďĽŚć”ąčˇŚăŻç„ˇč¦–ă•ă‚Śă‚‹
\end{quote}
ă¨ă„ă†ă“ă¨ă§ă‚ă‚‹ďĽŽ
%&lt;/ja&gt;

\begin{figure}[!tb]
\let\sp\textvisiblespace\small
\begin{minipage}{.6\textwidth}%
\begin{center}
\unitlength=6.5mm\sf\mathversion{bold}
\begin{tikzpicture}[
  -&gt;, auto, shorten &gt;=1pt
]
\node [shape=rectangle, font=\scriptsize] (init) at (2,7) {start};
\node [shape=circle,draw, fill=b_cyan] (newline) at (4,7) {$N$};
\node [shape=circle,draw, fill=b_cyan] (midline) at (4,4) {$M$};
\node [shape=circle,draw, fill=b_cyan] (skipspc) at (8,7) {$S$};
\node [shape=circle,draw, fill=b_pink]  (kanji) at (8,4) {$K$};
\node [shape=rectangle,draw, fill=b_green] (scanacs) at (6,8) {scan a c.s.};
\node (endk) at (8,2.5) {} ;
\node (endm) at (4,2.5) {} ;
\node (ends) at (8,8.5) {} ;
\node (endn) at (4,8.5) {} ;
\begin{scope}[font=\scriptsize]
\path (newline) edge [bend right]    node [left]{G, O} (midline)
      (init)    edge                 node {} (newline)
      (midline) edge [bend right=10] node {10} (skipspc)
      (skipspc) edge [bend right]    node [left,right=10,above=7]{G, O} (midline)
      (skipspc) edge [loop right]    node {10} (skipspc)
      (newline) edge [loop right]    node {10} (newline)
      (scanacs) edge [bend left]     node [left=3,below]{$(*)$} (skipspc)
      (scanacs) edge [bend right]    node [right=30,above=20]{$(*)$} (midline)
      (midline) edge                 node {5\ [\sp]} (endm)
      (midline) edge [loop left]     node {G, O} (midline)
      (skipspc) edge                 node [right] {5} (ends)
      (newline) edge                 node {5 [\cs{par}]} (endn);
\begin{scope}[red]
\path (newline) edge [bend right]    node [right=25,below=3]{J} (kanji)
      (midline) edge                 node [below]{J} (kanji)
      (kanji)   edge [bend left]     node {O} (midline)
      (kanji)   edge                 node {10} (skipspc)
      (kanji)   edge [loop right]    node {G, J} (kanji)
      (skipspc) edge [bend left]     node {J} (kanji)
      (kanji)   edge                 node {5} (endk)
;
\end{scope}
\end{scope}
\end{tikzpicture}
\end{center}
\end{minipage}%
\begin{minipage}{.4\textwidth}
\begin{description}
\item[\textsf{G}] Beginning of group (usually \verb+{+)\\
 and ending of group (usually \verb+}+).
\item[\textsf{J}] Japanese characters.
\item[\textsf{5}] \textit{end-of-line} (usually \verb+^+\verb+^J+).
\item[\textsf{10}] space (usually \sp).
\item[\textsf{O}] other characters, whose category code is in $\{3,4,6,7,8,11,12,13\}$.
\item[\textsf{[\sp]}, \textsf{[\cs{par}]}]
emits a space, or~\cs{par}.
\end{description}
\end{minipage}
\begin{itemize}
\item We omitted about category codes
9~(\textit{ignored}), 14~(\textit{comment}), and~15~(\textit{invalid})
from the above diagram. We also ignored the input like ``\verb+^+\verb+^A+'' or ``\verb+^+\verb+^df+''.
\item When a character whose category code is 0 (\textit{escape character}) is seen by \TeX,
the input processor scans a control sequence (\textsf{scan a c.s.}).
These paths are not shown in the above diagram.

After that, the state is changed to State~$S$ (skipping blanks) in most cases, but
to State~$M$ (middle of line) sometimes.
\end{itemize}
%&lt;en&gt;\caption{State transitions of \pTeX's input processor}
%&lt;ja&gt;\caption{\pTeX ă®ĺ…ĄĺŠ›ĺ‡¦ç†é¨ă®çŠ¶ć…‹é·ç§»}
\label{fig:ptexipro}
\end{figure}


%&lt;en&gt;\subsection{Behavior in \LuaTeX-ja}
%&lt;ja&gt;\subsection{\LuaTeX-jaă®ĺ‹•ä˝ś}
  \label{ssec:lineend}
%&lt;*en&gt;
States in the input processor of \LuaTeX\ is the same as that of \TeX,
and they can't be customized by any callbacks. Hence, we can only use
\verb+process_input_buffer+ and \verb+token_filter+ callbacks for to
suppress a space by a line break which is after Japanese characters.

However, \verb+token_filter+ callback cannot be used either, since a
character in category code 5~(\textit{end-of-line}) is converted into an space
token \emph{in the input processor}.  So we can use only the
\verb+process_input_buffer+ callback.  This means that suppressing a
space must be done \emph{just before} an input line is read.

Considering these situations, handling of an end-of-line in \LuaTeX-ja are as follows:
\begin{quote}
A character whose character code is \cs{ltjlineendcomment}%
\footnote{Its default value is \texttt{"FFFFF}, so  \texttt{U+FFFFF} is used.
The category code of \texttt{U+FFFFF} is set to 14~(\textit{comment}) by
\LuaTeX-ja.} is appended to an input line, \emph{before \LuaTeX\ actually
process it}, if and only if the following three conditions are satisfied:
\begin{enumerate}
\item The category code of \cs{endlinechar}%
\footnote{Usually, it is $\langle$\textit{return}$\rangle$
      (whose character code is 13).} is 5~(\textit{end-of-line}).
\item The category code of \cs{ltjlineendcomment} itself is 14~(\textit{comment}).
\item The input line matches the following ``regular expression'':
\[
  (\text{any char})^*(\textbf{JAchar})
  \bigl(\{\text{catcode}=1\}\cup\{\text{catcode}=2\}\bigr)^*
\]
\end{enumerate}
\end{quote}

\paragraph{Remark}
The following example shows the major difference from the behavior of \pTeX.
\begin{LTXexample}
\fontspec[Ligatures=TeX]{Linux Libertine O}
\ltjsetparameter{autoxspacing=false}
\ltjsetparameter{jacharrange={-6}}xă‚
y\ltjsetparameter{jacharrange={+6}}ză„
u
\end{LTXexample}
It is not strange that ``ă‚'' does not printed in the above output.
This is because \TeX\ Gyre\ Termes does not contain ``ă‚'', and because
``ă‚'' in line~3 is considered as an \textbf{ALchar}.

Note that there is no space before ``y'' in the output, but
there is a space before ``u''. This follows from following reasons:
\begin{itemize}
\item When line~3 is processed by \texttt{process\_input\_buffer} callback,
``ă‚'' is considered as an \textbf{JAchar}.
Since  line~3 ends with an \textbf{JAchar},
the comment character (whose character code is \cs{ltjlineendcomment}) is appended to this line,
and hence the linebreak immediately after this line is ignored.
\item When line~4 is processed by \texttt{process\_input\_buffer} callback,
``ă„'' is considered as an \textbf{ALchar}.
Since  line~4 ends with an \textbf{ALchar}, the linebreak immediately after this line
emits a space.
\end{itemize}
%&lt;/en&gt;

%&lt;*ja&gt;
\LuaTeX ă®ĺ…ĄĺŠ›ĺ‡¦ç†é¨ăŻ\TeX ă®ăťă‚Śă¨ĺ…¨ăŹĺŚăă§ă‚ă‚ŠďĽŚă‚łăĽă«ăăă‚Żă«ă‚ă‚Šă¦ăĽă‚¶ăŚ
ă‚«ă‚ąă‚żăžă‚¤ă‚şă™ă‚‹ă“ă¨ăŻă§ăŤăŞă„ďĽŽă“ă®ăźă‚ďĽŚć”ąčˇŚćŠ‘ĺ¶ă®ç›®çš„ă§ă¦ăĽă‚¶ăŚĺ©ç”¨ă§
ăŤăťă†ăŞă‚łăĽă«ăăă‚Żă¨ă—ă¦ăŻďĽŚ\verb+process_input_buffer+ă‚„
\verb+token_filter+ă«é™ă‚‰ă‚Śă¦ă—ăľă†ďĽŽă—ă‹ă—ďĽŚ\TeX ă®ĺ…ĄĺŠ›ĺ‡¦ç†é¨ă‚’ă‚ăŹč¦‹ă‚‹
ă¨ďĽŚĺľŚč€…ă‚‚ĺ˝ąă«ăŻçµŚăźăŞă„ă“ă¨ăŚĺ†ă‹ă‚‹ďĽšć”ąčˇŚć–‡ĺ­—ăŻďĽŚĺ…ĄĺŠ›ĺ‡¦ç†é¨ă«ă‚ăŁă¦ăăĽ
ă‚ŻăłĺŚ–ă•ă‚Śă‚‹ć™‚ă«ďĽŚă‚«ă†ă‚´ăŞăĽă‚łăĽă‰10ă®32ç•Şć–‡ĺ­—ă¸ă¨ç˝®ăŤćŹ›ăă‚‰ă‚Śă¦ă—ăľă†ăź
ă‚ďĽŚ\verb+token_filter+ă§éťžć¨™ćş–ăŞăăĽă‚ŻăłčŞ­ăżĺ‡şă—ă‚’čˇŚăŠă†ă¨ă—ă¦ă‚‚ďĽŚç©şç™˝ć–‡
ĺ­—ç”±ćťĄă®ăăĽă‚Żăłă¨ďĽŚć”ąčˇŚć–‡ĺ­—ç”±ćťĄă®ăăĽă‚ŻăłăŻĺŚşĺĄă§ăŤăŞă„ă®ă&nbsp;ďĽŽ

ă™ă‚‹ă¨ďĽŚć‘ă€…ă®ă¨ă‚Śă‚‹é“ăŻďĽŚ\verb+process_input_buffer+ă‚’ç”¨ă„ă¦
\LuaTeX ă®ĺ…ĄĺŠ›ĺ‡¦ç†é¨ă«ĺĽ•ăŤć¸ˇă•ă‚Śă‚‹ĺ‰Ťă«ĺ…ĄĺŠ›ć–‡ĺ­—ĺ—ă‚’ç·¨é›†ă™ă‚‹ă¨ă„ă†ă‚‚ă®ă—ă‹ăŞă„ďĽŽ
ä»Ąä¸Šă‚’č¸ŹăľăďĽŚ\LuaTeX-jaă«ăŠă‘ă‚‹ă€Śĺ’Ść–‡ć–‡ĺ­—ç›´ĺľŚă®ć”ąčˇŚćŠ‘ĺ¶ă€Ťă®ĺ‡¦ç†ăŻďĽŚć¬ˇă®ă‚ă†ă«ăŞăŁă¦ă„ă‚‹ďĽš

\begin{quote}
ĺ„ĺ…ĄĺŠ›čˇŚă«ĺŻľă—ďĽŚ\emph{ăťă®ĺ…ĄĺŠ›čˇŚăŚčŞ­ăľă‚Śă‚‹ĺ‰Ťă®ĺ†…é¨çŠ¶ć…‹ă§}
ä»Ąä¸‹ă®3ćťˇä»¶ăŚćş€ăźă•ă‚Śă¦ă„ă‚‹ĺ&nbsp;´ĺďĽŚ\LuaTeX-jaăŻ\cs{ltjlineendcomment}ç•Şă®ć–‡ĺ­—
\footnote{\cs{ltjlineendcomment}ă®ć—˘ĺ®šĺ€¤ăŻ\texttt{"FFFFF}ă§ă‚ă‚‹ă®ă§ďĽŚ
  ć—˘ĺ®šă§ăŻ\texttt{U+FFFFF}ăŚä˝żă‚Źă‚Śă‚‹ă“ă¨ă«ăŞă‚‹ďĽŽă“ă®ć–‡ĺ­—ăŻă‚łăˇăłăć–‡ĺ­—ă¨ă—ă¦ć‰±ă‚Źă‚Śă‚‹ă‚ă†ă«
  \LuaTeX-jaĺ†…é¨ă§č¨­ĺ®šă‚’ă—ă¦ă„ă‚‹ďĽŽ}%
ă‚’ćś«ĺ°ľă«čż˝ĺŠ&nbsp;ă™ă‚‹ďĽŽă‚ăŁă¦ďĽŚăťă®ĺ&nbsp;´ĺă«ć”ąčˇŚăŻç©şç™˝ă¨ăŻč¦‹ĺšă•ă‚ŚăŞă„ă“ă¨ă¨ăŞă‚‹ďĽŽ
\begin{enumerate}
\item \cs{endlinechar}ă®ć–‡ĺ­—\footnote{ć™®é€šăŻďĽŚć”ąčˇŚć–‡ĺ­—ďĽć–‡ĺ­—ă‚łăĽă‰13ç•ŞďĽ‰ă§ă‚ă‚‹ďĽŽ}
ă®ă‚«ă†ă‚´ăŞăĽă‚łăĽă‰ăŚ5~(\textit{end-of-line})ă§ă‚ă‚‹ďĽŽ
\item \cs{ltjlineendcomment}ă®ă‚«ă†ă‚´ăŞăĽă‚łăĽă‰ăŚ14~(\textit{comment})ă§ă‚ă‚‹ďĽŽ
\item ĺ…ĄĺŠ›čˇŚăŻć¬ˇă®ă€Ść­Łč¦Źčˇ¨çŹľă€Ťă«ăžăăă—ă¦ă„ă‚‹ďĽš
\[
  (\text{any char})^*(\textbf{JAchar})
  \bigl(\{\text{catcode}=1\}\cup\{\text{catcode}=2\}\bigr)^*
\]
\end{enumerate}
\end{quote}

ă“ă®ä»•ć§ăŻďĽŚĺ‰ŤçŻ€ă§čż°ăąăź\pTeX ă®ä»•ć§ă«ă§ăŤă‚‹ă&nbsp;ă‘čż‘ăĄă‘ăźă‚‚ă®ă¨ăŞăŁă¦ă„ă‚‹ďĽŽćťˇä»¶1.ăŻďĽŚ
\texttt{lstlisting}çł»ç’°ĺ˘ăŞă©ă®ć—Ąćś¬čŞžĺŻľĺżśăžă‚Żă­ă‚’ć›¸ă‹ăŞăŹă¦ă™ăľă›ă‚‹ăźă‚ă®ă‚‚ă®ă§ă‚ă‚‹ďĽŽ

ă—ă‹ă—ăŞăŚă‚‰ďĽŚ\pTeX ă¨ĺ®Śĺ…¨ă«ĺŚăćŚ™ĺ‹•ăŚĺ®źçŹľă§ăŤăźă‚Źă‘ă§ăŻăŞă„ďĽŽ
ć¬ˇă®ă‚ă†ă«ďĽŚ\textbf{JAchar}ă®çŻ„ĺ›˛ă‚’ĺ¤‰ć›´ă—ăźăˇă‚‡ă†ă©ăťă®čˇŚă«ăŠă„ă¦ăŻćŚ™ĺ‹•ăŚç•°ăŞă‚‹ďĽš
\begin{LTXexample}
\fontspec[Ligatures=TeX]{TeX Gyre Termes}
\ltjsetparameter{autoxspacing=false}
\ltjsetparameter{jacharrange={-6}}xă‚
y\ltjsetparameter{jacharrange={+6}}ză„
u
\end{LTXexample}
ä¸Šă‚˝ăĽă‚ąä¸­ă®ă€Śă‚ă€ŤăŻ\textbf{ALchar}ďĽć¬§ć–‡ć‰±ă„ďĽ‰ă§ă‚ă‚ŠďĽŽ
ă“ă“ă§ä˝żç”¨ă—ă¦ă„ă‚‹ć¬§ć–‡ă•ă‚©ăłă\TeX\ Gyre TermesăŻă€Śă‚ă€Ťă‚’ĺ«ăľăŞă„ďĽŽ
ă‚ăŁă¦ďĽŚĺ‡şĺŠ›ă«ă€Śă‚ă€ŤăŻçŹľă‚ŚăŞă„ă“ă¨ăŻä¸Ťć€ťč­°ă§ăŻăŞă„ďĽŽ
ăťă‚Śă§ă‚‚ďĽŚ\pTeX ă¨ăľăŁăźăŹĺŚăćŚ™ĺ‹•ă‚’ç¤şă™ăŞă‚‰ă°ďĽŚĺ‡şĺŠ›ăŻ
ă€Ś\hbox{\ltjsetparameter{autoxspacing=false}x yză„u}ă€Ťă¨ăŞă‚‹ăŻăšă§ă‚ă‚‹ďĽŽă—ă‹ă—ďĽŚĺ®źéš›ă«ăŻ
ä¸Šă®ă‚ă†ă«ç•°ăŞă‚‹ćŚ™ĺ‹•ă¨ăŞăŁă¦ă„ă‚‹ăŚďĽŚăťă‚ŚăŻä»Ąä¸‹ă®ç†ç”±ă«ă‚ă‚‹ďĽš
\begin{itemize}
\item 3čˇŚç›®ă‚’ \texttt{process\_input\_buffer} ă§ĺ‡¦ç†ă™ă‚‹ć™‚ç‚ąă§ăŻďĽŚ
      ă€Śă‚ă€ŤăŻ\textbf{JAchar}ďĽĺ’Ść–‡ć‰±ă„ďĽ‰ă§ă‚ă‚‹ďĽŽă‚ăŁă¦3čˇŚç›®ăŻ\textbf{JAchar}ă§çµ‚ă‚Źă‚‹ă“ă¨ă«ăŞă‚ŠďĽŚ
      \cs{ltjlineendcomment}ç•Şă®ă‚łăˇăłăć–‡ĺ­—ăŚčż˝ĺŠ&nbsp;ă•ă‚Śă‚‹ďĽŽ
      ă‚ăŁă¦ďĽŚç›´ĺľŚă®ć”ąčˇŚć–‡ĺ­—ăŻç„ˇč¦–ă•ă‚Śă‚‹ă“ă¨ă«ăŞă‚ŠďĽŚç©şç™˝ăŻĺ…Ąă‚‰ăŞă„ďĽŽ
\item 4čˇŚç›®ă‚’ \texttt{process\_input\_buffer} ă§ĺ‡¦ç†ă™ă‚‹ć™‚ç‚ąă§ăŻďĽŚ
      ă€Śă„ă€ŤăŻ\textbf{ALchar}ă§ă‚ă‚‹ďĽŽă‚ăŁă¦4čˇŚç›®ăŻ\textbf{ALchar}ă§çµ‚ă‚Źă‚‹ă“ă¨ă«ăŞă‚ŠďĽŚ
      ç›´ĺľŚă®ć”ąčˇŚć–‡ĺ­—ăŻç©şç™˝ă«ç˝®ăŤćŹ›ă‚Źă‚‹ďĽŽ
\end{itemize}
ă“ă®ăźă‚ďĽŚăă©ă–ă«ă‚’éżă‘ă‚‹ăźă‚ă«ďĽŚ\textbf{JAchar}ă®çŻ„ĺ›˛ă‚’\cs{ltjsetparameter}ă§ç·¨é›†ă—ăźĺ&nbsp;´ĺďĽŚ
ăťă®čˇŚăŻăťă“ă§ć”ąčˇŚă™ă‚‹ă‚ă†ă«ă—ăźć–ąăŚă„ă„ă&nbsp;ă‚Ťă†ďĽŽ
%&lt;/ja&gt;

%&lt;*ja&gt;
\subsection{ćżç‚ąă»ĺŤŠćżç‚ąä»ăŤä»®ĺŤă®ć­Łč¦ŹĺŚ–â†’\Pkg{luaotfload}~v3.19ä»Ąé™Ťă§ăŻăťăˇă‚‰ă§}
\TeX~Live~2016ä»Ąé™Ťă®(u)\pTeX ă§ăŻďĽŚĺćç”¨ćżç‚ą(\texttt{U+3099})ă»ĺćç”¨ĺŤŠćżç‚ą(\texttt{U+309A})ă‚’ç”¨ă„ă¦
čˇ¨çŹľă•ă‚Śăźĺąłä»®ĺŤă»ç‰‡ä»®ĺŤă‚’ĺćć¸ăżć–‡ĺ­—ă«ĺ¤‰ćŹ›ă™ă‚‹ă¨ă„ă†ĺ‡¦ç†ă‚’čˇŚăŁă¦ă„ă‚‹ďĽŽ
ă“ă®ĺ‡¦ç†ă‚’čˇŚăŁă¦ă„ă‚‹č¦ĺ›&nbsp;ă¨ă—ă¦ăŻďĽŚ
\begin{itemize}
  \item ç„ˇç”¨ăŞăă©ă–ă«ă‚’éżă‘ă‚‹ăźă‚ďĽŽ
  ćżç‚ąă»ĺŤŠćżç‚ąä»ăŤă®ä»®ĺŤć–‡ĺ­—ăŚă€Śĺćç”¨ćżç‚ąă»ĺŤŠćżç‚ąă‚’ä˝żăŁă¦ĺ…ĄĺŠ›ă•ă‚Śă¦ă„ă‚‹ă‹ă€Ťă€Śćś€ĺťă‹ă‚‰ĺćć¸ăżć–‡ĺ­—ă§ĺ…ĄĺŠ›ă•ă‚Śă¦ă„ă‚‹ă‹ă€Ťă‚’
  č¦‹ăźç›®ă‹ă‚‰ĺ¤ĺĄă™ă‚‹ă“ă¨ăŻé›Łă—ă„ďĽŽ
  \item \pTeX ă¨ă®äş’ćŹ›ć€§ă®ăźă‚ďĽŽ\pTeX ăŻĺ†…é¨ă‚łăĽă‰ăŚJIS~X~0208ă®çŻ„ĺ›˛ă«é™ă‚‰ă‚Śă‚‹ăźă‚ďĽŚ
  ĺćç”¨ćżç‚ąă»ĺŤŠćżç‚ąăŻĺ©ç”¨ă§ăŤăŞă„ďĽŽăťă®ăźă‚ä¸Šč¨ă®ĺ¤‰ćŹ›ĺ‡¦ç†ăŻă•ă‚‰ă«ĺ‰Ťă‹ă‚‰čˇŚă‚Źă‚Śă¦ă„ăźďĽŽ
\end{itemize}

\LuaTeX(-ja)ă§ăŻĺ…ĄĺŠ›ă®ĺ¤‰ćŹ›ăŻĺźşćś¬çš„ă«čˇŚă‚ŹăšďĽŚ
ć–‡ĺ­—ă®ĺćăŻä˝żç”¨ă—ă¦ă„ă‚‹ă•ă‚©ăłăă®OpenTypeć©źč˝ă«ĺ§”ă­ă‚‹ă¨ă„ă†ç«‹ĺ&nbsp;´ă§ă‚ăŁăźăŚďĽŚ
\Pkg{luaotfload}~v3.19ä»Ąé™Ťă§ăŻďĽŚć¨™ćş–ă§NFCă¸ă®Unicodeć­Łč¦ŹĺŚ–ă‚’čˇŚăŁă¦ă„ă‚‹ďĽŽ
ăťă®ăźă‚ďĽŚăăĽă‚¸ă§ăł2023****.0ä»Ąé™Ťă§ăŻďĽŚ\LuaTeX-jaă«ă‚ă‚‹č‡Şĺ‰Ťă®ĺ¤‰ćŹ›\footnote{ăăĽă‚¸ă§ăł20220103.0ă§ĺ®źčŁ…ă—ăźďĽŽ}ăŻ
čˇŚă‚ŹăŞă„ă‚ă†ă«ă—ă¦ă„ă‚‹ďĽŽ
%&lt;/ja&gt;

%&lt;*ja&gt;
%&lt;en&gt;\section{Insertion of JFM glues, \Param{kanjiskip} and \Param{xkanjiskip}}
%&lt;ja&gt;\section{JFMă‚°ă«ăĽă®ćŚżĺ…ĄďĽŚ\Param{kanjiskip}ă¨\Param{xkanjiskip}}
\label{sec-jfmglue}
%&lt;en&gt;\subsection{Overview}
%&lt;ja&gt;\subsection{ć¦‚č¦}

\LuaTeX-jaă«ăŠă‘ă‚‹ \textbf{JAglue} ă®ćŚżĺ…Ąć–ąćł•ăŻďĽŚ\pTeX ă®ăťă‚Śă¨ăŻĺ…¨ăŹç•°ăŞă‚‹ďĽŽ
\pTeX ă§ăŻć¬ˇă®ă‚ă†ăŞä»•ć§ă§ă‚ăŁăźďĽš
\begin{itemize}
\item JFMă‚°ă«ăĽă®ćŚżĺ…ĄăŻďĽŚĺ’Ść–‡ć–‡ĺ­—ă‚’čˇ¨ă™ăăĽă‚Żăłă‚’ĺ…ă«ć°´ĺąłăŞă‚ąăă«ďĽć–‡ĺ­—ă‚’čˇ¨ă™ďĽ‰\meta{char\_node}ă‚’
čż˝ĺŠ&nbsp;ă™ă‚‹éŽç¨‹ă§čˇŚă‚Źă‚Śă‚‹ďĽŽ
\item \Param{xkanjiskip}ă®ćŚżĺ…ĄăŻďĽŚhboxă¸ă®ă‘ăă‚±ăĽă‚¸ăłă‚°ă‚„čˇŚĺ†ĺ‰˛ĺ‰Ťă«čˇŚă‚Źă‚Śă‚‹ďĽŽ
\item \Param{kanjiskip}ăŻăŽăĽă‰ă¨ă—ă¦ăŻćŚżĺ…Ąă•ă‚ŚăŞă„ďĽŽă‘ăă‚±ăĽă‚¸ăłă‚°ă‚„čˇŚĺ†ĺ‰˛ă®č¨ç®—ć™‚ă«
ă€Śĺ’Ść–‡ć–‡ĺ­—ă‚’čˇ¨ă™2ă¤ă®\meta{char\_node}ă®é–“ă«ăŻ\Param{kanjiskip}ăŚă‚ă‚‹ă€Ťă‚‚ă®ă¨ăżăŞă•ă‚Śă‚‹ďĽŽ
\end{itemize}
ă—ă‹ă—ďĽŚ\LuaTeX-jaă§ăŻďĽŚhboxă¸ă®ă‘ăă‚±ăĽă‚¸ăłă‚°ă‚„čˇŚĺ†ĺ‰˛ĺ‰Ťă«ĺ…¨ă¦ă®
\textbf{JAglue}ďĽŚĺŤłăˇJFMă‚°ă«ăĽă»\Param{xkanjiskip}ă»\Param{kanjiskip}ă®
3ç¨®éˇžă‚’ä¸€ĺş¦ă«ćŚżĺ…Ąă™ă‚‹ă“ă¨ă«ăŞăŁă¦ă„ă‚‹ďĽŽă“ă‚ŚăŻďĽŚ\LuaTeX ă«ăŠă„ă¦ć¬§ć–‡ă®ĺĺ­—ă»
ă‚«ăĽă‹ăłă‚°ĺ‡¦ç†ăŚăŽăĽă‰ă™ăĽă‚ąă«ăŞăŁăźă“ă¨ă«ĺŻľĺżśă™ă‚‹ĺ¤‰ć›´ă§ă‚ă‚‹ďĽŽ

\LuaTeX-jaă«ăŠă‘ă‚‹\textbf{JAglue}ćŚżĺ…Ąĺ‡¦ç†ă§ăŻďĽŚć¬ˇçŻ€ă§ĺ®šçľ©ă™ă‚‹
ă€Śă‚Żă©ă‚ąă‚żă€Ťă‚’ĺŤä˝Ťă«ă—ă¦čˇŚă‚Źă‚Śă‚‹ďĽŽĺ¤§é›‘ćŠŠă«ă„ă†ă¨ďĽŚă€Śă‚Żă©ă‚ąă‚żă€ŤăŻć–‡ĺ­—ă¨ăťă‚Śă«ä»éšŹă™
ă‚‹ăŽăĽă‰é”ďĽă‚˘ă‚Żă‚»ăłăä˝Ťç˝®čŁść­Łç”¨ă®ă‚«ăĽăłă‚„ďĽŚă‚¤ă‚żăŞăă‚ŻčŁść­ŁďĽ‰ă‚’ăľă¨ă‚ăźă‚‚ă®
ă§ă‚ă‚ŠďĽŚ2ă¤ă®ă‚Żă©ă‚ąă‚żă®é–“ă«ăŻďĽŚăšăŠă«ă†ă‚ŁďĽŚ\cs{vadjust}ďĽŚwhatsităŞă©ďĽŚčˇŚçµ„ç‰
ă«ăŻé–˘äż‚ă—ăŞă„ă‚‚ă®ăŚă‚ă‚‹ďĽŽ


%&lt;en&gt;\subsection{Definition of a Cluster}
%&lt;ja&gt;\subsection{ă€Śă‚Żă©ă‚ąă‚żă€Ťă®ĺ®šçľ©}

\def\OA{$\text{\sf O}_{\text{\sf A}}$}
\def\OB{$\text{\sf O}_{\text{\sf B}}$}
\def\NA{$\text{\sf N}_{\text{\sf A}}$}
\def\NB{$\text{\sf N}_{\text{\sf B}}$}
\begin{defn}
%&lt;*en&gt;
A \emph{cluster} is consecutive nodes in one of the following forms,
with the \textit{id} of it:
%&lt;/en&gt;
%&lt;*ja&gt;
\emph{ă‚Żă©ă‚ąă‚ż}ăŻä»Ąä¸‹ă®ĺ˝˘ă®ă†ăˇă®ă©ă‚Śă‹ă˛ă¨ă¤ă‚’ă¨ă‚‹ăŽăĽă‰ă®ăŞă‚ąăă§ă‚ă‚‹ďĽš
%&lt;/ja&gt;
\begin{enumerate}
%&lt;*en&gt;
\item Nodes whose value of\ \verb+\ltj@icflag+ is in $[3,15)$.  These
      nodes come from a hbox which is already packaged, by unpackaging
      (\cs{unhbox}).
      The \textit{id} of the cluster is \textit{id\_pbox}.
%&lt;/en&gt;
%&lt;*ja&gt;
\item ăťă® \verb+\ltj@icflag+ ă®ĺ€¤ăŚ$[3,15)$ă«ĺ…Ąă‚‹ăŽăĽă‰ă®ăŞă‚ąăďĽŽ
  ă“ă‚Śă‚‰ă®ăŽăĽă‰ăŻă‚ă‚‹ć—˘ă«ă‘ăă‚±ăĽă‚¸ăłă‚°ă•ă‚Śăźhboxă‹ă‚‰ \cs{unhbox} ă§
  ă‚˘ăłă‘ăă‚Żă•ă‚Śăźă‚‚ă®ă§ă‚ă‚‹ďĽŽ
  ă“ă®ĺ&nbsp;´ĺďĽŚă‚Żă©ă‚ąă‚żă®\textit{id}ăŻ\textit{id\_pbox}ă§ă‚ă‚‹ďĽŽ
%&lt;/ja&gt;

%&lt;*en&gt;
\item A inline math formula, including two \textit{math\_node}s at the boundary of it.
      The \textit{id} of the cluster is \textit{id\_math}.
%&lt;/en&gt;
%&lt;*ja&gt;
\item ă‚¤ăłă©ă‚¤ăłć•°ĺĽŹă§ăťă®ĺ˘ç•Śă«2ă¤ă®\textit{math\_node}ă‚’ĺ«ă‚€ă‚‚ă®ďĽŽ
  ă“ă®ĺ&nbsp;´ĺďĽŚă‚Żă©ă‚ąă‚żă®\textit{id}ăŻ\textit{id\_math}ă§ă‚ă‚‹ďĽŽ
%&lt;/ja&gt;

%&lt;*en&gt;
\item A \textit{glyph\_node}~$p$, which represents a \textbf{JAchar}, with nodes which relate with it:
%&lt;/en&gt;
%&lt;*ja&gt;
\item \textbf{JAchar}ă‚’čˇ¨ă™\textit{glyph\_node}~$p$ă¨ăťă‚Śă«é–˘äż‚ă™ă‚‹ăŽăĽă‰ďĽš
%&lt;/ja&gt;
\begin{enumerate}
%&lt;*en&gt;
\item[(a)] A kern for the italic correction of~$p$.
%&lt;/en&gt;
%&lt;*ja&gt;
\item[(a)] $p$ă®ă‚¤ă‚żăŞăă‚ŻčŁść­Łă®ăźă‚ă®ă‚«ăĽăłďĽŽ
%&lt;/ja&gt;

%&lt;*en&gt;
\item[(b)] An accent attached to $p$ by \cs{accent}.
%&lt;/en&gt;
%&lt;*ja&gt;
\item[(b)] \cs{accent} ă«ă‚ă‚‹$p$ă«ä»éšŹă—ăźă‚˘ă‚Żă‚»ăłăďĽŽ
%&lt;/ja&gt;
\end{enumerate}
\[
\overbrace{%
 \Node{kern}{$\mathit{subtype}=2$}\longrightarrow
\left\{\begin{array}{c}
\Node{glyph}{accent}\\\noalign{\medskip}
\Node{hbox}{accent (shifted vert.)}
\end{array}\right\}\longrightarrow
\Node{kern}{$\mathit{subtype}=2$}}^{\text{(b)}}
\longrightarrow
\Node{glyph}{$p$}\longrightarrow
\overbrace{%
\Node{kern}{italic corr.}}^{\text{(a)}}
\]

%&lt;*en&gt;
In this case, the \textit{id} is \textit{id\_jglyph}.
%&lt;/en&gt;
%&lt;*ja&gt;
ă“ă®ĺ&nbsp;´ĺă®\textit{id}ăŻ\textit{id\_jglyph}ă§ă‚ă‚‹ďĽŽ
%&lt;/ja&gt;

%&lt;*en&gt;
\item A list which begins from a \textit{glyph\_node} which represents a \textbf{ALchar},
      and consists of \textbf{ALchar} \textit{glyph\_node}s,
      kerns for adjusting accents~(its subtype is 2), kerns for italic corrections and
      kerns which are automatically inserted by \LuaTeX~or~luaotfload.
      In this case, the \textit{id} is \textit{id\_glyph}.
%&lt;/en&gt;
%&lt;*ja&gt;
\item \textbf{ALchar}ă‚’čˇ¨ă™\textit{glyph\_node}ďĽŚ\cs{accent} ă«ă‚ă‚‹ă‚˘ă‚Żă‚»ăłăä˝Ťç˝®čŁść­Łç”¨ă®
      ă‚«ăĽăł(subtypeăŚ2)ďĽŚăťă—ă¦ă‚¤ă‚żăŞăă‚ŻčŁść­Łă»ă‚«ăĽă‹ăłă‚°ă«ă‚ăŁă¦ćŚżĺ…Ąă•ă‚Śăźă‚«ăĽăłé”ăŚé€Łç¶š
      ă—ăźă‚‚ă®ďĽŽă“ă®ĺ&nbsp;´ĺă®\textit{id}ăŻ\textit{id\_glyph}ă§ă‚ă‚‹ďĽŽ
%&lt;/ja&gt;

%&lt;*en&gt;
\item An box-like node, that is, an hbox, a vbox, a rule (\cs{vrule}) and an \textit{unset\_node}.
The \textit{id} of the cluster is \textit{id\_hlist} if the node is an
      hbox which is not shifted vertically, or \textit{id\_box\_like}
      otherwise.
%&lt;/en&gt;
%&lt;*ja&gt;
\item ć°´ĺąłăśăă‚Żă‚ą(hbox)ďĽŚĺž‚ç›´ăśăă‚Żă‚ąďĽŚç˝«ç·š (\cs{vrule})ďĽŚ
  ăťă—ă¦\textit{unset\_node}ďĽŽ
  ă‚Żă©ă‚ąă‚żă®\textit{id}ăŻĺž‚ç›´ă«ç§»ĺ‹•ă—ă¦ă„ăŞă„hboxăŞă‚‰ă°\textit{id\_hlist}ďĽŚ
  ăťă†ă§ăŞă‘ă‚Śă°\textit{id\_box\_like}ă¨ăŞă‚‹ďĽŽ
%&lt;/ja&gt;

%&lt;*en&gt;
\item A glue, a kern whose subtype is not 2~(\textit{accent}), and a discretionary break.
The \textit{id} of the cluster is \textit{id\_glue}, \textit{id\_kern}
      and \textit{id\_disc}, respectively.
%&lt;/en&gt;
%&lt;*ja&gt;
\item ă‚°ă«ăĽďĽŚsubtypeăŚ 2~(\textit{accent})ă§ăŻăŞă„ă‚«ăĽăłďĽŚăťă—ă¦discretionary breakďĽŽ
  ăťă®\textit{id} of the clusterăŻăťă‚Śăžă‚Ś\textit{id\_glue}, \textit{id\_kern}ďĽŚăťă—ă¦
  \textit{id\_disc}ă§ă‚ă‚‹ďĽŽ
%&lt;/ja&gt;
\end{enumerate}
%&lt;*en&gt;
We use \textit{Np}, \textit{Nq} and \textit{Nr} to denote a cluster.
%&lt;/en&gt;
%&lt;*ja&gt;
ä»Ąä¸‹ă§ăŻ\textit{Np}, \textit{Nq}, \textit{Nr}ă§ă‚Żă©ă‚ąă‚żă‚’čˇ¨ă™ďĽŽ
%&lt;/ja&gt;
\end{defn}

\paragraph{\textit{id}ă®ć„Źĺ‘ł}
$\mathit{Np}.\mathit{id}$ă®ć„Źĺ‘łă‚’čż°ăąă‚‹ă¨ă¨ă‚‚ă«ďĽŚ
ă€Śĺ…é&nbsp;­ă®ć–‡ĺ­—ă€Ťă‚’čˇ¨ă™\textit{glyph\_node}~$\mathit{Np}.\mathit{head}$ă¨ďĽŚ
ă€Śćś€ĺľŚă®ć–‡ĺ­—ă€Ťă‚’čˇ¨ă™\textit{glyph\_node}~$\mathit{Np}.\mathit{tail}$ă‚’ć¬ˇă®ă‚ă†ă«ĺ®šçľ©ă™ă‚‹ďĽŽ
ç›´ć„źçš„ă«č¨€ă†ă¨ďĽŚ\textit{Np}ăŻ$\mathit{Np}.\mathit{head}$ă§ĺ§‹ăľă‚Š$\mathit{Np}.\mathit{tail}$ă§çµ‚ă‚Źă‚‹ă‚ă†ăŞĺŤčŞžďĽŚ
ă¨č¦‹ĺšă™ă“ă¨ăŚă§ăŤă‚‹ďĽŽă“ă‚Śă‚‰$\mathit{Np}.\mathit{head}$, $\mathit{Np}.\mathit{tail}$ăŻ
čŞ¬ćŽç”¨ă«ćş–ĺ‚™ă—ăźć¦‚ĺżµă§ă‚ăŁă¦ďĽŚĺ®źéš›ă®Luaă‚łăĽă‰ä¸­ă«ăťă®ă‚ă†ă«ć›¸ă‹ă‚Śă¦ă„ă‚‹ă‚Źă‘ă§ăŻăŞă„ă“ă¨ă«ćł¨ć„ŹďĽŽ

\begin{description}
\item[\textit{id\_jglyph}] \textbf{JAchar}ďĽĺ’Ść–‡ć–‡ĺ­—ďĽ‰ďĽŽ\\
$\mathit{Np}.\mathit{head}$, $\mathit{Np}.\mathit{tail}$ăŻďĽŚăťă®\textbf{JAchar}ă‚’čˇ¨ă—ă¦ă„ă‚‹
\textit{glyph\_node}ăťă®ă‚‚ă®ă§ă‚ă‚‹ďĽŽ
\item[\textit{id\_glyph}] \textbf{JAchar}ďĽĺ’Ść–‡ć–‡ĺ­—ďĽ‰ä»Ąĺ¤–ă®ă‚‚ă®ă‚’čˇ¨ă™\textit{glyph\_node}~$p$ďĽŽ\\
ĺ¤šăŹă®ĺ&nbsp;´ĺďĽŚ$p$ăŻ\textbf{ALchar}ďĽć¬§ć–‡ć–‡ĺ­—ďĽ‰ă‚’ć&nbsp;Ľç´Ťă—ă¦ă„ă‚‹ăŚďĽŚă€Śffiă€ŤăŞă©ă®ĺĺ­—ă«ă‚ăŁă¦ä˝śă‚‰ă‚Śăź
\textit{glyph\_node}ă§ă‚ă‚‹ĺŹŻč˝ć€§ă‚‚ă‚ă‚‹ďĽŽ
ĺ‰Ťč€…ă®ĺ&nbsp;´ĺďĽŚ$\mathit{Np}.\mathit{head}$,~$\mathit{Np}.\mathit{tail} = p$ă§ă‚ă‚‹ďĽŽ
ä¸€ć–ąďĽŚĺľŚč€…ă®ĺ&nbsp;´ĺďĽŚ
\begin{itemize}
\item $\mathit{Np}.\mathit{head}$ăŻďĽŚ
ĺĺ­—ă®ć§‹ćč¦ç´&nbsp;ă®ĺ…é&nbsp;­â†’ďĽăťă®\textit{glyph\_node}ă«ăŠă‘ă‚‹ďĽ‰ĺĺ­—ă®ć§‹ćč¦ç´&nbsp;ă®ĺ…é&nbsp;­â†’â€¦â€¦
ă¨ĺ†Ťĺ¸°çš„ă«ć¤śç´˘ă—ă¦ă„ăŁă¦ăźă©ă‚Šçť€ă„ăź\textit{glyph\_node}ă§ă‚ă‚‹ďĽŽ
\item $\mathit{Np}.\mathit{last}$ăŻďĽŚĺŚć§ă«ćś«ĺ°ľâ†’ćś«ĺ°ľâ†’ă¨ć¤śç´˘ă—ă¦ăźă©ă‚Šçť€ă„ăź\textit{glyph\_node}ă§ă‚ă‚‹ďĽŽ
\end{itemize}
\item[\textit{id\_math}] ă‚¤ăłă©ă‚¤ăłć•°ĺĽŹďĽŽ\\
äľżĺ®śçš„ă«ďĽŚ$\mathit{Np}.\mathit{head}$, $\mathit{Np}.\mathit{tail}$ă¨ă‚‚ă«
ă€Ść–‡ĺ­—ă‚łăĽă‰$-1$ă®ć¬§ć–‡ć–‡ĺ­—ă€Ťă¨ăŠăŹďĽŽ
\item[\textit{id\_hlist}] ç¸¦ć–ąĺ‘ă«ă‚·ă•ăă•ă‚Śă¦ă„ăŞă„hboxďĽŽ\\
ă“ă®ĺ&nbsp;´ĺďĽŚ$\mathit{Np}.\mathit{head}$, $\mathit{Np}.\mathit{tail}$ăŻăťă‚Śăžă‚Ś$p$ă®ĺ†…ĺ®ąă‚’čˇ¨ă™ăŞă‚ąăă®ďĽŚ
ĺ…é&nbsp;­ă»ćś«ĺ°ľă®ăŽăĽă‰ă§ă‚ă‚‹ďĽŽ
\medskip
\begin{itemize}
\item çŠ¶ćłă«ă‚ăŁă¦ăŻďĽŚ\TeX ă‚˝ăĽă‚ąă§č¨€ă†ă¨
\begin{lstlisting}
\hbox{\hbox{abc}...\hbox{\lower1pt\hbox{xyz}}}
\end{lstlisting}
ă®ă‚ă†ă«ďĽŚ$p$ă®ĺ†…ĺ®ąăŚĺĄă®hboxă§é–‹ĺ§‹ă»çµ‚äş†ă—ă¦ă„ă‚‹ĺŹŻč˝ć€§ă‚‚ĺŤĺ†ă‚ă‚Šĺľ—ă‚‹ďĽŽăťă®ă‚ă†ăŞĺ&nbsp;´ĺďĽŚ
$\mathit{Np}.\mathit{head}$, $\mathit{Np}.\mathit{tail}$ă®ç®—ĺ‡şăŻďĽŚ
\emph{ĺž‚ç›´ć–ąĺ‘ă«ă‚·ă•ăă•ă‚Śă¦ă„ăŞă„}hboxă®
ĺ&nbsp;´ĺă&nbsp;ă‘ĺ†…é¨ă‚’ĺ†Ťĺ¸°çš„ă«ćŽ˘ç´˘ă™ă‚‹ďĽŽäľ‹ăă°ä¸Šă®äľ‹ă§ăŻďĽŚ$\mathit{Np}.\mathit{head}$ăŻć–‡ĺ­—ă€Śaă€Ťă‚’čˇ¨ă™ăŽăĽă‰ă§ă‚ă‚ŠďĽŚ
ä¸€ć–ą$\mathit{Np}.\mathit{tail}$ăŻĺž‚ç›´ć–ąĺ‘ă«ă‚·ă•ăă•ă‚ŚăźhboxďĽŚ
\verb+\lower1pt\hbox{xyz}+ ă«ĺŻľĺżśă™ă‚‹ăŽăĽă‰ă§ă‚ă‚‹ďĽŽ
\item ăľăźďĽŚĺ…é&nbsp;­ă«ă‚˘ă‚Żă‚»ăłăä»ăŤă®ć–‡ĺ­—ăŚăŤăźă‚ŠďĽŚćś«ĺ°ľă«ă‚¤ă‚żăŞăă‚ŻčŁść­Łç”¨ă®ă‚«ăĽăłăŚ
ćťĄă‚‹ă“ă¨ă‚‚ă‚ă‚Šĺľ—ă‚‹ďĽŽă“ă®ĺ&nbsp;´ĺăŻďĽŚă‚Żă©ă‚ąă‚żă®ĺ®šçľ©ă®ă¨ă“ă‚Ťă«ă‚‚ă‚ăŁăźă‚ă†ă«ďĽŚăťă‚Śă‚‰ăŻç„ˇč¦–ă—ă¦ç®—ĺ‡şă‚’čˇŚă†ďĽŽ
\item ćś€ĺťă»ćś€ĺľŚă®ăŽăĽă‰ăŚĺĺ­—ă«ă‚ăŁă¦ä˝śă‚‰ă‚Śăź\textit{glyph\_node}ă®ă¨ăŤăŻďĽŚăťă‚Śăžă‚Śă«ĺŻľă—ă¦\textit{id\_glyph}%
ă¨ĺŚć§ă«ĺ†Ťĺ¸°çš„ă«ć§‹ćč¦ç´&nbsp;ă‚’ăźă©ăŁă¦ă„ăŹďĽŽ
\end{itemize}
\item[\textit{id\_pbox}] ă€Ść—˘ă«ĺ‡¦ç†ă•ă‚Śăźă€ŤăŽăĽă‰ă®ăŞă‚ąăă§ă‚ă‚ŠďĽŚă“ă‚Śă‚‰ă®ăŽăĽă‰ăŚäşŚĺş¦ĺ‡¦ç†ă‚’ĺŹ—ă‘ăŞă„ăźă‚ă«
ăľă¨ă‚ă¦1ă¤ă®ă‚Żă©ă‚ąă‚żă¨ă—ă¦ĺŹ–ă‚Šć‰±ă†ă&nbsp;ă‘ă§ă‚ă‚‹ďĽŽ
\textit{id\_hlist}ă¨ĺŚăć–ąćł•ă§$\mathit{Np}.\mathit{head}$, $\mathit{Np}.\mathit{tail}$ă‚’ç®—ĺ‡şă™ă‚‹ďĽŚ
\item[\textit{id\_disc}] discretionary break (\verb+\discretionary{pre}{post}{nobreak}+).\\
\textit{id\_hlist}ă¨ĺŚăć–ąćł•ă§$\mathit{Np}.\mathit{head}$, $\mathit{Np}.\mathit{tail}$ă‚’ç®—ĺ‡şă™ă‚‹ăŚďĽŚ
ç¬¬3ĺĽ•ć•°ă® \texttt{nobreak}ďĽčˇŚĺ†ĺ‰˛ăŚčˇŚă‚Źă‚ŚăŞă„ć™‚ă®ĺ†…ĺ®ąďĽ‰ă‚’ä˝żă†ďĽŽč¨€ă„ćŹ›ăă‚Śă°ďĽŚă“ă“ă§čˇŚĺ†ĺ‰˛ăŚç™şç”źă—ăźć™‚ă®çŠ¶ćłăŻ
ĺ…¨ăŹč€ć…®ă«ĺ…Ąă‚ŚăŞă„ďĽŽ
\item[\textit{id\_box\_like}] \textit{id\_hlist}ă¨ăŞă‚‰ăŞă„boxă‚„ďĽŚruleďĽŽ\\
ă“ă®ĺ&nbsp;´ĺăŻďĽŚ$\mathit{Np}.\mathit{head}$, $\mathit{Np}.\mathit{tail}$ă®ă‡ăĽă‚żăŻĺ©ç”¨ă•ă‚ŚăŞă„ă®ă§ďĽŚ2ă¤ă®ç®—ĺ‡şăŻç„ˇć„Źĺ‘łă§ă‚ă‚‹ďĽŽ
ć•˘ăă¦ćŽç¤şă™ă‚‹ăŞă‚‰ă°ďĽŚ$\mathit{Np}.\mathit{head}$, $\mathit{Np}.\mathit{tail}$ăŻĺ…±ă«nilĺ€¤ă§ă‚ă‚‹ďĽŽ
\item[ä»–] ä»Ąä¸Šă«ăŞă„\textit{id}ă«ĺŻľă—ă¦ă‚‚ďĽŚ$\mathit{Np}.\mathit{head}$, $\mathit{Np}.\mathit{tail}$ă®ç®—ĺ‡şăŻç„ˇć„Źĺ‘łďĽŽ
\end{description}

\paragraph{ă‚Żă©ă‚ąă‚żă®ĺĄă®ĺ†éˇž}
ă•ă‚‰ă«ďĽŚJFMă‚°ă«ăĽćŚżĺ…Ąĺ‡¦ç†ă®ĺ®źéš›ă®čŞ¬ćŽă«ă‚ă‚Šäľżĺ©ăŞă‚ă†ă«ďĽŚ\textit{id}ă¨ăŻĺĄă®ă‚Żă©ă‚ąă‚żă®ĺ†éˇžă‚’čˇŚăŁă¦ăŠăŹďĽŽ
ćŚżĺ…Ąĺ‡¦ç†ă§ăŻ2ă¤ă®éšŁă‚ŠĺăŁăźă‚Żă©ă‚ąă‚żă®é–“ă«
ç©şç™˝ç­‰ă®ĺ®źéš›ă®ćŚżĺ…Ąă‚’čˇŚă†ă“ă¨ăŻĺ‰Ťă«ć›¸ă„ăźăŚďĽŚă“ă“ă§ă®čŞ¬ćŽă§ăŻďĽŚĺ•ŹéˇŚă«ă—ă¦ă„ă‚‹ă‚Żă©ă‚ąă‚ż\textit{Np}ăŻă€ŚĺľŚă‚Ťĺ´ă€Ťă®ă‚Żă©ă‚ąă‚żă§ă‚ă‚‹
ă¨ă™ă‚‹ďĽŽă€Śĺ‰Ťĺ´ă€Ťă®ă‚Żă©ă‚ąă‚żă«ă¤ă„ă¦ăŻďĽŚä»Ąä¸‹ă®čŞ¬ćŽă§\textit{head}ăŚ\textit{last}ă«ç˝®ăŤćŹ›ă‚Źă‚‹ă“ă¨ă«ćł¨ć„Źă™ă‚‹ă“ă¨ďĽŽ
\begin{description}
\item[ĺ’Ść–‡A] ăŞă‚ąăä¸­ă«ç›´ćŽĄĺ‡şçŹľă—ă¦ă„ă‚‹\textbf{JAchar}ďĽŽ
\textit{id}ăŚ\textit{id\_jglyph}ă§ă‚ă‚‹ă‹ďĽŚ\\
\textit{id}ăŚ\textit{id\_pbox}ă§ă‚ăŁă¦$\mathit{Np}.\mathit{head}$ăŚ\textbf{JAchar}ă§ă‚ă‚‹ă¨ăŤďĽŽ

\item[ĺ’Ść–‡B] ăŞă‚ąăä¸­ă®hboxă®ä¸­čş«ă®ĺ…é&nbsp;­ă¨ă—ă¦ĺ‡şçŹľă—ăź\textbf{JAchar}ďĽŽĺ’Ść–‡Aă¨ă®é•ă„ăŻďĽŚă“ă‚Śă®ĺ‰Ťă«
JFMă‚°ă«ăĽă®ćŚżĺ…ĄăŚčˇŚă‚Źă‚ŚăŞă„ďĽ\Param{xkanjiskip},~\Param{kanjiskip}ăŻĺ…Ąă‚Šĺľ—ă‚‹ďĽ‰ă“ă¨ă§ă‚ă‚‹ďĽŽ\\
\textit{id}ăŚ\textit{id\_hlist}ă‹\textit{id\_disc}ă§ă‚ăŁă¦$\mathit{Np}.\mathit{head}$ăŚ\textbf{JAchar}ă§ă‚ă‚‹ă¨ăŤďĽŽ

\item[ć¬§ć–‡] ăŞă‚ąăä¸­ă«ç›´ćŽĄďĽŹhboxă®ä¸­čş«ă¨ă—ă¦ĺ‡şçŹľă—ă¦ă„ă‚‹ă€Ś\textbf{JAchar}ä»Ąĺ¤–ă®ć–‡ĺ­—ă€ŤďĽŽć¬ˇă®3ă¤ă®ĺ&nbsp;´ĺăŚč©˛ĺ˝“ďĽš
\begin{itemize}
\item \textit{id}ăŚ\textit{id\_glyph}ă§ă‚ă‚‹ďĽŽ
\item \textit{id}ăŚ\textit{id\_math}ă§ă‚ă‚‹ďĽă¤ăľă‚Šă“ă®ă‚Żă©ă‚ąă‚żăŻ1ă¤ă®ć–‡ä¸­ć•°ĺĽŹă‚’ăŞă™ďĽ‰ďĽŽ
\item \textit{id}ăŚ\textit{id\_pbox}ă‹\textit{id\_hlist}ă‹\textit{id\_disc}ă§ă‚ăŁă¦ďĽŚ$\mathit{Np}.\mathit{head}$ăŚ\textbf{ALchar}ďĽŽ
\end{itemize}
\item[ç®±] boxďĽŚăľăźăŻăťă‚Śă«éˇžäĽĽă™ă‚‹ă‚‚ă®ďĽŽć¬ˇă®2ă¤ăŚč©˛ĺ˝“ďĽš
\begin{itemize}
\item \textit{id}ăŚ\textit{id\_pbox}ă‹\textit{id\_hlist}ă‹\textit{id\_disc}ă§ă‚ăŁă¦ďĽŚ$\mathit{Np}.\mathit{head}$ăŚ\textit{glyph\_node}ă§ăŞă„ďĽŽ
\item \textit{id}ăŚ\textit{id\_box\_like}ă§ă‚ă‚‹ďĽŽ
\end{itemize}

\end{description}

\subsection{ć®µč˝ďĽŹhboxă®ĺ…é&nbsp;­ă‚„ćś«ĺ°ľ}
\paragraph{ĺ…é&nbsp;­é¨ă®ĺ‡¦ç†}
ăľăšďĽŚć®µč˝ďĽŹhboxă®ä¸€ç•Şćś€ĺťă«ă‚ă‚‹ă‚Żă©ă‚ąă‚ż\textit{Np}ă‚’ćŽ˘ç´˘ă™ă‚‹ďĽŽ
hboxă®ĺ&nbsp;´ĺăŻä˝•ă®ĺ•ŹéˇŚă‚‚ăŞă„ăŚďĽŚć®µč˝ă®ĺ&nbsp;´ĺă§ăŻä»Ąä¸‹ă®ăŽăĽă‰é”ă‚’äş‹ĺ‰Ťă«čŞ­ăżéŁ›ă°ă—ă¦ăŠăŹďĽš
\begin{itemize}
\item \cs{parindent} ç”±ćťĄă®hbox($\mathit{subtype}=3$)
\item \textit{subtype}ăŚ44~(\textit{user\_defined})ă§ăŞă„ă‚ă†ăŞwhatsit
\end{itemize}
ă“ă‚ŚăŻďĽŚ\cs{parindent}ç”±ćťĄă®hboxăŚă‚Żă©ă‚ąă‚żă‚’ć§‹ćă—ăŞă„ă‚ă†ă«ă™ă‚‹ăźă‚ă§ă‚ă‚‹ďĽŽ

ć¬ˇă«ďĽŚ\textit{Np}ă®ç›´ĺ‰Ťă«ç©şç™˝$g$ă‚’ĺż…č¦ăŞă‚‰ćŚżĺ…Ąă™ă‚‹ďĽš
\begin{enumerate}
\item ă“ă®ĺ‡¦ç†ăŚĺŤăŹă‚ă†ăŞ\textit{Np}ăŻ\textsf{ĺ’Ść–‡A}ă§ă‚ă‚‹ďĽŽ
\item ĺ•ŹéˇŚă®ăŞă‚ąăăŚĺ­—ä¸‹ă’ă‚ă‚Šă®ć®µč˝ďĽ\cs{parindent} ç”±ćťĄă®hboxă‚ă‚ŠďĽ‰ă®ĺ&nbsp;´ĺăŻďĽŚ
ă“ă®ç©şç™˝$g$ăŻă€Ść–‡ĺ­—ă‚łăĽă‰ \texttt{'parbdd'} ă®ć–‡ĺ­—ă€Ťă¨\textit{Np}ă®é–“ă«ĺ…Ąă‚‹ă‚°ă«ăĽďĽŹă‚«ăĽăłă§ă‚ă‚‹ďĽŽ
\item ăťă†ă§ăŞă„ă¨ăŤďĽ\verb+noindent+ ă§é–‹ĺ§‹ă•ă‚Śăźć®µč˝ă‚„hboxďĽ‰ăŻďĽŚ
$g$ăŻă€Ść–‡ĺ­—ă‚łăĽă‰ \texttt{'boxbdd'} ă®ć–‡ĺ­—ă€Ťă¨\textit{Np}ă®é–“ă«ĺ…Ąă‚‹ă‚°ă«ăĽďĽŹă‚«ăĽăłă§ă‚ă‚‹ďĽŽ
\end{enumerate}
ăźă&nbsp;ă—ďĽŚă‚‚ă—$g$ăŚglueă§ă‚ăŁăźĺ&nbsp;´ĺďĽŚă“ă®ćŚżĺ…Ąă«ă‚ăŁă¦\textit{Np}ă«ă‚ă‚‹čˇŚĺ†ĺ‰˛ăŚć–°ăźă«ĺŹŻč˝ă«ăŞă‚‹ăąăŤă§ăŻăŞă„ďĽŽ
ăťă“ă§ďĽŚä»Ąä¸‹ă®ĺ&nbsp;´ĺă«ăŻďĽŚ$g$ă®ç›´ĺ‰Ťă« \cs{penalty10000} ă‚’ćŚżĺ…Ąă™ă‚‹ďĽš
\begin{itemize}
\item ĺ•ŹéˇŚă«ă—ă¦ă„ă‚‹ăŞă‚ąăăŚć®µč˝ă§ă‚ă‚ŠďĽŚă‹ă¤
\item \textit{Np}ă®ĺ‰Ťă«ăŻäşă‚ăšăŠă«ă†ă‚ŁăŚăŞăŹďĽŚ$g$ăŻglueďĽŽ
\end{itemize}

\paragraph{ćś«ĺ°ľă®ĺ‡¦ç†}
ćś«ĺ°ľă®ĺ‡¦ç†ăŻďĽŚĺ•ŹéˇŚă®ăŞă‚ąăăŚć®µč˝ă®ă‚‚ă®ă‹hboxă®ă‚‚ă®ă‹ă«ă‚ăŁă¦ç•°ăŞă‚‹ďĽŽ
ĺľŚč€…ă®ĺ&nbsp;´ĺăŻĺ®ąć“ă„ďĽšćś€ĺľŚă®ă‚Żă©ă‚ąă‚żă‚’\textit{Nq}ă¨ăŠăŹă¨ďĽŚ\textit{Nq}ă¨ă€Ść–‡ĺ­—ă‚łăĽă‰\
\texttt{'boxbdd'} ă®ć–‡ĺ­—ă€Ťă®é–“ă«ĺ…Ąă‚‹ă‚°ă«ăĽďĽŹă‚«ăĽăłă‚’ďĽŚ
\textit{Nq}ă®ç›´ĺľŚă«ćŚżĺ…Ąă™ă‚‹ă®ăżă§ă‚ă‚‹ďĽŽ

ä¸€ć–ąďĽŽĺ‰Ťč€…ďĽć®µč˝ďĽ‰ă®ĺ&nbsp;´ĺăŻďĽŚăŞă‚ąăă®ćś«ĺ°ľăŻĺ¸¸ă« \cs{penalty10000} ă¨ďĽŚ
\cs{parfillskip} ç”±ćťĄă®ă‚°ă«ăĽăŚĺ­ĺś¨ă™ă‚‹ďĽŽ%ă‚ăŁă¦ďĽŚćś€ĺľŚă®ă‚Żă©ă‚ąă‚ż\textit{Np}ăŻ
%ă“ă® \cs{parfillskip} ç”±ćťĄă®ă‚°ă«ăĽă¨ăŞă‚ŠďĽŚĺ®źčłŞçš„ăŞä¸­čş«ă®ćś€ĺľŚăŻăťă®1ă¤ĺ‰Ťă®ă‚Żă©ă‚ąă‚ż\textit{Nq}ă¨ăŞă‚‹ďĽŽ
ć®µč˝ă®ćś€ĺľŚă®ă€Śé€šĺ¸¸ă®\textbf{JAchar}${}+{}$ĺŹĄç‚ąă€ŤăŚç‹¬ç«‹ă—ăźčˇŚă¨ăŞă‚‹ă®ă‚’é˛ăăźă‚ă«ďĽŚ
\Param{jcharwidowpenalty}ă®ĺ€¤ă®ĺ†ă&nbsp;ă‘é©ĺ‡ăŞĺ&nbsp;´ć‰€ă®ăšăŠă«ă†ă‚Łă‚’ĺ˘—ă‚„ă™ďĽŽ

ăšăŠă«ă†ă‚Łé‡Źă‚’ĺ˘—ă‚„ă™ĺ&nbsp;´ć‰€ăŻďĽŚ\textit{head}ăŚ\textbf{JAchar}ă§ă‚ă‚ŠďĽŚ
ă‹ă¤ăťă®ć–‡ĺ­—ă®\Param{kcatcode}ăŚĺ¶ć•°ă§ă‚ă‚‹ă‚ă†ăŞ
ćś€ĺľŚă®ă‚Żă©ă‚ąă‚żă®ç›´ĺ‰Ťă«ă‚ă‚‹ă‚‚ă®ăźăˇă§ă‚ă‚‹%
\footnote{ĺ¤§é›‘ćŠŠă«č¨€ăă°ďĽŚ\Param{kcatcode}ăŚĺĄ‡ć•°ă§ă‚ă‚‹ă‚ă†ăŞ\textbf{JAchar}%
ă‚’ç´„ç‰©ă¨ă—ă¦č€ăă¦ă„ă‚‹ă“ă¨ă«ăŞă‚‹ďĽŽ
\Param{kcatcode}ă®ćś€ä¸‹ä˝Ťă“ăăăŻă“ă®\Param{jcharwidowpenalty}ç”¨ă«ă®ăżĺ©ç”¨ă•ă‚Śă‚‹ďĽŽ}ďĽŽ

\subsection{ć¦‚č¦łă¨ĺ…¸ĺž‹äľ‹ďĽš2ă¤ă®ă€Śĺ’Ść–‡Aă€Ťă®ĺ&nbsp;´ĺ}
\label{ssec:cluster-wa}
ĺ…ă«čż°ăąăźă‚ă†ă«ďĽŚ2ă¤ă®éšŁă‚ŠĺăŁăźă‚Żă©ă‚ąă‚żďĽŚ\textit{Nq}ă¨\textit{Np}ă®é–“ă«ăŻďĽŚ
ăšăŠă«ă†ă‚ŁďĽŚ\cs{vadjust}ďĽŚwhatsităŞă©ďĽŚčˇŚçµ„ç‰ă«ăŻé–˘äż‚ă—ăŞă„ă‚‚ă®ăŚă‚ă‚‹ďĽŽć¨ˇĺĽŹçš„ă«čˇ¨ă™ă¨ďĽŚ
\[
 \Node{cluster}{\textit{Nq}}\longrightarrow
\overbrace{
\Node{penalty}{$p$}\longrightarrow \cdots\longrightarrow \Node{whatsit}{}}^{\textrm{(a)}}
\longrightarrow \Node{cluster}{\textit{Np}}
\]
ă®ă‚ă†ă«ăŞăŁă¦ă„ă‚‹ďĽŽé–“ă®(a)ă«ç›¸ĺ˝“ă™ă‚‹é¨ĺ†ă«ăŻďĽŚä˝•ă®ăŽăĽă‰ă‚‚ăŞă„ĺ&nbsp;´ĺă‚‚ă‚‚ăˇă‚Ťă‚“ă‚ă‚Šĺľ—ă‚‹ďĽŽ
ăťă†ă—ă¦ďĽŚJFMă‚°ă«ăĽćŚżĺ…ĄĺľŚă«ăŻďĽŚă“ă®2ă‚Żă©ă‚ąă‚żé–“ăŻć¬ˇă®ă‚ă†ă«ăŞă‚‹ďĽš
\[
 \Node{cluster}{\textit{Nq}}\longrightarrow%\Node{kern}{ĺ·¦ç©şç™˝}\longrightarrow
\overbrace{
\Node{penalty}{$p+x$}\longrightarrow \cdots\longrightarrow
\Node{whatsit}{}}^{\textrm{(a)}}\longrightarrow
\Node{glue or kern}{\raisebox{-.2\zw}{ĺŹłç©şç™˝}}\longrightarrow
\Node{cluster}{\textit{Np}}
\]

ä»ĄĺľŚďĽŚ\emph{ĺ…¸ĺž‹çš„ăŞäľ‹ă¨ă—ă¦ďĽŚă‚Żă©ă‚ąă‚ż\textit{Nq}ă¨\textit{Np}ăŚĺ…±ă«\textsf{\textmd{ĺ’Ść–‡A}}ă§ă‚ă‚‹ĺ&nbsp;´ĺă‚’č¦‹ă¦ă„ă“ă†ďĽŚ}
ă“ă®ĺ&nbsp;´ĺăŚĺ…¨ă¦ă®ĺ&nbsp;´ĺă®ĺźşćś¬ă¨ăŞă‚‹ďĽŽ

\paragraph{ă€ŚĺŹłç©şç™˝ă€Ťă®ç®—ĺ‡ş}
ăľăšďĽŚă€ŚĺŹłç©şç™˝ă€Ťă«ă‚ăźă‚‹é‡Źă‚’ç®—ĺ‡şă™ă‚‹ďĽŽé€šĺ¸¸ăŻă“ă‚ŚăŚďĽŚéšŁă‚ŠĺăŁăź2ă¤ă®\textbf{JAchar}é–“ă«ĺ…Ąă‚‹ç©şç™˝é‡Źă¨ăŞă‚‹ďĽŽ
\begin{description}
\item[JFMç”±ćťĄ{[M]}] JFMă®ć–‡ĺ­—ă‚Żă©ă‚ąćŚ‡ĺ®šă«ă‚ăŁă¦ĺ…Ąă‚‹ç©şç™˝ă‚’ä»Ąä¸‹ă«ă‚ăŁă¦ć±‚ă‚ă‚‹ďĽŽă“ă®ć®µéšŽă§ç©şç™˝é‡ŹăŚćśŞĺ®šçľ©ďĽćśŞćŚ‡ĺ®šďĽ‰ă&nbsp;ăŁăźĺ&nbsp;´ĺďĽŚ
      ă‡ă•ă‚©ă«ăĺ€¤\Param{kanjiskip}ă‚’ćŽˇç”¨ă™ă‚‹ă“ă¨ă¨ăŞă‚‹ă®ă§ďĽŚć¬ˇă¸ďĽŽ
\begin{enumerate}
\item ă‚‚ă—ä¸ˇă‚Żă©ă‚ąă‚żă®é–“ă§ \cs{inhibitglue} ăŚĺ®źčˇŚă•ă‚Śă¦ă„ăźĺ&nbsp;´ĺďĽč¨Ľă¨ă—ă¦whatsităŽăĽă‰ăŚč‡Şĺ‹•ćŚżĺ…Ąă•ă‚Śă‚‹ďĽ‰ďĽŚ
      ä»Łă‚Źă‚Šă«\Param{kanjiskip}ăŚćŚżĺ…Ąă•ă‚Śă‚‹ă“ă¨ă¨ăŞă‚‹ďĽŽć¬ˇă¸ďĽŽ
\item \textit{Nq}ă¨\textit{Np}ăŚĺŚăJFMă»ĺŚă\texttt{jfmvar}ă‚­ăĽă»ĺŚăă‚µă‚¤ă‚şă®ĺ’Ść–‡ă•ă‚©ăłăă§ă‚ăŁăźăŞă‚‰ă°ďĽŚ
      ĺ…±é€šă«ä˝żăŁă¦ă„ă‚‹JFMĺ†…ă§ćŚżĺ…Ąă•ă‚Śă‚‹ç©şç™˝ďĽă‚°ă«ăĽă‹ă‚«ăĽăłďĽ‰ăŚć±şăľăŁă¦ă„ă‚‹ă‹čŞżăąďĽŚć±şăľăŁă¦ă„ă‚Śă°ăťă‚Śă‚’ćŽˇç”¨ďĽŽ
\item 1.ă§ă‚‚2.ă§ă‚‚ăŞă„ĺ&nbsp;´ĺăŻďĽŚJFMă»\texttt{jfmvar}ă»ă‚µă‚¤ă‚şă®3ă¤çµ„ăŻ\textit{Nq}ă¨\textit{Np}ă§ç•°ăŞă‚‹ďĽŽ
ă“ă®ĺ&nbsp;´ĺďĽŚăľăš
\[
\vcenter{\halign{\hfil$#:={}$&amp;\inhibitglue#\inhibitglue\cr
gb&amp;(\textit{Nq}ă¨ă€Śä˝żç”¨ă•ă‚©ăłăăŚ\textit{Nq}ă®ăťă‚Śă¨ĺŚăă§ďĽŚ\hfil\cr
\omit&amp;\quad ć–‡ĺ­—ă‚łăĽă‰ăŚ\textit{Np}ă®ăťă‚Śă®ć–‡ĺ­—ă€Ťă¨ă®é–“ă«ĺ…Ąă‚‹ă‚°ă«ăĽďĽŹă‚«ăĽăł)\hfil\cr
ga&amp;(\inhibitglue ă€Śä˝żç”¨ă•ă‚©ăłăăŚ\textit{Np}ă®ăťă‚Śă¨ĺŚăă§ďĽŚ\hfil\cr
\omit&amp;\quad ć–‡ĺ­—ă‚łăĽă‰ăŚ\textit{Nq}ă®ăťă‚Śă®ć–‡ĺ­—ă€Ťă¨\textit{Np}ă¨ă®é–“ă«ĺ…Ąă‚‹ă‚°ă«ăĽďĽŹă‚«ăĽăł)\hfil\cr
}}
\]
ă¨ă—ă¦ďĽŚĺ‰Ťĺ´ă®ć–‡ĺ­—ă®JFMă‚’ä˝żăŁăźć™‚ă®ç©şç™˝ďĽă‚°ă«ăĽďĽŹă‚«ăĽăłďĽ‰ă¨ďĽŚĺľŚĺ´ă®ć–‡ĺ­—ă®JFMă‚’ä˝żăŁăźć™‚ă®ăťă‚Śă‚’ć±‚ă‚ă‚‹ďĽŽ

$\mathit{gb}$,~$\mathit{ga}$ăťă‚Śăžă‚Śă«ĺŻľă™ă‚‹\meta{ratio}ă®ĺ€¤ă‚’$d_b$,~$d_a$ă¨ă™ă‚‹ďĽŽ
\begin{itemize}
\item
$\mathit{ga}$ă¨$\mathit{gb}$ă®ä¸ˇć–ąăŚćśŞĺ®šçľ©ă§ă‚ă‚‹ăŞă‚‰ă°ďĽŚJFMç”±ćťĄă®ă‚°ă«ăĽăŻćŚżĺ…Ąă•ă‚ŚăšďĽŚ
\Param{kanjiskip}ă‚’ćŽˇç”¨ă™ă‚‹ă“ă¨ă¨ăŞă‚‹ďĽŽ
ă©ăˇă‚‰ă‹ç‰‡ć–ąă®ăżăŚćśŞĺ®šçľ©ă§ă‚ă‚‹ăŞă‚‰ă°ďĽŚć¬ˇă®ă‚ąă†ăă—ă§ăťă®ćśŞĺ®šçľ©ă®ć–ąăŻé•·ă•0ă®kernă§ďĽŚ\meta{ratio}ă®ĺ€¤ăŻ0ă§ă‚ă‚‹ă‹ă®ă‚ă†ă«ć‰±ă‚Źă‚Śă‚‹ďĽŽ
\item
\Param{diffrentjfm}ă®ĺ€¤ăŚ \texttt{pleft}, \texttt{pright},
      \texttt{paverage} ă®ă¨ăŤďĽŚ
\meta{ratio}ă®ćŚ‡ĺ®šă«ĺľ“ăŁă¦ćŻ”äľ‹é…Ťĺ†ă‚’čˇŚă†ďĽŽ
JFMç”±ćťĄă®ă‚°ă«ăĽďĽŹă‚«ăĽăłăŻä»Ąä¸‹ă®ĺ€¤ă¨ăŞă‚‹ďĽš
\[
 f\left(\frac{1-d_b}2\textit{gb} + \frac{1+d_b}2\textit{ga},
\frac{1-d_a}2\textit{gb} + \frac{1+d_a}2\textit{ga}\right)
\]
ă“ă“ă§ďĽŽ$f(x,y)$ăŻ
\[
 f(x,y)=\begin{dcases*}
x&amp;($\Param{diffrentjfm}=\texttt{pleft}$),\\
y&amp;($\Param{diffrentjfm}=\texttt{pright}$),\\
\frac{x+y}2&amp;($\Param{diffrentjfm}=\texttt{paverage}$).
\end{dcases*}
\]
\item
\Param{differentjfm}ăŚăťă‚Śä»Ąĺ¤–ă®ĺ€¤ă®ć™‚ăŻďĽŚ\meta{ratio}ă®ĺ€¤ăŻç„ˇč¦–ă•ă‚ŚďĽŚJFMç”±ćťĄă®ă‚°ă«ăĽďĽŹă‚«ăĽăłăŻä»Ąä¸‹ă®ĺ€¤ă¨ăŞă‚‹ďĽš
\[
 f(\textit{gb},\textit{ga})
\]
ă“ă“ă§ďĽŽ$f(x,y)$ăŻ
\[
 f(x,y)=\begin{dcases*}
\min(x,y)&amp;($\Param{diffrentjfm}=\texttt{small}$),\\
\max(x,y)&amp;($\Param{diffrentjfm}=\texttt{large}$),\\
\frac{x+y}2&amp;($\Param{diffrentjfm}=\texttt{average}$),\\
x+y&amp;($\Param{diffrentjfm}=\texttt{both}$).
\end{dcases*}
\]
\end{itemize}
\end{enumerate}

äľ‹ăă°ďĽŚ
\begin{lstlisting}
\jfont\foo=psft:Ryumin-Light:jfm=ujis;-kern
\jfont\bar=psft:GothicBBB-Medium:jfm=ujis;-kern
\jfont\baz=psft:GothicBBB-Medium:jfm=ujis;jfmvar=piyo;-kern
\end{lstlisting}
ă¨ă„ă†3ă•ă‚©ăłăă‚’č€ăďĽŚ
\[
 \overbrace{\Node{glyph}{\cs{ foo}, `ă‚'}}^{p}
\longrightarrow \overbrace{\Node{glyph}{\cs{bar}, `ă„'}}^{q}
\longrightarrow \overbrace{\Node{glyph}{\cs{baz}, `ă†'}}^{r}
\]
ă¨ă„ă†3ăŽăĽă‰ă‚’č€ăă‚‹ďĽăťă‚Śăžă‚ŚĺŤç‹¬ă§ă‚Żă©ă‚ąă‚żă‚’ăŞă™ďĽ‰ďĽŽ
ă“ă®ĺ&nbsp;´ĺďĽŚ$p$ă¨$q$ă®é–“ăŻďĽŚĺ®źă•ă‚©ăłăăŚç•°ăŞă‚‹ă«ă‚‚ă‹ă‹ă‚Źă‚‰ăš2.ă®çŠ¶ćłă¨ăŞă‚‹ä¸€ć–ąă§ďĽŚ
$q$ă¨$r$ă®é–“ăŻďĽĺ®źă•ă‚©ăłăăŚĺŚăăŞă®ă«ďĽ‰\texttt{jfmvar} ă‚­ăĽă®ĺ†…ĺ®ąăŚç•°ăŞă‚‹ă®ă§3.ă®çŠ¶ćłă¨ăŞă‚‹ďĽŽ

  ăŞăŠďĽŚJFMă§\texttt{kanjiskip\_natural}, \texttt{kanjiskip\_stretch},\
\texttt{kanjiskip\_shrink}ă‚­ăĽăŚćŚ‡ĺ®šă•ă‚Śă¦ă„ăźĺ&nbsp;´ĺăŻďĽŚâ€¦â€¦
  
\item[\Param{kanjiskip}~{[K]}] ä¸Šă®[M]ă«ăŠă„ă¦ç©şç™˝ăŚĺ®šăľă‚‰ăŞă‹ăŁăźĺ&nbsp;´ĺďĽŚ
ä»Ąä¸‹ă§ĺ®šă‚ăźé‡Źă€ŚĺŹłç©şç™˝ă€Ťă¨ă—ă¦ćŽˇç”¨ă™ă‚‹ďĽŽ
ă“ă®ć®µéšŽă«ăŠă„ă¦ăŻďĽŚ\cs{inhibitglue} ăŻĺŠąĺŠ›ă‚’ćŚăźăŞă„ăźă‚ďĽŚ
çµćžśă¨ă—ă¦ďĽŚ2ă¤ă®\textbf{JAchar}é–“ă«ăŻĺ¸¸ă«ä˝•ă‚‰ă‹ă®ă‚°ă«ăĽďĽŹă‚«ăĽăłăŚćŚżĺ…Ąă•ă‚Śă‚‹ă“ă¨ă¨ăŞă‚‹ďĽŽ
\begin{enumerate}
\item ä¸ˇă‚Żă©ă‚ąă‚żďĽĺŽłĺŻ†ă«ăŻ$\mathit{Nq}.\mathit{tail}$ďĽŚ$\mathit{Np}.\mathit{head}$ďĽ‰ă®ä¸­čş«ă®ć–‡ĺ­—ă‚łăĽă‰ă«ĺŻľă™ă‚‹
\Param{autospacing}ă‘ă©ăˇăĽă‚żăŚä¸ˇć–ąă¨ă‚‚falseă&nbsp;ăŁăźĺ&nbsp;´ĺăŻďĽŚé•·ă•0ă®glueă¨ă™ă‚‹ďĽŽ
\item ă¦ăĽă‚¶ĺ´ă‹ă‚‰č¦‹ăź\Param{kanjiskip}ă‘ă©ăˇăĽă‚żă®č‡Şç„¶é•·ăŚ$\cs{maxdimen}=(2^{30}-1)\,\mbox{sp}$ă§
ăŞă‘ă‚Śă°ďĽŚ\Param{kanjiskip}ă‘ă©ăˇăĽă‚żă®ĺ€¤ă‚’ćŚă¤glueă‚’ćŽˇç”¨ă™ă‚‹ďĽŽ
\item 2.ă§ăŞă„ĺ&nbsp;´ĺăŻďĽŚ\textit{Nq}, \textit{Np}ă§ä˝żă‚Źă‚Śă¦ă„ă‚‹JFMă«ćŚ‡ĺ®šă•ă‚Śă¦ă„ă‚‹\Param{kanjiskip}ă®ĺ€¤ă‚’ç”¨ă„ă‚‹ďĽŽ
ă©ăˇă‚‰ă‹ç‰‡ć–ąă®ă‚Żă©ă‚ąă‚żă&nbsp;ă‘ăŚ\textbf{JAchar}ďĽ\textsf{ĺ’Ść–‡A}ă»\textsf{ĺ’Ść–‡B}ďĽ‰ă®ă¨ăŤăŻďĽŚăťăˇă‚‰ă®ă‚Żă©ă‚ąă‚żă§ä˝żă‚Źă‚Śă¦ă„ă‚‹
JFMç”±ćťĄă®ĺ€¤ă&nbsp;ă‘ă‚’ç”¨ă„ă‚‹ďĽŽă‚‚ă—ä¸ˇč€…ă§ä˝żă‚Źă‚Śă¦ă„ă‚‹JFMăŚç•°ăŞăŁăźĺ&nbsp;´ĺăŻďĽŚä¸Šă®[M]~3.ă¨ĺŚć§ă®ć–ąćł•ă‚’ç”¨ă„ă¦čŞżć•´ă™ă‚‹ďĽŽ
\end{enumerate}
\end{description}
%\paragraph{ă€Śĺ·¦ç©şç™˝ă€Ťă®ç®—ĺ‡şă¨ăťă‚Śă«äĽ´ă†čŁść­Ł}
%ă€Śĺ·¦ç©şç™˝ă€ŤăŻéŽĺŽ»ă®ăăĽă‚¸ă§ăłă§ăŻĺ®šçľ©ă—ă¦ă„ăźăŚďĽŚă“ă®ăăĽă‚¸ă§ăłă§ăŻ
%ćŚżĺ…ĄăŻä¸€ĺ‡čˇŚă‚Źă‚ŚăŞă„ďĽć©źč˝č‡Şä˝“ĺ‰Šé™¤ă—ă¦ă„ă‚‹ďĽ‰ďĽŽ
%ă—ă‹ă—ďĽŚä»•ć§ăŻćµĺ‹•çš„ă§ă‚ă‚ŠďĽŚĺ°†ćťĄĺľ©ć´»ă™ă‚‹ĺŹŻč˝ć€§ă‚‚ă‚ă‚‹ăźă‚ďĽŚăžă‹ăĄă‚˘ă«ä¸­ă®č¨čż°ăŻä»Šă®ă¨ă“ă‚ŤćĄµĺŠ›ĺ¤‰ć›´ă—ăŞă„ďĽŽ
\paragraph{ç¦ĺ‰‡ç”¨ăšăŠă«ă†ă‚Łă®ćŚżĺ…Ą}
ăľăšďĽŚ
\[
 a:=(\text{\textit{Nq}{\footnotemark}ă®ć–‡ĺ­—ă«ĺŻľă™ă‚‹\Param{postbreakpenalty}ă®ĺ€¤})
+(\text{\textit{Np}{\footnotemark}ă®ć–‡ĺ­—ă«ĺŻľă™ă‚‹\Param{prebreakpenalty}ă®ĺ€¤})
\]
ă¨ăŠăŹ\footnotetext{ĺŽłĺŻ†ă«ăŻăťă‚Śăžă‚Ś$\mathit{Nq}.\mathit{tail}$ďĽŚ$\mathit{Np}.\mathit{head}$ďĽŽ}ďĽŽ
ăšăŠă«ă†ă‚ŁăŻé€šĺ¸¸$[-10000,10000]$ă®ć•´ć•°ĺ€¤ă‚’ă¨ă‚ŠďĽŚăľăź$\pm 10000$ăŻć­Łč˛&nbsp;ă®ç„ˇé™ĺ¤§ă‚’ć„Źĺ‘łă™ă‚‹ă“ă¨ă«ăŞăŁă¦ă„ă‚‹ăŚďĽŚă“ă®$a$ă®
ç®—ĺ‡şă§ăŻĺŤç´”ăŞć•´ć•°ă®ĺŠ&nbsp;ć¸›ç®—ă‚’čˇŚă†ďĽŽ

$a$ăŻç¦ĺ‰‡ĺ‡¦ç†ç”¨ă«\textit{Nq}ă¨\textit{Np}ă®é–“ă«ĺŠ&nbsp;ăă‚‰ă‚Śă‚‹ăąăŤăšăŠă«ă†ă‚Łé‡Źă§ă‚ă‚‹ďĽŽ
\begin{description}
\item[P-normal~{[PN]}]
\textit{Nq}ă¨\textit{Np}ă®é–“ă®(a)é¨ĺ†ă«ăšăŠă«ă†ă‚Ł(\textit{penalty\_node})ăŚă‚ă‚Śă°ĺ‡¦ç†ăŻç°ˇĺŤă§ă‚ă‚‹ďĽš
ăťă‚Śă‚‰ă®ĺ„ăŽăĽă‰ă«ăŠă„ă¦ďĽŚăšăŠă«ă†ă‚Łĺ€¤ă‚’ďĽ$\pm 10000$ă‚’ç„ˇé™ĺ¤§ă¨ă—ă¦ć‰±ă„ă¤ă¤ďĽ‰$a$ă&nbsp;ă‘ĺ˘—ĺŠ&nbsp;ă•ă›ă‚Śă°ă‚ă„ďĽŽ
ăľăźďĽŚ$10000 + (-10000) = 0$ă¨ă—ă¦ă„ă‚‹ďĽŽ

ĺ°‘ă€…ĺ›°ă‚‹ă®ăŻďĽŚ(a)é¨ĺ†ă«ăšăŠă«ă†ă‚ŁăŚĺ­ĺś¨ă—ă¦ă„ăŞă„ĺ&nbsp;´ĺă§ă‚ă‚‹ďĽŽ
ç›´ć„źçš„ă«ďĽŚčŁść­Łă™ăąăŤé‡Ź$a$ăŚ0ă§ăŞă„ă¨ăŤďĽŚăťă®ĺ€¤ă‚’ă‚‚ă¤\textit{penalty\_node}ă‚’ä˝śăŁă¦
ă€ŚĺŹłç©şç™˝ă€Ťă®ďĽă‚‚ă—ćśŞĺ®šçľ©ăŞă‚‰\textit{Np}ă®ďĽ‰ç›´ĺ‰Ťă«ćŚżĺ…Ąâ€¦â€¦
ă¨ă„ă†ă“ă¨ă«ăŞă‚‹ăŚďĽŚĺ®źéš›ă«ăŻĺ…ă‹ă«ă“ă‚Śă‚ă‚Šč¤‡é›‘ă§ă‚ă‚‹ďĽŽ
\begin{itemize}
\item ă€ŚĺŹłç©şç™˝ă€ŤăŚă‚«ăĽăłă§ă‚ă‚‹ă¨ăŤďĽŚ
ăťă‚ŚăŻă€Ś\textit{Nq}ă¨\textit{Np}ă®é–“ă§ć”ąčˇŚăŻč¨±ă•ă‚ŚăŞă„ă€Ťă“ă¨ă‚’ć„Źĺ›łă—ă¦ă„ă‚‹ďĽŽăťă®ăźă‚ďĽŚ
ă“ă®ĺ&nbsp;´ĺăŻ$a\neq 0$ă§ă‚ăŁă¦ă‚‚ăšăŠă«ă†ă‚Łă®ćŚżĺ…ĄăŻă—ăŞă„ďĽŽ
\item ăťă†ă§ăŞă„ăŞă„ă¨ăŤăŻďĽŚ$a\neq 0$ăŞă‚‰ă°\textit{penalty\_node}ă‚’ä˝śăŁă¦ćŚżĺ…Ąă™ă‚‹ďĽŽ
%\item ă€Śĺ·¦ç©şç™˝ă€ŤăŚă‚«ăĽăłă¨ă—ă¦ăŤăŁăˇă‚Šĺ®šçľ©ă•ă‚Śă¦ă„ă‚‹ć™‚ďĽă“ă®ă¨ăŤďĽŚă€ŚĺŹłç©şç™˝ă€ŤăŻă‚«ăĽăłă§ăŞă„ďĽ‰ďĽŚ
%ă“ă®ă€Śĺ·¦ç©şç™˝ă€Ťă®ç›´ĺľŚă§ă®čˇŚĺ†ĺ‰˛ă‚’č¨±ĺ®ąă—ăŞă„ă¨ă„ă‘ăŞă„ă®ă§ďĽŚ$a=0$ă§ă‚ăŁă¦ă‚‚
%\textit{penalty\_node}ă‚’ä˝śăŁă¦ćŚżĺ…Ąă™ă‚‹ďĽŽ
%\item ä»Ąä¸Šă®ă©ă‚Śă§ă‚‚ăŞă„ă¨ăŤăŻďĽŚ$a\neq 0$ăŞă‚‰ă°\textit{penalty\_node}ă‚’ä˝śăŁă¦ćŚżĺ…Ąă™ă‚‹ďĽŽ
\end{itemize}
\end{description}

\def\gkf#1#2#3{\sf$\displaystyle\vphantom{\Bigg(}%
  \frac{\hbox to 4\zw{\hss#2\hss}}{\hbox{#3}}$}
\begin{table}[t]
%&lt;en&gt;\caption{Summary of JFM glues}
%&lt;ja&gt;\caption{JFM ă‚°ă«ăĽă®ć¦‚č¦}
\label{tab-jfmglue}
%&lt;en&gt;\medskip
\begin{center}
\small
\begin{tabular}{c|cccccc}
\toprule
{\bf\textit{Np}}â†“&amp;\sf ĺ’Ść–‡A&amp;\sf ĺ’Ść–‡B&amp;\sf ć¬§ć–‡&amp;\sf ç®±&amp;\sf glue&amp;\sf kern\\\midrule
\sf ĺ’Ść–‡A&amp;
\gkf{E}{Mâ†’K}{PN}&amp;
\gkf{---}{\OA â†’K}{PN}&amp;
\gkf{---}{\NA â†’X}{PN}&amp;
\gkf{---}{\OA}{PA}&amp;
\gkf{---}{\OA}{PN}&amp;
\gkf{---}{\OA}{PS}\\
\sf ĺ’Ść–‡B&amp;
\gkf{E}{\OBâ†’K}{PA}&amp;
\gkf{---}{K}{PS}&amp;
\gkf{---}{X}{PS}\\
\sf ć¬§ć–‡&amp;
\gkf{E}{\NB â†’X}{PA}&amp;
\gkf{---}{X}{PS}\cr
\sf ç®±&amp;\gkf{E}{\OB}{PA}\\
\sf glue&amp;\gkf{E}{\OB}{PN}\\
\sf kern&amp;\gkf{E}{\OB}{PS}\\
\bottomrule
\end{tabular}
\end{center}
\begin{quote}
%&lt;*en&gt;
In the table above, {\small\gkf{E}{Mâ†’K}{PN}} means that
%&lt;/en&gt;
%&lt;*ja&gt;
ä¸Šă®čˇ¨ă«ăŠă„ă¦ďĽŚ{\small\gkf{E}{Mâ†’K}{PN}}ăŻć¬ˇă®ć„Źĺ‘łă§ă‚ă‚‹ďĽš
%&lt;/ja&gt;
\begin{enumerate}
%&lt;*en&gt;
\item To determine the ``right-space'', \LuaTeX-ja first attempts by the method ``\textsf{JFM-origin~[M]}''.
If this attempt fails, \LuaTeX-ja use the method ``\textsf{\Param{kanjiskip}~[K]}''.
%&lt;/en&gt;
%&lt;*ja&gt;
\item ă€ŚĺŹłç©şç™˝ă€Ťă‚’ć±şă‚ă‚‹ăźă‚ă«ďĽŚ\LuaTeX-ja ăŻăľăšă€ŚJFMç”±ćťĄ{[M]}ă€Ťă®ć–ąćł•ă‚’č©¦ăżă‚‹ďĽŽ
  ă“ă‚ŚăŚĺ¤±ć•—ă—ăźă‚‰ďĽŚ\LuaTeX-ja ăŻă€Ś\Param{kanjiskip}~{[K]}ă€Ťă®ć–ąćł•ă‚’č©¦ăżă‚‹ďĽŽ
%&lt;/ja&gt;

% %&lt;*en&gt;
% \item The ``left space'' between \textit{Nq}~and~\textit{Np} is
%   determined by the method ``\textsf{line-end~[E]}''.
% %&lt;/en&gt;
% %&lt;*ja&gt;
% \item \textit{Nq} ă¨ \textit{Np} ă®é–“ă®ă€Śĺ·¦ç©şç™˝ă€ŤăŻă€Ś\textsf{line-end~[E]}ă€Ťă®
%   ć–ąćł•ă§ć±şĺ®šă•ă‚Śă‚‹ďĽŽ
% %&lt;/ja&gt;

%&lt;*en&gt;
\item \LuaTeX-ja adopts the method ``\textsf{P-normal~[PN]}'' to adjust the penalty
  between two clusters for \emph{kinsoku shori}.
%&lt;/en&gt;
%&lt;*ja&gt;
\item \LuaTeX-jaăŻ2ă¤ă®ă‚Żă©ă‚ąă‚żă®é–“ă®ç¦ĺ‰‡ĺ‡¦ç†ç”¨ă®ăšăŠă«ă†ă‚Łă‚’č¨­ĺ®šă™ă‚‹ăźă‚ă«ă€Ś\textsf{P-normal~[PN]}ă€Ťă®ć–ąćł•ă‚’ćŽˇç”¨ă™ă‚‹ďĽŽ
%&lt;/ja&gt;
\end{enumerate}
\end{quote}
\end{table}

\subsection{ăťă®ä»–ă®ĺ&nbsp;´ĺ}
ćś¬çŻ€ă®ĺ†…ĺ®ąăŻ\autoref{tab-jfmglue}ă«ăľă¨ă‚ă¦ă‚ă‚‹ďĽŽ

\paragraph{ĺ’Ść–‡Aă¨ć¬§ć–‡ă®é–“}
\textit{Nq}ăŚ\textsf{ĺ’Ść–‡A}ă§ďĽŚ\textit{Np}ăŚ\textsf{ć¬§ć–‡}ă®ĺ&nbsp;´ĺďĽŚJFMă‚°ă«ăĽćŚżĺ…Ąĺ‡¦ç†ăŻć¬ˇă®ă‚ă†ă«ă—ă¦čˇŚă‚Źă‚Śă‚‹ďĽŽ
\begin{itemize}
\item ă€ŚĺŹłç©şç™˝ă€Ťă«ă¤ă„ă¦ăŻďĽŚăľăšä»Ąä¸‹ă«čż°ăąă‚‹\textsf{ć¬§ć–‡ĺ˘ç•ŚB~[\NB]}ă«ă‚ă‚Šç©şç™˝ă‚’ć±şĺ®šă—ă‚ă†ă¨č©¦ăżă‚‹ďĽŽ
ăťă‚ŚăŚĺ¤±ć•—ă—ăźĺ&nbsp;´ĺăŻďĽŚ\textsf{\Param{xkanjiskip}~[X]}ă«ă‚ăŁă¦ĺ®šă‚ă‚‹ďĽŽ
%\item ă€Śĺ·¦ç©şç™˝ă€Ťă«ă¤ă„ă¦ăŻďĽŚć—˘ă«čż°ăąăź\textsf{line-end~[E]}ă‚’ăťă®ăľăľćŽˇç”¨ă™ă‚‹ďĽŽăťă‚Śă«äĽ´ă†ă€ŚĺŹłç©şç™˝ă€Ťă®čŁść­Łă‚‚%ĺŚăďĽŽ
\item ç¦ĺ‰‡ç”¨ăšăŠă«ă†ă‚Łă‚‚ďĽŚä»Ąĺ‰Ťčż°ăąăź\textsf{P-normal~[PN]}ă¨ĺŚăă§ă‚ă‚‹ďĽŽ
\end{itemize}
\begin{description}
\item[ć¬§ć–‡ĺ˘ç•ŚB~{[\NB]}] ä»Ąä¸‹ă§ć±‚ă‚ăźé‡Źă‚’ă€ŚĺŹłç©şç™˝ă€Ťă¨ă—ă¦ćŽˇç”¨ă™ă‚‹ďĽŽ
ă“ă®ĺ‡¦ç†ăŻ\textsf{JFM-origin~[M]}ă®ĺ¤‰ç¨®ă¨č€ăă¦č‰ŻăŹďĽŚ
ĺ…¸ĺž‹äľ‹ăŻă€Śĺ’Ść–‡ă®é–‰ăć‹¬ĺĽ§ă¨ć¬§ć–‡ć–‡ĺ­—ă®é–“ă«ĺ…Ąă‚‹ĺŤŠč§’ă‚˘ă‚­ă€Ťă§ă‚ă‚‹ďĽŽ
\begin{enumerate}
\item ă‚‚ă—ä¸ˇă‚Żă©ă‚ąă‚żă®é–“ă§ \cs{inhibitglue} ăŚĺ®źčˇŚă•ă‚Śă¦ă„ăźĺ&nbsp;´ĺ%
ďĽč¨Ľă¨ă—ă¦whatsităŽăĽă‰ăŚč‡Şĺ‹•ćŚżĺ…Ąă•ă‚Śă‚‹ďĽ‰ďĽŚćśŞĺ®šçľ©ďĽŽ
\item ăťă†ă§ăŞă‘ă‚Śă°ďĽŚ
\textit{Nq}ă¨ă€Ść–‡ĺ­—ă‚łăĽă‰ăŚ$x$ă®ć–‡ĺ­—ă€Ťă¨ă®é–“ă«ĺ…Ąă‚‹ă‚°ă«ăĽďĽŹă‚«ăĽăłă¨ă™ă‚‹ďĽŽ
ă“ă®$x$ăŻć¬ˇă®ĺ&nbsp;´ĺĺ†ă‘ă«ă‚ă‚‹ďĽš
  \begin{itemize}
    \item $\mathit{Np}.\mathit{id}$ăŚ\textit{id\_math}ă®ă¨ăŤďĽă¤ăľă‚Šă‚Żă©ă‚ąă‚ż\textit{Np}ăŚć–‡ä¸­ć•°ĺĽŹă‚’čˇ¨ă™ďĽ‰
    ă¨ăŤăŻďĽŚ$x=-1$ďĽŽ
    \item \textit{Np}ă®ä¸­čş«ă®ä¸­čş«ă®ć–‡ĺ­—ă‚łăĽă‰ă«ă¤ă„ă¦ďĽŚă€Śç›´ĺ‰Ťă¸ă®\Param{xkanjiskip}ă®ćŚżĺ…Ąă€ŤăŚç¦ć­˘ă•ă‚Śă¦ă„ă‚‹
ďĽă¤ăľă‚ŠďĽŚ\Param{jaxspmode}~(or \Param{alxspmode})ă‘ă©ăˇăĽă‚żăŚĺ¶ć•°ďĽ‰ă¨ăŤăŻďĽŚ
    $x=\text{\texttt{'nox\_alchar'}}$ďĽŽ
    \item ä»Ąä¸Šă®ă„ăšă‚Śă§ă‚‚ăŞă„ă¨ăŤăŻďĽŚ$x=\text{\texttt{'alchar'}}$ďĽŽ
  \end{itemize}
\end{enumerate}
\item[\Param{xkanjiskip}~{[X]}]
ă“ă®ć®µéšŽă§ăŻďĽŚ\textsf{\Param{kanjiskip}~[K]}ă®ă¨ăŤă¨ĺŚăă‚ă†ă«ďĽŚ
ä»Ąä¸‹ă§ĺ®šă‚ăźé‡Źă‚’ă€ŚĺŹłç©şç™˝ă€Ťă¨ă—ă¦ćŽˇç”¨ă™ă‚‹ďĽŽ
\cs{inhibitglue} ăŻĺŠąĺŠ›ă‚’ćŚăźăŞă„ďĽŽ
\begin{enumerate}
\item ä»Ąä¸‹ă®ă„ăšă‚Śă‹ă®ĺ&nbsp;´ĺăŻďĽŚ\Param{xkanjiskip}ă®ćŚżĺ…ĄăŻćŠ‘ć­˘ă•ă‚Śă‚‹ďĽŽă—ă‹ă—ďĽŚĺ®źéš›ă«ăŻčˇŚĺ†ĺ‰˛ă‚’č¨±ĺ®ąă™ă‚‹ăźă‚ă«ďĽŚé•·ă•0ă®glueă‚’ćŽˇç”¨ă™ă‚‹ďĽš
\begin{itemize}
\item ä¸ˇă‚Żă©ă‚ąă‚żă«ăŠă„ă¦ďĽŚăťă‚Śă‚‰ă®ä¸­čş«ă®ć–‡ĺ­—ă‚łăĽă‰ă«ĺŻľă™ă‚‹\Param{autoxspacing}ă‘ă©ăˇăĽă‚żăŚĺ…±ă«falseă§ă‚ă‚‹ďĽŽ
\item \textit{Nq}ă®ä¸­čş«ă®ć–‡ĺ­—ă‚łăĽă‰ă«ă¤ă„ă¦ďĽŚă€Śç›´ĺľŚă¸ă®\Param{xkanjiskip}ă®ćŚżĺ…Ąă€ŤăŚç¦ć­˘ă•ă‚Śă¦ă„ă‚‹
ďĽă¤ăľă‚ŠďĽŚ\Param{jaxspmode}~(or \Param{alxspmode})ă‘ă©ăˇăĽă‚żăŚ2ä»Ąä¸ŠďĽ‰ďĽŽ
\item \textit{Np}ă®ä¸­čş«ă®ć–‡ĺ­—ă‚łăĽă‰ă«ă¤ă„ă¦ďĽŚă€Śç›´ĺ‰Ťă¸ă®\Param{xkanjiskip}ă®ćŚżĺ…Ąă€ŤăŚç¦ć­˘ă•ă‚Śă¦ă„ă‚‹
ďĽă¤ăľă‚ŠďĽŚ\Param{jaxspmode}~(or \Param{alxspmode})ă‘ă©ăˇăĽă‚żăŚĺ¶ć•°ďĽ‰ďĽŽ
\end{itemize}
\item ă¦ăĽă‚¶ĺ´ă‹ă‚‰č¦‹ăź\Param{xkanjiskip}ă‘ă©ăˇăĽă‚żă®č‡Şç„¶é•·ăŚ$\cs{maxdimen}=(2^{30}-1)\,\textrm{sp}$ă§
ăŞă‘ă‚Śă°ďĽŚ\Param{xkanjiskip}ă‘ă©ăˇăĽă‚żă®ĺ€¤ă‚’ćŚă¤glueă‚’ćŽˇç”¨ă™ă‚‹ďĽŽ
\item 2.ă§ăŞă„ĺ&nbsp;´ĺăŻďĽŚ\textit{Nq}, \textit{Np}ďĽ\textsf{ĺ’Ść–‡A}/\textsf{ĺ’Ść–‡B}ăŞă®ăŻç‰‡ć–ąă&nbsp;ă‘ďĽ‰
ă§ä˝żă‚Źă‚Śă¦ă„ă‚‹JFMă«ćŚ‡ĺ®šă•ă‚Śă¦ă„ă‚‹\Param{xkanjiskip}ă®ĺ€¤ă‚’ç”¨ă„ă‚‹ďĽŽ
\end{enumerate}
\end{description}

\paragraph{ć¬§ć–‡ă¨ĺ’Ść–‡Aă®é–“}
\textit{Nq}ăŚ\textsf{ć¬§ć–‡}ă§ďĽŚ\textit{Np}ăŚ\textsf{ĺ’Ść–‡A}ă®ĺ&nbsp;´ĺďĽŚJFMă‚°ă«ăĽćŚżĺ…Ąĺ‡¦ç†ăŻä¸Šă®ĺ&nbsp;´ĺă¨ă»ăĽĺŚăă§ă‚ă‚‹ďĽŽ
\textsf{ĺ’Ść–‡A}ă®ă‚Żă©ă‚ąă‚żăŚé€†ă«ăŞă‚‹ă®ă§ďĽŚ\textsf{ć¬§ć–‡ĺ˘ç•ŚB~[\NB]}ă®é¨ĺ†ăŚĺ¤‰ă‚Źă‚‹ă&nbsp;ă‘ă§ă‚ă‚‹ďĽŽ
\begin{itemize}
\item ă€ŚĺŹłç©şç™˝ă€Ťă«ă¤ă„ă¦ăŻďĽŚăľăšä»Ąä¸‹ă«čż°ăąă‚‹\textsf{ć¬§ć–‡ĺ˘ç•ŚA~[\OA]}ă«ă‚ă‚Šç©şç™˝ă‚’ć±şĺ®šă—ă‚ă†ă¨č©¦ăżă‚‹ďĽŽ
ăťă‚ŚăŚĺ¤±ć•—ă—ăźĺ&nbsp;´ĺăŻďĽŚ\textsf{\Param{xkanjiskip}~[X]}ă«ă‚ăŁă¦ĺ®šă‚ă‚‹ďĽŽ
%\item \textit{Nq}ăŚĺ’Ść–‡ă§ăŞă„ă®ă§ďĽŚă€Śĺ·¦ç©şç™˝ă€ŤăŻç®—ĺ‡şă•ă‚ŚăŞă„ďĽŽ
\item ç¦ĺ‰‡ç”¨ăšăŠă«ă†ă‚ŁăŻďĽŚä»Ąĺ‰Ťčż°ăąăź\textsf{P-normal~[PN]}ă¨ĺŚăă§ă‚ă‚‹ďĽŽ
\end{itemize}
\begin{description}
\item[ć¬§ć–‡ĺ˘ç•ŚA~{[\NA]}] ă“ă‚ŚăŻ\textsf{ć¬§ć–‡ĺ˘ç•ŚB~[\NB]}ă§\textit{Np}ă¨\textit{Nq}ă®ĺ˝ąĺ‰˛ăŚ
  äş¤ćŹ›ă•ă‚Śăźă‚‚ă®ă¨ć€ťăă°č‰Żă„ďĽŽ
  ă“ă®ĺ‡¦ç†ă§ĺ®šăľă‚‹ç©şç™˝ă®ĺ…¸ĺž‹äľ‹ăŻďĽŚć¬§ć–‡ć–‡ĺ­—ă¨ĺ’Ść–‡ă®é–‹ăŤć‹¬ĺĽ§ă¨ă®é–“ă«ĺ…Ąă‚‹ĺŤŠč§’ă‚˘ă‚­ă§ă‚ă‚‹ďĽŽ
\begin{enumerate}
\item ă‚‚ă—ä¸ˇă‚Żă©ă‚ąă‚żă®é–“ă§ \cs{inhibitglue} ăŚĺ®źčˇŚă•ă‚Śă¦ă„ăźĺ&nbsp;´ĺďĽč¨Ľă¨ă—ă¦whatsităŽăĽă‰ăŚč‡Şĺ‹•ćŚżĺ…Ąă•ă‚Śă‚‹ďĽ‰ďĽŚ
  ćśŞĺ®šçľ©ďĽŽ
\item ăťă†ă§ăŞă‘ă‚Śă°ďĽŚ
ă€Ść–‡ĺ­—ă‚łăĽă‰ăŚ$x$ă®ć–‡ĺ­—ă€Ťă¨\textit{Np}ă¨ă®é–“ă«ĺ…Ąă‚‹ă‚°ă«ăĽďĽŹă‚«ăĽăłă¨ĺ®šă‚ă‚‹ďĽŽ
$x$ăŻ\textit{Nq}ă‹ă‚‰\textsf{ć¬§ć–‡ĺ˘ç•ŚB~[\NB]}ă«ăŠă‘ă‚‹ăťă‚Śă¨ĺŚăć–ąćł•ă§ĺ®šă‚ă‚‹ăŚďĽŚ
\texttt{'nox\_alchar'}ă‹\texttt{'alchar'}ăŻ
\begin{quote}
  \textit{Nq}ă®ä¸­čş«ă®ć–‡ĺ­—ă‚łăĽă‰ă«ă¤ă„ă¦ďĽŚă€Śç›´ĺľŚă¸ă®\Param{xkanjiskip}ă®ćŚżĺ…Ąă€ŤăŚç¦ć­˘ă•ă‚Śă¦ă„ă‚‹
ďĽă¤ăľă‚ŠďĽŚ\Param{jaxspmode}~(or \Param{alxspmode})ă‘ă©ăˇăĽă‚żăŚ2ä»Ąä¸ŠďĽ‰ďĽŽ
\end{quote}
  ă‹ĺ¦ă‹ă§ĺ¤ć–­ă™ă‚‹ďĽŽ
\end{enumerate}
\end{description}

\paragraph{ĺ’Ść–‡Aă¨ç®±ă»ă‚°ă«ăĽă»ă‚«ăĽăłă®é–“}
\textit{Nq}ăŚ\textsf{ĺ’Ść–‡A}ă§ďĽŚ\textit{Np}ăŚ\textsf{ç®±}ă»ă‚°ă«ăĽă»ă‚«ăĽăłă®ă„ăšă‚Śă‹ă§ă‚ăŁăźĺ&nbsp;´ĺďĽŚ
ä¸ˇč€…ă®é–“ă«ćŚżĺ…Ąă•ă‚Śă‚‹JFMă‚°ă«ăĽă«ă¤ă„ă¦ăŻĺŚăĺ‡¦ç†ă§ă‚ă‚‹ďĽŽă—ă‹ă—ďĽŚăťă“ă§ă®čˇŚĺ†ĺ‰˛ă«ĺŻľă™ă‚‹ä»•ć§ăŚç•°ăŞă‚‹ă®ă§ďĽŚ
ăšăŠă«ă†ă‚Łă®ćŚżĺ…Ąĺ‡¦ç†ăŻč‹Ąĺą˛ç•°ăŞăŁăźă‚‚ă®ă¨ăŞăŁă¦ă„ă‚‹ďĽŽ
\begin{itemize}
\item ă€ŚĺŹłç©şç™˝ă€Ťă«ă¤ă„ă¦ăŻďĽŚä»Ąä¸‹ă«čż°ăąă‚‹\textsf{Boundary-B~[\OB]}ă«ă‚ă‚Šç©şç™˝ă‚’ć±şĺ®šă—ă‚ă†ă¨č©¦ăżă‚‹ďĽŽ
ăťă‚ŚăŚĺ¤±ć•—ă—ăźĺ&nbsp;´ĺăŻďĽŚă€ŚĺŹłç©şç™˝ă€ŤăŻćŚżĺ…Ąă•ă‚ŚăŞă„ďĽŽ
%\item ă€Śĺ·¦ç©şç™˝ă€Ťă«ă¤ă„ă¦ăŻďĽŚć—˘ă«čż°ăąăź\textsf{line-end~[E]}ă®ç®—ĺ‡şć–ąćł•ă‚’ăťă®ăľăľćŽˇç”¨ă™ă‚‹ďĽŽăťă‚Śă«äĽ´ă†ă€ŚĺŹłç©şç™˝ă€Ťă®čŁść­Łă‚‚ĺŚăďĽŽ
\item ç¦ĺ‰‡ç”¨ăšăŠă«ă†ă‚Łă®ĺ‡¦ç†ăŻďĽŚĺľŚă‚Ťă®ă‚Żă©ă‚ąă‚ż\textit{Np}ă®ç¨®éˇžă«ă‚ăŁă¦ç•°ăŞă‚‹ďĽŽ
ăŞăŠďĽŚ$\mathit{Np}.\mathit{head}$ăŻç„ˇć„Źĺ‘łă§ă‚ă‚‹ă‹ă‚‰ďĽŚ
ă€Ś$\mathit{Np}.\mathit{head}$ă«ĺŻľă™ă‚‹\Param{prebreakpenalty}ă®ĺ€¤ă€ŤăŻ0ă¨ăżăŞă•ă‚Śă‚‹ďĽŽč¨€ă„ćŹ›ăă‚Śă°ďĽŚ
\[
 a:=(\text{\textit{Nq}ă®ć–‡ĺ­—ă«ĺŻľă™ă‚‹\Param{postbreakpenalty}ă®ĺ€¤}).
\]
\begin{description}
\item[ç®±] \textit{Np}ăŚ\textsf{ç®±}ă§ă‚ăŁăźĺ&nbsp;´ĺăŻďĽŚä¸ˇă‚Żă©ă‚ąă‚żă®é–“ă§ă®čˇŚĺ†ĺ‰˛ăŻ
ďĽćŽç¤şçš„ă«ä¸ˇă‚Żă©ă‚ąă‚żă®é–“ă« \cs{penalty10000} ăŚă‚ăŁăźĺ&nbsp;´ĺă‚’é™¤ăŤďĽ‰ă„ă¤ă‚‚č¨±ĺ®ąă•ă‚Śă‚‹ďĽŽăťă®ăźă‚ďĽŚ
ăšăŠă«ă†ă‚Łĺ‡¦ç†ăŻďĽŚĺľŚă«čż°ăąă‚‹\textsf{P-allow~[PA]}ăŚ\textsf{P-normal~[PN]}ă®ä»Łă‚Źă‚Šă«ç”¨ă„ă‚‰ă‚Śă‚‹ďĽŽ
\item[ă‚°ă«ăĽ] \textit{Np}ăŚă‚°ă«ăĽă®ĺ&nbsp;´ĺďĽŚăšăŠă«ă†ă‚Łĺ‡¦ç†ăŻ\textsf{P-normal~[PN]}ă‚’ç”¨ă„ă‚‹ďĽŽ
\item[ă‚«ăĽăł] \textit{Np}ăŚă‚«ăĽăłă§ă‚ăŁăźĺ&nbsp;´ĺăŻďĽŚä¸ˇă‚Żă©ă‚ąă‚żă®é–“ă§ă®čˇŚĺ†ĺ‰˛ăŻ
ďĽćŽç¤şçš„ă«ä¸ˇă‚Żă©ă‚ąă‚żă®é–“ă«ăšăŠă«ă†ă‚ŁăŚă‚ăŁăźĺ&nbsp;´ĺă‚’é™¤ăŤďĽ‰č¨±ĺ®ąă•ă‚ŚăŞă„ďĽŽ
ăšăŠă«ă†ă‚Łĺ‡¦ç†ăŻďĽŚĺľŚă«čż°ăąă‚‹\textsf{P-suppress~[PS]}ă‚’ä˝żă†ďĽŽ
\end{description}
ă“ă‚Śă‚‰ă®\textsf{P-normal~[PN]}ďĽŚ\textsf{P-allow~[PA]}ďĽŚ\textsf{P-suppress~[PS]}ă®é•ă„ăŻďĽŚ
\textit{Nq}ă¨\textit{Np}ă®é–“ďĽä»Ąĺ‰Ťă®ĺ›łă&nbsp;ă¨(a)ă®é¨ĺ†ďĽ‰ă«ăšăŠă«ă†ă‚ŁăŚĺ­ĺś¨ă—ăŞă„ĺ&nbsp;´ĺă«ă®ăżĺ­ĺś¨ă™ă‚‹ďĽŽ
\end{itemize}

\begin{description}
\item[Boundary-B~{[\OB]}] ă“ă®ĺ‡¦ç†ăŻ\textsf{ć¬§ć–‡ĺ˘ç•ŚB~[\NB]}ă¨ĺŚć§ă§ă‚ă‚ŠďĽŚ
  $x$ăŚć¬ˇă«ă‚ăŁă¦ć±şăľă‚‹ă“ă¨ă®ăżăŚç•°ăŞă‚‹ďĽš
  \begin{itemize}
    \item \textit{Np}ăŚă‚°ă«ăĽă‚„ă‚«ăĽăłă®ă¨ăŤăŻďĽŚ$x=\text{\texttt{'glue'}}$ďĽŽ
    \item ăťă†ă§ăŞă„ďĽ\textit{Np}ăŚ\textsf{ç®±}ďĽ‰ă¨ăŤăŻďĽŚ$x=\text{\texttt{'jcharbdd'}}$ďĽŽ
  \end{itemize}
\item[P-allow~{[PA]}]
\textit{Nq}ă¨\textit{Np}ă®é–“ă®(a)é¨ĺ†ă«ăšăŠă«ă†ă‚ŁăŚă‚ă‚Śă°ďĽŚ\textsf{P-normal~[PN]}ă¨ĺŚć§ă«ďĽŚ
ăťă‚Śă‚‰ă®ĺ„ăŽăĽă‰ă«ăŠă„ă¦ăšăŠă«ă†ă‚Łĺ€¤ă‚’$a$ă&nbsp;ă‘ĺ˘—ĺŠ&nbsp;ă•ă›ă‚‹ďĽŽ

(a)é¨ĺ†ă«ăšăŠă«ă†ă‚ŁăŚĺ­ĺś¨ă—ă¦ă„ăŞă„ĺ&nbsp;´ĺďĽŚ
\LuaTeX-ja ăŻ\textit{Nq}ă¨\textit{Np}ă®é–“ă®čˇŚĺ†ĺ‰˛ă‚’ĺŹŻč˝ă«ă—ă‚ă†ă¨ă™ă‚‹ďĽŽ
ăťă®ăźă‚ă«ďĽŚä»Ąä¸‹ă®ă„ăšă‚Śă‹ă®ĺ&nbsp;´ĺă«$a$ă‚’ă‚‚ă¤\textit{penalty\_node}ă‚’ä˝śăŁă¦
ă€ŚĺŹłç©şç™˝ă€Ťă®ďĽă‚‚ă—ćśŞĺ®šçľ©ăŞă‚‰\textit{Np}ă®ďĽ‰ç›´ĺ‰Ťă«ćŚżĺ…Ąă™ă‚‹ďĽš
\begin{itemize}
\item ă€ŚĺŹłç©şç™˝ă€ŤăŚă‚°ă«ăĽă§ăŞă„ďĽă‚«ăĽăłă‹ćśŞĺ®šçľ©ďĽ‰ă§ă‚ă‚‹ă¨ăŤďĽŽ
\item $a\neq 0$ă®ă¨ăŤăŻďĽŚă€ŚĺŹłç©şç™˝ă€ŤăŚă‚°ă«ăĽă§ă‚ăŁă¦ă‚‚\textit{penalty\_node}ă‚’ä˝śă‚‹ďĽŽ
\end{itemize}

\item[P-suppress~{[PS]}]
\textit{Nq}ă¨\textit{Np}ă®é–“ă®(a)é¨ĺ†ă«ăšăŠă«ă†ă‚ŁăŚă‚ă‚Śă°ďĽŚ\textsf{P-normal~[PN]}ă¨ĺŚć§ă«ďĽŚ
ăťă‚Śă‚‰ă®ĺ„ăŽăĽă‰ă«ăŠă„ă¦ăšăŠă«ă†ă‚Łĺ€¤ă‚’$a$ă&nbsp;ă‘ĺ˘—ĺŠ&nbsp;ă•ă›ă‚‹ďĽŽ

(a)é¨ĺ†ă«ăšăŠă«ă†ă‚ŁăŚĺ­ĺś¨ă—ă¦ă„ăŞă„ĺ&nbsp;´ĺďĽŚ
\textit{Nq}ă¨\textit{Np}ă®é–“ă®čˇŚĺ†ĺ‰˛ăŻĺ…ă€…ä¸ŤĺŹŻč˝ă®ăŻăšă&nbsp;ăŁăźă®ă§ă‚ă‚‹ăŚďĽŚ
\LuaTeX-ja ăŻăťă‚Śă‚’ă‚Źă–ă‚Źă–čˇŚĺ†ĺ‰˛ĺŹŻč˝ă«ăŻă—ăŞă„ďĽŽ
ăťă®ăźă‚ďĽŚă€ŚĺŹłç©şç™˝ă€ŤăŚglueă§ă‚ă‚Śă°ďĽŚăťă®ç›´ĺ‰Ťă« \cs{penalty10000} ă‚’ćŚżĺ…Ąă™ă‚‹ďĽŽ
\end{description}

\paragraph{ç®±ă»ă‚°ă«ăĽă»ă‚«ăĽăłă¨ĺ’Ść–‡Aă®é–“}
\textit{Np}ăŚ\textsf{ç®±}ă»ă‚°ă«ăĽă»ă‚«ăĽăłă®ă„ăšă‚Śă‹ă§ďĽŚ\textit{Np}ăŚ\textsf{ĺ’Ść–‡A}ă§ă‚ăŁăźĺ&nbsp;´ĺăŻďĽŚ
ă™ăä¸Šă®ďĽ\textit{Nq}ă¨\textit{Np}ă®é&nbsp;†ĺşŹăŚé€†ă«ăŞăŁă¦ă„ă‚‹ďĽ‰ĺ&nbsp;´ĺă¨ĺŚăă§ă‚ă‚‹ďĽŽ
%ăŚďĽŚă€Śĺ·¦ç©şç™˝ă€ŤăŚăŞăŹăŞă‚‹ă“ă¨ă«ă®ăżćł¨ć„ŹďĽŽ
\begin{itemize}
\item ă€ŚĺŹłç©şç™˝ă€Ťă«ă¤ă„ă¦ăŻďĽŚä»Ąä¸‹ă«čż°ăąă‚‹\textsf{Boundary-A~[\OA]}ă«ă‚ă‚Šç©şç™˝ă‚’ć±şĺ®šă—ă‚ă†ă¨č©¦ăżă‚‹ďĽŽ
ăťă‚ŚăŚĺ¤±ć•—ă—ăźĺ&nbsp;´ĺăŻďĽŚă€ŚĺŹłç©şç™˝ă€ŤăŻćŚżĺ…Ąă•ă‚ŚăŞă„ďĽŽ
%\item \textit{Nq}ăŚĺ’Ść–‡ă§ăŞă„ă®ă§ďĽŚă€Śĺ·¦ç©şç™˝ă€ŤăŻç®—ĺ‡şă•ă‚ŚăŞă„ďĽŽ
\item ç¦ĺ‰‡ç”¨ăšăŠă«ă†ă‚Łă®ĺ‡¦ç†ăŻďĽŚ\textit{Nq}ă®ç¨®éˇžă«ă‚ăŁă¦ç•°ăŞă‚‹ďĽŽ
$\mathit{Nq}.\mathit{tail}$ăŻç„ˇć„Źĺ‘łăŞă®ă§ďĽŚ
\[
 a:=(\text{\textit{Np}ă®ć–‡ĺ­—ă«ĺŻľă™ă‚‹\Param{prebreakpenalty}ă®ĺ€¤}).
\]
\begin{description}
\item[ç®±] \textit{Nq}ăŚ\textsf{ç®±}ă®ĺ&nbsp;´ĺăŻďĽŚ\textsf{P-allow~[PA]}ă‚’ç”¨ă„ă‚‹ďĽŽ
\item[ă‚°ă«ăĽ] \textit{Nq}ăŚă‚°ă«ăĽă®ĺ&nbsp;´ĺăŻďĽŚ\textsf{P-normal~[PN]}ă‚’ç”¨ă„ă‚‹ďĽŽ
\item[ă‚«ăĽăł] \textit{Nq}ăŚă‚«ăĽăłă®ĺ&nbsp;´ĺăŻďĽŚ\textsf{P-suppress~[PS]}ă‚’ç”¨ă„ă‚‹ďĽŽ
\end{description}
\end{itemize}

\begin{description}
\item[Boundary-A~{[\OA]}] ă“ă®ĺ‡¦ç†ăŻ\textsf{ć¬§ć–‡ĺ˘ç•ŚA~[\NA]}ă¨ĺŚć§ă§ă‚ă‚ŠďĽŚ
  $x$ăŚć¬ˇă«ă‚ăŁă¦ć±şăľă‚‹ă“ă¨ă®ăżăŚç•°ăŞă‚‹ďĽš
  \begin{itemize}
    \item \textit{Nq}ăŚă‚°ă«ăĽă‚„ă‚«ăĽăłă®ă¨ăŤăŻďĽŚ$x=\text{\texttt{'glue'}}$ďĽŽ
    \item ăťă†ă§ăŞă„ďĽ\textit{Nq}ăŚ\textsf{ç®±}ďĽ‰ă¨ăŤăŻďĽŚ$x=\text{\texttt{'jcharbdd'}}$ďĽŽ
  \end{itemize}
\end{description}

\paragraph{ĺ’Ść–‡Aă¨ĺ’Ść–‡Bă®é•ă„}
ĺ…ă«čż°ăąăźă‚ă†ă«ďĽŚ\textsf{ĺ’Ść–‡B}ăŻhboxă®ä¸­čş«ă®ĺ…é&nbsp;­ďĽor ćś«ĺ°ľďĽ‰ă¨ă—ă¦ĺ‡şçŹľă—ă¦ă„ă‚‹
\textbf{JAchar}ă§ă‚ă‚‹ďĽŽăŞă‚ąăĺ†…ă«ç›´ćŽĄăŽăĽă‰ă¨ă—ă¦çŹľă‚Śă¦ă„ă‚‹\textbf{JAchar}ďĽ\textsf{ĺ’Ść–‡A}ďĽ‰ă¨ă®é•ă„ăŻďĽŚ
\begin{itemize}
\item \textsf{ĺ’Ść–‡B}ă«ĺŻľă—ă¦ăŻďĽŚJFMă®ć–‡ĺ­—ă‚Żă©ă‚ąćŚ‡ĺ®šă‹ă‚‰ĺ®šăľă‚‹ç©şç™˝
ďĽ\textsf{JFMç”±ćťĄ[M]}ďĽŚ\textsf{Boundary-A~[\OA]}ăŞă©ďĽ‰ă®ćŚżĺ…ĄăŻčˇŚă‚Źă‚ŚăŞă„ďĽŽ
%ă€Śĺ·¦ç©şç™˝ă€Ťă®ç®—ĺ‡şă‚‚čˇŚă‚Źă‚ŚăŞă„ďĽŽ
äľ‹ăă°ďĽŚ
\begin{itemize}
\item ç‰‡ć–ąăŚ\textsf{ĺ’Ść–‡A}ďĽŚă‚‚ă†ç‰‡ć–ąăŚ\textsf{ĺ’Ść–‡B}ă®ă‚Żă©ă‚ąă‚żă®ĺ&nbsp;´ĺďĽŚ
\textsf{Boundary-A~[\OA]}ăľăźăŻ\textsf{Boundary-B~[\OB]}ă®ćŚżĺ…Ąă‚’č©¦ăżďĽŚăťă‚ŚăŚă€ăˇăŞă‚‰
\Param{kanjiskip}~\textsf{[K]}ă®ćŚżĺ…Ąă‚’čˇŚă†ďĽŽ
\item \textsf{ĺ’Ść–‡B}ă®2ă¤ă®ă‚Żă©ă‚ąă‚żă®é–“ă«ăŻďĽŚ\Param{kanjiskip}~\textsf{[K]}ăŚč‡Şĺ‹•çš„ă«ĺ…Ąă‚‹ďĽŽ
\end{itemize}
\item \textsf{ĺ’Ść–‡B}ă¨ç®±ă»ă‚°ă«ăĽă»ă‚«ăĽăłăŚéšŁćŽĄă—ăźă¨ăŤďĽă©ăˇă‚‰ăŚĺ‰Ťă‹ăŻé–˘äż‚ăŞă„ďĽ‰ďĽŚé–“ă«JFMă‚°ă«ăĽă»ăšăŠă«ă†ă‚Łă®ćŚżĺ…ĄăŻä¸€ĺ‡ă—ăŞă„ďĽŽ
\item \textsf{ĺ’Ść–‡B}ă¨\textsf{ĺ’Ść–‡B}ďĽŚăľăź\textsf{ĺ’Ść–‡B}ă¨\textsf{ć¬§ć–‡}ă¨ăŚéšŁćŽĄă—ăźć™‚ăŻďĽŚç¦ĺ‰‡ç”¨ăšăŠă«ă†ă‚ŁćŚżĺ…Ąĺ‡¦ç†ăŻ
\textsf{P-suppress~[PS]}ăŚç”¨ă„ă‚‰ă‚Śă‚‹ďĽŽ
\item \textsf{ĺ’Ść–‡B}ă®ć–‡ĺ­—ă«ĺŻľă™ă‚‹\Param{prebreakpenalty},~\Param{postbreakpenalty}ă®ĺ€¤ăŻä˝żă‚Źă‚ŚăšďĽŚ0ă¨ă—ă¦č¨ç®—ă•ă‚Śă‚‹ďĽŽ
\end{itemize}


ć¬ˇăŚĺ…·ä˝“äľ‹ă§ă‚ă‚‹ďĽš
\begin{LTXexample}
ă‚ďĽŽ\inhibitglue A\\
\hbox{ă‚ďĽŽ}A\\
ă‚ďĽŽA
\end{LTXexample}
\begin{itemize}
\item 1čˇŚç›®ă®\cs{inhibitglue}ăŻ\textsf{ć¬§ć–‡ĺ˘ç•ŚB~[\NB]}ă®ĺ‡¦ç†ă®ăżă‚’ćŠ‘ć­˘ă™ă‚‹ă®ă§ďĽŚă”ăŞă‚Şă‰ă¨ă€ŚAă€Ťă®é–“ă«ăŻ
\Param{xkanjiskip}ďĽĺ››ĺ†ă‚˘ă‚­ďĽ‰ăŚĺ…Ąă‚‹ă“ă¨ă«ćł¨ć„ŹďĽŽ
\item 2čˇŚç›®ă®ă”ăŞă‚Şă‰ă¨ă€ŚAă€Ťă®é–“ă«ăŠă„ă¦ăŻďĽŚĺ‰Ťč€…ăŚ\textsf{ĺ’Ść–‡B}ă¨ăŞă‚‹ďĽhboxă®ä¸­čş«ă®ćś«ĺ°ľă¨ă—ă¦ç™»ĺ&nbsp;´ă—ă¦ă„ă‚‹ă‹ă‚‰ďĽ‰ă®ă§ďĽŚ
ăťă‚‚ăťă‚‚\textsf{ć¬§ć–‡ĺ˘ç•ŚB~[\NB]}ă®ĺ‡¦ç†ăŻčˇŚă‚Źă‚ŚăŞă„ďĽŽă‚ăŁă¦ďĽŚ\Param{xkanjiskip}ăŚĺ…Ąă‚‹ă“ă¨ă¨ăŞă‚‹ďĽŽ
\item 3čˇŚç›®ă§ăŻďĽŚă”ăŞă‚Şă‰ă®ĺ±žă™ă‚‹ă‚Żă©ă‚ąă‚żăŻ\textsf{ĺ’Ść–‡A}ă§ă‚ă‚‹ďĽŽă“ă‚Śă«ă‚ăŁă¦ďĽŚ
ă”ăŞă‚Şă‰ă¨ă€ŚAă€Ťă®é–“ă«ăŻ\textsf{ć¬§ć–‡ĺ˘ç•ŚB~[\NB]}ç”±ćťĄă®ĺŤŠč§’ă‚˘ă‚­ăŚĺ…Ąă‚‹ă“ă¨ă«ăŞă‚‹ďĽŽ
\end{itemize}
%&lt;/ja&gt;

%&lt;*ja&gt;
\section{ă™ăĽă‚ąă©ă‚¤ăłčŁść­Łă®ć–ąćł•}
\subsection{\texttt{yoffset} ă•ă‚ŁăĽă«ă‰}
\Param{yalbaselineshift}ç­‰ă®ă™ăĽă‚ąă©ă‚¤ăłčŁść­ŁăŻďĽŚĺźşćś¬çš„ă«ăŻĺŻľč±ˇă¨ăŞăŁă¦ă„ă‚‹
\textit{glyph\_node}ă® \texttt{yoffset} ă•ă‚ŁăĽă«ă‰ă®ĺ€¤ă‚’ĺ˘—ć¸›ă™ă‚‹ă“ă¨ă«ă‚ăŁă¦
ĺ®źčŁ…ă•ă‚Śă¦ă„ă‚‹ďĽŽăŞăŠďĽŚ\texttt{yoffset} ă®ĺ€¤ăŻä¸Šć–ąĺ‘ă¸ă®ç§»ĺ‹•é‡Źă§ă‚ă‚‹ă®ă«ĺŻľă—ďĽŚ
\Param{yalbaselineshift}ăŞă©ăŻä¸‹ć–ąĺ‘ă¸ă®ç§»ĺ‹•é‡Źă§ă‚ă‚‹ďĽŽ

ă•ă¦ďĽŚ\texttt{yoffset} ă®ĺ˘—ć¸›ă«ă‚ăŁă¦č¦‹ă‹ă‘ă®ă‚°ăŞă•ä˝Ťç˝®ăŻä¸Šä¸‹ă«ç§»ĺ‹•ă™ă‚‹ăŚďĽŚ
ä»®ćłăśă‡ă‚Łă®é«ă•$h$ďĽŚć·±ă•$d$ă«ă¤ă„ă¦ăŻ
\begin{description}
 \item[$\texttt{yoffset}\geq 0$ă®ă¨ăŤ]
$h = \max(\texttt{height} + \texttt{yoffset}, 0)$,
$d = \max(\texttt{depth} - \texttt{yoffset}, 0)$,
 \item[$\texttt{yoffset}&lt;0$ă®ă¨ăŤ]
$h = \max(\texttt{height} + \texttt{yoffset}, 0)$, $d=\texttt{depth}$.
\end{description}
ă¨ă„ă†ä»•ć§ă«ăŞăŁă¦ă„ă‚‹ďĽŽă¤ăľă‚ŠďĽŚ\texttt{yoffset} ăŚč˛&nbsp;ďĽă‚°ăŞă•ă‚’ä¸‹ă‘ă‚‹ďĽ‰ă®ĺ&nbsp;´ĺă«ć·±ă•ăŻĺ˘—ĺŠ&nbsp;ă—ăŞ
ă„ďĽ\autoref{tab:yoffset_and_im}ĺŹ‚ç…§ďĽ‰ďĽŽ

\begin{table}[t]
\caption{\texttt{yoffset} and imaginary body}
\label{tab:yoffset_and_im}
\centering\small
\fboxsep0pt
\def\T#1#2{\fcolorbox{blue}{white}{%
  \setbox0=\hbox{\LARGE #1%
    \directlua{
      local p = tex.nest[tex.nest.ptr].tail
      p.yoffset = #2 * 65536
    }%
  }%
  \copy0\kern-\wd0\smash{\color{red}\vrule width \wd0 height 0.2pt depth 0.2pt}%
}}
\begin{tabular}{&gt;{\bfseries}lccccc}
\toprule
\texttt{yoffset}&amp;10\,pt&amp;5\,pt&amp;0&amp;$-5$\,pt&amp;$-10$\,pt\\
\midrule
ä»®ćłăśă‡ă‚Ł&amp;\T{y}{10}, \T{H}{10}&amp;\T{y}{5}, \T{H}{5}&amp;\T{y}{0}, \T{H}{0}%
&amp;\T{y}{-5}, \T{H}{-5}&amp;\T{y}{-10}, \T{H}{-10}\\[10pt]
\bottomrule
\end{tabular}
\end{table}

\subsection{\textbf{ALchar}ă®čŁść­Ł}
ä¸Šč¨ă®ĺ•ŹéˇŚă«ă¤ă„ă¦ďĽŚ\textbf{ALchar}ă®ă™ăĽă‚ąă©ă‚¤ăłčŁść­Łă§ăŻ
ă€Ść­Łă—ă„ć·±ă•ă€Ťă‚’ćŚăŁăźç˝«ç·š(rule)ă‚’čŁśă†ă¨ă„ă†ĺŻľĺżśç­–ă‚’ă¨ăŁăźďĽŽ
ă“ă®ç˝«ç·šă«ă‚ă‚‹čŁść­ŁăŻďĽŚ\textit{id}ăŚ\textit{id\_glyph}ă§ă‚ă‚‹ă‚Żă©ă‚ąă‚żĺŤä˝ŤďĽŚ
ĺ¤§é›‘ćŠŠă«č¨€ăă°éźłçŻ€ĺŤä˝Ťă§čˇŚă‚Źă‚Śă‚‹ďĽŽ
ć–‡ĺ­—ĺ—``Typeset''ă‚’
\begin{itemize}
 \item ă•ă‚©ăłăăŻLatin Modern Roman (\texttt{lmroman10-regular.otf}) 10\,pt
 \item \Param{yalbaselineshift}ăŻ5\,pt
\end{itemize}
ă¨ă„ă†çŠ¶ćłă§çµ„ă‚“ă&nbsp;ĺ&nbsp;´ĺă‚’äľ‹ă«ă¨ăŁă¦čŞ¬ćŽă—ă‚ă†ďĽŽ

\LuaTeXă»\Pkg{luaotfload}ă«ă‚ă‚‹ă‚«ăĽă‹ăłă‚°ă»ăŹă‚¤ă•ăŤăĽă‚·ă§ăłăŚçµ‚ă‚ŹăŁăźć®µéšŽă§ăŻďĽŚâ€¦â€¦



%&lt;/ja&gt;

%&lt;en&gt;\section{Patch for the \Pkg{listings} Package}
%&lt;ja&gt;\section{\Pkg{listings} ă‘ăă‚±ăĽă‚¸ă¸ă®ĺŻľĺżś}

%&lt;*en&gt;
It is well-known that the \Pkg{listings} package outputs weird results
for Japanese input.
The \Pkg{listings} package makes most of letters active and assigns
output command for each letter~(\cite{listings}).
But Japanese characters are not included in these activated letters.
For \pTeX{} series, there is no method to make Japanese characters active;
a patch \Pkg{jlisting.sty}~(\cite{jlisting}) resolves the problem forcibly.
%&lt;/en&gt;
%&lt;*ja&gt;
\Pkg{listings} ă‘ăă‚±ăĽă‚¸ăŚďĽŚăťă®ăľăľă§ăŻć—Ąćś¬čŞžă‚’ăľă¨ă‚‚ă«ĺ‡şĺŠ›ă§ăŤăŞă„ă“ă¨
ăŻă‚ăŹçźĄă‚‰ă‚Śă¦ă„ă‚‹ďĽŽăŤăˇă‚“ă¨ć•´ĺ˝˘ă—ă¦ĺ‡şĺŠ›ă™ă‚‹ăźă‚ă«ďĽŚ\Pkg{listings}ă‘ăă‚±ăĽ
ă‚¸ăŻĺ†…é¨ă§ă€Śă»ă¨ă‚“ă©ă®ć–‡ĺ­—ă€Ťă‚’ă‚˘ă‚Żă†ă‚Łă–ă«ă—ďĽŚĺ„ć–‡ĺ­—ă«ĺŻľă—ă¦ăťă®ć–‡ĺ­—ă®ĺ‡ş
ĺŠ›ĺ‘˝ä»¤ă‚’ĺ‰˛ă‚Šĺ˝“ă¦ă¦ă„ă‚‹(\cite{listings})ďĽŽ
ă—ă‹ă—ďĽŚăťă“ă§ă‚˘ă‚Żă†ă‚Łă–ă«ă™ă‚‹ć–‡ĺ­—ă®ä¸­ă«ďĽŚĺ’Ść–‡ć–‡
ĺ­—ăŚăŞă„ăźă‚ă§ă‚ă‚‹ďĽŽ\pTeX çł»ĺ—ă§ăŻďĽŚĺ’Ść–‡ć–‡ĺ­—ă‚’ă‚˘ă‚Żă†ă‚Łă–ă«ă™ă‚‹ć‰‹ćł•ăŚăŞăŹďĽŚ
\Pkg{jlisting.sty} ă¨ă„ă†ă‘ăă(\cite{jlisting})ă‚’ç”¨ă„ă‚‹ă“ă¨ă§ç„ˇç†ă‚„ă‚Šč§Łć±şă—ă¦ă„ăźďĽŽ
%&lt;/ja&gt;

%&lt;*en&gt;
In \LuaTeX-ja, the problem is resolved by using the \verb+process_input_buffer+ callback.
The callback function inserts the output command (active character \cs{ltjlineendcomment})
before each letter above \texttt{U+0080}.
This method can omits the process to make all Japanese characters active
(most of the activated characters are not used in many cases).
%&lt;/en&gt;
%&lt;*ja&gt;
\LuaTeX-jaă§ăŻďĽŚ\verb+process_input_buffer+ ă‚łăĽă«ăăă‚Żă‚’ĺ©ç”¨ă™ă‚‹ă“ă¨ă§ďĽŚ
ă€Śĺ„čˇŚă«ĺ‡şçŹľă™ă‚‹\texttt{U+0080}ä»Ąé™Ťă®ć–‡ĺ­—ă«ĺŻľă—ă¦ďĽŚăťă‚Śă‚‰ă®ĺ‡şĺŠ›ĺ‘˝ä»¤ă‚’ĺ‰Ťç˝®ă™ă‚‹ă€Ť
ă¨ă„ă†ć–ąćł•ă‚’ă¨ăŁă¦ă„ă‚‹ďĽŽĺ‡şĺŠ›ĺ‘˝ä»¤ă¨ă—ă¦ăŻďĽŚă‚˘ă‚Żă†ă‚Łă–ć–‡ĺ­—ĺŚ–ă—ăź\cs{ltjlineendcomment}ă‚’ç”¨ă„ă¦ă„ă‚‹ďĽŽ
ă“ă‚Śă«ă‚ă‚ŠďĽŚďĽĺ…ĄĺŠ›ă«ăŻä˝żç”¨ă•ă‚Śă¦ă„ăŞă„ă‹ă‚‚ă—ă‚ŚăŞă„ďĽ‰ĺ’Ść–‡ć–‡ĺ­—ă‚’ă‚‚ă™ăąă¦ă‚˘ă‚Żă†ă‚Łă–ĺŚ–ă™ă‚‹ć‰‹é–“ă‚‚ăŞăŹďĽŚ
č¦‹é€šă—ăŚč‰Żă„ĺ®źčŁ…ă«ăŞăŁă¦ă„ă‚‹ďĽŽ
%&lt;/ja&gt;


%&lt;*en&gt;
If the \Pkg{listings} package  and \LuaTeX-ja were loaded,
then the patch \Pkg{lltjp-listings} is loaded automatically at \verb+\begin{document}+.
%&lt;/en&gt;
%&lt;*ja&gt;
\LuaTeX-ja ă§ĺ©ç”¨ă•ă‚Śă‚‹ \Pkg{listings} ă‘ăă‚±ăĽă‚¸ă¸ă®ă‘ăă \Pkg{lltjp-listings} ăŻďĽŚ
\Pkg{listings} ă¨\LuaTeX-jaă‚’čŞ­ăżčľĽă‚“ă§ăŠă‘ă°ďĽŚ
\verb+\begin{document}+ ă®ç®‡ć‰€ă«ăŠă„ă¦č‡Şĺ‹•çš„ă«čŞ­ăżčľĽăľă‚Śă‚‹ă®ă§ďĽŚé€šĺ¸¸ăŻă‚ăľă‚Š
ć„Źč­ă™ă‚‹ĺż…č¦ăŻăŞă„ďĽŽ
%&lt;/ja&gt;

%&lt;en&gt;\subsection{Notes and additional keys}
%&lt;ja&gt;\subsection{ćł¨ć„Ź}
% %&lt;*en&gt;
% \paragraph{Escaping to \LaTeX}
% We used the \verb+process_input_buffer+ callback to output \textbf{JAchar}s.
% But it has a drawback; any commands whose name contains a \textbf{JAchar}
% cannot be used in any ``escape to \LaTeX''.

% Consider the following input:
% %&lt;/en&gt;
% %&lt;*ja&gt;
% \paragraph{\LaTeX ă¸ă®ă‚¨ă‚ąă‚±ăĽă—}
% ć—Ąćś¬čŞžĺŻľĺżśă‚’čˇŚă†ăźă‚ă« \verb+process_input_buffer+ ă‚’ä˝żç”¨ă—ăźă“ă¨ă§ďĽŚ
% \texttt{texcl},~\texttt{escapeinside}ă¨ă„ăŁăź\emph{ă€Ś\LaTeX ă¸ă®ă‚¨ă‚ąă‚±ăĽă—ă€Ťä¸­ă§ăŻďĽŚ
% \textbf{JAchar}ă‚’ĺŤç§°ă®ä¸€é¨ă«ĺ«ă‚€ĺ¶ĺľˇç¶´ăŻä˝żç”¨ä¸ŤĺŹŻč˝}ă§ă‚ă‚‹ďĽŽ
% äľ‹ăă°ć¬ˇă®ă‚ă†ăŞĺ…ĄĺŠ›ă‚’č€ăă‚ă†ďĽš
% %&lt;/ja&gt;
% \begin{lstlisting}[showspaces][escapechar=\!]
% !\cs{begin}!{lstlisting}[escapechar=\#]
% #\ă»ă’ xă´ă‚#
% !\cs{end}!{lstlisting}
% \end{lstlisting}
% %&lt;en&gt;The line~2 is transformed by the callback to
% %&lt;ja&gt;ă“ă“ă§ďĽŚ2čˇŚç›®ăŻ \verb+process_input_buffer+ ă®ä˝śç”¨ă«ă‚ă‚ŠďĽŚ
% \begin{lstlisting}[showspaces, escapechar=\!]
% #\!\IVSA FFFFF!ă»!\IVSA FFFFF!ă’ x!\IVSA FFFFF!ă´!\IVSA FFFFF!ă‚#
% \end{lstlisting}
% %&lt;*en&gt;
% before the line is actually processed.
% In the escape (between the character ``\verb+#+''),
% the category code of \texttt{U+FFFFF} is set to 9~(\emph{ignored}).
% Hence the control symbol ``\cs{}\IVSA FFFFF'' will be executed,
% instead of ``\verb+\ă»ă’+''.
% %&lt;/en&gt;
% %&lt;*ja&gt;
% ă¨ĺ¤‰ćŹ›ă•ă‚Śă¦ă‹ă‚‰ďĽŚĺ®źéš›ă®ĺ‡¦ç†ă«ĺ›žă•ă‚Śă‚‹ďĽŽ
% ă€Ś\verb+#+ă€Ťă§ćŚźăľă‚Śăźă€Ś\LaTeX ă¸ă®ă‚¨ă‚ąă‚±ăĽă—ă€Ťä¸­ă§ăŻ\
% \texttt{U+FFFFF} ă®ă‚«ă†ă‚´ăŞăĽă‚łăĽă‰ăŻ9~(\textit{ignored})ă¨ăŞă‚‹ă®ă§ďĽŚ
% çµĺ±€ă€Ś\verb+\ă»ă’+ă€Ťă®ä»Łă‚Źă‚Šă«
% ă€Ś\cs{}\IVSA FFFFFă€Ťă¨ă„ă†control symbolăŚĺ®źčˇŚă•ă‚Śă‚‹ă“ă¨ă«ăŞă‚‹ďĽŽ
% %&lt;/ja&gt;

%&lt;*en&gt;
\paragraph{Variation selectors}
\Pkg{lltjp-listings} add two keys, namely \texttt{vsraw}~and~\texttt{vscmd},
which specify how variation selectors are treated in
\texttt{lstlisting} or other enviroments.
Note that these additional keys are not usable in the preamble,
since \Pkg{lltjp-listings} is loaded at \verb+\begin{document}+.

\texttt{vsraw} is a key which takes a boolean value, and its default value is
false.
\begin{itemize}
 \item If the \texttt{vsraw} key is true, then
variation selectors are ``combined'' with the previous character.
%&lt;/en&gt;
%&lt;*ja&gt;
\paragraph{ç•°ä˝“ĺ­—ă‚»ă¬ă‚Żă‚żă®ć‰±ă„}
\texttt{lstlisting} ç’°ĺ˘ăŞă©ă®ĺ†…é¨ă«ă‚ă‚‹ç•°ä˝“ĺ­—ă‚»ă¬ă‚Żă‚żă‚’ć‰±ă†ăźă‚ďĽŚ
\Pkg{lltjp-listings} ă§ăŻ \texttt{vsraw} ă¨ \texttt{vscmd} ă¨ă„ă†2ă¤ă®ă‚­ăĽă‚’čż˝ĺŠ&nbsp;ă—ăźďĽŽ
ă—ă‹ă—ďĽŚ\Pkg{lltjp-listings} ăŚĺ®źéš›ă«čŞ­ăżčľĽăľă‚Śă‚‹ă®ăŻ \verb+\begin{document}+\
ă®ă¨ă“ă‚Ťă§ă‚ă‚‹ă®ă§ďĽŚă—ăŞă‚˘ăłă–ă«ĺ†…ă§ăŻă“ă‚Śă‚‰ă®čż˝ĺŠ&nbsp;ă‚­ăĽăŻä˝żç”¨ă§ăŤăŞă„ďĽŽ

\texttt{vsraw}ăŻďĽŚă–ăĽă«ĺ€¤ă®ĺ€¤ă‚’ă¨ă‚‹ă‚­ăĽă§ă‚ă‚ŠďĽŚć¨™ćş–ă§ăŻfalseă§ă‚ă‚‹ďĽŽ
\begin{itemize}
 \item trueă®ĺ&nbsp;´ĺăŻďĽŚç•°ä˝“ĺ­—ă‚»ă¬ă‚Żă‚żăŻă€Śç›´ĺ‰Ťă®ć–‡ĺ­—ă«ç¶šă‘ă¦ă€Ťĺ‡şĺŠ›ă•ă‚Śă‚‹ăźă‚ďĽŚ
äľ‹ăă°ä»Ąä¸‹ă®äľ‹ďĽĺ·¦ĺ´ăŻĺ…ĄĺŠ›ďĽŚĺŹłĺ´ăŻăťă®ĺ‡şĺŠ›ďĽ‰ă®ă‚ă†ă«ăŞă‚‹ďĽŽ
%&lt;/ja&gt;
%%%% [preset=...]: workaround for lstlisting inside LTXexample
\begin{LTXexample}[preset=\expandafter\def\csname @captype\endcsname{lstlisting}]
\begin{lstlisting}[vsraw=true]
č‘›ó&nbsp;„€ĺźŽĺ¸‚ďĽŚč‘›ó&nbsp;„éŁľĺŚşďĽŚč‘›čĄż
\end{lstlisting}
\end{LTXexample}
%&lt;*en&gt;
\item If the \texttt{vsraw} key is false, then
variation selectors are typeset by an appropriate command, which is specified by
      the \texttt{vscmd} key.
The default setting of the \texttt{vscmd} key produces the following.
%&lt;/en&gt;
%&lt;*ja&gt;
\item falseă®ĺ&nbsp;´ĺăŻďĽŚç•°ä˝“ĺ­—ă‚»ă¬ă‚Żă‚żăŻé©ĺ˝“ăŞĺ‘˝ä»¤ă«ă‚ăŁă¦ă€Śč¦‹ăă‚‹ĺ˝˘ă§ă€Ťĺ‡şĺŠ›ă•ă‚Śă‚‹ďĽŽ
ă©ă®ă‚ă†ăŞĺ˝˘ă§ĺ‡şĺŠ›ă•ă‚Śă‚‹ă‹ă‚’č¦Źĺ®šă™ă‚‹ă®ăŚ \texttt{vscmd} ă‚­ăĽă§ă‚ă‚ŠďĽŚ
\Pkg{lltjp-listings} ă®ć¨™ćş–č¨­ĺ®šă§ăŻä»Ąä¸‹ă®äľ‹ă®ĺŹłĺ´ă®ă‚ă†ă«ĺ‡şĺŠ›ă•ă‚Śă‚‹ďĽŽ
%&lt;/ja&gt;
\begin{LTXexample}[preset=\expandafter\def\csname @captype\endcsname{lstlisting}]
\begin{lstlisting}[vsraw=false,
   vscmd=\ltjlistingsvsstdcmd]
č‘›ó&nbsp;„€ĺźŽĺ¸‚ďĽŚč‘›ó&nbsp;„éŁľĺŚşďĽŚč‘›čĄż
\end{lstlisting}
\end{LTXexample}
%&lt;ja&gt; ăˇăŞăżă«ďĽŚćś¬ă‰ă‚­ăĄăˇăłăă§ăŻć¬ˇă®ă‚ă†ă«ă—ă¦ă„ă‚‹ďĽš
%&lt;en&gt; For example, the following code is the setting of the \texttt{vscmd} key in this document.
\begin{lstlisting}[numbers=left]
\def\IVSA#1#2#3#4#5{%
  \hbox to1em{\hss\textcolor{blue}{\raisebox{3.5pt}{\normalfont\ttfamily%
    \fboxsep=0.5pt\fbox{\hbox to0.75em{\hss\tiny \oalign{0#1#2\crcr#3#4#5\crcr}\hss}}}}\hss}%
}
{\catcode`\%=11
  \gdef\IVSB#1{\expandafter\IVSA\directlua{
    local cat_str = luatexbase.catcodetables['string']
    tex.sprint(cat_str, string.format('%X', 0xE00EF+#1))
}}}
\lstset{vscmd=\IVSB}
\end{lstlisting}
\end{itemize}
%&lt;*en&gt;
The default output command of variation selectors is stored in \verb+\ltjlistingsvsstdcmd+.
%&lt;/en&gt;
%&lt;*ja&gt;
ć—˘ĺ®šă®ĺ‡şĺŠ›ĺ‘˝ä»¤ă‚’ĺľ©ć´»ă•ă›ăźă„ĺ&nbsp;´ĺăŻ\ \verb+vscmd=\ltjlistingsvsstdcmd+\
ă¨ă™ă‚Śă°č‰Żă„ďĽŽ
%&lt;/ja&gt;

%&lt;*en&gt;
\paragraph{The \texttt{doubleletterspace} key}
Even the column format is \texttt{[c]fixed}, sometimes characters are not vertically aligned.
The following example  is typeset with \texttt{basewidth=2em}, and
you'll see the leftmost ``\texttt{H}'' are not vertically aligned.
\begin{lstlisting}[basewidth=2em, basicstyle=\tt,numbers=left]
:H:
:HHHH:
\end{lstlisting}

\Pkg{lltjp-listing} adds the \texttt{doubleletterspace} key (not activated by default, for
compatibility) to
improve the situation, namely doubles inter-character space in each output unit.
With this key, the above input now produces better output.
\begin{lstlisting}[basewidth=2em, basicstyle=\tt,numbers=left, doubleletterspace]
:H:
:HHHH:
\end{lstlisting}
%&lt;/en&gt;
%&lt;*ja&gt;
\paragraph{\texttt{doubleletterspace}ă‚­ăĽ}
\Pkg{listings}ă‘ăă‚±ăĽă‚¸ă§ĺ—ćŹăăŚ \texttt{[c]fixed} ă¨ăŞăŁă¦ă„ă‚‹ĺ&nbsp;´ĺă§ă‚‚ďĽŚ
ĺ&nbsp;´ĺă«ă‚ăŁă¦ăŻć–‡ĺ­—ăŚç¸¦ă«ćŹă‚ŹăŞă„ĺ&nbsp;´ĺă‚‚ă‚ă‚‹ďĽŽ
äľ‹ă‚’ä»Ąä¸‹ă«ç¤şăťă†ďĽŽă“ă‚ŚăŻĺĽ·čŞżă™ă‚‹ăźă‚ă« \texttt{basewidth=2em} ă‚’č¨­ĺ®šă—ă¦ă„ă‚‹ďĽŽ
\begin{lstlisting}[basewidth=2em, basicstyle=\tt,numbers=left]
:H:
:HHHH:
\end{lstlisting}
1čˇŚç›®ă¨2čˇŚç›®ă®ă€Ś\texttt{H}ă€Ťă®ä˝Ťç˝®ăŚćŹăŁă¦ă„ăŞă„ăŚďĽŚ
ă“ă‚ŚăŻĺ‡şĺŠ›ĺŤä˝Ťă”ă¨ă«ďĽŚĺ…é&nbsp;­ă»ćś«ĺ°ľă»ĺ„ć–‡ĺ­—é–“ă«ĺŚăé‡Źă®ç©şç™˝ă‚’ćŚżĺ…Ąă™ă‚‹ă“ă¨ă«ă‚ă‚‹ďĽŽ

\Pkg{lltjp-listing}ă§ăŻďĽŚă“ă®ă‚ă†ăŞç—‡çŠ¶ă‚’ć”ąĺ–„ă•ă›ă‚‹ăźă‚ă« \texttt{doubleletterspace} ă‚­ăĽ
ă‚’čż˝ĺŠ&nbsp;ă—ăźďĽć¨™ćş–ă§ăŻäş’ćŹ›ć€§ă®ăźă‚ă«ç„ˇĺŠąă«ăŞăŁă¦ă„ă‚‹ďĽ‰ďĽŽă“ă®ă‚­ăĽă‚’ćś‰ĺŠąă«ă™ă‚‹ă¨ďĽŚ
ĺ‡şĺŠ›ĺŤä˝Ťä¸­ă®ĺ„ć–‡ĺ­—é–“ă®ç©şç™˝ă‚’2ĺ€Ťă«ă™ă‚‹ă“ă¨ă§ć–‡ĺ­—ă‚’ćŹă„ă‚„ă™ăŹă—ă¦ă„ă‚‹ďĽŽ
ä¸Šă¨ĺŚăă‚‚ă®ă‚’ \texttt{doubleletterspace} ă‚­ăĽă‚’ćś‰ĺŠąă«ă—ă¦çµ„ă‚“ă&nbsp;ă‚‚ă®ăŚä»Ąä¸‹ă§ă‚ă‚ŠďĽŚ
ăŤăˇă‚“ă¨ă€Ś\texttt{H}ă€Ťă®ä˝Ťç˝®ăŚćŹăŁă¦ă„ă‚‹ă“ă¨ăŚĺ†ă‹ă‚‹ďĽŽ
\begin{lstlisting}[basewidth=2em, basicstyle=\tt,numbers=left, doubleletterspace]
:H:
:HHHH:
\end{lstlisting}
%&lt;/ja&gt;

%&lt;en&gt;\subsection{Class of characters}
%&lt;ja&gt;\subsection{ć–‡ĺ­—ç¨®}

%&lt;en&gt;Roughly speaking, the \Pkg{listings} package processes input as follows:
%&lt;ja&gt;\Pkg{listings} ă‘ăă‚±ăĽă‚¸ă®ĺ†…é¨ă§ăŻďĽŚĺ¤§é›‘ćŠŠă«č¨€ă†ă¨
\begin{enumerate}
%&lt;en&gt;\item Collects \textit{letters} and \textit{digits}, which can be used for the name of identifiers.
%&lt;ja&gt;\item č­ĺĄĺ­ă¨ă—ă¦ä˝żăă‚‹ć–‡ĺ­— (``letter'',~``digit'') ăźăˇă‚’é›†ă‚ă‚‹ďĽŽ
%&lt;en&gt;\item When reading an \textit{other}, outputs the collected character string (with modification, if needed).
%&lt;ja&gt;\item letteră§ă‚‚digită§ă‚‚ăŞă„ć–‡ĺ­—ăŚçŹľă‚Śăźć™‚ă«ďĽŚĺŹŽé›†ă—ăźć–‡ĺ­—ĺ—ă‚’ďĽĺż…č¦ăŞă‚‰äż®éŁľă—ă¦ďĽ‰ĺ‡şĺŠ›ă™ă‚‹ďĽŽ
%&lt;en&gt;\item Collects \textit{others}.
%&lt;ja&gt;\item ä»Šĺş¦ăŻé€†ă«ďĽŚletteră§ăŞă„ć–‡ĺ­—ăźăˇă‚’letterăŚçŹľă‚Śă‚‹ăľă§é›†ă‚ă‚‹ďĽŽ
%&lt;en&gt;\item When reading a \textit{letter} or a \textit{digit}, outputs the collected character string.
%&lt;ja&gt;\item letterăŚĺ‡şçŹľă—ăźă‚‰é›†ă‚ăźć–‡ĺ­—ĺ—ă‚’ĺ‡şĺŠ›ă™ă‚‹ďĽŽ
%&lt;en&gt;\item Turns back to 1.
%&lt;ja&gt;\item 1.ă«ć»ă‚‹ďĽŽ
\end{enumerate}
%&lt;*en&gt;
By the above process, line breaks inside of an identifier are blocked.
A flag \verb+\lst@ifletter+ indicates whether the previous character can be used
for the name of identifiers or not.
%&lt;/en&gt;
%&lt;*ja&gt;
ă¨ă„ă†ĺ‡¦ç†ăŚčˇŚă‚Źă‚Śă¦ă„ă‚‹ďĽŽă“ă‚Śă«ă‚ă‚ŠďĽŚč­ĺĄĺ­ă®é€”ä¸­ă§ăŻčˇŚĺ†ĺ‰˛ăŚčˇŚă‚Źă‚ŚăŞă„ă‚ă†ă«ăŞăŁă¦ă„ă‚‹ďĽŽ
ç›´ĺ‰Ťă®ć–‡ĺ­—ăŚč­ĺĄĺ­ă¨ă—ă¦ä˝żăă‚‹ă‹ĺ¦ă‹ăŻ \verb+\lst@ifletter+ ă¨ă„ă†ă•ă©ă‚°ă«ć&nbsp;Ľç´Ťă•ă‚Śă¦ă„ă‚‹ďĽŽ
%&lt;/ja&gt;

%&lt;*en&gt;
For Japanese characters, line breaks are permitted on both sides
except for brackets, dashes, etc.
Hence the patch \Pkg{lltjp-listings} introduces
a new flag \verb+\lst@ifkanji+, which indicates
whether the previous character is a Japanese character or not.
For illustration, we introduce following classes of characters:
%&lt;/en&gt;
%&lt;*ja&gt;
ă•ă¦ďĽŚć—Ąćś¬čŞžă®ĺ‡¦ç†ă§ă‚ă‚‹ďĽŽć®†ă©ă®ĺ’Ść–‡ć–‡ĺ­—ă®ĺ‰ŤĺľŚă§ăŻčˇŚĺ†ĺ‰˛ăŚĺŹŻč˝ă§ă‚ă‚‹ăŚďĽŚăťă®ä¸€ć–ąă§
ć‹¬ĺĽ§éˇžă‚„éźłĺĽ•ăŤăŞă©ă§ăŻç¦ĺ‰‡ĺ‡¦ç†ăŚĺż…č¦ăŞă“ă¨ă‹ă‚‰ďĽŚ\Pkg{lltjp-listings} ă§ăŻďĽŚ
ç›´ĺ‰ŤăŚĺ’Ść–‡ć–‡ĺ­—ă§ă‚ă‚‹ă‹ă‚’ç¤şă™ă•ă©ă‚° \verb+\lst@ifkanji+ ă‚’ć–°ăźă«ĺ°Žĺ…Ąă—ăźďĽŽ
ä»Ąé™ŤďĽŚčŞ¬ćŽă®ăźă‚ă«ä»Ąä¸‹ă®ă‚ă†ă«ć–‡ĺ­—ă‚’ĺ†éˇžă™ă‚‹ďĽš
%&lt;/ja&gt;
%&lt;*ja&gt;
\begin{center}
\small
\begin{tabular}{llllll}
\toprule
&amp;\emph{Letter}&amp;\emph{Other}&amp;\emph{Kanji}&amp;\emph{Open}&amp;\emph{Close}\\\midrule
\verb+\lst@ifletter+&amp;T&amp;F&amp;T&amp;F&amp;T\\
\verb+\lst@ifkanji+&amp;F&amp;F&amp;T&amp;T&amp;F\\
\emph{ć„Źĺ›ł}&amp;č­ĺĄĺ­ä¸­ă®ć–‡ĺ­—&amp;ăťă®ä»–ć¬§ć–‡ć–‡ĺ­—&amp;ć®†ă©ă®ĺ’Ść–‡ć–‡ĺ­—&amp;é–‹ăŤć‹¬ĺĽ§éˇž&amp;é–‰ăć‹¬ĺĽ§éˇž\\
\bottomrule
\end{tabular}
\end{center}
%&lt;/ja&gt;
%&lt;*en&gt;
\begin{center}
\small
\begin{tabular}{llll}
\toprule
&amp;\textbf{Letter}&amp;\textbf{Other}&amp;\\\midrule
\verb+\lst@ifletter+&amp;T&amp;F&amp;\\
\verb+\lst@ifkanji+&amp;F&amp;F&amp;\\
\textbf{Meaning}&amp;char in an identifier&amp;other alphabet&amp;\\
  \midrule
&amp;\textbf{Kanji}&amp;\textbf{Open}&amp;\textbf{Close}\\\midrule
\verb+\lst@ifletter+&amp;T&amp;F&amp;T\\
\verb+\lst@ifkanji+&amp;T&amp;T&amp;F\\
\textbf{Meaning}&amp;most of Japanese char&amp;opening brackets&amp;closing brackets\\
\bottomrule
\end{tabular}
\end{center}
%&lt;/en&gt;
%&lt;*en&gt;
Note that \textit{digits} in the \Pkg{listings} package can be Letter or
Other according to circumstances.
%&lt;/en&gt;
%&lt;*ja&gt;
ăŞăŠďĽŚćś¬ćťĄă®\Pkg{listings} ă‘ăă‚±ăĽă‚¸ă§ă®ĺ†éˇž``digit''ăŻďĽŚ
ĺ‡şçŹľçŠ¶ćłă«ă‚ăŁă¦ďĽŚä¸Šă®čˇ¨ă®Letteră¨Otheră®ă©ăˇă‚‰ă«ă‚‚ăŞă‚Šă†ă‚‹ďĽŽ
ăľăźďĽŚKanjiă¨CloseăŻ \verb+\lst@ifletter+ ă¨ \verb+\lst@ifkanji+ ă®ĺ€¤ăŚä¸€č‡´ă—ă¦ă„ă‚‹ăŚďĽŚ
ă“ă‚ŚăŻé–“é•ă„ă§ăŻăŞă„ďĽŽ
%&lt;/ja&gt;

%&lt;*en&gt;
For example, let us consider the case an Open comes after a Letter.
Since an Open represents Japanese open brackets,
it is preferred to be permitted to insert line break after the Letter.
Therefore, the collected character string is output in this case.
%&lt;/en&gt;
%&lt;*ja&gt;
äľ‹ăă°ďĽŚLetteră®ç›´ĺľŚă«OpenăŚćťĄăźĺ&nbsp;´ĺă‚’č€ăă‚‹ďĽŽ
ć–‡ĺ­—ç¨®OpenăŻĺ’Ść–‡é–‹ăŤć‹¬ĺĽ§éˇžă‚’ćłĺ®šă—ă¦ă„ă‚‹ă®ă§ďĽŚLetteră®ç›´ĺľŚă§ăŻčˇŚĺ†ĺ‰˛ăŚĺŹŻč˝ă§ă‚ă‚‹ă“ă¨ăŚćś›ăľă—ă„ďĽŽ
ăťă®ăźă‚ďĽŚă“ă®ĺ&nbsp;´ĺă§ăŻďĽŚă™ă§ă«ĺŹŽé›†ă•ă‚Śă¦ă„ă‚‹ć–‡ĺ­—ĺ—ă‚’ĺ‡şĺŠ›ă™ă‚‹ă“ă¨ă§čˇŚĺ†ĺ‰˛ă‚’č¨±ĺ®ąă™ă‚‹ă‚ă†ă«ă—ăźďĽŽ
%&lt;/ja&gt;

%&lt;*en&gt;
The following table summarizes $5\times 5=25$ cases:
%&lt;/en&gt;
%&lt;*ja&gt;
ĺŚăă‚ă†ă«ďĽŚ$5\times 5=25$é€šă‚Šĺ…¨ă¦ă«ă¤ă„ă¦ć›¸ăŹă¨ďĽŚć¬ˇă®ă‚ă†ă«ăŞă‚‹ďĽš
%&lt;/ja&gt;
\begin{center}
\small
\begin{tabular}{lllllll}
\toprule
%&lt;*en&gt;
&amp;&amp;\multicolumn{4}{c}{\textbf{Next}}\\\cmidrule(lr){3-7}
&amp;&amp;\hbox to 4em{Letter\hss}&amp;\hbox to 4em{Other\hss}
&amp;\hbox to 4em{Kanji\hss}&amp;\hbox to 4em{Open\hss}&amp;Close\\\midrule
&amp;Letter&amp;collects&amp;\multicolumn{3}{c}{\hrulefill \ outputs\ \hrulefill}&amp;collects\\
&amp;Other&amp;outputs&amp;collects&amp;\multicolumn{2}{c}{\hrulefill \ outputs\ \hrulefill}&amp;collects\\
\textbf{Prev}&amp;Kanji&amp;\multicolumn{4}{c}{\hrulefill \ outputs\ \hrulefill}&amp;collects\\
&amp;Open&amp;\multicolumn{5}{c}{\hrulefill \ collects\ \hrulefill}\\
&amp;Close&amp;\multicolumn{4}{c}{\hrulefill \ outputs\ \hrulefill}&amp;collects\\
%&lt;/en&gt;
%&lt;*ja&gt;
&amp;&amp;\multicolumn{4}{c}{\textbf{ĺľŚĺ´ć–‡ĺ­—ç¨®}}\\\cmidrule(lr){3-7}
&amp;&amp;\hbox to 4em{Letter\hss}&amp;\hbox to 4em{Other\hss}
&amp;\hbox to 4em{Kanji\hss}&amp;\hbox to 4em{Open\hss}&amp;Close\\\midrule
\emph{ç›´}&amp;Letter&amp;ĺŹŽé›†&amp;\multicolumn{3}{c}{\hrulefill \ ĺ‡şĺŠ›\ \hrulefill}&amp;ĺŹŽé›†\\
\emph{ĺ‰Ť}&amp;Other&amp;ĺ‡şĺŠ›&amp;ĺŹŽé›†&amp;\multicolumn{2}{c}{\hrulefill \ ĺ‡şĺŠ›\ \hrulefill}&amp;ĺŹŽé›†\\
\emph{ć–‡}&amp;Kanji&amp;\multicolumn{4}{c}{\hrulefill \ ĺ‡şĺŠ›\ \hrulefill}&amp;ĺŹŽé›†\\
\emph{ĺ­—}&amp;Open&amp;\multicolumn{5}{c}{\hrulefill \ ĺŹŽé›†\ \hrulefill}\\
\emph{ç¨®}&amp;Close&amp;\multicolumn{4}{c}{\hrulefill \ ĺ‡şĺŠ›\ \hrulefill}&amp;ĺŹŽé›†\\
%&lt;/ja&gt;
\bottomrule
\end{tabular}
\end{center}
%&lt;en&gt;In the above table,
%&lt;ja&gt;ä¸Šă®čˇ¨ă«ăŠă„ă¦ďĽŚ
\begin{itemize}
%&lt;en&gt;\item ``outputs'' means to output the collected character string (i.e., line breaking is permitted there).
%&lt;ja&gt;\item ă€Śĺ‡şĺŠ›ă€ŤăŻďĽŚăťă‚Śăľă§ă«é›†ă‚ăźć–‡ĺ­—ĺ—ă‚’ĺ‡şĺŠ›ďĽâ‰’ă“ă“ă§čˇŚĺ†ĺ‰˛ĺŹŻč˝ďĽ‰ă‚’ć„Źĺ‘łă™ă‚‹ďĽŽ

%&lt;en&gt;\item ``collects'' means to append the next character to the collected character string (i.e., line breaking is prohibited there).
%&lt;ja&gt;\item ă€ŚĺŹŽé›†ă€ŤăŻďĽŚĺľŚĺ´ă®ć–‡ĺ­—ă‚’ďĽŚçŹľĺś¨ĺŹŽé›†ă•ă‚Śăźć–‡ĺ­—ĺ—ă«čż˝ĺŠ&nbsp;ďĽčˇŚĺ†ĺ‰˛ä¸ŤĺŹŻďĽ‰ă‚’ć„Źĺ‘łă™ă‚‹ďĽŽ
\end{itemize}

%&lt;*en&gt;
Characters above or equal to~\texttt{U+0080} \emph{except Variation Selectors}
are classified into above 5~classes by the following rules:
%&lt;/en&gt;
%&lt;*ja&gt;
\texttt{U+0080}ä»Ąé™Ťă®\emph{ç•°ä˝“ĺ­—ă‚»ă¬ă‚Żă‚żä»Ąĺ¤–ă®}ĺ„ć–‡ĺ­—ăŚ
Letter, Other, Kanji, Open, Closeă®ă©ă‚Śă«ĺ±žă™ă‚‹ă‹ăŻć¬ˇă«ă‚ăŁă¦ć±şăľă‚‹ďĽš
%&lt;/ja&gt;
\begin{itemize}
%&lt;en&gt;\item \textbf{ALchar}s above or equal to~\texttt{U+0080} are classified as Letter.
%&lt;ja&gt;\item \&lt;ďĽ\texttt{U+0080}ä»Ąé™Ťă®ďĽ‰\textbf{ALchar}ăŻďĽŚă™ăąă¦Letterć‰±ă„ă§ă‚ă‚‹ďĽŽ

%&lt;en&gt;\item \textbf{JAchar}s are classified in the order as follows:
%&lt;ja&gt;\item \textbf{JAchar}ă«ă¤ă„ă¦ăŻďĽŚä»Ąä¸‹ă®é&nbsp;†ĺşŹă«ĺľ“ăŁă¦ć–‡ĺ­—ç¨®ă‚’ć±şă‚ă‚‹ďĽš
\begin{enumerate}
%&lt;en&gt;\item Characters whose \Param{prebreakpenalty} is greater than or equal to 0 are classified as Open.
%&lt;ja&gt;\item \Param{prebreakpenalty}ăŚ0ä»Ąä¸Šă®ć–‡ĺ­—ăŻOpenć‰±ă„ă§ă‚ă‚‹ďĽŽ

%&lt;en&gt;\item Characters whose \Param{postbreakpenalty} is greater than or equal to 0 are classified as Close.
%&lt;ja&gt;\item \Param{postbreakpenalty}ăŚ0ä»Ąä¸Šă®ć–‡ĺ­—ăŻCloseć‰±ă„ă§ă‚ă‚‹ďĽŽ

%&lt;en&gt;\item Characters that don't satisfy the above two conditions are classified as Kanji.
%&lt;ja&gt;\item ä¸Šă®3ćťˇä»¶ă®ă©ăˇă‚‰ă«ă‚‚ĺ˝“ă¦ăŻăľă‚‰ăŞă‹ăŁăźć–‡ĺ­—ăŻďĽŚKanjić‰±ă„ă§ă‚ă‚‹ďĽŽ
\end{enumerate}
\end{itemize}

%&lt;*en&gt;
The width of halfwidth kana (\texttt{U+FF61}--\texttt{U+FF9F})
is same as the width of \textbf{ALchar};
the width of the other \textbf{JAchar}s is double the width of \textbf{ALchar}.
%&lt;/en&gt;
%&lt;*ja&gt;
ăŞăŠďĽŚĺŤŠč§’ă‚«ăŠ(U+FF61--U+FF9F)ä»Ąĺ¤–ă®\textbf{JAchar}ăŻć¬§ć–‡ć–‡ĺ­—2ć–‡ĺ­—ĺ†ă®ĺą…ă‚’ă¨ă‚‹ă‚‚ă®ă¨ăżăŞă•ă‚Śă‚‹ďĽŽ
ĺŤŠč§’ă‚«ăŠăŻć¬§ć–‡ć–‡ĺ­—1ć–‡ĺ­—ĺ†ă®ĺą…ă¨ăŞă‚‹ďĽŽ
%&lt;/ja&gt;

%&lt;*en&gt;
This classification process is executed every time a character appears in
the \texttt{lstlisting} environment or other environments/commands.
%&lt;/en&gt;
%&lt;*ja&gt;
ă“ă‚Śă‚‰ă®ć–‡ĺ­—ç¨®ć±şĺ®šăŻďĽŚĺ®źéš›ă« \texttt{lstlisting} ç’°ĺ˘ăŞă©ă®ĺ†…é¨ă§ć–‡ĺ­—ăŚĺ‡şă¦ăŹă‚‹ăźăłă«čˇŚă‚Źă‚Śă‚‹ďĽŽ
%&lt;/ja&gt;

%&lt;*ja&gt;
\section{ĺ’Ść–‡ă®čˇŚé•·čŁść­Łć–ąćł•}
\label{sec-adjspec}
\Pkg{luatexja-adjust}ă§ćŹäľ›ă•ă‚Śă‚‹ĺ„Şĺ…é&nbsp;†ä˝Ťä»ăŤă®čˇŚé•·čŞżć•´ă®č©łç´°ă‚’ĺ¤§ăľă‹ă«čż°ăąă‚‹ă¨ďĽŚć¬ˇă®ă‚ă†ă«ăŞă‚‹ďĽŽ
\begin{itemize}
\item ďĽ\texttt{lineend=extended}ă®ĺ&nbsp;´ĺďĽ‰\textbf{JAglue}ă®ćŚżĺ…Ąĺ‡¦ç†ă®ă¨ă“ă‚Ťă§ďĽŚ
  â€¦â€¦
\item é€šĺ¸¸ă®\TeX ă®čˇŚĺ†ĺ‰˛ć–ąćł•ă«ĺľ“ăŁă¦ďĽŚć®µč˝ă‚’čˇŚĺ†ĺ‰˛ă™ă‚‹ďĽŽă“ă®ć®µéšŽă§ăŻďĽŚčˇŚ
      é•·ă«ĺŤŠç«ŻăŚĺ‡şăźĺ&nbsp;´ĺďĽŚăťă®ĺŤŠç«Żĺ†ăŻ\textbf{JAglue}ďĽ\Param{xkanjiskip}ďĽŚ
      \Param{kanjiskip}ďĽŚJFMă‚°ă«ăĽďĽ‰ă¨
      ăťă‚Śä»Ąĺ¤–ă®ă‚°ă«ăĽă®ĺ…¨ă¦ă§ďĽĺ„Şĺ…é&nbsp;†ä˝ŤăŞăŹďĽ‰č˛&nbsp;ć‹…ă•ă‚Śă‚‹ďĽŽ
\item ăťă®ĺľŚďĽŚ\texttt{post\_linebreak\_filter} callbackă‚’ä˝żă„ďĽŚ\emph{ć®µ
      č˝ä¸­ă®ĺ„čˇŚă”ă¨ă«}ďĽŚčˇŚćś«ć–‡ĺ­—ă®ä˝Ťç˝®ă‚’čŞżć•´ďĽ\texttt{lineend=true}ă®ĺ&nbsp;´ĺďĽ‰ă—ăźă‚ŠďĽŚĺ„Şĺ…ĺş¦ä»ăŤă®čˇŚé•·čŞżć•´
      ă‚’ĺ®źçŹľă™ă‚‹ăźă‚ă«ă‚°ă«ăĽă®äĽ¸ç¸®ĺş¦ă‚’čŞżć•´ă™ă‚‹ďĽŽ
      ăťă®ĺ‡¦ç†ă«ăŠă„ă¦ăŻďĽŚă‚°ă«ăĽă®č‡Şç„¶é•·ă¨\textbf{JAglue}ä»Ąĺ¤–ă®
      ă‚°ă«ăĽă®äĽ¸ăłé‡Źă»ç¸®ăżé‡ŹăŻĺ¤‰ć›´ă›ăšďĽŚĺż…č¦ă«ĺżśăă¦\textbf{JAglue}ă®äĽ¸ăłé‡Źă»ç¸®ăżé‡Źă®ăżă‚’
      ĺ¤‰ć›´ă™ă‚‹č¨­č¨ă¨ă—ăźďĽŽ
\end{itemize}
ă“ă®ç«&nbsp;ă®ć®‹ă‚Šă§ăŻĺ„ĺ‡¦ç†ă«ă¤ă„ă¦č§ŁčŞ¬ă™ă‚‹ďĽŽ

\paragraph{ćş–ĺ‚™ďĽšĺč¨äĽ¸ç¸®é‡Źă®č¨ç®—}
ă‚°ă«ăĽă®äĽ¸ç¸®ĺş¦ďĽ\texttt{plus} ă‚„ \texttt{minus} ă§ćŚ‡ĺ®šă•ă‚Śă¦ă„ă‚‹ĺ€¤ďĽ‰ă«ăŻďĽŚ
ćś‰é™ĺ€¤ă®ä»–ă«ďĽŚ\texttt{fi}ďĽŚ\texttt{fil}ďĽŚ\texttt{fill}ďĽŚ\texttt{filll}ă¨
ă„ă†4ă¤ă®ç„ˇé™ĺ¤§ă¬ă™ă«ďĽĺľŚă‚Ťă®ć–ąă»ă©ĺ¤§ăŤă„ďĽ‰ăŚă‚ă‚‹ďĽŽčˇŚă®čŞżć•´ă«
\texttt{fi} ăŞă©ă®\emph{ç„ˇé™ĺ¤§ă¬ă™ă«ă®äĽ¸ç¸®ĺş¦ăŚç”¨ă„ă‚‰ă‚Śă¦ă„ă‚‹čˇŚă§ăŻďĽŚ
ă€ŚčˇŚćś«ć–‡ĺ­—ă®ä˝Ťç˝®čŞżć•´ă€Ťă®ăżčˇŚă„ďĽŚă€Śă‚°ă«ăĽă®čŞżć•´ă€ŤăŻčˇŚă‚ŹăŞă„ďĽŽ}

ăľăšďĽŚć®µč˝ä¸­ă®čˇŚä¸­ă®ă‚°ă«ăĽă‚’
\begin{itemize}
\item \textbf{JAglue}ă§ăŻăŞă„ă‚°ă«ăĽ
\item JFMă‚°ă«ăĽďĽĺ„Şĺ…ĺş¦\footnote{%
  \ref{ssec:jfm-str}çŻ€ă«ă‚ă‚‹ă‚ă†ă«ďĽŚ
  ĺ„JFMă‚°ă«ăĽă«ăŻ$-4$ă‹ă‚‰3ăľă§ă®ĺ„Şĺ…ĺş¦ăŚă¤ă„ă¦ă„ă‚‹ďĽŽĺ&nbsp;´ĺă«ă‚ăŁă¦ăŻ
  äĽ¸ăłă¨ç¸®ăżă§ç•°ăŞă‚‹ĺ„Şĺ…ĺş¦ăŚä»ă„ă¦ă„ă‚‹ă‹ă‚‚ă—ă‚ŚăŞă„ďĽŽ}%
ĺĄă«ăľă¨ă‚ă‚‰ă‚Śă‚‹ďĽ‰
\item ĺ’Ść¬§ć–‡é–“ç©şç™˝(\Param{xkanjiskip})
\item ĺ’Ść–‡é–“ç©şç™˝(\Param{kanjiskip})
\end{itemize}
ă®$1+1+8+1=10$ă¤ă«éˇžĺĄă™ă‚‹ďĽŽ
ăťă—ă¦č¨±ĺ®ąă•ă‚Śă¦ă„ă‚‹äĽ¸ăłé‡ŹďĽ\texttt{stretch}ă®ĺ€¤ďĽ‰ă®ĺč¨ă‚’
ç„ˇé™ă®ă¬ă™ă«ă”ă¨ă«
\begin{align*}
 T^{+}_{l}&amp;:= \sum_{\text{$\texttt{stretch\_order}(p) = l$}} \texttt{stretch}(p),&amp;
 l\in \{\text{(finite)}, \texttt{fi}, \texttt{fil}, \texttt{fill}, \texttt{filll}\}
\end{align*}
ă¨č¨ç®—ă™ă‚‹ďĽŽă•ă‚‰ă«ďĽŚ
\begin{align*}
T^{+}&amp;:=T^{+}_{L^+},&amp;L^{+} = \max \{l\in
 \{\text{(finite)}, \texttt{fi}, \texttt{fil}, \texttt{fill}, \texttt{filll}\}:
 T^{+}_l\neq 0\}
\end{align*}
ă¨ăŠăŹďĽŽćś‰é™ă®äĽ¸ăłé‡Źă«ă¤ă„ă¦ăŻďĽŚä¸Šč¨ă®8ç¨®éˇžă®éˇžĺĄă”ă¨ă«ă‚‚ĺč¨ă‚’č¨ç®—ă™ă‚‹ďĽŽ
ă•ă‚‰ă«ç¸®ăżé‡ŹďĽ\texttt{shrink}ă®ĺ€¤ďĽ‰ă«ă¤ă„ă¦ă‚‚ĺŚć§ă®ĺ‡¦ç†ă‚’čˇŚă„ďĽŚ$T^{-}$ă‚’č¨ç®—ă™ă‚‹ďĽŽ

ăľăźďĽŚčˇŚé•·ă‹ă‚‰č‡Şç„¶é•·ă‚’ĺĽ•ă„ăźĺ€¤ă‚’\textit{total}ă¨ăŠăŹďĽŽ

\subsection{čˇŚćś«ć–‡ĺ­—ă®ä˝Ťç˝®čŞżć•´ďĽčˇŚĺ†ĺ‰˛ĺľŚă®ĺ&nbsp;´ĺďĽ‰}
čˇŚćś«ăŚ\textbf{JAchar}ă§ă‚ă‚ŠďĽŚă“ă®ć–‡ĺ­—ă®ĺ±žă™ă‚‹ć–‡ĺ­—ă‚Żă©ă‚ąă§ăŻ
\begin{quote}
  \texttt{end\_adjust = \{$a_{1}$, $a_{2}$, ..., $a_{n}$\}}
\end{quote}
ă§ă‚ăŁăźă¨ă™ă‚‹ďĽŽ
ă“ă®ă¨ăŤďĽŚä»Ąä¸‹ă®ćťˇä»¶ă‚’ćş€ăźă—ăźĺ&nbsp;´ĺďĽŚ
ă“ă®ć–‡ĺ­—ă‚Żă©ă‚ąă«ĺŻľă™ă‚‹\texttt{end\_adjust}ă®ĺ€¤ă®ă„ăšă‚Śă‹ă&nbsp;ă‘ă“ă®ć–‡ĺ­—ă®ä˝Ťç˝®ă‚’ç§»ĺ‹•ă•ă›ă‚‹ďĽŽ
\begin{description}
  \item[ćś€çµ‚čˇŚä»Ąĺ¤–] čˇŚé•·čŞżć•´ă«ç„ˇé™ĺ¤§ă®äĽ¸ç¸®ĺş¦ăŚç”¨ă„ă‚‰ă‚Śă¦ă„ăŞă„ďĽŽ
  ă™ăŞă‚ŹăˇďĽŚ$\textit{total}&gt;0$ăŞă‚‰ă°$L^{+}=(\text{finite})$ă§ă‚ă‚ŠďĽŚ
  $\textit{total}&gt;0$ăŞă‚‰ă°$L^{-}=(\text{finite})$ă§ă‚ă‚‹ďĽŽ
  \item[ćś€çµ‚čˇŚ] čˇŚé•·čŞżć•´ă«ç„ˇé™ĺ¤§ă«äĽ¸ăłç¸®ăżă™ă‚‹ă‚°ă«ăĽăŚç”¨ă„ă‚‰ă‚ŚăźăŞă‚‰ďĽŚăťă‚ŚăŻ\cs{parfillskip}ă®ăżă§ă‚ă‚ŠďĽŚ
    ă‹ă¤ďĽŚć¬ˇă®ä¸Ťç­‰ĺĽŹăŚćç«‹ă™ă‚‹ďĽš
  \[
   \min\{0,a_{1}\}\text{\cs{zw}}\leq (\text{\cs{parfillskip}ă®ĺ®źéš›ă®é•·ă•}) \leq \max\{0,a_{n}\}\text{\cs{zw}}
  \]
\end{description}

ĺ„$1\leq i\leq n$ă«ĺŻľă—ă¦ďĽŚ
ă€ŚčˇŚćś«ă«$a_{i}$ĺ…¨č§’ă&nbsp;ă‘ă®ă‚«ăĽăłă‚’čż˝ĺŠ&nbsp;ă—ăźć™‚ă®ďĽŚ\textit{glue\_set}ă®ĺ€¤ă€Ťă‚’
$b_{i}$ă¨ăŠăŹďĽŽĺĽŹă§ć›¸ăŹă¨ďĽŚ
\[
b_{i} = \begin{dcases*}
  \frac{\lvert\textit{total}-a_{i}\text{\cs{zw}}\rvert}{T^{+}}
	  &amp;($\textit{total}-a_{i}\text{\cs{zw}}\geq 0$),\\
  \frac{\lvert\textit{total}-a_{i}\text{\cs{zw}}\rvert}{T^{-}}
	  &amp;($\textit{total}-a_{i}\text{\cs{zw}}&lt;0$).
\end{dcases*}
\]
$b_{i}$é”ă®ćś€ĺ°Źĺ€¤ă‚’ä¸Žăă‚‹ă‚ă†ăŞ$i$ă‚’$j$ă¨ă—ăźă¨ăŤ\footnote{%
  ăťă®ă‚ă†ăŞ$i$ăŚ2ă¤ä»Ąä¸Šă‚ă‚‹ă¨ăŤăŻďĽŚ$|\textit{total}-a_{i}\cdot \text{\cs{zw}}|$,
  $|a_{i}|$, $a_i$ă®é&nbsp;†ă§ćŻ”čĽă—ă¦ä¸€ç•Şĺ°Źă•ăŹăŞă‚‹ă‚‚ă®ăŚé¸ă°ă‚Śă‚‹ďĽŽ
}ďĽŚ
čˇŚćś«ă«ĺ¤§ăŤă•$a_{j}$ă®ă‚«ăĽăłă‚’čż˝ĺŠ&nbsp;ă™ă‚‹ďĽŽ
\textit{total}ă‹ă‚‰$a_{j}$ĺ…¨č§’ă®ĺ¤§ăŤă•ă&nbsp;ă‘ĺĽ•ă„ă¦ăŠăŹďĽŽ

\subsection{čˇŚćś«ć–‡ĺ­—ă®ä˝Ťç˝®čŞżć•´ďĽčˇŚĺ†ĺ‰˛ă§ă®č€ć…®ďĽ‰}
\texttt{lineend=extended}ăŚćŚ‡ĺ®šă•ă‚Śă¦ă„ă‚‹ĺ&nbsp;´ĺďĽŚ\TeX ă«ă‚ă‚‹čˇŚĺ†ĺ‰˛ăŚčˇŚă‚Źă‚Śă‚‹ĺ‰Ťă«
ĺ„\textbf{JAchar}ă®ç›´ĺľŚă«ďĽŚăťă®ć–‡ĺ­—ăŚčˇŚćś«ă«ćťĄăźă¨ăŤă®ä˝Ťç˝®čŁść­Łç”¨ă®ăŽăĽă‰ă‚’ćŚżĺ…Ąă—ă¦ă„ăŹďĽŽ

\ref{sec-jfmglue}ç«&nbsp;ă®ç”¨čŞžă‚’ä˝żăŁă¦čż°ăąă‚‹ďĽŽ
ĺ‰Ťĺ´ă®ă‚Żă©ă‚ąă‚ż\textit{Nq}ăŚă€Śĺ’Ść–‡Aă€Ťă€Śĺ’Ść–‡Bă€Ťă§ă‚ă‚ŠďĽŚ
JFMă«ă‚ăŁă¦\texttt{end\_adjust}ă®ĺ€¤ăŚ
\begin{quote}
  \texttt{end\_adjust = \{$a_{1}$, $a_{2}$, ..., $a_{n}$\}}
\end{quote}
ă§ă‚ăŁăźă¨ă™ă‚‹ďĽŽă“ă®ă¨ăŤďĽŚć¬ˇă®ă‚Żă©ă‚ąă‚ż\textit{Np}ă®ç›´ĺ‰Ťă«ä»Ąä¸‹ă®ăŽăĽă‰ĺ—ă‚’ćŚżĺ…Ąă™ă‚‹ďĽŽ
\textbf{JAglue}ă®ćŚżĺ…ĄéŽç¨‹ă§ç¦ĺ‰‡ĺ‡¦ç†ă®ăźă‚ă«ă€Ś\textit{Nq}ă¨\textit{Np}ă®é–“ă®ăšăŠă«ă†ă‚Łĺ€¤ă‚’ĺ˘—ă‚„ă™ă€Ťă“ă¨ăŚ
čˇŚă‚Źă‚Śă‚‹ă“ă¨ăŚă‚ă‚‹ăŚďĽŚä»Ąä¸‹ă§čż°ăąă‚‰ă‚Śă¦ă„ă‚‹$(n+1)$ĺ€‹ă®ăšăŠă«ă†ă‚ŁăŻăżăŞăťă®ĺ‡¦ç†ĺŻľč±ˇă«ăŞăŁă¦ă„ă‚‹ďĽŽ
\begin{align*}
  \Node{kern}{$a_{1}\text{\cs{zw}}$}
  &amp;\longrightarrow \Node{penalty}{$0$} \longrightarrow\Node{kern}{$(a_{2}-a_{1})\text{\cs{zw}}$}
  \longrightarrow \Node{penalty}{$0$} \longrightarrow\Node{kern}{$(a_{3}-a_{2})\text{\cs{zw}}$}\\
  &amp;\longrightarrow
  \cdots \longrightarrow\Node{penalty}{$0$} \longrightarrow
  \Node{kern}{$(a_{n}-a_{n-1})\text{\cs{zw}}$}
  \longrightarrow \Node{penalty}{$0$} \longrightarrow
  \Node{kern}{$-a_{n}\text{\cs{zw}}$} \longrightarrow \Node{penalty}{$10000$}
\end{align*}
$n$ĺ€‹ă‚ă‚‹ăšăŠă«ă†ă‚Łă®ç®‡ć‰€ăŚć”ąčˇŚĺŹŻč˝ç®‡ć‰€ă§ă‚ă‚‹ďĽŽă„ăšă‚Śă‹ă§ć”ąčˇŚă•ă‚Śăźĺ&nbsp;´ĺăŻďĽŚ
ăťă®ĺ‰Ťă«ă‚ă‚‹ă‚«ăĽăłďĽ$n$ç®‡ć‰€ă®ă†ăˇă©ă“ă§ć”ąčˇŚă—ă¦ă‚‚ďĽŚĺč¨ă®é•·ă•ăŻ$a_{i}$ă®ĺ˝˘ďĽ‰ăŻčˇŚćś«ă«ć®‹ă‚‹ăŚďĽŚ
ĺľŚă‚Ťă®ăšăŠă«ă†ă‚Łă»ă‚«ăĽăłăŻé™¤ĺŽ»ă•ă‚Śă‚‹ďĽŽăŞăŠďĽŚ$a_1=0$ă®ă¨ăŤăŻćś€ĺťă®ĺą…ăŚ$a_{1}\text{\cs{zw}}$ă®ă‚«ăĽăłăŻä¸Ťč¦ăŞă®ă§ćŚżĺ…Ąă•ă‚ŚăšďĽŚ
ă•ă‚‰ă«ă‹ă¤$n=1$ă§ă‚ăŁăźĺ&nbsp;´ĺăŻĺľŚă‚Ťă®ăšăŠă«ă†ă‚Łă‚‚ćŚżĺ…Ąă•ă‚ŚăŞă„ďĽŽ

ăŞăŠďĽŚć®µč˝ă®ćś«ĺ°ľă«ăŻ\cs{penalty10000}ă¨\cs{parfillskip}ç”±ćťĄă®ă‚°ă«ăĽăŚč‡Şĺ‹•çš„ă«ĺ…Ąă‚‹ăŚďĽŚ
ă“ă‚Śă‚‰ă¨ă®ĺ…Ľă­ĺă„ă®ăźă‚\emph{ćś€ĺľŚă®ă‚Żă©ă‚ąă‚żă«ă¤ă„ă¦ăŻä¸Šč¨ă®ăŽăĽă‰ćŚżĺ…Ąĺ‡¦ç†ăŻčˇŚă‚Źă‚ŚăŞă„}ďĽŽ
ć®µč˝ćś€çµ‚čˇŚă®čˇŚćś«ć–‡ĺ­—ă®ä˝Ťç˝®čŞżć•´ăŻďĽŚă™ă§ă«čż°ăąăźă€ŚčˇŚĺ†ĺ‰˛ĺľŚă®ĺ&nbsp;´ĺă€Ťă«ăŠă‘ă‚‹ćś€çµ‚čˇŚă®ĺ‡¦ç†ă‚’ăťă®ăľăľç”¨ă„ă¦ă„ă‚‹ďĽŽ

\subsection{ă‚°ă«ăĽă®čŞżć•´}
$|\textit{total}|$ă®ĺ†ă&nbsp;ă‘ăŚďĽŚčˇŚä¸­ă®ă‚°ă«ăĽă®äĽ¸ăłé‡ŹďĽŚă‚ă‚‹ă„ăŻç¸®ăżé‡Źă«ĺżśăă¦č˛&nbsp;ć‹…ă•ă‚Śă‚‹ă“ă¨ă«ăŞă‚‹ďĽŽ
ä»Ąä¸‹ďĽŚ$\textit{total}\geq 0$ă§ă‚ă‚‹ă¨ä»®ĺ®šă—ă¦č©±ă‚’é€˛ă‚ă‚‹ăŚďĽŚč˛&nbsp;ă®ă¨ăŤă‚‚ĺŚć§ă§ă‚ă‚‹ďĽŽ
\Pkg{luatexja-adjust}ă®ĺťćśźĺ€¤ă§ăŻä»Ąä¸‹ă®é&nbsp;†ă«äĽ¸ăłé‡Źă‚’č˛&nbsp;ć‹…ă™ă‚‹ă‚ă†ă«ăŞăŁă¦ăŠă‚ŠďĽŚ
ďĽĺ„Şĺ…ĺş¦$-4$ă®JFMă‚°ă«ăĽăŻäľ‹ĺ¤–ă¨ă—ă¦ďĽ‰ă§ăŤă‚‹ă&nbsp;ă‘\Param{kanjiskip}ă‚’č‡Şç„¶é•·ă®ăľăľă«ă™ă‚‹ă“ă¨ă‚’
č©¦ăżă¦ă„ă‚‹ďĽŽă“ă®é&nbsp;†ç•ŞăŻ\Param{stretch\_priority}ďĽç¸®ăżé‡Źă«ă¤ă„ă¦ăŻ\Param{shrink\_priority}ďĽ‰
ă‘ă©ăˇăĽă‚żă§ĺ¤‰ć›´ĺŹŻč˝ă§ă‚ă‚‹ďĽŽ
\begin{enumerate}\def\labelenumi{(\Alph{enumi})}
 \item \textbf{JAglue}ä»Ąĺ¤–ă®ă‚°ă«ăĽ
 \item ĺ„Şĺ…ĺş¦3ă®JFMă‚°ă«ăĽ
 \item ĺ„Şĺ…ĺş¦2ă®JFMă‚°ă«ăĽ
 \item ĺ„Şĺ…ĺş¦1ă®JFMă‚°ă«ăĽ
 \item ĺ„Şĺ…ĺş¦0ă®JFMă‚°ă«ăĽ
 \item ĺ„Şĺ…ĺş¦$-1$ă®JFMă‚°ă«ăĽ
 \item ĺ„Şĺ…ĺş¦$-2$ă®JFMă‚°ă«ăĽ
 \item \Param{xkanjiskip}
 \item ĺ„Şĺ…ĺş¦$-3$ă®JFMă‚°ă«ăĽ
 \item \Param{kanjiskip}
 \item ĺ„Şĺ…ĺş¦$-4$ă®JFMă‚°ă«ăĽ
\end{enumerate}
\begin{enumerate}
 \item čˇŚćś«ă®\textbf{JAchar}ă‚’ç§»ĺ‹•ă—ăźă“ă¨ă§$\textit{total}=0$ă¨ăŞă‚Śă°ďĽŚ
čŞżć•´ă®ĺż…č¦ăŻăŞăŹďĽŚčˇŚăŚć&nbsp;Ľç´Ťă•ă‚Śă¦ă„ă‚‹hboxă®
\texttt{glue\_set}, \texttt{glue\_sign}, \texttt{glue\_order}ă‚’ĺ†Ťč¨ç®—ă™ă‚Śă°ă‚ă„ďĽŽ
ä»Ąé™ŤďĽŚ$\textit{total}\neq 0$ă¨ä»®ĺ®šă™ă‚‹ďĽŽ
 \item \textit{total}ăŚă€Ś\textbf{JAglue}ä»Ąĺ¤–ă®ă‚°ă«ăĽă®äĽ¸ăłé‡Źă®ĺč¨ă€ŤďĽä»Ąä¸‹ďĽŚ(A)ă®äĽ¸ăłé‡Źă®
       ĺč¨ďĽŚă¨ç§°ă™ďĽ‰ă‚ă‚Šă‚‚ĺ°Źă•ă‘ă‚Śă°ďĽŚ
ăťă‚Śă‚‰ă®ă‚°ă«ăĽă«\textit{total}ă‚’č˛&nbsp;ć‹…ă•ă›ďĽŚ\textbf{JAglue}é”č‡Şčş«ăŻč‡Şç„¶é•·ă§çµ„ă‚€ă“ă¨ăŚă§ăŤă‚‹ďĽŽ
ă‚ăŁă¦ďĽŚä»Ąä¸‹ă®ĺ‡¦ç†ă‚’čˇŚă†ďĽš
\begin{enumerate}
\item ĺ„\textbf{JAglue}ă®äĽ¸ăłé‡Źă‚’0ă¨ă™ă‚‹ďĽŽ
\item čˇŚăŚć&nbsp;Ľç´Ťă•ă‚Śă¦ă„ă‚‹hboxă®
\texttt{glue\_set}, \texttt{glue\_sign}, \texttt{glue\_order}ă‚’ĺ†Ťč¨ç®—ă™ă‚‹ďĽŽ
ă“ă‚Śă«ă‚ăŁă¦ďĽŚ\textit{total}ăŻ\textbf{JAglue}ä»Ąĺ¤–ă®ă‚°ă«ăĽă«ă‚ăŁă¦č˛&nbsp;ć‹…ă•ă‚Śă‚‹ďĽŽ
\end{enumerate}
\item \textit{total}ăŚă€Ś(A)ă®äĽ¸ăłé‡Źă®ĺč¨ă€Ťä»Ąä¸ŠăŞă‚‰ă°ďĽŚ(A)--(K)ă®ă©ă“ăľă§č˛&nbsp;ć‹…ă™ă‚Śă°
\textit{total}ä»Ąä¸Šă«ăŞă‚‹ă‹ă‚’č¨ç®—ă™ă‚‹ďĽŽ
äľ‹ăă°ďĽŚ
\[
 \textit{total} = (\text{(A)--(B)ă®äĽ¸ăłé‡Źă®ĺč¨}) + p\cdot (\text{(C)ă®äĽ¸ăłé‡Źă®ĺč¨}),
 \qquad 0\le p&lt;1
\]
ă§ă‚ăŁăźĺ&nbsp;´ĺďĽŚĺ„ă‚°ă«ăĽăŻć¬ˇă®ă‚ă†ă«çµ„ăľă‚Śă‚‹ďĽš
\begin{itemize}
 \item (A),~(B)ă«ĺ±žă™ă‚‹ă‚°ă«ăĽăŻĺ„ă‚°ă«ăĽă§č¨±ă•ă‚ŚăźäĽ¸ăłé‡Źăľă§äĽ¸ă°ă™ďĽŽ
 \item (C)ă«ĺ±žă™ă‚‹ă‚°ă«ăĽăŻăťă‚Śăžă‚Ś$p\times (\text{äĽ¸ăłé‡Ź})$ă&nbsp;ă‘äĽ¸ăłă‚‹ďĽŽ
 \item (D)--(K)ă«ĺ±žă™ă‚‹ă‚°ă«ăĽăŻč‡Şç„¶é•·ă®ăľăľďĽŽ
\end{itemize}
ĺ®źéš›ă«ăŻďĽŚĺ‰Ťă«čż°ăąăźă€Śč¨­č¨ă€Ťă«ĺľ“ă„ďĽŚć¬ˇă®ă‚ă†ă«ĺ‡¦ç†ă—ă¦ă„ă‚‹ďĽš
\begin{enumerate}
\item (C)ă«ĺ±žă™ă‚‹ă‚°ă«ăĽă®äĽ¸ăłé‡Źă‚’$p$ĺ€Ťă™ă‚‹ďĽŽ
\item (D)--(K)ă«ĺ±žă™ă‚‹ă‚°ă«ăĽă®äĽ¸ăłé‡Źă‚’0ă¨ă™ă‚‹ďĽŽ
\item čˇŚăŚć&nbsp;Ľç´Ťă•ă‚Śă¦ă„ă‚‹hboxă®
\texttt{glue\_set}, \texttt{glue\_sign}, \texttt{glue\_order}ă‚’ĺ†Ťč¨ç®—ă™ă‚‹ďĽŽ
ă“ă‚Śă«ă‚ăŁă¦ďĽŚ\textit{total}ăŻ\textbf{JAglue}ä»Ąĺ¤–ă®ă‚°ă«ăĽă«ă‚ăŁă¦č˛&nbsp;ć‹…ă•ă‚Śă‚‹ďĽŽ
\end{enumerate}
\item \textit{total}ăŚ(A)--(K)ă®äĽ¸ăłé‡Źă®ĺč¨ă‚ă‚Šă‚‚ĺ¤§ăŤă„ĺ&nbsp;´ĺďĽŚă©ă†ă—ă‚ă†ă‚‚ăŞă„ă®ă§
      \verb+^^;+ä˝•ă‚‚ă—ăŞă„ďĽŽ
\end{enumerate}

%&lt;/ja&gt;

%&lt;*ja&gt;
\section{č¤‡ć•°ă•ă‚©ăłăă®ă€Śĺćă€ŤďĽćśŞĺ®ŚďĽ‰}
\section{\LuaTeX-jaă«ăŠă‘ă‚‹ă‚­ăŁăă‚·ăĄ}
\Pkg{luaotfload}ă‘ăă‚±ăĽă‚¸ăŚďĽŚĺ„TrueTypeă»OpenTypeă•ă‚©ăłăă®ć…ĺ&nbsp;±ă‚’
ă‚­ăŁăă‚·ăĄă¨ă—ă¦äżťĺ­ă—ă¦ă„ă‚‹ă®ă¨ĺŚć§ă®ć–ąćł•ă§ďĽŚ
\LuaTeX-jaă‚‚ă„ăŹă¤ă‹ă®ă‚­ăŁăă‚·ăĄă•ă‚ˇă‚¤ă«ă‚’ä˝śćă™ă‚‹ă‚ă†ă«ăŞăŁăźďĽŽ
\begin{itemize}
 \item é€šĺ¸¸ďĽŚă‚­ăŁăă‚·ăĄăŻ \texttt{\$TEXMFVAR/luatexja/} ä»Ąä¸‹ă«äżťĺ­ă•ă‚ŚďĽŚ
ăťă“ă‹ă‚‰čŞ­ăżčľĽăżăŚčˇŚă‚Źă‚Śă‚‹ďĽŽ
 \item ă€Śé€šĺ¸¸ă®ă€Ťă†ă‚­ă‚ąăĺ˝˘ĺĽŹă®ă‚­ăŁăă‚·ăĄďĽć‹ˇĺĽµĺ­ăŻ \texttt{.lua.gz}ďĽŚgzipĺś§ç¸®ă•ă‚Śă¦ă„ă‚‹ăźă‚ďĽ‰ä»Ąĺ¤–ă«ă‚‚ďĽŚ
ăťă‚Śă‚’ăă‚¤ăŠăŞĺ˝˘ĺĽŹďĽăă‚¤ăă‚łăĽă‰ďĽ‰ă«ĺ¤‰ćŹ›ă—ăźă‚‚ă®ă‚‚ă‚µăťăĽăă—ă¦ă„ă‚‹ďĽŽ
\begin{itemize}
 \item ă‚­ăŁăă‚·ăĄă‚’čŞ­ăżčľĽă‚€ć™‚ďĽŚĺŚĺŤă®ăă‚¤ăŠăŞă‚­ăŁăă‚·ăĄăŚă‚ă‚Śă°ďĽŚ
ă†ă‚­ă‚ąăĺ˝˘ĺĽŹă®ă‚‚ă®ă‚ă‚Šăťăˇă‚‰ă‚’ĺ„Şĺ…ă—ă¦čŞ­ăżčľĽă‚€ďĽŽ
 \item ă†ă‚­ă‚ąăĺ˝˘ĺĽŹă®ă‚­ăŁăă‚·ăĄăŚć›´ć–°/ä˝śćă•ă‚Śă‚‹éš›ăŻďĽŚăťă®ăă‚¤ăŠăŞç‰ă‚‚
ĺŚć™‚ă«ć›´ć–°ă•ă‚Śă‚‹ďĽŽ
ăľăźďĽŚďĽăă‚¤ăŠăŞç‰ăŚč¦‹ă¤ă‹ă‚‰ăšďĽ‰ă†ă‚­ă‚ąăĺ˝˘ĺĽŹă®ă‚­ăŁăă‚·ăĄĺ´ăŚčŞ­ăżčľĽăľă‚Śăźă¨ăŤăŻďĽŚ
\LuaTeX-jaăŻăă‚¤ăŠăŞă‚­ăŁăă‚·ăĄă‚’ä˝śćă™ă‚‹ďĽŽ
ćśŞĺś§ç¸®ă®ă†ă‚­ă‚ąăĺ˝˘ĺĽŹă®ă‚­ăŁăă‚·ăĄ(\texttt{hoge.lua})ăŻ20200802.0ä»Ąé™Ťă§ăŻĺ©ç”¨ă—ăŞă„ďĽŽ
\end{itemize}
\end{itemize}
%&lt;/ja&gt;
%&lt;*en&gt;
\section{Cache Management of \LuaTeX-ja}
\LuaTeX-ja creates some cache files to reduce the loading time.
in a similar way to the \Pkg{luaotfload} package:
\begin{itemize}
 \item Cache files are usually stored in (and loaded from)
\texttt{\$TEXMFVAR/luatexja/}.
 \item In addition to caches of the text form (the extension is ``\texttt{.lua.gz}'',
because they are compressed by gzip),
caches of the \emph{binary}~(bytecode) form are supported.
\begin{itemize}
 \item In loading a cache, the binary cache precedes
the text form.
 \item When \LuaTeX-ja updates a compressed text cache \texttt{hoge.lua.gz},
its binary version is also updated.
\end{itemize}
\end{itemize}
%&lt;/en&gt;

%&lt;*ja&gt;
\subsection{ă‚­ăŁăă‚·ăĄă®ä˝żç”¨ç®‡ć‰€}

\LuaTeX-ja ă§ăŻä»Ąä¸‹ă®ă‚­ăŁăă‚·ăĄă‚’ä˝żç”¨ă—ă¦ă„ă‚‹ďĽš
\begin{cslist}
\item[ltj-cid-auto-adobe-japan1.\{lua.gz,luc\}]
Ryumin-Lightă®ă‚ă†ăŞéťžĺź‹ă‚čľĽăżă•ă‚©ăłăă®ć…ĺ&nbsp;±ă‚’ć&nbsp;Ľç´Ťă—ă¦ăŠă‚ŠďĽŚ
ďĽăťă‚Śă‚‰ăŚ\LuaTeX-jaă®ć¨™ćş–ĺ’Ść–‡ă•ă‚©ăłăăŞă®ă§ďĽ‰\LuaTeX-jaă®čŞ­ăżčľĽăżć™‚ă«č‡Şĺ‹•ă§čŞ­ăľă‚Śă‚‹ďĽŽ
ç”źćă«ăŻ\texttt{UniJIS2004-UTF32-\{H,V\}}, \texttt{Adobe-Japan1-UCS2}ă¨ă„ă†3ă¤ă®
CMapăŚĺż…č¦ă§ă‚ă‚‹ďĽŽ

\pageref{para-cid}ăšăĽă‚¸ă§čż°ăąăźă‚ă†ă«ďĽŚ\texttt{cid}ă‚­ăĽă‚’ä˝żăŁă¦
éťžĺź‹ă‚čľĽăżă®ä¸­ĺ›˝čŞžă»éź“ĺ›˝čŞžă•ă‚©ăłăă‚’ĺ®šçľ©ă™ă‚‹ĺ&nbsp;´ĺďĽŚĺŚć§ă®ă‚­ăŁăă‚·ăĄăŚç”źćă•ă‚Śă‚‹ďĽŽ
ă‚­ăŁăă‚·ăĄă®ĺŤç§°ďĽŚĺż…č¦ă¨ăŞă‚‹CMapă«ă¤ă„ă¦ăŻ\autoref{tab:cid-cache}ă‚’ĺŹ‚ç…§ă—ă¦ć¬˛ă—ă„ďĽŽ
%&lt;/ja&gt;
%&lt;*en&gt;
\subsection{Use of cache}

\LuaTeX-ja uses the following cache:
\begin{cslist}
\item[ltj-cid-auto-adobe-japan1.\{lua.gz,luc\}]
The font table of a CID-keyed non-embedded Japanese font.
This is loaded in every run.
It is created from three CMaps, \texttt{UniJIS2004-UTF32-\{H,V\}} and
	     \texttt{Adobe-Japan1-UCS2},
and this is why these two CMaps are needed in the first run of \LuaTeX-ja.

Similar caches are created as \autoref{tab:cid-cache},
if you specified \texttt{cid} key in \cs{jfont}
to use other CID-keyed non-embedded fonts for Chinese or Korean,
as in Page~\pageref{para-cid}.
%&lt;/en&gt;

\begin{table}[!tb]
 \centering\small
\caption{\texttt{cid} key and corresponding files}
\label{tab:cid-cache}
\vspace*{\medskipamount}
\begin{tabular}{&gt;{\tt}l&gt;{\tt}l&gt;{\tt}l&gt;{\tt}l}
\toprule
\bf \texttt{cid} key&amp;\bf name of the cache &amp;
\multicolumn{2}{c}{\bf used CMaps}\\
\midrule
Adobe-Japan1-*&amp;ltj-cid-auto-adobe-japan1.\{lua.gz,luc\}&amp;UniJIS2004-UTF32-*&amp;Adobe-Japan1-UCS2\\
Adobe-Korea1-*&amp;ltj-cid-auto-adobe-korea1.\{lua.gz,luc\}&amp;UniKS-UTF32-*&amp;Adobe-Korea1-UCS2\\
Adobe-KR-*&amp;ltj-cid-auto-adobe-kr.\{lua.gz,luc\}&amp;UniAKR-UTF32-*&amp;Adobe-KR-UCS2\\
Adobe-GB1-*&amp;ltj-cid-auto-adobe-gb1.\{lua.gz,luc\}&amp;UniGB-UTF32-*&amp;Adobe-GB1-UCS2\\
Adobe-CNS1-*&amp;ltj-cid-auto-adobe-cns1.\{lua.gz,luc\}&amp;UniCNS-UTF32-*&amp;Adobe-CNS1-UCS2\\
\bottomrule
\end{tabular}
\end{table}

%&lt;*ja&gt;
\item[ltj-kinsoku\_default.\{lua.gz,luc\}]
ç¦ĺ‰‡ĺ‡¦ç†ďĽŚ\Param{kansujichar}ăŞă©ă®ć¨™ćş–č¨­ĺ®šăŚć&nbsp;Ľç´Ťă•ă‚Śăźă•ă‚ˇă‚¤ă«ă§ă‚ă‚‹ďĽŽ
%&lt;/ja&gt;
%&lt;*en&gt;
\item[ltj-kinsoku.luc]
The bytecode cache which default \textit{kinsoku} parameters are stored.
%&lt;/en&gt;

%&lt;*ja&gt;
\item[ltj-jisx0208.luc]
\LuaTeX-jaé…Ťĺ¸ä¸­ă®\texttt{ltj-jisx0208.lua}ă‚’ăă‚¤ăă‚łăĽă‰ĺŚ–ă—ăźă‚‚ă®ă§ă‚ă‚‹ďĽŽ
ă“ă‚ŚăŻJIS~X~0208ă¨Unicodeă¨ă®ĺ¤‰ćŹ›ă†ăĽă–ă«ă§ă‚ă‚ŠďĽŚ
\pTeX ă¨ă®äş’ćŹ›ç›®çš„ă®ć–‡ĺ­—ă‚łăĽă‰ĺ¤‰ćŹ›ĺ‘˝ä»¤ă§ç”¨ă„ă‚‰ă‚Śă‚‹ďĽŽ
%&lt;/ja&gt;
%&lt;*en&gt;
\item[ltj-jisx0208.luc]
The bytecode version of \texttt{ltj-jisx0208.lua}.
This is the conversion table between JIS~X~0208 and Unicode
which is used in Kanji-code conversion commands for compatibility with \pTeX.
%&lt;/en&gt;

%&lt;*ja&gt;
\item[ltj-ivd\_aj1.luc]
\LuaTeX-jaé…Ťĺ¸ä¸­ă®\texttt{ltj-ivd\_aj1.lua}ă‚’ăă‚¤ăă‚łăĽă‰ĺŚ–ă—ăźă‚‚ă®ă§ă‚ă‚‹ďĽŽ
ă“ă‚ŚăŻUnicodeă®ćĽ˘ĺ­—ç•°ä˝“ĺ­—ă‡ăĽă‚żă™ăĽă‚ąă®Adobe-Japan1ă‚łă¬ă‚Żă‚·ă§ăłă®ĺ†…ĺ®ąă‚’
  ć&nbsp;Ľç´Ťă—ăźă†ăĽă–ă«ă§ă‚ă‚ŠďĽŚ\Pkg{luatexja-otf}ă‘ăă‚±ăĽă‚¸ă®\cs{CID}ĺ‘˝ä»¤ă§ä˝żă‚Źă‚Śă‚‹ă“ă¨ăŚă‚ă‚‹ďĽŽ
%&lt;/ja&gt;
%&lt;*en&gt;
\item[ltj-ivd\_aj1.luc]
The bytecode version of \texttt{ltj-ivd\_aj1.lua}.
%&lt;/en&gt;

%&lt;*ja&gt;
\item[extra\_***.\{lua.gz,luc\}]
ă•ă‚©ăłă``\texttt{***}''ă«ăŠă‘ă‚‹ďĽŚă‚°ăŞă•ç•ŞĺŹ·ă‹ă‚‰Unicodeĺ€¤ă¸ă®ĺ¤‰ćŹ›ă†ăĽă–ă«ďĽŚç¸¦çµ„ć™‚ă®ă‚°ăŞă•ĺ›žč»˘ă®ćś‰ç„ˇă‚’ć&nbsp;Ľç´Ťă—ăźă†ăĽă–ă«ďĽŚ
ĺŹŠăłç¸¦çµ„ć™‚ă«ăŠă‘ă‚‹ă‚°ăŞă•ă®ĺŽźç‚ąä˝Ťç˝®ă»é«ă•ă®ă†ăĽă–ă«ă‚’ć&nbsp;Ľç´Ťă—ă¦ă„ă‚‹ďĽŽ
%&lt;/ja&gt;
%&lt;*en&gt;
\item[extra\_***.\{lua.gz,luc\}]
This file conains some information (especially for vertical typesetting) about the font `\texttt{***}''.
%&lt;/en&gt;
\end{cslist}

%&lt;*en&gt;
\subsection{Internal}
Cache management system of \LuaTeX-ja is stored in \texttt{luatexja.base}
(\texttt{ltj-base.lua}).
There are four public functions for cache management in \texttt{luatexja.base},
where \meta{filename} stands for the file name \emph{without suffix}:
\begin{cslist}
\item[save\_cache(\meta{filename}, \meta{data})]
Save a non-nil table \meta{data} into a cache \meta{filename}.
Both the compressed text form \meta{filename}\texttt{.lua.gz} and its binary version
are created or updated.

\item[save\_cache\_luc(\meta{filename}, \meta{data}{[, \meta{serialized\_data}]})]

Same as \texttt{save\_cache}, except that only the binary cache is updated.
The third argument \meta{serialized\_data} is not usually given.
But if this is given, it is treated as a string representation of \meta{data}.

\item[load\_cache(\meta{filename}, \meta{outdate})]
Load the cache \meta{filename}.
\meta{outdate} is a function which takes one argument (the contents of the cache),
and its return value is whether the cache is outdated.

\texttt{load\_cache} first tries to
read the binary cache \meta{filename}\texttt{.luc}.
If its contents is up-to-date, \texttt{load\_cache} returns the contents.
If the binary cache is not found or
its contents is outdated, \texttt{load\_cache} tries to
read the compressed text form \meta{filename}\texttt{.lua.gz}.
Hence, the return value of \texttt{load\_cache} is non-nil,
if and only if the updated cache is found.

\item[remove\_cache(\meta{filename})]
Remove the cahce \meta{filename}.
\end{cslist}
%&lt;/en&gt;
%&lt;*ja&gt;
\subsection{ĺ†…é¨ĺ‘˝ä»¤}
\LuaTeX-jaă«ăŠă‘ă‚‹ă‚­ăŁăă‚·ăĄç®ˇç†ăŻďĽŚ\texttt{luatexja.base}~(\texttt{ltj-base.lua})ă«
ĺ®źčŁ…ă—ă¦ăŠă‚ŠďĽŚä»Ąä¸‹ă®é–˘ć•°ăŚĺ…¬é–‹ă•ă‚Śă¦ă„ă‚‹ďĽŽ
ă“ă“ă§ďĽŚ\meta{filename}ăŻäżťĺ­ă™ă‚‹ă‚­ăŁăă‚·ăĄă®ă•ă‚ˇă‚¤ă«ĺŤă‚’\emph{ć‹ˇĺĽµĺ­ăŞă—ă§}ćŚ‡ĺ®šă™ă‚‹ďĽŽ
\begin{cslist}
\item[save\_cache(\meta{filename}, \meta{data})]
nilă§ăŞă„\meta{data}ă‚’ă‚­ăŁăă‚·ăĄ\meta{filename}ă«äżťĺ­ă™ă‚‹ďĽŽ
ă†ă‚­ă‚ąăĺ˝˘ĺĽŹă®\meta{filename}\texttt{.lua.gz}\footnote{ć‹ˇĺĽµĺ­ă‹ă‚‰ă‚Źă‹ă‚‹é€šă‚ŠďĽŚĺ®źéš›ă«ăŻgzipĺś§ç¸®ă•ă‚Śă‚‹ďĽŽ}ă®ăżăŞă‚‰ăšďĽŚ
ăťă®ăă‚¤ăŠăŞĺ˝˘ĺĽŹă‚‚ä˝śćă»ć›´ć–°ă•ă‚Śă‚‹ďĽŽ

\item[save\_cache\_luc(\meta{filename}, \meta{data}{[, \meta{serialized\_data}]})]

\texttt{save\_cache}ă¨ĺŚć§ă&nbsp;ăŚďĽŚăă‚¤ăŠăŞă‚­ăŁăă‚·ăĄă®ăżăŚć›´ć–°ă•ă‚Śă‚‹ďĽŽ
ç¬¬3ĺĽ•ć•°\meta{serialized\_data}ăŚä¸Žăă‚‰ă‚Śăźĺ&nbsp;´ĺďĽŚăťă‚Śă‚’
\meta{data}ă®ć–‡ĺ­—ĺ—ĺŚ–čˇ¨çŹľă¨ă—ă¦ä˝żç”¨ă™ă‚‹ďĽŽ
ăťă®ăźă‚ďĽŚ\meta{serialized\_data}ăŻć™®é€šăŻćŚ‡ĺ®šă—ăŞă„ă“ă¨ă«ăŞă‚‹ă&nbsp;ă‚Ťă†ďĽŽ

\item[load\_cache(\meta{filename}, \meta{outdate})]
ă‚­ăŁăă‚·ăĄ\meta{filename}ă‚’čŞ­ăżčľĽă‚€ďĽŽ
\meta{outdate}ăŻ1ĺĽ•ć•°ďĽă‚­ăŁăă‚·ăĄă®ä¸­čş«ďĽ‰ă‚’ă¨ă‚‹é–˘ć•°ă§ă‚ă‚ŠďĽŚ
ăťă®ć»ă‚Šĺ€¤ăŻă€Śă‚­ăŁăă‚·ăĄă®ć›´ć–°ăŚĺż…č¦ă€Ťă‹ă©ă†ă‹ă‚’ç¤şă™ă–ăĽă«ĺ€¤ă§ăŞă„ă¨ă„ă‘ăŞă„ďĽŽ

\texttt{load\_cache}ăŻďĽŚăľăšăă‚¤ăŠăŞă‚­ăŁăă‚·ăĄ\meta{filename}\texttt{.luc}ă‚’
čŞ­ăżă“ă‚€ďĽŽă‚‚ă—ăťă®ĺ†…ĺ®ąăŚă€Ść–°ă—ă„ă€ŤďĽŚă¤ăľă‚Š\meta{outdate}ă®č©•äľˇçµćžśăŚ \texttt{false} ăŞă‚‰
\texttt{load\_cache}ăŻă“ă®ăă‚¤ăŠăŞă‚­ăŁăă‚·ăĄă®ä¸­čş«ă‚’čż”ă™ďĽŽ
ă‚‚ă—ăă‚¤ăŠăŞă‚­ăŁăă‚·ăĄăŚč¦‹ă¤ă‹ă‚‰ăŞă‹ăŁăźă‹ďĽŚă€ŚĺŹ¤ă™ăŽă‚‹ă€ŤăŞă‚‰ă°ďĽgzipĺś§ç¸®ă•ă‚ŚăźďĽ‰ă†ă‚­ă‚ąăĺ˝˘ĺĽŹă®
	     \meta{filename}\texttt{.lua.gz}ă‚’čŞ­ăżčľĽăżďĽŚ\meta{outdate}ă§ĺ†Ťĺş¦č©•äľˇă™ă‚‹ďĽŽ

ä»Ąä¸Šă‚ă‚ŠďĽŚ\texttt{load\_cache}č‡Şä˝“ăŚnilă§ăŞă„ĺ€¤ă‚’čż”ă™ă®ăŻďĽŚăˇă‚‡ă†ă©ă€Ść–°ă—ă„ă€Ťă‚­ăŁăă‚·ăĄăŚ
č¦‹ă¤ă‹ăŁăźĺ&nbsp;´ĺă§ă‚ă‚‹ďĽŽ

\item[remove\_cache(\meta{filename})]
ă‚­ăŁăă‚·ăĄ\meta{filename}ă‚’ĺ‰Šé™¤ă™ă‚‹ďĽŽă†ă‚­ă‚ąăĺ˝˘ĺĽŹďĽgzipĺś§ç¸®ă•ă‚Śă¦ă„ă‚‹ă‹ĺ¦ă‹ă‚’ĺ•Źă‚ŹăšďĽ‰ă‚‚
ăă‚¤ăŠăŞĺ˝˘ĺĽŹă‚‚ăľă¨ă‚ă¦ĺ‰Šé™¤ă™ă‚‹ďĽŽ
\end{cslist}
%&lt;/ja&gt;


%&lt;*ja&gt;
\section{ç¸¦çµ„ă®ĺ®źčŁ…}
\label{sec-dir-imp}
\ref{sec-direction}ç«&nbsp;ă®ćś€ĺťă§ă‚‚čż°ăąăźă‚ă†ă«ďĽŚ
\LuaTeX-jaăŻć¨Şçµ„(\texttt{TLT})ă§çµ„ă‚“ă&nbsp;ăśăă‚Żă‚ąă‚’ĺ›žč»˘ă•ă›ă‚‹ć–ąĺĽŹă§
ç¸¦çµ„ă‚’ĺ®źčŁ…ă—ă¦ă„ă‚‹ďĽŽ

\LuaTeX-jaă«ăŠă‘ă‚‹ç¸¦çµ„ă®ĺ®źčŁ…ăŻ
\pTeX ă«ăŠă‘ă‚‹ĺ®źčŁ…(\cite{ptexdoc,ptextug})ă‚’ă™ăĽă‚ąă«ă—ă¦ă„ă‚‹ďĽŽ

\subsection{direction~whatsit}
\textit{direction}~whatsită¨ăŻďĽŚ\textit{direction}ă¨ă„ă†ç‰ąĺ®šă® \verb+user_id+ ă‚’ćŚă¤
whatsită®ă“ă¨ă§ă‚ă‚ŠďĽŚä»Ąä¸‹ă®ă‚żă‚¤ăźăłă‚°ă§ä˝śă‚‰ă‚Śă‚‹ďĽŽ
\begin{itemize}
 \item çµ„ć–ąĺ‘ă‚’ \cs{tate} ç­‰ă§ĺ¤‰ć›´ă—ăźă¨ăŤďĽŽ
 \item \cs{hbox}, \cs{vbox}, \cs{vtop} ă«ă‚ă‚‹ćŽç¤şçš„ăŞăśăă‚Żă‚ąă®é–‹ĺ§‹ć™‚ďĽŽ\\
\verb+\hbox{}+, \verb+\vbox{}+ ă¨ă„ăŁăźďĽŚ
\begin{itemize}
 \item \cs{tate} ç­‰ă«ă‚ă‚Šăśăă‚Żă‚ąĺ†…é¨ă®çµ„ć–ąĺ‘ă‚’ĺ¤‰ć›´ă—ă¦ă„ăŞă„
 \item ăśăă‚Żă‚ąă®ä¸­čş«ă®ăŞă‚ąăăŚç©şă§ă‚ă‚‹
\end{itemize}
ĺ&nbsp;´ĺăŻďĽŚ\LuaTeX ă® \verb+hpack_filter+, \verb+vpack_filter+ ă¨ă„ăŁăź
callbackă«ĺ‡¦ç†ăŚĺ›žă‚‰ăŞă„ďĽŽăťă“ă§ďĽŚ\LuaTeX-ja ă§ăŻďĽŚ\cs{everyhbox}, \cs{everyvbox} ă‚’ĺ©ç”¨ă™
       ă‚‹ă“ă¨ă§ĺ„ăśăă‚Żă‚ąă®ĺ…é&nbsp;­ă«ç˘şĺ®źă«čż˝ĺŠ&nbsp;ă™ă‚‹ă‚ă†ă«ă—ă¦ă„ă‚‹\footnote{%
  ĺ•ŹéˇŚăŻ \cs{hbox to 25pt\{\}} ă¨ă„ă†çŠ¶ćłă§ă‚ă‚‹ďĽŽĺ®źéš›ă®ă“ă®ăśăă‚Żă‚ąă®ä¸­čş«ăŻç©şă§ăŞă„ďĽĺ°‘ăŞ
       ăŹă¨ă‚‚direction whatsităŚă‚ă‚‹ďĽ‰ăźă‚ďĽŚä˝•ă‚‚ĺŻľç­–ă‚’ă—ăŞă‘ă‚Śă°hpackć™‚ă«Underfillč­¦ĺ‘ŠăŚç™ş
       ç”źă—ă¦ă—ăľă†ă“ă¨ă«ăŞă‚‹ďĽŽ\LuaTeX-jaă§ăŻăťă†ăŞă‚‰ăŞă„ă‚ă†ă«ă€Ś\cs{hbadness},
       \cs{vbadness} ă‚’ä¸€ć™‚çš„ă«10000ă«ĺ¤‰ć›´ă—ďĽŚhpack, vpackĺľŚă«ĺ…ă®ĺ€¤ă«ć»ă™ă€Ťĺ‡¦ç†ă‚’čˇŚăŁă¦ă„
       ă‚‹ďĽŽ
}ďĽŽ
 \item \cs{vsplit}ă«ă‚ăŁă¦vboxă‚’ĺ†ĺ‰˛ă—ăźć™‚ă®ă€Ść®‹ă‚Šă€Ťă®ĺ…é&nbsp;­ďĽŽ
 \item \LuaTeX-jačŞ­ăżčľĽăżĺ‰Ťă«ä˝śćă—ăźăśăă‚Żă‚ąă®ĺŻ¸ćł•ă‚’ \cs{ltjsetwd} ç­‰ă«ă‚ăŁă¦ĺ¤‰ć›´ă—ăźć™‚ďĽŽ
 \item \cs{insert} ă«ă‚ă‚‹insertionă§ăŻďĽŚä¸­čş«ă®ĺ…é&nbsp;­ă«\textit{direction}~whatsităŻä˝śă‚‰ă‚ŚăšďĽŚ
ăťă®ä»Łă‚Źă‚Šă«ä¸­čş«ă®ĺ„ăśăă‚Żă‚ąă»ç˝«ç·šă®ç›´ĺ‰Ťă«ä˝śă‚‰ă‚Śă‚‹\footnote{%
 ă“ă‚ŚăŻďĽŚăšăĽă‚¸ĺ†ĺ‰˛ă®éŽç¨‹ă§insertionăŚĺ†ĺ‰˛ă•ă‚Śă‚‹ć™‚ďĽŚă€ŚçŹľĺś¨ă®ăšăĽă‚¸ă§ĺ‡şĺŠ›ă•ă‚Śă‚‹é¨ĺ†ă€ŤăŚç©şă¨
       ăŞă‚‹ă“ă¨ăŚă‚ă‚‹ă“ă¨ă«ă‚ă‚‹ďĽŽĺ…é&nbsp;­ă«whatsită‚’ç˝®ăŹă¨ďĽŚćś€ć‚Şă§ă‚‚ă€ŚçŹľĺś¨ă®ăšăĽă‚¸ă«whatsităŚ
       ć®‹ă‚‹ă€Ťă“ă¨ă«ăŞăŁă¦ă—ăľă†ďĽŽ}ďĽŽ
\end{itemize}
ăŞăŠďĽŚ\verb+\vtop{...}+ ă®ĺ&nbsp;´ĺăŻďĽŚĺ…é&nbsp;­ă«direction whatsită‚’ç˝®ăŹă¨
ăśăă‚Żă‚ąă®é«ă•ăŚĺ¸¸ă«0\,ptă«ăŞă‚‹ă¨ă„ă†ĺ•ŹéˇŚăŚç™şç”źă™ă‚‹ďĽŽăťă®ăźă‚ďĽŚă“ă®ĺ&nbsp;´ĺă«é™ăŁă¦ăŻ
vpackć™‚ă«direction whatsită‚’ăŞă‚ąăă®2ç•Şç›®ă«ç§»ĺ‹•ă•ă›ă¦ă„ă‚‹ďĽŽ

direction whatsităŻă‚ăŹăľă§ă‚‚çµ„ć–ąĺ‘ĺ‡¦ç†ă®ăźă‚ă®čŁśĺŠ©çš„ăŞăŽăĽă‰ă§ă‚ă‚‹ă®ă§ďĽŚ
\cs{unhbox}, \cs{unhcopy} ă«ă‚ăŁă¦ăśăă‚Żă‚ąă®ä¸­čş«ăŚĺ±•é–‹ă•ă‚Śă‚‹ć™‚ă«ăŻĺ±•é–‹ç›´ĺ‰Ťă«ĺ‰Šé™¤ă•ă‚Śă‚‹ďĽŽ
ă“ă‚ŚăŻ
\begin{lstlisting}
 % yoko direction
\setbox0=\hbox{\tate B}
\noindent % ć°´ĺąłă˘ăĽă‰ă«ĺ…Ąă‚‹ďĽŽă“ă®ć™‚ç‚ąă§ă®ăŞă‚ąăă®ä¸­čş«ăŻç©ş
\unhbox0 A
\end{lstlisting}
ă¨ă„ăŁăźĺ&nbsp;´ĺă«ďĽŚć®µč˝ăŚç¸¦çµ„ă§çµ„ăľă‚Śăźă‚ŠďĽŚă‚ă‚‹ă„ăŻ
\begin{lstlisting}
\setbox0=\hbox{}
\leavevmode \hbox{A}\unhbox0
\setbox1=\lastbox % \box1 ăŻă©ă†ăŞă‚‹ďĽź
\end{lstlisting}
ă§ \cs{box1} ăŚ \cs{hbox\{A\}} ă§ăŞăŹç©şă«ăŞăŁă¦ă—ăľă†ă“ă¨ă‚’é˛ăăźă‚ă§ă‚ă‚‹ďĽŽ


\subsection{\textit{dir\_box}}
ç¸¦ä¸­ć¨ŞăŞă©ç•°ć–ąĺ‘ă®ăśăă‚Żă‚ąă‚’é…Ťç˝®ă™ă‚‹ĺ&nbsp;´ĺă«ďĽŚĺ‘¨ĺ›˛ă®çµ„ć–ąĺ‘ă¨ĺ¤§ăŤă•ă‚’ć•´ĺă•ă›ă‚‹ăźă‚ďĽŚ
\LuaTeX-jaă§ăŻ \verb+\ltj@dir+ ăŚ128ä»Ąé™Ťă®\textit{hlist\_node}, \textit{vlist\_node}ă‚’
ç”¨ă„ă‚‹ďĽŽă“ă‚Śă‚‰ăŻ\pTeX ă«ăŠă‘ă‚‹\textit{dir\_node}ă®ĺ˝ąĺ‰˛ă¨ĺŚăćžśăźă—ă¦ăŠă‚ŠďĽŚ
ă“ă®ć–‡ç«&nbsp;ä¸­ă§ăŻ\textit{dir\_box}ă¨ĺ‘Ľç§°ă™ă‚‹ďĽŽ

\subsubsection{ç•°ć–ąĺ‘ă®ăśăă‚Żă‚ąă®ć•´ĺ}
\textit{dir\_box}ă®ç¬¬ä¸€ă®ä˝żç”¨ç›®çš„ăŻďĽŚç•°ć–ąĺ‘ă®ăśăă‚Żă‚ąă®ĺ¤§ăŤă•ă‚’ć•´ĺă•ă›ă‚‹ă“ă¨ă§ă‚ă‚‹ďĽŽ
äľ‹ăă°ďĽŚ
\begin{lstlisting}
 % yoko direction
ĺąłć\hbox{\tate 26}ĺą´
\end{lstlisting}
ăŻć®µč˝ä¸­ă§
\[
 \xymatrix{
   {}\Node{glyph}{`ĺął'}\ar[r]&amp;{}\Node{glyph}{`ć'}\ar[r]&amp;
   {}\HNode{hbox}{10.00003}{3.02779}{0.0}\ar[r]\ar[d]^{\text{ä¸­čş«}}&amp;{}\Node{glyph}{`ĺą´'}\\
   &amp;&amp;{}\Node{whatsit}{\cs{tate}}\ar[r]&amp;{}\Node{glyph}{`2'}\ar[r]&amp;{}\Node{glyph}{`6'}
 }
\]
ă¨ă„ă†ăŞă‚ąăă‚’ä˝śă‚‹ďĽŽăťă®ĺľŚďĽŚă“ă®ć®µč˝ăŚçµ‚äş†ă—ăźă¨ăŤă«ďĽŚ
\LuaTeX-jaă®\textbf{JAglue}ćŚżĺ…Ąĺ‡¦ç†ăŚčˇŚă‚Źă‚Ś
\[
 \xymatrix{
   {}\Node{glyph}{`ĺął'}\ar[r]
  &amp;{}\textcolor{blue}{\Node{glue}{\Param{xkanjiskip}}}\ar[r]
  &amp;{}\Node{glyph}{`ć'}\ar[r]
  &amp;{}\textcolor{blue}{\Node{penalty}{0}}
    \ar`r[d] `[l] `[ddll] `[dl] [dl]
  \\
  &amp;&amp;{}\textcolor{red}{\HNode{\textit{dir\_box} (\cs{yoko})}{3.02779}{10.00003}{0.0}}\ar[r]\ar[d]^{\text{ä¸­čş«}}
  &amp;{}\textcolor{blue}{\Node{penalty}{0}}\ar[r]
  &amp;{}\Node{glyph}{`ĺą´'}\\
  &amp;&amp;{}\HNode{hbox}{10.00003}{3.02779}{0.0}\ar[d]^{\text{ä¸­čş«}}\\
  &amp;&amp;{}\Node{whatsit}{\cs{tate}}\ar[r]&amp;{}\Node{glyph}{`2'}\ar[r]&amp;{}\Node{glyph}{`6'}
 }
\]
ă®ă‚ă†ă«ăŞă‚‹ďĽéť’ĺ­—ăŻ\textbf{JAglue}ďĽŚčµ¤ĺ­—ăŚć•´ĺĺ‡¦ç†ă®ăźă‚ă®\textit{dir\_box}ă§ă‚ă‚‹ďĽ‰ďĽŽ
\TeX ă® \cs{showbox} ĺ˝˘ĺĽŹă§ć›¸ă‘ă°

\medskip{\narrowbaselines\ttfamily\obeylines\parindent0pt
\catcode`\@=0 @catcode`@\=12
.\tenmin ĺął
@textcolor{blue}{.\glue 0.0 plus 0.4 minus 0.4}
.\tenmin ć
@textcolor{blue}{.\penalty 0}
@textcolor{red}{.\hbox(10.00003+0.0)x3.02779, direction TLT}
..\hbox(3.02779+0.0)x10.00003, direction TLT
...\whatsit4=[]
...\tenrm 2
...\tenrm 6
@textcolor{blue}{.\penalty 0}
.\tenmin ĺą´
}\medskip

\noindent ă§ă‚ă‚‹ďĽŽ

ăŞăŠďĽŚ\cs{raise},~\cs{lower}, \cs{moveleft},~\cs{moveright} ă¨ă„ăŁăźăśăă‚Żă‚ąç§»ĺ‹•ĺ‘˝ä»¤ă§ăŻďĽŽ
ç§»ĺ‹•ă‚’ć­Łă—ăŹčˇ¨çŹľă™ă‚‹ăźă‚ă«ć®µč˝ă‚„ăśăă‚Żă‚ąă®é€”ä¸­ă§ă‚‚ç•°ć–ąĺ‘ă®ăśăă‚Żă‚ąăŻ\textit{dir\_box}ă«ă‚«
ă—ă‚»ă«ĺŚ–ă—ă¦ă„ă‚‹ďĽŽ
äľ‹ăă°
\begin{lstlisting}
 % yoko direction
ĺąłć\raise1pt\hbox{\tate 26}ĺą´\showlists
\end{lstlisting}
ăŻä»Ąä¸‹ă®ă‚ă†ăŞçµćžśă‚’ĺľ—ă‚‹ďĽŽ

\medskip{\narrowbaselines\ttfamily\obeylines\parindent0pt
\catcode`\@=0 @catcode`@\=12
ďĽĺ‰Ťç•ĄďĽ‰
\tenrm ĺął
\tenrm ć
@textcolor{red}{\hbox(10.00003+0.0)x3.02779, shifted -1.0, direction TLT}
.\hbox(3.02779+0.0)x10.00003, direction TLT
..\whatsit4=[]
..\tenrm 2
..\tenrm 6
\tenrm ĺą´
}\medskip

ăľăźďĽŚăˇă‚¤ăłă®ĺž‚ç›´ăŞă‚ąăă«ç•°ć–ąĺ‘ă®ăśăă‚Żă‚ąăŚčż˝ĺŠ&nbsp;ă•ă‚Śă‚‹ĺ&nbsp;´ĺă«ă‚‚ĺŚć§ă«ĺŤłĺş§ă«
\textit{dir\_box}ă«ă‚«ă—ă‚»ă«ĺŚ–ă—ă¦ă„ă‚‹ďĽŽăšăĽă‚¸ĺ†ĺ‰˛ă®ă‚żă‚¤ăźăłă‚°ă‚’ć­Ł
ă—ăŹ\TeX ăŚĺ¤ć–­ă™ă‚‹ăźă‚ă§ă‚ă‚‹ďĽŽ
\cs{lastbox} ă«ă‚ă‚‹ăśăă‚Żă‚ąă®ĺŹ–ĺľ—ă§ăŻďĽŚ\textit{dir\_box}ăŻĺ‰Šé™¤ă•ă‚Śă‚‹ďĽŽ

\subsubsection{ç•°ć–ąĺ‘ă®ăśăă‚Żă‚ąĺŻ¸ćł•ă®ć&nbsp;Ľç´Ť}
ç¬¬äşŚă®ä˝żç”¨ç›®çš„ăŻďĽŚçŹľĺś¨ă®çµ„ć–ąĺ‘ăŚăśăă‚Żă‚ąćś¬ćťĄă®çµ„ć–ąĺ‘ă¨ăŻç•°ăŞă‚‹çŠ¶ćłă§ďĽŚ
\cs{ltjsetwd} ă«ă‚ăŁă¦ăśăă‚Żă‚ąĺŻ¸ćł•ă‚’č¨­ĺ®šă•ă‚Śăźă“ă¨ă‚’č¨éŚ˛ă™ă‚‹ă“ă¨ă§ă‚ă‚‹ďĽŽ

äľ‹ăă°
\begin{lstlisting}[numbers=left]
\setbox0=\hbox{\vrule width 10pt height 5pt depth 2pt}
\setbox1=\hbox{\tate\ltjsetwd0=20pt}
\wd0=9pt
\setbox1=\hbox{\dtou\ltjsetwd0=20pt}
\setbox0=\hbox{\dtou a\box0}
\end{lstlisting}
ă¨ă„ă†ă‚łăĽă‰ă‚’č€ăă‚‹ďĽŽ1čˇŚç›®ă§ \cs{box0} ă«ăŻć¨Şçµ„ă®
ĺą…10\,ptďĽŚé«ă•5\,ptďĽŚć·±ă•2\,ptă®ăśăă‚Żă‚ąăŚä»Łĺ…Ąă•ă‚Śă‚‹ďĽŽ
ă‚ăŁă¦ďĽŚ
\begin{itemize}
 \item ç¸¦çµ„ä¸‹ă§ăŻ \cs{box0} ăŻĺą…7\,ptďĽŚé«ă•ă»ć·±ă•5\,ptă®ăśăă‚Żă‚ąă¨ă—ă¦ć‰±ă‚Źă‚Śă‚‹ďĽŽ
 \item \cs{dtou} ä¸‹ă§ăŻ \cs{box0} ăŻĺą…7\,ptďĽŚé«ă•10\,ptďĽŚć·±ă•0\,ptă®ăśăă‚Żă‚ąă¨ă—ă¦ć‰±ă‚Źă‚Śă‚‹ďĽŽ
\end{itemize}
ă“ă®ă¨ăŤďĽŚ\cs{box0} ă®\emph{ä¸­čş«}ăŻ
\[
 \xymatrix{
   {}\Node{whatsit}{\cs{yoko}}\ar[r]&amp;{}\Node{rule}{}
 }
\]
ă§ă‚ă‚‹ďĽŽ

ă•ă¦ďĽŚ2čˇŚç›®ă§ç¸¦çµ„ć™‚ă® \cs{box0} ă®ĺą…ăŚ20\,ptă«č¨­ĺ®šă•ă‚Śă‚‹ďĽŽă“ă®ć…ĺ&nbsp;±ăŚ
direction~whatsitĺ†…é¨ă®ăŽăĽă‰ăŞă‚ąăă«ďĽŚ\textit{dir\_box}ă¨ă—ă¦ć&nbsp;Ľç´Ťă•ă‚Śă‚‹ďĽš
\[
 \xymatrix{
   {}\Node{whatsit}{\cs{yoko}}\ar[r]\ar[d]_{\text{ä¸­čş«}}&amp;{}\Node{rule}{}\\
   {}\textcolor{red}{\HNode{\textit{dir\_box} (\cs{tate})}{20.0}{5.0}{5.0}}
 }
\]

ć¬ˇă«ďĽŚ3čˇŚç›®ă§ăŻć¨Şçµ„ć™‚ă®ďĽŚă¤ăľă‚Š \cs{box0} ćś¬ćťĄă®çµ„ć–ąĺ‘ă§ă®ć·±ă•ăŚ9\,ptă«ĺ¤‰ć›´ă•ă‚Śă‚‹ďĽŽ
ă“ă®ă¨ăŤďĽŚ\cs{box0} ăŻ
\begin{itemize}
 \item ç¸¦çµ„ä¸‹ă§ăŻĺŻ¸ćł•ä»Łĺ…ĄăŚć—˘ă«čˇŚă‚Źă‚Śă¦ă„ă‚‹ă®ă§ďĽŚ2čˇŚç›®ă§ä˝śćă•ă‚Śăź\textit{dir\_box}ă®é€šă‚Š
       ă«ĺą…20\,ptďĽŚé«ă•ă»ć·±ă•5\,ptă®ăśăă‚Żă‚ąă¨ă—ă¦ć‰±ă‚Źă‚Śă‚‹ďĽŽ
 \item \cs{dtou} ä¸‹ă§ăŻăľă&nbsp;ĺŻ¸ćł•ä»Łĺ…ĄăŚčˇŚă‚Źă‚Śă¦ă„ăŞă„ă®ă§ďĽŚ
\cs{box0} ă®ĺŻ¸ćł•ĺ¤‰ć›´ă«čż˝ĺľ“ă—ďĽŚĺą…7\,ptďĽŚé«ă•9\,ptďĽŚć·±ă•0\,ptă®ăśăă‚Żă‚ąă¨ă—ă¦ć‰±ă‚Źă‚Śă‚‹ďĽŽ
\end{itemize}

4čˇŚç›®ă§ăŻ \cs{dtou} ä¸‹ă§ă®\cs{box0} ă®ĺą…ăŚ20\,ptă«č¨­ĺ®šă•ă‚Śă‚‹ă®ă§ďĽŚ2čˇŚç›®ă¨ĺŚăă‚ă†ă«
\[
 \xymatrix{
   {}\Node{whatsit}{\cs{yoko}}\ar[r]\ar[d]_{\text{ä¸­čş«}}&amp;{}\Node{rule}{}\\
   {}\textcolor{red}{\HNode{\textit{dir\_box} (\cs{dtou})}{20.0}{9.0}{0.0}}\ar[r]&amp;
   {}\HNode{\textit{dir\_box} (\cs{tate})}{20.0}{5.0}{5.0}
 }
\]
ă¨\textit{dir\_box}ăŚä˝śćă•ă‚Śă‚‹ďĽŽ

ă“ă®ă‚ă†ă«ĺŻ¸ćł•ä»Łĺ…Ąă«ă‚ăŁă¦ă¤ăŹă‚‰ă‚Śăź\textit{dir\_box}ăŻďĽŚĺ‰ŤçŻ€ă®ć•´ĺéŽç¨‹ă®ă¨ăŤă«ĺ†Ťĺ©ç”¨ă•ă‚Ś
ă‚‹ďĽŽä¸Šč¨ă®äľ‹ă§ă„ăă°ďĽŚ5čˇŚç›®ă‚’ĺ®źčˇŚă—ăźĺľŚă® \cs{box0} ă®ĺ†…ĺ®ąăŻ
\[
 \xymatrix{
   {}\Node{whatsit}{\cs{dtou}}\ar[r]&amp;
   {}\Node{glyph}{`a'}\ar[r]&amp;
   {}\textcolor{red}{\HNode{\textit{dir\_box} (\cs{dtou})}{20.0}{9.0}{0.0}}\ar[d]_{\text{ä¸­čş«}}\\
   &amp;&amp;{}\HNode{hbox}{9.0}{5.0}{2.0}\ar[d]_{\text{ä¸­čş«}}\\
   &amp;&amp;{}\Node{whatsit}{\cs{yoko}}\ar[r]&amp;{}\Node{rule}{}
 }
\]
ă®ă‚ă†ă«ăŞă‚‹ďĽŽ

\subsection{ç¸¦çµ„ç”¨ĺ­—ĺ˝˘ă®ĺŹ–ĺľ—}
ç¸¦çµ„ć™‚ă«ăŻďĽŚă€Ś\hbox to \zw{ă€}ă€Ť(\texttt{U+3001})ă‹ă‚‰ă€Ś\ltjjachar"FE11ă€Ť(\texttt{U+FE11})%"
ă®ă‚ă†ă«ç¸¦çµ„ç”¨ĺ­—ĺ˝˘ă¸ă®ç˝®ăŤćŹ›ăă«é–˘äż‚ă™ă‚‹ĺ‡¦ç†ăŻďĽŚä»Ąä¸‹ă®ă‚ă†ă«ăŞăŁă¦ă„ă‚‹ďĽŽ


\begin{table}[t]
  \def\D#1#2#3#4{%
	{\fboxsep0pt\fcolorbox{cyan}{white}%
    {\large\KOZM\ltjjachar"#1#2#3#4}}\ (\texttt{U+#1#2#3#4})%"
  }
  \def\DH#1#2#3#4{%
	{\fboxsep0pt\fcolorbox{cyan}{white}%
    {\large\ltjjachar"#1#2#3#4}}\ (\texttt{U+#1#2#3#4})%"
  }
  \caption{\LuaTeX-jać¨™ćş–ă§čˇŚă‚Źă‚Śă‚‹ç¸¦çµ„ĺ˝˘ă¸ă®ç˝®ćŹ›}
  \label{tab:vert_replace}\small\centering
  \begin{tabular}{*{3}{l@{}&gt;{${}\longmapsto{}$}c@{}l}}
	\toprule
	\D 3001&amp;&amp;\D FE11&amp;\D 3002&amp;&amp;\D FE12&amp;\D 3016&amp;&amp;\DH FE17\\
	\D 3017&amp;&amp;\DH FE18&amp;\D 2026&amp;&amp;\D FE19&amp;\D 2025&amp;&amp;\D FE30\\
	\D 2014&amp;&amp;\D FE31&amp;\D 2013&amp;&amp;\D FE32&amp;\D FF3F&amp;&amp;\D FE33\\
	\D FF08&amp;&amp;\D FE35&amp;\D FF09&amp;&amp;\D FE36&amp;\D FF5B&amp;&amp;\D FE37\\
	\D FF5D&amp;&amp;\D FE38&amp;\D 3014&amp;&amp;\D FE39&amp;\D 3015&amp;&amp;\D FE3A\\
	\D 3010&amp;&amp;\D FE3B&amp;\D 3011&amp;&amp;\D FE3C&amp;\D 300A&amp;&amp;\D FE3D\\
	\D 300B&amp;&amp;\D FE3E&amp;\D 3008&amp;&amp;\D FE3F&amp;\D 3009&amp;&amp;\D FE40\\
	\D 300C&amp;&amp;\D FE41&amp;\D 300D&amp;&amp;\D FE42&amp;\D 300E&amp;&amp;\D FE43\\
	\D 300F&amp;&amp;\D FE44&amp;\D FF3B&amp;&amp;\D FE47&amp;\D FF3D&amp;&amp;\D FE48\\
	\bottomrule
  \end{tabular}
\end{table}
\begin{itemize}
	\item ĺ„ç¸¦çµ„ç”¨ĺ’Ść–‡ă•ă‚©ăłăăŻčŞ­ăżčľĽăżć™‚ă«ä»Ąä¸‹ă®ĺ±žć€§ăŚč¨­ĺ®šă•ă‚Śă‚‹ďĽš
	\begin{description}
	  \item[\textit{vert\_activated}] çśźă¨ăŞă‚‹ă®ăŻďĽŚ
	  ćŽç¤şçš„ă« \texttt{-vert} ă‚‚ \texttt{-vrt2} ă®ă„ăšă‚Śă‚‚ćŚ‡ĺ®šă•ă‚Śă¦ă„ăŞă„ăˇă‚‡ă†ă©ăťă®ć™‚ďĽŽ
	  \item[\textit{auto\_enable\_vrt2}] çśźă¨ăŞă‚‹ă®ăŻďĽŚ
	  \texttt{vert}, \texttt{vrt2}ă®ă„ăšă‚Śă«ă¤ă„ă¦ă‚‚ćś‰ĺŠąă»ç„ˇĺŠąăŚćŚ‡ĺ®šă•ă‚Śă¦ă„ăŞă„ăˇă‚‡ă†ă©ăťă®ć™‚ďĽŽ
	\end{description}
	\textit{vert\_activated}ă«ă¤ă„ă¦ăŻ\texttt{luatexja.define\_jfont}ă‚łăĽă«ăăă‚Żă§ć¸ˇă•ă‚Śă‚‹ĺĽ•ć•°
	\texttt{jfont\_info}ă‹ă‚‰ĺŹ–ĺľ—ĺŹŻč˝ă§ă‚ă‚‹ďĽŽ

	\item \textit{auto\_enable\_vrt2}ăŚçśźă®ĺ&nbsp;´ĺăŻďĽŚçŹľĺś¨ă®script tagă¨language system identifieră®ĺ€¤ă§
	\texttt{vrt2}ć©źč˝ăŚĺ©ç”¨ĺŹŻč˝ă‹čŞżăąă‚‹ďĽŽĺ©ç”¨ĺŹŻč˝ăŞă‚‰ă°\texttt{vrt2}ă‚’ďĽŚăťă†ă§ăŞă‘ă‚Śă°
	\texttt{vert}ă‚’ćś‰ĺŠąĺŚ–ă™ă‚‹ďĽŽ
	\item ăľăźďĽŚĺ„ĺ’Ść–‡ă•ă‚©ăłăčŞ­ăżčľĽăżć™‚ă«ăŻďĽŚ
	ă€ŚOpenTypeć©źč˝ă«ă‚ă‚‹ç˝®ćŹ›ä»Ąĺ‰Ťă«čˇŚă†ç¸¦çµ„ĺ˝˘ă¸ă®ç˝®ćŹ›ă€Ťă‚’ć&nbsp;Ľç´Ťă—ăźă†ăĽă–ă«\textit{vform}ă‚‚ä˝śćă™ă‚‹ďĽŽ
	\begin{enumerate}
	  \item \autoref{tab:vert_replace}ă«ç¤şă—ăźĺ„ç˝®ćŹ›$i\longmapsto v$ă«ĺŻľă—ďĽŚ
	  ç˝®ćŹ›ĺ…$v$ăŚă•ă‚©ăłăĺ†…ă«ĺ­ĺś¨ă™ă‚‹ć–‡ĺ­—ă‚łăĽă‰ă§ă‚ă‚‹ăŞă‚‰ă°ďĽŚ$i\longmapsto v$ă‚’\textit{vform}ă«ç™»éŚ˛ă™ă‚‹ďĽŽ
	  \item \ref{ssec:tfont}çŻ€ă«ă‚ă‚‹\texttt{jpotf}ăŚćŚ‡ĺ®šă•ă‚Śăźĺ&nbsp;´ĺďĽŚ
	  \LuaTeX-jaĺ†…é¨ă®ĺĄă®ă†ăĽă–ă«\textit{vert\_jpotf\_table}ă«ç™»éŚ˛ă•ă‚Śă¦ă„ă‚‹ĺ„ç˝®ćŹ›$i\longmapsto v$ă«ĺŻľă—ă¦
	  ç˝®ćŹ›ĺ…$v$ăŚă•ă‚©ăłăĺ†…ă«ĺ­ĺś¨ă™ă‚‹ć–‡ĺ­—ă‚łăĽă‰ă§ă‚ă‚‹ăŞă‚‰ă°ďĽŚ$i\longmapsto v$ă‚’\textit{vform}ă«ç™»éŚ˛ă™ă‚‹ďĽŽ
	  \item ă‚‚ă—\texttt{vert}ă‚‚\texttt{vrt2}ă‚‚çŹľĺś¨ă®script, languageă§ăŻćś‰ĺŠąă«ă§ăŤăŞă„ĺ&nbsp;´ĺďĽŚ
	  ă©ă“ă‹ă®script, languageă«ăŠă‘ă‚‹\texttt{vert}ă§ĺ®šçľ©ă•ă‚Śă¦ă„ă‚‹
	  ç˝®ćŹ›$i\longmapsto v$ă‚’ă™ăąă¦\textit{vform}ă«ç™»éŚ˛ă™ă‚‹ďĽŽ
	\end{enumerate}

	ă‚ă¨ă§čŞ¬ćŽă™ă‚‹ă‚ă†ă«ďĽŚ\textit{vform}ăŻ\textit{vert\_activated}ăŚçśźă§ă‚ă‚‹ă‚ă†ăŞç¸¦çµ„ç”¨ĺ’Ść–‡ă•ă‚©ăłăă§ă—ă‹
	ĺ©ç”¨ă•ă‚ŚăŞă„ďĽŽ
	
	\item ă€ŚçŹľĺś¨ă®ć°´ĺąłăŞă‚ąăă€Ťĺ†…ă®\textbf{JAchar}ă‚’ďĽć¬§ć–‡ă•ă‚©ăłăă‹ă‚‰ďĽ‰ĺ’Ść–‡ă•ă‚©ăłăă¸ç˝®ăŤćŹ›ăă‚‹ĺ‡¦ç†ă«ăŠă„ă¦ďĽŚ
    ăťă®ć™‚ç‚ąă§ă®çµ„ć–ąĺ‘ăŚç¸¦çµ„ă§ă‚ă‚ŠďĽŚă‹ă¤ĺ‡¦ç†ĺŻľč±ˇă®ĺ„ăŽăĽă‰ă®ç¸¦çµ„ç”¨ă•ă‚©ăłăă§
	\textit{vert\_activated}ăŚçśźă§ă‚ă‚‹ĺ&nbsp;´ĺďĽŚ\textit{vform}ă«ĺľ“ă„ă‚°ăŞă•ăŚç˝®ăŤćŹ›ăă‚‰ă‚Śă‚‹ďĽŽ

	\Pkg{luaotfload}ăŚčˇŚă†ďĽŚOpenTypeć©źč˝ă«ć˛żăŁăźă‚°ăŞă•ç˝®ćŹ›ăŻă“ă®ĺľŚă®ĺ‡¦ç†ă¨ăŞă‚‹ďĽŽ
  \end{itemize}
%&lt;/ja&gt;

\newpage
\begin{thebibliography}{99}
  \addcontentsline{toc}{section}{\refname}
\bibitem{texbytopic}
Victor Eijkhout. \newblock \textit{\TeX\ by Topic, A \TeX nician's Reference}, Addison-Wesley, 1992.
\bibitem{listings} C.\ Heinz, B.\ Moses. \newblock The \textsf{Listings} Package.
\bibitem{uptex} Takuji Tanaka. \newblock
upTeX---Unicode version of pTeX with CJK extensions,
TUG 2013, October 2013.\newblock
\url{http://tug.org/tug2013/slides/TUG2013_upTeX.pdf}
\bibitem{jlisting} Thor Watanabe. \newblock Listings\ -\ MyTeXpert.\newblock
\url{http://mytexpert.osdn.jp/index.php?Listings}
\bibitem{jlreq}  W3C Japanese Layout Task Force~(ed). \newblock
Requirements for Japanese Text Layout (W3C Working Group Note), 2011, 2012. \newblock
\url{http://www.w3.org/TR/jlreq/}%
%&lt;ja&gt; \\ć—Ąćś¬čŞžč¨łă®ć›¸ç±Ťç‰ďĽšW3Cć—Ąćś¬čŞžçµ„ç‰ă‚żă‚ąă‚Żă•ă‚©ăĽă‚ąďĽç·¨ďĽ‰ďĽŚă€ŽW3CćŠ€čˇ“ăŽăĽă ć—Ąćś¬čŞžçµ„ç‰ĺ‡¦ç†ă®č¦ä»¶ă€ŹďĽŚćť±äş¬é›»ć©źĺ¤§ĺ­¦ĺ‡şç‰ĺ±€ďĽŚ2012ďĽŽ
\bibitem{min10} äą™é¨ĺŽłĺ·±ďĽŽă€Śmin10ă•ă‚©ăłăă«ă¤ă„ă¦ă€Ť\newblock
\url{http://argent.shinshu-u.ac.jp/~otobe/tex/files/min10.pdf}
\bibitem{x4051} ć—Ąćś¬ĺ·ĄćĄ­č¦Źć&nbsp;Ľ(Japanese Industrial Standard). ă€ŚJIS~X~4051,
ć—Ąćś¬čŞžć–‡ć›¸ă®çµ„ç‰ć–ąćł•(Formatting rules for Japanese documents)ă€Ť, 1993, 1995, 2004.
\bibitem{ptexdoc} ćż±é‡Žĺ°šäşşďĽŚç”°ćť‘ćŽĺŹ˛ďĽŚĺ€‰ć˛˘č‰Żä¸€ďĽŽă€Ś\TeX ă®ĺ‡şç‰ă¸ă®ĺżśç”¨â€”ç¸¦çµ„ăżć©źč˝ă®çµ„ăżčľĽăżâ€”ă€ŤďĽŽ
\newblock\texttt{.../texmf-dist/doc/ptex/base/ptexdoc.pdf}
\bibitem{ptextug} Hisato Hamano. \newblock
\textit{Vertical Typesetting with \TeX}, TUGBoat~\textbf{11}(3), 346--352, 1990.
\bibitem{pdfstd} International Organization for Standardization. \newblock
ISO 32000-1:2008, \textit{Document management -- Portable document format -- Part 1: PDF
      1.7}, 2008. \newblock
\url{http://www.iso.org/iso/iso\_catalogue/catalogue_tc/catalogue\_detail.htm?csnumber=51502}
\bibitem{tc18ltja} ĺŚ—ĺ·ťĺĽĺ…¸ďĽŽă€Ś\LuaTeX-jaă®čż‘ćłă€ŤďĽŚ\TeX Conf~2018ďĽŽ
  \url{https://raw.githubusercontent.com/h-kitagawa/presentations/main/tc18ltja.pdf}
\bibitem{bxghost} Takuto ASAKURA. \newblock The \textsf{BXghost} Package. \url{https://github.com/wtsnjp/BXghost}
\end{thebibliography}

\makeatletter
\let\ltj@@end=\@@end
{\catcode`\%=12\relax\catcode`\~=12\relax
\protected\gdef\@@end{%
\typeout{attributes:}
\directlua{
  for i=0,65535 do
    local a = tex.getattribute(i)
    if a~=-0x7FFFFFFF then
      texio.write_nl('term and log',
        string.format('attr %6d, %d', i, a))
    end
    tex.setbox('global', i, nil)
  end
  print('IC', luatexja.inherit_na_count )
}\ltj@@end}}
\end{document}
%&lt;/!showexpl&gt;
%&lt;*showexpl&gt;
%%
%% config file for showexpl.sty
%%
%% Copyright The LuaTeX-ja project team, 2012
%%
\ProvidesFile{showexpl.cfg}
  [2012/05/20 v0.01 Definitions for the showexpl package (luatexja)]
\lstset{}
\def\SX@Info{}
\endinput
%&lt;/*showexpl&gt;
</pre></body></html>