On Tue, 30 Jan 2007, 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.
Very nice. Now, I do not need to look up old mails to figure out how to manipulate sometxt. I have one example where \sometxt[...]{...} is useful. If you are interested, I can send it to you. 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. \definetextext[font] is just a dummy. It should work with other things also. You can get rid of the dummy by checking in redodofiltersometxt if #1 is has a comma or not. Would that extra overhead be useful of gnuplot? Hans, is there a reason for not defining dodofiltersometxt as \long\def\dodofiltersometxt#1#2% #3 {\ifx#2\empty \else \increment\txtcounter \TeXtext\txtcounter{#1}% \expandafter\filtersometxt \fi#2}% #3 whih will be a bit faster. Aditya