Commit Graph

534 Commits

Author SHA1 Message Date
Matthias Clasen 97224f3b63 [paint] Pass font to all callbacks
This will lead to easier implementations.

At the same time, we change the push_clip_glyph
callback to use the font as-is, no unscaling needed.

Update all callers and expected test results.
2022-12-23 13:37:59 -07:00
Behdad Esfahbod cf02d13302 [cairo] Remove unused struct 2022-12-23 13:37:59 -07:00
Matthias Clasen a3ba723876 Drop an unneeded include 2022-12-23 13:37:59 -07:00
Matthias Clasen 0800d1879c Try to fix autotools build 2022-12-23 13:37:59 -07:00
Matthias Clasen 5451b78f4a Don't use alloca
It complicates things on Windows, for no
big win. Just preallocate a reasonable amount.
2022-12-23 13:37:59 -07:00
Matthias Clasen 7c12db46ff Try to fix msvc build 2022-12-23 13:37:59 -07:00
Behdad Esfahbod 3590ee74f4 [util] Fix bot 2022-12-23 13:37:59 -07:00
Behdad Esfahbod 81bf089273 [hb-view] Use color render callback if HB_DRAW >= 2 2022-12-23 13:37:59 -07:00
Matthias Clasen c65f580b93 Drop hb-test
This was a test binary to assist in developing
the hb-paint code. Not needed anymore, now that
hb-view has the same code in the cairo userfont
backend.
2022-12-23 13:37:59 -07:00
Behdad Esfahbod 9672aa8610 [util] Fix compiler warning 2022-12-23 13:37:59 -07:00
Matthias Clasen 955bd30365 Fix hb-cairo-utils
This was a stupid mistake, and hard to track down.
2022-12-23 13:37:59 -07:00
Behdad Esfahbod 3573956705 [util] Include stdio.h 2022-12-23 13:37:59 -07:00
Behdad Esfahbod 7accbe97d8 [util] Fix argument order and root transform PNGs 2022-12-23 13:37:59 -07:00
Behdad Esfahbod 529dc40d7d [util] Adjust scaling
Still doesn't render PNGs.

Fix a few compiler warnings
2022-12-23 13:37:59 -07:00
Behdad Esfahbod bcc9ab27fc [hb-view] Fix transformation
No need for cairo patch; that patch was wrong.
2022-12-23 13:37:59 -07:00
Behdad Esfahbod c996fc58ec [hb-view] Remove redundant check 2022-12-23 13:37:59 -07:00
Behdad Esfahbod bec5354030 [hb-view] Fix render_color_glyph extents coordinate system
Needs cairo fix:
https://gitlab.freedesktop.org/cairo/cairo/-/merge_requests/371
2022-12-23 13:37:59 -07:00
Behdad Esfahbod 95ccd66481 [hb-view] Set glyph extents in render_color_glyph
Works around limitation in cairo-recording-surface unboundedness.

Extents are wrong but at least renders something now.
2022-12-23 13:37:59 -07:00
Matthias Clasen 6cadf280f2 Use hb-cairo-utils in hb-test
Just to prove that it works.
2022-12-23 13:37:59 -07:00
Matthias Clasen 8bcd13dd91 small fixup to hb-cairo-utils 2022-12-23 13:37:59 -07:00
Matthias Clasen 6c49822cad wip: Use hb-paint in hb-view
This doesn't paint anything yet.
2022-12-23 13:37:59 -07:00
Behdad Esfahbod 3b32eab38e [colr] Fix compiler warning 2022-12-23 13:37:59 -07:00
Behdad Esfahbod e3153654cb [colr] Fix PNG placement 2022-12-23 13:37:59 -07:00
Behdad Esfahbod f07ce68f9c Remove unused function 2022-12-23 13:37:59 -07:00
Matthias Clasen 0a2f3673b9 [paint] Use tags for image formats
This fits better with the rest of the
HarfBuzz API.
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 9876e30c6e test: Support png images via paint_image 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 fdf17dbf34 Try fixing bots 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 794fa4c3c1 sweep gradients etc 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 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
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
Behdad Esfahbod d45f7265e9 [hb-view/hb-shape] Add --glyphs
This makes hb-view take output of hb-shape and render it.
2022-12-23 13:13:29 -07:00
Garret Rieger 1a51f71afd [subset] don't segfault when --help-all is specified w/ instancing options. 2022-12-19 16:02:05 -07:00
Nirbheek Chauhan c7dd63d1a0 meson: Provide binaries when built as a subproject 2022-12-18 08:28:55 +02:00
Khaled Hosny 6add69a6ec [hb-view] Allow building without cairo-ft
Fixes https://github.com/harfbuzz/harfbuzz/issues/3925
2022-12-16 21:10:15 +02:00
Garret Rieger 9fbe52b88d [subset] enable instancing tests by default. 2022-12-12 20:24:24 +00:00
Garret Rieger eda02c2ebd [subset] Move hb_subset_preprocess to be non-experimental. 2022-12-08 16:32:24 -07:00
Behdad Esfahbod 1b86753031 [hb-subset] Support -u, -g, -t
For --unicodes, --gids, --text.
2022-12-05 11:44:52 -07:00
Behdad Esfahbod a4a4078632
Merge pull request #3893 from googlefonts/preprocess_test
[subset] Fix testing of preprocess
2022-11-24 11:56:58 -07:00
Behdad Esfahbod 2e9b270a49 [hb-view] Fix cairo slanting condition
hb-draw already does slanting. If NOT hb-draw, we should slant
through cairo path.  Donno why this was untested before.

This was double-slanting with hb-draw, and not slanting without it.
2022-11-23 16:18:39 -07:00
Garret Rieger 4c49daf7cd [subset] actually use the preprocessed face in hb-subset.
Tests weren't actually using the preprocessed face due to this typo in util/hb-subset.
2022-11-23 22:33:57 +00:00
Behdad Esfahbod 8f15fb1252 [util] Move variable closer to use 2022-11-13 17:06:58 -07:00