thanks, Hans— that's so much simpler an approach. i'll have to look into text effects to see what else can be done. many many thanks! ---K

Kevin W. Rudd, Ph.D.
CAPT, USN (Ret)

Computer Architecture & Computer Engineering 
Advanced Computing Systems (ACS) Research Program 
Laboratory for Physical Sciences (LPS) 

443-654-7878 
kevin@lps.umd.edu

Visiting Research Professor
United States Naval Academy

rudd@usna.edu


On Oct 8, 2021, at 07:36, Hans Hagen <j.hagen@xs4all.nl> wrote:

On 10/7/2021 4:14 PM, Rudd, Kevin via ntg-context wrote:
Hey---
I'm trying to insert outlined text (derived from MetaFun example code) into a document and it seems to work up to the point that the text has depth (descenders). There's a previous post that mentions using textcommand for titles to ensure that the appropriate baseline is used but I haven't figured out why that would work; for my purposes, I'm insert the text inline so that solution wouldn't work here. I have included a MWE that demonstrates the problem; I've tried putting both the text and the outlined text in a box, then adjusting the outlined text by the depth of the text itself but that doesn't seem to work. I expect that there's an easy way either in MP or ConTeXt, but I haven't found it yet.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% \OutlinedText[glyph][outline]{text}
\def\OutlinedText{\dodoubleempty\doOutlinedText}
\def\doOutlinedText[#1][#2]#3%
{%
    % ((((\type{#1}::\type{#2}::\type{#3}))))
    \ifsecondargument
        \makeOutlinedText{#1}{#2}{#3}%
    \else\iffirstargument
        \makeOutlinedText{#1}{black}{#3}%
    \else
        \makeOutlinedText{white}{black}{#3}%
    \fi\fi
}
\def\makeOutlinedText#1#2#3%
{%
    \startMPcode
    draw outlinetext.b("#3")
         (withcolor "#1")
         (withcolor "#2" withpen pencircle scaled 1/16);
    \stopMPcode
    \autoinsertnextspace
}
\starttext
    start
         \OutlinedText{aaa}
    and  \OutlinedText{Bbb}
    and  \OutlinedText{ggg}
    and  \OutlinedText{Yyy}
    finish
\stoptext
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
(Here is the code with my attemps to shift the baseline; the \dp & \wd approach seems to do nothing, and the \lower doesn't compile and I haven't pursued why yet.)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% \def\makeOutlinedText#1#2#3%
% {%
%     \newbox\tBox
%     \newbox\uBox
%     \setbox\tBox\hbox{#3}
%     \setbox\uBox
%     \hbox{%
%         \startMPcode
%         draw outlinetext.b("#3")
%              (withcolor "#1")
%              (withcolor "#2" withpen pencircle scaled 1/16);
%         \stopMPcode
%     }%
%     % \lower\uBox\dp\tBox
%     \ht\uBox=\ht\tBox
%     \dp\uBox=\dp\tBox
%     \unbox\uBox
%     \autoinsertnextspace
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Any feedback or suggestions would be appreciated.

\defineeffect[MyEffect][alternative=outer,rulethickness=.1pt]

\starttext
   start
              {\effect[MyEffect]{aaa}} \OutlinedText{aaa}
   and  {\red  \effect[MyEffect]{Bbb}} \OutlinedText{Bbb}
   and  {\green\effect[MyEffect]{ggg}} \OutlinedText{ggg}
   and  {\blue \effect[MyEffect]{Yyy}} \OutlinedText{Yyy}
   finish
\stoptext


Kevin W. Rudd, Ph.D.
CAPT, USN (Ret)
Computer Architecture & Computer Engineering
Advanced Computing Systems (ACS) Research Program
Laboratory for Physical Sciences (LPS)
443-654-7878
kevin@lps.umd.edu <mailto:kevin@lps.umd.edu>
Visiting Research Professor
United States Naval Academy
rudd@usna.edu <mailto:rudd@usna.edu>
___________________________________________________________________________________
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
___________________________________________________________________________________


--

-----------------------------------------------------------------
                                         Hans Hagen | PRAGMA ADE
             Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
      tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
-----------------------------------------------------------------