• R/O
  • HTTP
  • SSH
  • HTTPS

luatexja: コミット

ソースコードの管理場所


コミットメタ情報

リビジョンa9a7df1e41a1ff1b4dfbc66a469df1f8e936c415 (tree)
日時2019-07-25 17:44:55
作者Hironori Kitagawa <h_kitagawa2001@yaho...>
コミッターHironori Kitagawa

ログメッセージ

\ltj@vert@ori: orientation of a character in \tate

変更サマリ

差分

--- a/src/ltj-setwidth.lua
+++ b/src/ltj-setwidth.lua
@@ -58,6 +58,7 @@ local dir_tate = luatexja.dir_table.dir_tate
5858 local attr_ykblshift = luatexbase.attributes['ltj@ykblshift']
5959 local attr_tkblshift = luatexbase.attributes['ltj@tkblshift']
6060 local attr_icflag = luatexbase.attributes['ltj@icflag']
61+local attr_vert_ori = luatexbase.attributes['ltj@vert@ori']
6162
6263 local ltjf_font_extra_info = ltjf.font_extra_info
6364
@@ -180,7 +181,7 @@ local function capsule_glyph_tate(p, met, char_data, head, dir)
180181 local pf, pc = getfont(p), getchar(p)
181182 local feir = ltjf_font_extra_info[pf]
182183 if feir and feir.rotation and met.vert_activated then
183- if feir.rotation[pc] then
184+ if feir.rotation[pc] and (has_attr(p, attr_vert_ori) or 0)<=0 then
184185 return capsule_glyph_tate_rot(p, met, char_data, head, dir, 0.5*(ascent-descent))
185186 end
186187 end
--- a/src/luatexja-core.sty
+++ b/src/luatexja-core.sty
@@ -147,6 +147,7 @@
147147 \newattribute\ltj@tablshift % attribute for talbaselineshift
148148 \newattribute\ltj@tkblshift % attribute for tjabaselineshift
149149 \newattribute\jfam % index for current jfam
150+\newattribute\ltj@vert@ori % <=0: UAX#50, >0: always upright
150151
151152 \newattribute\ltj@dir
152153 \newlanguage\ltj@@japanese
--- a/test/test51b-vorg.tex
+++ b/test/test51b-vorg.tex
@@ -2,46 +2,40 @@
22 \usepackage[margin=15mm,centering]{geometry}
33 \usepackage{lltjext,xcolor}
44 %\usepackage{lua-visual-debug}
5+\makeatletter
6+\protected\def\ltjuprightchar{\afterassignment\ltj@@uprightcharchar\ltj@tempcnta}
7+\def\ltj@@uprightchar{{\directlua{tex.globaldefs=0}\ltj@alljachar
8+ \ltj@vert@ori\@ne\ltj@@origchar\ltj@tempcnta}}
9+\def\ltjvertupright{\ltj@vert@ori\@ne}
510 \begin{document}
11+\sffamily
612 \def\V#1{%
713 \setbox0=\hbox to0pt{\yoko\hss\smash{#1} \kern-\zw\hss}%
814 \box0\relax
915 }
10-\def\YL{\rlap{\textcolor{magenta}{\vrule height 0.0625mm depth 0.0625mm width 500pt}}}
16+\def\YL{\rlap{\textcolor{cyan!50!white}{\vrule height 0.05mm depth 0.05mm width 500pt}}}
1117 \def\TEST#1{\smash{\hbox to 0pt{\tate%
1218 \kern120pt\YL%
1319 \tfont\A=#1:jfm=ujisv at 10pt\A
1420 \jfont\B=#1:jfm=ujis at 10pt\B
15- 国\V T\V y\V p\V o\V g\V r\V a\V p\V h\V y国\V Q国
16- \V J国\V{\ltjjachar`Å}国
21+ 国\V T\V y\V p\V o\V g\V r\V a\V p\V h\V Y国\V Q国
22+ \V J国\V{\ltjjachar`Å}国\V{\ltjjachar`β}国
1723 \hss}}%
18- \smash{\hbox to 0pt{\tate%
24+ \smash{\hbox to 0pt{\tate\ltjvertupright%
1925 \hbox to 120pt{\ttfamily #1\hss}\YL%
20- \tfont\A=#1:jfm=ujisv at 10pt\A
21- 国Typography国Q国J国\ltjjachar`Å国\ltjjachar"3031国
26+ \tfont\A=#1:jfm=ujisv;notdef=false at 10pt\A
27+ 国TypographY国Q国J国\ltjjachar`Å国\ltjjachar`β国\ltjjachar"3031国
28+ \ltjjachar"41国
2229 \hss}}\quad}
2330
31+% AJ1-6 には Å の pre-rotated glyph あり→こいつは回転してはいけない
32+% TODO: notdef があると乱れる
33+
2434 \def\TL{\smash{\rlap{\hbox to 0pt{\tate%
25- \kern120pt\color{cyan}\kern-0.0625mm%
26- \vrule height 400pt depth 0pt width 0.125mm\kern\dimexpr10pt-0.125mm%
27- \vrule height 400pt depth 0pt width 0.125mm\kern\dimexpr10pt-0.125mm%
28- \vrule height 400pt depth 0pt width 0.125mm\kern\dimexpr10pt-0.125mm%
29- \vrule height 400pt depth 0pt width 0.125mm\kern\dimexpr10pt-0.125mm%
30- \vrule height 400pt depth 0pt width 0.125mm\kern\dimexpr10pt-0.125mm%
31- \vrule height 400pt depth 0pt width 0.125mm\kern\dimexpr10pt-0.125mm%
32- \vrule height 400pt depth 0pt width 0.125mm\kern\dimexpr10pt-0.125mm%
33- \vrule height 400pt depth 0pt width 0.125mm\kern\dimexpr10pt-0.125mm%
34- \vrule height 400pt depth 0pt width 0.125mm\kern\dimexpr10pt-0.125mm%
35- \vrule height 400pt depth 0pt width 0.125mm\kern\dimexpr10pt-0.125mm%
36- \vrule height 400pt depth 0pt width 0.125mm\kern\dimexpr10pt-0.125mm%
37- \vrule height 400pt depth 0pt width 0.125mm\kern\dimexpr10pt-0.125mm%
38- \vrule height 400pt depth 0pt width 0.125mm\kern\dimexpr10pt-0.125mm%
39- \vrule height 400pt depth 0pt width 0.125mm\kern\dimexpr10pt-0.125mm%
40- \vrule height 400pt depth 0pt width 0.125mm\kern\dimexpr10pt-0.125mm%
41- \vrule height 400pt depth 0pt width 0.125mm\kern\dimexpr10pt-0.125mm%
42- \vrule height 400pt depth 0pt width 0.125mm\kern\dimexpr10pt-0.125mm%
43- \vrule height 400pt depth 0pt width 0.125mm\kern\dimexpr10pt-0.125mm%
44- \vrule height 400pt depth 0pt width 0.125mm\kern\dimexpr10pt-0.125mm%
35+ \kern120pt\color{cyan}\kern-0.05mm%
36+ \count2=0 \loop\ifnum\count2<50
37+ \vrule height 400pt depth 0pt width 0.1mm\kern\dimexpr10pt-0.1mm%
38+ \advance\count2 by 1\relax\repeat
4539 }}}}
4640
4741 \leavevmode
旧リポジトリブラウザで表示