Skip to content
  • Chia-I Wu's avatar
    * src/truetype/ttinterp.c, src/truetype/ttinterp.h: Remove original · 0358d176
    Chia-I Wu authored
    TT_Done_Context and rename TT_Destroy_Context to TT_Done_Context with
    slight changes.
    
    * src/truetype/ttobjs.h (tt_slot_init): New function.
    
    * src/truetype/ttobjs.c (tt_driver_init): Initialize execution context
    here.
    (tt_slot_init): New function to create extra points for the internal
    glyph loader. We then use it directly, instead of face's glyph loader,
    when loading glyph.
    
    * src/truetype/ttdriver.c: Use tt_slot_init for glyph slot
    initialization.
    (TT_Load_Glyph): Load flag dependencies are handled here.
    Return error if size is NULL.
    
    * src/truetype/ttgload.c: Heavy cleanup and refactor.
    (TT_Hint_Glyph): New funcion to hint a zone, prepared by caller.
    (TT_Process_Simple_Glyph): Use loader->pp's instead of recalculating.
    Use TT_Hint_Glyph.
    No need to save/restore loader->stream before/after
    TT_Vary_Get_Glyph_Deltas now.
    (TT_LOADER_SET_PP): New macro to calculate and set the four phantom points.
    (TT_Process_Composite_Component, TT_Process_Composite_Glyph,
    load_truetype_glyph): Refactor load_truetype_glyph into these three functions.
    Never set exec->glyphSize to 0. (close #13107)
    Forget glyph frame before calling TT_Process_Simple_Glyph.
    (TT_Load_Glyph, load_sbit_image, tt_loader_init): Refactor TT_Load_Glyph into
    these three functions.
    Set various fields of `glyph' here, instead of in load_truetype_glyph
    and compute_glyph_metrics.
    0358d176