[Tex/LaTex] How to combine characters with macron, acute, caron, and grave accents in ConTeXt

accentscontext

I am using a font which does not contain all of the symbols I need. I have managed to use the information in this article about Adobe Glyph List For New Fonts, and have successfully added many characters with these accents to my document, e.g. using the commands from that list, such as \amacron, etc., but I cannot understand how to add macron, acute, caron, and grave accents to the letters “ü”, “Ü”, “r”, and “R”.

This article at the ConTeXt wiki, about making new characters says that I can use {\buildtextcedilla b} to combine a “b”with a cedilla, which works well, but \buildtextacute, etc., are not defined, so I cannot see any way to add these four accents to other letters in this manner.

  • How can I add these four accents to “ü” and “r”?

Best Answer

Here is an example to get you started:

\def\buildtextgrave{\topaccent{3pt}{0}{15}{\textgrave}}
\def\buildtextacute{\topaccent{3pt}{0}{15}{\textacute}}
\def\buildtextcaron{\topaccent{3pt}{0}{15}{\textcaron}}

\starttext
  \buildtextcedilla ü
  \buildtextmacron  ü
  \buildtextgrave   ü
  \buildtextacute   ü
  \buildtextcaron   ü
\stoptext

result

The arguments for \topaccent are:

#1 - vertical correction
#2 - horizontal correction
#3 - italic correction
#4 - character

The values I used are quick empiric values. For different characters they might be different. There is also a \bottomaccent command with the same arguments which is used for \buildtextcedilla and \buildtextmacron.

The drawback of this method is that if you later try to copy the characters from the PDF file, you will not get the compound characters, instead you copy the character without accent.

The best way is to find a font which contains the characters you need.