• R/O
  • HTTP
  • SSH
  • HTTPS

luatexja: コミット

ソースコードの管理場所


コミットメタ情報

リビジョンe3338432ebf1187e93c2d7a2b8ebb194763162ed (tree)
日時2019-08-01 21:27:38
作者Hironori Kitagawa <h_kitagawa2001@yaho...>
コミッターHironori Kitagawa

ログメッセージ

check_box: ignore JFM glue between 'boxbdd'

変更サマリ

差分

--- a/doc/luatexja.dtx
+++ b/doc/luatexja.dtx
@@ -9587,6 +9587,9 @@ $\mathit{Np}.\mathit{head}$, $\mathit{Np}.\mathit{tail}$の算出は,
95879587 \verb+\lower1pt\hbox{xyz}+ に対応するノードである.
95889588 \item また,先頭にアクセント付きの文字がきたり,末尾にイタリック補正用のカーンが
95899589 来ることもあり得る.この場合は,クラスタの定義のところにもあったように,それらは無視して算出を行う.
9590+\item 最初・最後のノードが「文字コード\texttt{'boxbdd'}の文字」との間に入るJFMグルーという場合も,
9591+ これらは無視して算出を行う.
9592+ % TODO: 欧文フォント由来のカーニング
95909593 \item 最初・最後のノードが合字によって作られた\textit{glyph\_node}のときは,それぞれに対して\textit{id\_glyph}%
95919594 と同様に再帰的に構成要素をたどっていく.
95929595 \end{itemize}
--- a/src/ltj-jfmglue.lua
+++ b/src/ltj-jfmglue.lua
@@ -191,7 +191,8 @@ local function check_box(box_ptr, box_end)
191191 end
192192 if pid==id_kern then
193193 local pa = get_attr_icflag(p)
194- if pa==IC_PROCESSED then
194+ if (pa==IC_PROCESSED)or(pa==BOXBDD) then
195+ --if (pa==IC_PROCESSED)or(pa==BOXBDD)or(getsubtype(p)==0) then
195196 -- do nothing
196197 elseif getsubtype(p)==2 then
197198 p = node_next(node_next(p));
@@ -221,7 +222,8 @@ local function check_box(box_ptr, box_end)
221222 first_char = p; find_first_char = false
222223 end
223224 last_char = p; found_visible_node = true
224- elseif pid==id_rule and get_attr_icflag(p)==PACKED then
225+ elseif (pid==id_rule and get_attr_icflag(p)==PACKED)
226+ or (pid==id_glue and get_attr_icflag(p)==BOXBDD) then
225227 -- do nothing
226228 elseif not (pid==id_ins or pid==id_mark
227229 or pid==id_adjust or pid==id_whatsit
旧リポジトリブラウザで表示