From 1c10375ec46d7d83b2f1efc2a71b7ea114c889f0 Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Mon, 4 Jul 2022 03:03:43 +0000 Subject: CTAN sync 202207040303 --- macros/luatex/generic/luatexja/README | 8 +- macros/luatex/generic/luatexja/doc/luatexja-en.pdf | Bin 717450 -> 717582 bytes macros/luatex/generic/luatexja/doc/luatexja-ja.pdf | Bin 1149239 -> 1149384 bytes .../luatex/generic/luatexja/doc/luatexja-ruby.pdf | Bin 381090 -> 390299 bytes .../luatex/generic/luatexja/doc/luatexja-ruby.tex | 129 ++++++++++++++++++--- macros/luatex/generic/luatexja/doc/luatexja.dtx | 12 +- .../luatexja/src/addons/luatexja-preset.sty | 18 ++- .../generic/luatexja/src/addons/luatexja-ruby.sty | 26 +++-- macros/luatex/generic/luatexja/src/ltj-ruby.lua | 3 +- macros/luatex/generic/luatexja/src/luatexja.sty | 2 +- 10 files changed, 165 insertions(+), 33 deletions(-) (limited to 'macros/luatex/generic') diff --git a/macros/luatex/generic/luatexja/README b/macros/luatex/generic/luatexja/README index d22404d610..a769b41a75 100644 --- a/macros/luatex/generic/luatexja/README +++ b/macros/luatex/generic/luatexja/README @@ -1,4 +1,4 @@ -The LuaTeX-ja Package 20220530.0 +The LuaTeX-ja Package 20220703.0 -------------------------------- Copyright (c) 2011--2022 The LuaTeX-ja project License: modified BSD (see COPYING) @@ -42,9 +42,9 @@ Installation 2. If you must/want to install manually: a. Download the source archive from CTAN, - or tagged as 20220530.0 in the Git repository by + or tagged as 20220703.0 in the Git repository by + ;a=snapshot;h=refs/tags/20220703.0;sf=tgz> b. Extract the archive and process following three files by LuaLaTeX to generate classes for Japanese typesetting: @@ -93,4 +93,4 @@ Notes This file and ltj-kinsoku.lua are not used anymore. (Do not remove ltj-kinsoku.tex.) -Last commit date: Mon May 30 12:00:10 2022 +0900 +Last commit date: Sun Jul 3 11:15:41 2022 +0900 diff --git a/macros/luatex/generic/luatexja/doc/luatexja-en.pdf b/macros/luatex/generic/luatexja/doc/luatexja-en.pdf index 06cae0dffc..7ad9b0ebc5 100644 Binary files a/macros/luatex/generic/luatexja/doc/luatexja-en.pdf and b/macros/luatex/generic/luatexja/doc/luatexja-en.pdf differ diff --git a/macros/luatex/generic/luatexja/doc/luatexja-ja.pdf b/macros/luatex/generic/luatexja/doc/luatexja-ja.pdf index f5a92ac497..8f1095869c 100644 Binary files a/macros/luatex/generic/luatexja/doc/luatexja-ja.pdf and b/macros/luatex/generic/luatexja/doc/luatexja-ja.pdf differ diff --git a/macros/luatex/generic/luatexja/doc/luatexja-ruby.pdf b/macros/luatex/generic/luatexja/doc/luatexja-ruby.pdf index 2dce1034fc..870d9963ae 100644 Binary files a/macros/luatex/generic/luatexja/doc/luatexja-ruby.pdf and b/macros/luatex/generic/luatexja/doc/luatexja-ruby.pdf differ diff --git a/macros/luatex/generic/luatexja/doc/luatexja-ruby.tex b/macros/luatex/generic/luatexja/doc/luatexja-ruby.tex index 3148d1df9e..e51f4558bb 100644 --- a/macros/luatex/generic/luatexja/doc/luatexja-ruby.tex +++ b/macros/luatex/generic/luatexja/doc/luatexja-ruby.tex @@ -2,7 +2,7 @@ %%% a test of ruby. \documentclass[a4paper,10ptj]{ltjsarticle} \usepackage[rgb]{xcolor} -\usepackage{enumitem,mleftright} +\usepackage{enumitem,mleftright,pict2e} \usepackage{luatexja-otf,amsmath,bxghost} \usepackage[no-math]{fontspec} \usepackage[match]{luatexja-fontspec} @@ -36,7 +36,6 @@ allcolors=blue, pdftitle={luatexja-ruby.sty} } - \def\Node#1#2{\,\vcenter{\hbox{\fboxsep=1pt\fbox{\vbox{\small\halign{\hfil##\hfil\cr #1\mathstrut\cr\noalign{\smallskip\hrule height.4pt\smallskip}\strut\<#2\cr}}}}}\,} \def\LuaTeX{Lua\TeX} @@ -70,6 +69,15 @@ \ExplSyntaxOff %%%% +\makeatletter +\def\figureautorefname{図} +\def\HyRef@autoref#1#2{% + \begingroup + \Hy@safe@activestrue + \expandafter\HyRef@autosetref\csname r@#2\endcsname{#2}{#1}% + \endgroup\eghostguarded{}%" 欧文ゴースト +} + \title{\textsf{luatexja-ruby}パッケージ} \author{\LuaTeX-jaプロジェクトチーム} \date{\texttt{\csname ver@luatexja-ruby.sty\endcsname}(\today)} @@ -132,7 +140,12 @@ plain \LuaTeX でのロードはまだサポートしておらず, 本来foohogeにおいては…… \end{quote} +また,「親文字全角幅」「親文字全角高さ」という用語は,それぞれ親文字の和文フォントにおける +\cs{zw},~\cs{zh}命令で取得できる値を表す.多くの場合は両者は同じ値であるが,いつでもそうであるという保証はない. +「ルビ全角幅」「ルビ全角高さ」についても同様である. + \subsection{\ruby{命|令}{めい|れい}} +\label{ssec:ltjruby} \paragraph{\cs{ltjruby}} ルビ出力用命令の本体.\verb+\ruby+ という別名を定義している. \begin{quote} @@ -194,11 +207,11 @@ plain \LuaTeX でのロードはまだサポートしておらず, 既定値は\ \verb+{1}{1}{0}+ である. \item[maxmargin=] 親文字の方がルビより長い時に,ルビの先頭と親文字の先頭,及び -ルビ末尾と親文字の末尾の間に許される最大の空白量.\textbf{親文字全角単位}で指定し,既定値は0.5. +ルビ末尾と親文字の末尾の間に許される最大の空白量.\textbf{親文字全角幅単位}で指定し,既定値は0.5. \medskip \item[size=] ルビ文字の親文字に対する大きさ.既定値は0.5. -\item[intergap=] ルビ文字と親文字との空きを親文字全角単位で指定.既定値は0. +\item[intergap=] ルビ文字と親文字との空きを親文字全角高さ単位で指定.既定値は0. \item[rubysmash=] ルビの高さを0にするか.既定値は偽.次が例である. \begin{LTXexample}[width=0.3\textwidth, preset=\Large] \ \vrule width 0pt height 2\zw depth 1\zw @@ -212,12 +225,13 @@ plain \LuaTeX でのロードはまだサポートしておらず, {本}{ほん}} \end{LTXexample} \item[ybaseheight=] 非負の値が指定された場合, - \emph{縦組以外での}ルビの親文字の高さを全角高さの倍と強制的に固定する. + \emph{縦組以外での}親文字の高さを親文字全角高さの倍と強制的に固定する. 負の値が指定された場合は「固定しない」(すなわち,v0.3より前の挙動と同じになる). - 既定値は0.88. -\item[tbaseheight=] \texttt{ybaseheight}と同様だが,こちらは\emph{縦組での}ルビの親文字の高さを指定する. - 既定値は0.5. + 既定値は$0.88$. +\item[tbaseheight=] \texttt{ybaseheight}と同様だが,こちらは\emph{縦組での}親文字の高さを指定する. + 既定値は$0.5$. \item[baseheight=] \texttt{ybaseheight},\texttt{tbaseheight}を同時に指定したことと同義. + 次の例や\autoref{fig:ruby_vertical}を参照. \begin{LTXexample}[width=0.3\textwidth, preset=\Large] \noindent \ltjruby[baseheight=0.88]{本}{ほん}\ @@ -229,7 +243,64 @@ plain \LuaTeX でのロードはまだサポートしておらず, \ltjruby[baseheight=-1]{本}{ほん}\ \ltjruby[baseheight=-1]{dvi}{ディーヴィーアイ} \end{LTXexample} +\item[yrubydepth=] 非負の値が指定された場合, + \emph{縦組以外での}ルビの深さをルビ全角の倍と強制的に固定する. + 負の値が指定された場合は「固定しない」(すなわち,v0.52以前の挙動と同じになる). + 既定値は$0.12$. +\item[trubydepth=] \texttt{yrubydepth}と同様だが,こちらは\emph{縦組での}ルビの深さを指定する. + 既定値は$0.5$. +\item[rubydepth=] \texttt{yrubydepth},\texttt{trubydepth}を同時に指定したことと同義. + 次の例や\autoref{fig:ruby_vertical}を参照. +\begin{LTXexample}[width=0.3\textwidth, preset=\Large] +\noindent +\ltjruby[rubydepth=0.12]{◆}{ほん}\ +\ltjruby[rubydepth=0.12]{◆}{pdf}\ +\ltjruby[rubydepth=0.12]{◆}{dvi}\\ +\ltjruby[rubydepth=0]{◆}{ほん}\ +\ltjruby[rubydepth=0]{◆}{pdf}\ +\ltjruby[rubydepth=0]{◆}{dvi}\\ +\ltjruby[rubydepth=-1]{◆}{ほん}\ +\ltjruby[rubydepth=-1]{◆}{pdf}\ +\ltjruby[rubydepth=-1]{◆}{dvi} +\end{LTXexample} +\begin{figure}[t] + {\centering\fontsize{48}{48}\selectfont\unitlength=\zw + \begin{picture}(7,2.5)(-0.5,-0.5) + \linethickness{0.4mm} + \put(0,0){\makebox(0,0)[l]{\smash{\hbox to 6.5\zw{親文字$\int_0^1 x\,dx$}}}} + \polygon(0,-.12)(0,0.88)(6.5,0.88)(6.5,-0.12) + \put(0,1.35){\makebox(0,0)[l]{\fontsize{24}{24}\selectfont\smash{\hbox to 13\zw{ルビ文字列◆◆◆◆◆◆◆◆}}}} + \polygon(0,1.2)(0,1.79)(6.5,1.79)(6.5,1.2) + \linethickness{0.125mm} + \put(-0.5,0){\line(1,0){7}} + \put(-0.5,1.35){\line(1,0){7}} + \put(-0.5,1.2){\line(1,0){0.5}} + \put(-0.5,0.88){\line(1,0){0.5}} + \put(-0.25,0){\vector(0,1){0.88}} + \put(-0.25,1.35){\vector(0,-1){0.15}} + \put(-0.25,0.44){\normalsize\makebox(0,0)[r]{$H$\,\,}} + \put(-0.25,1.45){\normalsize\makebox(0,0)[b]{$D$}} + \put(-0.125,0.88){\vector(0,1){0.32}} + \put(-0.125,1.04){\normalsize\makebox(0,0)[l]{\,\,$\mbox{\texttt{intergap}}\cdot p$}} + \end{picture}\par} + + \normalsize\leftskip=0.5\dimexpr\textwidth-30\zw \rightskip=\leftskip + ここで$p$は親文字における全角高さ,$r$はルビ文字における全角高さであり, + \begin{gather*} + H= + \begin{cases} + \mbox{\texttt{[yt]baseheight}}\cdot p&\mbox{if\ $\mbox{\texttt{[yt]baseheight}}\ge 0$,}\\ + \mbox{(自然高さ)}&\mbox{if\ $\mbox{\texttt{[yt]baseheight}}\string<0$,} + \end{cases}\\ + D= + \begin{cases} + \mbox{\texttt{[yt]rubydepth}}\cdot r&\mbox{if\ $\mbox{\texttt{[yt]rubydepth}}\ge 0$,}\\ + \mbox{(自然深さ)}&\mbox{if\ $\mbox{\texttt{[yt]rubydepth}}\string<0$.} + \end{cases} + \end{gather*} + \caption{ルビの垂直配置}\label{fig:ruby_vertical} +\end{figure} \item[kenten=]各文字につく圏点の出力命令を指定する. @@ -268,11 +339,12 @@ mode=9, stretch={1}{2}{1}, stretchruby={0}{0}{1}