2

The font I am using lacks many spacing modifier letters and all combining diacritical marks. It does, however, have the diacritics I require, albeit non-combining, in its Private Use Area.

In my .tex document, is it possible to 'redefine' U+xxxx from the Private Use Area as the missing U+yyyy combining diacritic? Should this be possible, I would then like to 'stack' the redefined character atop a basic Latin character as a workaround for the missing combining diacritic.

The reason I want to remap the character is for the sake of fidelity; i.e. when copy-pasting from the PDF, I would like the character U+yyyy to be copied into the clipboard while U+xxxx is displayed in the PDF.

Edit 1:

I am using TeX Live and LuaLaTeX. The font in question is Minion Pro.

For example's sake, I will use the inverted breve on an e.

Minion Pro lacks an inverted breve in the usual Unicode blocks, but does have a non-combining one at U+F6D5 (i.e. in the Private Use Area).

Thus far I have attempted:

\usepackage{tipa}
\begin{document}
\textroundcap{e}
\end{document}

This doesn't satisfy the fidelity requirement and the diacritic is not a true inverted breve. This is also the case for other accents (e.g. \'{e}).

My second attempt:

\usepackage{newunicodechar}
\newunicodechar{̑}{\accent"F6D5}
\begin{document}
ȇ
\end{document}

The inverted breve is not above the e, but to the right of it.

Similarly...

\usepackage{newunicodechar}
\newfontfamily{\fallbackfont}{Minion Pro}
\DeclareTextFontCommand{\textfallback}{\fallbackfont}
\newunicodechar{̑}{\textfallback{\char"F6D5}}
\begin{document}
ȇ
\end{document}

...produces the same result.

Edit 2:

Per egreg's advice, I toyed with accsupp:

\usepackage{accsupp}
\begin{document}
\BeginAccSupp{unicode,method=escape,ActualText=x{o\char"0311}x}%
  x{\accent"F6D5 o}x%
\EndAccSupp{}
\end{document}

While the output is correct, the copied text is x ˆ ox.

  • Welcome to TeX.SE! Such things are likely to be possible. Can you say what TeX engine you're using (pdfTeX / XeTeX / LuaTeX), and construct a small example document that illustrates the kind of thing you need? (But the goal of fidelity in copying from PDFs usually turns out to be hard to achieve, even without such problems…) – ShreevatsaR Nov 4 '17 at 3:32
  • Questions seeking debugging help ("why isn't this code working?") must include the desired behavior, a specific problem or error and the shortest code necessary to reproduce it in the question itself. Questions without a clear problem statement are not useful to other readers. See minimal working example (MWE). – Henri Menke Nov 4 '17 at 3:48
  • @ShreevatsaR: Please see my edit. – soryutvh Nov 5 '17 at 9:55
  • You can't make a combining character out of one that's not declared as such. However, I think it's possible with LuaTeX that combinations such as “e+combining inverted breve” are mapped to \accent"F6D5 e – egreg Nov 5 '17 at 10:40
  • @egreg: \accent"F6D5 e does indeed display correctly; however, I am looking for a method to implement this so that it is also *e*+combining inverted breve when copying from the PDF and pasting to another application. Naturally, it would also be convenient if I didn't have to do this for every letter+diacritic combination. – soryutvh Nov 5 '17 at 11:09

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.