Hi,

Hans Hagen wrote:
> Peter Rolf wrote:
> 
>> Sorry to bother you Hans, but the macro is not working as expected...
>>
>> I can see the cropped text (\underbar + special symbols) and there is an
>> hyphen symbol in the text only example.
>>
>> I've added the example code I used for tests with \limitatetext and
>> \doboundtext.
>>  
>>
> \def\limitatefirstline#1#2#3%
>  {\hbox\bgroup\strut
>   \setbox\scratchbox\hbox{#1}%
>   \ifdim\wd\scratchbox>#2\relax
>     \setbox\scratchbox\hbox{#3}%
>     \hsize#2\relax
>     \advance\hsize-\wd\scratchbox
>     \setbox\scratchbox\vbox{\forgetall\veryraggedright#1}%
>     \setbox\scratchbox\vsplit\scratchbox to \lineheight
>     \vbox
>       {\unvbox\scratchbox
>        \global\setbox\plusone\lastbox
>        \global\setbox\plusone\hbox{\unhbox\plusone}}%
^^^^

>     \box\plusone\removeunwantedspaces#3%
>   \else
>     #1%
>   \fi
>   \egroup}
> 
> of course there must be something to break (not possible with the non
> letters, so there you either need to add \hskip0pt's or do real clipping
> Hans

So it fails in any case of nonbreakable text.

How about adding a failsafe test ala

\ifdim\dimexpr\wd\plusone+\wd of sentinel\relax>#2\relax
  \clip[width=\wd\plusone,...]{...#1...}\removeunwantedspaced#3%
\else
  \box\plusone\removeunwantedspaces#3%
\fi

One (ugly looking) partial character is still better than a bunch of
characters, that cross the width border.

I have played around with \clip, but it acts a little wild (vertical
position and height). Can't subdue it myself...

Greetings,

Peter
_______________________________________________
ntg-context mailing list
ntg-context@ntg.nl
http://www.ntg.nl/mailman/listinfo/ntg-context

Reply via email to