Hello,
feeling adventurous, I tried to typeset a document of mine
using the LuaTeX beta 0.10.1. The document makes use of the
HZ features of pdfTeX. I remembered a message from Taco (from
02 Mar 2007, to be precise), that HZ should work again, so
I decided to give it a try.
The resulting PDF is interesting. Fonts are switched seemingly
at random, text overlaps and runs into the margin (even though
there are no overfull boxes). Very artistic ;-)
I created a Plain-based minimum example to test only font expansion,
not protrusion. Then I discovered some weird behaviour when typesetting
paragraphs, even when not using font expansion:
------------------------------------- CUT
---------------------------------
\pdfoutput1
% Without the next two lines, the fonts are ok. With only the first
% or only the second line, the fonts are ok as well. With both lines,
% most of the time \tentt is used, even when \tenrm is set
%
% Perhaps one expanded font overwrites the other?
\pdffontexpand\tenrm 30 10 10 autoexpand\relax
\pdffontexpand\tentt 30 10 10 autoexpand\relax
% Does not matter if this is 1 or 2:
\pdfadjustspacing2
\baselineskip13.6pt
\tenrm
% In the following text, the fonts are quite messed up:
Hello {\tentt world} with Lua\TeX. Hello {\tentt world} with Lua\TeX.
Hello {\tentt world} with Lua\TeX. Hello {\tentt world} with Lua\TeX.
Hello {\tentt world} with Lua\TeX. Hello {\tentt world} with Lua\TeX.
Hello {\tentt world} with Lua\TeX. Hello {\tentt world} with Lua\TeX.
% The following text is typeset in a narrow column and cut off at the
% left. This also happens when font expansion is turned off (but not
% in pdfTeX 1.40.3).
This is just {\tentt test}. Just a {\tentt test}. Nothing more than a
{\tentt test}. Just a {\tentt test}. Nothing more than a {\tentt
test}. Just a {\tentt test}. Nothing more than a {\tentt test}. Just a
{\tentt test}. Nothing more than a {\tentt test}. Just a {\tentt
test}. Nothing more than a {\tentt test}. Just a {\tentt test}.
Nothing more than a {\tentt test}.
% The following text is typeset in a narrow column as well:
This is just test. Just a test. Nothing more than a test. Just a test.
Nothing more than a test. Just a test. Nothing more than a test. Just
a test. Nothing more than a test. Just a test. Nothing more than a
test. Just a test. Nothing more than a test.
% The following *was* typeset across the whole page, until I added
% the `-- not' et cetera:
Some more text, just to check if the weird typesetting of the last
paragraph can be repeated. Still, it would be strange if not. But it
looks like -- not, at least if the paragraph is short. If it is
longer, the text is typeset incorrectly.
% The following is typeset across the whole page, just like it should
% be:
But only if the paragraph is a little bit longer, a few lines.
\bye
------------------------------------- CUT
---------------------------------
The corresponding log file:
------------------------------------- CUT
---------------------------------
This is luaTeX, Version 3.141592-beta-0.10.1-2007071919 (Web2C 7.5.6)
(format=luatex 2007.8.4) 7 AUG 2007 20:25
**FontExpandTest
(FontExpandTest.tex
pdfTeX warning (font expansion): font should be expanded before its
first use
pdfTeX warning (font expansion): font should be expanded before its
first use
Overfull \hbox (11721.41785pt too wide) in paragraph at lines 26--32
[][]\tentt (-10) This is just test. Just|
\hbox(6.94444+1.94444)x469.75499, glue set - 1.0, direction TLT
.\whatsit
..\localinterlinepenalty=0
..\localbrokenpenalty=0
..\localleftbox=null
..\localrightbox=null
.\hbox(0.0+0.0)x20.0, direction TLT
.\tentt (-10) T
.\tentt (-10) h
.\tentt (-10) i
.etc.
Overfull \hbox (11665.12921pt too wide) in paragraph at lines 26--32
\tentt (-10) a test. Noth-|
\hbox(6.94444+0.0)x469.75499, glue set - 1.0, direction TLT
.\tentt (-10) a
.\glue 3.33333 plus 1.66666 minus 1.11111
.\tentt (-10) t
.\tentt (-10) e
.\tentt (-10) s
.etc.
Overfull \hbox (11721.52206pt too wide) in paragraph at lines 26--32
\tentt (-10) ing more than a test. Just|
\hbox(6.94444+1.94444)x469.75499, glue set - 1.0, direction TLT
.\tentt (-10) i
.\tentt (-10) n
.\tentt (-10) g
.\glue 3.33333 plus 1.66666 minus 1.11111
.\tentt (-10) m
.etc.
Overfull \hbox (11665.12921pt too wide) in paragraph at lines 26--32
\tentt (-10) a test. Noth-|
\hbox(6.94444+0.0)x469.75499, glue set - 1.0, direction TLT
.\tentt (-10) a
.\glue 3.33333 plus 1.66666 minus 1.11111
.\tentt (-10) t
.\tentt (-10) e
.\tentt (-10) s
.etc.
Overfull \hbox (11721.52206pt too wide) in paragraph at lines 26--32
\tentt (-10) ing more than a test. Just|
\hbox(6.94444+1.94444)x469.75499, glue set - 1.0, direction TLT
.\tentt (-10) i
.\tentt (-10) n
.\tentt (-10) g
.\glue 3.33333 plus 1.66666 minus 1.11111
.\tentt (-10) m
.etc.
Overfull \hbox (11665.12921pt too wide) in paragraph at lines 26--32
\tentt (-10) a test. Noth-|
\hbox(6.94444+0.0)x469.75499, glue set - 1.0, direction TLT
.\tentt (-10) a
.\glue 3.33333 plus 1.66666 minus 1.11111
.\tentt (-10) t
.\tentt (-10) e
.\tentt (-10) s
.etc.
Overfull \hbox (11721.52206pt too wide) in paragraph at lines 26--32
\tentt (-10) ing more than a test. Just|
\hbox(6.94444+1.94444)x469.75499, glue set - 1.0, direction TLT
.\tentt (-10) i
.\tentt (-10) n
.\tentt (-10) g
.\glue 3.33333 plus 1.66666 minus 1.11111
.\tentt (-10) m
.etc.
Overfull \hbox (11665.12921pt too wide) in paragraph at lines 26--32
\tentt (-10) a test. Noth-|
\hbox(6.94444+0.0)x469.75499, glue set - 1.0, direction TLT
.\tentt (-10) a
.\glue 3.33333 plus 1.66666 minus 1.11111
.\tentt (-10) t
.\tentt (-10) e
.\tentt (-10) s
.etc.
Overfull \hbox (11721.52206pt too wide) in paragraph at lines 26--32
\tentt (-10) ing more than a test. Just|
\hbox(6.94444+1.94444)x469.75499, glue set - 1.0, direction TLT
.\tentt (-10) i
.\tentt (-10) n
.\tentt (-10) g
.\glue 3.33333 plus 1.66666 minus 1.11111
.\tentt (-10) m
.etc.
Overfull \hbox (11665.12921pt too wide) in paragraph at lines 26--32
\tentt (-10) a test. Noth-|
\hbox(6.94444+0.0)x469.75499, glue set - 1.0, direction TLT
.\tentt (-10) a
.\glue 3.33333 plus 1.66666 minus 1.11111
.\tentt (-10) t
.\tentt (-10) e
.\tentt (-10) s
.etc.
Overfull \hbox (11721.52206pt too wide) in paragraph at lines 26--32
\tentt (-10) ing more than a test. Just|
\hbox(6.94444+1.94444)x469.75499, glue set - 1.0, direction TLT
.\tentt (-10) i
.\tentt (-10) n
.\tentt (-10) g
.\glue 3.33333 plus 1.66666 minus 1.11111
.\tentt (-10) m
.etc.
Overfull \hbox (11665.12921pt too wide) in paragraph at lines 26--32
\tentt (-10) a test. Noth-|
\hbox(6.94444+0.0)x469.75499, glue set - 1.0, direction TLT
.\tentt (-10) a
.\glue 3.33333 plus 1.66666 minus 1.11111
.\tentt (-10) t
.\tentt (-10) e
.\tentt (-10) s
.etc.
Overfull \hbox (11721.41785pt too wide) in paragraph at lines 34--38
[][]\tenrm This is just test. Just|
\hbox(6.94444+1.94444)x469.75499, glue set - 1.0, direction TLT
.\whatsit
..\localinterlinepenalty=0
..\localbrokenpenalty=0
..\localleftbox=null
..\localrightbox=null
.\hbox(0.0+0.0)x20.0, direction TLT
.\tenrm T
.\tenrm h
.\tenrm i
.etc.
Overfull \hbox (11665.12921pt too wide) in paragraph at lines 34--38
\tenrm a test. Noth-|
\hbox(6.94444+0.0)x469.75499, glue set - 1.0, direction TLT
.\tenrm a
.\glue 3.33333 plus 1.66666 minus 1.11111
.\tenrm t
.\tenrm e
.\tenrm s
.etc.
Overfull \hbox (11721.52206pt too wide) in paragraph at lines 34--38
\tenrm ing more than a test. Just|
\hbox(6.94444+1.94444)x469.75499, glue set - 1.0, direction TLT
.\tenrm i
.\tenrm n
.\tenrm g
.\glue 3.33333 plus 1.66666 minus 1.11111
.\tenrm m
.etc.
Overfull \hbox (11665.12921pt too wide) in paragraph at lines 34--38
\tenrm a test. Noth-|
\hbox(6.94444+0.0)x469.75499, glue set - 1.0, direction TLT
.\tenrm a
.\glue 3.33333 plus 1.66666 minus 1.11111
.\tenrm t
.\tenrm e
.\tenrm s
.etc.
Overfull \hbox (11721.52206pt too wide) in paragraph at lines 34--38
\tenrm ing more than a test. Just|
\hbox(6.94444+1.94444)x469.75499, glue set - 1.0, direction TLT
.\tenrm i
.\tenrm n
.\tenrm g
.\glue 3.33333 plus 1.66666 minus 1.11111
.\tenrm m
.etc.
Overfull \hbox (11665.12921pt too wide) in paragraph at lines 34--38
\tenrm a test. Noth-|
\hbox(6.94444+0.0)x469.75499, glue set - 1.0, direction TLT
.\tenrm a
.\glue 3.33333 plus 1.66666 minus 1.11111
.\tenrm t
.\tenrm e
.\tenrm s
.etc.
Overfull \hbox (11721.52206pt too wide) in paragraph at lines 34--38
\tenrm ing more than a test. Just|
\hbox(6.94444+1.94444)x469.75499, glue set - 1.0, direction TLT
.\tenrm i
.\tenrm n
.\tenrm g
.\glue 3.33333 plus 1.66666 minus 1.11111
.\tenrm m
.etc.
Overfull \hbox (11665.12921pt too wide) in paragraph at lines 34--38
\tenrm a test. Noth-|
\hbox(6.94444+0.0)x469.75499, glue set - 1.0, direction TLT
.\tenrm a
.\glue 3.33333 plus 1.66666 minus 1.11111
.\tenrm t
.\tenrm e
.\tenrm s
.etc.
Overfull \hbox (11721.52206pt too wide) in paragraph at lines 34--38
\tenrm ing more than a test. Just|
\hbox(6.94444+1.94444)x469.75499, glue set - 1.0, direction TLT
.\tenrm i
.\tenrm n
.\tenrm g
.\glue 3.33333 plus 1.66666 minus 1.11111
.\tenrm m
.etc.
Overfull \hbox (11665.12921pt too wide) in paragraph at lines 34--38
\tenrm a test. Noth-|
\hbox(6.94444+0.0)x469.75499, glue set - 1.0, direction TLT
.\tenrm a
.\glue 3.33333 plus 1.66666 minus 1.11111
.\tenrm t
.\tenrm e
.\tenrm s
.etc.
Overfull \hbox (11721.52206pt too wide) in paragraph at lines 34--38
\tenrm ing more than a test. Just|
\hbox(6.94444+1.94444)x469.75499, glue set - 1.0, direction TLT
.\tenrm i
.\tenrm n
.\tenrm g
.\glue 3.33333 plus 1.66666 minus 1.11111
.\tenrm m
.etc.
Overfull \hbox (11665.12921pt too wide) in paragraph at lines 34--38
\tenrm a test. Noth-|
\hbox(6.94444+0.0)x469.75499, glue set - 1.0, direction TLT
.\tenrm a
.\glue 3.33333 plus 1.66666 minus 1.11111
.\tenrm t
.\tenrm e
.\tenrm s
.etc.
Overfull \hbox (11764.4705pt too wide) in paragraph at lines 41--45
\tenrm Still, it would be strange if not. But|
\hbox(6.94444+1.94444)x469.75499, glue set - 1.0, direction TLT
.\tenrm S
.\tenrm t
.\tenrm i
.\tenrm l
.\tenrm l
.etc.
Overfull \hbox (11840.61475pt too wide) in paragraph at lines 41--45
\tenrm it looks like -- not, at least if the para-graph is short. If|
\hbox(6.94444+1.94444)x469.75499, glue set - 1.0, direction TLT
.\tenrm i
.\tenrm t
.\glue 3.33333 plus 1.66666 minus 1.11111
.\tenrm l
.\tenrm o
.etc.
[1{/usr/local/teTeX/share/texmf.local/fonts/map/pdftex/updmap/pdftex.map
}] )</u
sr/local/teTeX/share/texmf.tetex/fonts/type1/bluesky/cm/cmr10.pfb></usr/
local/t
eTeX/share/texmf.tetex/fonts/type1/bluesky/cm/cmtt10.pfb>
Output written on FontExpandTest.pdf (1 page, 20604 bytes).
PDF statistics:
14 PDF objects out of 1000 (max. 8388607)
0 named destinations out of 1000 (max. 131072)
4097 words of extra memory for PDF output out of 10000 (max. 10000000)
------------------------------------- CUT
---------------------------------
I have attached the resulting pdf.
As HZ works when only a single font is expanded, I have the impression
that when expanding the second font, data structures used by the first
font are overwritten.
Also, the warnings about expansion are a little bit strange. After all,
the fonts are not used before expansion is enabled.
BTW: Would it be possible to output the name of the font in question?
Then of course, there are all those overfull boxes and the narrow lines
which are cut off at the left.
Or did I make some terrible mistake I am too blind to see?
Jonathan