Commit Graph

12615 Commits

Author SHA1 Message Date
Behdad Esfahbod 589bea15b7 Fix previous commit 2022-01-15 17:55:10 -07:00
Behdad Esfahbod b97e4f7084 Further adjust setlocale
Fixes https://github.com/harfbuzz/harfbuzz/issues/3375#issuecomment-1013783496
2022-01-15 17:47:51 -07:00
Behdad Esfahbod 63affc4eae [vector] Move semantics when resizing 2022-01-15 12:24:20 -08:00
Behdad Esfahbod 1c50106608 [meta] Include <memory>, for addressof
Fixes https://github.com/harfbuzz/harfbuzz/issues/3375
2022-01-15 13:09:06 -07:00
Behdad Esfahbod 71e6f742a8 [meta] Remove unused hb_ref() 2022-01-15 13:09:06 -07:00
Garret Rieger e30511a8de [map] Correct previous commit, if (...) was reversed. 2022-01-14 16:48:42 -08:00
Garret Rieger ff4e8c7eac [map] Fix bad memory access if hb_map.fini() was called twice. 2022-01-14 16:42:39 -08:00
Behdad Esfahbod 8a69e00639 [meta] Use std::addressof() instead of hb_addressof() 2022-01-13 16:17:34 -07:00
Behdad Esfahbod b7b0a15f7e [meta] Remove hb_add_const 2022-01-13 15:33:27 -07:00
Behdad Esfahbod 3b2e604237 [meta] Use std::is_const instead of hb_is_const 2022-01-13 15:32:46 -07:00
Behdad Esfahbod 909dde9df1 [meta] Use std::is_reference instead of hb_is_reference 2022-01-13 15:30:10 -07:00
Behdad Esfahbod 47afb3ef04 [meta] Replace hb_is_pointer with std::is_pointer 2022-01-13 15:27:41 -07:00
Behdad Esfahbod 956e0a4d13 [map] Destruct objects 2022-01-13 15:07:10 -07:00
Jussi Pakkanen 726b1a8b2d Convert fallback kwargs to [provide] entries. 2022-01-13 13:25:16 -08:00
Behdad Esfahbod bc0a5fdf43 [test-map] Add disabled tests with std::string 2022-01-13 13:34:22 -07:00
Behdad Esfahbod 985b63b3ee [map] Allow invalid items to be pointer to static object
By derefencing them when necessary.

Also, we do not rely on trivially-copyable, so remove that assertion.
2022-01-13 13:33:07 -07:00
Behdad Esfahbod 98b26eedf5 [check-static-inits] Only check library object files 2022-01-13 13:12:10 -07:00
Behdad Esfahbod 1e27f95dc1 [algs] Add hb_coerce() 2022-01-13 13:10:47 -07:00
Behdad Esfahbod 5a91db1135 [map] Remove constexpr invalid items
These were non-workable in the general case, eg std::string.
2022-01-13 12:44:48 -07:00
Behdad Esfahbod 114046dc27 [map] Construct objects 2022-01-13 12:38:26 -07:00
Matthias Clasen b15e497d4d Fix the docs build
This was inadvertendly broken in f956ecdbaf.
Sorry
2022-01-13 12:19:05 -07:00
Behdad Esfahbod ca4f56bdc7 [map] Massage some more
Towards being able to store arbitrary types.
2022-01-13 12:18:59 -07:00
Behdad Esfahbod cfe2b66114 [algs] Fix hash chaining to std::hash() 2022-01-13 12:18:59 -07:00
Garret Rieger 87496bf63e [subset] fix fuzzer timeout if visisted_paint goes into error. 2022-01-13 11:08:24 -08:00
Matthias Clasen 4ced2e8a8a docs: Add some details
Mention immutability in the object model section.
2022-01-13 10:54:24 -08:00
Matthias Clasen bb330c6aa6 docs: Fix a typo 2022-01-13 10:54:24 -08:00
Behdad Esfahbod 16cfe34ae8 [git.mk] Update 2022-01-13 11:01:39 -07:00
Khaled Hosny 0acf466c44 [doc] Fix hb_font_set_synthetic_slant param name 2022-01-13 01:29:30 +02:00
Behdad Esfahbod fa12f1ae25 Rename method 2022-01-12 15:08:34 -07:00
Behdad Esfahbod 9408e0d6d1 Rename variable 2022-01-12 15:07:34 -07:00
Behdad Esfahbod 96c969c820 Preserve glyph props 2022-01-12 15:06:40 -07:00
Behdad Esfahbod 0b2c514fb4 More macro cleanup 2022-01-12 11:20:58 -07:00
Behdad Esfahbod 0a42f46ce9 Fix compiler warning
Fixes https://github.com/harfbuzz/harfbuzz/issues/3364
2022-01-12 11:16:17 -07: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 befe3b5d5a
color: Document empty returns (#3362)
Document that the SVG and PNG getters return
the singleton empty blob if the glyph has no
color.

Fixes: #1413

Co-authored-by: Matthias Clasen <mclasen@redhat.com>
2022-01-12 11:07:25 -07:00
Behdad Esfahbod 13643934aa Clean up HB_NO_SETLOCALE
https://github.com/harfbuzz/harfbuzz/pull/3358#pullrequestreview-850500143
2022-01-12 10:54:28 -07:00
Behdad Esfahbod 53847dba92 [algs] Call std::hash from hb_hash() 2022-01-12 10:35:28 -07:00
Behdad Esfahbod 74811c501d [map] Map == / != use correct types 2022-01-12 10:35:28 -07:00
Timo Suoranta b8c2c1ab37
Use freetype from CMake target when present (#3361)
Add check for Freetype CMake target. If it is found:
- enable HB_HAVE_FREETYPE option
- add HAVE_FREETYPE=1 define
- bypass finding Freetype as cmake package
- add Freetype CMake target as dependency to harfbuzz
2022-01-11 05:14:44 -07:00
Behdad Esfahbod ce7f19a2cc Revert "[map] Actually use k/v invalid types for declaration!"
This reverts commit 6f559346ac.

Err. My bad.
2022-01-10 14:40:27 -07:00
Behdad Esfahbod 6f559346ac [map] Actually use k/v invalid types for declaration! 2022-01-10 14:29:36 -07:00
Behdad Esfahbod a45a630539
Fix unintentional locale dependency (#3358)
Avoid unintentional locale dependency

hb_variation_to_string uses sprintf with %g, which will produce
a locale-dependent decimal point, which is not desired here.

The output is supposed to be compatible with CSS syntax, and
that always uses '.' for the decimal point.

Fix this by changing the per-thread locale to "C" around sprintf call.

Fixes https://github.com/harfbuzz/harfbuzz/issues/3355
Fixes https://github.com/harfbuzz/harfbuzz/pull/3357
Fixes https://github.com/harfbuzz/harfbuzz/pull/3358

Co-authored-by: Matthias Clasen <mclasen@redhat.com>
2022-01-08 16:47:33 -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 0a5c1c9705 [failing-alloc] Make it compile as C++ as well 2022-01-04 14:18:38 -07:00
Behdad Esfahbod bea5369c6d [buffer] Rename swap_buffers() to sync() 2022-01-04 10:52:05 -07:00
Behdad Esfahbod c5e5d5e0bc
Merge pull request #3353 from harfbuzz/buffer-create-similar
Add `hb_buffer_create_similar()`; use it in util
2022-01-04 07:33:59 -07:00
Behdad Esfahbod d1e7df5c3f [buffer] Add enter()/leave() pair around shape() 2022-01-04 07:32:04 -07:00
Behdad Esfahbod 43be5ba442 [buffer] Group shape-related members together 2022-01-04 07:26:53 -07:00
Behdad Esfahbod 52f5711ed0 [buffer] Add hb_buffer_create_similar()
Fixes https://github.com/harfbuzz/harfbuzz/issues/1555
2022-01-03 11:57:42 -07:00
Behdad Esfahbod f643b81ffc [buffer] Clean up internal state bookkeeping
hb_buffer_reset() was NOT resetting cluster_level. Ouch! Fix that.

Part of https://github.com/harfbuzz/harfbuzz/issues/1555
2022-01-03 11:45:31 -07:00