Re: [pretest] regression in pdftex

Karl Berry <[email protected]>
Newsgroups gmane.comp.tex.live
Message-ID <[email protected]>
Hi Christian (and Thanh and all),

    Here's the log and the (uncompressed) PDF.

Thanks for the report.

For engine reports, FYI, it's always easier if a plain (or, even better
ini) TeX example can be constructed, to take LaTeX or other macros out
of the loop.

In this case, happily (sort of), a minimal hello,world document also
shows the problem of every character being placed on its own:

    \pdfcompresslevel=0 \pdfobjcompresslevel=0
    \font\x = cmr10 \x Lorem
    \end

And the output shows, like your document, every character being placed
on its own:

.. [(L)]TJ 6.227 0 Td [(o)]TJ 4.981 0 Td [(r)]TJ 3.902 0 Td [(e)]TJ ...

I surmise this is related to Thanh's earlier bug fix (r77326, diff below):

    2026-01-10  Thanh Han The  <[email protected]>

            * pdftex.web (pdf_begin_string): must_set_text_pos if doing
            pdf_begin_text. Report from Ulrike Fischer, 29 Sep 2025 13:14:49.

Because I don't think anything else has been committed that changes
anything in this area.

Evidently pdf_doing_text is not true while doing text. Or something like
that. Thanh? --thanks, karl.

-----------------------------------------------------------------------------

--- pdftex.web	(revision 77325)
+++ pdftex.web	(revision 77326)
@@ -16237,8 +16237,10 @@
     must_insert_space := false;
     must_end_string := false;
 
-    if not pdf_doing_text then
+    if not pdf_doing_text then begin
         pdf_begin_text;
+        must_set_text_pos := true;
+    end;
 
     {delay font switch if we must insert interword space}
     if (not gen_faked_interword_space and pdf_f <> f)
@@ -16275,10 +16277,12 @@
         v_out := 0;
     end;
 
-    must_set_text_pos := (v <> 0)
-        or (abs(s) >= @'100000)
-        or (get_font_auto_expand_ratio(f) <> pdf_cur_Tm_a)
-        or get_font_auto_expand_ratio(f) <> get_font_auto_expand_ratio(pdf_f);
+    if not must_set_text_pos then begin
+      must_set_text_pos := (v <> 0)
+          or (abs(s) >= @'100000)
+          or (get_font_auto_expand_ratio(f) <> pdf_cur_Tm_a)
+          or get_font_auto_expand_ratio(f) <> get_font_auto_expand_ratio(pdf_f);
+    end;
 
     if must_set_text_pos then begin
         must_end_string := true;
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.