summaryrefslogtreecommitdiff
path: root/Build
diff options
context:
space:
mode:
Diffstat (limited to 'Build')
-rw-r--r--Build/source/texk/web2c/pdftexdir/ChangeLog4
-rw-r--r--Build/source/texk/web2c/pdftexdir/pdftex.ch105
2 files changed, 62 insertions, 47 deletions
diff --git a/Build/source/texk/web2c/pdftexdir/ChangeLog b/Build/source/texk/web2c/pdftexdir/ChangeLog
index fdbf1e7eaee..336ea3c92cb 100644
--- a/Build/source/texk/web2c/pdftexdir/ChangeLog
+++ b/Build/source/texk/web2c/pdftexdir/ChangeLog
@@ -1,3 +1,7 @@
+2020-08-03 Andreas Scherer <https://ascherer.github.io>
+
+ * pdftex.ch: Move pdfTeX variants of MLTeX code next to originals.
+
2020-07-22 Akira Kakuto <kakuto@w32tex.org>
* pdftex.web, writeimg.c: Show unfound file names in
fatal error messages.
diff --git a/Build/source/texk/web2c/pdftexdir/pdftex.ch b/Build/source/texk/web2c/pdftexdir/pdftex.ch
index d7e036c2d79..02346f324ac 100644
--- a/Build/source/texk/web2c/pdftexdir/pdftex.ch
+++ b/Build/source/texk/web2c/pdftexdir/pdftex.ch
@@ -145,53 +145,6 @@ label reswitch, move_past, fin_rule, next_p, found, continue;
continue:
@z
-@x
-@ The |pdf_vlist_out| routine is similar to |pdf_hlist_out|, but a bit simpler.
-@y
-@ @<(\pdfTeX) Output a substitution, |goto continue| if not possible@>=
- begin
- @<Get substitution information, check it, goto |found|
- if all is ok, otherwise goto |continue|@>;
-found: @<Print character substitution tracing log@>;
- @<(\pdfTeX) Rebuild character using substitution information@>;
- end
-
-@ @<(\pdfTeX) Rebuild character using substitution information@>=
- base_x_height:=x_height(f);
- base_slant:=slant(f)/float_constant(65536);
-@^real division@>
- accent_slant:=base_slant; {slant of accent character font}
- base_width:=char_width(f)(ib_c);
- base_height:=char_height(f)(height_depth(ib_c));
- accent_width:=char_width(f)(ia_c);
- accent_height:=char_height(f)(height_depth(ia_c));
- @/{compute necessary horizontal shift (don't forget slant)}@/
- delta:=round((base_width-accent_width)/float_constant(2)+
- base_height*base_slant-base_x_height*accent_slant);
-@^real multiplication@>
-@^real addition@>
- @/{1. For centering/horizontal shifting insert a kern node.}@/
- cur_h:=cur_h+delta;
- @/{2. Then insert the accent character possibly shifted up or down.}@/
- if ((base_height<>base_x_height) and (accent_height>0)) then
- begin {the accent must be shifted up or down}
- cur_v:=base_line+(base_x_height-base_height);
- output_one_char(accent_c);
- cur_v:=base_line;
- end
- else begin
- output_one_char(accent_c);
- end;
- cur_h:=cur_h+accent_width;
- @/{3. For centering/horizontal shifting insert another kern node.}@/
- cur_h:=cur_h+(-accent_width-delta);
- @/{4. Output the base character.}@/
- output_one_char(base_c);
- cur_h:=cur_h+base_width;
-
-@ The |pdf_vlist_out| routine is similar to |pdf_hlist_out|, but a bit simpler.
-@z
-
@x [49.1259]
begin if s>0 then
begin if s=font_size[f] then goto common_ending;
@@ -455,3 +408,61 @@ replacement, but always existing character |font_bc[f]|.
function effective_char(@!err_p:boolean;
@z
+@x
+@ The global variables for the code to substitute a virtual character
+@y
+@ \pdfTeX's |pdf_hlist_out| uses a similar, but slightly modified code
+section of the (almost) same name.
+
+@<(\pdfTeX) Output a substitution, |goto continue| if not possible@>=
+ begin
+ @<Get substitution information, check it, goto |found|
+ if all is ok, otherwise goto |continue|@>;
+found: @<Print character substitution tracing log@>;
+ @<(\pdfTeX) Rebuild character using substitution information@>;
+ end
+
+@ The global variables for the code to substitute a virtual character
+@z
+
+@x
+@ Dumping ML\TeX-related material. This is just the flag in the
+@y
+@ \pdfTeX's |pdf_hlist_out| uses a similar, but slightly modified code
+section of the (almost) same name.
+
+@<(\pdfTeX) Rebuild character using substitution information@>=
+ base_x_height:=x_height(f);
+ base_slant:=slant(f)/float_constant(65536);
+@^real division@>
+ accent_slant:=base_slant; {slant of accent character font}
+ base_width:=char_width(f)(ib_c);
+ base_height:=char_height(f)(height_depth(ib_c));
+ accent_width:=char_width(f)(ia_c);
+ accent_height:=char_height(f)(height_depth(ia_c));
+ @/{compute necessary horizontal shift (don't forget slant)}@/
+ delta:=round((base_width-accent_width)/float_constant(2)+
+ base_height*base_slant-base_x_height*accent_slant);
+@^real multiplication@>
+@^real addition@>
+ @/{1. For centering/horizontal shifting insert a kern node.}@/
+ cur_h:=cur_h+delta;
+ @/{2. Then insert the accent character possibly shifted up or down.}@/
+ if ((base_height<>base_x_height) and (accent_height>0)) then
+ begin {the accent must be shifted up or down}
+ cur_v:=base_line+(base_x_height-base_height);
+ output_one_char(accent_c);
+ cur_v:=base_line;
+ end
+ else begin
+ output_one_char(accent_c);
+ end;
+ cur_h:=cur_h+accent_width;
+ @/{3. For centering/horizontal shifting insert another kern node.}@/
+ cur_h:=cur_h+(-accent_width-delta);
+ @/{4. Output the base character.}@/
+ output_one_char(base_c);
+ cur_h:=cur_h+base_width;
+
+@ Dumping ML\TeX-related material. This is just the flag in the
+@z