diff options
author | Karl Berry <karl@freefriends.org> | 2020-07-19 15:42:51 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2020-07-19 15:42:51 +0000 |
commit | ef76eb4ac1bfe43d21a34b25e97d8fbc40088831 (patch) | |
tree | 90b9f6a123daf5262e2ce4c50883f3694c28ff2a /Build/source/texk/web2c/eptexdir | |
parent | 4d745399c80cdfb4dd055c93ac9f063ede8087c1 (diff) |
\tracinglostchars>=3 now causes an error; missing character code always reported in hex
git-svn-id: svn://tug.org/texlive/trunk@55874 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/texk/web2c/eptexdir')
-rw-r--r-- | Build/source/texk/web2c/eptexdir/ChangeLog | 5 | ||||
-rw-r--r-- | Build/source/texk/web2c/eptexdir/am/eptex.am | 4 | ||||
-rw-r--r-- | Build/source/texk/web2c/eptexdir/char-warning-eptex.ch | 63 |
3 files changed, 71 insertions, 1 deletions
diff --git a/Build/source/texk/web2c/eptexdir/ChangeLog b/Build/source/texk/web2c/eptexdir/ChangeLog index 58f0987ff03..ddb5dc477df 100644 --- a/Build/source/texk/web2c/eptexdir/ChangeLog +++ b/Build/source/texk/web2c/eptexdir/ChangeLog @@ -1,3 +1,8 @@ +2020-07-19 Karl Berry <karl@freefriends.org> + + * char-warning-eptex.ch: new file (see ../pdftexdir/ChangeLog). + * am/eptex.am (eptex_ch_srcs): add it. + 2020-05-05 Hironori Kitagawa <h_kitagawa2001@yahoo.co.jp> * pdfutils.ch: Sync with inhibit_glue_flag improvement. diff --git a/Build/source/texk/web2c/eptexdir/am/eptex.am b/Build/source/texk/web2c/eptexdir/am/eptex.am index 0bb060024bd..596d7a42d7e 100644 --- a/Build/source/texk/web2c/eptexdir/am/eptex.am +++ b/Build/source/texk/web2c/eptexdir/am/eptex.am @@ -1,6 +1,7 @@ +## $Id$ ## texk/web2c/eptexdir/am/eptex.am: Makefile fragment for e-pTeX. ## -## Copyright 2015-2019 Karl Berry <tex-live@tug.org> +## Copyright 2015-2020 Karl Berry <tex-live@tug.org> ## Copyright 2011-2015 Peter Breitenlohner <tex-live@tug.org> ## You may freely use, modify and/or distribute this file. @@ -68,6 +69,7 @@ eptex_ch_srcs = \ $(eptex_ch_synctex) \ eptexdir/fam256.ch \ eptexdir/pdfutils.ch \ + eptexdir/char-warning-eptex.ch \ tex-binpool.ch EXTRA_DIST += $(eptex_web_srcs) $(eptex_ch_srcs) eptexdir/eptex.defines diff --git a/Build/source/texk/web2c/eptexdir/char-warning-eptex.ch b/Build/source/texk/web2c/eptexdir/char-warning-eptex.ch new file mode 100644 index 00000000000..f6593ad1e9d --- /dev/null +++ b/Build/source/texk/web2c/eptexdir/char-warning-eptex.ch @@ -0,0 +1,63 @@ +% $Id$ +% Public domain. See ../pdftexdir/char-warning-pdftex.ch for info. + +@x [30] If \tracinglostchars > 2, then promote full errors. +@p procedure char_warning(@!f:internal_font_number;@!c:eight_bits); +var @!l:0..255; {small indices or counters} +old_setting: integer; {saved value of |tracing_online|} +begin if tracing_lost_chars>0 then + begin old_setting:=tracing_online; + if eTeX_ex and(tracing_lost_chars>1) then tracing_online:=1; + begin begin_diagnostic; + print_nl("Missing character: There is no "); +@.Missing character@> + if (c<" ")or(c>"~") then + begin print_char("^"); print_char("^"); + if c<64 then print_char(c+64) + else if c<128 then print_char(c-64) + else begin print_lc_hex(c div 16); print_lc_hex(c mod 16); end + end + else print_ASCII(c); + print(" in font "); + slow_print(font_name[f]); print_char("!"); end_diagnostic(false); + end; + tracing_online:=old_setting; + end; +end; +@y +@p procedure char_warning(@!f:internal_font_number;@!c:eight_bits); +var @!l:0..255; {small indices or counters} +old_setting: integer; {saved value of |tracing_online|} +begin if tracing_lost_chars>0 then + begin old_setting:=tracing_online; + if eTeX_ex and(tracing_lost_chars>1) then tracing_online:=1; + if tracing_lost_chars > 2 then + print_err("Missing character: There is no ") + else begin + begin_diagnostic; + print_nl("Missing character: There is no ") + end; +@.Missing character@> + if (c<" ")or(c>"~") then begin + print_char("^"); print_char("^"); + if c<64 then print_char(c+64) + else if c<128 then print_char(c-64) + else begin print_lc_hex(c div 16); print_lc_hex(c mod 16); end + end + else print_ASCII(c); + if tracing_lost_chars > 2 then begin + print(" ("); + print_hex(c); + print(")"); + end; + print(" in font "); + slow_print(font_name[f]); + if tracing_lost_chars < 3 then print_char("!"); + tracing_online:=old_setting; + if tracing_lost_chars > 2 then begin + help0; + error; + end else end_diagnostic(false); + end; {of |tracing_lost_chars>0|} +end; {of procedure} +@z |