diff --git a/texk/web2c/eptexdir/eptex.ech b/texk/web2c/eptexdir/eptex.ech index 3cf8116..07d81b8 100644 --- a/texk/web2c/eptexdir/eptex.ech +++ b/texk/web2c/eptexdir/eptex.ech @@ -111,6 +111,10 @@ if not is_char_node(tx) then @# @d find_effective_tail==find_effective_tail_epTeX @# +@d find_last_char== +if font_dir[font(tx)]<>dir_default then cur_val:=KANJI(info(link(tx))) +else cur_val:=qo(character(tx)) + @d ignore_font_kerning== begin if ((type(tx)=glue_node) and (subtype(tx)=jfm_skip+1)) or ((type(tx)=penalty_node) and (subtype(tx)=kinsoku_pena)) then @@ -131,8 +135,7 @@ if not is_char_node(tx) then cur_val:=qo(character(r)); end end -else if font_dir[font(tx)]<>dir_default then cur_val:=KANJI(info(link(tx))) -else cur_val:=qo(character(tx)); +else find_last_char; end @z @@ -151,9 +154,13 @@ end begin cur_val_level:=int_val; cur_val:=-1; end else cur_val_level:=cur_chr; - if (cur_chr=last_node_char_code)and(is_char_node(tx))and(tx<>head) then - begin if font_dir[font(tx)]<>dir_default then cur_val:=KANJI(info(link(tx))) - else cur_val:=qo(character(tx)); end; + if (cur_chr=last_node_char_code)and(is_char_node(tx))and(tx<>head) then + { |tx| might be ``second node'' of a KANJI character; so we need to look the node before |tx| } + begin r:=head; q:=head; + while q<>tx do begin r:=q; q:=link(q); end; { |r| is the node just before |tx| } + if (r<>head)and is_char_node(r) then if font_dir[font(r)]<>dir_default then tx:=r; + find_last_char; + end; @z @x [26.424] e-pTeX: node types diff --git a/texk/web2c/euptexdir/euptex.ch1 b/texk/web2c/euptexdir/euptex.ch1 index 14550ad..0745836 100644 --- a/texk/web2c/euptexdir/euptex.ch1 +++ b/texk/web2c/euptexdir/euptex.ch1 @@ -7,16 +7,9 @@ @z @x -else if font_dir[font(tx)]<>dir_default then cur_val:=KANJI(info(link(tx))) +if font_dir[font(tx)]<>dir_default then cur_val:=KANJI(info(link(tx))) @y -else if font_dir[font(tx)]<>dir_default then cur_val:=KANJI(info(link(tx))) mod max_cjk_val -@z - -@x - begin if font_dir[font(tx)]<>dir_default then cur_val:=KANJI(info(link(tx))) -@y - begin if font_dir[font(tx)]<>dir_default then cur_val:=KANJI(info(link(tx))) mod max_cjk_val - {it seems that |mod max_cjk_val| is not necessary in the above line, but why?} +if font_dir[font(tx)]<>dir_default then cur_val:=KANJI(info(link(tx))) mod max_cjk_val @z @x e-pTeX: ifcsname l.28620