bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#22699: 25.0.91; Accented characters truncated with DejaVu Sans Mono


From: Werner LEMBERG
Subject: bug#22699: 25.0.91; Accented characters truncated with DejaVu Sans Mono
Date: Tue, 23 Feb 2016 01:54:19 +0100 (CET)

>> With DejaVu Sans Mono (version 2.35), accented characters are not
>> displayed properly at some sizes, and appear truncated at the top
>> (as if a pixel row is missing).
>> 
>> For example, LATIN SMALL LETTER A WITH RING ABOVE "å"
>> 
>> Displays properly
>> -----------------
>> In Windows font dialog, choose "Deja Vu Sans Mono", "Bold", "9"
>> 
>> `describe-char' shows the font as:
>> uniscribe:-outline-DejaVu Sans 
>> Mono-bold-normal-normal-mono-12-*-*-*-c-*-iso8859-1 (#xA7)
>> 
>> Top of ring is clipped
>> ----------------------
>> In Windows font dialog, choose "Deja Vu Sans Mono", "Book", "9"
>> 
>> `describe-char' shows the font as:
>> uniscribe:-outline-DejaVu Sans Mono-normal-normal-normal-mono-12-*-*-*-c-*-=
>> iso8859-1 (#xA7)
>> 
>> This only appears with DejaVu Sans Mono version 2.35 at this size,
>> with the "Book" or "Oblique" font styles (larger or smaller sizes
>> display properly).
> 
> Thanks.  I wonder how to make sure this is an Emacs problem and not
> a problem with the font.

Here's my educated guess as a font specialist, but without any clue
how Emacs font rendering is handled on MS Windows.

AFAICS, this is a problem with the Windows GDI library, which only
renders glyph data in the vertical range between `usWinAscent' and
`usWinDescent'.  These two parameters are set in a TrueType font's
`OS/2' table; they are used to define the default spacing between text
baselines for a particular font.

Even Microsoft core fonts are affected by this problem.  For example,
glyph U+01FA (Aringacute) in arial.ttf gets clipped.

The only solution to reliably avoid this issue is to use the
DirectWrite library, as far as I know.


    Werner

reply via email to

[Prev in Thread] Current Thread [Next in Thread]