[NTG-pdftex] [ pdftex-Feature Requests-743 ] Fake beginning/end of line for protrusion

noreply at sarovar.org noreply at sarovar.org
Tue Mar 6 18:21:32 CET 2007

Feature Requests item #743, was opened at 2007-03-06 02:20
You can respond by visiting: 

Category: HZ
Group: v1.50
Status: Open
Resolution: Accepted
Priority: 5
Submitted By: Robert (schlcht)
Assigned to: The Thanh Han (hanthethanh)
Summary: Fake beginning/end of line for protrusion

Initial Comment:
Although the situation with missing protrusion has
certainly improved, there are still a lot of cases
where characters will not be protruded (e.g. with
indented paragraphs, at the beginning of list items, or
of table cells).
So I think it would be useful to have some commands
that make pdftex believe that it is at the beginning or
end of a line (e.g. \protchar{left,right}). So that you
could for instance say:
 \item\protcharleft ``...


>Comment By: Robert (schlcht)
Date: 2007-03-06 17:21

Logged In: YES 

Maybe new (whatsit) nodes that can be caught in

microtype is quite good in translating characters into slots
(\MT at get@slot), but not really good enough to always allow
natural input, e.g., ligatures and things like "` (German
babel) won't be recognised.
So my current workaround is:

   \global\setbox0=\vsplit0 to \baselineskip
   \unvbox0 \global\setbox0=\lastbox}%

But this doesn't always work, e.g. in tabulars. Ligatures
and other stuff still have to be enclosed in braces.


Comment By: Taco Hoekwater (taco)
Date: 2007-03-06 08:00

Logged In: YES 

I will be experimenting with Aleph's \localleftbox somewhere
next month, that may be a starting point. But it is 
unlikely that any command based on that will be able to
influence line breaking.


Comment By: The Thanh Han (hanthethanh)
Date: 2007-03-06 07:52

Logged In: YES 

yes it makes sense. I am not sure whether \protcharleft
could be implemented as macro: one can fetch the next char,
get the lpcode and do a corresponding kern. However I don't
know how to convert a character to its charcode to fetch the
relevant lpcode. Another problem is that if the next char is
part of a ligature (as in your example), it doesn't work.
Looks like a primitive is needed. Does anyone have a
suggestion how it could be implemented?


You can respond by visiting: 

More information about the ntg-pdftex mailing list