Re: [NTG-pdftex] [tex-live] \pdffontattr in pdftex-1.40.0-rc4
![](https://secure.gravatar.com/avatar/1058c5aefa3802978e05193b3eb09fac.jpg?s=120&d=mm&r=g)
Hi, sorry for the late response. The patch by Hartmut should solve the problem. to Hartmut:
pdfTeX warning (\pdffontattr): font \^^@ has conflicting attributes is this a nullfont? how does one get it?
this font has been loaded from a virtual font, hence it
doesn't get any control sequence.
I made another patch, which is more or less the same as what
Hartmut did, plus some changes to make the warning more
meaningful. Don't be afraid by the length of the patch, it
just turns the module @
On Thu, 28 Dec 2006, Hartmut Henkel wrote:
On Wed, 27 Dec 2006, Reinhard Kotucha wrote:
I'm trying to run the vntex testfiles with the current pdftex release recently uploaded to the TeXLive repository by Martin.
Can anybody tell me what the warnings mean?
pdfTeX warning (\pdffontattr): font \^^@ has conflicting attributes
is this a nullfont? how does one get it?
in the intended cases it means, that it was tried to add two different font attributes to the same font dictionary. But here is a case where this happens even without:
\pdfcompresslevel=0 \nopagenumbers \font\aa cmr10 at 10pt \pdffontattr\aa {foo} \aa abc \font\bb cmr10 at 11pt %\pdffontattr\bb {bar} \bb abc \bye
Both TeX fonts refer to the same font dictionary. So there is only one font, and this gets the attribute "foo".
I get a lot of these messages. The (pdf) output seems to be ok.
The above source creates the right PDF. Maybe we need to get rid of the warning here.
Here is the try of a patch, which also shows what happens with the above file. Reinhard, does it remove the warnings in your case?
--- pdftex.web.orig 2006-12-21 17:19:20.000000000 +0100 +++ pdftex.web 2006-12-28 06:07:11.771455920 +0100 @@ -19341,6 +19341,8 @@ pdf_mark_char(i, j); if (length(pdf_font_attr[i]) = 0) and (length(pdf_font_attr[k]) <> 0) then pdf_font_attr[i] := pdf_font_attr[k]; + if (length(pdf_font_attr[k]) = 0) and (length(pdf_font_attr[i]) <> 0) then + pdf_font_attr[k] := pdf_font_attr[i]; if not ((pdf_font_attr[i] = pdf_font_attr[k]) or str_eq_str(pdf_font_attr[i], pdf_font_attr[k])) then begin pdf_warning("\pdffontattr", "font ", false, false);
An alternative (more complicated) might be that one keeps font dictionaries separate when the user wants different attributes. No idea what the typical use of these attributes is.
Regards, Hartmut
![](https://secure.gravatar.com/avatar/c1389d0584ea3ced1cff3450a93f7372.jpg?s=120&d=mm&r=g)
"Thanh" == Thanh Han The
writes:
I made another patch, which is more or less the same as what Hartmut did, plus some changes to make the warning more meaningful. Don't be afraid by the length of the patch, it just turns the module @
to a function named print_font_identifier() so it can be called with different parameters.
Hi, this patch works for me too. Many thanks. Martin, it is probably easier to keep things in sync if you apply the patch yourself and upload the patched sources to the TeXLive repository. The patch contains very long lines, 3 of them had been broken by one of the mail programs involved. That's not a problem but I'll attach it again as a gzipped file though. So you don't have to dig around in old mails. Regards, Reinhard -- ---------------------------------------------------------------------------- Reinhard Kotucha Phone: +49-511-4592165 Marschnerstr. 25 D-30167 Hannover mailto:reinhard.kotucha@web.de ---------------------------------------------------------------------------- Microsoft isn't the answer. Microsoft is the question, and the answer is NO. ----------------------------------------------------------------------------
participants (2)
-
Reinhard Kotucha
-
Thanh Han The