Re: MakeUppercase not recognizing ß

Joseph Wright joseph.wright at morningstar2.co.uk
Tue May 2 20:33:51 CEST 2023


On 01/05/2023 18:22, Martin Münch wrote:
> When lualatex-ing this code:
> 
> \documentclass{article}
> %\usepackage{libertine}
> %\usepackage{libertinus}
> %\usepackage{ebgaramond}
> \begin{document}
> \ss\ \SS\ ß\ ẞ
> 
> \MakeUppercase{\ss\ \SS\ ß\ ẞ}
> \end{document}
> 
> I get a lot of "SS", which I understand, because the capital ẞ is 
> missing in the font. Now with any of the three packages, ẞ is available.
> 
> But: \MakeUppercase{ß} still produces "SS" instead of "ẞ", which 
> everything in \MakeUppercase{\ss\ \SS\ ẞ} produces.
> 
> On the one hand just writing \ss instead of ß solves the immediate 
> issue, but on the other hand UTF-8 is supported and should also work for 
> ß, shouldn't it?

The capital Eszett is a stylistic variation which is not part of the 
standard orthography. Moreover, Unicode stability rules mean it will 
never be the standard uppercase mapping for lowercase Eszett, which will 
always be "SS". LaTeX supports the stylistic variation. At present, this 
is opt-in or needs a bit of low-level work, but from the summer we are 
improving mechanisms, as are babel and polyglossia, and this will get 
smoother. For the present, try:

\documentclass{article}
\usepackage{libertine}
%\usepackage{libertinus}
%\usepackage{ebgaramond}
\begin{document}
\ss\ \SS\ ß\ ẞ

\MakeUppercase[lang = de-x-eszett]{\ss\ \SS\ ß\ ẞ}
\end{document}

Joseph


More information about the texhax mailing list.