]> git.eshelyaron.com Git - emacs.git/commit
Implement instructing compound glyphs
authorPo Lu <luangruo@yahoo.com>
Thu, 9 Feb 2023 12:13:42 +0000 (20:13 +0800)
committerPo Lu <luangruo@yahoo.com>
Thu, 9 Feb 2023 12:13:42 +0000 (20:13 +0800)
commit85dd157c38dc8e52367a3a6e574c512d2b7f7c9b
tree0b78d9596fb05e8010897565f205dd6c0b303a56
parentc201043b4b5aff8c4bdcebabb433c6668c2d566e
Implement instructing compound glyphs

* src/sfnt.c (sfnt_read_simple_glyph, sfnt_read_compound_glyph)
(sfnt_read_glyph): Take size_t offsets.
(struct sfnt_compound_glyph_context)
(sfnt_expand_compound_glyph_context)
(sfnt_decompose_compound_glyph): Take size_t contour offsets.
(sfnt_decompose_glyph): Always close contour even if the first
point isn't on-curve.
(sfnt_build_outline_edges): Fix coding style.
(sfnt_interpret_iup): Skip phantom points during IUP.
(sfnt_decompose_instructed_outline): Clarify documentation.
Always close contour even if the first point isn't on-curve.
(struct sfnt_test_dcontext, sfnt_test_move_to, sfnt_test_line_to)
(sfnt_test_curve_to, sfnt_transform_f26dot6, sfnt_test_get_glyph)
(sfnt_test_free_glyph, sfnt_test_span, sfnt_test_edge_ignore)
(sfnt_interpret_compound_glyph_2, sfnt_test_edges, main): Update
tests.

* src/sfnt.h: Export new function.

* src/sfntfont.c (sfntfont_get_glyph_outline): Handle compound
glyphs.
(sfntfont_measure_instructed_pcm, sfntfont_measure_pcm)
(sfntfont_draw): Update accordingly.
src/sfnt.c
src/sfnt.h
src/sfntfont.c