纯 XeTeX 中的轮廓文本?

纯 XeTeX 中的轮廓文本?

我使用纯 XeTeX。有人要求我在排版文档中包含一个三叶草字符(我在 Unicode 2618 中找到了),但仅限于轮廓。优秀的 PST-Text 包(第 6 页)中的示例看起来很有希望,但我还没有设法实现任何轮廓文本。欢迎任何建议!John Waś

答案1

TeX 解决方案

\font\zz=pxsyc
From pxfonts: {\zz  p}

\font\xx=txsyc
From txfonts: {\xx  p}
\bye

在此处输入图片描述

LaTeX 解决方案

我找到了三种支持俱乐部轮廓的字体,、pxfontstxfontsarev然而,在 xelatex 中,pxfonts似乎呈现为 times,而不是 palatino(不确定为什么)。

当然,这些软件包会更改整个文档的字体。如果这不可接受,通常可以导入单个字形(如果需要)。

\documentclass[12pt]{article}
\usepackage{pxfonts}% $\varclubsuit$
%\usepackage{txfonts}% $\varclubsuit$
%\usepackage{arev}% $\varclub$
\begin{document}
pxfonts: $\varclubsuit$
%txfonts: $\varclubsuit$
%Arev: $\varclub$
\end{document}

在此处输入图片描述

在此处输入图片描述

在此处输入图片描述

对于使用 pdf specials 的另一种 LaTeX 解决方案(仅限 pdftex 和 pdflatex),其方式如下使用 TrueType 字体勾勒文本轮廓,有这个。我认为 pdf specials 可能可以通过纯 TeX 获得,但我不确定如何获得。

\documentclass{article}
\usepackage{xcolor}
\input pdf-trans
\newbox\qbox
\def\usecolor#1{\csname\string\color@#1\endcsname\space}
\newcommand\bordercolor[1]{\colsplit{1}{#1}}
\newcommand\fillcolor[1]{\colsplit{0}{#1}}
\newcommand\outline[1]{\leavevmode%
  \def\maltext{#1}%
  \setbox\qbox=\hbox{\maltext}%
  \boxgs{Q q 2 Tr \thickness\space w \fillcol\space \bordercol\space}{}%
  \copy\qbox%
}
\newcommand\shadowfy[1]{\expandafter\shadowfypars#1\par\relax\relax}
\long\def\shadowfypars#1\par#2\relax{%
  \ifx#1\relax\else
    \shadowfywords#1 \relax\relax%
  \fi%
  \ifx\relax#2\else\par\shadowfypars#2\relax\fi%
}
\def\shadowfywords#1 #2\relax{%
  \outline{#1}%
  \ifx\relax#2\else\ \shadowfywords#2\relax\fi%
}
\newcommand\colsplit[2]{\colorlet{tmpcolor}{#2}\edef\tmp{\usecolor{tmpcolor}}%
  \def\tmpB{}\expandafter\colsplithelp\tmp\relax%
  \ifnum0=#1\relax\edef\fillcol{\tmpB}\else\edef\bordercol{\tmpC}\fi}
\def\colsplithelp#1#2 #3\relax{%
  \edef\tmpB{\tmpB#1#2 }%
  \ifnum `#1>`9\relax\def\tmpC{#3}\else\colsplithelp#3\relax\fi
}
\begin{document}
\bordercolor{black}
\fillcolor{white}
\def\thickness{.1}
\newcommand\mytext{$\clubsuit$}%
\shadowfy{\mytext}

\def\thickness{0.15}
\bordercolor{blue!70!black}
\fillcolor{yellow}
\shadowfy{\mytext}

\bordercolor{black}
\fillcolor{white}
\def\thickness{.5}{\Huge\shadowfy{$\clubsuit$}}
\end{document}

在此处输入图片描述

相关内容