# Is it possible: change style of umlaut (diacritic dots) into longer vertical “pretty” umlauts?

I think the umlaut diacritics are symbols, accents, placed on letters. They signal a certain change in sound when sounding out letters with reference to the unaccented counterparts. For example, for a, u, o the accented counterparts are ä, ü, ö. Notice that the umalaut is denoted here with dots.

• Is it possible to change these dots into something else? Namely use longer vertical "pretty" umlauts instead of dots. Here is a handwritten example:

The closest option I have found is {\H a} giving . The umlauts themselves are more-less what I am after, but they are slanted, not vertical-ish. But I place no constraint that you have to make the umlauts as in {\H a}. If you think that something else looks better, and your option follows the handwritten example in spirit, that is perfectly fine. In fact, if these umlauts in {\H a} are made vertical and if they then look ugly, some other solution is preferred.

1. Should also work with capital letters, so with Ä, Ü, Ö as well.
2. Do not have to be strictly vertical. In fact, should match inclination of letters themselves; that probably looks better.
3. The plan is to just use them as letters when writing.
4. If solutions otherwise preserve the encoding and packages in MWE, that would be ideal.
5. The simpler the syntax, the better. Ideally, writing ä, ö, ü would use the longer vertical option by default. (Not compulsory)
6. This is with pdflatex.

If you are worried about why I want to do this... For the time being, I am experimenting to see whether it could be done and whether it can be made to look decent. After all there is a saying:

Everything is possible in (La)TeX, it just may not be easy.

\documentclass[12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[LGR,T1]{fontenc}
\usepackage[english]{babel}

\begin{document}

ö ä ü {\H a}

\end{document}

• you could draw something in latex but really this is a font design question which isnt really on topic here. – David Carlisle May 3 at 16:50
• @DavidCarlisle Ah, I was a bit afraid of that. Thanks for commenting. But I have seen several very unexpected hacks here and there, so thought to give it a try. Is there "font person" on this page / LateX project who deals with such things? – Linear Christmas May 3 at 16:52
• normally the umlauts öäü are not a letter with some extra accent on top, they are specially designed glyphs with their own unicode code points, so you need a font which offers the variants. – Ulrike Fischer May 3 at 17:01
• @UlrikeFischer That does make sense, thank you for confirming. May I ask, is there some semi-plausible path from "request to product" in the font world? How often are font options even updated? I am guessing not very often. – Linear Christmas May 3 at 17:10

I recommend against this for the same reasons cited by David and Ulrike...it is the choice of the font designer. But since you say you are experimenting, then I offer this answer.

In pdflatex, you only need to redefine the meaning of \" for all umlaut uses to be redirected to the new definition. For xelatex and lualatex, you would need to use the \"{<vowel>} syntax. Here is the default and then 4 other possibilities. These definitions do not allow for italic slant.

\documentclass[12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage{textcomp}
\usepackage[LGR,T1]{fontenc}
\usepackage[english]{babel}
\usepackage{stackengine,graphicx}
\begin{document}
ö ä ü Ö Ä Ü
\renewcommand\"[1]{%
\stackengine{-2pt}{#1}%
{\kern-.2pt\scriptsize\textquotesingle\kern-.5pt\textquotesingle}%
{O}{c}{F}{T}{S}}
ö ä ü Ö Ä Ü

\renewcommand\"[1]{%
\stackengine{-1pt}{#1}
{\scalebox{1}[.7]{%
\kern-.2pt\scriptsize\textquotesingle\kern-.5pt\textquotesingle}}%
{O}{c}{F}{T}{S}}
ö ä ü Ö Ä Ü
\renewcommand\"[1]{%
\stackengine{.5pt}{#1}{$\mkern2mu\scriptscriptstyle\prime\mkern-1mu\prime$}%
{O}{c}{F}{T}{S}}
ö ä ü Ö Ä Ü

\renewcommand\"[1]{%
\stackengine{1pt}{#1}{\rule{.5pt}{2pt}\kern1pt\rule{.5pt}{2pt}}%
{O}{c}{F}{T}{S}}
ö ä ü Ö Ä Ü

\end{document}


• Great effort! I think that the first option in the second row (of output) is pretty spot on. Now, if I wanted to also "generalise" it to other things (e.g., \textit, \textsl), should I try to add some if-statements inside these \renewcommands? – Linear Christmas May 4 at 13:19
• @LinearChristmas You will see, for example, in my answer tex.stackexchange.com/questions/595357/…, that I created a separate italic version that introduces a horizontal kern before the overset, of an amount proportional to the letter height. That would be the basic approach. However, in the case of umlauts, you would want them both in a single macro. To do so, you would have to be able to discern if you are in italic mode or not. I know it can be done, but don't have a handy pointer to an answer... – Steven B. Segletes May 4 at 13:41
• @LinearChristmas \makeatletter \upshape \curr@fontshape \itshape \curr@fontshape will help you see how you might parse the result of \curr@fontshape to extract the final n or /it (or /sc for scshape). That parsing would tell you whether to kern the overset or not. Note, however, that \curr@fontshape does not reflect the situation in math mode, which possesses both upright and italic shapes. – Steven B. Segletes May 4 at 13:50
• Thank you for the comments. I will have to do some digesting. It does not seem to be for the faint-of-heart :-) – Linear Christmas May 4 at 18:55
• @LinearChristmas In math mode, the \mathcode is relevant for determining the font family. \mathcode and \mathchar go hand in hand. Here are some pointers: tex.stackexchange.com/questions/9296/… and tex.stackexchange.com/questions/229701/what-does-mathchar-do – Steven B. Segletes May 5 at 11:33