* How to "unfill" a picture? @ 2009-06-24 3:13 Zhichu Chen 2009-06-24 6:55 ` Zhichu Chen 2009-06-24 8:21 ` Wolfgang Schuster 0 siblings, 2 replies; 13+ messages in thread From: Zhichu Chen @ 2009-06-24 3:13 UTC (permalink / raw) To: mailing list for ConTeXt users Hi, I got a problem in metapost. If I want to draw a ring, and use the code: fill fullcircle scaled 2cm ; unfill fullcircle scaled 1cm ; The inner part is not transparent, it has the color of "background" variable which is "white" by default. This case is a minimal example, I actually wanna draw something more complex, like the glyph "Q" and I know the inner path and outer path. How can I fill the ring without jeopardizing the area inside the inner path? -- Best Regards Chen ---------------------------------------------------------------- Zhi-chu Chen | Shanghai Synchrotron Radiation Facility No. 2019 | Jialuo Rd. | Jiading | Shanghai | P.R. China tel: 086 21 5955 3405 | zhichu.chen.googlepages.com | www.sinap.ac.cn ---------------------------------------------------------------- ___________________________________________________________________________________ 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://tex.aanhet.net archive : https://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___________________________________________________________________________________ ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: How to "unfill" a picture? 2009-06-24 3:13 How to "unfill" a picture? Zhichu Chen @ 2009-06-24 6:55 ` Zhichu Chen 2009-06-24 7:32 ` Taco Hoekwater 2009-06-24 8:21 ` Wolfgang Schuster 1 sibling, 1 reply; 13+ messages in thread From: Zhichu Chen @ 2009-06-24 6:55 UTC (permalink / raw) To: mailing list for ConTeXt users Fine, I made it in a very weird way. I constructed a very strange path to go through the outer path in counter- clockwise direction and inner path in clockwise dir- ection and filled it. I don't feel good but it can be done now. On Wed, Jun 24, 2009 at 11:13 AM, Zhichu Chen<zhichu.chen@gmail.com> wrote: > Hi, I got a problem in metapost. If I want to draw a ring, and > use the code: > fill fullcircle scaled 2cm ; > unfill fullcircle scaled 1cm ; > The inner part is not transparent, it has the color of "background" > variable which is "white" by default. > > This case is a minimal example, I actually wanna draw something > more complex, like the glyph "Q" and I know the inner path and > outer path. How can I fill the ring without jeopardizing the area inside > the inner path? > > -- > Best Regards > Chen > ---------------------------------------------------------------- > > Zhi-chu Chen | Shanghai Synchrotron Radiation Facility > No. 2019 | Jialuo Rd. | Jiading | Shanghai | P.R. China > tel: 086 21 5955 3405 | zhichu.chen.googlepages.com > | www.sinap.ac.cn > ---------------------------------------------------------------- > -- Best Regards Chen ---------------------------------------------------------------- Zhi-chu Chen | Shanghai Synchrotron Radiation Facility No. 2019 | Jialuo Rd. | Jiading | Shanghai | P.R. China tel: 086 21 5955 3405 | zhichu.chen.googlepages.com | www.sinap.ac.cn ---------------------------------------------------------------- ___________________________________________________________________________________ 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://tex.aanhet.net archive : https://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___________________________________________________________________________________ ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: How to "unfill" a picture? 2009-06-24 6:55 ` Zhichu Chen @ 2009-06-24 7:32 ` Taco Hoekwater 2009-06-24 7:48 ` Zhichu Chen 0 siblings, 1 reply; 13+ messages in thread From: Taco Hoekwater @ 2009-06-24 7:32 UTC (permalink / raw) To: mailing list for ConTeXt users Zhichu Chen wrote: > Fine, I made it in a very weird way. I constructed a very > strange path to go through the outer path in counter- > clockwise direction and inner path in clockwise dir- > ection and filled it. I don't feel good but it can be done > now. Currently, that is how it should be done. Maybe a future version of metapost will be able to handle this natively. Best wishes, Taco ___________________________________________________________________________________ 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://tex.aanhet.net archive : https://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___________________________________________________________________________________ ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: How to "unfill" a picture? 2009-06-24 7:32 ` Taco Hoekwater @ 2009-06-24 7:48 ` Zhichu Chen 2009-06-24 9:02 ` Taco Hoekwater 0 siblings, 1 reply; 13+ messages in thread From: Zhichu Chen @ 2009-06-24 7:48 UTC (permalink / raw) To: mailing list for ConTeXt users Cool, but just curiosity, metapost can handle fonts right? How those glyphs don't have this problem? I've read the specification of the type1 fonts, they don't seem to have such weird paths, just some borderlines with different directions. On Wed, Jun 24, 2009 at 3:32 PM, Taco Hoekwater<taco@elvenkind.com> wrote: > Currently, that is how it should be done. Maybe a future > version of metapost will be able to handle this natively. > > Best wishes, > Taco > ___________________________________________________________________________________ > 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://tex.aanhet.net > archive : https://foundry.supelec.fr/projects/contextrev/ > wiki : http://contextgarden.net > ___________________________________________________________________________________ > -- Best Regards Chen ---------------------------------------------------------------- Zhi-chu Chen | Shanghai Synchrotron Radiation Facility No. 2019 | Jialuo Rd. | Jiading | Shanghai | P.R. China tel: 086 21 5955 3405 | zhichu.chen.googlepages.com | www.sinap.ac.cn ---------------------------------------------------------------- ___________________________________________________________________________________ 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://tex.aanhet.net archive : https://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___________________________________________________________________________________ ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: How to "unfill" a picture? 2009-06-24 7:48 ` Zhichu Chen @ 2009-06-24 9:02 ` Taco Hoekwater 0 siblings, 0 replies; 13+ messages in thread From: Taco Hoekwater @ 2009-06-24 9:02 UTC (permalink / raw) To: mailing list for ConTeXt users Zhichu Chen wrote: > Cool, but just curiosity, metapost can handle fonts right? > How those glyphs don't have this problem? I've read the > specification of the type1 fonts, they don't seem to have > such weird paths, just some borderlines with different > directions. PostScript paths are more advanced than Metapost's draw objects, but Metapost never sees these paths of font glyphs at all. (well, except via the new primitive 'glyph X of', but that indeed does have this problem.) Best wishes, Taco ___________________________________________________________________________________ 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://tex.aanhet.net archive : https://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___________________________________________________________________________________ ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: How to "unfill" a picture? 2009-06-24 3:13 How to "unfill" a picture? Zhichu Chen 2009-06-24 6:55 ` Zhichu Chen @ 2009-06-24 8:21 ` Wolfgang Schuster 2009-06-24 10:42 ` Zhichu Chen 1 sibling, 1 reply; 13+ messages in thread From: Wolfgang Schuster @ 2009-06-24 8:21 UTC (permalink / raw) To: mailing list for ConTeXt users Am 24.06.2009 um 05:13 schrieb Zhichu Chen: > Hi, I got a problem in metapost. If I want to draw a ring, and > use the code: > fill fullcircle scaled 2cm ; > unfill fullcircle scaled 1cm ; > The inner part is not transparent, it has the color of "background" > variable which is "white" by default. > > This case is a minimal example, I actually wanna draw something > more complex, like the glyph "Q" and I know the inner path and > outer path. How can I fill the ring without jeopardizing the area > inside > the inner path? fill fullcircle scaled 2cm -- reverse -- fullcircle scaled 1cm -- cycle ; Wolfgang ___________________________________________________________________________________ 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://tex.aanhet.net archive : https://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___________________________________________________________________________________ ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: How to "unfill" a picture? 2009-06-24 8:21 ` Wolfgang Schuster @ 2009-06-24 10:42 ` Zhichu Chen 2009-06-24 10:59 ` Zhichu Chen 2009-06-24 14:12 ` Nicola 0 siblings, 2 replies; 13+ messages in thread From: Zhichu Chen @ 2009-06-24 10:42 UTC (permalink / raw) To: mailing list for ConTeXt users I assume there's no "--" between "reverse" and "fullcircle scaled 1cm" :) Well, my example is too simple. Actually, I was trying to draw a treble clef, and when there're too many intersection points (caused by the -- operator to join every path together) the output is not so good, kind of like an even-odd-fill. Anyway, I wrote a macro trying to handle it, but it's still weird for me. =================================================== def getridof(expr mypath) = save p, q, r, l, Oringin, Mode , MagicPoint ; pair Oringin ; Oringin := center mypath ; pair MagicPoint ; numeric Mode ; Mode := 0 ; path p[], q[], l ; q0 := mypath ; q1 := llcorner currentpicture -- lrcorner currentpicture ; q2 := lrcorner currentpicture -- urcorner currentpicture ; q3 := urcorner currentpicture -- ulcorner currentpicture ; q4 := ulcorner currentpicture -- llcorner currentpicture ; for i=1 upto 4 : q[i+4] := q[i] ; endfor q11 := llcorner currentpicture -- Oringin ; q12 := lrcorner currentpicture -- Oringin ; q13 := urcorner currentpicture -- Oringin ; q14 := ulcorner currentpicture -- Oringin ; for i=1 upto 4 : p[i] := q[i] for j=1 upto 3 : -- q[i+j] endfor ; endfor if (((llcorner currentpicture -- Oringin) intersectiontimes mypath) = (-1,-1)) : if (((lrcorner currentpicture -- Oringin) intersectiontimes mypath) = (-1,-1)) : if (((urcorner currentpicture -- Oringin) intersectiontimes mypath) = (-1,-1)) : Mode := 4 ; else : Mode := 3 ; fi else : Mode := 2 ; fi else : Mode := 1 ; fi l = q[10+Mode] cutafter mypath ; MagicPoint = point length(l) of l ; p0 := p[Mode]--l--(q0 cutbefore MagicPoint)--(q0 cutafter MagicPoint)--(reverse l)--cycle ; clip currentpicture to p0 ; draw p0 withcolor cyan ; enddef ; =================================================== If I use =================================================== path p[] ; p1 = fullcircle scaled 10 cm ; p2 = reverse fullcircle scaled 1cm shifted (2cm,2cm) ; p3 = reverse fullcircle scaled 1.5cm shifted (2cm,-2cm) ; p4 = reverse fullcircle scaled 1.75cm shifted (-2cm,2cm) ; fill p1 ; getridof(p2) ; getridof(p3) ; getridof(p4) ; =================================================== then only p2 was cut off, you can change the order and only the first path can be handled. If I use pa[] as the path variables rather than p[], that would be fine. I don't know why, I mean I've used the "save" operator. On Wed, Jun 24, 2009 at 4:21 PM, Wolfgang Schuster<schuster.wolfgang@googlemail.com> wrote: > > fill fullcircle scaled 2cm -- reverse -- fullcircle scaled 1cm -- cycle ; > > Wolfgang > > ___________________________________________________________________________________ > 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://tex.aanhet.net > archive : https://foundry.supelec.fr/projects/contextrev/ > wiki : http://contextgarden.net > ___________________________________________________________________________________ > -- Best Regards Chen ---------------------------------------------------------------- Zhi-chu Chen | Shanghai Synchrotron Radiation Facility No. 2019 | Jialuo Rd. | Jiading | Shanghai | P.R. China tel: 086 21 5955 3405 | zhichu.chen.googlepages.com | www.sinap.ac.cn ---------------------------------------------------------------- ___________________________________________________________________________________ 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://tex.aanhet.net archive : https://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___________________________________________________________________________________ ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: How to "unfill" a picture? 2009-06-24 10:42 ` Zhichu Chen @ 2009-06-24 10:59 ` Zhichu Chen 2009-06-24 11:29 ` Hans Hagen 2009-06-24 14:12 ` Nicola 1 sibling, 1 reply; 13+ messages in thread From: Zhichu Chen @ 2009-06-24 10:59 UTC (permalink / raw) To: mailing list for ConTeXt users I guess I should use as few variables as possible, I suppose no one would name their paths "Helper" ;) This macro assumes the argument is clockwise, I've written a macro to find out whether a path is clockwise or not, but it took me forever to run the code. Maybe there's already some primitive could do this. \startMPinclusions def getridof(expr p) = save Helper, Oringin, Mode, MagicPoint ; pair Oringin ; Oringin := center p ; pair MagicPoint ; numeric Mode ; Mode := 0 ; path Helper[] ; Helper0 := p ; Helper1 := llcorner currentpicture -- lrcorner currentpicture ; Helper2 := lrcorner currentpicture -- urcorner currentpicture ; Helper3 := urcorner currentpicture -- ulcorner currentpicture ; Helper4 := ulcorner currentpicture -- llcorner currentpicture ; for i=1 upto 4 : Helper[i+4] := Helper[i] ; endfor Helper11 := llcorner currentpicture -- Oringin ; Helper12 := lrcorner currentpicture -- Oringin ; Helper13 := urcorner currentpicture -- Oringin ; Helper14 := ulcorner currentpicture -- Oringin ; if (((llcorner currentpicture -- Oringin) intersectiontimes p) = (-1,-1)) : if (((lrcorner currentpicture -- Oringin) intersectiontimes p) = (-1,-1)) : if (((urcorner currentpicture -- Oringin) intersectiontimes p) = (-1,-1)) : Mode := 4 ; else : Mode := 3 ; fi else : Mode := 2 ; fi else : Mode := 1 ; fi Helper100 = Helper[10+Mode] cutafter p ; MagicPoint = point length(Helper100) of Helper100 ; Helper0 := Helper[Mode] for i=1 upto 3 : -- Helper[Mode+i] endfor -- Helper100 -- (Helper0 cutbefore MagicPoint) -- (Helper0 cutafter MagicPoint) -- (reverse Helper100) -- cycle ; clip currentpicture to Helper0 ; draw Helper0 withcolor cyan ; enddef ; \stopMPinclusions ___________________________________________________________________________________ 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://tex.aanhet.net archive : https://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___________________________________________________________________________________ ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: How to "unfill" a picture? 2009-06-24 10:59 ` Zhichu Chen @ 2009-06-24 11:29 ` Hans Hagen 2009-06-24 11:42 ` Zhichu Chen 0 siblings, 1 reply; 13+ messages in thread From: Hans Hagen @ 2009-06-24 11:29 UTC (permalink / raw) To: mailing list for ConTeXt users Zhichu Chen wrote: > I guess I should use as few variables as possible, I suppose > no one would name their paths "Helper" ;) Helper sounds ok, but ... > pair Oringin ; Oringin := center p ; ... Oringin kind of funny > Helper1 := llcorner currentpicture -- lrcorner currentpicture ; shorter: Helper1 := leftboundary currentpicture ; ----------------------------------------------------------------- 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 ----------------------------------------------------------------- ___________________________________________________________________________________ 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://tex.aanhet.net archive : https://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___________________________________________________________________________________ ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: How to "unfill" a picture? 2009-06-24 11:29 ` Hans Hagen @ 2009-06-24 11:42 ` Zhichu Chen 0 siblings, 0 replies; 13+ messages in thread From: Zhichu Chen @ 2009-06-24 11:42 UTC (permalink / raw) To: mailing list for ConTeXt users On Wed, Jun 24, 2009 at 7:29 PM, Hans Hagen<pragma@wxs.nl> wrote: > Zhichu Chen wrote: > >> I guess I should use as few variables as possible, I suppose >> no one would name their paths "Helper" ;) > > Helper sounds ok, but ... > >> pair Oringin ; Oringin := center p ; > > ... Oringin kind of funny I'll change that. > >> Helper1 := llcorner currentpicture -- lrcorner currentpicture ; > > shorter: > > Helper1 := leftboundary currentpicture ; Can't find in mpman.pdf. Maybe it's in metafun. > > > > ----------------------------------------------------------------- > 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 > ----------------------------------------------------------------- > ___________________________________________________________________________________ > 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://tex.aanhet.net > archive : https://foundry.supelec.fr/projects/contextrev/ > wiki : http://contextgarden.net > ___________________________________________________________________________________ > -- Best Regards Chen ---------------------------------------------------------------- Zhi-chu Chen | Shanghai Synchrotron Radiation Facility No. 2019 | Jialuo Rd. | Jiading | Shanghai | P.R. China tel: 086 21 5955 3405 | zhichu.chen.googlepages.com | www.sinap.ac.cn ---------------------------------------------------------------- ___________________________________________________________________________________ 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://tex.aanhet.net archive : https://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___________________________________________________________________________________ ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: How to "unfill" a picture? 2009-06-24 10:42 ` Zhichu Chen 2009-06-24 10:59 ` Zhichu Chen @ 2009-06-24 14:12 ` Nicola 2009-06-24 14:45 ` Zhichu Chen 1 sibling, 1 reply; 13+ messages in thread From: Nicola @ 2009-06-24 14:12 UTC (permalink / raw) To: ntg-context In article <769ba7780906240342s4939ac2foe7bfd783ad2e82ee@mail.gmail.com>, Zhichu Chen <zhichu.chen@gmail.com> wrote: > Well, my example is too simple. Actually, I was trying to draw a > treble clef If your goal is to draw a path with pens of varying width (kind of calligraphic strokes),'penpos' and 'penstroke' may be your friends (defined in plain.mp). This is what I've come out with by about 15 minutes of trial and error (disclaimer: this is my first attempt at using these macros beyond trying to draw a sans-serif 'l' - I'm not a designer at all): fill unitsquare scaled 12cm shifted (-6cm,-6cm) withcolor .625red; b = 2pt; % Default pen width w = 30mm; % Width of treble clef h = 100mm; % Height of treble clef % Specify breadth and angle of pen at keypoints: penpos 1 (0.5b, 30); penpos 1.5 (b, 15); penpos 2 (3b, 0); penpos 3 (5b, -90); penpos 4 (3b, -180); penpos 5 (b, 90); penpos 6 (5b,0); penpos 6.5 (4b, -30); penpos 7 (.5b, 0); penpos 8 (5b, 90); penpos 9 (3b, -180); penpos 10 (b, -180); % Fix x coords of keypoints x1=0; x1.5=1/2[x1,x2]; x5=x1=x3=x8; x10=1/2[x9,x1]; x7=1/2[x3,x4]; x4-x6=w; x1=1/2[x2,x4]; x3-x2=x2-x6; x9=1/2[x1,x2]; x6.5=1/2[x5,x6]; % Fix y coords of keypoints y1=0; y1.5=y1; y6=y2=y4=1/2[y3,y1]; y3-y1=y1-y5=1/10h; y5-y10=2(y3-y1); y8-y7=y3-y1; y9=y7; y8-y3=y3-y10; y6.5=1/2[y6,y7]; drawoptions (withcolor background); % Draw (an incomplete and ugly) treble clef penstroke z1e .. z1.5e .. z2e .. z3e .. z4e .. z5e .. z6e .. z6.5e .. z7e .. z8e .. z9e .. z10e; drawoptions(withcolor black); labels.lft(1,1.5,2,3,4,5,6,6.5,7,8,9,10); You must take special care never to cross the left and right edges of the pen. See The METAFONTbook for details and examples. Regards, Nicola ___________________________________________________________________________________ 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://tex.aanhet.net archive : https://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___________________________________________________________________________________ ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: How to "unfill" a picture? 2009-06-24 14:12 ` Nicola @ 2009-06-24 14:45 ` Zhichu Chen 2009-06-25 5:15 ` Lutz Haseloff 0 siblings, 1 reply; 13+ messages in thread From: Zhichu Chen @ 2009-06-24 14:45 UTC (permalink / raw) To: mailing list for ConTeXt users Hi Nicola, Thank you very much for your example and the idea. It's amazing, I thought it's just a metafont thing and metapost just can't do that. Thank you for your information again. On Wed, Jun 24, 2009 at 10:12 PM, Nicola<nvitacolonna@gmail.com> wrote: > In article > <769ba7780906240342s4939ac2foe7bfd783ad2e82ee@mail.gmail.com>, > Zhichu Chen <zhichu.chen@gmail.com> wrote: > >> Well, my example is too simple. Actually, I was trying to draw a >> treble clef > > If your goal is to draw a path with pens of varying width (kind of > calligraphic strokes),'penpos' and 'penstroke' may be your friends > (defined in plain.mp). This is what I've come out with by about 15 > minutes of trial and error (disclaimer: this is my first attempt at > using these macros beyond trying to draw a sans-serif 'l' - I'm not a > designer at all): > > fill unitsquare scaled 12cm shifted (-6cm,-6cm) withcolor .625red; > b = 2pt; % Default pen width > w = 30mm; % Width of treble clef > h = 100mm; % Height of treble clef > % Specify breadth and angle of pen at keypoints: > penpos 1 (0.5b, 30); > penpos 1.5 (b, 15); > penpos 2 (3b, 0); > penpos 3 (5b, -90); > penpos 4 (3b, -180); > penpos 5 (b, 90); > penpos 6 (5b,0); > penpos 6.5 (4b, -30); > penpos 7 (.5b, 0); > penpos 8 (5b, 90); > penpos 9 (3b, -180); > penpos 10 (b, -180); > % Fix x coords of keypoints > x1=0; > x1.5=1/2[x1,x2]; > x5=x1=x3=x8; > x10=1/2[x9,x1]; > x7=1/2[x3,x4]; > x4-x6=w; > x1=1/2[x2,x4]; > x3-x2=x2-x6; > x9=1/2[x1,x2]; > x6.5=1/2[x5,x6]; > % Fix y coords of keypoints > y1=0; > y1.5=y1; > y6=y2=y4=1/2[y3,y1]; > y3-y1=y1-y5=1/10h; > y5-y10=2(y3-y1); > y8-y7=y3-y1; > y9=y7; > y8-y3=y3-y10; > y6.5=1/2[y6,y7]; > > drawoptions (withcolor background); > % Draw (an incomplete and ugly) treble clef > penstroke z1e .. z1.5e .. z2e .. z3e .. z4e .. z5e .. z6e .. z6.5e .. > z7e .. z8e .. z9e .. z10e; > drawoptions(withcolor black); > labels.lft(1,1.5,2,3,4,5,6,6.5,7,8,9,10); > > You must take special care never to cross the left and right edges of > the pen. See The METAFONTbook for details and examples. > > Regards, > Nicola > > ___________________________________________________________________________________ > 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://tex.aanhet.net > archive : https://foundry.supelec.fr/projects/contextrev/ > wiki : http://contextgarden.net > ___________________________________________________________________________________ > -- Best Regards Chen ---------------------------------------------------------------- Zhi-chu Chen | Shanghai Synchrotron Radiation Facility No. 2019 | Jialuo Rd. | Jiading | Shanghai | P.R. China tel: 086 21 5955 3405 | zhichu.chen.googlepages.com | www.sinap.ac.cn ---------------------------------------------------------------- ___________________________________________________________________________________ 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://tex.aanhet.net archive : https://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___________________________________________________________________________________ ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: How to "unfill" a picture? 2009-06-24 14:45 ` Zhichu Chen @ 2009-06-25 5:15 ` Lutz Haseloff 0 siblings, 0 replies; 13+ messages in thread From: Lutz Haseloff @ 2009-06-25 5:15 UTC (permalink / raw) To: mailing list for ConTeXt users [-- Attachment #1.1: Type: text/plain, Size: 4014 bytes --] Hi Zichu, an other approach (mkiv + lilypond font): \definefont[music][name:emmentaler20 at 72pt] \starttext \music\char57770 \stoptext :-) Greetings Lutz 2009/6/24 Zhichu Chen <zhichu.chen@gmail.com> > Hi Nicola, > > Thank you very much for your example and the idea. It's amazing, > I thought it's just a metafont thing and metapost just can't do that. > > Thank you for your information again. > > On Wed, Jun 24, 2009 at 10:12 PM, Nicola<nvitacolonna@gmail.com> wrote: > > In article > > <769ba7780906240342s4939ac2foe7bfd783ad2e82ee@mail.gmail.com>, > > Zhichu Chen <zhichu.chen@gmail.com> wrote: > > > >> Well, my example is too simple. Actually, I was trying to draw a > >> treble clef > > > > If your goal is to draw a path with pens of varying width (kind of > > calligraphic strokes),'penpos' and 'penstroke' may be your friends > > (defined in plain.mp). This is what I've come out with by about 15 > > minutes of trial and error (disclaimer: this is my first attempt at > > using these macros beyond trying to draw a sans-serif 'l' - I'm not a > > designer at all): > > > > fill unitsquare scaled 12cm shifted (-6cm,-6cm) withcolor .625red; > > b = 2pt; % Default pen width > > w = 30mm; % Width of treble clef > > h = 100mm; % Height of treble clef > > % Specify breadth and angle of pen at keypoints: > > penpos 1 (0.5b, 30); > > penpos 1.5 (b, 15); > > penpos 2 (3b, 0); > > penpos 3 (5b, -90); > > penpos 4 (3b, -180); > > penpos 5 (b, 90); > > penpos 6 (5b,0); > > penpos 6.5 (4b, -30); > > penpos 7 (.5b, 0); > > penpos 8 (5b, 90); > > penpos 9 (3b, -180); > > penpos 10 (b, -180); > > % Fix x coords of keypoints > > x1=0; > > x1.5=1/2[x1,x2]; > > x5=x1=x3=x8; > > x10=1/2[x9,x1]; > > x7=1/2[x3,x4]; > > x4-x6=w; > > x1=1/2[x2,x4]; > > x3-x2=x2-x6; > > x9=1/2[x1,x2]; > > x6.5=1/2[x5,x6]; > > % Fix y coords of keypoints > > y1=0; > > y1.5=y1; > > y6=y2=y4=1/2[y3,y1]; > > y3-y1=y1-y5=1/10h; > > y5-y10=2(y3-y1); > > y8-y7=y3-y1; > > y9=y7; > > y8-y3=y3-y10; > > y6.5=1/2[y6,y7]; > > > > drawoptions (withcolor background); > > % Draw (an incomplete and ugly) treble clef > > penstroke z1e .. z1.5e .. z2e .. z3e .. z4e .. z5e .. z6e .. z6.5e .. > > z7e .. z8e .. z9e .. z10e; > > drawoptions(withcolor black); > > labels.lft(1,1.5,2,3,4,5,6,6.5,7,8,9,10); > > > > You must take special care never to cross the left and right edges of > > the pen. See The METAFONTbook for details and examples. > > > > Regards, > > Nicola > > > > > ___________________________________________________________________________________ > > 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://tex.aanhet.net > > archive : https://foundry.supelec.fr/projects/contextrev/ > > wiki : http://contextgarden.net > > > ___________________________________________________________________________________ > > > > > > -- > Best Regards > Chen > ---------------------------------------------------------------- > > Zhi-chu Chen | Shanghai Synchrotron Radiation Facility > No. 2019 | Jialuo Rd. | Jiading | Shanghai | P.R. China > tel: 086 21 5955 3405 | zhichu.chen.googlepages.com > | www.sinap.ac.cn > ---------------------------------------------------------------- > > ___________________________________________________________________________________ > 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://tex.aanhet.net > archive : https://foundry.supelec.fr/projects/contextrev/ > wiki : http://contextgarden.net > > ___________________________________________________________________________________ > [-- Attachment #1.2: Type: text/html, Size: 6133 bytes --] [-- Attachment #2: Type: text/plain, Size: 487 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://tex.aanhet.net archive : https://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___________________________________________________________________________________ ^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2009-06-25 5:15 UTC | newest] Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2009-06-24 3:13 How to "unfill" a picture? Zhichu Chen 2009-06-24 6:55 ` Zhichu Chen 2009-06-24 7:32 ` Taco Hoekwater 2009-06-24 7:48 ` Zhichu Chen 2009-06-24 9:02 ` Taco Hoekwater 2009-06-24 8:21 ` Wolfgang Schuster 2009-06-24 10:42 ` Zhichu Chen 2009-06-24 10:59 ` Zhichu Chen 2009-06-24 11:29 ` Hans Hagen 2009-06-24 11:42 ` Zhichu Chen 2009-06-24 14:12 ` Nicola 2009-06-24 14:45 ` Zhichu Chen 2009-06-25 5:15 ` Lutz Haseloff
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).