OSDN Git Service

'lineend=extended' in luatexja-adjust.sty (wip)
[luatex-ja/luatexja.git] / test / test17-priority.tex
1 %#!lualatex
2
3 \documentclass{ltjsarticle}
4 \usepackage{luatexja-fontspec,luatexja-adjust, luacode,xcolor}
5
6 \def\sq{%
7   \hbox to 1\zw{\hss\fboxsep=-.5\fboxrule\fbox{%
8    \hskip\dimexpr-.5\zw-.2pt\vrule width.4pt height.08\zw depth.12\zw%
9   \hskip\dimexpr.5\zw-.2pt\relax}\hss}}
10 \def\sb{\hbox to 1\zw{\hss\fboxsep=-.5\fboxrule\fbox{%
11   ■\hskip\dimexpr-.5\zw-.2pt\vrule width.4pt height.08\zw depth.12\zw%
12   \hskip\dimexpr.5\zw-.2pt\relax}\hss}}
13 \newbox\gridbox
14 \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}
15 \def\outbox#1{%
16   \leavevmode\hbox to 2em{\tt #1\hss}\vrule
17   \textcolor{cyan!50!white}{\copy\gridbox}\hskip-20\zw\copy0\vrule\par
18 }
19
20 \ltjdisableadjust
21 \long\def\testbox#1{%
22   \textcolor{red!80!black}{\ltjenableadjust[all, lineend=extended]
23     \setbox0=\vbox{%
24       \hsize=20\zw#1%
25         }\ltjdisableadjust\outbox{ON}}\par
26   \textcolor{black!90!white}{%
27     \ltjdisableadjust\setbox0=\vbox{%
28           \hsize=20\zw#1%
29     }\outbox{OFF}}\par\medskip
30 }
31
32 \parindent0pt
33 \begin{document}
34 \jfontspec[YokoFeatures={JFM=hang}]{ipam.ttf}
35
36 \ltjsetparameter{kanjiskip=.0\zw plus .4pt minus .4pt}
37 {\tt kanjiskip: \ltjgetparameter{kanjiskip}
38
39 \ltjsetparameter{xkanjiskip=.25\zw plus .25\zw minus .125\zw}
40 xkanjiskip: \ltjgetparameter{xkanjiskip}}
41
42 このテストでは,行末の句読点・中点類の位置調整を有効にした
43 \texttt{jfm-hang.lua}を用いている.
44 \begin{itemize}
45 \item 句点は,調整量に合わせて,ぶら下げ,全角取りの2種類から選択される.
46 \item 読点は,調整量に合わせて,ぶら下げ,二分取り,全角取りの3種類から選択される.
47 \item 中点類は,行末に四分空きを追加することのみ対応.
48 詰める際の「直前の四分空きも取る」は未実装,
49
50 \item \texttt{lineend=true}のときは,\TeX による行分割後に行末文字の位置調整が行われる.
51 行われる条件は,
52 \begin{description}
53 \item[最終行以外] 無限大の伸長度を持つグルーが関わっていない
54 \item[最終行] 無限大の伸長度を持つグルーは\verb+\parfillskip+のみで,かつ
55 \[
56  (\hbox{許される最小の行末文字と行末の間})\leq
57  (\hbox{\verb+\parfillskip+のこの行における実際の長さ})\leq
58  (\hbox{許される最大の行末文字と行末の間})
59 \]
60 となっている
61 \end{description}
62
63 \item \texttt{lineend=extended}のときは,\TeX による行分割の時点で行末位置の文字調整を考慮
64       する.但し,段落の最後の文字については例外的に行わず,代わりに
65 上の「\texttt{lineend=true}の場合」の最終行のときと同じ補正を行う.
66 \end{itemize}
67
68 \testbox{%
69 ◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
70 %あいうえおかきくけこさしすせそたちつてと
71 }
72
73 \testbox{%
74 あいうえおかきくけこ「「さしすせそたちつて
75 }
76
77 \testbox{%
78 あうえおかきAI M M Dこさ\texttt{DO i=1,10}『
79 }
80
81 \testbox{%
82 「\texttt{\textbackslash expandafter}ユーザの集い」が開催された
83 }
84
85 \testbox{%
86 あいうえおきくけこ「」さ123456そたちつて
87 }
88
89 \typeout{あいうえお}
90
91
92 \def\pTeX{p\kern-.2em\TeX}
93 \testbox{%
94 日本で\pTeX,p\LaTeX がよく使われている。
95 }
96
97 中点類の空き詰めは括弧類より優先
98 \typeout{中点類の空き詰め}
99
100 \testbox{%
101 あいうえおかきくけ・こさしすせそたち「「あ
102 }
103
104 句読点類・中点類の後ろ空き
105
106 \testbox{%
107 日本では\pTeX,p\LaTeX が使われている。
108 }
109 \testbox{%
110 あいうえおかきくけこさしすせそたちつて・
111 }
112
113 \newpage
114 行末の句点
115 \typeout{行末の句点}
116
117 \testbox{%
118 あいうえおかきくけこさしすせそたちつて.
119 }
120 \testbox{%
121 あいうえおかきくけこさしすせそたちつ\vrule width .25\zw て.
122 }
123 \testbox{%
124 あいうえおかきくけこさしすせそたちつ\vrule width .5\zw て.
125 }
126 \testbox{%
127 あいうえおかきくけこさしすせそたちつ\vrule width .75\zw て.
128 }
129 \testbox{%
130 あいうえおかきくけこさしすせそたちつ\vrule width 1\zw て.
131 }
132
133 行末の読点
134 \typeout{行末の読点}
135
136 \testbox{%
137 あいうえおかきくけこさしすせそたちつて,
138 }
139 \testbox{%
140 あいうえおかきくけこさしすせそたちつ\vrule width .25\zw て,
141 }
142 \testbox{%
143 あいうえおかきくけこさしすせそたちつ\vrule width .5\zw て,
144 }
145 \testbox{%
146 あいうえおかきくけこさしすせそたちつ\vrule width .75\zw て,
147 }
148 \testbox{%
149 あいうえおかきくけこさしすせそたちつ\vrule width 1\zw て,
150 }
151
152 \newpage
153
154 \end{document}