src/hb-face.cc


Log

Author Commit Date CI Message
Behdad Esfahbod 48f8ed7e 2023-04-22T10:11:22 Docs
Josef Friedrich ac4c3b3e 2023-04-17T20:13:43 Fix typos in the source code docs
Khaled Hosny 8bdaeddf 2023-02-11T23:44:58 7.0.0
Khaled Hosny 0ea8bbd9 2023-02-11T20:01:06 [doc] Use XSince for REPLACEME/EXPERIMENTAL To hide them from gtk-doc so that we can finally enable gtkdoc-check.
Khaled Hosny fcb5111c 2023-01-21T00:24:50 [doc] Fix gtk-doc warning
Behdad Esfahbod cb509d9c 2023-01-10T13:11:48 [face] Docs
Behdad Esfahbod 8a2efbd8 2023-01-10T13:10:36 [upem] More docs
Behdad Esfahbod e8ac0ef2 2023-01-05T16:20:43 [face] Minor rename a variable
Matthias Clasen 381ac2fd 2023-01-05T17:48:09 docs: Fix a typo
Behdad Esfahbod c54debc7 2023-01-05T11:54:06 [face] Add hb_face_collect_nominal_glyph_mapping Fixes https://github.com/harfbuzz/harfbuzz/issues/3973
Behdad Esfahbod 8b12c195 2023-01-05T11:42:21 [face] Split hb-face-builder.cc
Behdad Esfahbod 1a5c7495 2022-12-04T15:20:51 [config] Flesh out HB_NO_SHAPER a bit more
Behdad Esfahbod 765a3551 2022-12-04T14:48:32 [face-builder] Minor cast
Behdad Esfahbod 3fff6d90 2022-12-04T14:47:38 [face-builder] Initialize face orders to -1
Behdad Esfahbod 805ce9ad 2022-12-04T14:43:17 [face-builer] Protect against wrong face In hb_face_builder_sort_tables.
Behdad Esfahbod a73137d1 2022-10-17T12:18:16 [face] Fix annotation
Khaled Hosny 3ce4b8f5 2022-10-08T19:10:07 5.3.0
Garret Rieger 8cd7d1c3 2022-09-20T22:04:39 [subset] Allow table ordering on the face builder to be overriden.
Behdad Esfahbod f73c15ca 2022-08-03T12:54:03 [atomic-int] Add operators for relaxed ops
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.
Khaled Hosny 98e90cc6 2022-06-30T08:43:57 [docs] Reduce warnings Use markdown syntax for inline code blocks instead of %true, %false, and %NULL.
Behdad Esfahbod f78a2509 2022-06-05T00:55:35 [gi] Remove Xconstructor annotations
Behdad Esfahbod c88a6a9e 2022-06-01T09:46:41 [face] Remove const from get_user_data prototype This was done by mistake. Since the returned user_data can be changed, face should not be marked const. Other object types follow this parttern.
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 da7dba00 2022-01-01T11:20:20 [face] Clarify face_index handling Fixes https://github.com/harfbuzz/harfbuzz/issues/3347
Garret Rieger 8c0c217b 2021-08-06T10:45:38 [subset] fail reference blob in face builder if allocation for table sorting fails. Fixes https://oss-fuzz.com/testcase-detail/5041767803125760
Garret Rieger e5bfd49a 2021-08-05T14:03:25 [subset] don't allow table adds for tag == -1.
Garret Rieger 222b74f0 2021-08-05T11:39:26 [subset] don't leak memory for duplicate tables.
Behdad Esfahbod 2cb8c928 2021-08-05T12:27:22 [face] Let hashmap derive invalid key/value types Works now with the previous two fixes.
Behdad Esfahbod 74ad5ddc 2021-08-05T11:51:54 [face] Minor cleaning of previous commit
Garret Rieger c2ee1fdd 2021-08-04T16:42:49 [subset] remove unsed table_entry struct.
Garret Rieger dea0fe57 2021-08-04T16:36:20 [subset] discard extra copies of a table in face builder. Fixes #2361. Stores tables in the builder in a hashmap so you end up with at most one copy of each table. Table serialization order is now based on tag sort order instead of order of insertion into the builder.
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 4811e8f5 2021-06-07T10:54:36 Trigger doc rebuild
Behdad Esfahbod 140797d4 2020-06-29T03:51:09 [constexpr] hb_atomic_int_t
Behdad Esfahbod d7e2a51d 2021-02-11T10:55:03 [minor] Add unlikely() when checking for error
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 3d7a3616 2020-12-30T23:58:37 [docs] Miscellaneous missing docs
Khaled Hosny a8e72ee7 2020-12-30T23:08:40 [docs] Use %true and %false consistently
Khaled Hosny f88e845f 2020-12-24T21:28:37 [docs] Minor fixes
Khaled Hosny cc7b3a1a 2020-09-26T10:22:39 [Docs] Address review comments
n8willis 41b46a3c 2020-04-26T16:01:31 Update hb-face.cc
n8willis 726e320e 2020-04-26T15:56:57 Update inline doc for hb_face_create: explain index
Nathan Willis 3e72febd 2019-04-22T19:21:27 [Docs] Add GTK-Doc comments for hb-face.
Garret Rieger dae32b4f 2020-07-28T18:31:46 [subset] bail out of subsetting if plan allocation fails.
Sebastian Rasmussen 12a9d572 2020-06-24T03:25:43 [face] Destroy blob if face closure can not be created (#2490) This fixes issue #2489.
Ebrahim Byagowi 2dda6dd7 2020-04-20T14:12:45 minor, tweak spacing turn 8 spaces to tab, add space before Null/Crap
Michiharu Ariza 5ab50eeb 2020-02-29T01:32:29 collect_unicodes() with clamp, calling add_range() Use add_range instead an inner loop, clamp its input number by number of glyphs a face has. Even the face cmap12 and 13 have 32-bit hb_codepoint_t, which is here used to make timeout, face's maxp has 16-bit gid limitation at least for now, using that makes sure we both fix and the timeout and don't need to change much things here also in order to support 32-bit gids also someday. Fixes #2204
Ebrahim Byagowi e9021386 2020-02-28T21:24:27 Revert "collect_unicodes() to check gid < num_glyphs with cmap 12" Didn't fix the case actually, making bots to fail. This reverts commit 15b43a410400c74a32d40f4b89dbea02fa7cd6e1.
Michiharu Ariza 15b43a41 2020-02-28T08:45:39 collect_unicodes() to check gid < num_glyphs with cmap 12 fixes #2204
Ebrahim Byagowi f441a7c0 2019-09-01T02:18:09 Don't allow reference blob be accessed using empty tag in hb_face_reference_table (#1947)
Behdad Esfahbod 27de7c44 2019-06-19T20:07:02 [config] Add HB_NO_FACE_COLLECT_UNICODES Part of https://github.com/harfbuzz/harfbuzz/issues/1652
Behdad Esfahbod fa333e34 2018-12-27T17:56:22 [vector] Remove static_array Was good idea, but with C++ types with constructor/destructor, was getting in the way as compiler was destructing those items where it was not desired. Since C++ does not allow zero-sized arrays, just remove it...
Behdad Esfahbod 474a1205 2018-12-21T18:46:51 [array/vector] Rename len to length
Behdad Esfahbod f1e95e40 2018-12-18T16:49:08 [arrays] Remove hb_supplier_t<>
Behdad Esfahbod f9417af2 2018-12-18T13:23:32 [serialize] Propagate error from hb-face
Behdad Esfahbod cf39c242 2018-12-17T22:36:23 [arrays] Rename Supplier to hb_supplier_t
Ebrahim Byagowi e4120085 2018-12-17T21:31:01 Remove redundant void from C++ sources (#1486)
Behdad Esfahbod 0d0fe9df 2018-12-16T22:29:40 [arrays] Remove need of stride in Supplier<>
Ebrahim Byagowi b2ebaa9a 2018-12-16T22:38:10 Remove redundant 'inline' from methods (#1483)
Behdad Esfahbod fb059082 2018-11-30T20:45:40 Revert ugly fixes Now that we have 6daf45e0, revert cryptic hacks... This reverts commit abd81ed4f5cbc5a94171747909bc6b77551cb929. This reverts commit 9c6921c08c905a0cf45ba0182134e6ff910fac51. This reverts commit d39760cabfe4007cefdfc45231e85e93fababac2. This reverts commit fedd8e6c176dea85194693399e50243eb1c117c4. Fixes https://github.com/harfbuzz/harfbuzz/issues/1374
Behdad Esfahbod abd81ed4 2018-11-30T11:51:26 Umm. Cryptic, yes In file included from hb-face.cc:35: hb-ot-cmap-table.hh: In member function 'void OT::CmapSubtableFormat4::_compiles_assertion_on_line_388() const': hb-ot-cmap-table.hh:388: error: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second: hb-open-type.hh:354: note: candidate 1: const Type& OT::UnsizedArrayOf<Type>::operator[](unsigned int) const [with Type = OT::IntType<short unsigned int, 2u>] hb-ot-cmap-table.hh:388: note: candidate 2: operator[](const T*, int) <built-in> hb-ot-cmap-table.hh: In member function 'void OT::CmapSubtableFormat4::_instance_assertion_on_line_388() const': hb-ot-cmap-table.hh:388: error: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second: hb-open-type.hh:354: note: candidate 1: const Type& OT::UnsizedArrayOf<Type>::operator[](unsigned int) const [with Type = OT::IntType<short unsigned int, 2u>] hb-ot-cmap-table.hh:388: note: candidate 2: operator[](const T*, int) <built-in> hb-face.cc: In function 'hb_blob_t* _hb_face_builder_data_reference_blob(hb_face_builder_data_t*)': hb-face.cc:650: error: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second: hb-vector.hh:81: note: candidate 1: Type& hb_vector_t<Type, PreallocedCount>::operator[](unsigned int) [with Type = hb_face_builder_data_t::table_entry_t, unsigned int PreallocedCount = 32u] hb-face.cc:650: note: candidate 2: operator[](T*, int) <built-in> hb-face.cc:650: error: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second: hb-vector.hh:81: note: candidate 1: Type& hb_vector_t<Type, PreallocedCount>::operator[](unsigned int) [with Type = hb_face_builder_data_t::table_entry_t, unsigned int PreallocedCount = 32u] hb-face.cc:650: note: candidate 2: operator[](const T*, int) <built-in> hb-face.cc:651: error: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second: hb-vector.hh:81: note: candidate 1: Type& hb_vector_t<Type, PreallocedCount>::operator[](unsigned int) [with Type = hb_face_builder_data_t::table_entry_t, unsigned int PreallocedCount = 32u] hb-face.cc:651: note: candidate 2: operator[](T*, int) <built-in> hb-face.cc:651: error: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second: hb-vector.hh:81: note: candidate 1: Type& hb_vector_t<Type, PreallocedCount>::operator[](unsigned int) [with Type = hb_face_builder_data_t::table_entry_t, unsigned int PreallocedCount = 32u] hb-face.cc:651: note: candidate 2: operator[](const T*, int) <built-in>
Behdad Esfahbod ae79fdaa 2018-11-30T11:51:26 Umm. Cryptic, yes hb-face.cc:650: error: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second: hb-vector.hh:81: note: candidate 1: Type& hb_vector_t<Type, PreallocedCount>::operator[](unsigned int) [with Type = hb_face_builder_data_t::table_entry_t, unsigned int PreallocedCount = 32u] hb-face.cc:650: note: candidate 2: operator[](T*, int) <built-in>
Behdad Esfahbod 0f32c95e 2018-11-30T11:31:39 Fix a few more sizeof(vector[0]) errors with weird compilers
Behdad Esfahbod 96cf0889 2018-11-24T01:07:15 [arrays] More
Behdad Esfahbod ce5da0f3 2018-11-16T02:29:13 [shaper] Rewrite shaper data code to be more template-driven than macro-driven
Behdad Esfahbod fc44dea3 2018-11-13T11:54:33 Use atomic ints for upem and num_glyphs on face
Behdad Esfahbod e88d47b7 2018-11-11T16:25:43 Minor
Behdad Esfahbod 98c6f03c 2018-11-11T15:54:20 Minor
Behdad Esfahbod ea6d9b66 2018-11-05T23:09:29 [ot-face] Remove a few ensures
Behdad Esfahbod 0fe7a745 2018-11-05T23:08:33 [ot-face] Simplify more table access
Behdad Esfahbod 914b595f 2018-11-05T22:39:50 [ot-face] Include hb-ot-face directly in hb_face_t Simplifying access coming next.
Behdad Esfahbod f6fc5574 2018-11-05T13:23:54 Add pointer magic operators to hb_atomic_ptr_t
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 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...
Michiharu Ariza 55942ad5 2018-10-06T14:49:44 Merge branch 'master' into cff-subset
Behdad Esfahbod 341206eb 2018-10-05T18:39:48 [vector] Make hb_vector_t relocatable / nestable Ugly, but... Fixes https://github.com/harfbuzz/harfbuzz/issues/1227
HinTak bd1be873 2018-10-03T07:11:22 Missing colon for gobject annotation There should be a colon separating "(transfer full)" and the rest. Warned by g-ir-scanner.
Behdad Esfahbod 90a0f9fa 2018-09-26T15:03:07 Make TSan happy with make_immutable()
Behdad Esfahbod 55bae682 2018-09-24T10:43:06 [docs] A few improvements If we wrote just this much every day...
Behdad Esfahbod 9479ffef 2018-09-11T16:41:26 [dfont] Re-enable and fix offset handling Fixes https://github.com/harfbuzz/harfbuzz/pull/1085
Behdad Esfahbod 54d332dd 2018-09-10T11:37:24 1.9.0
Behdad Esfahbod a2680680 2018-08-26T15:18:46 [ot-face] Remove tables_t. The face_data_t is what tables_t was
Behdad Esfahbod 3a0b3a29 2018-08-26T15:11:24 Free up hb-ot-face.hh from includes There might be a better way to do this, but I couldn't find...
Behdad Esfahbod a84309af 2018-08-26T09:33:01 [face] Use saved cmap in collect_unicodes() APIs
Behdad Esfahbod dae39c58 2018-08-25T22:44:39 [face] Introduce character-map API New API: +hb_face_collect_unicodes +hb_face_collect_variation_selectors +hb_face_collect_variation_unicodes
Behdad Esfahbod c77ae408 2018-08-25T22:36:36 Rename hb-*private.hh to hb-*.hh Sorry for the noise, downstream custom builders. Please adjust.
Behdad Esfahbod aadb2a91 2018-08-25T08:18:53 Add face-builder New API: +hb_face_builder_create +hb_face_builder_add_table
Behdad Esfahbod 1f738094 2018-08-09T00:22:37 [atomic] Add hb_atomic_ptr_t<> and port all uses Found and fixed a couple bugs. Found a couple multithreading issues. Marked them with "XXX-MT-bug".
Behdad Esfahbod 3506672c 2018-08-06T06:17:48 Port _nil objects to Null() machinery Finally, unified!
Behdad Esfahbod 443de26f 2018-08-02T01:41:19 Minor
Behdad Esfahbod ed7b2e58 2018-08-01T23:59:09 Remove OT namespace from hb-machinery-private.hh
Behdad Esfahbod 16ccfafb 2018-08-01T22:50:06 [face] Sprinkle const in the API
Behdad Esfahbod c6bc7c38 2018-07-23T11:46:46 Set num glyphs on sanitizer reference_table() Move out-of-class definitions of two methods to hb-static so they are accessible in libharfbuzz-subset.
Behdad Esfahbod 8e3e4127 2018-07-22T22:49:26 Port rest of code away from Sanitizer<>
Behdad Esfahbod 9583e007 2018-07-22T22:40:32 Port more off of Sanitizer<>
Behdad Esfahbod 1e9e344b 2018-07-17T19:17:59 Fix hb_face_count() sanitize referencing