fontspec 能适用于 CMYK 颜色吗?

fontspec 能适用于 CMYK 颜色吗?

如果字体需要使用 CMYK 颜色模型,那么可以使用 fontspec 来管理文档的字体吗?fontspec 文档,第 6.1 节说 fontspec 使用 RGB 颜色。我的实验(下面的 MWE)似乎证实 fontspec 会将传递给它的 CMYK 颜色转换为明显不同的 RGB 等效颜色。

MWE 的 PDF 输出(使用 XeLaTeX、fontspec、xcolor):

MWE 的 PDF 输出(使用 XeLaTeX);fontspec 将 CMYK 颜色更改为近似的 RGB 等效颜色

梅威瑟:

\documentclass[a4paper]{article} 

\usepackage{fontspec}
\usepackage{xcolor}

\definecolor{mycyan}{cmyk}{1,0,0,0}
\definecolor{mymagenta}{cmyk}{0,1,0,0}
\definecolor{myyellow}{cmyk}{0,0,1,0}
\definecolor{myblack}{cmyk}{0,0,0,1}

\begin{document} 

Without fontspec:

\textcolor{mycyan}{\rule{10pt}{10pt}}
\textcolor{mycyan}{XXX Cyan text (CMYK 1,0,0,0)}

\textcolor{mymagenta}{\rule{10pt}{10pt}}
\textcolor{mymagenta}{XXX Magenta text (CMYK 0,1,0,0)}

\textcolor{myyellow}{\rule{10pt}{10pt}}
\textcolor{myyellow}{XXX Yellow text (CMYK 0,0,1,0)}

\textcolor{myblack}{\rule{10pt}{10pt}}
\textcolor{myblack}{XXX Black text (CMYK 0,0,0,1)}

With fontspec:

\textcolor{mycyan}{\rule{10pt}{10pt}}
\fontspec[Color=mycyan]{Arial} XXX Cyan text (CMYK 1,0,0,0)

\textcolor{mymagenta}{\rule{10pt}{10pt}}
\fontspec[Color=mymagenta]{Arial} XXX Magenta text (CMYK 0,1,0,0)

\textcolor{myyellow}{\rule{10pt}{10pt}}
\fontspec[Color=myyellow]{Arial} XXX Yellow text (CMYK 0,0,1,0)

\textcolor{myblack}{\rule{10pt}{10pt}}
\fontspec[Color=myblack]{Arial} XXX Black text (CMYK 0,0,0,1)

\end{document}

答案1

\textcolor如果您使用fontspec 的选项,Fontspec 可以使用 CMYK 颜色Color

\documentclass{article}

\usepackage{xcolor}
\usepackage{fontspec}

\definecolor{mycyan}{cmyk}{1,0,0,0}

\begin{document}

Without fontspec:

\textcolor{mycyan}{\rule{10pt}{10pt}}
\textcolor{mycyan}{XXX Cyan text (CMYK 1,0,0,0)}

With fontspec:

\textcolor{mycyan}{\rule{10pt}{10pt}}
\textcolor{mycyan}{\fontspec{Arial} XXX Cyan text (CMYK 1,0,0,0)}

\end{document}

在此处输入图片描述

相关内容