• Show log

    Commit

  • Hash : 47cf8ebf
    Author : Dominik Röttsches
    Date : 2021-07-28T17:36:57

    [sfnt] Add API for retrieving a 'COLR' v1 'ClipBox' table.
    
    The optional 'COLR' v1 glyph-specific clip box helps upstream graphics
    libraries allocate a sufficiently large bitmap for a glyph without having to
    traverse the glyph graph for that.  See
    
      https://github.com/googlefonts/colr-gradients-spec/issues/251
    
    for background on the introduction of this specification change.
    
    * include/freetype/ftcolor.h (FT_ClipBox): New structure.
    (FT_Get_Color_Glyph_ClipBox): New function declaration.
    
    * include/freetype/internal/sfnt.h (TT_Get_Color_Glyph_ClipBox_Func):
    New function type.
    (SFNT_Interface, FT_DEFINE_SFNT_INTERFACE): Use it.
    
    * src/base/ftobjs.c (FT_Get_Color_Glyph_ClipBox): New function to link API
    with SFNT implementation.
    
    * src/sfnt/sfdriver.c (sfnt_interface): Updated.
    * src/sfnt/ttcolr.c (Colr): New field `clip_list`.
    (tt_face_load_colr): Parse global clip list offset.
    (tt_face_get_color_glyph_clipbox): New function to find the clip box for a
    glyph id from the clip list array.
    * src/sfnt/ttcolr.h: Updated.