如何在 pdflatex 中使用彩色牛字体?

如何在 pdflatex 中使用彩色牛字体?

我已成功下载并安装了 Hoekwater 的“牛字体”,以便可以将它们与 pdflatex 一起使用 - 请参阅下面的示例文档。特别是,我喜欢棕色的牛!

但是如何使用 pdflatex 获取彩色牛字体(或绵羊字体)?(Taco Hoekwater 和 Hans Hagen 撰写的 TUGboat 文章 [第 37 卷(2016 年),第 3 期,第 306-310 页]“Cowfont(koeieletters)更新”展示了如何仅使用 ConTeXt 来做到这一点。

\documentclass[extrafontsizes,48pt]{memoir}
\usepackage[T1]{fontenc}

\DeclareFontFamily{T1}{CowFont}{}
\DeclareFontShape{T1}{CowFont}{m}{n}{<-> koeieletters}{}

\begin{document}

\usefont{T1}{CowFont}{m}{n}

Moo!

\end{document}

有黑色斑点的奶牛

摘自 Hoekwater & Hagen TUGboat 文章

以下是文章中的一些代码,在 ConTeXt 中,它们应该可以生成彩色的奶牛(或绵羊):

\definecolor[cowred] [r=.50]
\definecolor[cowgreen] [g= . 50]
\definecolor[cowblue] [b=.50] 
\definecolor[cowyellow] [y=.25]
\definefontcolorpalette[cows]
  [cowgreen,cowyellow,cowblue,cowred] 
\adaptfontfeature[sheepcolored] [colr=cows]

\usetypescript[all] [cowsotf]
\definefontcolorpalette[cows-1] cowyellow,cowblue,cowred]
\definefontcolorpalette[cows-2] [cowred, cowyellow,cowblue,cowgreen]
\definefontcolorpalette[cows-3] [cowgreen, cowyellow,cowred,cowblue]

\definefontfeature[cows-1] [cowscolored] [colr=cows-1]
\definefontfeature[cows-2] [cowscolored] [colr=cows-2]
\definefontfeature[cows-3] [cowscolored] [colr=cows-3]

\definedfont[Cows*cows-1 at 30pt] red\quad
\definedfont[Cows*cows-2 at 30 pt] green\quad
\definedfont[Cows*cows-3 at 30pt] blue

输出应该是:

红色、绿色、蓝色的奶牛

我不了解 ConTeXt。而且这篇文章没有充分区分(至少对我来说)所涉及的包中的内容和用户文档中的内容——这是 TeX 文档中常见的错误!]。所以我不知道前面代码的哪一部分必须放在实际文档中,也不知道必须包含哪些其他代码才能制作出可用的 ConTeXt 文档。

然后,让我完全困惑的是,文章的最后写了以下内容。

“要快速使用这些字体,您可以使用以下其中一种:

\setupbodyfont[koeieletters]
\setupbodyfont[cows] 
\setupbodyfont[coloredcows] 
\setupbodyfont[sheep] 
\setupbodyfont[coloredsheep]

其中 koeieletters 变体等于羊。”

答案1

我处理了以下事情。

要求

  • LuaTeX,版本 1.06.0。我从 w32tex.org 获得了这个二进制文件,幸运的是,我已经设置好了使用它的设置,而不会干扰我正常的 tex 系统。
  • 新的字体加载器:luatex-fonts-merged-lua从当前上下文最小值中获取并告诉 luaotfload 将其用作带有luaotfload.conf文件的字体加载器。(旧版字体加载器会出现错误)。
  • 更改了 luaotfload-letterspace.lua,因为默认的 luaotfload-letterspace.lua 不适用于新的字体加载器(我在之前的测试中已经拥有它了)。
  • 当然还有字体。emoj 字体在我的系统中的某个地方,cow-font 是我从 context minimals 中复制过来的(也许它也在 texlive 的某个地方)。

添加

我上传了一个fontloader-luaotfload包含替代字体加载器、更改后的 luaotfload-letterspace.lua 的包到 CTAN,并在文档中介绍了一些如何使用开发 luatex 的提示。

结果

我对这些颜色表示抱歉,但要找到如何将它们改得更漂亮并不容易。

\documentclass{article}

\directlua{fonts.handlers.otf.registerpalette("demo", {
        { g = 0 },
        { g =0.5 },
        { r = 1  },
        { r = 1, b= 1},
    }
    )}


\begin{document}
\font\Emoj={file:seguiemj.ttf:mode=node;colr=yes;}
     \Emoj \char"2661 \char"1F34D \char"1F986
\font\Emoj={file:seguiemj.ttf:mode=node;colr=demo;}
     \Emoj \char"2661 \char"1F34D \char"1F986

\font\cow={file:koeielettersot.ttf:mode=node;colr=demo;} at 30pt
    \cow ABC

\end{document}    

在此处输入图片描述

添加

我掌握了颜色的窍门。第二个条目用于牛的身体,第四个条目用于斑点和 emoij 字体中的颜色。最好设置所有 rgb 值。所以这里给出橙色和蓝色:

\directlua{fonts.handlers.otf.registerpalette("demo", {
        { g = 0 },
        { g = 0.5, b=0, r=1 },
        { r = 1  },
        { r = 0, b= 1, g= 0},
    }
    )}

在此处输入图片描述

相关内容