History log of /external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
00f6a8e334ec4c586e4e633a95b411ccb50306d3 13-Dec-2014 Behdad Esfahbod <behdad@behdad.org> [ot] Print format in dispatch trace
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
5c87120b8178566ddae99d9825edc24f9b87ea3d 15-Oct-2014 Behdad Esfahbod <behdad@behdad.org> Fix misc warnings

Fixes https://github.com/behdad/harfbuzz/pull/51
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
8f3eebf7ee4005f9a8efaafcb7f4058cc0a3756e 02-Aug-2014 Behdad Esfahbod <behdad@behdad.org> Make sure gsubgpos buffer vars are available during fallback_position

Add buffer var allocation asserts to a few key places.
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
7627100f428ac0ec8509d961d368d2d25d8f0b6e 11-Jul-2014 Behdad Esfahbod <behdad@behdad.org> Mark unsigned integer literals with the u suffix

Simplifies hb_in_range() calls as the type can be inferred.
The rest is obsessiveness, I admit.
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
832a6f99b34f334b1e82b8e3a7ad137e823d203c 04-Jun-2014 Behdad Esfahbod <behdad@behdad.org> [indic] Don't reorder reph/pref if ligature was expanded

Normally if you want to, say, conditionally prevent a 'pref', you
would use blocking contextual matching. Some designers instead
form the 'pref' form, then undo it in context. To detect that
we now also remember glyphs that went through MultipleSubst.

In the only place that this is used, Uniscribe seems to only care
about the "last" transformation between Ligature and Multiple
substitions. Ie. if you ligate, expand, and ligate again, it
moves the pref, but if you ligate and expand it doesn't. That's
why we clear the MULTIPLIED bit when setting LIGATED.

Micro-test added. Test: U+0D2F,0D4D,0D30 with font from:

[1]
https://code.google.com/a/google.com/p/noto-alpha/issues/detail?id=186#c29
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
b5be2317201774c84470167767ad83c8637cad5b 06-Jun-2014 Behdad Esfahbod <behdad@behdad.org> [gsub] Adjust single-length ligature subst to act like single subst
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
aae69451dfbf2e3671c555c234f788c194302818 06-Jun-2014 Behdad Esfahbod <behdad@behdad.org> [gsub] Minor shuffling
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
b6b304f12be917b7449b3ac9409069fcd4a27d95 05-Jun-2014 Behdad Esfahbod <behdad@behdad.org> [ot] Add TODO re zero-len MultipleSubst sequences
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
6faff8e4132197ba06f0e685b82efe35b546cf64 28-Apr-2014 Behdad Esfahbod <behdad@behdad.org> Add static storage classifier to inline functions

Before we were just relying on the compiler inlining them and not
leaving a trace in our public API. Try to fix. Hopefully not
breaking anyone's build.
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
333cc6e2d11831bcd2370723456e678574d570ec 30-Oct-2013 Behdad Esfahbod <behdad@behdad.org> [otlayout] Remove unused is_inplace()

Patch from Jonathan Kew.
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
101303dbf7cf15d044bf2518f14b3aec65970fea 18-Oct-2013 Behdad Esfahbod <behdad@behdad.org> [otlayout] More shuffling around
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
91689de2603e4151e2a2d3a3852c61667f0c6264 18-Oct-2013 Behdad Esfahbod <behdad@behdad.org> [otlayout] Add _hb_glyph_info_set_glyph_props()

No functional change.
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
3ddf892b5328b74afb6e7d9da727d8771ca5d288 18-Oct-2013 Behdad Esfahbod <behdad@behdad.org> [otlayout] Renaming
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
03058c3d1e8c18858c1e0b0c738ce9d299f2787a 17-Oct-2013 Behdad Esfahbod <behdad@behdad.org> [otlayout] Remove two unused HB_OT_LAYOUT_GLYPH_PROPS_* values
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
49901862e36e1c153835877a9f1183729333bbbe 17-Oct-2013 Behdad Esfahbod <behdad@behdad.org> [otlayout] Guard against use of ReverseChain through Context
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
e714fe6d6a2633494cb1fa7170a32ca2638cbb51 17-Oct-2013 Behdad Esfahbod <behdad@behdad.org> [otlayout] Simplify ligate_input()

Shouldn't change behavior at all, but is faster / more robust.
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
6b65a76b40522a4f57a6fedcbdfc5a4d736f1d3c 14-Oct-2013 Behdad Esfahbod <behdad@behdad.org> [otlayout] Fix (Chain)Context recursion!

Previously we only supported recursive sublookups with
ascending indices. We were also not correctly handling
non-1-to-1 recursed lookups.

Fix all that!

Fixes the three tests in test/shaping/tests/context-matching.tests,
which were derived from NotoSansBengali and NotoSansDevanagari
among others.
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
6c48f20eea22c6e686416ab4ec8388be3e8cd0b5 09-Sep-2013 Behdad Esfahbod <behdad@behdad.org> [otlayout] Add structs for JSTF table
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
45f3d980c9503bd94e64f6e3f67f97688347d00c 03-May-2013 Behdad Esfahbod <behdad@behdad.org> [OTLayout] Merge / templateize apply_string()
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
780cd930a974165d76dbf7a87701d11b7f15db06 03-May-2013 Behdad Esfahbod <behdad@behdad.org> [OTLayout] Minor
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
2e0c44f4bedd3e24c731c0e9e23358e9a4891a35 24-Apr-2013 Behdad Esfahbod <behdad@behdad.org> [OTLayout] Add is_inplace() method to GSUB
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
5d59f999204aedfc433ab4989664d875f96b0364 02-May-2013 Behdad Esfahbod <behdad@behdad.org> [OTLayout] Make MultipleSubst in-place for sequences of len=1
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
54f84a6b8571ac7aaaa66f3eff562d23d69d7552 02-May-2013 Behdad Esfahbod <behdad@behdad.org> [OTLayout] Whitespace
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
0dc3a4e0349d28f387a3b4c60a2f51962742738e 18-Apr-2013 Behdad Esfahbod <behdad@behdad.org> Obssesive optimization

Not measurable by any means, but conceptually this is faster since
the mask matches more often than the digest.
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
ee5464d17fa4c59f5adaaa13dde70dd5264dbc64 09-Mar-2013 Behdad Esfahbod <behdad@behdad.org> [OTLayout] Move code around
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
9c5a9ee967120c8a968a1160c420e03620d46c24 09-Mar-2013 Behdad Esfahbod <behdad@behdad.org> [OTLayout] Rename process() to dispatch()
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
99fa9ea020f26ed2697f38a7690ee1e1b5d946c4 15-Feb-2013 Behdad Esfahbod <behdad@behdad.org> Minor
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
607feb7cff0e50f8738d2e49ca463fc9d7d494de 14-Feb-2013 Behdad Esfahbod <behdad@behdad.org> [OTLayout] Ignore default-ignorables when matching GSUB/GPOS

When matching lookups, be smart about default-ignorable characters.
In particular:

Do nothing specific about ZWNJ, but for the other default-ignorables:

If the lookup in question uses the ignorable character in a sequence,
then match it as we used to do. However, if the sequence match will
fail because the default-ignorable blocked it, try skipping the
ignorable character and continue.

The most immediate thing it means is that if Lam-Alef forms a ligature,
then Lam-ZWJ-Alef will do to. Finally!

One exception: when matching for GPOS, or for backtrack/lookahead of
GSUB, we ignore ZWNJ too. That's the right thing to do.

It certainly is possible to build fonts that this feature will result
in undesirable glyphs, but it's hard to think of a real-world case
that that would happen.

This *does* break Indic shaping right now, since Indic Unicode has
specific rules for what ZWJ/ZWNJ mean, and skipping ZWJ is breaking
those rules. That will be fixed in upcoming commits.
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
407fc12466ef460d0edf11b89f0d04c4d724875f 13-Feb-2013 Behdad Esfahbod <behdad@behdad.org> [OTLayout] Remove bogus caching of glyph property
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
8303593ba1db06e402eab52df47f21f13049112d 04-Dec-2012 Behdad Esfahbod <behdad@behdad.org> Minor

Use pointers instead of references, in preparation for upcoming change.
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
3038ae6adbb61e55d6c665dea0c5271e0c9f0ed8 30-Nov-2012 Behdad Esfahbod <behdad@behdad.org> [OTLayout] Minor
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
b67881b171a7cf865af58df146da52fc1e27b160 25-Nov-2012 Behdad Esfahbod <behdad@behdad.org> [OTLayout] Remove operator() from Coverage
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
4c4e8f0e754b79ac6190d21878eaaf0b790c7579 24-Nov-2012 Behdad Esfahbod <behdad@behdad.org> [OTLayout] Reuse apply context for recursion
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
26514d51b6669f092d9ccb7523443a5ece74169a 24-Nov-2012 Behdad Esfahbod <behdad@behdad.org> [OTLayout] More collect_glyphs()
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
c6fb843f2a1c26322c6f4c85d1589f01a9e7a2ef 24-Nov-2012 Behdad Esfahbod <behdad@behdad.org> [OTLayout] Templatize process_recurse_func
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
9b34677f362fb0ef5a7cb8a284a9e06d1a4cc03b 23-Nov-2012 Behdad Esfahbod <behdad@behdad.org> [OTLayout] Clean up closure() a bit
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
f48ec0e83432c038b50d9715a38ba1469e82e1e4 23-Nov-2012 Behdad Esfahbod <behdad@behdad.org> [OTLayout] Add process() tracing
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
ed2e13594479c6ed7909401509962ea2f03f9a6e 23-Nov-2012 Behdad Esfahbod <behdad@behdad.org> [OTLayout] More Extension templatizing
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
7dddd4e72bc35be962d93dc1b76c7e26c63aaa6d 23-Nov-2012 Behdad Esfahbod <behdad@behdad.org> [OTLayout] More templatizing Extension
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
653eeb26450053b731b46346606931f5ae88db72 23-Nov-2012 Behdad Esfahbod <behdad@behdad.org> Make Extension a template
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
08f1eede1bbc01ece2adf89847614a0670e50443 23-Nov-2012 Behdad Esfahbod <behdad@behdad.org> Minor
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
be218c688cbb037a99c8c64bb835f3c980040c0b 23-Nov-2012 Behdad Esfahbod <behdad@behdad.org> Pass this object to trace macros
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
c779d82b2fc801eec0d349a106c0e860448fcf4e 23-Nov-2012 Behdad Esfahbod <behdad@behdad.org> Fix warnings
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
ec35a72a44301934b8f123ab2833f59d8c875a09 22-Nov-2012 Behdad Esfahbod <behdad@behdad.org> [OTLayout] Port apply() operator to process() template
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
2005fa5340fc528c32dc2af945ad2431964a47d2 22-Nov-2012 Behdad Esfahbod <behdad@behdad.org> [OTLayout] Port would_apply() and get_coverage() to process() templates
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
44fc237b53ebfbaf8a539de16ad735d2c6afc52b 22-Nov-2012 Behdad Esfahbod <behdad@behdad.org> [OTLayout] Port closure() to process() template
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
e8cfdd7fa8d0fb66e0a261f3547e5824897e5131 17-Nov-2012 Behdad Esfahbod <behdad@behdad.org> Start implementing collect_glyphs() operation

Not functional yet.
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
7d52e6601f0e695690cd168a288466746cf25300 17-Nov-2012 Behdad Esfahbod <behdad@behdad.org> Whitespace
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
5a08ecf9200a6ac9b4ebb7ec5c13dcb42d8820ce 16-Nov-2012 Behdad Esfahbod <behdad@behdad.org> Implement hb_ot_layout_get_glyph_class()
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
0bc7a38463bfb37f12efeb1b8cb2024cf4a347bc 30-Oct-2012 Behdad Esfahbod <behdad@behdad.org> [OT] Fix ReverseChainingSubst

We should make it clear that we don't want output buffer in this case,
otherwise buffer->backtrack_len() would be wrong.
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
fabd3113a98c5f4114f48920fa7ea38bd65a8d32 06-Sep-2012 Behdad Esfahbod <behdad@behdad.org> [OT] Port Arabic fallback shaping to synthetic GSUB

All of init/medi/fina/isol and rlig implemented.

Let there be dragons... ⻯
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
1d3947a6bda6986c9c7d993589053051c119cc81 05-Sep-2012 Behdad Esfahbod <behdad@behdad.org> Minor
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
b3b89b66586897a69b410ef02e7434691de84ae6 05-Sep-2012 Behdad Esfahbod <behdad@behdad.org> [OT] Add SubstLookup serialize API
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
a930c68e9c50aade78c1eb0eef075c9c117e4ef6 05-Sep-2012 Behdad Esfahbod <behdad@behdad.org> [OT] More serialize. Implements all basic GSUB subtables
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
1b38b4e817d871b9549be65af6030bd0eea7f775 05-Sep-2012 Behdad Esfahbod <behdad@behdad.org> Minor
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
2bd9fe359839a653f7caae534bf768af1735f155 04-Sep-2012 Behdad Esfahbod <behdad@behdad.org> Refactor
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
29416833584d7831ece84aaeada6f5ebba7828c0 04-Sep-2012 Behdad Esfahbod <behdad@behdad.org> [OT] Implement serialize() for AlternateSubst
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
1f07e3382a1608b054cbf88b89fef74f6c485434 04-Sep-2012 Behdad Esfahbod <behdad@behdad.org> [OT] Implement serialize() for MultiSubst
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
4912030dfba740c822e200d33cbb5c6dbbeaf79e 04-Sep-2012 Behdad Esfahbod <behdad@behdad.org> Minor
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
c61be03d6df122f18eebda3b29e42c9e768d45b9 02-Sep-2012 Behdad Esfahbod <behdad@behdad.org> [OT] A bit more serialize
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
abcc5ac1fde1c493e4055dd2f27b8aade7713156 02-Sep-2012 Behdad Esfahbod <behdad@behdad.org> [OT] Improve serialize syntax

For some definition of improvement...
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
bc5be24014371ceb811b9ffd37062ede63d87bb1 02-Sep-2012 Behdad Esfahbod <behdad@behdad.org> [OT] Restart work on serialize()
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
5e399a8a45bddb49e06e2ca39df1ed04398c0aff 29-Aug-2012 Behdad Esfahbod <behdad@behdad.org> Minor
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
a177d027d1d0ad9539e30ed75d8652e0e8da20ff 29-Aug-2012 Behdad Esfahbod <behdad@behdad.org> [GSUB] Move ligation logic over
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
191fa885d9e0a2dce92dd8727cddd18495e62409 29-Aug-2012 Behdad Esfahbod <behdad@behdad.org> [GSUB] Merge Ligature and context input matching

Looks better now...
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
93814ca7dc2a7251f861c1c47ba155ba6e6bdf19 29-Aug-2012 Behdad Esfahbod <behdad@behdad.org> Start converging Ligature and match_input
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
7c8e844d92aa604fc4b396343721ea90eb83adb8 28-Aug-2012 Behdad Esfahbod <behdad@behdad.org> Use namespace for OpenType tables

Avoids USHORT, SHORT, ULONG, LONG clashes with Windows API.
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
472f229a63f0d1bb21b02179ef430b7698df8f12 08-Aug-2012 Behdad Esfahbod <behdad@behdad.org> [GSUB] Generalize would_apply()

Fixes logic also, where before we were always matching if glyphs_len==1
and a ligature started with the glyph.
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
afbcc24be01a64bdb5c05c63880269145fa1d3c8 02-Aug-2012 Behdad Esfahbod <behdad@behdad.org> [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.
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
22148b8c4af3ed296d96e969cdd47bac97b32307 02-Aug-2012 Behdad Esfahbod <behdad@behdad.org> Use Coverage digests in would_apply
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
6c459c8fef85bc44f45d7b58c28a34abfb2c33fc 02-Aug-2012 Behdad Esfahbod <behdad@behdad.org> Minor
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
0120ce9679aab3ac936aeb18f6709529eef000a4 02-Aug-2012 Behdad Esfahbod <behdad@behdad.org> [GSUB/GPOS] Remove unused get_coverage() methods
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
1336ecdf8e4e9879b96b26ecfbf5c9ba6c49e2b9 02-Aug-2012 Behdad Esfahbod <behdad@behdad.org> [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%.
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
a878c58a8fc1500986d713b2bcedfeb90a0087b0 02-Aug-2012 Behdad Esfahbod <behdad@behdad.org> [GSUB/GPOS] Add add_coverage()
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
03b09214c073ce37eeb8af5218942c85b2d393df 01-Aug-2012 Behdad Esfahbod <behdad@behdad.org> [GSUB] Minor
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
c2e42c3db691515f3a458eb4c71fe1e6439d5620 31-Jul-2012 Behdad Esfahbod <behdad@behdad.org> Minor
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
03f67bc012f42131b36083a23efc78e1b04b828c 31-Jul-2012 Behdad Esfahbod <behdad@behdad.org> More refactoring glyph class access
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
05bd1b63426e07d1df7a1b40bf845dc94ab995a8 31-Jul-2012 Behdad Esfahbod <behdad@behdad.org> [GSUB/GPOS] Move glyph props matching around
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
7fbbf86efe675e4c038dfc5985c24bbc544620cd 31-Jul-2012 Behdad Esfahbod <behdad@behdad.org> [GSUB] Minor
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
6cdfd14bb19d60ac3d6b20ff611408432254f273 30-Jul-2012 Behdad Esfahbod <behdad@behdad.org> Fix build on Mac
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
a973b5ce86051e8ef0d20df362db1a50488842ab 30-Jul-2012 Behdad Esfahbod <behdad@behdad.org> [GSUB] Further adjustments to mark-attachment vs ligation interaction

The d1d69ec52e75a78575b620a1c456d528b6078170 change broke Kannada badly,
since it was ligating consonants, pushing matra out, and then ligating
with the matra. Adjust for that. See comments.
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
d1d69ec52e75a78575b620a1c456d528b6078170 30-Jul-2012 Behdad Esfahbod <behdad@behdad.org> [GSUB] Don't ligate glyphs attached to different components of ligatures

This concludes the mark-attachment vs ligating interaction fixes (for now).
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
f24bcfbed1f3b4f4f6311246bd870f73ad6ba750 30-Jul-2012 Behdad Esfahbod <behdad@behdad.org> Minor
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
fe20c0f84f5ff518dc471bf22ac5a83ef079eb69 30-Jul-2012 Behdad Esfahbod <behdad@behdad.org> [GSUB] Fix mark component stuff when ligatures form ligatures!

See comments.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=437633
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
2ec3ba46a3c24469096e901750e38f6ee555479a 30-Jul-2012 Behdad Esfahbod <behdad@behdad.org> [GSUB/GPOS] Minor

Start squeezing more out of lig_id/lig_comp.
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
cb3d34063154bf164c61eeba41c6166b0bd304fb 30-Jul-2012 Behdad Esfahbod <behdad@behdad.org> [GSUB] Don't set new lig_id on mark ligatures

If two marks form a ligature, retain their previous lig_id, such that
the mark ligature can attach to ligature components...

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=676343

In fact, I noticed that we should not let ligatures form between glyphs
coming from different components of a previous ligature. For example,
if the sequence is: LAM,SHADDA,LAM,FATHA,HEH, the LAM,LAM,HEH form a
ligature, putting SHADDA and FATHA next to eachother. However, it would
be wrong to ligate them. Uniscribe has this bug also.
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
338fe662b50f9309bf0050dd99becb644874195b 29-Jul-2012 Behdad Esfahbod <behdad@behdad.org> [GSUB] Minor
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
e6f7479fe34fb4a7cada61d84c2ed70d1fd565c8 29-Jul-2012 Behdad Esfahbod <behdad@behdad.org> [GSUB] Simplify would-apply
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
dadede012e4841f9fcb70d514fdc752f3ea4663d 29-Jul-2012 Behdad Esfahbod <behdad@behdad.org> Minor
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
0b99429ead05ae32b3c210cb499af401b02770a9 28-Jul-2012 Behdad Esfahbod <behdad@behdad.org> [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.
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
ea278d3895fe0c92801d692cd71d8d9f1de7c048 27-Jul-2012 Behdad Esfahbod <behdad@behdad.org> Partially switch ot shaper to shape_plan
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
ec8d2494694275dfbbac2dd0d33ca2894b0463d6 24-Jul-2012 Behdad Esfahbod <behdad@behdad.org> 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.
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
74d1d88781e91866a52e27f391e34df03b313442 19-Jul-2012 Behdad Esfahbod <behdad@behdad.org> [GSUB] Fix would_apply() for LigatureSubst
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
e72b360ac6381b549249b8836fa3e70b909d3437 19-Jul-2012 Behdad Esfahbod <behdad@behdad.org> Refactor / finish would_apply() operation

Untested.
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
1feb8345a5fd92297eb6796e6dce633bafa0c76e 16-Jul-2012 Behdad Esfahbod <behdad@behdad.org> [GSUB] Allow 1-to-1 ligature substitutions!

Apparently Uniscribe allows these, and they are used in some Khmer fonts
shipped with Windows, namely, Daun Penh.
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
6d08c7f1b3601095f9a12630045331dd0fe75380 12-Jul-2012 Behdad Esfahbod <behdad@behdad.org> Revert "Towards templatizing common Lookup types"

This reverts commit 727135f3a9938c1ebd5b9f5015a46c7ccc8573c5.

This is work-in-progress. Didn't mean to push it out just yet.
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
727135f3a9938c1ebd5b9f5015a46c7ccc8573c5 04-Jul-2012 Behdad Esfahbod <behdad@behdad.org> Towards templatizing common Lookup types
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
f211d5c291b4c947cfd732e873627567173057e4 09-Jun-2012 Behdad Esfahbod <behdad@behdad.org> More Oops! Fix fast-path with sub-type==0
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
b1de6aa1f33b228afe231c8209aef90a5fa1ee5d 09-Jun-2012 Behdad Esfahbod <behdad@behdad.org> Oops!
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
faf0f20253d954cc4cfa4c967ece7573a5ddae3b 09-Jun-2012 Behdad Esfahbod <behdad@behdad.org> Add sanitize() logic for fast-paths
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
993c51915f503f74ee00eee646b67bf2e3f73596 09-Jun-2012 Behdad Esfahbod <behdad@behdad.org> Add fast-path to GSUB to check coverage

Shaves a good 10% off DejaVu Sans with simple Latin text for me.
Now, DejaVu is very ChainContext-intensive, but it's also a very
popular font!
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
4952f0aa5b2f4368d9e3418252e0a1b9294cd5ee 09-Jun-2012 Behdad Esfahbod <behdad@behdad.org> Minor
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
ec57e0c5655ced5109c4638bf802772d336448fd 09-Jun-2012 Behdad Esfahbod <behdad@behdad.org> Set lig_comp for MultipleSubst components

To be used for correct mark attachment to first component of a
MultipleSubst output. That's what Uniscribe does.
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
3ec77d6ae0510dc2c0ec64382c4948bc6e109844 09-Jun-2012 Behdad Esfahbod <behdad@behdad.org> Don't use replace_glyphs_be for MultipleSubst
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
4b7192125ffd295091d6b3a0bdfca7011947c2ca 09-Jun-2012 Behdad Esfahbod <behdad@behdad.org> Minor
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
28ce5fa454b54f728044ee12a9dbe7d016783d4a 09-Jun-2012 Behdad Esfahbod <behdad@behdad.org> Merge clusters when ligating
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
2bb1761ccb7d300744ced6427165f4ea75ddf96c 09-Jun-2012 Behdad Esfahbod <behdad@behdad.org> Minor, use next_glyph()
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
2a3d911fe0ff5d6442659d3381d5b08c30ee2896 07-Jun-2012 Behdad Esfahbod <behdad@behdad.org> Fix alignment-requirement missmatch

Detected by clang and lots of cmdline options.
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
ed2f1363a391add41f10cff18792003583a10257 23-May-2012 Behdad Esfahbod <behdad@behdad.org> 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.
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
3f18236a03880c0960f5990dc90685f6146951a6 13-May-2012 Behdad Esfahbod <behdad@behdad.org> Fix more warnings
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
99c2695759a6af855d565f4994bbdf220570bb48 13-May-2012 Behdad Esfahbod <behdad@behdad.org> Add accessort to buffer for current info, current pos, and prev info
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
5df809b655bb1318115651fd87d4555cdd9b41cb 13-May-2012 Behdad Esfahbod <behdad@behdad.org> [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.
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
cee7187447b76b22e1bb6136d137b35ac49c3a5d 11-May-2012 Behdad Esfahbod <behdad@behdad.org> [Indic] Move syllable tracking from Indic to generic layer

This is to incorporate it into GSUB/GPOS processing.
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
acea183e986dd378c6f95120fe0feb0586a8ef36 11-May-2012 Behdad Esfahbod <behdad@behdad.org> Add return annotation for APPLY
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
0ab8c8621712d33e1e91dfdb4ad0b335e3d2a3fb 11-May-2012 Behdad Esfahbod <behdad@behdad.org> Annotate SANITIZE return values

More to come, for APPLY, CLOSURE, etc.
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
a9844d41c6cb30d8a2d733130a0e72f51b6c81c1 09-May-2012 Behdad Esfahbod <behdad@behdad.org> Combine lig_id and lig_comp into one byte, to free up one for Indic
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
5caece67ab9eee322bdcdf6f4b607eadde297e56 24-Apr-2012 Behdad Esfahbod <behdad@behdad.org> Make closure() return void
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
5b93e8d94fb4c2474816304ae3f52e1c704882de 24-Apr-2012 Behdad Esfahbod <behdad@behdad.org> Update copyright headers
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
c64ddab3c34897cd520d4d73a054866e649e8793 23-Apr-2012 Behdad Esfahbod <behdad@behdad.org> Flesh out closure() for GSUB

The GSUBGPOS part still missing.
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
650ac00da3d2f988197393f34d40f0ba1a0fa093 23-Apr-2012 Behdad Esfahbod <behdad@behdad.org> Minor refactoring
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
f94b0aa64609654497ced9c00312c9643eb69053 23-Apr-2012 Behdad Esfahbod <behdad@behdad.org> Add "closure" operation stubs to GSUB

Filling in.
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
36608941f3cc530fea57282fa175e4cc3b4c66c6 20-Apr-2012 Behdad Esfahbod <behdad@behdad.org> Add GSUB "would_apply" API

To be used in the Indic shaper later. Unused for now.
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
c6035cf802c60f0526f421f39a55886061df94ee 12-Apr-2012 Behdad Esfahbod <behdad@behdad.org> Add names to enums

gdb was showing <anonymous enum> instead of useful stuff, so name
all our enums.
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
41ae674f6871f43d0a6e4ca67a747074d63ae576 11-Apr-2012 Behdad Esfahbod <behdad@behdad.org> 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...
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
7d479900cd11bc88148cd601ee43bc5492ce5843 19-Jan-2012 Behdad Esfahbod <behdad@behdad.org> Refactor the two remaining uses of _hb_ot_layout_skip_mark()
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
4ab97311541225906f6b737a2b47de252224cc09 17-Jan-2012 Behdad Esfahbod <behdad@behdad.org> Refactor mark skipping
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
370f03e9c69d98d735eafb7e72b13b17f42cbaa9 16-Jan-2012 Behdad Esfahbod <behdad@behdad.org> Minor
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
4d3aeb8cb2bc1ca7cdd03ba28ba8c334f12d4c03 16-Jan-2012 Behdad Esfahbod <behdad@behdad.org> [GSUB/GPOS] Fix mark skip indexing issues

Mozilla bug 701637 and 714067 combined.

Patch from Jonathan Kew.
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
52ebdff49d13f239efc886de935d47be9860f6e5 27-Sep-2011 Behdad Esfahbod <behdad@behdad.org> Fix GSUB lookuptype 1 subtype 1 delta wrapping
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
ae9877dea6a1aed3566d9b87a75ede84259deaca 17-Aug-2011 Behdad Esfahbod <behdad@behdad.org> Add hhea-table support
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh
7a750ac33ec482e2c4856c19ea607f3563741c24 17-Aug-2011 Behdad Esfahbod <behdad@behdad.org> Rename table files from eg maxp-private.hh to maxp-table.hh
/external/harfbuzz_ng/src/hb-ot-layout-gsub-table.hh