On 1/24/2017 4:04 AM, Rik wrote:
On 2017-01-23 14:09, Rik Kabel wrote:
On 2017-01-23 00:06, Alan Braslau wrote:
> On Sun, 22 Jan 2017 22:39:53 -0500 Rik Kabel > <cont...@rik.users.panix.com> wrote: 
> >> So, how can I make the
inner glyph (‘?’ in the example below) >> transparent, so that the
background shows through along with >> anything else that lives on a
lower layer? I’ve seen a method for >> constructed shapes, but nothing
that I can apply to text glyphs. >> Undraw doesn’t do it. > > Undraw
is simply draw using the background color. > > Transparency is a
MetaFun extension to MetaPost (so part of > ConTeXt). > > draw q
withtransparency (1,0.5) ; % (method,transparency) > > Alan

Hmmm. That does not work for me (with any of many method and
transparency values).  The  ‘?’ is solid black. I do see a message in
the log that looks related:

    mkiv lua stats  > page group warning: transparencies are used but
    no pagecolormodel is set

but adding \setcolors[state=start,cmyk=yes] does not change that; both
the warning and the solid black glyph remain. Could this be an issue
of the PDF viewer? Is it a font issue?
Okay, I got a clean compile using \definecolor and referencing that in
the MP page.

    \setupbackgrounds
      [page]
      [background=color,backgroundcolor=yellow]
    \definecolor[Transp][r=1,t=0,a=12]
    \definefont
      [DVSrB]
      [file:DejaVuSerif-Bold.ttf]
    \startuseMPgraphic{HeartTest 1}
      picture h,q ;
      h := "♥" infont "\truefontname{DejaVuSerif-Bold.ttf}" scaled 20 ;
      q := textext("{\DVSrB ?}") scaled 10 ;
      q := q shifted - (xpart center q, 12pt) ;
      draw h withcolor blue ;
      draw q withtransparency(12,0) ;
      draw q shifted (72pt,0) withtransparency(12,0) ;
    \stopuseMPgraphic
    \startuseMPgraphic{HeartTest 2}
      picture h,q ;
      h := "♥" infont "\truefontname{DejaVuSerif-Bold.ttf}" scaled 20 ;
      q := textext("\color[Transp]{\DVSrB ?}") scaled 10 ;
      q := q shifted - (xpart center q, 12pt) ;
      draw h withcolor blue ;
      draw q ;
      draw q shifted (72pt,0) ;
    \stopuseMPgraphic
    \starttext
     \useMPgraphic{HeartTest 1}
     \useMPgraphic{HeartTest 2}
    \stoptext

Unfortunately, the result is not what I want. The result is that the “?”
disappears, allowing the color directly behind it to show through. The
example above shows that it works with \definecolor but not
withwithtransparency. I have no idea why, and certainly realize it could
be my error.

What I want is that the background of the page (yellow in this case)
should show through. That is what is done with fill / reverse / cycle,
as in:

    \setupbackgrounds
      [page]
      [background=color,backgroundcolor=yellow]
    \startuseMPgraphic{CircleTest}
      path p,q ;
      p := fullcircle scaled 2cm ;
      q := fullcircle scaled 1cm ;
      fill p -- reverse q -- cycle withcolor blue;
    \stopuseMPgraphic
    \starttext
     \useMPgraphic{CircleTest}
    \stoptext

where the background color (yellow) comes through the inner circle (path q).

Can this be done with text characters? I suspect that the answer is that
the glyphs have to be converted to paths and that it will only work when

\setupbackgrounds
  [page]
  [background=color,
   backgroundcolor=yellow]
\starttext
    \startcolor[blue]\starteffect[outer]PQR\stopeffect\stopcolor
\stoptext

-----------------------------------------------------------------
                                          Hans Hagen | PRAGMA ADE
              Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
       tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
-----------------------------------------------------------------
___________________________________________________________________________________
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 via email to