src/hb-font.cc


Log

Author Commit Date CI Message
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
Behdad Esfahbod 8d05bf7d 2019-01-22T12:34:05 Fix cast-align error If compiler doesn't inline StructAtOffset, this was an error since we only disable cast-align at call-site. So, move the cast out. ../src/hb-machinery.hh: In instantiation of 'const Type& StructAtOffset(const void*, unsigned int) [with Type = unsigned int]': ../src/hb-font.cc:146:85: required from here ../src/hb-machinery.hh:63:12: error: cast from 'const char*' to 'const unsigned int*' increases required alignment of target type [-Werror=cast-align] { return * reinterpret_cast<const Type*> ((const char *) P + offset); } ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/hb-machinery.hh: In instantiation of 'Type& StructAtOffset(void*, unsigned int) [with Type = unsigned int]': ../src/hb-font.cc:147:79: required from here ../src/hb-machinery.hh:66:12: error: cast from 'char*' to 'unsigned int*' increases required alignment of target type [-Werror=cast-align] { return * reinterpret_cast<Type*> ((char *) P + offset); } ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Behdad Esfahbod b900f780 2019-01-18T10:08:23 [pragma] More cast-align whitelist
Behdad Esfahbod 0d8b931b 2019-01-18T10:03:43 [pragma] Allow cast-align in hb-font.cc ../src/hb-machinery.hh: In instantiation of 'const Type& StructAtOffset(const void*, unsigned int) [with Type = unsigned int]': ../src/hb-font.cc:144:85: required from here ../src/hb-machinery.hh:63:12: error: cast from 'const char*' to 'const unsigned int*' increases required alignment of target type [-Werror=cast-align] { return * reinterpret_cast<const Type*> ((const char *) P + offset); } ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/hb-machinery.hh: In instantiation of 'Type& StructAtOffset(void*, unsigned int) [with Type = unsigned int]': ../src/hb-font.cc:145:79: required from here ../src/hb-machinery.hh:66:12: error: cast from 'char*' to 'unsigned int*' increases required alignment of target type [-Werror=cast-align] { return * reinterpret_cast<Type*> ((char *) P + offset); } ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/hb-machinery.hh: In instantiation of 'Type& StructAtOffset(void*, unsigned int) [with Type = int]':
Ebrahim Byagowi e4120085 2018-12-17T21:31:01 Remove redundant void from C++ sources (#1486)
Behdad Esfahbod ce5da0f3 2018-11-16T02:29:13 [shaper] Rewrite shaper data code to be more template-driven than macro-driven
Behdad Esfahbod 925b7a21 2018-11-11T00:17:30 Comment
Behdad Esfahbod 93ef20a8 2018-11-03T15:03:06 Replace most uses of is_inert with is_immutable
Behdad Esfahbod 5570c87f 2018-11-03T14:51:38 Port objects to use header.writable instead of immutable Saves 4 or 8 bytes per object on 64bit archs.
Behdad Esfahbod b9db610a 2018-10-31T14:22:31 Minor
Behdad Esfahbod cf5fa57f 2018-10-27T04:50:38 [docs] Change section titles again I think I like the uniform "hb-*" more.
Behdad Esfahbod 5dd86aa3 2018-10-27T04:28:40 [docs] Rename section titles to object names More useful.
Behdad Esfahbod 00cf4e5e 2018-10-27T04:07:33 [docs] Fill in some sections
Behdad Esfahbod 39bd07ae 2018-10-26T21:01:11 Fix bunch of unused parameter warnings Show up with gcc -O0. There's a few more but those are functions that need to be filled in. Maybe this is a lost battle...
Behdad Esfahbod 08b71729 2018-10-19T19:12:33 [font] Fix parallel funcs passing to eachover in infinite-loop Fixes test just added.
Behdad Esfahbod 3d9a0306 2018-10-18T05:58:17 2.0.0
Behdad Esfahbod 68c86af1 2018-10-11T21:18:20 Always compile deprecated symbols We haven't been keeping this updated. So, while we don't expose the symbols in the headers if HB_DISABLE_DEPRECATED is defined, we still always build them.
Behdad Esfahbod 07899435 2018-10-09T15:39:51 Install ot-funcs on newly created funcs **Finally**! Casual users can stop caring about font-funcs completely now, like they haven't been needing to care re unicode-funcs for a few years.
Behdad Esfahbod ca6a3170 2018-10-09T09:06:07 Minor
Behdad Esfahbod b314c4e9 2018-10-09T09:23:51 [font] Add get_nominal_glyphs() callback (note the plural) Unused as of now. To be wired up to normalizer, which would remove overhead and allow hb-ot-font initialization to become a no-op, so we can enable it by default.
Behdad Esfahbod bee93e26 2018-10-09T08:01:49 Add const to get_*_advances API Ouch!
Behdad Esfahbod d219f899 2018-10-09T00:01:09 Deprecate font kern API
HinTak f9ea3dc4 2018-10-02T06:43:06 Missing "out" indicator (#1209) Missing "out" indicator. Affect gobject introspection.