blob: 4772d29494bf241cb6ebd081ebc520e82eb14cbf (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
% $Id$
% Public domain (from David Jones, tex-implementors 30jun2020).
% Unfortunately this cannot be in pdftex.ch since the ordering
% of changes gets messed up.
%
% If \tracinglostchars >= 3, then making missing characters from a font
% be an error, not just a log message, and always report the character
% code in hex as well as a character.
%
% Simple example test:
% pdftex -ini
% \font\x=/usr/local/texlive/2020/texmf-dist/fonts/tfm/public/knuth-lib/logo10.tfm
% \tracinglostchars=3 \x \char99\end
% should get:
% ! Missing character: There is no c ("63) in font logo10.
@x [30] If \tracinglostchars > 2, then promote to full error.
@p procedure char_warning(@!f:internal_font_number;@!c:eight_bits);
var 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@>
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 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@>
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
|