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