diff options
-rw-r--r-- | Build/source/texk/web2c/ptexdir/ChangeLog | 4 | ||||
-rw-r--r-- | Build/source/texk/web2c/ptexdir/ptex-base.ch | 14 | ||||
-rw-r--r-- | Build/source/texk/web2c/uptexdir/ChangeLog | 7 | ||||
-rw-r--r-- | Build/source/texk/web2c/uptexdir/uptex-m.ch | 9 |
4 files changed, 27 insertions, 7 deletions
diff --git a/Build/source/texk/web2c/ptexdir/ChangeLog b/Build/source/texk/web2c/ptexdir/ChangeLog index 4f3594655fb..05efba0dc5b 100644 --- a/Build/source/texk/web2c/ptexdir/ChangeLog +++ b/Build/source/texk/web2c/ptexdir/ChangeLog @@ -1,3 +1,7 @@ +2022-12-12 Hironori Kitagawa <h_kitagawa2001@yahoo.co.jp> + + * ptex-base.ch: Increase INHIBIT/KINSOKU table size to 1024. + 2022-12-03 TANAKA Takuji <ttk@t-lab.opal.ne.jp> am/ptex.am: diff --git a/Build/source/texk/web2c/ptexdir/ptex-base.ch b/Build/source/texk/web2c/ptexdir/ptex-base.ch index c655ad497be..c3fae5cedc0 100644 --- a/Build/source/texk/web2c/ptexdir/ptex-base.ch +++ b/Build/source/texk/web2c/ptexdir/ptex-base.ch @@ -1280,8 +1280,8 @@ primitive("xkanjiskip",assign_glue,glue_base+xkanji_skip_code);@/ {table of 256 command codes for the wchar's catcodes } @d auto_xsp_code_base=kcat_code_base+256 {table of 256 auto spacer flag} @d inhibit_xsp_code_base=auto_xsp_code_base+256 -@d kinsoku_base=inhibit_xsp_code_base+256 {table of 256 kinsoku mappings} -@d kansuji_base=kinsoku_base+256 {table of 10 kansuji mappings} +@d kinsoku_base=inhibit_xsp_code_base+1024 {table of 1024 kinsoku mappings} +@d kansuji_base=kinsoku_base+1024 {table of 10 kansuji mappings} @d lc_code_base=kansuji_base+10 {table of 256 lowercase mappings} @z @@ -7228,7 +7228,7 @@ inserting a space between 2byte-char and 1byte-char. @d inhibit_after=2 {disable to insert space after 2byte-char} @d inhibit_none=3 {enable to insert space before/after 2byte-char} @d inhibit_unused=4 {unused entry} -@d no_entry=1000 +@d no_entry=10000 @d new_pos=0 @d cur_pos=1 @@ -7260,7 +7260,7 @@ if n=new_pos then begin if pp<>no_entry then p:=pp; goto done; end; if inhibit_xsp_type(p)=inhibit_unused then if pp=no_entry then pp:=p; { save the nearest unused hash } - incr(p); if p>255 then p:=0; + incr(p); if p>1023 then p:=0; until s=p; p:=pp; end @@ -7268,7 +7268,7 @@ else begin repeat if inhibit_xsp_code(p)=0 then goto done1; if inhibit_xsp_code(p)=c then goto done; - incr(p); if p>255 then p:=0; + incr(p); if p>1023 then p:=0; until s=p; done1: p:=no_entry; end; @@ -7343,7 +7343,7 @@ if n=new_pos then begin if pp<>no_entry then p:=pp; goto done; end; if kinsoku_type(p)=kinsoku_unused_code then if pp=no_entry then pp:=p; { save the nearest unused hash } - incr(p); if p>255 then p:=0; + incr(p); if p>1023 then p:=0; until s=p; p:=pp; end @@ -7351,7 +7351,7 @@ else begin repeat if kinsoku_type(p)=0 then goto done1; if kinsoku_code(p)=c then goto done; - incr(p); if p>255 then p:=0; + incr(p); if p>1023 then p:=0; until s=p; done1: p:=no_entry; end; diff --git a/Build/source/texk/web2c/uptexdir/ChangeLog b/Build/source/texk/web2c/uptexdir/ChangeLog index c0f7760e55b..103ecd91921 100644 --- a/Build/source/texk/web2c/uptexdir/ChangeLog +++ b/Build/source/texk/web2c/uptexdir/ChangeLog @@ -1,3 +1,10 @@ +2022-12-12 Hironori Kitagawa <h_kitagawa2001@yahoo.co.jp> + + * uptex—m.ch: Fix a bug that \inhibitxspcode after Japanese + character was ineffective due to lack of mod max_cjk_val. + See comments on 2022-12-11. + https://github.com/texjporg/tex-jp-build/issues/32 + 2022-12-09 Hironori Kitagawa <h_kitagawa2001@yahoo.co.jp> * uptex-m.ch: Add kcatcode to a character which is made diff --git a/Build/source/texk/web2c/uptexdir/uptex-m.ch b/Build/source/texk/web2c/uptexdir/uptex-m.ch index 446e238fb5a..a4bd63dff99 100644 --- a/Build/source/texk/web2c/uptexdir/uptex-m.ch +++ b/Build/source/texk/web2c/uptexdir/uptex-m.ch @@ -1178,6 +1178,15 @@ else if font_dir[font(first_char)]<>dir_default then @z @x +else if font_dir[font(last_char)]<>dir_default then + begin insert_skip:=after_wchar; KANJI(cx):=info(link(last_char)); +@y +else if font_dir[font(last_char)]<>dir_default then + begin insert_skip:=after_wchar; + KANJI(cx):=info(link(last_char)) mod max_cjk_val; +@z + +@x begin if is_char_node(link(p)) then begin q:=p; p:=link(p); if font_dir[font(p)]<>dir_default then |