4

I'm having trouble figuring out how to use ▸ (AKA BLACK RIGHT-POINTING SMALL TRIANGLE) as the bullet in my itemized lists in ConTeXt.

My first thought is that this should work:

\setupitemize[1][compact][symbol={▸}]

\starttext

\startitemize
\item This is an item in a list
\item So is this
\stopitemize

\stoptext

It doesn't seem to. I also tried this:

\definesymbol[1][{▸}]

What am I doing wrong?

Edit I am still stuck, and now I'm wondering if it's because there is something wrong with my typescript. I have this code:

\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]

The bullet I want is defined in Lucida, which I have on the system as well, but I tried this and it seems to also override the body font with Lucida:

\definefontfallback [lucida_fallback] [Lucida] [0x25B8] [force=no]

\definefontsynonym [Fallback] [roboto] [fallbacks=lucida_fallback]

\definefont [Roboto] [Fallback]

\setupbodyfont[Roboto,ss,10pt]

So I'm not seeing how to integrate the information in this answer with the advice in the (previously accepted) answer below. I don't think simplefonts by itself does what I want because I really want the light variant of the font to be the default rather than the regular weight.

3 Answers 3

5

If you want just this one symbol, the fallback mechanism may be a bit overblown. You can use the \getglyph command:

\definesymbol [1] [\getglyph{name:xits-math}{\char"25B6}]

\starttext

\startitemize
  \item This is an item in a list
  \item So is this
\stopitemize

\stoptext

(I don't have the lucida font, but I think this is the symbol you want).

4

You need a font that has that symbol (and also use the proper way of defining symbols, if I'm not mistaken). Here's an example that does work, defining a fallback (Lucida) with the main font being 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

enter image description here

If your font doesn't have that symbol, you can always use (Con)TeX(t) commands to create the symbol, like \definesymbol[blacktriangle][$\blacktriangleright$]. If the glyph is present in the font, you can always use \Uchar (or traditional \char) to input it. For instance, with Minion Pro

\definesymbol[blacktriangle][\Uchar"E0B8]

enter image description here

6
  • Is it possible to do this without changing the main font? I would like to continue using the one I have defined. Commented Jun 3, 2015 at 15:24
  • It is possible to switch fonts just for the bullet and switch back? I imagine the symbol arg doesn't like that. Commented Jun 3, 2015 at 16:19
  • 2
    You can use the fallback mechanism for fonts to set a different font for the symbol. Commented Jun 3, 2015 at 17:08
  • @Metafox That's your call; I know nothing about ConTeXt.
    – Manuel
    Commented Jun 3, 2015 at 18:53
  • I've edited the question because I'm still having trouble seeing how to make it happen. Commented Jun 4, 2015 at 6:19
2

To set a different font for certain characters in your document you can use the \definefallbackfamily command together with the \definefontfamily command.

\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

This method allows you also set to use a different font for the regular and italic alternatives of your typeface.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .