On 7/6/2017 5:46 PM, Robert wrote:
On 06.07.17 14:02, Hans Hagen wrote:
On 7/6/2017 1:37 AM, Robert wrote:

Firstly, the manual says:

| When \adjustspacing has value 2, hz optimization will be applied to
| glyphs and kerns. When the value is 3, only glyphs will be treated.
| A value smaller than 2 disables this feature.

However, what I see is:
  * a difference between \adjustspacing=0 and \adjustspacing=1,
  * a difference between \adjustspacing=1 and \adjustspacing=2,
  * no difference between \adjustspacing=2 and \adjustspacing=3
(regardless of whether the font is expanded with \expandglyphsinfont
or via the luaotfload interface).

kerns are normally quite small so you will not really notice it and it
being a backend related property the log will not report expansion factors

I'm aware that all things microtype are "quite small", so I don't trust my eyes but look into the log file. And there I find for example a kern of -0.56 between "v" and "a" regardless of whether \adjustspacing is set to 2 or 3. Or are you suggesting that the reported kern of -0.56 isn't actually a kern of -0.56? Still, even with ridiculously large expansion limits (500 500), I don't see any difference whatsoever. And the uncompressed pdf is also 100% the same (which would reveal a difference of 0.01bp).

Indeed the expansion is not reported. The kern value is unchanged but there is an additional kern (factor) traveling with the kern node which will be dealt with in the backend.

If you see no difference in the pdf file, then there is an issue inm the macros or font related code.

Anyway, I can only speak for context, so what I observe is not what you observe (others have to check that).

in your font definition below you don't enable kerns anyway (unless
luaotfload does that automatically for you)

Yes, luaotfload enables kerns by default.

So it seems that the former "compatibility" level 1 (same line breaks
as without expansion), which according to the manual should no longer
exist, still does; while the new level 3 does not (all the kerns are
the same as for level 2). Could somebody explain this?

0: nothing
1: glyphs and kerns  (only stretch/shrink)
2: glyphs and kerns  (also in par builder)
3: glyphs            (also in par builder)

So the compatibility level 1 still exists. This is not mentioned in the manual. Level 3 continues to escape me.

Level 1 is rather useless .. (it was part of experiments when pdftex evolved) and by not mentioning it we hope that it will not be used (we might remove all traces some day). Level 3 makes sense in some cases (and is also handy for testing).

So, in your case: just stick to level 2.

Secondly, I wonder about the status of the "autoexpand" qualifier to
\expandglyphsinfont. AFAICT it is silently ignored, and fonts are
always autoexpanded. Is this correct? Or would it still be possible to
use pre-expanded font instances (say, from a MM font)?

it all depends on what magic you rmacro package does ... the \expand..
command works when no expansion has been set yet, otherwise you need to
pass values (and it depends in your case what 'default' does)
 When I test the adjustments here it looks ok (it works).

Sorry, I don't understand what you're saying. It's not about my macro package or any magic. What I meant is that in pdftex, there is a difference between

| \pdffontexpand\font 20 20 5 autoexpand

and

| \pdffontexpand\font 20 20 5

The latter requires pre-generated expanded font instances, which are then used and embedded in the pdf.
With luatex, however, there is no difference between

| \expandglyphsinfont 20 20 5 autoexpand

and

| \expandglyphsinfont 20 20 5

Because we don't have pre-generated (copies of) fonts at all, the implementation in luatex is using factors stored with the glyphs (so there is no need for copies of fonts cq. faked copies) and in the backend a different model of scaling fonts is used, so it's unlikely that expansion in pdftex generates the same streams as in luatex.

(In pdftex a complication is that fonts are shared by the engine which makes expansion also shared which in turn can have surprising effects and that's why some copying mechanism was needed. In luatex each font is unique.)

Existing expanded font instances are ignored, and only the base font is embedded in the pdf. Expansion seems to be calculated mechanically and linearly instead of taking into account the width axis of a Multiple Master font.
There is no support for multiple masters which is obsolete technology and (recently) has been cq. is being replaced by variable fonts.

Hans

-----------------------------------------------------------------
                                          Hans Hagen | PRAGMA ADE
              Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
       tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
-----------------------------------------------------------------

Reply via email to