[XeTeX] Adobe Professional Fonts and Diacritics

Ulrike Fischer news3 at nililand.de
Wed Sep 9 14:25:46 CEST 2015


Am Wed, 9 Sep 2015 10:19:08 +0200 schrieb
hanneder at staff.uni-marburg.de:

> As a Sanskritist I can only use fonts if they produce a few  
> diacritics, nothing fancy, just macrons
> and a few dots above or below a character. In normal LaTeX the ucs  
> package takes care of that.
> 
> I have recently acquired a large font collection from Adobe, which has  
> all the latest
> Pro(fessional) versions of such nice fonts as Arno, Minion, Caslon  
> etc. and wanted to use them with
> my XeTeX based projects. To my great surprise, none of the fonts seem  
> to be able to produce
> underdotted letters.
> 
> I have tried this:
> 
> \documentclass{article}
> \usepackage{fontspec}
> \setromanfont[Mapping=tex-text]{Minion Pro}
> \begin{document}
> 
> Āāīūś  % works as expected.
> ṣṇṭḍṃḥ % just crossed out boxes.
> 
> \end{document}
> 
> The first line comes out nicely, the second does not. I tried  
> Openoffice, but there the second line
> is displayed by using substitute fonts. Before complaining to Adobe, I  
> have one question: Is there
> something like an option to switch on diacritics which I may have missed?

You can first try to undeclare the definition of \d{s} and so try
out if the font has an combining accent:

\documentclass{article}
\usepackage{fontspec}
\setmainfont[Mapping=tex-text]{Minion Pro}
\UndeclareUTFcomposite{x1E63}{\d}{s} %first try

\begin{document}

Āāīūś  % works as expected.
ṣṇṭḍṃḥ % just crossed out boxes.

\d{s} %Does it work?

\end{document} 

But normally a font that doesn't have ṣ hasn't the dot accent
either, so you will probably see an "s with a crossed box".

Then you could define a default definition like the one OT1-encoding
uses:

\documentclass{article}
\usepackage{fontspec}
\setmainfont[Mapping=tex-text]{Minion Pro}

\makeatletter
\DeclareTextCommand{\d}{\UTFencname}[1]
   {\hmode at bgroup
\o at lign{\relax#1\crcr\hidewidth\ltx at sh@ft{-1ex}.\hidewidth}\egroup}
\catcode`\ṣ=\active
\defṣ{\d{s}}
\makeatother

\begin{document}

Āāīūś  % works as expected.
ṣṇṭḍṃḥ % just crossed out boxes.

\d{s}

\end{document}


It will look ok, but won't copy and paste correctly. 

-- 
Ulrike Fischer 
http://www.troubleshooting-tex.de/



More information about the XeTeX mailing list