ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
From: Mohammad Hossein Bateni <bateni@gmail.com>
To: mailing list for ConTeXt users <ntg-context@ntg.nl>
Subject: lmt_outline
Date: Wed, 10 Mar 2021 19:38:50 -0500	[thread overview]
Message-ID: <CAMHZ1daG=GEUSmFBZi6KO=MO-SfLpghsWArQs_N0kSmQmN0WYA@mail.gmail.com> (raw)


[-- Attachment #1.1: Type: text/plain, Size: 1821 bytes --]

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 = "سلام",
  drawcolor = "red",
  fillcolor = "white",
  kind = "reverse",
  align = "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

[-- Attachment #1.2: Type: text/html, Size: 2140 bytes --]

[-- Attachment #2: outline.pdf --]
[-- Type: application/pdf, Size: 5941 bytes --]

[-- Attachment #3: Type: text/plain, Size: 493 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://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki     : http://contextgarden.net
___________________________________________________________________________________

             reply	other threads:[~2021-03-11  0:38 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-11  0:38 Mohammad Hossein Bateni [this message]
2021-03-11  4:07 ` lmt_outline Aditya Mahajan
2021-03-12  2:05   ` lmt_outline Mohammad Hossein Bateni

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAMHZ1daG=GEUSmFBZi6KO=MO-SfLpghsWArQs_N0kSmQmN0WYA@mail.gmail.com' \
    --to=bateni@gmail.com \
    --cc=ntg-context@ntg.nl \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).