Re: [dev-context] new MyWay about \sometxt

2007-02-08 Thread Mojca Miklavec
On 1/30/07, Aditya Mahajan wrote:
 I thought a bit about your feature request, and it is not too
 difficult to implement it. Here is a patch that allows you to use
 \sometext[font][iwona,20pt]{...}. Careful of spurious linebreaks.

 %===

 \long\def\redofiltersometxt[#1]%
 {\doifnextcharelse[{\reredofiltersometxt[#1]}{\redodofiltersometxt[#1]}}

 \long\def\redodofiltersometxt[#1]#2%
{\increment\txtcounter
 \TeXtext[#1]\txtcounter{#2}%
 \filtersometxt}

 \long\def\reredofiltersometxt[#1][#2]#3%
{\increment\txtcounter
 \TeXtext[#1]\txtcounter{\switchtobodyfont[#2]\strut#3}%
 \filtersometxt}

 \definetextext[font]{\donothing}

 \usetypescript[iwona][texnansi]

 \starttext
 \startMPcode
draw fullcircle xyscaled (3cm,2cm);
label(\sometxt{Hello world!}, origin);
 \stopMPcode

 % Does not cause any harm.
 \startMPcode
draw fullcircle xyscaled (3cm,2cm);
label(\sometxt[font]{Hello world!}, origin);
 \stopMPcode

 \startMPcode
draw fullcircle xyscaled (3cm,2cm);
label(\sometxt[font][iwona,20pt]{Hello world!}, origin);
 \stopMPcode

 \stoptext

 %===

 I haven't tested it, but I do not think that this should cause any
 problems with existing code.

If gnuplot doesn't fail with it, it probably means that it works OK ;)

Helvetica seems to work OK here:
 http://dl.contextgarden.net/misc/gnuplot-context.zip

(Usually I get dozens of error messages when applying something new,
at least memory limit exceeded if everything else happens to work by
accident ;)

The most funny part was when practiacally all the labels were missing
on one plot before I figured out that
\setupbodyfont[somefont,14pt]
\switchtobodyfont[some other font]
doesn't work at all without defining bodyfontenvironment.

Thank you very much again! The .tex file is still in its pre-alpha
state, but at least I was able to finalize the terminal with a clean
syntax ;)

 Would that extra overhead be useful of gnuplot?

yes ... once I manage to convince the developers that the difference
between these two plots might be relevant enough to justify an
additional driver:
 http://gnuplot.sourceforge.net/demo_4.1/enhancedtext.html
 http://dl.contextgarden.net/misc/enhancedtext.pdf

(I hope that Patrick will not be reading this before I manage to
remove the files again ;)

Mojca
___
dev-context mailing list
dev-context@ntg.nl
http://www.ntg.nl/mailman/listinfo/dev-context


Re: [dev-context] new MyWay about \sometxt

2007-01-30 Thread Hans Hagen
Mojca Miklavec wrote:
 Hello,

 instead of checking the problems with MyWay about database module, I
 created another unfinished piece about \sometxt (as promised already
 long ago):

 http://dl.contextgarden.net/myway/sometxt.pdf

 \sometxt{...} should be used instead of textext(...) in metafun
 graphics whenever possible, since it's much more efficient. An average
 user shouldn't care about much more than that. The MyWay is devoted to
 the curious ones. I hope that I included all the major ideas which
 Hans implemented in Summer/Autumn 2006 on my request. Although not all
 of them are documented well enough, I tried to mention them at least.
   
the textext stuff is from far before 2006 -)

you say that's been buggy but that not really the case ... the problem 
is that we are dealing with a quite complex situation which has to be 
dealt with outside tex

- we need to recognize textext in order to force a tex run inside mp  
(inbetween mp in texexec)
- we need to make sure that env's get passed
- we need to make sure that no extra runs take place when nothing has 
changed

etc. Combine this with users either or not having write 18 enabled and 
one gets a mess. The basic principles are rather simple.

The 'prefered-by-you' method is fast because mp never sees the text. The 
text is typeste in the current run and saved in a box. Mp only gets the 
dimensions and typets a reference in a monospace font (which then ends 
up in a string) the mp to pdf converter can recognize this label (text), 
and recalculate from that (+ the box dimensions) how things should be 
scaled. This mechanism is a spin of from experiments with piping data 
into mp (luatex exp long ago).

So, the other mechanism is rather robust because mp never sees any real 
complex text. This is also why things like color, graphics etc work well.
 1.) wouldn't it make sense to use
  \chardef\TeXtextcolormode\zerocount
 as the default value? I don't see any advantages of setting it to
 one (but I might have overseen something). Can you please take a
   
you oversee my local truckload of files that assume that behaviour and 
compatibility is what i want
 look at page 4 of the above listed MyWay and tell me if I forgot
 something?

 2.) Why does \textext still rely on its older brother textext(...),
 when it could be a synonym for \sometxt{...} instead? I really don't
 see any advantage of \textext{...} over \sometxt{...}. \textext{...}
 canonot be used for concatenating strings or creating dynamic labels
 either. It's just a picture, just as \sometxt ... And it would
 probably also be more straightforward to explain to metafun users that
 textext(...) should now be \textext{...} instead of trying to
 explain them that it's best to use some completely new command.
   
dunno ... history ... don't change if you don't have too ... one never 
knows what surprised lurk .. users do tricky things so things may break ...
   
Hans

-- 

-
  Hans Hagen | PRAGMA ADE
  Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
 tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com
 | www.pragma-pod.nl
-

___
dev-context mailing list
dev-context@ntg.nl
http://www.ntg.nl/mailman/listinfo/dev-context