From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.comp.tex.context/110818 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Mohammad Hossein Bateni Newsgroups: gmane.comp.tex.context Subject: lmt_outline Date: Wed, 10 Mar 2021 19:38:50 -0500 Message-ID: Reply-To: mailing list for ConTeXt users Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="0000000000007a394505bd3802bd" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="3133"; mail-complaints-to="usenet@ciao.gmane.io" To: mailing list for ConTeXt users Original-X-From: ntg-context-bounces@ntg.nl Thu Mar 11 01:39:47 2021 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 1lK9Mg-0000kB-Nv for gctc-ntg-context-518@m.gmane-mx.org; Thu, 11 Mar 2021 01:39:46 +0100 Original-Received: from localhost (localhost [127.0.0.1]) by zapf.ntg.nl (Postfix) with ESMTP id F41BF28163C; Thu, 11 Mar 2021 01:39:08 +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 0pO-dw0CrVzP; Thu, 11 Mar 2021 01:39:06 +0100 (CET) Original-Received: from zapf.ntg.nl (localhost [127.0.0.1]) by zapf.ntg.nl (Postfix) with ESMTP id 8451B281638; Thu, 11 Mar 2021 01:39:06 +0100 (CET) Original-Received: from localhost (localhost [127.0.0.1]) by zapf.ntg.nl (Postfix) with ESMTP id 424B628162D for ; Thu, 11 Mar 2021 01:39:04 +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 d-Ig2fVCR60t for ; Thu, 11 Mar 2021 01:39:03 +0100 (CET) Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=209.85.219.172; helo=mail-yb1-f172.google.com; envelope-from=bateni@gmail.com; receiver= Original-Received: from mail-yb1-f172.google.com (mail-yb1-f172.google.com [209.85.219.172]) (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 CBB592810A3 for ; Thu, 11 Mar 2021 01:39:02 +0100 (CET) Original-Received: by mail-yb1-f172.google.com with SMTP id u75so19852779ybi.10 for ; Wed, 10 Mar 2021 16:39:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=8lzB/pv7ZgaEq60Ls+e6BNmwGjMx1X1KUtFfsqV+W6M=; b=Lq2qYeKjIh8dsb4mkPfrXDmxk+7+lMINa+0PmSusIf8XD1O7CLBatgdhy9uJAAzFI0 +nddeKBBjctcO8XGQ2ZJTLQafTff6QI1P5ztlVOrViLjWrJsAchVGFLuA2zkMDfvqRSb IqNdSBeKjPo42BSrr1wlFBwBluP7Xxmx/otdgvUgZ9Q37WVjYoi5DSJP1jZF1Q8wJ8+C 31AyX6TMRc7fcxFSP8+eNKd7iz9neK9a/n6hswt60OlGTIKLgy2DLkN47yBEx+3sj1pO DlLWQYVeQkHOREWr/FPbqgn/OVA3hfMbHpr+Bdx5ctCa6/SbJhWj2922QzQ/2cGdFw28 pmgA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=8lzB/pv7ZgaEq60Ls+e6BNmwGjMx1X1KUtFfsqV+W6M=; b=uUPq81rcOYpLIwjG8MVypMi9vauKTLLv9IJv5mtM7IobX7vBVdYwDqwHYgyGoITKDq jmYgrTr90Yw4LtEGSy/osFHRh6HZQ+Z8ltImbxAHoUCmNPAkwXyH100Hb+ysOqo4UaqS 62bwiEHTpMoFFu1njhRIBjDh7fujJGsqmkDnU8io9lFlxvzV9ZKzcblIsLd5q1o3bE4d 4srZlyXrjFX/NvFzIk3jbgrNTsl6lIpooFqTdez+vXmHCU2LbqmRI1ZWZ4Ol2zL8wK0a wRaQ3vBtfy0CXpBXMQsjQ04Nd6vNaGvyqfjSHiul4MeOKkBLfbs7OOmIDEKmDtqNef7C lpeg== X-Gm-Message-State: AOAM532KNkzZWgIR4ImboPzUB4OiiWRFibaq/5LlKJqU6Czz/Df+rRwB j9kSycNhjC7D4EOA9xub+Qgjr+JcGHHDT79arb9Gesg4/pI= X-Google-Smtp-Source: ABdhPJxic8kzLvfNtm2EnCQ2OoX4AhGZzMwEVmoQFe6JNXAL+C3JgsXWQ7QF5JaqsQOzfNvB1sWAKTA2WvLYixplNXg= X-Received: by 2002:a05:6902:102d:: with SMTP id x13mr7573727ybt.264.1615423140921; Wed, 10 Mar 2021 16:39:00 -0800 (PST) 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:110818 Archived-At: --0000000000007a394505bd3802bd Content-Type: multipart/alternative; boundary="0000000000007a393f05bd3802bb" --0000000000007a393f05bd3802bb Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hello, Hans said he's in the metapost mode now :) I have used lmt_outline in the following example and it is really an improvement over the previous outline "effect" because one can set the fillcolor and drawcolor separately. (that was not possible before, right?) \starttext \definedfont[dejavusansmono*arabic] \setupalign[r2l] \startMPcode draw lmt_outline [ text =3D "=D8=B3=D9=84=D8=A7=D9=85", drawcolor =3D "red", fillcolor =3D "white", kind =3D "reverse", align =3D "r2l", ] scaled 3mm; \stopMPcode \stoptext 1. This works well on a plain background. I can specify the background color in fillcolor and get the outline effect. When the background is an image, this does not work too well. Can we use some clip trickery to allow for "transparent" fill? Ideally I want to set the fillcolor to a special value that would lead to only the outlines drawn. Now you'd say, that was already available via the outline "effect" before. Not quite. If a character is formed by more than one curve in the font, then we'd see some lines drawn inside the character. The new lmt_outline mechanism allows one to paint over those. Which brings me to the next problem. 2. The current mechanism draws/fills the characters one by one. In Farsi/Arabic where we have joint characters, the boundaries of letters gets drawn even in the new mechanism. See the attached PDF of the above MWE. The text consists of four characters, the 2nd and 3rd form a ligature which is joined to the 1st character. The 4th char is not joined and stands alone. Now you see the red connection between the 1st char and the ligature following it. It would be nice if the text was allowed to be processed as a whole (or at least be broken into space delimited pieces) which is drawn and then filled. Thanks, MHB --0000000000007a393f05bd3802bb Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hello,

Hans said he's in= the metapost mode now :)

I have used lmt_outline = in the following example and it is really an improvement over the previous = outline "effect" because one can set the fillcolor and drawcolor = separately.=C2=A0 (that was not possible before, right?)

\starttext
\definedfont[dejavusansmono*arabic]
\setupalign[r2l= ]
\startMPcode
draw lmt_outline [
=C2=A0 text =3D "=D8=B3=D9= =84=D8=A7=D9=85",
=C2=A0 drawcolor =3D "red",
=C2=A0 f= illcolor =3D "white",
=C2=A0 kind =3D "reverse",
= =C2=A0 align =3D "r2l",
] scaled 3mm;
\stopMPcode
\stopt= ext

1. This works well on a plain background.= =C2=A0 I can specify the background color in fillcolor and get the outline = effect.=C2=A0 When the background is an image, this does not work too well.= =C2=A0 Can we use some clip trickery to allow for "transparent" f= ill?=C2=A0 Ideally I want to set the fillcolor to a special value that woul= d lead to only the outlines drawn.

Now you'd s= ay, that was already available via the outline "effect" before.= =C2=A0 Not quite.=C2=A0 If a character is formed by more than one curve in = the font, then we'd see some lines drawn inside the character.=C2=A0 Th= e new lmt_outline mechanism allows one to paint over those.=C2=A0 Which bri= ngs me to the next problem.

2. The current mechani= sm draws/fills the characters one by one.=C2=A0 In Farsi/Arabic where we ha= ve joint characters, the boundaries of letters gets drawn even in the new m= echanism.=C2=A0 See the attached PDF of the above MWE.=C2=A0 The text consi= sts of four characters, the 2nd and 3rd form a ligature which is joined to = the 1st character.=C2=A0 The 4th char is not joined and stands alone.=C2=A0= Now you see the red connection between the 1st char and the ligature follo= wing it.=C2=A0 It would be nice if the text was allowed to be processed as = a whole (or at least be broken into space delimited pieces) which is drawn = and then filled.

Thanks,
MHB
--0000000000007a393f05bd3802bb-- --0000000000007a394505bd3802bd Content-Type: application/pdf; name="outline.pdf" Content-Disposition: attachment; filename="outline.pdf" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_km455shf0 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 rd/gwve3hqjBPetW8AN8Vu6PIuOkgvO3vBhdcg4FEs6ZLJNpSDDqGsyS9qssE23KWpJjRRzCzAdd 8DRoSXto61pIlVDBFXTqSCQD7nJQF8wRt2R/AtmgDU25rh+6QWT5fhyuL8gjbEn+kB4+o/9MS7Bb 7phCtUd9CQaNeaTHfmiJ3pxyu/6Y7yKygN+1nOorQ8pCPZmC/fCSuMQs6Cg9Jrxyx+MY8s1iC87H kih9ZxP0cds51xe0Kdxb/FtNjNPrZQ93pEYL+9rCiIlv9TyAPf5mrvqXfy+QZ6aQByHKpP9UK8Rm m2ugm2e9sQZDWunj/Sezv3TBpDqoGNlUsCJ/ek1BM2TPxLHMiCKv4s6x39dhdNt/TonZkIh/gqeT kKzpzRx/lIK1FOTQM0f3zJj5HDG4g8RJDiy5I2WDY26+9X31YovS9P89UVWDLdI03gva6icGp1bb FizO1lfrILhZOStCiZOREJyb6BqckNDMD7KI5hu69UySOVefDO7c80YRTmFUy3PIr2kUOaubfOWs 85srVMtWTgiwZlEI1z6Eo9qM+8KXm9uBrzC+ANObnWynNx84PvQnfNH/ATbWtdIKZW5kc3RyZWFt CmVuZG9iagoxMiAwIG9iago8PCAvU3VidHlwZSAvQ0lERm9udFR5cGUwQyAvRmlsdGVyIC9GbGF0 ZURlY29kZSAvTGVuZ3RoIDI5MyA+PgpzdHJlYW0KeF5jZGBhYWBkZJR08/NxcQ3Q9vENys9NzDM0 0g1KTS/NSSwCSSb8kP+h0M0jd49H6YcM8w9Zph9yLH+sfq+RYS369Zu1m4exm4fptzMP83Yell4e NjkuBvnubgjJw97NwyHLwMDwXBBE3uEHkoxePCogzn0e1UUgrrEQAzsjIxu/gpq2sbeRnoGBCdwR GK7xyy/KTcxxTMlPSvVMSc0rySypxOlwoBVBzAyMQIqBiYGJkZHJna97xY/NK06XM37Pv8D8Q09s RQ67ccf09fI/TrAv6u4plysojkxTkc5jX7S3e+kh+T9z2dM76o3lcvLYepe96V4jveZ1d+cyeb4f dSI/xUXLFvxwnvU9f+rkBWzdPJzdPNyggOL5ocijBvUUAElmaT4KZW5kc3RyZWFtCmVuZG9iagox MyAwIG9iago8PCAvRmlsdGVyIC9GbGF0ZURlY29kZSAvTGVuZ3RoIDU2NiA+PgpzdHJlYW0KeF59 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 KETkCREGGDEPEyGkEMLHR2qMPJ/tDWvY4H208XyGkYfxfIDNCDEi+Jj7jhFnsOewAYunTYTROebc /0f8iQvHBGDgN/3ViUOCkm83HxWiv+gs936QezVIsRKCm8vk/yUWujfvM93SYtcrlHopHcFiY3ou uu0Lx7QFb5cWD8pJWc6cleVsI6gcIUtWIgqHS6CaRue4LKrqNFrtb389x6gKZW5kc3RyZWFtCmVu ZG9iagoxOCAwIG9iago8PCAvSUQgWyA8ODZDNTMwNDEwNkQ2MjBDQkUxREJGMEY4OTVDNENCNjQ+ IDw4NkM1MzA0MTA2RDYyMENCRTFEQkYwRjg5NUM0Q0I2ND4gXSAvSW5mbyAxNyAwIFIgL1Jvb3Qg MTYgMCBSIC9TaXplIDE5IC9UeXBlIC9YUmVmIC9XIFsgMSAyIDEgXSAvRmlsdGVyIC9GbGF0ZURl Y29kZSAvTGVuZ3RoIDYzID4+CnN0cmVhbQp4XhXIwQ2AIBQE0VlQRGMMMcGO6IuLFduA+w/vMAOQ yMXQPRA9WlYtqX7Rq2VbdE50FdTe+Jvtduhp/G3LAzgKZW5kc3RyZWFtCmVuZG9iagpzdGFydHhy ZWYKNTY0OAolJUVPRg== --0000000000007a394505bd3802bd Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KSWYgeW91ciBxdWVzdGlvbiBpcyBvZiBpbnRlcmVz dCB0byBvdGhlcnMgYXMgd2VsbCwgcGxlYXNlIGFkZCBhbiBlbnRyeSB0byB0aGUgV2lraSEKCm1h aWxsaXN0IDogbnRnLWNvbnRleHRAbnRnLm5sIC8gaHR0cDovL3d3dy5udGcubmwvbWFpbG1hbi9s aXN0aW5mby9udGctY29udGV4dAp3ZWJwYWdlICA6IGh0dHA6Ly93d3cucHJhZ21hLWFkZS5ubCAv IGh0dHA6Ly9jb250ZXh0LmFhbmhldC5uZXQKYXJjaGl2ZSAgOiBodHRwczovL2JpdGJ1Y2tldC5v cmcvcGhnL2NvbnRleHQtbWlycm9yL2NvbW1pdHMvCndpa2kgICAgIDogaHR0cDovL2NvbnRleHRn YXJkZW4ubmV0Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCg== --0000000000007a394505bd3802bd--