轮廓字符

轮廓字符

当字符本身是某种颜色时,我如何才能制作出轮廓鲜明的字符。一张图片来说明我想要什么:
在此处输入图片描述

上述问题在于:

  • 字母周围的轮廓宽度不一致。
  • 按照我的方法(使用 tikz,在彩色节点下方有一个放大的黑色节点),没有简单的方法来控制轮廓的宽度。

您知道用 TeX 实现此目的的方法吗?我使用的是 XeTeX 的纯格式,但我对所有实现此目的的方法都很感兴趣。

答案1

pst 文本包可以做到这一点。

\documentclass{minimal}
\usepackage{pst-text}
\DeclareFixedFont{\RM}{T1}{ptm}{b}{n}{2cm}

\begin{document}
  \pscharpath[fillstyle=solid,fillcolor=magenta!50]{\RM TeXnik}
\end{document}

也许您可以将其迁移到普通的 (Xe)TeX。


在此处输入图片描述

答案2

轮廓包也可以这样做。您需要使用 Type 1 字体(查看文档);以下是示例代码

\documentclass[12pt,a4paper]{article}
\usepackage[T1]{fontenc}
\usepackage{pslatex}
\usepackage{contour}
\usepackage{color}
\pagestyle{empty}
\begin{document}
\contourlength{2pt} %how thick each copy is
\contournumber{20}  %number of copies
\contour{red}{\Huge \textcolor{green}{This is the text.}}\\
\end{document}

输出为:在此处输入图片描述 将轮廓长度更改为 1pt 将使轮廓不太明显。

答案3

pdfrenderpdfTeX 或 LuaTeX包(较新版本需要包luatex85)允许使用许多参数配置轮廓,如填充颜色、描边颜色或描边线宽。

由于 pdfTeX 的颜色堆栈,分页符也支持颜色设置。

例子:

\documentclass[12pt]{article}
% \usepackage{luatex85} % for LuaTeX
\usepackage{xcolor}
\usepackage{pdfrender}
\definecolor{CharFillColor}{rgb}{1,.8,.8}
\begin{document}
  \sffamily
  \textpdfrender{
    TextRenderingMode=FillStroke,
    LineWidth=.2pt,
    FillColor=CharFillColor,
  }{Lorem ipsum.}
\end{document}

结果

答案4

几年后,我在一份名为“DVIPDFMx 中特殊命令的实际使用”,作者:Jin-Hwan Cho(TUG2005),我找到了有关与 dvipdfmx 一起使用的低级 PDF 命令的信息:

\special{pdf:bcolor [.8 0 .8] [0]} % two arrays: first defines fill, second the stroke.
% If array has one entry, it's meaning grayscale, if three: RGB, if four: CMYK.
\special{pdf:literal direct .4 w 2 Tr} % .4 here is the stroke width
F
\bye

在此处输入图片描述

相关内容