Log

Author Commit Date CI Message
Khaled Hosny 1b5a2e08 2022-02-25T04:22:33 [doc] Various fixes to newly added documentation
Khaled Hosny 924dd71d 2022-02-25T04:31:24 Merge pull request #3423 from harfbuzz/revert-ci-msvc Revert "[ci] Downgrade pip on MSVC jobs"
Behdad Esfahbod 222301bf 2022-02-24T12:55:01 Merge pull request #3429 from harfbuzz/external_plan [subset] expose subset plan in public subsetting API
Khaled Hosny 78f3d7f0 2022-02-21T18:21:03 Merge pull request #3459 from jameshilliard/icu-defs-mutliarg [meson] handle multiple element ICU DEFS
James Hilliard 256dcde1 2022-02-21T00:07:03 [meson] handle multiple element ICU DEFS
Matthias Clasen d4cb0772 2022-02-18T18:25:56 Add a missing file The style test is using notosansitalic.ttf now, but I forgot to add it with the test. Fix that.
Behdad Esfahbod 651c280d 2022-02-18T18:21:46 [style] Move the negation into the constant
Matthias Clasen 16b232be 2022-02-18T18:05:58 [hb-style] Fix the sign of slant ratios We want negative slant angles to yield positive slant ratios. Fix that. Test included.
Matthias Clasen e76061a7 2022-02-18T17:27:19 [hb-style] Fix synthetic slant values When reporting the slant ratio of a font that has synthetic slant set, we were reporting twice the expected value. Fix that. Test included.
Behdad Esfahbod 56f11ec9 2022-02-18T14:08:43 [buffer] Add HB_BUFFER_FLAG_PRODUCE_UNSAFE_TO_CONCAT Fixes https://github.com/harfbuzz/harfbuzz/issues/3454
Behdad Esfahbod c0b2f50c 2022-02-18T12:29:14 [util] Rename template typenames to avoid clashing with actual types Apparently MSVC2015 can confuse them Fixes https://github.com/harfbuzz/harfbuzz/issues/3379
Garret Rieger fc1548cf 2022-02-17T17:16:31 [subset] document return values.
Matthias Clasen f6efe34f 2022-02-15T17:17:09 [ot-metrics] Synthesize missing metrics Add a variant of hb_ot_metrics_get_position that synthesizes missing values. New api: hb_ot_metrics_get_position_with_fallback
Behdad Esfahbod f8e9e315 2022-02-17T14:34:46 Merge pull request #3437 from matthiasclasen/synthesize-missing-baselines [BASE] Synthesize missing baselines
Behdad Esfahbod 8e900f2c 2022-02-17T13:28:44 Revert "hb-algs.hh: Fix build on Visual Studio 2015" This reverts commit 52c536bb8d90cf0f09e13f5e9e21bf489cc08c23. See https://github.com/harfbuzz/harfbuzz/pull/3448
Khaled Hosny da801cde 2022-02-17T13:30:40 Merge pull request #3449 from fanc999/msvc-meson-use-cmake Meson: Use CMake more to find dependencies on Windows
Chun-wei Fan e6aa4b7d 2022-02-17T15:28:42 BUILD.md: Mention that installing CMake is recommended for MSVC We are using CMake to help us find dependencies in Meson builds on Visual Studio, so let people know that it's recommended.
Chun-wei Fan d24ac4aa 2022-02-17T16:18:41 freetype2.wrap: Provide fallback for CMake dep as well Add a freetype identifier in the 'provides' section so that the fallback will kick in if FreeType is requested but was not found, and wrap mode is not disabled.
Chun-wei Fan f0573d84 2022-02-17T14:39:31 meson: Clean up finding ICU-UC on Visual Studio Nowadays Meson has much better CMake support which we can use to find dependencies on Visual Studio builds (and Visual Studio 2017 and later provides CMake as an optional install item), so we can use it to help us find ICU-UC on Visual Studio builds, since CMake has built-in support for finding it by the components we need for some time.
Chun-wei Fan 561e8ba8 2022-02-17T14:19:35 meson: Cleanup finding FreeType on Visual Studio Nowadays, CMake is much better supported with Meson and is a common tool on Windows (it is even an optionally-installed item for Visual Studio 2017+), so make use of that to find FreeType. The package to search for, however, is `freetype` instead of `freetype2`.
Matthias Clasen 95bb2ff7 2022-02-16T13:10:52 [ot-layout] Add central baselines Add HB_OT_LAYOUT_BASELINE_TAG_IDEO_EMBOX_CENTRAL and HB_OT_LAYOUT_BASELINE_TAG_IDEO_FACE_CENTRAL which are the centers of the ideographic em-box and face box.
Matthias Clasen f81578fd 2022-02-13T19:15:36 [ot-layout] Synthesize missing baselines Add a variation of hb_ot_layout_get_baseline that synthesizes missing baselines, using heuristics in part taken from the CSS Inline Layout Module, Level 3. Includes some new tests for synthesized baselines. The base2.ttf is a subset of Noto Sans Bengali that includes just the Bengali Ka. New API: hb_ot_layout_get_baseline_with_fallback
Behdad Esfahbod 5de67c89 2022-02-16T17:07:17 [ot-layout] Remove commented-out prototypes Not gonna happen.
Behdad Esfahbod d2998faa 2022-02-16T14:37:09 Merge pull request #3410 from harfbuzz/boring-expansion [Boring Expansion] >64k loca & hmtx tables This does two things: The num-glyphs reported by the face now is the maximum reported by the maxp and that deduced from the length of the loca table; I think this is the right thing to do anyway; According to OpenType such loca tables are invalid. The interpretation hmtx tables that have excessive bytes at the end, again, invalid according to OpenType, has changed. Previously we were interpreting those excessive bytes as extra lsb values. Now we interpret them as extra advance values, the last of which is repeated for all missing glyphs. Again, these are tables that are invalid according to OpenType, and the advances are for glyph indices beyond maxp table's num-glyphs. The combined effect is that the font can have shapes and advances for gid's beyond the maxp limit of 64k. In fact, maxp table becomes optional.
Behdad Esfahbod 98079109 2022-02-13T18:15:32 [ot-layout] Add +hb_ot_layout_get_horizontal_baseline_tag_for_script() New API: +hb_ot_layout_get_horizontal_baseline_tag_for_script()
Khaled Hosny cfa8cd7f 2022-02-16T11:42:36 [autotools] Fix make distcheck The test-draw.c can now optionally uses hb-ft, but automake file was not passing FreeType cflags or libs to it.
Matthias Clasen 9909e332 2022-02-15T18:02:09 Improve docs for hb_ot_layout_get_ligature_carets Add some relevant details to the documentation for this function. Fixes: #3168
Behdad Esfahbod a396543a 2022-02-15T18:47:55 Merge pull request #3411 from harfbuzz/draw [draw] Finish and release draw API
Behdad Esfahbod f567b556 2022-02-15T18:26:43 [face] Use max numGlyphs of maxp and loca
Behdad Esfahbod c8fd8c13 2022-02-15T18:02:53 [ot-face] Use core tables
Behdad Esfahbod 2a430790 2022-02-15T17:33:52 [machinery] Add "core table" machinery To be used in subsequent commit; or tried anyway.
Behdad Esfahbod 67eb9acf 2022-02-15T17:17:49 [config] Add HB_NO_BORING_EXPANSION
Behdad Esfahbod 1bf588e2 2022-02-15T16:57:23 [test/shape] Internal rename Residual from e0d7060f80f8c4b9b8241c3a4d8faa33f48da86d
Behdad Esfahbod d12c51e6 2022-02-15T14:31:59 [ci] Rename configs-ci to configs-build Since it doesn't run any tests.
Behdad Esfahbod 197ed8f5 2022-02-15T14:30:12 [test/api] Fix leaks
Behdad Esfahbod 531c27d1 2022-02-15T14:20:54 Fix build
Behdad Esfahbod 8b7ccc41 2022-02-15T14:15:12 [hmtx] Implement [boring-expansion] >64k expansion This implements https://github.com/be-fonts/boring-expansion-spec/issues/7
Behdad Esfahbod 379e526a 2022-02-14T15:02:31 [test] Add test for current hmtx logic
Behdad Esfahbod 431c948e 2022-02-14T14:13:04 [hmtx] Document
Behdad Esfahbod be4ddcc3 2022-02-14T14:12:07 [hmtx] Rename internal num_advances to num_long_metrics
Behdad Esfahbod 622cbc48 2022-02-14T14:09:40 [hmtx] Internal rename num_metrics to num_bearings
Behdad Esfahbod ed6d287d 2022-02-02T14:10:16 [ot-face] Load num-glyphs from `loca` table before `maxp` Implements [boring-expansion] [maxp] Relax https://github.com/be-fonts/boring-expansion-spec/issues/6
Behdad Esfahbod 93962977 2022-02-13T19:38:59 Remove return of void
Khaled Hosny c8b6036c 2022-02-14T02:17:38 [meson] Update Cairo subproject Fixes another color fonts issue.
Ebrahim Byagowi 6b75a30a 2022-02-14T01:38:06 [draw/test] Swap a freetype test case with a simpler one As CI failure, apparently the my local freetype and CI one have different result so let's switch the case with a simpler one just to test quadratic command is emitted correctly.
Behdad Esfahbod ae223764 2022-02-13T15:39:14 [test/draw] Typo
Ebrahim Byagowi 0429921c 2022-02-14T00:16:35 [draw/test] Add test for freetype callback Let's have that part of the code also covered.
Ebrahim Byagowi d4588204 2022-02-13T23:49:41 [draw/glyf] Emit empty contours This makes it actually match freetype behaviour even though rasterizer should filter such contours specially for stroking. See https://github.com/harfbuzz/harfbuzz/pull/3411#discussion_r802283827 for the context.
Behdad Esfahbod 94517850 2022-02-13T13:39:26 [algs] Fix typo in hb_pair_t conversion operator Fixes https://github.com/harfbuzz/harfbuzz/issues/2083
Khaled Hosny f942874f 2022-02-12T01:43:11 [draw] Fix some introspection warnings
Khaled Hosny 2da6accd 2022-02-12T01:14:15 [meson] Update cairo submodule To include the latest color glyph fixes
Behdad Esfahbod 0858463a 2022-02-11T14:42:15 [draw/glyf] Don't skip empty contours of size 2 See: https://github.com/harfbuzz/harfbuzz/pull/3411#discussion_r804988217
Khaled Hosny 0e357c50 2022-02-11T04:31:13 [draw] Test scaling subfont differently from parent
Behdad Esfahbod 096121ba 2022-02-10T19:27:33 [util] Implement --sub-font Internally creates a font at 2x and creates a sub-font from it...
Behdad Esfahbod 57aa8c3b 2022-02-10T19:04:52 [draw] Another try at a stable draw moveto semantic
Behdad Esfahbod 151f2058 2022-02-10T16:27:18 [draw] Emit move_to immediately, like other operators
Khaled Hosny aca80a4a 2022-02-09T22:44:38 [draw] Add test for applying synthetic slant
Khaled Hosny 052fd2d8 2022-02-09T22:10:23 [draw] Add test for hb_draw_move_to() etc
Behdad Esfahbod 6812f7ee 2022-02-08T16:15:37 [draw] Implement COLRv0 fonts
Khaled Hosny 74ebfc64 2022-02-08T22:44:11 [meson] Update cairo subproject Update to the current master branch so that is has cairo_user_font_face_set_render_color_glyph_func(). I had to disable optimized builds on win[32|64] crossbuild setups because they are now broken in the CI (something about cairo defining _FORTIFY_SOURCE for optimized builds that MingW does not like).
Khaled Hosny 628847b5 2022-02-08T22:09:49 [doc] Link to respective draw callback functions
Khaled Hosny 7245298e 2022-02-08T21:38:57 [doc] Document HB_DRAW_STATE_DEFAULT
Behdad Esfahbod 8f519d55 2022-02-08T13:28:00 [meson] Put back Experimental-API infrastructure Just unused for now.
Khaled Hosny 8e892bdb 2022-02-08T19:36:29 [doc] Message draw documentation a bit
Khaled Hosny cf288213 2022-02-08T19:03:17 [meson] fix building with Cairo subproject We can’t pass internal (subproject) dependency to cpp.has_function(), so we manually hard-code the result.
Behdad Esfahbod cdf1cb35 2022-02-07T19:05:52 [draw] Destroy callback data
Behdad Esfahbod 5c558586 2022-02-07T18:54:16 [util/draw] Apply slant to non-user-fonts as well
Behdad Esfahbod c56c1375 2022-02-07T18:38:00 [draw] Document more
Behdad Esfahbod 23762305 2022-02-07T18:23:26 [draw] Flesh out docs a bit
Behdad Esfahbod bc6c3b84 2022-02-07T18:04:36 [font] Update get_glyph_shape() doc
Behdad Esfahbod 732c749e 2022-02-07T18:02:37 [font] Adjust synthetic-slant docs
Behdad Esfahbod 4818b7ed 2022-02-07T18:00:14 [util] Add --font-slant
Behdad Esfahbod 59067db9 2022-02-07T17:55:01 [font/draw] Slant drawings Need to update hb_font_set_synthetic_slant() docs now that we do this.
Behdad Esfahbod aa5c7a38 2022-02-07T17:53:38 [draw-session] Add slant
Behdad Esfahbod 4f2704ad 2022-02-06T13:13:34 [draw] Add more reserved items to hb_draw_state_t Since these are free basically.
Behdad Esfahbod 2ce19f28 2022-02-05T15:01:15 [font/draw] Fetch shape from parent font if not implemented in font
Behdad Esfahbod d6b61dff 2022-02-05T13:46:48 [draw] Minor cleanup
Behdad Esfahbod cfc06c24 2022-02-05T13:31:05 [util/draw] Render color glyphs if cairo API available
Behdad Esfahbod 542f8269 2022-02-04T18:45:04 [util/draw/ft] Use hb-draw for font-funcs=ft as well If cairo is >= 1.17.5. This essentially breaks emoji and bitmap fonts for now.
Behdad Esfahbod 6d5b998f 2022-02-04T18:44:38 [ft/draw] Implement hb-draw for hb-ft
Behdad Esfahbod 370bec93 2022-02-04T18:40:44 [draw] Rename internal draw_session_t to hb_draw_session_t
Behdad Esfahbod 5d2df120 2022-02-03T17:18:54 [util] Use hb-draw to render alternatively to cairo-ft Is automatically enabled if cairo is recent enough, and font-funcs are not 'ft'. Uses cairo-user-font backend internally.
Behdad Esfahbod a357e5d8 2022-02-03T14:42:56 [draw] Do quadratic-to-cubic conversion in nil quadratic implementation
Behdad Esfahbod c681331c 2022-02-03T14:36:12 [draw] Rename internal draw_helper_t to draw_session_t
Behdad Esfahbod f1a9a9cc 2022-02-03T14:10:40 [draw-state] Pass state down to callbacks
Behdad Esfahbod a9dd9f0b 2022-02-03T13:58:36 [draw] Add public move_to/line_to/... API that take a draw-state
Behdad Esfahbod 9f05362d 2022-02-03T13:08:32 [test-draw] Fix compiler warning
Behdad Esfahbod ebc2a133 2022-02-03T13:00:39 [draw] Rename internal methods
Behdad Esfahbod 86fcd4fe 2022-02-03T12:54:32 [draw] Simplify start_path
Behdad Esfahbod 1740916e 2022-02-03T12:50:47 [draw] Remove check for no-op This is unnecessary overhead. Up to rasterizers to handle this. Plus, this throws off point-numbers in uses that rely on it. Disabled one test that broke with this.
Behdad Esfahbod fc78592e 2022-02-03T12:43:25 [draw-state] Add type and use in draw-helper
Behdad Esfahbod 5610fa1d 2022-02-03T10:29:04 [test-draw] Re-enable two disabled tests
Behdad Esfahbod a755f93e 2022-02-03T10:28:07 [draw] Add TODO
Behdad Esfahbod cdb1a1fc 2022-02-03T01:25:37 [draw] Add REPLACEME
Behdad Esfahbod 8b4f4290 2022-02-03T01:14:47 [draw] Virtualize hb_font_draw_glyph() into hb_font_get_glyph_shape() To be implemented in hb-ft.
Behdad Esfahbod 92e6e53b 2022-02-03T00:23:13 [draw] Rename user_data to draw_data
Behdad Esfahbod 3b915389 2022-02-03T00:03:13 [draw] Remove unneeded roundf() calls
Behdad Esfahbod 2bed4f46 2022-02-02T21:42:48 [draw] Fix draw signatures
Behdad Esfahbod 08e10966 2022-02-02T19:01:42 [draw-fuzzer] Fix signatures
Behdad Esfahbod e0ac6c58 2022-02-02T18:57:12 Remove remaining traces of HB_EXPERIMENTAL_API