ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
From: Hans Hagen <pragma@wxs.nl>
To: ntg-context@ntg.nl
Subject: Re: "fake" space for better reflow
Date: Wed, 30 Nov 2016 22:18:21 +0100	[thread overview]
Message-ID: <6af48897-22e8-cea7-4c45-c42eae85c6ad@wxs.nl> (raw)
In-Reply-To: <13brzj3asikey$.dlg@nililand.de>

On 11/30/2016 5:58 PM, Ulrike Fischer wrote:
> Am Wed, 30 Nov 2016 12:45:17 +0100 schrieb Hans Hagen:
>
>> On 11/30/2016 10:09 AM, Ulrike Fischer wrote:
>>> If I compile a small document
>>>
>>> \starttext
>>> \input knuth
>>>
>>> \stoptext
>>>
>>>
>>> and then use in the adobe reader "view->zoom->reflow" I get as
>>> result
>>>
>>> Thus,Icametotheconclusionthatthedesignerofanewsystemmustnotonlybetheimplementerandfirstlarge--scaleuser;thedesignershoulda
>
>> Cut and paste goes well so I think it's a bug in acrobat then.
>
> I'm not sure. Imho cut and paste use an heurisitic more or less
> based on the size of the space (there are quite a number of
> questions on tex.SX where the heuristic fails, e.g. in code
> listings), while reflow seems to need glyphs. The speech of Ross
> Moore on TUG14 seems to indicate that \pdfinterwordspaceon was
> introduced in pdftex to get around this problem.
>
> http://river-valley.zeeba.tv/%E2%80%9Cfake-spaces%E2%80%9D-with-pdftex%E2%80%94best-of-both-worlds/

I assume that it just runs over the resulting list and replaces skips by 
spaces. One cannot in an earlier stage use spaces instead of skips 
simply because tex has a glue based model.

So, one can kick in some callback (before shipout) and  replace glue by 
space characters.

>>> I know it is due to the missing space glyph. With pdflatex I would
>>> try to use \pdfinterwordspaceon but this primitive never found its
>>> way into luatex. Is there any solution? (One that could be
>>> translated to lualatex would be best).
>
>> One can write a filter that does it before shipout. Typically a case for
>> callbacks.
>
> Well the main question is, what is the "does it" in this case.
> pdftex inserts a space from a dummy.pdf. One use the fake space more
> or less like this:
>
> \pdfinterwordspaceon
> \pdfmapline{=dummy-space <dummy-space.pfb}
> \pdfglyphtounicode{space}{0020}
> XXX YYY
> \bye

Well, just insert char 32 which is in most fonts ... (could even be a 
virtual char). We will not introduce such mechanisms in luatex, after 
all a macro package can decide for other criteria.

> But this doesn't sound like the correct way to go in a unicode/open
> type world.
>
> (I'm also not quite if shipout is the correct time. Imho one would
> probably avoid to add spaces e.g. in math).

One can recognize math. If context can do it (when a user enables it) 
... any macro package can ...

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
-----------------------------------------------------------------
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki     : http://contextgarden.net
___________________________________________________________________________________

      reply	other threads:[~2016-11-30 21:18 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-11-30  9:09 Ulrike Fischer
2016-11-30 11:45 ` Hans Hagen
2016-11-30 16:58   ` Ulrike Fischer
2016-11-30 21:18     ` Hans Hagen [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=6af48897-22e8-cea7-4c45-c42eae85c6ad@wxs.nl \
    --to=pragma@wxs.nl \
    --cc=ntg-context@ntg.nl \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).