6

The following test document:

\documentclass{article}
\usepackage{fontspec}
\setmainfont{Linux Libertine O}
\begin{document}
aɻ
\end{document}

displays the second character above, instead of after the first, at least on my machine, when compiled with XeLaTeX.

Is this a problem with the font, XeTeX, or what exactly? (Of course, this also fails in my actual document)

$ xelatex -v
XeTeX 3.1415926-2.4-0.9998 (TeX Live 2012/Debian)
kpathsea version 6.1.0
Copyright 2012 SIL International and Jonathan Kew.
There is NO warranty.  Redistribution of this software is
covered by the terms of both the XeTeX copyright and
the Lesser GNU General Public License.
For more information about these matters, see the file
named COPYING and the XeTeX source.
Primary author of XeTeX: Jonathan Kew.
Compiled with ICU version 49.1 [with modifications for XeTeX]
Compiled with zlib version 1.2.7; using 1.2.7
Compiled with FreeType2 version 2.4.10; using 2.4.11
Compiled with fontconfig version 2.10.1; using 2.10.2
Compiled with libpng version 1.2.49; using 1.2.49
Compiled with poppler version 0.20.5

$ uname -a
Linux Rykos 3.8.0-24-generic #35-Ubuntu SMP Fri May 31 14:07:41 UTC 2013  x86_64 x86_64 x86_64 GNU/Linux
3
  • same here (XeTeX, Version 3.1415926-2.4-0.9998, fontspec 2013/03/16 v2.3a). It's fine though when I run it through LuaLaTeX.
    – Nils L
    Jun 7, 2013 at 15:04
  • Same here, but with Arial Unicode it works, so it looks as if the problem is partly due to the font. You can insert a kern to avoid the misplacement: a\kern0ptɻ. Jun 7, 2013 at 15:32
  • Thanks, @UlrikeFischer, that helped. :) You might change your comment into an answer maybe?
    – Fryie
    Jun 7, 2013 at 15:50

3 Answers 3

4

Same problem here, but with Arial Unicode it works, so it looks as if the problem is partly due to the font. You can insert a kern to avoid the misplacement: a\kern0ptɻ.

9

That is a bug in the font, the glyph for ɻ has an anchor point of type mark instead of base glyph, so the rendering engine treats it like a combining mark and places it over glyphs that have the same anchor but with base glyph type. This should be reported to the font developers.

The fact that LuaTeX does not place it above the preceding glyph is a bug in the layout engine used (luaotfload here).

2
  • 5
    so that's a bug in a software that fixes a bug in a font? :)
    – Nils L
    Jun 7, 2013 at 17:29
  • @NilsL: a bug (or an unimplemented feature) in software that masks a font bug. Jun 7, 2013 at 20:18
1

The font advertises correctly the character width, so you can use a zero kern.

\documentclass{report}

\usepackage{fontspec}

\setmainfont{Linux Libertine O}

\begin{document}

aɻ \textit{aɻ} \textbf{aɻ} \textbf{\textit{aɻ}}

\end{document}

enter image description here

Adding a zero width kern fixes the issue at the expense of losing kerning information with the preceding character, but it doesn't seem a big loss.

\documentclass{report}

\usepackage{fontspec}
\usepackage{newunicodechar}

\setmainfont{Linux Libertine O}

% fix the strange behavior
\newunicodechar{ɻ}{\leavevmode\kern0pt ɻ}

\begin{document}

aɻ \textit{aɻ} \textbf{aɻ} \textbf{\textit{aɻ}}

\end{document}

enter image description here

There is no such problem if one uses Libertinus Serif.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .