Commit Graph

294 Commits

Author SHA1 Message Date
Behdad Esfahbod 060ecac949 [font] Respect subfont slant setting in hb-draw
Fixes https://github.com/harfbuzz/harfbuzz/issues/3890
2022-11-23 16:31:37 -07:00
Behdad Esfahbod 59c45f6deb Use hb_memcpy instead of memcpy consistently 2022-11-22 12:54:50 -07:00
Behdad Esfahbod ac0efaf818 Use hb_memset instead of memset consistently 2022-11-22 12:50:36 -07:00
Behdad Esfahbod 56d6b6992b [font/draw] Remove unneeded branch
The preamble sets user_data/destroy to nullptr if func is nullptr.
2022-11-19 15:11:59 -07:00
Behdad Esfahbod 976bb26cc1 [draw] Optimize set_func functions 2022-11-19 15:06:23 -07:00
Behdad Esfahbod 114167a933 [font] Optimize set_func functions 2022-11-19 14:47:45 -07:00
Behdad Esfahbod 1945b400da [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.
2022-07-25 10:45:55 -06:00
Behdad Esfahbod 473a5e5651 [font] Fix design-coords
Ouch!
2022-07-23 13:26:18 -06:00
Behdad Esfahbod 9ea4ab6051 [object] Call constructor 2022-07-20 14:57:32 -06:00
Khaled Hosny 98e90cc67c [docs] Reduce warnings
Use markdown syntax for inline code blocks instead of %true, %false, and
%NULL.
2022-06-30 08:44:40 +02:00
Khaled Hosny 34d3d49e78 [docs] Fix Since annotation 2022-06-29 07:46:21 +02:00
Behdad Esfahbod 33e3bf2d79 [font] Drop caches on variation changes 2022-06-28 13:51:50 -06:00
Khaled Hosny 8537d68172 4.4.0 2022-06-27 20:51:16 +02:00
Behdad Esfahbod d3308f4713 [font] Optimize font scaling further 2022-06-27 11:28:57 -06:00
Behdad Esfahbod 556e7078f0 [font] Optimize glyph scaling 2022-06-26 17:48:43 -06:00
Behdad Esfahbod f78a25098a [gi] Remove Xconstructor annotations 2022-06-05 00:55:35 -06:00
Behdad Esfahbod bc6ecaa262 [font-funcs] Handle case of null func but non-null destroy or user-data 2022-06-01 16:38:12 +01:00
Behdad Esfahbod 88ccbd2c43 [font-funcs] Optimize user-data/destroy storage
Fixes https://github.com/harfbuzz/harfbuzz/issues/2427
2022-06-01 16:38:12 +01:00
Behdad Esfahbod d0de389de8 [font] Fix test 2022-05-26 05:02:50 -06:00
Behdad Esfahbod a2015cd300 [font] Add a separate serial_coords 2022-05-26 05:02:50 -06:00
Behdad Esfahbod 48db1c9583 [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.
2022-05-26 05:02:50 -06:00
Behdad Esfahbod b58bfd9818 [font] Minor move of code to silence gcc-12 warning
See mailing list discussion.
2022-05-16 11:21:45 -06:00
Khaled Hosny 8d1b000a3e 4.0.0 2022-03-01 21:27:32 +02:00
Behdad Esfahbod a396543ae1
Merge pull request #3411 from harfbuzz/draw
[draw] Finish and release draw API
2022-02-15 18:47:55 -06:00
Behdad Esfahbod 93962977bc Remove return of void 2022-02-13 19:38:59 -06:00
Behdad Esfahbod 57aa8c3b3a [draw] Another try at a stable draw moveto semantic 2022-02-13 13:21:15 -06:00
Behdad Esfahbod 151f205819 [draw] Emit move_to immediately, like other operators 2022-02-13 13:21:15 -06:00
Khaled Hosny 8e892bdb54 [doc] Message draw documentation a bit 2022-02-13 13:21:14 -06:00
Behdad Esfahbod c56c13756b [draw] Document more 2022-02-13 13:21:14 -06:00
Behdad Esfahbod bc6c3b8401 [font] Update get_glyph_shape() doc 2022-02-13 13:21:14 -06:00
Behdad Esfahbod 732c749ef7 [font] Adjust synthetic-slant docs 2022-02-13 13:21:14 -06:00
Behdad Esfahbod 2ce19f2868 [font/draw] Fetch shape from parent font if not implemented in font 2022-02-13 13:21:14 -06:00
Behdad Esfahbod a755f93e8d [draw] Add TODO 2022-02-13 13:21:14 -06:00
Behdad Esfahbod 8b4f429000 [draw] Virtualize hb_font_draw_glyph() into hb_font_get_glyph_shape()
To be implemented in hb-ft.
2022-02-13 13:21:14 -06:00
Khaled Hosny 98da330638 3.3.0 2022-01-31 18:39:06 +02:00
Behdad Esfahbod 24650624c8 [font] Fix build with no-var configs 2022-01-28 13:53:21 -07:00
Khaled Hosny 0acf466c44 [doc] Fix hb_font_set_synthetic_slant param name 2022-01-13 01:29:30 +02:00
Matthias Clasen 72f0b24ee3
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>
2022-01-12 11:08:02 -07:00
Matthias Clasen d70825a6d1 docs: Add some details about coordinates
Mention what the effective values are when
coordinates have not been set.
2022-01-08 06:46:22 -08:00
Behdad Esfahbod 165a6073fa
Merge pull request #3338 from harfbuzz/slant
[font] Add public API for synthetic slant
2022-01-02 12:02:20 -07:00
Behdad Esfahbod a7751277e9 [docs] Add hb_font_[gs]et_synthetic_slant() 2022-01-02 11:50:02 -07:00
Behdad Esfahbod 5b87c30d6b [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
2022-01-02 07:53:45 -07:00
Behdad Esfahbod 2d42fc9fbb [font] Load named-instance if face index top bits are set
This matches FreeType behavior.

Fixes https://github.com/harfbuzz/harfbuzz/issues/3348
2022-01-02 07:45:10 -07:00
Behdad Esfahbod ff697debd8 [GPOS] Apply font synthetic slant
Part of fixing https://github.com/harfbuzz/harfbuzz/issues/3196
2021-12-19 21:20:25 -08:00
Behdad Esfahbod 810f5d71c7 [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
2021-12-19 21:20:25 -08:00
Behdad Esfahbod a9a607d360 [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
2021-07-23 11:58:58 -07:00
Behdad Esfahbod 233c29b302 [font] Call fvar.find_axis_index instead of find_axis_info in set_variations() 2021-07-22 12:00:24 -07:00
Behdad Esfahbod 0b2280af90 [font] Call fvar table directly, instead of calling public get_axis_info
To lighten it up in next commit.
2021-07-22 11:58:14 -07:00
Behdad Esfahbod 2337f0d047 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
2021-07-08 10:54:09 -07:00
Khaled Hosny 051a3c7b9a [docs] Fix typo 2021-01-20 14:22:15 -08:00