src


Log

Author Commit Date CI Message
Behdad Esfahbod bb255cd9 2022-06-10T17:03:52 [indic-generator] Remove redundant override of U+0980 https://github.com/harfbuzz/harfbuzz/pull/3648#discussion_r894627064
Behdad Esfahbod 30d8c87d 2022-06-10T16:56:15 [myanmar] Document Medials https://github.com/harfbuzz/harfbuzz/pull/3648#discussion_r894532676
Behdad Esfahbod e1826c37 2022-06-10T16:53:11 [khmer] Reuse OT_H for OT_Coeng https://github.com/harfbuzz/harfbuzz/pull/3648#discussion_r894517417
Behdad Esfahbod eb2f2e31 2022-06-10T16:47:59 [indic-generator] Update comment re U+104E https://github.com/harfbuzz/harfbuzz/pull/3648#pullrequestreview-1002150048
Behdad Esfahbod 0daafefd 2022-06-10T10:55:49 Merge branch 'main' into indic-cleanup
Behdad Esfahbod 148283d0 2022-06-10T07:48:39 [syllabic] Use a buffer scratch-flag for has-broken-syllable
Behdad Esfahbod 6997d10b 2022-06-10T07:43:33 [arabic] Remove a couple TODO items
Behdad Esfahbod e1575f23 2022-06-10T07:41:39 [iter] Remove a few TODO items
Behdad Esfahbod 689c7753 2022-06-10T07:37:45 [buffer] Actually remove TODO item In reality, one side is smaller and one side is larger. The existing code handles that just fine.
Behdad Esfahbod d09e962b 2022-06-10T07:35:16 [buffer] Update a TODO item
Behdad Esfahbod b3f689e7 2022-06-10T07:31:47 [serializer] Remove TODO that's not gonna happen
Behdad Esfahbod 10a8cc28 2022-06-10T07:31:06 [normalizer] Remove a TODO that's not going to happen
Behdad Esfahbod 7635568f 2022-06-10T07:29:15 [font] Remove a TODO item that's not gonna happen
Behdad Esfahbod bd453de7 2022-06-10T07:25:48 [unicode] Accept a couple hacks as permanent
Behdad Esfahbod 39c132a6 2022-06-10T07:12:39 [indic/myanmar] Simplify compare functions
Behdad Esfahbod a5bcd856 2022-06-10T07:03:02 [indic] Update comment re category listing
Behdad Esfahbod 10a54851 2022-06-10T06:34:56 [indic/myanmar] Move is_consonant to .cc files
Behdad Esfahbod 1c657460 2022-06-10T06:29:45 [indic] Expand MEDIAL_FLAGS
Behdad Esfahbod 9e3917f6 2022-06-10T06:20:56 [indic] Move a couple of functions to .cc file
Behdad Esfahbod 165ef55e 2022-06-10T06:20:10 [indic-generator] Move INDIC_COMBINE_CATEGORIES here
Behdad Esfahbod b030dd9e 2022-06-10T06:12:13 [indic-table] Minor rename
Behdad Esfahbod d414fb33 2022-06-10T00:50:47 [indic/khmer/myanmar] Add static_assert that categories match OT_*
Behdad Esfahbod 15ea4ccb 2022-06-09T17:47:46 [indic-like] Add note about replicated values
Behdad Esfahbod 3289e815 2022-06-09T17:46:15 [indic] Use categories from the machine
Behdad Esfahbod 37217fc9 2022-06-09T16:43:50 [indic-generator/myanmar] Move most Myanmar category overrides to generator
Behdad Esfahbod c136227f 2022-06-09T13:36:19 [indic-generator/khmer] Move Khmer overrides to generator
Behdad Esfahbod 40aa4e83 2022-06-09T13:30:00 [indic/khmer/myanmar] Add Khmer/Myanmar categories to indic_category_t
Behdad Esfahbod 25793075 2022-06-09T13:11:46 [indic-generator] Move Khmer/Myanmar vowel categories to the generator
Behdad Esfahbod a6c82d4b 2022-06-09T13:04:28 [myanmar] Simplify to not use position info from the indic table for shaping
Behdad Esfahbod 10cd8ac0 2022-06-09T12:27:31 [indic-generator] Move matra category overrides to generator
Behdad Esfahbod c4e4f1d3 2022-06-09T11:56:57 [indic-generator] Move SMVD position overrides to generator
Behdad Esfahbod 2963154c 2022-06-09T11:49:02 [indic-generator] Add a couple comments
Behdad Esfahbod 91d6f45b 2022-06-09T07:34:44 [indic-generator] Move some position overrides to the generator
Behdad Esfahbod 0ec4dcb9 2022-06-09T07:33:43 [indic-generator] Ouch Not sure how this was passing tests still.
Behdad Esfahbod f0269e0f 2022-06-09T07:10:47 [indic-generator] Move Ra handling to the generator
Behdad Esfahbod 419d2146 2022-06-09T07:01:14 [indic-generator] Cap off what categories have positions This was left off of the commit moving Indic categories to the generator. It didn't fail any tests, but adding it back because it has implications possibly.
Behdad Esfahbod e1d965d5 2022-06-09T06:48:25 [indic-generator] Move position mapping to generator
Behdad Esfahbod 49075140 2022-06-09T06:33:51 [indic-generator] Move category overrides to generator
Behdad Esfahbod 58eeb3a1 2022-06-09T05:34:49 [indic-generator] Move category mapping to generator
Behdad Esfahbod 899ca243 2022-06-05T01:52:31 [myanmar] Remove duplication of categories in the Myanmar shaper
Behdad Esfahbod ce0528c0 2022-06-05T01:34:10 [khmer] Remove duplication of categories in the Khmer shaper
Behdad Esfahbod 17c80035 2022-06-09T04:17:38 Revert "[cplusplus] Internally allow using hb_unique_ptr with hb_free()" This reverts commit b5f621b08d56c15832ab4f588a0673fce03305a0. A build was failing with clang 14 for Firefox apparently, sigh. https://github.com/harfbuzz/harfbuzz/issues/3647
Behdad Esfahbod 9fc9b1ec 2022-06-08T12:35:43 [layout] Minor, add using Lookup to GSUB/GPOS
Behdad Esfahbod d4ddb3ac 2022-06-08T11:45:14 Comments typos
Behdad Esfahbod 4119f73c 2022-06-08T06:34:48 [subset/layout] Rename dispatch_closure_lookups_recurse_func to dispatch_recurse_func<>
Behdad Esfahbod c13ff395 2022-06-08T06:25:23 [layout] Rename apply_recurse_func to specialization of dispatch_recurse_func
Behdad Esfahbod 6a1edb8c 2022-06-08T11:38:17 [set-digest] One more rename
Behdad Esfahbod 6453737b 2022-06-08T11:37:12 [set-digest] Rename lowest_bits to bits_pattern
Behdad Esfahbod 2a061cb9 2022-06-08T11:35:50 [set-digest] Improve documentation
Behdad Esfahbod 42051fe1 2022-06-08T04:00:21 [layout] s/inplace/always_inplace/g
Behdad Esfahbod 21346af0 2022-06-07T14:41:39 [layout-cache] Adjust cost-function for recent change
Behdad Esfahbod bfee6839 2022-06-07T11:41:05 [layout-cache] Cache lookahead, not input, classdef in ChainContextFormat2 From the commit: + /* For ChainContextFormat2 we cache the LookaheadClassDef instead of InputClassDef. + * The reason is that most heavy fonts want to identify a glyph in context and apply + * a lookup to it. In this scenario, the length of the input sequence is one, whereas + * the lookahead / backtrack are typically longer. The one glyph in input sequence is + * looked-up below and no input glyph is looked up in individual rules, whereas the + * lookahead and backtrack glyphs are tried. Since we match lookahead before backtrack, + * we should cache lookahead. This decisions showed a 20% improvement in shaping of + * the Gulzar font. https://github.com/harfbuzz/harfbuzz/pull/3636
Behdad Esfahbod 39820af7 2022-06-07T10:18:38 [layout] Add HB_NO_OT_LAYOUT_LOOKUP_CACHE to disable caching lookups Enabled when optimize-size profile is enabled.
Behdad Esfahbod 845279c3 2022-06-07T16:40:22 Merge pull request #3636 from harfbuzz/classdef-cache Classdef cache
Behdad Esfahbod b59e25f2 2022-06-07T09:27:09 [cff] Try fixing Heap-buffer-overflow in CFF::Charset::collect_glyph_to_sid_map Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=47790
Behdad Esfahbod c8fb048f 2022-06-07T09:20:27 [gsubgpos] Document caching
Behdad Esfahbod 5963cf44 2022-06-07T09:12:45 [gsubgpos] Merge cache_enter and cache_leave entry points Saves a pointer per subtable
Behdad Esfahbod d4c09e9a 2022-06-07T09:03:30 [gsubgpos] Remove apply_cached() entry point Just use a bool to apply()
Behdad Esfahbod b96622d1 2022-06-05T02:45:41 [layout] Use a cache for main input ClassDef of (Chain)ContextLookupFormat2 This commit adds a per-lookup caching infrastructure to GSUB/GPOS, and uses it to cache input ClassDef.get_class value for (Chain)ContextLookupFormat2. For fonts heavy on use of heave class-based2 context matching, this shows a good speedup. For NotoNastaliqUrdu for example, I observe 17% speedup. Unfortunately not many other lookups can use a cache like this :(. https://github.com/harfbuzz/harfbuzz/pull/3636
Xavier Claessens 4266f4e2 2022-06-03T12:06:56 Fix check-* scripts when harfbuzz is a subproject When harfbuzz is a subproject paths are in the form "subprojects/harfbuzz/src/...". Instead of removing "src/" prefix, take the absolute path and make it relative to current source dir. This fix regression introduced in https://github.com/harfbuzz/harfbuzz/pull/3394.
Behdad Esfahbod 15543f70 2022-06-04T10:55:50 [indic-like] Move allocation of syllable() buffer var to shapers that use it In indic, we don't have a pause location release the var.
Behdad Esfahbod 104dc85a 2022-06-04T06:56:35 [buffer] Add try_allocate for buffer variables
Behdad Esfahbod b5f621b0 2022-06-05T07:52:51 [cplusplus] Internally allow using hb_unique_ptr with hb_free() ...for arbitrary types.
Behdad Esfahbod f18eb000 2022-06-05T04:17:05 [buffer] Mark a variable as unused Weird. Somehow our HB_TINY bot started erring as this var being unused in non-debug builds. Not sure why now... In file included from src/hb-ot-map.hh:32:0, from src/hb-ot-shape.hh:32, from src/hb-aat-layout.hh:32, from src/hb-aat-layout.cc:30, from src/harfbuzz.cc:1: src/hb-buffer.hh: In member function ‘void hb_buffer_t::assert_var(unsigned int, unsigned int)’: src/hb-buffer.hh:192:18: error: unused variable ‘bits’ [-Werror=unused-variable] unsigned int bits = (1u<<end) - (1u<<start); ^~~~ cc1plus: some warnings being treated as errors Error: Process completed with exit code 1.
Behdad Esfahbod e6409d39 2022-06-05T06:57:37 Revert "[layout] Use a cache for main input ClassDef of (Chain)ContextLookups" This reverts commit 57d1c08739d0acd94b96da2f9d5dd6c0ff3b3722. Err. This was an accident.
Behdad Esfahbod 57d1c087 2022-06-05T02:45:41 [layout] Use a cache for main input ClassDef of (Chain)ContextLookups
Behdad Esfahbod 92e81ab1 2022-06-05T01:14:32 [indic/khmer/myanmar] Shift category numbers around to avoid overlap Fixes https://github.com/harfbuzz/harfbuzz/issues/3632
Behdad Esfahbod d6dbc0d1 2022-06-05T00:58:53 [gi/ft] Silence warnings gi doesn't understand that FT_Face is a pointer, and not bare struct. So it skips these APIs anyway. Mark skip to silense the warning. ../src/hb-ft.cc:242: Warning: HarfBuzz: hb_ft_font_get_face: return value: Invalid non-constant return of bare structure or union; register as boxed type or (skip) ../src/hb-ft.cc:264: Warning: HarfBuzz: hb_ft_font_lock_face: return value: Invalid non-constant return of bare structure or union; register as boxed type or (skip)
Behdad Esfahbod f78a2509 2022-06-05T00:55:35 [gi] Remove Xconstructor annotations
Behdad Esfahbod cb961eac 2022-06-05T00:44:07 [configs] Fix builds with HB_NO_BUFFER_SERIALIZE but not HB_NO_BUFFER_VERIFY https://github.com/harfbuzz/harfbuzz/commit/e986c12075a69300a5e114fe139ae5acd762ef1b#commitcomment-75339317
Behdad Esfahbod 67852504 2022-06-04T08:45:03 [indic/myanmar] No-op update to machines
Behdad Esfahbod 20a61ca4 2022-06-04T08:35:22 [myanmar] Fold D category into GB Trying to free a byte the buffer vars, for caching of lookups. Part of https://github.com/harfbuzz/harfbuzz/issues/3633
Behdad Esfahbod f9b643f6 2022-06-04T07:29:40 [layout] s/hb_get_subtables_context_t/hb_accelerate_subtables_context_t/g
Behdad Esfahbod d4dfb8c1 2022-06-04T06:50:38 [arabic] Free up buffer variable earlier
Behdad Esfahbod cc7ebb0f 2022-06-04T05:42:58 Remove remaining mention to complex shapers in the code https://github.com/harfbuzz/harfbuzz/pull/3628#issuecomment-1146248037
Behdad Esfahbod b39b5f2f 2022-06-03T04:10:28 [name] Implement approximate language matching Very rudimentary. Fixes https://github.com/harfbuzz/harfbuzz/issues/3354
Behdad Esfahbod 40d7d56e 2022-06-03T05:40:18 [subset-input] Minor move
Behdad Esfahbod 40193adb 2022-06-03T05:35:19 [subset] Update default features list
Behdad Esfahbod 5bfb0b72 2022-06-03T02:56:41 Rename s/shape-complex/shaper/g
Behdad Esfahbod 44be1e5d 2022-06-03T02:54:33 s/SHAPE_COMPLEX/SHAPER/g
Behdad Esfahbod 6fbb5521 2022-06-03T02:50:25 s/FLAG_COMPLEX/FLAG_SHAPER/g
Behdad Esfahbod 6d9e94d2 2022-06-03T02:48:34 s/hb_ot_shape_complex_categorize/hb_ot_shaper_categorize/g
Behdad Esfahbod a560182c 2022-06-03T02:46:58 s/complex_var/ot_shaper_var/g
Behdad Esfahbod 13fbed29 2022-06-03T02:45:04 s/HB_OT_SHAPE_COMPLEX_MAX_COMBINING_MARKS/HB_OT_SHAPE_MAX_COMBINING_MARKS/g
Behdad Esfahbod 44a7b3b7 2022-06-03T02:42:34 s/ot_complex_shaper/ot_shaper/g
Behdad Esfahbod e5161977 2022-06-03T02:40:54 s/COMPLEX_SHAPER/OT_SHAPER/g
Behdad Esfahbod f3a8b7f3 2022-06-03T02:21:46 [algs] Test hb_hash()
Behdad Esfahbod 215a0afa 2022-06-03T01:48:46 [algs] Remove unused hb_coerce()
Behdad Esfahbod 5dc12d7d 2022-06-03T01:37:02 [cmap] Rewrite set_for() slightly
Behdad Esfahbod 9552955e 2022-06-03T01:33:01 Add an unlikely
Behdad Esfahbod 88f00ecb 2022-06-03T01:30:27 [map] Fix iter_ref () and test it
Behdad Esfahbod a42c624f 2022-06-03T01:22:34 Convert one final use of hashmap to unique_ptr
Behdad Esfahbod f13a7954 2022-06-03T01:17:20 [subset] Convert another use of hashmap to unique_ptr
Behdad Esfahbod 25f57230 2022-06-03T01:11:22 [map] Return references from new iter_ref()
Behdad Esfahbod a7a68861 2022-06-02T18:59:15 [cmap] Convert another map use to unique_ptr
Behdad Esfahbod 997d9cc4 2022-06-02T18:04:12 [map] Make unique_ptr hashable
Behdad Esfahbod 8bb2a332 2022-06-02T15:18:23 [map] Remove unneeded assignment
Behdad Esfahbod d7785a6d 2022-06-02T12:42:24 [cplusplus] Add unique_ptr
Behdad Esfahbod bca710e8 2022-06-02T12:06:25 [gsubgpos] Use map has() instead of get() when appropriate
Behdad Esfahbod e9407a2b 2022-06-02T11:29:44 Use shared_ptr<hb_set_t> in one place See if valgrind is happy...