Offset MP text with font change
Hi, why is the second line right-aligned in the following example? \definetextext [foo] [#1]#2{\switchtobodyfont[#1]#2} \starttext \dorecurse{5}{ \startMPcode draw \sometxt[foo][sans]{FooBar}; \stopMPcode \startMPcode draw \sometxt[foo][iwona]{FooBar}; \stopMPcode} \stoptext Marco
Am 28.04.2013 um 19:56 schrieb Marco Patzer
Hi,
why is the second line right-aligned in the following example?
The first you use the iwona font in your document context has to load the typescript for it from a external files which produces a lot of spaces in the text. When you load the font at the begin of the document with \usetypescriptfile[iwona] \usetypescript[iwona] this doesn’t happen anymore. Wolfgang
On 2013–04–28 Wolfgang Schuster wrote:
Am 28.04.2013 um 19:56 schrieb Marco Patzer
: Hi,
why is the second line right-aligned in the following example?
The first you use the iwona font in your document context has to load the typescript for it from a external files which produces a lot of spaces in the text.
Thanks Wolfgang. It's obvious when you think about it, but still unexpected. Here's a more minimal example: \usetypescriptfile[iwona] \starttext \hbox{before \usetypescript[iwona] after} \stoptext Marco
Am 28.04.2013 um 20:37 schrieb Marco Patzer
On 2013–04–28 Wolfgang Schuster wrote:
Am 28.04.2013 um 19:56 schrieb Marco Patzer
: Hi,
why is the second line right-aligned in the following example?
The first you use the iwona font in your document context has to load the typescript for it from a external files which produces a lot of spaces in the text.
Thanks Wolfgang. It's obvious when you think about it, but still unexpected. Here's a more minimal example:
\usetypescriptfile[iwona] \starttext \hbox{before \usetypescript[iwona] after} \stoptext
The problem the same as here: \starttext \ruledhbox{ \def\test{} A} \stoptext Wolfgang
Hi All,
can someone explain to me why loading a file/typescript is producing spaces????
If the code that does load the file/s produced spaces for debugging purposes that is
fine, but should not they actually going somewhere else? Then with a decent message!?
Personally, I find it a bug if loading fonts or other files produces extraneous characters!
regards
Keith.
Am 28.04.2013 um 20:04 schrieb Wolfgang Schuster
Am 28.04.2013 um 19:56 schrieb Marco Patzer
: Hi,
why is the second line right-aligned in the following example?
The first you use the iwona font in your document context has to load the typescript for it from a external files which produces a lot of spaces in the text. When you load the font at the begin of the document with
\usetypescriptfile[iwona] \usetypescript[iwona]
this doesn’t happen anymore.
On 2013–04–28 Keith J. Schultz wrote:
can someone explain to me why loading a file/typescript is producing spaces????
The typescripts themselves are full of spaces and new lines. And you really want those spaces for readability. TeX usually squashes multiple spaces into one, but spaces still matter in many circumstances, e.g. within an \hbox.
If the code that does load the file/s produced spaces for debugging purposes that is fine, but should not they actually going somewhere else?
There's no code that produces spaces. The spaces are in the typescript file.
Personally, I find it a bug if loading fonts or other files produces extraneous characters!
This is usually not a problem, since typescripts are loaded in the setup area. Even when loaded within the text area the spaces don't cause problems. Loading an entire file within a box, like I did in the example, is an unusual edge-case and there's a simple workaround, see Wolfgangs answer. Except if there's an easy fix for that, I'm personally fine knowing where the spaces are coming from and how to prevent them, which I do now. Marco
On 4/28/2013 10:03 PM, Marco Patzer wrote:
This is usually not a problem, since typescripts are loaded in the setup area. Even when loaded within the text area the spaces don't cause problems. Loading an entire file within a box, like I did in the example, is an unusual edge-case and there's a simple workaround, see Wolfgangs answer.
normally it only matters in hmode when you \usetypescriptfile[iwona] outside the macro the definitions get preloaded in memory ; in fact, each typescript eventually gets cached typescripts are loaded under a newline restricted regime but that doesn't always prevent spaces creeping in (like those before comments) \definetextext [foo] [#1]#2{\switchtobodyfont[#1]\removeunwantedspaces#2} and moving all to lua is no option now (although ... in antykwapoltawskiego.lfg one can see how such a thing can be done) Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | voip: 087 875 68 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------
Hi Marco, All,
agreed you can avoid the spaces by putting the usetypescript in the "preamble",
but should not the loading of a typescript not bleed any spaces!
regards
Keith.
Am 28.04.2013 um 22:03 schrieb Marco Patzer
On 2013–04–28 Keith J. Schultz wrote:
can someone explain to me why loading a file/typescript is producing spaces????
The typescripts themselves are full of spaces and new lines. And you really want those spaces for readability. TeX usually squashes multiple spaces into one, but spaces still matter in many circumstances, e.g. within an \hbox.
If the code that does load the file/s produced spaces for debugging purposes that is fine, but should not they actually going somewhere else?
There's no code that produces spaces. The spaces are in the typescript file.
Personally, I find it a bug if loading fonts or other files produces extraneous characters!
This is usually not a problem, since typescripts are loaded in the setup area. Even when loaded within the text area the spaces don't cause problems. Loading an entire file within a box, like I did in the example, is an unusual edge-case and there's a simple workaround, see Wolfgangs answer.
Except if there's an easy fix for that, I'm personally fine knowing where the spaces are coming from and how to prevent them, which I do now.
On 4/29/2013 12:42 AM, Keith J. Schultz wrote:
Hi Marco, All,
agreed you can avoid the spaces by putting the usetypescript in the "preamble", but should not the loading of a typescript not bleed any spaces!
it's not the typescript that has the space but the file ... a typescript file can have more than typescripts like definitions, documentation, etc. In the past, one *always* had to load a typescript file explicitly but at some point - out of convenience - the \setupbodyfont mechanism has been extended to automatically load a typescriptfile with the same name as the requested bodyfont. So, it's the price paid for convenience. And, in most cases a bodyfont is not initialized in a \hbox.
regards Keith.
Am 28.04.2013 um 22:03 schrieb Marco Patzer
: On 2013–04–28 Keith J. Schultz wrote:
can someone explain to me why loading a file/typescript is producing spaces????
The typescripts themselves are full of spaces and new lines. And you really want those spaces for readability. TeX usually squashes multiple spaces into one, but spaces still matter in many circumstances, e.g. within an \hbox.
If the code that does load the file/s produced spaces for debugging purposes that is fine, but should not they actually going somewhere else?
There's no code that produces spaces. The spaces are in the typescript file.
Personally, I find it a bug if loading fonts or other files produces extraneous characters!
This is usually not a problem, since typescripts are loaded in the setup area. Even when loaded within the text area the spaces don't cause problems. Loading an entire file within a box, like I did in the example, is an unusual edge-case and there's a simple workaround, see Wolfgangs answer.
Except if there's an easy fix for that, I'm personally fine knowing where the spaces are coming from and how to prevent them, which I do now.
___________________________________________________________________________________ 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://tex.aanhet.net archive : http://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___________________________________________________________________________________
-- ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | voip: 087 875 68 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------
participants (4)
-
Hans Hagen
-
Keith J. Schultz
-
Marco Patzer
-
Wolfgang Schuster