Behdad Esfahbod
c6dd56cc64
[colr] Simplify color-stop handling
2022-12-23 13:37:59 -07:00
Matthias Clasen
485ba9beb3
[paint] Spell out rectangle in the API
...
No need to abbreviate this.
2022-12-23 13:37:59 -07:00
Matthias Clasen
37f3f0fcc2
[paint] Change the image callback
...
Instead of passing the glyph ID, give
it the image blob, a mimetype, and
glyph extents (if available).
Update all callers.
2022-12-23 13:37:59 -07:00
Matthias Clasen
ea48d6c292
Move hb_glyph_extents_t definition
2022-12-23 13:37:59 -07:00
Behdad Esfahbod
b722039c48
[colr] Simplify
2022-12-23 13:37:59 -07:00
Behdad Esfahbod
452cfb9599
[colr] Simplify loop using iterators
...
Or complexify?!
2022-12-23 13:37:59 -07:00
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
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
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
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
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
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
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
Matthias Clasen
30c5402e3d
Make hb-features.h usable standalone
...
The intended use for hb-features.h is to
be included standalone, so we can't put
the single-include guards in here.
2022-12-23 12:33:28 -07:00
Behdad Esfahbod
d628aff9db
[ft] Apply slant in get_glyph_extents
2022-12-22 10:53:37 -07:00