• R/O
  • HTTP
  • SSH
  • HTTPS

luatexja: コミット

ソースコードの管理場所


コミットメタ情報

リビジョン51c9015e14c58f4044076578de6d3871bf0b6031 (tree)
日時2020-04-22 15:36:22
作者Hironori Kitagawa <h_kitagawa2001@yaho...>
コミッターHironori Kitagawa

ログメッセージ

round_threshold in vertical fonts

変更サマリ

差分

--- a/src/jfm-ujisv.lua
+++ b/src/jfm-ujisv.lua
@@ -28,6 +28,7 @@ local t = {
2828 [8] = { 0, 0, 0, kanjiskip_shrink=1 },
2929 },
3030 kern = { [307] = 0 },
31+ round_threshold = 0.01,
3132 },
3233
3334 [1] = { -- 開き括弧類
--- a/src/ltj-setwidth.lua
+++ b/src/ltj-setwidth.lua
@@ -196,6 +196,11 @@ local function capsule_glyph_tate(p, met, char_data, head, dir)
196196 pwidth, ascender = feir.vheight[pc]*met.size, feir.vorigin[pc]*met.size
197197 end
198198 fwidth = fwidth or pwidth
199+ if fwidth~=pwidth and char_data.round_threshold then
200+ local frac = abs(pwidth / fwidth);
201+ local quot = floor(frac)
202+ if frac-quot <char_data.round_threshold then fwidth = fwidth * quot end
203+ end
199204 fshift.down = char_data.down; fshift.left = char_data.left
200205 fshift = call_callback("luatexja.set_width", fshift, met, char_data)
201206 local fheight = char_data.height or 0
--- /dev/null
+++ b/test/test59-round_threshold.tex
@@ -0,0 +1,21 @@
1+\documentclass{ltjsarticle}
2+\usepackage[sourcehan-jp,nfssonly]{luatexja-preset}
3+\begin{document}
4+\lineskip0pt
5+
6+\setbox0=\hbox{\tate あ〳〵あ〱あ――あ}\leavevmode\vrule\copy0\vrule
7+{\ttfamily\tiny\directlua{%
8+ luatexja.ext_show_node(tex.getbox(0), '\string\\par> ', tex.print)
9+}\par}
10+
11+\newpage
12+\setbox0=\hbox{\yoko あ〳〵あ〱あ――あ}\par
13+\hrule
14+\copy0
15+\hrule
16+{\ttfamily\tiny\directlua{%
17+ luatexja.ext_show_node(tex.getbox(0), '\string\\par> ', tex.print)
18+}\par}
19+
20+\end{document}
21+\bye
旧リポジトリブラウザで表示