freetype2/bugzilla-308961-cmex-workaround.patch
Ismail Dönmez 625947c136 - Update to version 2.10.0
* A bunch of new functions has been added to access and process
    COLR/CPAL data of OpenType fonts with color-layered glyphs.
  * As a GSoC 2018 project, Nikhil Ramakrishnan completely
    overhauled and modernized the API reference.
  * The logic for computing the global ascender, descender, and
    height of OpenType fonts has been slightly adjusted for
    consistency.
  * `TT_Set_MM_Blend' could fail if called repeatedly with the same
    arguments.
  * The precision of handling deltas in Variation Fonts has been
    increased.The problem did only show up with multidimensional
    designspaces.
  * New function `FT_Library_SetLcdGeometry' to set up the geometry
    of LCD subpixels.
  * FreeType now uses the `defaultChar' property of PCF fonts to set
    the  glyph for  the undefined  character  at glyph  index 0  (as
    FreeType already does for all other supported font formats).  As
    a consequence, the order of glyphs of a PCF font if accessed
    with  FreeType can be different now compared to previous
    versions.
    This change doesn't affect PCF font access with cmaps.
  * `FT_Select_Charmap' has been changed to allow  parameter value
    `FT_ENCODING_NONE', which is valid for BDF, PCF, and Windows FNT
    formats to access built-in cmaps that don't have a predefined
    `FT_Encoding' value.
  * A previously reserved field in the `FT_GlyphSlotRec' structure
    now holds the glyph index.
  * The usual round of fuzzer bug fixes to better reject malformed
    fonts.

OBS-URL: https://build.opensuse.org/package/show/M17N/freetype2?expand=0&rev=156
2019-06-24 07:26:24 +00:00

21 lines
637 B
Diff

---
src/base/ftobjs.c | 5 +++++
1 file changed, 5 insertions(+)
Index: freetype-2.10.0/src/base/ftobjs.c
===================================================================
--- freetype-2.10.0.orig/src/base/ftobjs.c
+++ freetype-2.10.0/src/base/ftobjs.c
@@ -2584,6 +2584,11 @@
if ( FT_IS_SCALABLE( face ) )
{
+ if ( face->family_name && strncmp(face->family_name, "CMEX", 4 ) == 0){
+ face->underline_position = (FT_Short)( -face->units_per_EM / 10 );
+ face->underline_thickness = (FT_Short)( face->units_per_EM / 30 );
+ }
+
if ( face->height < 0 )
face->height = (FT_Short)-face->height;