From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.comp.tex.context/116615 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Thangalin via ntg-context Newsgroups: gmane.comp.tex.context Subject: Re: Radial and linear gradients Date: Wed, 14 Dec 2022 12:45:57 -0800 Message-ID: References: <95c7e359-39e6-aab1-6197-66434117980d@freedom.nl> Reply-To: mailing list for ConTeXt users Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="0000000000007a14b005efcfd342" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="17987"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Thangalin To: mailing list for ConTeXt users Original-X-From: ntg-context-bounces@ntg.nl Wed Dec 14 21:46:38 2022 Return-path: Envelope-to: gctc-ntg-context-518@m.gmane-mx.org Original-Received: from zapf.boekplan.nl ([5.39.185.232] helo=zapf.ntg.nl) by ciao.gmane.io with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1p5YeE-0004Tu-Gw for gctc-ntg-context-518@m.gmane-mx.org; Wed, 14 Dec 2022 21:46:38 +0100 Original-Received: from localhost (localhost [127.0.0.1]) by zapf.ntg.nl (Postfix) with ESMTP id 9406F2A4C18; Wed, 14 Dec 2022 21:46:14 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at zapf.boekplan.nl Original-Received: from zapf.ntg.nl ([127.0.0.1]) by localhost (zapf.ntg.nl [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id NDWDmxGjbEX6; Wed, 14 Dec 2022 21:46:13 +0100 (CET) Original-Received: from zapf.ntg.nl (localhost [127.0.0.1]) by zapf.ntg.nl (Postfix) with ESMTP id 75DA42A4C09; Wed, 14 Dec 2022 21:46:13 +0100 (CET) Original-Received: from localhost (localhost [127.0.0.1]) by zapf.ntg.nl (Postfix) with ESMTP id 99DE72A4C09 for ; Wed, 14 Dec 2022 21:46:11 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at zapf.boekplan.nl Original-Received: from zapf.ntg.nl ([127.0.0.1]) by localhost (zapf.ntg.nl [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id xcnDTPp51r13 for ; Wed, 14 Dec 2022 21:46:09 +0100 (CET) Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=209.85.208.45; helo=mail-ed1-f45.google.com; envelope-from=thangalin@gmail.com; receiver= Original-Received: from mail-ed1-f45.google.com (mail-ed1-f45.google.com [209.85.208.45]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by zapf.ntg.nl (Postfix) with ESMTPS id C0EB62A4BBE for ; Wed, 14 Dec 2022 21:46:09 +0100 (CET) Original-Received: by mail-ed1-f45.google.com with SMTP id m19so24315086edj.8 for ; Wed, 14 Dec 2022 12:46:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :from:to:cc:subject:date:message-id:reply-to; bh=LVQ8x1nOTtmNpJNkULYPFKntZ9RBIfXHkayrz+9d7Rc=; b=VghsPBApugB9cac2to7L1IG1D9L1nTf5h4/PmiIoZANswuZ8l8ztnQ1/neeeYNe9yU c08ef8oAWT56qGpaATnURVWRL8ILLYvFJTqrl+yRnEbhVh4p82c7oDZLkN06wZDBn0xl 15yDiF7tKSGegyr/+Hxz29SzPQ5u65jj41m1eAK3QVAHhH8WqImapGm8+8N3ESBiRcwr zGI9yldaC37gK7oizY5oMavZiVfDS5NZ9cxsCzn768ecXHI7hiBCLBXuZokDTlmviA3I y8rAyI+KTmgdz5DOjJ/JCw3zBqJhYSMhWpd6TvDwxynlOomzUZ8hydX81sKGL5nPp/sV guzQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=LVQ8x1nOTtmNpJNkULYPFKntZ9RBIfXHkayrz+9d7Rc=; b=wEIGqGdbNXnBxPPaVGqJN3eyCYi8hhqpVjvxli7+w4QgB4UQrx/EILzfYkAi1k9x0l ZfRIbQuWOepYhv87kC4+JpAs2ZzYKlYvXdJ5vvDHNtS2aBIaBv/HNgtoyDnlisc9w2Es PkDLXMiXu1+3NA1Pm/+barcSWed+TM3+FPlTXRbq4UHtQROPPn3LgEoeCiWwaRKL+L3Y rYuRZzaiSBzzlDogpucmtxJHCvEIEBqeDt8SVTnZ6dIEqe5/PKRFl8h+5HbO5z1+HiFS 9qlnFIE+sVUQn3fuSBhQBcnaxgjaWnoMmHbHEgfRz5zKR2zhaetyg+ItyTN8IR4GguiV vOcg== X-Gm-Message-State: ANoB5pmiMCFCG97uJ1kQn8Npl/yrS8OcZREC11iGGMkHcbVTtDZT3DIR h0czjYTE0LOUN7TRzf578GFxLG6Ej0t5p+vpO4Dtht48 X-Google-Smtp-Source: AA0mqf7ERABvt0rQaj+OuEF9+tpTbEVNj3Y6aDL8GceyPqK2AOCsN8UZNrDG9ZkuKimFSHRyVNQ5LcTLIXUMhLx/yQc= X-Received: by 2002:a05:6402:3203:b0:46c:fabe:8372 with SMTP id g3-20020a056402320300b0046cfabe8372mr14173129eda.347.1671050768809; Wed, 14 Dec 2022 12:46:08 -0800 (PST) In-Reply-To: <95c7e359-39e6-aab1-6197-66434117980d@freedom.nl> X-BeenThere: ntg-context@ntg.nl X-Mailman-Version: 2.1.26 Precedence: list List-Id: mailing list for ConTeXt users List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: ntg-context-bounces@ntg.nl Original-Sender: "ntg-context" Xref: news.gmane.io gmane.comp.tex.context:116615 Archived-At: --0000000000007a14b005efcfd342 Content-Type: text/plain; charset="UTF-8" Inkscape can export the gradients to PDF. I was hoping to eliminate Inkscape as an extra piece of software users have to download to make sure their SVG images are rendered correctly. By containerizing ConTeXt, MetaPost can be swapped for Inkscape, so users won't even know. It is, however, a minor duplication to have two programs that can convert SVG to PDF. (And Inkscape will bloat the container size.) For my images, at least, gradients are one of the last features needed to render them correctly using MetaPost. The other is font rendering in some cases will be incorrect (e.g., try using Roboto with weight 100). If we have to use Inkscape to ensure tat all SVG images are rendered correctly, then we'd only want to use MetaPost if we know that the images don't contain gradients, or would you recommend avoiding MetaPost altogether for SVG conversion? Thank you! On Wed, Dec 14, 2022 at 12:46 AM Hans Hagen via ntg-context wrote: > > On 12/14/2022 5:46 AM, Thangalin via ntg-context wrote: > > Hi there! > > > > Any thoughts on implementing SVG gradients in MetaPost? > > > > % SOF > > \startbuffer[csvg] > > > xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 115.669 > > 115.669"> > cy="167.114" r="57.834" fx="124.515" fy="167.114" > > gradientTransform="translate(-17.77 -18.4)" > > gradientUnits="userSpaceOnUse"/> > offset="0"/> > stop-opacity="0"/> > transform="translate(-48.91 -90.879)"> > fill-opacity=".5" d="M48.769 90.936H164.64V206.96H48.769z"/> > cx="106.745" cy="148.713" r="57.834" fill="url(#b)" > > fill-rule="evenodd"/> > > \stopbuffer > > > > \starttext > > \placefigure{}{\includesvgbuffer[csvg][conversion=mp]} > > \stoptext > > % EOF > > > > See attached a comparison of the PDF generated using ConTeXt and the > > PNG file generated by exporting from Inkscape. > these gradients definitions get crazier by the day ... does inkscape > output a bitmap or vector pdf > > given what we do with context i'm not sure we should support everything > that pops up (mapping all onto mp and then pdf ...) > > Hans > > ----------------------------------------------------------------- > 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 / https://www.ntg.nl/mailman/listinfo/ntg-context > webpage : https://www.pragma-ade.nl / http://context.aanhet.net > archive : https://bitbucket.org/phg/context-mirror/commits/ > wiki : https://contextgarden.net > ___________________________________________________________________________________ --0000000000007a14b005efcfd342 Content-Type: application/pdf; name="inkscape-gradient.pdf" Content-Disposition: attachment; filename="inkscape-gradient.pdf" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lbo45jlo0 JVBERi0xLjUKJbXtrvsKNCAwIG9iago8PCAvTGVuZ3RoIDUgMCBSCiAgIC9GaWx0ZXIgL0ZsYXRl RGVjb2RlCj4+CnN0cmVhbQp4nG1QMY4DMQjs/Qrqk5YFbLD9jFRXR9ZdtkmkZP8vHXHCFqcIydYM mhmAgbwW9qcVxtZ6tQLjmu6JZ+txgfVMcNlT6di1AteMpB1KV8yW/TckNnj8wK+rtOirLYRkAlcI RtXQ2AW5TKFZxUwdpFdsLAcewMYoJumglFDdKxzeMCJGENIyqju99T6qTOcUEUGMY4hgYsiw+L/G gO3Dat9fcEsFpbrE5rkOsIgnKFl2wSL9mVYpz9Oue/V7wrpvBvuWTl5/WddODQplbmRzdHJlYW0K ZW5kb2JqCjUgMCBvYmoKICAgMjAwCmVuZG9iagozIDAgb2JqCjw8CiAgIC9FeHRHU3RhdGUgPDwK ICAgICAgL2EwIDw8IC9DQSAwLjUgL2NhIDAuNSA+PgogICAgICAvczcgNyAwIFIKICAgPj4KICAg L1NoYWRpbmcgPDwgL3NoNiA2IDAgUiA+Pgo+PgplbmRvYmoKOSAwIG9iago8PCAvRnVuY3Rpb25U eXBlIDIKICAgL0RvbWFpbiBbIDAgMSBdCiAgIC9DMCBbIDAgMCAwIF0KICAgL0MxIFsgMCAwIDAg XQogICAvTiAxCj4+CmVuZG9iagoxMCAwIG9iago8PCAvRnVuY3Rpb25UeXBlIDIKICAgL0RvbWFp biBbIDAgMSBdCiAgIC9DMCBbIDEgXQogICAvQzEgWyAwIF0KICAgL04gMQo+PgplbmRvYmoKNiAw IG9iagogICAgICA8PCAvU2hhZGluZ1R5cGUgMwogICAgICAgICAvQ29sb3JTcGFjZSAvRGV2aWNl UkdCCiAgICAgICAgIC9Db29yZHMgWyAxMjQuNTE0OTk5IDE2Ny4xMTM5OTggMCAxMjQuNTE0OTk5 IDE2Ny4xMTM5OTggNTcuODM0IF0KICAgICAgICAgL0RvbWFpbiBbIDAgMSBdCiAgICAgICAgIC9F eHRlbmQgWyB0cnVlIHRydWUgXQogICAgICAgICAvRnVuY3Rpb24gOSAwIFIKICAgICAgPj4KZW5k b2JqCjExIDAgb2JqCiAgICAgIDw8IC9TaGFkaW5nVHlwZSAzCiAgICAgICAgIC9Db2xvclNwYWNl IC9EZXZpY2VHcmF5CiAgICAgICAgIC9Db29yZHMgWyAxMjQuNTE0OTk5IDE2Ny4xMTM5OTggMCAx MjQuNTE0OTk5IDE2Ny4xMTM5OTggNTcuODM0IF0KICAgICAgICAgL0RvbWFpbiBbIDAgMSBdCiAg ICAgICAgIC9FeHRlbmQgWyB0cnVlIHRydWUgXQogICAgICAgICAvRnVuY3Rpb24gMTAgMCBSCiAg ICAgID4+CmVuZG9iagoxMiAwIG9iago8PCAvTGVuZ3RoIDEzIDAgUgogICAvRmlsdGVyIC9GbGF0 ZURlY29kZQogICAvVHlwZSAvWE9iamVjdAogICAvU3VidHlwZSAvRm9ybQogICAvRm9ybVR5cGUg MQogICAvQkJveCBbIDY2LjU0OTIzNiAxMDkuMDg4NDkyIDE4Mi41NjkyMTIgMjI1LjEwODQ2OCBd CiAgIC9SZXNvdXJjZXMKICAgICAgPDwgL0V4dEdTdGF0ZQogICAgICAgICAgICA8PCAvYTAgPDwg L2NhIDEgL0NBIDEgPj4gICAgICA+PgogICAgICAgICAvU2hhZGluZwogICAgICAgICAgICA8PCAv c2gxMSAxMSAwIFIgPj4KICAgICAgPj4KICAgL0dyb3VwCiAgICAgIDw8IC9UeXBlIC9Hcm91cAog ICAgICAgICAvUyAvVHJhbnNwYXJlbmN5CiAgICAgICAgIC9JIHRydWUKICAgICAgICAgL0NTIC9E ZXZpY2VHcmF5CiAgICAgID4+Cj4+CnN0cmVhbQp4nNNPNFBIL1bQL84wNFQozuACACTZBEwKZW5k c3RyZWFtCmVuZG9iagoxMyAwIG9iagogICAyNAplbmRvYmoKMTQgMCBvYmoKPDwgL1R5cGUgL01h c2sKICAgL1MgL0x1bWlub3NpdHkKICAgL0cgMTIgMCBSCj4+CmVuZG9iago3IDAgb2JqCjw8IC9U eXBlIC9FeHRHU3RhdGUKICAgL1NNYXNrIDE0IDAgUgogICAvY2EgMQogICAvQ0EgMQogICAvQUlT IGZhbHNlCj4+CmVuZG9iago4IDAgb2JqCjw8IC9UeXBlIC9PYmpTdG0KICAgL0xlbmd0aCAxNSAw IFIKICAgL04gMQogICAvRmlyc3QgNAogICAvRmlsdGVyIC9GbGF0ZURlY29kZQo+PgpzdHJlYW0K eJw9zb0OgjAUBeCdpziLK1CkAknDACbEwcSgm3EgeGNYKOmPkbe3rcHxfLnnngxpJASS27oQksvw IuzAIsAHRbMBQ4o+wJme09DID+6OUvCKx1nBecVQ5iwuy6o45HiE01bOxpU18n+7U9IuEMIHn3+L QTe6OlXDrBe/PK4bn2CUpS217upI72mkvms81nX435OWVo2ksQ+bjr8N7DXcCmVuZHN0cmVhbQpl bmRvYmoKMTUgMCBvYmoKICAgMTU5CmVuZG9iagoxNiAwIG9iago8PCAvVHlwZSAvT2JqU3RtCiAg IC9MZW5ndGggMTkgMCBSCiAgIC9OIDMKICAgL0ZpcnN0IDE3CiAgIC9GaWx0ZXIgL0ZsYXRlRGVj b2RlCj4+CnN0cmVhbQp4nE2Puw7CMAxF937F3WgHktg8hRALLIgFITZgiNqoRKCmSsLA39OGh1g8 XPvYPgSV0QyTrs7BapItl5DHZ2sg97o2IQMgd7YKOIGhcMAlRWv3aCIoW60SsfeuepTGIy+19Q4k aCamyK8xtmEhZUprr9urLYNwvi6K9xpvdHQdtm1uodTdWRIsGOcfaT+NHjr/U9Y1Gx0N8s2CFTMx jYlHUzUaqvlAqeL72ltmraO+uzrhSQzU2/RDLzUwRgIKZW5kc3RyZWFtCmVuZG9iagoxOSAwIG9i agogICAxODkKZW5kb2JqCjIwIDAgb2JqCjw8IC9UeXBlIC9YUmVmCiAgIC9MZW5ndGggODQKICAg L0ZpbHRlciAvRmxhdGVEZWNvZGUKICAgL1NpemUgMjEKICAgL1cgWzEgMiAyXQogICAvUm9vdCAx OCAwIFIKICAgL0luZm8gMTcgMCBSCj4+CnN0cmVhbQp4nGNgYPj/n4lBgIGBiYGDgYGR0QpIMPCD WCpAgqkASLBlgIj9ILHNIDFRIMEcDSRYPEESgiBCHUiwXwQRL0BGCQCVAQkmRk4poBinIQMDAPHh CEQKZW5kc3RyZWFtCmVuZG9iagpzdGFydHhyZWYKMjM1MwolJUVPRgo= --0000000000007a14b005efcfd342 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KSWYgeW91ciBxdWVzdGlvbiBpcyBvZiBpbnRlcmVz dCB0byBvdGhlcnMgYXMgd2VsbCwgcGxlYXNlIGFkZCBhbiBlbnRyeSB0byB0aGUgV2lraSEKCm1h aWxsaXN0IDogbnRnLWNvbnRleHRAbnRnLm5sIC8gaHR0cHM6Ly93d3cubnRnLm5sL21haWxtYW4v bGlzdGluZm8vbnRnLWNvbnRleHQKd2VicGFnZSAgOiBodHRwczovL3d3dy5wcmFnbWEtYWRlLm5s IC8gaHR0cDovL2NvbnRleHQuYWFuaGV0Lm5ldAphcmNoaXZlICA6IGh0dHBzOi8vYml0YnVja2V0 Lm9yZy9waGcvY29udGV4dC1taXJyb3IvY29tbWl0cy8Kd2lraSAgICAgOiBodHRwczovL2NvbnRl eHRnYXJkZW4ubmV0Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCg== --0000000000007a14b005efcfd342--