如果字体需要使用 CMYK 颜色模型,那么可以使用 fontspec 来管理文档的字体吗?fontspec 文档,第 6.1 节说 fontspec 使用 RGB 颜色。我的实验(下面的 MWE)似乎证实 fontspec 会将传递给它的 CMYK 颜色转换为明显不同的 RGB 等效颜色。
MWE 的 PDF 输出(使用 XeLaTeX、fontspec、xcolor):
梅威瑟:
\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}