Matthias Clasen
ca190aaba4
Split off the hb-paint tests
...
They belong in their own file.
2022-12-23 13:37:59 -07:00
Matthias Clasen
ecd7420456
Debug spew
...
To get a dump of the hb-paint callbacks,
set HB_PAINT_DEBUG=1 when running hb-view.
For now, leave this code in place, since it
comes in handy for various debugging.
2022-12-23 13:37:59 -07:00
Behdad Esfahbod
583f010b05
[ft] Move lock only around clip_glyph
2022-12-23 13:37:59 -07:00
Behdad Esfahbod
2762903909
[ft-colr] Minor
2022-12-23 13:37:59 -07:00
Behdad Esfahbod
3a1385f019
[ft-colr] Simplify color-stop callback
2022-12-23 13:37:59 -07:00
Behdad Esfahbod
1cc3b10008
[ft-colr] Ifdef build for older freetype
2022-12-23 13:37:59 -07:00
Behdad Esfahbod
882c2bca2d
[ft-colr] Add a paint context
2022-12-23 13:37:59 -07:00
Behdad Esfahbod
7a4b4c64f2
[ft-colr] Minor macro
2022-12-23 13:37:59 -07:00
Behdad Esfahbod
c453c2fce9
[ft-colr] Fix color-stop iteration
2022-12-23 13:37:59 -07:00
Matthias Clasen
bbb89e62aa
[paint] Document color lines as transient
...
Just so people don't get ideas.
2022-12-23 13:37:59 -07:00
Behdad Esfahbod
15582d5fc1
[ft-colr] Apply slant to clipbox
2022-12-23 13:37:59 -07:00
Matthias Clasen
7abd5dcf10
[ft-paint] Fix handling of colorstop iters
2022-12-23 13:37:59 -07:00
Matthias Clasen
393bab4ba1
[ft-paint] Apply ClipBox to all glyphs
2022-12-23 13:37:59 -07:00
Matthias Clasen
c11ae85cbf
[ft-paint] Apply root transform
2022-12-23 13:37:59 -07:00
Matthias Clasen
7fc3fdac76
[ft-paint] Optimize away some transforms
2022-12-23 13:37:59 -07:00
Matthias Clasen
586d1758c1
[ft-paint] Fix an oversight
2022-12-23 13:37:59 -07:00
Matthias Clasen
092637f94c
[ft-paint] Fix rounding
2022-12-23 13:37:59 -07:00
Matthias Clasen
fe08e956e0
[ft-paint] Fix a case of x/y confusion
2022-12-23 13:37:59 -07:00
Matthias Clasen
0d5256e5a7
[ft-paint] Fix some fixed->float conversions
2022-12-23 13:37:59 -07:00
Matthias Clasen
07ba5be393
[paint] Documentation tweaks
2022-12-23 13:37:59 -07:00
Matthias Clasen
13e0cb64f4
hb-view: Interpolate gradients premultiplied
...
This is what the specs demand.
2022-12-23 13:37:59 -07:00
Matthias Clasen
21f78c8774
[paint] Document that colors are unpremultiplied
...
And mention that gradient interpolation must happen
in premultiplied space.
2022-12-23 13:37:59 -07:00
Matthias Clasen
b6e98cf758
[colr] Add more docs
...
State explicitly that palette entries are
unpremultipled, and link to the spec.
2022-12-23 13:37:59 -07:00
Behdad Esfahbod
7a2dc5cf5b
[docs] Hook up a couple
2022-12-23 13:37:59 -07:00
Matthias Clasen
a634f6b486
[colr] Add more docs
...
State explicitly that palette entries are
unpremultipled, and link to the spec.
2022-12-23 13:37:59 -07:00
Behdad Esfahbod
a02c2a911c
[ft-paint] Apply alpha correctly
2022-12-23 13:37:59 -07:00
Matthias Clasen
ee7bbdf372
tests: Update expected results
...
These were changed by fixes for glyph transforms.
2022-12-23 13:37:59 -07:00
Matthias Clasen
3993a40703
test: Add some verification hints
2022-12-23 13:37:59 -07:00
Behdad Esfahbod
6ebcc9d2e1
[ft-paint] Hook up gradients
2022-12-23 13:37:59 -07:00
Behdad Esfahbod
fe4e9bd930
[colr] Add public vtable for hb_color_line_t
2022-12-23 13:37:59 -07:00
Behdad Esfahbod
7c9e42ed92
[colr] Fix transform hell
2022-12-23 13:37:59 -07:00
Behdad Esfahbod
569d5b436c
[ft-paint] Remove dead code
2022-12-23 13:37:59 -07:00
Behdad Esfahbod
cfdc34b44d
[ft-paint] Implement FT_COLR_PAINTFORMAT_SKEW
2022-12-23 13:37:59 -07:00
Behdad Esfahbod
64cf17ec8b
[ft-paint] Fix center translation
2022-12-23 13:37:59 -07:00
Behdad Esfahbod
ddbe4e52ec
[ft-paint] Implement FT_COLR_PAINTFORMAT_ROTATE
2022-12-23 13:37:59 -07:00
Behdad Esfahbod
16598e024b
[ft-paint] Default
2022-12-23 13:37:59 -07:00
Behdad Esfahbod
a0f7f9e61c
[ft-paint] Implement FT_COLR_PAINTFORMAT_COMPOSITE
2022-12-23 13:37:59 -07:00
Behdad Esfahbod
0ec201446b
[ft] Implement FT_COLR_PAINTFORMAT_COLR_GLYPH
2022-12-23 13:37:59 -07:00
Behdad Esfahbod
ac2682c610
[ft] Start of a COLRv1 renderer
2022-12-23 13:37:59 -07:00
Behdad Esfahbod
e2546f5ab0
[ft] Add hb-ft-colr.hh
2022-12-23 13:37:59 -07:00
Matthias Clasen
5bd3c07b54
[colr] Don't access baseGlyphList unless v1
...
This was showing up sporadic crashes due to
invalid reads.
2022-12-23 13:37:59 -07:00
Matthias Clasen
47dbebff39
[paint] Add COLRv0 tests
2022-12-23 13:37:59 -07:00
Matthias Clasen
6909701b36
[paint] Update docs
2022-12-23 13:37:59 -07:00
Behdad Esfahbod
381d410b1e
[paint] Add HB_PAINT_IMAGE_FORMAT_BGRA and use it in hb-ft
...
Now hb-ft can render color emoji as well.
Just left COLRv2.
2022-12-23 13:37:59 -07:00
Behdad Esfahbod
63db0d2aed
[util] Speculatively fix build against non-PNG builds
2022-12-23 13:37:59 -07:00
Behdad Esfahbod
c5f903872f
[paint] Add bitmap width/height to paint_image callback
...
Such that we can add raw data as well.
2022-12-23 13:37:59 -07:00
Matthias Clasen
eef47f2379
[paint] Fix the docs
2022-12-23 13:37:59 -07:00
Behdad Esfahbod
3c972867b9
More s/hb_font_get_glyph_shape/hb_font_draw_glyph/
2022-12-23 13:37:59 -07:00
Behdad Esfahbod
72a169c846
[ft] Paint COLRv0 glyphs
2022-12-23 13:37:59 -07:00
Behdad Esfahbod
bb807f47d2
[ft] Implement paint_glyph() for outline glyphs
2022-12-23 13:37:59 -07:00