[NTG-pdftex] [ pdftex-Feature Requests-385 ] \pdfnoligatures should leave kerning intact

noreply at sarovar.org noreply at sarovar.org
Tue Jul 25 00:14:48 CEST 2006


Feature Requests item #385, was opened at 2005-07-10 17:38
You can respond by visiting: 
http://sarovar.org/tracker/?func=detail&atid=496&aid=385&group_id=106

Category: None
Group: None
>Status: Closed
>Resolution: Postponed
Priority: 5
Submitted By: Robert (schlcht)
>Assigned to: Taco Hoekwater (taco)
Summary: \pdfnoligatures should leave kerning intact

Initial Comment:
% The new \ptexnoligatures primitive will break the
% horizontal positioning of \mathaccents if the base
% character is slanted.
% There is no problem with \accent, nor with \mathaccent
% on upright characters:

$\dot{A} \dot{\rm{A}} \dot{\Delta} \dot{\mit\Delta}$
{\tenit \accent'137 A}

\ptexnoligatures\tenit % OK
\ptexnoligatures\textfont0 % = cmr10, \rm  % OK
\ptexnoligatures\textfont1 % = cmmi10, \mit % breaks shift

$\dot{A} \dot{\rm{A}} \dot{\Delta} \dot{\mit\Delta}$
{\tenit \accent'137 A}

\bye,
Robert


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

>Comment By: Martin Schröder (oneiros)
Date: 2006-07-25 00:14

Message:
Logged In: YES 
user_id=421

I think further effort on this is wasted, as
\ptexnoligatures will be reimplemented with OpenType fonts
anyway, i.e. in the near future. So we should just document
the current behaviour and carry on.

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

Comment By: Taco Hoekwater (taco)
Date: 2006-02-20 17:50

Message:
Logged In: YES 
user_id=1608

Maybe we should just document the weird behaviour then and
keep the thing marked experimental? 

I do not have lots of time to spend on this hack right now, 
nor do I want to, since everything I do now will have to be 
thrown out again for version 1.50.

The change file that is attached to this feature item can 
then be ignored, except for that one line that  re-enables 
\tagcode.



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

Comment By: Bernd Raichle (bernd)
Date: 2006-02-20 17:32

Message:
Logged In: YES 
user_id=3344

Looking at Taco's change file, it should be possible to
break his "non-vmode fix" by inserting
\vbox{\pdfnoligatures\font} or \vadjust{\pdfligatures\font}
in hmode.

A final fix is to reimplement this \pdfnoligatures
primitive: Either do not only change the |tag| field in the
char_info for all font glyphs, but remove the ligs from the
lig/kern program.  Or save the information that no ligature
should be constructed within the hlist (using a special node
to start and end the nolig part similar to the setlanguage
whatsit nodes or by adding the nolig flag to the character
nodes).

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

Comment By: Robert (schlcht)
Date: 2006-02-20 16:40

Message:
Logged In: YES 
user_id=2217

Ah, I didn't realize it had such confusing effects. However,
I still believe that disallowing it in non-vmode is too
restrictive.

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

Comment By: Taco Hoekwater (taco)
Date: 2006-02-20 09:56

Message:
Logged In: YES 
user_id=1608

But it is not global for the current paragraph, it is 
only applied to words that are looked at for hyphenation.
Try this test, and have a close look at the first and third
word of the paragraph. There are even stranger possibilities
when \language is taken into account.

\font\tst=cmr10
\hsize=2in
\noindent \tst efficiency efficiency \hbox{efficiency}
\pdfnoligatures\tst efficiency efficiency efficiency
\bye


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

Comment By: Robert (schlcht)
Date: 2006-02-19 19:19

Message:
Logged In: YES 
user_id=2217

In my opinion, this latest patch is too restrictive. It
should be sufficient to document \pdfnoligatures as one of
those commands whose scope is global to the current
paragraph (and the rest of the document), just like setting,
say, \hyphenpenalty or \hsize in the middle of a paragraph
affects the complete paragraph. The current behaviour is
also consistent with that of the hz-related stuff: \rpcode
and friends have a retroactive effect, too. (Besides, the
patch would break microtype.sty, which sets up the fonts as
they are being loaded, which would happen in horizontal
mode, mostly... ;-)

PS. If it was for me, this feature request could be closed;
I totally accept the "known limitation".


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

Comment By: Taco Hoekwater (taco)
Date: 2006-02-15 10:58

Message:
Logged In: YES 
user_id=1608

The attached patch disallows \pdfnoligatures and \tagcode in 
non-vmodes, and restores the assignment functionality of  
\tagcode (that was an unrelated bug in 1.40-beta)



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

Comment By: Taco Hoekwater (taco)
Date: 2006-02-15 10:17

Message:
Logged In: YES 
user_id=1608

We can disallow the primitive in non-vertical mode. Makes sense.

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

Comment By: Bernd Raichle (bernd)
Date: 2006-02-15 10:10

Message:
Logged In: YES 
user_id=3344

Another limitation which should be documented:

If \ptexnoligatures<font> is applied within a paragraph, the
ligs and kerns created and inserted before this command are
removed depending if a hyphenation pass is necessary to
justify the paragraph.

\ptexnoligatures<font> has the _global_ side effect to
suppress all ligs and kerns of the font which are created
_afterwards in time_.  TeX breaks the lines of a paragraph
at the end of the paragraph.  If hyphenation has to be
applied, ligs are remapped to single chars, (implicit) kerns
are removed ... and reconstituted afterwards using the font
information valid at this (later) time.  If the font info is
changed in between, which is true if \ptexnoligatures<font>
is applied, already inserted ligs and kerns are removed.

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

Comment By: Martin Schröder (oneiros)
Date: 2005-07-12 22:23

Message:
Logged In: YES 
user_id=421

Changing this into a feature request.

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

Comment By: Taco Hoekwater (taco)
Date: 2005-07-10 18:50

Message:
Logged In: YES 
user_id=1608

This is because it (\ptexnoligatures) also disables the
kerning information for the font. You'll have to accept that
as a "known limitation" for now.




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

You can respond by visiting: 
http://sarovar.org/tracker/?func=detail&atid=496&aid=385&group_id=106


More information about the ntg-pdftex mailing list