Ok, now that I've had some time to experiment with effects and attributes, here's what I ended up with. It uses an overlaid double draw to create outlined text with optional fill (white), border (black). I've only tested it with words so haven't worked out how it could be adapted to support longer strings (e.g. the \hbox+\rlap hack likely will disappoint/fail in that case). For parameter simplicity, I don't allow specifying the outline width separately; but that might be another good exercise to use key–value parameters instead.

Thanks for the help,
 ---K

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% \OutlinedText[fill][outline]{text}
\def\OutlinedText{\dodoubleempty\doOutlinedText}

\def\doOutlinedText[#1][#2]#3%
{%
    \ifsecondargument
        \makeOutlinedText{#1}{#2}{#3}%
    \else\iffirstargument
        \makeOutlinedText{#1}{black}{#3}%
    \else
        \makeOutlinedText{white}{black}{#3}%
    \fi\fi
}

\defineeffect[OuterEffect][alternative=outer,rulethickness=0.1pt]
\defineeffect[InnerEffect][alternative=inner,rulethickness=0.1pt]

\def\makeOutlinedText#1#2#3%
{%
    \hbox%
    {%
        \rlap{\color[#1]{\effect[InnerEffect]{#3}}}%
              \color[#2]{\effect[OuterEffect]{#3}}%
    }%
    \autoinsertnextspace
}

%%%%%%%%%%%%%%%%%%

\starttext
    \OutlinedText[red][yellow]{Arguments: red yellow \ldots}\\
    \OutlinedText[red]{Arguments: red \ldots}\\\\
    \OutlinedText{Arguments: \ldots}\\
\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

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
-----------------------------------------------------------------