src/hb-font.cc


Log

Author Commit Date CI Message
Matthias Clasen 378bbeea 2022-12-17T10:02:30 Add more docs
Matthias Clasen b6e98cf7 2022-12-23T00:18:40 [colr] Add more docs State explicitly that palette entries are unpremultipled, and link to the spec.
Matthias Clasen 684df8a8 2022-12-15T00:32:48 add some todos
Matthias Clasen 71efa0dc 2022-12-14T06:22:00 wip: hb_font_paint_glyph
Matthias Clasen 6387004c 2022-12-21T16:43:19 [paint] Simplify api Drop the hb_paint_context_t struct from the API, and only pass the font where we need it.
Matthias Clasen 9be01b6b 2022-12-21T14:04:32 [paint] Pass hb_paint_context_t along Replace the font argument with a hb_paint_context_t that carries the font, the palette index and the foreground color. The hb_font_paint_glyph() api now takes the palette index and the foreground color as extra arguments. Update all callers and regenerate test results.
Matthias Clasen 97224f3b 2022-12-21T02:11:36 [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.
Matthias Clasen a20999b9 2022-12-21T00:20:37 [font] Fix a few documentation mistakes
Matthias Clasen 14b026ff 2022-12-19T13:53:49 [draw] Add hb_font_draw_glyph hb_font_draw_glyph(), hb_font_draw_glyph_func_t and hb_font_funcs_set_draw_glyph_func() are just alternative names for hb_font_get_glyph_shape and friends, to better align with hb_font_paint_glyph.
Matthias Clasen 0f287e75 2022-12-19T13:45:45 [paint] Rename hb_font_get_glyph_paint_func_t The 'get' was just there due to implementation choices. Work around that and call the vfunc what it should be: hb_font_paint_glyph_func_t.
Matthias Clasen 0ef2dc9b 2022-12-19T10:02:17 Drop a TODO This was addressed in 61bd602791d801
Behdad Esfahbod 9a7422c5 2022-12-18T13:46:32 [font] Minor doc fix
Behdad Esfahbod 815544a1 2022-12-18T13:33:54 [font] Adapt paint_glyph to parent transform
Matthias Clasen f1f8d1e8 2022-12-18T02:43:25 Small documentation addition
Matthias Clasen 193e0e3e 2022-12-15T00:32:11 Cosmetic: typo fix
Behdad Esfahbod 5f3a7806 2022-11-23T16:45:46 [font] Protect against div-by-zero
Behdad Esfahbod 060ecac9 2022-11-23T16:31:37 [font] Respect subfont slant setting in hb-draw Fixes https://github.com/harfbuzz/harfbuzz/issues/3890
Behdad Esfahbod 59c45f6d 2022-11-22T12:54:50 Use hb_memcpy instead of memcpy consistently
Behdad Esfahbod ac0efaf8 2022-11-22T12:50:36 Use hb_memset instead of memset consistently
Behdad Esfahbod 56d6b699 2022-11-19T15:08:50 [font/draw] Remove unneeded branch The preamble sets user_data/destroy to nullptr if func is nullptr.
Behdad Esfahbod 976bb26c 2022-11-19T15:06:23 [draw] Optimize set_func functions
Behdad Esfahbod 114167a9 2022-11-19T14:47:45 [font] Optimize set_func functions
Behdad Esfahbod 1945b400 2022-07-25T10:45:55 [cpluscplus] Wrap hb-subset types as well Also changes signature of get_user_data of hb.h types to take const object. This is safe.
Behdad Esfahbod 473a5e56 2022-07-23T13:25:40 [font] Fix design-coords Ouch!
Behdad Esfahbod 9ea4ab60 2022-07-20T14:57:32 [object] Call constructor
Khaled Hosny 98e90cc6 2022-06-30T08:43:57 [docs] Reduce warnings Use markdown syntax for inline code blocks instead of %true, %false, and %NULL.
Khaled Hosny 34d3d49e 2022-06-29T07:46:21 [docs] Fix Since annotation
Behdad Esfahbod 33e3bf2d 2022-06-28T13:46:04 [font] Drop caches on variation changes
Khaled Hosny 8537d681 2022-06-27T20:51:16 4.4.0
Behdad Esfahbod d3308f47 2022-06-27T11:28:44 [font] Optimize font scaling further
Behdad Esfahbod 556e7078 2022-06-26T17:48:43 [font] Optimize glyph scaling
Behdad Esfahbod f78a2509 2022-06-05T00:55:35 [gi] Remove Xconstructor annotations
Behdad Esfahbod bc6ecaa2 2022-06-01T09:19:11 [font-funcs] Handle case of null func but non-null destroy or user-data
Behdad Esfahbod 88ccbd2c 2022-06-01T08:44:07 [font-funcs] Optimize user-data/destroy storage Fixes https://github.com/harfbuzz/harfbuzz/issues/2427
Behdad Esfahbod d0de389d 2022-05-20T12:18:43 [font] Fix test
Behdad Esfahbod a2015cd3 2022-05-20T12:15:00 [font] Add a separate serial_coords
Behdad Esfahbod 48db1c95 2022-05-20T12:03:32 [font] Add serial API New API: + hb_font_get_serial() + hb_font_changed() Fixes https://github.com/harfbuzz/harfbuzz/issues/2426 Unused internally as of now.
Behdad Esfahbod b58bfd98 2022-05-16T11:21:45 [font] Minor move of code to silence gcc-12 warning See mailing list discussion.
Khaled Hosny 8d1b000a 2022-03-01T21:27:32 4.0.0
Behdad Esfahbod a396543a 2022-02-15T18:47:55 Merge pull request #3411 from harfbuzz/draw [draw] Finish and release draw API
Behdad Esfahbod 93962977 2022-02-13T19:38:59 Remove return of void
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 8e892bdb 2022-02-08T19:36:29 [doc] Message draw documentation a bit
Behdad Esfahbod c56c1375 2022-02-07T18:38:00 [draw] Document more
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 2ce19f28 2022-02-05T15:01:15 [font/draw] Fetch shape from parent font if not implemented in font
Behdad Esfahbod a755f93e 2022-02-03T10:28:07 [draw] Add TODO
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.
Khaled Hosny 98da3306 2022-01-31T18:12:01 3.3.0
Behdad Esfahbod 24650624 2022-01-28T13:53:21 [font] Fix build with no-var configs
Khaled Hosny 0acf466c 2022-01-13T01:29:22 [doc] Fix hb_font_set_synthetic_slant param name
Matthias Clasen 72f0b24e 2022-01-12T13:08:02 docs: Clarify variation apis (#3363) Make it explicit that the variations setters replace all existing variations, even if not all axes are included in the provided values. Co-authored-by: Matthias Clasen <mclasen@redhat.com>
Matthias Clasen d70825a6 2022-01-02T11:28:28 docs: Add some details about coordinates Mention what the effective values are when coordinates have not been set.
Behdad Esfahbod 165a6073 2022-01-02T12:02:20 Merge pull request #3338 from harfbuzz/slant [font] Add public API for synthetic slant
Behdad Esfahbod a7751277 2022-01-02T11:50:02 [docs] Add hb_font_[gs]et_synthetic_slant()
Behdad Esfahbod 5b87c30d 2022-01-02T07:53:45 [font] Mark hb_font_get_var_coords_design() non-experimental Any remaining issue with the API will address later by deprecating it. Fixes https://github.com/harfbuzz/harfbuzz/issues/1865
Behdad Esfahbod 2d42fc9f 2022-01-02T07:45:10 [font] Load named-instance if face index top bits are set This matches FreeType behavior. Fixes https://github.com/harfbuzz/harfbuzz/issues/3348
Behdad Esfahbod ff697deb 2021-12-19T07:25:37 [GPOS] Apply font synthetic slant Part of fixing https://github.com/harfbuzz/harfbuzz/issues/3196
Behdad Esfahbod 810f5d71 2021-12-18T15:12:26 [font] Add public API for slant Not hooked up internally to anything. New API: + hb_font_set_synthetic_slant() + hb_font_get_synthetic_slant() Part of fixing https://github.com/harfbuzz/harfbuzz/issues/3196
Behdad Esfahbod a9a607d3 2021-07-22T16:49:56 [variations] Support multiple axes with same tag, aka HOI The axes in fvar are in arbitrary order, NOT sorted. Hence have to lsearch all entries. Fixes https://github.com/harfbuzz/harfbuzz/issues/1673 Fixes https://github.com/harfbuzz/harfbuzz/issues/2743 Test from https://github.com/ctrlcctrlv/FontForge-Higher-Order-Interpolation
Behdad Esfahbod 233c29b3 2021-07-22T12:00:24 [font] Call fvar.find_axis_index instead of find_axis_info in set_variations()
Behdad Esfahbod 0b2280af 2021-07-22T11:53:32 [font] Call fvar table directly, instead of calling public get_axis_info To lighten it up in next commit.
Behdad Esfahbod 2337f0d0 2021-07-08T10:58:50 Internally use hb_malloc/.../hb_free instead of malloc/.../free Redefining those stock names as macros was conflicting with gcc 10 headers. Fixes https://github.com/harfbuzz/harfbuzz/issues/3044
Khaled Hosny 051a3c7b 2021-01-20T22:35:34 [docs] Fix typo
Khaled Hosny a44dd339 2021-01-01T01:36:57 [docs] Missing param docs
Khaled Hosny a64d56a3 2020-12-31T00:27:49 [introspection] nullable is for pointers
Khaled Hosny 9936490c 2020-12-31T00:19:29 [docs] Invalid use of "optional" annotation It is valid only for out and inout parameters. Fixes https://github.com/harfbuzz/harfbuzz/issues/1787
Khaled Hosny aa107e65 2020-12-30T23:34:17 [docs] Complete hb-font docs a bit
Khaled Hosny a8e72ee7 2020-12-30T23:08:40 [docs] Use %true and %false consistently
Khaled Hosny 35c4a15a 2020-12-24T22:34:02 [docs] Update hb-font documentation
Khaled Hosny f88e845f 2020-12-24T21:28:37 [docs] Minor fixes
Nathan Willis 82092d40 2019-04-22T15:31:24 [docs] Update gtk-doc comments in hb-font
Nathan Willis ec98730f 2019-04-17T14:44:25 [docs] regularize whitespace in function params
Ebrahim Byagowi 2dda6dd7 2020-04-20T14:12:45 minor, tweak spacing turn 8 spaces to tab, add space before Null/Crap
Ebrahim Byagowi 9b7fb5c2 2020-04-17T20:12:24 Move hb_font_get_var_coords_design behind HB_EXPERIMENTAL_API
Ebrahim Byagowi 352ac63e 2020-02-11T03:03:03 Fix an unlikely UAF on the deprecated _set_glyph_func API Fixes https://github.com/harfbuzz/harfbuzz/issues/2168
Ebrahim Byagowi 40166eb0 2020-02-08T13:17:06 [var] Fix the just introduced hb_font_set_var_coords_design storing bug The memcpy call was using the current coords count which is zero initially so no copy at all. Sad that no test has caught it, should see why, will however with the upcoming style API tests.
Ebrahim Byagowi 0b76e813 2019-08-20T15:15:22 Don't use _normalize_variations to avoid twice axis fetch
Ebrahim Byagowi ab2d3ec5 2019-08-14T18:42:51 [var] Implement hb_font_get_var_coords_design Hold design coords and simulate when normalized coords are set directly.
Behdad Esfahbod ce11df1b 2019-10-28T14:45:31 2.6.3
Behdad Esfahbod 5a59de2b 2019-10-28T14:02:47 Actually add +hb_font_get_nominal_glyphs() New API: +hb_font_get_nominal_glyphs()
Ebrahim Byagowi a0b4ac4d 2019-08-24T17:57:14 Turn 8 spaces to tab across the project According to the current code style of the project
Behdad Esfahbod aaa85931 2019-08-20T13:06:10 [font] Update multipliers when creating sub_font Fixes https://github.com/harfbuzz/harfbuzz/issues/1910
Behdad Esfahbod dcb4cd40 2019-08-19T11:35:37 Minor
Ebrahim Byagowi bc27f86f 2019-08-14T22:37:00 Move HB_NO_VAR to a better place in hb-font.cc Needed for other works
Ebrahim Byagowi 6a194b68 2019-08-14T18:49:57 Minor, remove trailing spaces in hb-font.{cc,h} as .editorconfig
Behdad Esfahbod 6461143b 2019-08-13T22:20:54 2.6.0
Ebrahim Byagowi 40a4b6dd 2019-07-27T13:33:46 [var] Add a new API, hb_font_set_var_named_instance
Behdad Esfahbod b8477692 2019-07-05T13:52:09 [font] Keep font-space to user-space multiplier Part of https://github.com/harfbuzz/harfbuzz/issues/1801
Behdad Esfahbod df6edcd4 2019-07-05T13:45:15 Make face immutable in hb_font_set_face()
Behdad Esfahbod a8498731 2019-06-19T19:26:22 [config] Add HB_NO_VAR to disable variations support, enabled by HB_TINY Part of https://github.com/harfbuzz/harfbuzz/issues/1652
Behdad Esfahbod 0819f3ca 2019-06-17T14:02:47 Deprecate v_kerning callback again Part of https://github.com/harfbuzz/harfbuzz/issues/1682
Behdad Esfahbod 2682efb0 2019-06-17T13:38:08 Revert "Deprecate font kern API" This reverts commit d219f899f4b2fb4b39ebc1dff9fb648fc5d6d112. API change: Un-deprecate font kern API. Part of https://github.com/harfbuzz/harfbuzz/issues/1682 We should document that this API is only necessary to hook up non-OpenType kerning. hb-ot-font will continue to NOT implement them.
Behdad Esfahbod fca27860 2019-05-11T00:37:01 [config] Make HB_DISABLE_DEPRECATED actually compile Part of https://github.com/harfbuzz/harfbuzz/issues/1652
Behdad Esfahbod 227d85e1 2019-05-10T23:15:58 Minor
Behdad Esfahbod 4d31662b 2019-04-10T15:40:03 Don't install ot-font funcs on new fonts if HB_NO_OT_FONT defined Currently linker cannot GC hb-ot-font completely because we install it on fonts by default. Don't do that if HB_NO_OT_FONT defined. Part of https://github.com/harfbuzz/harfbuzz/issues/1652
Behdad Esfahbod 447323b8 2019-01-22T12:45:40 Better fix for -Wcast-align errors
Behdad Esfahbod 81ec543d 2019-01-22T12:43:12 More -Wcast-error fixes