14748 Commits

Author SHA1 Message Date
Behdad Esfahbod
601a596ca0 [paint] Fix include path 2022-12-23 13:37:59 -07:00
Behdad Esfahbod
8a9069d55f [colr] Fix radial gradient
Broke it when adding variations.
2022-12-23 13:37:59 -07:00
Behdad Esfahbod
e799c33bb5 [paint] Fix function prototype 2022-12-23 13:37:59 -07:00
Behdad Esfahbod
1953d26a8a [colr] Limit recursion depth 2022-12-23 13:37:59 -07:00
Matthias Clasen
378bbeea01 Add more docs 2022-12-23 13:37:59 -07:00
Matthias Clasen
9876e30c6e test: Support png images via paint_image 2022-12-23 13:37:59 -07:00
Matthias Clasen
6079173a52 Try paint_glyph for more tables
If the COLR table does not paint the glyph,
try SVG, CBDT and sbix too, before giving up
on color.
2022-12-23 13:37:59 -07:00
Matthias Clasen
e6c5a616aa SVG Implement paint-glyph 2022-12-23 13:37:59 -07:00
Matthias Clasen
23c60fd9b2 sbix: Implement paint_glyph 2022-12-23 13:37:59 -07:00
Matthias Clasen
7996ae4c3d CBDT: Implement paint glyph 2022-12-23 13:37:59 -07:00
Matthias Clasen
82e23f322a paint: Add a paint-image callback
This will be used for image blobs like pngs and svgs.

FIXME: nail down and document sizing.
2022-12-23 13:37:59 -07:00
Matthias Clasen
56b02b6599 Update the docs
Mention that the color index will always be 0xFFFF
when using hb_paint API with fonts that don't have
color palettes.

And add an outline about which kinds of glyphs
require which callbacks.
2022-12-23 13:37:59 -07:00
Matthias Clasen
9461ab7088 Try paint_glyph for more tables
If the COLR table can't paint the glyph,
try glyf, cff1 and cff2 too.
2022-12-23 13:37:59 -07:00
Matthias Clasen
3e39dd492b cff2: Implement paint_glyph 2022-12-23 13:37:59 -07:00
Matthias Clasen
df89b52130 cff1: Implement paint_glyph 2022-12-23 13:37:59 -07:00
Matthias Clasen
2edd771cf5 glyf: Implement paint_glyph 2022-12-23 13:37:59 -07:00
Matthias Clasen
0b33b35eb0 COLRv1: Return bool from paint_glyph
This will let hb_ot_font_paint_glyph() try
multiple tables in turn.
2022-12-23 13:37:59 -07:00
Matthias Clasen
0d890061d1 Rename 'solid' to 'color'
'solid' does not really describe well what
the function does, and there is no strong
reason to stick 1:1 to the terminology used
in the spec.
2022-12-23 13:37:59 -07:00
Matthias Clasen
2c07828603 test: More debug spew 2022-12-23 13:37:59 -07:00
Behdad Esfahbod
46286275f7 [colr] More dispatch functionality 2022-12-23 13:37:59 -07:00
Behdad Esfahbod
81f232afb5 [colr] Use dispatch machinery for paint_glyph context 2022-12-23 13:37:59 -07:00
Behdad Esfahbod
a96300d42c [colr] Hide internal symbols 2022-12-23 13:37:59 -07:00
Behdad Esfahbod
fdf17dbf34 Try fixing bots 2022-12-23 13:37:59 -07:00
Behdad Esfahbod
b4cab86d94 Fix autotools build 2022-12-23 13:37:59 -07:00
Behdad Esfahbod
0757519092 [colr] Add variation to rest of the paints 2022-12-23 13:37:59 -07:00
Behdad Esfahbod
5bce005346 [colr] Flesh out variations for a few paints 2022-12-23 13:37:59 -07:00
Behdad Esfahbod
9d3440b742 [colr] Add variation infrastructure to paint_glyph
No paint applies variations yet.
2022-12-23 13:37:59 -07:00
Matthias Clasen
5c6329555e Apply root transform
This commit applies scale, slant is still missing.
2022-12-23 13:37:59 -07:00
Matthias Clasen
5afca91ff2 Add some docs 2022-12-23 13:37:59 -07:00
Matthias Clasen
44c68594f1 Some docs 2022-12-23 13:37:59 -07:00
Matthias Clasen
d7c2eacf45 Handle COLRv0 layers in paint_glyph 2022-12-23 13:37:59 -07:00
Matthias Clasen
55ca6ed230 minor fixes 2022-12-23 13:37:59 -07:00
Matthias Clasen
794fa4c3c1 sweep gradients etc 2022-12-23 13:37:59 -07:00
Matthias Clasen
1880e54753 Assorted fixes 2022-12-23 13:37:59 -07:00
Matthias Clasen
684df8a82a add some todos 2022-12-23 13:37:59 -07:00
Matthias Clasen
a6f813b680 Implement hb_color_line_get_extend 2022-12-23 13:37:59 -07:00
Matthias Clasen
d07fdc69dd test: dump color lines 2022-12-23 13:37:59 -07:00
Matthias Clasen
3937d6b0aa Implement hb_color_line_t 2022-12-23 13:37:59 -07:00
Matthias Clasen
64f1b55d01 api fixes: use floats consistently 2022-12-23 13:37:59 -07:00
Matthias Clasen
627c857f8b rename pop_group_and_composite 2022-12-23 13:37:59 -07:00
Matthias Clasen
c9350838c7 assorted fixes and changes 2022-12-23 13:37:59 -07:00
Matthias Clasen
5a123e8691 quick testcase 2022-12-23 13:37:59 -07:00
Matthias Clasen
42324aef2b hb-paint: annotation fix 2022-12-23 13:37:59 -07:00
Matthias Clasen
8377341b28 wip: implement paint_glyph 2022-12-23 13:37:59 -07:00
Matthias Clasen
efe13a191d fix introspection 2022-12-23 13:37:59 -07:00
Matthias Clasen
6a48ac42f4 COLR implementation 2022-12-23 13:37:59 -07:00
Matthias Clasen
71efa0dcf1 wip: hb_font_paint_glyph 2022-12-23 13:37:59 -07:00
Matthias Clasen
83d0a49f71 wip: hb-paint 2022-12-23 13:37:59 -07:00
Behdad Esfahbod
0066e824f0 [util] Fix vertical positioning with --glyphs 2022-12-23 13:37:38 -07:00
Behdad Esfahbod
265b699fbd [util] Improve --glyphs 2022-12-23 13:31:48 -07:00