Commit Graph

12283 Commits

Author SHA1 Message Date
Matthias Clasen 30d0d9c56c Adapt to cairo changes
Adapt to the api in the cairo MR that will be used,
and make the code build with older cairo.
2023-01-26 14:32:25 -05:00
Behdad Esfahbod 034d4d26f2 [hb-cairo] Minor simplify 2023-01-26 14:32:25 -05:00
Behdad Esfahbod 26d34392e2 [hb-cairo] Fix condition 2023-01-26 14:32:25 -05:00
Matthias Clasen f9b3c79047 Update to different cairo API
The cairo will likely end up begin a getter for
a cairo_pattern_t instead of a color.
2023-01-26 14:32:25 -05:00
Behdad Esfahbod 4afdbcbad5 [hb-cairo] Don't call get_foreground_color unnecessarily
That would invalidate cairo cache on foreground change, even
if the glyph doesn't need that.
2023-01-26 14:32:25 -05:00
Matthias Clasen c37ea4f93e hb-cairo: Fix handling of foreground color
Use the new cairo_user_scaled_font_get_foreground_color
to obtain the foreground color, since the cr's source
can't be trusted.

Requires https://gitlab.freedesktop.org/cairo/cairo/-/merge_requests/420
2023-01-26 14:32:25 -05:00
Behdad Esfahbod aea37bfd37 Fix c++20 build 2023-01-26 12:19:16 -07:00
Behdad Esfahbod e1dc4920ee [iter] Allow hb_len() to fetch c.len as non-function 2023-01-26 12:19:16 -07:00
Behdad Esfahbod 8d29be39b2 [gsubgpos] Minor drop an unnecessary hb_iter 2023-01-26 12:19:16 -07:00
Matthias Clasen c1a5d20951 [doc] Add a missing comma 2023-01-25 21:53:06 -05:00
Behdad Esfahbod 570fe998c9 [cairo] Another sweep_gradient fix
k was -1 sometimes.

Fixes the rest of https://roettsch.es/var_colrv1.html
2023-01-25 15:42:24 -07:00
Behdad Esfahbod ea316b56a0 [cairo] Flip offsets when reversing
Fixes many of the var_colrv1 first row tests.

https://roettsch.es/var_colrv1.html
2023-01-25 15:31:29 -07:00
Behdad Esfahbod 5b05e198cf [cairo] More hb_malloc 2023-01-25 15:24:14 -07:00
Behdad Esfahbod 57352b8bd4 [cairo] Use hb_malloc / hb_free 2023-01-25 15:22:27 -07:00
Behdad Esfahbod a9392c0cbb [cairo] Use hb_swap() 2023-01-25 14:57:02 -07:00
Qunxin Liu 5e86870378 [instancer] compute head/maxp values using only non-empty glyphs 2023-01-25 14:53:19 -07:00
Qunxin Liu d15551c6f3 [instancer] update head table flagbit: allXMinIsLsb 2023-01-25 14:53:19 -07:00
Behdad Esfahbod 2c49eba044 [cairo] Indent 2023-01-25 14:52:39 -07:00
Behdad Esfahbod 2accbdc0b6 [paint] Minor skew 2023-01-25 14:40:04 -07:00
Behdad Esfahbod a4420479a8 Revert "[VarComposite] Fix skew"
This reverts commit 8cf7076309.
2023-01-25 14:37:10 -07:00
Behdad Esfahbod 8cf7076309 [VarComposite] Fix skew 2023-01-25 14:35:35 -07:00
Behdad Esfahbod 626f8e4de3 [paint] Fix skew to match Chrome 2023-01-25 14:33:46 -07:00
Behdad Esfahbod b44ff062e1 [deserialize] Some more 2023-01-25 14:16:46 -07:00
Behdad Esfahbod 57ff696430 [deserialize] One more fix 2023-01-25 14:10:12 -07:00
Behdad Esfahbod e973050986 [hb-buffer-deserialize] Fixups 2023-01-25 14:07:01 -07:00
Behdad Esfahbod a1101f09ca [test-buffer-serialize] Handle too-small out buffer
Need to handle too-small in buffer still.
2023-01-25 13:10:57 -07:00
Behdad Esfahbod 2fec4f1c3d [subset] Finish out hb-subset-instancer-solver.cc 2023-01-25 12:21:15 -07:00
Qunxin Liu 90a98dd62a [instancer] fix potential memory leak for compiled glyph bytes
Also calculate max_offsets after glyph bytes are compiled, cause byte
length of a glyph might change after compile
2023-01-25 11:37:19 -07:00
Behdad Esfahbod 223abd72b9 [subset] Add unfinished port of fonttools instancer solver 2023-01-25 11:37:07 -07:00
Behdad Esfahbod 1b143b0f0c [font] Docs 2023-01-24 18:34:04 -07:00
Behdad Esfahbod 64ed03c9be [cff1] Return no name for out-of-range glyph IDs
Was returning .notdef before.
2023-01-24 18:33:34 -07:00
Matthias Clasen c89aebc40b hb-font: Document length limit for glyph names
This is useful information for users of the
hb_font_get_glyph_name() API.
2023-01-24 18:29:06 -07:00
Qunxin Liu 27f72f0deb [instancer] avoid double free for compiled glyph bytes
also increase the HB_GLYF_MAX_POINTS limit to 20000 cause the test file has a
.notdef glyph which is a composite glyph and has 10176 points after
get_points() call
2023-01-24 17:28:51 -07:00
Behdad Esfahbod b684c6edd4 [hb-cairo] Add hb_cairo_context_t 2023-01-24 12:21:12 -07:00
Behdad Esfahbod 72e13fff65 [COLRv1] Handle void extents 2023-01-24 11:05:38 -07:00
Behdad Esfahbod 20318feddf [COLRv1] Don't return extents if glyph has no paint
Fixes https://github.com/harfbuzz/harfbuzz/issues/4068
2023-01-24 11:04:10 -07:00
Behdad Esfahbod 32afdcdb46 [hb-buffer-deserialize-text-unicode] Relax parsing 2023-01-23 21:10:11 -07:00
Behdad Esfahbod 328ee9b4ad [hb-buffer-deserialize-text-unicodes] Rename 2023-01-23 21:06:27 -07:00
Behdad Esfahbod bc596b8cca [buffer-deserialize-text-unicode] Simplify 2023-01-23 21:03:59 -07:00
Behdad Esfahbod 649973a316 Fix build 2023-01-23 21:02:14 -07:00
Behdad Esfahbod 4268283e54 [buffer-deserialize-text] Accept initial comma 2023-01-23 20:57:56 -07:00
Behdad Esfahbod 2c29b81e7f [buffer-deserialize-text] Separate glyphs / unicodes machines 2023-01-23 20:57:56 -07:00
Behdad Esfahbod d0355eb4bd [buffer-deserialize] Parse whole items at a time
Previous logic would fail if char buffer was partial.
2023-01-23 20:57:56 -07:00
Matthias Clasen f65b04c17c Tweak wording 2023-01-23 19:58:14 -07:00
Matthias Clasen 7e01976bcc [hb-paint] Add some details to the docs 2023-01-23 19:58:14 -07:00
Garret Rieger e4fff64ce3 [repacker] check duplicate() for success.
Fixes fuzzer testcase https://oss-fuzz.com/testcase-detail/5475787333828608.
2023-01-23 18:37:13 -07:00
Behdad Esfahbod 6b72a4ddb0 Revert "[sanitize] Simplify(?) check_range"
This reverts commit af0b1ef8a7.
2023-01-23 18:36:04 -07:00
Behdad Esfahbod 00cf322e23
Merge pull request #4046 from harfbuzz/hb-features-docs
[doc] Try to fix generating hb-features docs
2023-01-23 16:06:26 -07:00
Khaled Hosny 699485b349 [meson] Further simplify generating hb-features.h 2023-01-24 00:15:48 +02:00
Khaled Hosny 2486d6d22f [meson] Reduce repetitions 2023-01-24 00:15:48 +02:00