ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
From: Henri Menke <henrimenke@gmail.com>
To: ntg-context@ntg.nl
Subject: Re: textext with plain MetaFun
Date: Mon, 21 Jan 2019 22:47:38 +1300	[thread overview]
Message-ID: <4440874a-7c8f-3f02-447f-2cc09562fcf2@gmail.com> (raw)
In-Reply-To: <CAG5iGsBzi+S-=bAShWsoJYcBRZ1jZ=dxaqXkpDg4SYVZA9zyqQ@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 954 bytes --]

On 1/21/19 10:40 PM, luigi scarso wrote:
> On Mon, Jan 21, 2019 at 8:57 AM Henri Menke <henrimenke@gmail.com> wrote:
> 
>> Dear list,
>>
>> When I process the short MetaFun example
>>
>>     beginfig(1)
>>     draw textext("MetaFun") ;
>>     endfig;
>>     end
>>
>> with plain MetaFun, i.e.
>>
>>     mpost '&metafun' test.mp
>>
>>
>  what does
> $> mpost -mem=metafun '\relax; tracingall; input test.mp;'
> say ?

Log is attached.

> 
> 
> ___________________________________________________________________________________
> 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
> ___________________________________________________________________________________
> 


[-- Attachment #2: test.log --]
[-- Type: text/x-log, Size: 9577 bytes --]

This is MetaPost, version 2.00 (TeX Live 2018) (kpathsea version 6.3.0)  21 JAN 2019 22:45
**\relax; tracingall; input test.mp;
(/usr/local/texlive/2018/texmf-dist/metapost/context/base/common/metafun.mp
(/usr/local/texlive/2018/texmf-dist/metapost/context/base/mpii/metafun.mpii
(/usr/local/texlive/2018/texmf-dist/metapost/context/base/mpii/mp-base.mpii
Preloading the plain mem file, version 1.004 for metafun ii)
(/usr/local/texlive/2018/texmf-dist/metapost/context/base/mpii/mp-tool.mpii)
(/usr/local/texlive/2018/texmf-dist/metapost/context/base/mpii/mp-spec.mpii)
(/usr/local/texlive/2018/texmf-dist/metapost/context/base/mpii/mp-core.mpii)
(/usr/local/texlive/2018/texmf-dist/metapost/context/base/mpii/mp-page.mpii)
(/usr/local/texlive/2018/texmf-dist/metapost/context/base/mpii/mp-text.mpii)
(/usr/local/texlive/2018/texmf-dist/metapost/context/base/mpii/mp-txts.mpii)
(/usr/local/texlive/2018/texmf-dist/metapost/context/base/mpii/mp-shap.mpii)
(/usr/local/texlive/2018/texmf-dist/metapost/context/base/mpii/mp-butt.mpii)
(/usr/local/texlive/2018/texmf-dist/metapost/context/base/mpii/mp-char.mpii)
(/usr/local/texlive/2018/texmf-dist/metapost/context/base/mpii/mp-step.mpii)
(/usr/local/texlive/2018/texmf-dist/metapost/context/base/mpii/mp-grph.mpii)
(/usr/local/texlive/2018/texmf-dist/metapost/context/base/mpii/mp-figs.mpii)
(/usr/local/texlive/2018/texmf-dist/metapost/context/base/mpii/mp-grid.mpii
(/usr/local/texlive/2018/texmf-dist/metapost/context/base/mpii/mp-form.mpii
(/usr/local/texlive/2018/texmf-dist/metapost/base/string.mp)
(/usr/local/texlive/2018/texmf-dist/metapost/base/marith.mp
(/usr/local/texlive/2018/texmf-dist/metapost/base/string.mp))))
(/usr/local/texlive/2018/texmf-dist/metapost/context/base/mpii/mp-func.mpii)))
{tracingtitles:=1}
{tracingequations:=1}
{tracingcapsules:=1}
{tracingspecs:=2}
{tracingchoices:=1}
{tracinglostchars:=1}
{tracingstats:=1}
{tracingoutput:=1}
{tracingmacros:=1}
{tracingrestores:=1}
{input}
(./test.mp
beginfig(EXPR0)->_fig_nesting_:=_fig_nesting_+1;if._fig_nesting_=1:begingroup.c
harcode:=(EXPR0);resetfig;scantokens.extra_beginfig;fi;
(EXPR0)<-1
{(0)+(1)}
{_fig_nesting_:=1}
## _fig_nesting_=1
{if}
{(1)=(1)}
{true}
{begingroup}
{charcode:=1}

resetfig->clearxy;clearit;clearpen;pickup.defaultpen;interim.linecap:=linecap;i
nterim.linejoin:=linejoin;interim.miterlimit:=miterlimit;save._background_;colo
r._background_;_background_:=background;save.background;color.background;backgr
ound:=_background_;drawoptions();

clearxy<text>->if.false.for$:=(TEXT0):or.true.endfor:forsuffixes$:=(TEXT0):x$:=
whatever;y$:=whatever;endfor;else:save.x,y;fi
(TEXT0)<-
{if}
{false}
{for}
{false}
{save}
{fi}

clearit->currentpicture:=nullpicture
{nullpicture}
{currentpicture:=picture}

clearpen->currentpen:=nullpen;pen_lft:=pen_rt:=pen_top:=pen_bot:=0;path.current
pen_path;
{nullpen}
{currentpen:=pen}
{pen_bot:=0}
{pen_top:=0}
{pen_rt:=0}
{pen_lft:=0}
{path}

pickup<secondary>->if.numeric(EXPR0):numeric_pickup_.else:pen_pickup_.fi(EXPR0)
(EXPR0)<-1
{if}
{numeric(1)}
{true}

numeric_pickup_<primary>->if.unknown.pen_[(EXPR0)]:errmessage"Unknown pen";clea
rpen.else:currentpen:=pen_[(EXPR0)];pen_lft:=pen_lft_[(EXPR0)];pen_rt:=pen_rt_[
(EXPR0)];pen_top:=pen_top_[(EXPR0)];pen_bot:=pen_bot_[(EXPR0)];currentpen_path:
=pen_path_[(EXPR0)]fi;
{else}
(EXPR0)<-1
{if}
{unknown(pen)}
{false}
{currentpen:=pen}
{pen_lft:=-0.25}
{pen_rt:=0.25}
{pen_top:=0.25}
{pen_bot:=-0.25}
{fi}
{currentpen_path:=unknown path pen_path_1}
{interim}
{linecap:=1}
{interim}
{linejoin:=1}
{interim}
{miterlimit:=10}
{save}
{color}
{_background_:=(1,1,1)}
## bluepart _background_=1
## greenpart _background_=1
## redpart _background_=1
{save}
{color}
{background:=(1,1,1)}
## bluepart background=1
## greenpart background=1
## redpart background=1

drawoptions(TEXT0)->def._op_=(TEXT0)enddef
(TEXT0)<-
{def}
{scantokens}
{true}
{insidefigure:=true}

reset_extra_specials->begingroup._local_specials_:="";endgroup
(SUFFIX0)<-
(SUFFIX1)<-reset_extra_specials
{begingroup}
{_local_specials_:=""}
{endgroup}
{truecorners:=0}
{miterlimit:=10}
{linejoin:=1}
{linecap:=1}

erasegraphictextfile->write.EOF.to.data_mpo_file;let.erasegraphictextfile=relax
;
{write}

data_mpo_file->job_name&"-mpgraph.mpo"

job_name->jobname
{("test")&("-mpgraph.mpo")}
{let}
{fi}

draw<expr>->addto.currentpicture.if.picture(EXPR0):also(EXPR0)else:doublepath(E
XPR0)withpen.currentpen.fi._op_

textext@#(EXPR3)->begingroup.save._s_;string._s_;interim.labeloffset:=textextof
fset;noftexpictures:=noftexpictures+1;if.string(EXPR3):if.hobbiestextext:write.
_s_&"btex "&(EXPR3)&" etex"to"mptextmp.mp";write.EOF.to"mptextmp.mp";scantokens
"input mptextmp"else:write"% figure "&decimal.charcode&" : "&"texpictures["&dec
imal.noftexpictures&"] := btex "&(EXPR3)&" etex ;"to.jobname&".mpt";if.unknown.
texpictures[noftexpictures]:thelabel(SUFFIX2)("unknown",origin)else:thelabel(SU
FFIX2)(texpictures[noftexpictures],origin)fi.fi.else:thelabel(SUFFIX2)((EXPR3),
origin)fi.endgroup
(SUFFIX0)<-
(SUFFIX1)<-textext
(SUFFIX2)<-
(EXPR3)<-"MetaFun"
{begingroup}
{save}
{string}
{interim}
{labeloffset:=0}
{(0)+(1)}
{noftexpictures:=1}
## noftexpictures=1
{if}
{string("MetaFun")}
{true}
{if}
{false}
{write}
{decimal(1)}
{("% figure ")&("1")}
{("% figure 1")&(" : ")}
{("% figure 1 : ")&("texpictures[")}
{decimal(1)}
{("% figure 1 : texpictures[")&("1")}
{("% figure 1 : texpictures[1")&("] := btex ")}
{("% figure 1 : texpictures[1] := btex ")&("MetaFun")}
{("% figure 1 : texpictures[1] := btex MetaFun")&(" etex ;")}
{("test")&(".mpt")}
{if}
{unknown(unknown picture texpictures1)}
{true}

thelabel@#(EXPR3)(EXPR4)->begingroup.save.p;picture.p;p=(EXPR3)if.not.picture(E
XPR3):infont.defaultfont.scaled.defaultscale.fi;(p.shifted((EXPR4)+labeloffset*
laboff(SUFFIX2)-(labxf(SUFFIX2)*lrcorner.p+labyf(SUFFIX2)*ulcorner.p+(1-labxf(S
UFFIX2)-labyf(SUFFIX2))*llcorner.p)))endgroup
(SUFFIX0)<-
(SUFFIX1)<-thelabel
(SUFFIX2)<-
(EXPR3)<-"unknown"
(EXPR4)<-(0,0)
{begingroup}
{save}
{picture}
{if}
{picture("unknown")}
{not(false)}
{true}
{("unknown")infont("cmr10")}
{fi}
{(picture)scaled(1)}
{(unknown picture p)=(picture)}
{(0)*((0,0))}
{((0,0))+((0,0))}
{lrcorner(picture)}
{(0.5)*((39.57397,0))}
{ulcorner(picture)}
{(0.5)*((0,6.9185))}
{((19.78699,0))+((0,3.45926))}
{(1)-(0.5)}
{(0.5)-(0.5)}
{llcorner(picture)}
{(0)*((0,0))}
{((19.78699,3.45926))+((0,0))}
{((0,0))-((19.78699,3.45926))}
{(picture)shifted((-19.78699,-3.45926))}
{restoring p}
{endgroup}
{else}
{fi}
{else}
{restoring labeloffset=3}
{restoring _s_}
{endgroup}
(EXPR0)<-picture
{addto}
{if}
{picture(picture)}
{true}
{else}

_op_->

endfig->;if._fig_nesting_=1:scantokens.extra_endfig;shipit;endgroup;fi;_fig_nes
ting_:=_fig_nesting_-1;
{if}
{(1)=(1)}
{true}
{scantokens}

resetspotcolors->numeric.spotcolorhash[][];
{numeric}

resetcmykcolors->numeric.cmykcolorhash[][][][];
{numeric}

add_special_signal->begingroup.if(length._global_specials_<>0)or(length._local_
specials_<>0):special("%%MetaPostSpecials: 2.0 "&decimal._special_signal_&" "&d
ecimal._special_div_);fi;endgroup
(SUFFIX0)<-
(SUFFIX1)<-add_special_signal
{begingroup}
{if}
{length("")}
{(0)<>(0)}
{length("")}
{(0)<>(0)}
{(false)or(false)}
{false}
{endgroup}

naturalizepaths->let.fill=normalfill;let.draw=normaldraw;
{let}
{let}

mfun_apply_max_dimensions->if.bbwidth.currentpicture>maxdimensions:currentpictu
re:=currentpicture.if.bbheight.currentpicture>bbwidth.currentpicture:ysized.els
e:xsized.fi.maxdimensions;elseif.bbheight.currentpicture>maxdimensions:currentp
icture:=currentpicture.ysized.maxdimensions;fi;
{if}

bbwidth<primary>->begingroup.if.unknown(EXPR2):0elseif.path(EXPR2)or.picture(EX
PR2):xpart(lrcorner(EXPR2)-llcorner(EXPR2))else:0fi.endgroup
(SUFFIX0)<-
(SUFFIX1)<-bbwidth
(EXPR2)<-picture
{begingroup}
{if}
{unknown(picture)}
{false}
{path(picture)}
{picture(picture)}
{(false)or(true)}
{true}
{lrcorner(picture)}
{llcorner(picture)}
{((19.78699,-3.45926))-((-19.78699,-3.45926))}
{else}
{xpart((39.57397,0))}
{endgroup}
{(39.57397)>(14000)}
{false}

bbheight<primary>->begingroup.if.unknown(EXPR2):0elseif.path(EXPR2)or.picture(E
XPR2):ypart(urcorner(EXPR2)-lrcorner(EXPR2))else:0fi.endgroup
(SUFFIX0)<-
(SUFFIX1)<-bbheight
(EXPR2)<-picture
{begingroup}
{if}
{unknown(picture)}
{false}
{path(picture)}
{picture(picture)}
{(false)or(true)}
{true}
{urcorner(picture)}
{lrcorner(picture)}
{((19.78699,3.45924))-((19.78699,-3.45926))}
{else}
{ypart((0,6.9185))}
{endgroup}
{(6.9185)>(14000)}
{false}

add_extra_specials->begingroup.scantokens._global_specials_;scantokens._local_s
pecials_;endgroup
(SUFFIX0)<-
(SUFFIX1)<-add_extra_specials
{begingroup}
{scantokens}
{scantokens}
{endgroup}

reset_extra_specials->begingroup._local_specials_:="";endgroup
(SUFFIX0)<-
(SUFFIX1)<-reset_extra_specials
{begingroup}
{_local_specials_:=""}
{endgroup}
{false}
{insidefigure:=false}

shipit->shipout.currentpicture
{shipout}
[1{psfonts.map}]
Edge structure at line 3 (just shipped out):
"unknown" infont "cmr10"
transformed (-19.78699,-3.45926,1,0,0,1)
End edges

{restoring background}
{restoring _background_}
{restoring miterlimit=10}
{restoring linejoin=1}
{restoring linecap=1}
{restoring y}
{restoring x}
{endgroup}
{fi}
{(1)-(1)}
{_fig_nesting_:=0}
## _fig_nesting_=0

end->;message"";message.metafunversion;message"";normalend;
{message}
{message}
metafun ii 2019-1-21 22:45
{message}
 )
 
Here is how much of MetaPost's memory you used:
 223 strings using 5067 characters
 3461584 bytes of node memory
 1938 symbolic tokens
 6i,94n,9p,835b,5f stack positions out of 16i,96n,33p,950b,6f
1 output file written: test.1


[-- Attachment #3: Type: text/plain, Size: 492 bytes --]

___________________________________________________________________________________
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:[~2019-01-21  9:47 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-01-21  7:57 Henri Menke
2019-01-21  8:29 ` Hans Hagen
2019-01-21  8:43   ` Henri Menke
2019-01-21  8:56     ` Hans van der Meer
2019-01-21  9:40 ` luigi scarso
2019-01-21  9:47   ` Henri Menke [this message]
2019-01-21 10:00     ` luigi scarso
2019-01-21 23:54 Akira Kakuto

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=4440874a-7c8f-3f02-447f-2cc09562fcf2@gmail.com \
    --to=henrimenke@gmail.com \
    --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).