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

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

bug#33885: 27.0.50; PUA character makes emacs crash


From: Eli Zaretskii
Subject: bug#33885: 27.0.50; PUA character makes emacs crash
Date: Fri, 28 Dec 2018 17:33:07 +0200

> Date: Fri, 28 Dec 2018 15:58:50 +0100 (CET)
> Cc: 33885@debbugs.gnu.org
> From: Werner LEMBERG <wl@gnu.org>
> 
> OK.  `XftFontOpenPattern' returns the following data for `Cardo':
> 
> (gdb) p *xftfont
> $12 = {
>   ascent = 16, 
>   descent = -5, 
>   height = 6, 
>   max_advance_width = 91, 
>   charset = 0x7fffe23d52d8, 
>   pattern = 0x1f01050
> }
> 
> This is problematic, since it only reflects the Apple values for
> ascent and descent (i.e., the data in the font's `hhea' table).  To
> solve the issue, there are two possible solutions IMHO.
> 
> (1) Simply accept whatever `XftFontOpenPattern' returns, including
>     negative values for `descent' – actually, such font might exist:
>     for example, consider a special font that only contains dashes of
>     different length.

I don't think this is a good idea.

> (2) Improve the heuristics to get sensible global ascent and descent
>     values of a font.  In particular, use the FreeType library to
>     access a TrueType's or OpenType's `OS/2' table and compare its
>     vertical metrics values with the `hhea' data to eliminate bugs in
>     the font – sign problems with `descent' do happen especially in
>     older fonts that were either designed for Apple or for Windows,
>     and the fields for the `other' OS were filled out arbitrarily,
>     more or less.

I'd appreciate more details on how this could be done.  I'm no expert
on fonts nor on FreeType, and last I checked we have no one else.

Thanks.





reply via email to

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