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