<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div class=""><div class="">I would like to use the result of transparent() straight in my macros, so I can pass the colors <i class="">with</i> transparency using a single parameter. That should be possible if I understand the MetaFun manual (where I’ve copy-pasted this example from):</div><div class=""><br class=""></div><div class=""><font face="Courier" class=""><span style="font-style: normal;" class="">\starttext</span></font></div><div class=""><font face="Courier" class=""><span style="font-style: normal;" class="">\startMPpage[instance=doublefun]</span></font></div><div class=""><font face="Courier" class=""><span style="font-style: normal;" class=""><br class=""></span></font></div><div class=""><font face="Courier" class=""><span style="font-style: normal;" class="">vardef SampleText (expr t, c) =</span></font></div><div class=""><font face="Courier" class=""><span style="font-style: normal;" class="">  save p ; picture p ;</span></font></div><div class=""><font face="Courier" class=""><span style="font-style: normal;" class="">  p := image (draw t infont "\truefontname{Regular}") ;</span></font></div><div class=""><font face="Courier" class=""><span style="font-style: normal;" class="">  draw (p shifted (- xpart center p,0)) scaled 5 withcolor c;</span></font></div><div class=""><font face="Courier" class=""><span style="font-style: normal;" class="">enddef ;</span></font></div><div class=""><font face="Courier" class=""><span style="font-style: normal;" class="">SampleText ("Much Of This"   , transparent(1, .5, red  )) ;</span></font></div><div class=""><font face="Courier" class=""><span style="font-style: normal;" class="">SampleText ("Functionality"  , transparent(1, .5, green)) ;</span></font></div><div class=""><font face="Courier" class=""><span style="font-style: normal;" class="">SampleText ("Was Written"    , transparent(1, .5, blue )) ;</span></font></div><div class=""><font face="Courier" class=""><span style="font-style: normal;" class="">SampleText ("While Listening", transparent(1, .5, cmyk(1,0,0,0))) ;</span></font></div><div class=""><font face="Courier" class=""><span style="font-style: normal;" class="">SampleText ("To the CD's Of" , transparent(1, .5, cmyk(0,1,0,0))) ;</span></font></div><div class=""><font face="Courier" class=""><span style="font-style: normal;" class="">SampleText ("Tori Amos"      , transparent(1, .5, cmyk(0,0,1,0))) ;</span></font></div><div class=""><font face="Courier" class=""><span style="font-style: normal;" class=""><br class=""></span></font></div><div class=""><font face="Courier" class=""><span style="font-style: normal;" class="">\stopMPpage</span></font></div></div><div class=""><font face="Courier" class=""><span style="font-style: normal;" class="">\stoptext</span></font></div><div class=""><br class=""></div><div class="">But it results in:</div><div class=""><br class=""></div><div class=""><div style="margin: 0px; font-stretch: normal; line-height: normal;" class=""><span style="font-variant-ligatures: no-common-ligatures;" class=""><font face="Courier" class="">system          > files > jobname 'testcolor', input './testcolor', result 'testcolor'</font></span></div><div style="margin: 0px; font-stretch: normal; line-height: normal;" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""><font face="Courier" class="">fonts           > latin modern fonts are not preloaded</font></span></div><div style="margin: 0px; font-stretch: normal; line-height: normal;" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""><font face="Courier" class="">languages       > language 'en' is active</font></span></div><div style="margin: 0px; font-stretch: normal; line-height: normal;" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""><font face="Courier" class="">open source     > level 2, order 3, name './testcolor.tex'</font></span></div><div style="margin: 0px; font-stretch: normal; line-height: normal;" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""><font face="Courier" class="">fonts           > preloading latin modern fonts (second stage)</font></span></div><div style="margin: 0px; font-stretch: normal; line-height: normal;" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""><font face="Courier" class="">fonts           > 'fallback modern-designsize rm 12pt' is loaded</font></span></div><div style="margin: 0px; font-stretch: normal; line-height: normal;" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""><font face="Courier" class="">metapost        > initializing instance 'doublefun:1' using format 'metafun' and method 'double'</font></span></div><div style="margin: 0px; font-stretch: normal; line-height: normal;" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""><font face="Courier" class="">metapost        > loading 'metafun' as '/usr/local/context-osx-64/tex/texmf-context/metapost/context/base/mpiv/metafun.mpxl' using method 'double'</font></span></div><div style="margin: 0px; font-stretch: normal; line-height: normal;" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""><font face="Courier" class="">metapost        > initializing number mode 'double'</font></span></div><div style="margin: 0px; font-stretch: normal; line-height: normal;" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""><font face="Courier" class="">metapost log    > </font></span></div><div style="margin: 0px; font-stretch: normal; line-height: normal;" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""><font face="Courier" class="">metapost log    > loading metafun, including plain.mp version 1.004 for metafun iv and xl</font></span></div><div style="margin: 0px; font-stretch: normal; line-height: normal;" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""><font face="Courier" class="">metapost log    > </font></span></div><div style="margin: 0px; font-stretch: normal; line-height: normal;" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""><font face="Courier" class="">metapost log    > ! Missing ')' has been inserted.</font></span></div><div style="margin: 0px; font-stretch: normal; line-height: normal;" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""><font face="Courier" class="">metapost log    > <to be read again> </font></span></div><div style="margin: 0px; font-stretch: normal; line-height: normal;" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""><font face="Courier" class="">metapost log    >                    withprescript</font></span></div><div style="margin: 0px; font-stretch: normal; line-height: normal;" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""><font face="Courier" class="">metapost log    > transparent->(1)withprescript</font></span></div><div style="margin: 0px; font-stretch: normal; line-height: normal;" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""><font face="Courier" class="">metapost log    >                              "tr_alternative="&decimal.transparency_alternat...</font></span></div><div style="margin: 0px; font-stretch: normal; line-height: normal;" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""><font face="Courier" class="">metapost log    > <*> ... ("Much Of This" , transparent(1, .5, red )</font></span></div><div style="margin: 0px; font-stretch: normal; line-height: normal;" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""><font face="Courier" class="">metapost log    >                                                   ) ; SampleText ("Functiona...</font></span></div><div style="margin: 0px; font-stretch: normal; line-height: normal;" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""><font face="Courier" class="">metapost log    > </font></span></div><div style="margin: 0px; font-stretch: normal; line-height: normal;" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""><font face="Courier" class="">backend         > xmp > using file '/usr/local/context-osx-64/tex/texmf-context/tex/context/base/mkiv/lpdf-pdx.xml'</font></span></div><div style="margin: 0px; font-stretch: normal; line-height: normal;" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""><font face="Courier" class="">pages           > flushing realpage 1, userpage 1, subpage 1</font></span></div><div style="margin: 0px; font-stretch: normal; line-height: normal;" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""><font face="Courier" class="">close source    > level 2, order 3, name './testcolor.tex'</font></span></div><div style="margin: 0px; font-stretch: normal; line-height: normal;" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""><font face="Courier" class="">close source    > level 1, order 3, name 'cont-yes.mkiv'</font></span></div></div><div class=""><span style="font-variant-ligatures: no-common-ligatures" class=""><br class=""></span></div><div class=""><span style="font-variant-ligatures: no-common-ligatures" class="">For me, it is not about passing colour on to ConTeXt to typeset text, these are colors that normally would be drawn with “</span><font face="Courier" class=""><span style="font-style: normal;" class="">withcolor ca withtransparency (method,factor)</span></font>” but that requires the passing of many more parameters and a lot more work in coding.</div><div class=""><br class=""></div><div class="">Does transparent() maybe produce a string that looks like “<span style="font-family: Courier;" class="">ca withtransparency (method,factor)</span>” so something only usable in draw/fill/etc statements? But in that case how does that work without scantokens to parse the string?</div><div class=""><br class=""></div><div class="">Is there a way I can do this without having twice the parameters (and I have to pass multiple colours)  in my macros everywhere?</div><div class=""><br class=""></div><div class="">Thanks,</div><div class=""><br class=""></div><div class="">G</div></body></html>