src/hb-ot-layout-gsubgpos-private.hh


Log

Author Commit Date CI Message
Behdad Esfahbod afbcc24b 2012-08-02T08:36:40 [GSUB] Wire the font, not just the face, down to substitute() We need the font for glyph lookup during GSUB pauses in Indic shaper. Could perhaps be avoided, but at this point, we don't mean to support separate substitute()/position() entry points (anymore), so there is no point in not providing the font to GSUB.
Behdad Esfahbod 30524674 2012-08-02T08:08:04 Minor
Behdad Esfahbod 22148b8c 2012-08-02T03:51:51 Use Coverage digests in would_apply
Behdad Esfahbod 6c459c8f 2012-08-02T03:45:53 Minor
Behdad Esfahbod 1336ecdf 2012-08-01T21:46:36 [GSUB/GPOS] Use Coverage digests as gatekeeper Gives me a good 10% speedup for the Devanagari test case. Less so for less lookup-intensive tests. For the Devanagari test case, the false positive rate of the GSUB digest is 4%.
Behdad Esfahbod c2e42c3d 2012-07-30T19:54:50 Minor
Behdad Esfahbod 03f67bc0 2012-07-30T19:47:53 More refactoring glyph class access
Behdad Esfahbod 300c7307 2012-07-30T19:37:44 [OT] Don't crash if no GDEF available
Behdad Esfahbod 05bd1b63 2012-07-30T19:30:01 [GSUB/GPOS] Move glyph props matching around
Behdad Esfahbod 2fca1426 2012-07-30T18:46:41 [GSUB] Don't erase glyph classes if GDEF does not have glyph classes
Behdad Esfahbod 7fbbf86e 2012-07-30T18:36:42 [GSUB] Minor
Behdad Esfahbod fe20c0f8 2012-07-30T00:00:59 [GSUB] Fix mark component stuff when ligatures form ligatures! See comments. Fixes https://bugzilla.gnome.org/show_bug.cgi?id=437633
Behdad Esfahbod e6f7479f 2012-07-28T18:34:58 [GSUB] Simplify would-apply
Behdad Esfahbod 0b99429e 2012-07-28T17:31:01 [GSUB/GPOS] Add get_coverage() and use it to speed up main loop And use it to speed up the hotspot by checking coverage directly in the main loop, not 10 functions deep in. Gives me a solid 20% boost with Indic test suite. Less so for less lookup-intensive scenarios. Remove the "fast_path" hack from before.
Behdad Esfahbod 0981068b 2012-07-28T17:01:59 [GSUB/GPOS] Reject Context/ChainContext lookups with zero input
Behdad Esfahbod ec8d2494 2012-07-24T15:40:37 Make data members of various OpenType structs protected instead of private Should fix warnings generated when building with -Wunused-private-field. Based on patch from Jonathan Kew.
Behdad Esfahbod 49c5ec51 2012-07-23T20:14:13 Minor refactoring
Behdad Esfahbod c3e6fdc3 2012-07-23T20:11:42 [Indic] Improve check on ligatures Only skip actual ligatures, not marks in-between ligature components.
Behdad Esfahbod d1af9e82 2012-07-23T19:55:35 [GSUB/GPOS] Const correctness
Behdad Esfahbod 89328581 2012-07-19T21:02:38 Minor
Behdad Esfahbod e72b360a 2012-07-19T14:35:23 Refactor / finish would_apply() operation Untested.
Behdad Esfahbod 60da763d 2012-07-16T16:13:32 [GSUB/GDEF] Guess glyph classes after substitution only if no GDEF Brings down Khmer failures with Daun Penh font from 36% to 20%.
Behdad Esfahbod 6d08c7f1 2012-07-11T18:01:27 Revert "Towards templatizing common Lookup types" This reverts commit 727135f3a9938c1ebd5b9f5015a46c7ccc8573c5. This is work-in-progress. Didn't mean to push it out just yet.
Behdad Esfahbod 727135f3 2012-07-03T22:15:35 Towards templatizing common Lookup types
Behdad Esfahbod b12e2549 2012-06-09T03:05:20 Minor
Behdad Esfahbod f19e0b00 2012-06-09T02:26:57 Match input before backtrack Makes more sense, optimization-wise.
Behdad Esfahbod ce476138 2012-06-09T01:10:26 Micro-optimize I know...
Behdad Esfahbod 7b84c536 2012-06-08T22:04:23 In MarkBase attachment, only attach to first of a MultipleSubst sequence This is apparently what Uniscribe does. Test case is: SEEN FATHA TEH ALEF with Arabic Typesetting. Originally reported by Khaled Hosny.
Behdad Esfahbod e085fcf7 2012-06-08T21:45:00 Remove unused buffer->replace_glyphs_be16
Behdad Esfahbod 3ec77d6a 2012-06-08T21:44:06 Don't use replace_glyphs_be for MultipleSubst
Behdad Esfahbod 4b719212 2012-06-08T21:41:46 Minor
Behdad Esfahbod 68b76121 2012-06-08T10:43:49 Fix regressions introduced by sed. Ouch! Introduced in 99c2695759a6af855d565f4994bbdf220570bb48. Broken mark-mark and mark-ligature stuff.
Behdad Esfahbod 2a3d911f 2012-06-07T17:31:46 Fix alignment-requirement missmatch Detected by clang and lots of cmdline options.
Behdad Esfahbod ed2f1363 2012-05-22T22:12:22 Fix substitution glyph class propagation The old code was doing nothing. Still got to find an example font+string that makes this matter, but need this for fixing synthetic GDEF anyway.
Behdad Esfahbod 99c26957 2012-05-13T15:45:18 Add accessort to buffer for current info, current pos, and prev info
Behdad Esfahbod 6736f3c5 2012-05-13T15:21:06 Minor
Behdad Esfahbod 5df809b6 2012-05-13T15:17:51 [GSUB/GPOS] Remove context_length The spec doesn't say contextual matching should be done this way, and AOTS doesn't do it either. It was inherited from old HarfBuzz. Remove it.
Behdad Esfahbod 28b9d502 2012-05-13T15:04:00 Minor
Behdad Esfahbod 5f131d32 2012-05-11T17:29:40 [GSUB/GPOS/Indic] Apply GSUB/GPOS within syllables only This does not apply to the context matchings. This regresses tests right now. And we are not sure whether this is the right thing to do for GPOS. But we'll figure out.
Behdad Esfahbod 8fd83aaf 2012-05-11T17:18:37 [GSUB/GPOS] Fix wrong buffer access in backward skippy mask matching
Behdad Esfahbod 203d7106 2012-05-11T16:01:44 [GSUB/GPOS] Check all glyph masks when matching input
Behdad Esfahbod cee71874 2012-05-11T11:41:39 [Indic] Move syllable tracking from Indic to generic layer This is to incorporate it into GSUB/GPOS processing.
Behdad Esfahbod 55fe2cf7 2012-05-11T03:45:28 Make APPLY debug output print current index and codepoint Yay!
Behdad Esfahbod 98619ce4 2012-05-11T02:34:06 Minor
Behdad Esfahbod acea183e 2012-05-11T02:33:11 Add return annotation for APPLY
Behdad Esfahbod 0ab8c862 2012-05-11T01:25:34 Annotate SANITIZE return values More to come, for APPLY, CLOSURE, etc.
Behdad Esfahbod 6f455380 2012-05-10T23:24:43 More massaging trace messaging
Behdad Esfahbod 20810970 2012-05-10T23:06:58 Better trace message support infrastructure We have varargs in the trace interface now. To be used soon...
Behdad Esfahbod a9844d41 2012-05-09T17:53:13 Combine lig_id and lig_comp into one byte, to free up one for Indic
Behdad Esfahbod 5caece67 2012-04-23T23:03:12 Make closure() return void
Behdad Esfahbod 5b93e8d9 2012-04-23T22:26:13 Update copyright headers
Behdad Esfahbod 6a9be5bd 2012-04-23T22:23:17 Rename hb_glyph_map_t to hb_set_t
Behdad Esfahbod 31081f73 2012-04-23T16:54:58 Implement closure() for Context and ChainContext lookups
Behdad Esfahbod 3e32cd95 2012-04-23T13:20:52 Minor
Behdad Esfahbod 650ac00d 2012-04-23T13:17:09 Minor refactoring
Behdad Esfahbod f94b0aa6 2012-04-23T13:04:38 Add "closure" operation stubs to GSUB Filling in.
Behdad Esfahbod 41ae674f 2012-04-11T17:11:05 Don't create hb_apply_context_t per glyph! I couldn't measure significant performance gains out of this; maybe about 5% (with one million Malayalam strings). Still, not bad. But reminds me that optimizing this codebase without profiling first is simply not going to work. Oh well...
Behdad Esfahbod 03408ce7 2012-01-18T21:28:34 Fix more possible buffer overruns I have this function, but can't clean up it to my satisfaction.
Behdad Esfahbod 7d479900 2012-01-18T21:19:32 Refactor the two remaining uses of _hb_ot_layout_skip_mark()
Behdad Esfahbod 506ffeb8 2012-01-18T16:07:53 Further mark skippy fixes from Jonathan Kew We should be in good shape now.
Behdad Esfahbod a4a48fe6 2012-01-17T18:08:41 Fix mark skipping regression Ouch!
Behdad Esfahbod 4ab97311 2012-01-16T22:05:08 Refactor mark skipping
Behdad Esfahbod 370f03e9 2012-01-16T17:03:55 Minor
Behdad Esfahbod 4d3aeb8c 2012-01-16T16:43:26 [GSUB/GPOS] Fix mark skip indexing issues Mozilla bug 701637 and 714067 combined. Patch from Jonathan Kew.
Behdad Esfahbod 7a750ac3 2011-08-17T14:19:59 Rename table files from eg maxp-private.hh to maxp-table.hh
Behdad Esfahbod c605bbbb 2011-08-04T20:00:53 Remove C++ guards from source files Where causing issues for people with MSVC.
Behdad Esfahbod cc06c243 2011-07-25T20:25:44 Streamline debugging infrastructure even more
Behdad Esfahbod 651e8dd7 2011-07-25T14:54:08 Start cleaning up buffer var allocation I've messed up a lot of stuff recently, different parts of the shaping process are stumbling on eachother's toes because manually tracking what's in which buffer var is hard. I'm going to add some internal API to track those such that mistakes are discovered as soon as they are introduced.
Behdad Esfahbod 18c42850 2011-07-25T00:36:58 Shrink space used for ligature ids This frees 16bits in the glyph_info struct during the ot_layout process. We can use the freed space in the shapers now.
Behdad Esfahbod d8787493 2011-07-25T00:36:01 Minor
Behdad Esfahbod 468e9cb2 2011-07-22T11:28:07 Move buffer methods into the object
Behdad Esfahbod 744970af 2011-05-16T18:15:37 [API] Add support for vertical text Design not final yet, and in fact I'm going to change it immediately, but this is an standalone change for itself.
Behdad Esfahbod abcfe9b5 2011-05-11T00:02:02 Remove hb_ot_layout_context_t, simplify code
Behdad Esfahbod 2409d5f8 2011-04-21T17:14:28 Update Copyright headers
Behdad Esfahbod cc1a8a93 2011-01-06T14:58:52 Fix ChanContext backtrack matching with GPOS Reported on mailing list by Keith Stribley and Khaled Hosny.
Behdad Esfahbod 7eb87511 2010-12-13T14:13:35 Mozilla Bug 618592 - freeze on typekit Fix apply_lookup() for zero-input broken fonts.
Behdad Esfahbod 300cb414 2010-11-17T12:57:23 Add XXX marks
Behdad Esfahbod 11e3ec44 2010-11-03T15:11:04 Fix a few more "unreachable code" warnings
Behdad Esfahbod 23048563 2010-11-03T12:46:58 Remove another couple lines of dead code
Behdad Esfahbod c2709119 2010-10-27T23:18:51 Move things around some more
Behdad Esfahbod 8c69e65a 2010-10-27T22:07:49 Rename lookup_flags to lookup_props since it's more than just flags
Behdad Esfahbod 98370e89 2010-10-27T17:39:01 WIP removing external synthesized GDEF support and implementing it internally
Behdad Esfahbod 8eeed7ed 2010-10-27T12:07:49 Remove LONGTERMTODO item that I'll never fix
Behdad Esfahbod acdba3f9 2010-07-23T15:11:18 Prefer C linkage
Behdad Esfahbod f7acd8df 2010-05-20T17:26:35 Do alternate glyph selection! Kinda hand-wavy right now. Not tested.
Behdad Esfahbod 36b73c80 2010-05-14T22:10:39 Shortening buffer accessors: rename buffer->in_pos to buffer->i
Behdad Esfahbod 29427c5c 2010-05-14T22:08:22 Shortening buffer accessors: rename buffer->out_length to buffer->out_len
Behdad Esfahbod 6960350b 2010-05-14T22:07:46 Shortening buffer accessors: rename buffer->in_length to buffer->len
Behdad Esfahbod 9d5e26df 2010-05-14T22:03:11 Shortening buffer accessors: rename buffer->out_string to buffer->out_info
Behdad Esfahbod 7e7007a1 2010-05-14T22:02:37 Shortening buffer accessors: rename buffer->in_string to buffer->info
Behdad Esfahbod 8e6b6bb2 2010-05-14T21:58:22 Merge buffer->out_pos and buffer->out_length
Behdad Esfahbod 22f668eb 2010-05-14T21:41:04 Remove the unused BUFFER macro
Behdad Esfahbod 7e53ebe4 2010-05-14T21:38:13 Remove the IN_CURGLYPH() macro
Behdad Esfahbod d784da19 2010-05-14T21:37:18 Remove the IN_CURINFO() macro
Behdad Esfahbod 281f59b4 2010-05-14T21:34:22 Remove IN_INFO() and IN_NEXTGLYPH() macros
Behdad Esfahbod 6e489cdf 2010-05-14T21:07:35 Remove the IN_GLYPH() macro
Behdad Esfahbod 27da6dd8 2010-05-14T20:17:50 Remove OUT_GLYPH() and OUT_INFO() macros
Behdad Esfahbod cc6ae7ff 2010-05-14T20:09:48 Fix lookahead matching. Oops!
Behdad Esfahbod d7cfb3b2 2010-05-13T14:18:49 s/\<context\>/c/g
Behdad Esfahbod 1d5e7801 2010-05-12T23:43:00 Add a few other buffer methods