diff options
author | Hironobu Yamashita <h.y.acetaminophen@gmail.com> | 2022-01-22 17:03:22 +0000 |
---|---|---|
committer | Hironobu Yamashita <h.y.acetaminophen@gmail.com> | 2022-01-22 17:03:22 +0000 |
commit | 76e833603f3eb350549d8b472d5b0c1ebae21713 (patch) | |
tree | 0adce490f86927e7a81a2f05330b9590bf80663d /Build/source/texk/web2c/euptexdir/pdfstrcmp-eup-post.ch | |
parent | 87e77a4b4b35459b0bc1aa06f48f2cf0db19ae9e (diff) |
[e][u]ptex: Distinguish 8-bit characters and Japanese characters (H. Kitagawa et al.)
For better support of LaTeX3 (expl3).
More details in TUGboat 41(2):329--334, 2020.
git-svn-id: svn://tug.org/texlive/trunk@61692 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/texk/web2c/euptexdir/pdfstrcmp-eup-post.ch')
-rw-r--r-- | Build/source/texk/web2c/euptexdir/pdfstrcmp-eup-post.ch | 26 |
1 files changed, 12 insertions, 14 deletions
diff --git a/Build/source/texk/web2c/euptexdir/pdfstrcmp-eup-post.ch b/Build/source/texk/web2c/euptexdir/pdfstrcmp-eup-post.ch index 10becd15815..8c2a909e95a 100644 --- a/Build/source/texk/web2c/euptexdir/pdfstrcmp-eup-post.ch +++ b/Build/source/texk/web2c/euptexdir/pdfstrcmp-eup-post.ch @@ -17,11 +17,9 @@ @z @x - check_kcat_code(cc) then - begin if (cc=not_cjk) then cc:=other_kchar; + if (cc=not_cjk) then cc:=other_kchar; @y - ((cat>=kanji)or check_kcat_code(cc)) then - begin if cat>=kanji then cc:=cat else if (cc=not_cjk) then cc:=other_kchar; + if cat>=kanji then cc:=cat else if (cc=not_cjk) then cc:=other_kchar; @z @x @@ -97,15 +95,15 @@ Ucharcat_convert_code: @x procedure print_kanji(@!s:integer); {prints a single character} begin -if s>255 then begin +if s>@"FF then begin if isprint_utf8 then begin s:=UCStoUTF8(toUCS(s)); - if BYTE1(s)<>0 then print_char(BYTE1(s)); - if BYTE2(s)<>0 then print_char(BYTE2(s)); - if BYTE3(s)<>0 then print_char(BYTE3(s)); - print_char(BYTE4(s)); + if BYTE1(s)<>0 then print_char(@"100+BYTE1(s)); + if BYTE2(s)<>0 then print_char(@"100+BYTE2(s)); + if BYTE3(s)<>0 then print_char(@"100+BYTE3(s)); + print_char(@"100+BYTE4(s)); end - else begin print_char(Hi(s)); print_char(Lo(s)); end; + else begin print_char(@"100+Hi(s)); print_char(@"100+Lo(s)); end; end else print_char(s); end; @@ -114,9 +112,9 @@ procedure print_kanji(@!s:KANJI_code); {prints a single character} begin if isprint_utf8 then s:=UCStoUTF8(toUCS(s mod max_cjk_val)) else s:=toBUFF(s mod max_cjk_val); -if BYTE1(s)<>0 then print_char(BYTE1(s)); -if BYTE2(s)<>0 then print_char(BYTE2(s)); -if BYTE3(s)<>0 then print_char(BYTE3(s)); - print_char(BYTE4(s)); +if BYTE1(s)<>0 then print_char(@"100+BYTE1(s)); +if BYTE2(s)<>0 then print_char(@"100+BYTE2(s)); +if BYTE3(s)<>0 then print_char(@"100+BYTE3(s)); + print_char(@"100+BYTE4(s)); end; @z |