我无法弄清楚如何BLACK RIGHT-POINTING SMALL TRIANGLE
在 ConTeXt 中的逐项列表中使用 ▸(又名)作为项目符号。
我的第一个想法是这应该可行:
\setupitemize[1][compact][symbol={▸}]
\starttext
\startitemize
\item This is an item in a list
\item So is this
\stopitemize
\stoptext
似乎不行。我也尝试过这个:
\definesymbol[1][{▸}]
我究竟做错了什么?
编辑我仍然卡住了,现在我想知道是不是因为我的打字稿有问题。我有这样的代码:
\starttypescript [sans] [roboto]
\definefontsynonym [Sans] [Roboto Condensed Light]
\definefontsynonym [SansBold] [Roboto Condensed Bold]
\definefontsynonym [SansItalic] [Roboto Condensed Light Italic]
\definefontsynonym [SansBoldItalic] [Roboto Condensed Bold Italic]
\stoptypescript
\definetypeface[roboto][rm][sans][roboto][default]
\definetypeface[roboto][ss][sans][roboto][default]
\definetypeface[roboto][tt][mono][modern][default]
\definetypeface[roboto][mm][math][iwona] [default]
\setupbodyfont[roboto,ss,10pt]
我想要的项目符号是在 Lucida 中定义的,我的系统上也有这个,但我尝试了这个,它似乎也用 Lucida 覆盖了正文字体:
\definefontfallback [lucida_fallback] [Lucida] [0x25B8] [force=no]
\definefontsynonym [Fallback] [roboto] [fallbacks=lucida_fallback]
\definefont [Roboto] [Fallback]
\setupbodyfont[Roboto,ss,10pt]
所以我不知道如何整合信息这个答案参考下面(之前接受的)答案中的建议。我认为simplefonts
它本身并不能满足我的要求,因为我真的希望字体的细体变体成为默认字体,而不是常规粗体。
答案1
如果你只想要这一个符号,回退机制可能有点夸张。你可以使用 \getglyph 命令:
\definesymbol [1] [\getglyph{name:xits-math}{\char"25B6}]
\starttext
\startitemize
\item This is an item in a list
\item So is this
\stopitemize
\stoptext
(我没有 lucida 字体,但我认为这是您想要的符号)。
答案2
您需要一种具有该符号的字体(如果我没记错的话,还要使用正确的符号定义方式)。以下是一个例子确实有效,定义一个后备(Lucida),主字体为 Roboto Condensed Light。
\usemodule[simplefonts]
\setmainfont[Roboto Condensed Light]
\setmainfontfallback[Lucida]
[%range={0x00000-0xFFFFFF},% If you want to avoid thinking, the whole range
range=0x025B8,% Just the ▸ symbol
force=no,rscale=auto]
\definesymbol[blacktriangle][▸]
\setupitemize[1][packed][symbol=blacktriangle]
\starttext
\startitemize
\item This is an item in a list
\item So is this
\stopitemize
\stoptext
如果您的字体没有该符号,您可以随时使用 (Con)TeX(t) 命令来创建符号,例如\definesymbol[blacktriangle][$\blacktriangleright$]
。如果字体中存在字形,您可以随时使用\Uchar
(或传统\char
)来输入它。例如,使用 Minion Pro
\definesymbol[blacktriangle][\Uchar"E0B8]
答案3
要为文档中的某些字符设置不同的字体,您可以将该\definefallbackfamily
命令与该\definefontfamily
命令一起使用。
\definefallbackfamily [roboto] [ss] [Latin Modern Math] [range=0x025B6]
\definefontfamily [roboto] [ss] [Roboto] [tf=style:light,it=style:lightitalic] % bf=style:regular,bi=style:italic
\definefontfamily [roboto] [mm] [Latin Modern Math]
\definesymbol[blacktriangle][▶︎]
\setupbodyfont[roboto,10pt]
\starttext
Regular {\it Italic} {\bf Bold} {\bi Bolditalic}
\startitemize[blacktriangle]
\item This is an item in a list
\item So is this
\stopitemize
\stoptext
此方法还允许您设置使用不同的字体作为字体的常规和斜体替代。