History log of /external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
5e156fa5ed33cd1a8ff388833563f15930bb12f9 23-Jan-2017 Behdad Esfahbod <behdad@behdad.org> Add LOffsetTo<>
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
4b4a1b9f235598b04ce9ae1f9670fc978ab7620d 22-Dec-2016 Behdad Esfahbod <behdad@behdad.org> Fix assert fail with contextual matching

As discovered by libFuzzer / Chromium fuzzing.

Fixes https://bugs.chromium.org/p/chromium/issues/detail?id=659496
CC https://github.com/behdad/harfbuzz/issues/139
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
4ebbeb7c50e5c1e934d230ceacf792602c6eb9b9 10-Sep-2016 Behdad Esfahbod <behdad@behdad.org> [GX] Make FeatureVariations actually work

Yay!!!!
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
ec87ba9ba32a374d49dd3e40137f75f4f4232aee 10-Sep-2016 Behdad Esfahbod <behdad@behdad.org> [GX] Add hb_ot_layout_feature_with_variations_get_lookups()
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
30c42b644eb33551aa0986287182a46f2d8c32ed 10-Sep-2016 Behdad Esfahbod <behdad@behdad.org> [GX] Add hb_ot_layout_table_find_feature_variations()
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
59055b5494f802013ca3613a15e565ae1ca0c589 10-Sep-2016 Behdad Esfahbod <behdad@behdad.org> [GX] Implement Feature Variations

Not hooked up to shaper yet.
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
cf3de4d8f79fc6e8413957cdef034e975343ce30 10-Sep-2016 Behdad Esfahbod <behdad@behdad.org> [GX] Rename VarStore to VariationStore
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
151d93de8a595924a8dcb00fcba648b4b3df0bf5 10-Sep-2016 Behdad Esfahbod <behdad@behdad.org> [GX] Hook up GPOS to Variation Store stored in GDEF

Untested.
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
359dead960c825edeb4587915a511d323f1c1f2a 06-May-2016 Behdad Esfahbod <behdad@behdad.org> Allow MultipleSubst to delete glyph

Fixes https://github.com/behdad/harfbuzz/issues/253

Hopefully we got the logic right.
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
b20305022a8235b19e6b640bc62651854e1336f1 27-Apr-2016 Behdad Esfahbod <behdad@behdad.org> Do NOT ignore Mongolian Free Variation Selectors during matching

Fixes https://github.com/behdad/harfbuzz/issues/234
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
9a13ed453ef96822a47d6e6f58332b87f38d5c59 22-Feb-2016 Behdad Esfahbod <behdad@behdad.org> Make FixedVersion a template
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
b87e36f6f119fac80b8fd55f3abae563c2c5b798 19-Feb-2016 Behdad Esfahbod <behdad@behdad.org> Avoid buffer->move_to() in case of buffer error

Fixes https://github.com/behdad/harfbuzz/issues/223

Right now we cannot test this because it has to be tested using hb-fuzzer.
We should move all fuzzing tests from test/shaping/tests/fuzzed.tests to
test/fuzzing/ and have its own test runner. At that point, should add
test from this issue as well.
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
100fbeaf196515774c985ee839d0fa0695f9a6fa 17-Dec-2015 Behdad Esfahbod <behdad@behdad.org> Fix ligature component of a mark happening after a ligature within a ligature!

Say, if we are ligating "A B_C m D", then previously 'm' was being
attached to 'B' in the combined A_B_C_D ligature. Now we attach it
to 'C'. No test for this though :(.
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
2f02fc79a5018e3348fccf366c470803554e1e58 17-Dec-2015 Behdad Esfahbod <behdad@behdad.org> Improve ligature-component handling

We use three bits for lig_id these days, so we finally got a report of
two separate ligatures with the same lig_id happening adjacent to each
other, and then the component-handling code was breaking things.
Protect against that by ignoring same-lig-id but lig-comp=0 glyphs after
a new ligature.

Fixes https://github.com/behdad/harfbuzz/issues/198
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
9cc1ed4fa68075b3b142a2737438109772dd0002 19-Nov-2015 Behdad Esfahbod <behdad@behdad.org> Do not allow recursiving to same position and same lookup

This is just to make it harder to be extremely slow. There definitely
are ways still, just harder. Oh well... how do we tame this problem
without solving halting problem?!

Fixes https://github.com/behdad/harfbuzz/issues/174
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
37b40cd8a18e25d3324f829acec197f016f4a524 19-Nov-2015 Behdad Esfahbod <behdad@behdad.org> Fix another move_to assertion failure

If buf->idx is at end, don't set end past it...

Fixes https://github.com/behdad/harfbuzz/issues/173
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
abadc1717d997b69f987fdf1be9e12156d2d13d6 19-Nov-2015 Behdad Esfahbod <behdad@behdad.org> Try to better handle OOM situations

Fixes assert fail in https://github.com/behdad/harfbuzz/issues/161
with libharfbuzz-fuzzing.
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
cc5d3a33882b52f906ee4346707700f5e846d2ac 04-Nov-2015 Behdad Esfahbod <behdad@behdad.org> Towards using top-byte of unicode-props for more things
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
8259669fbd1b070fc02287325894caf1bc4d590e 03-Nov-2015 Behdad Esfahbod <behdad@behdad.org> Minor
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
5ba450407b9d9856453e63a815499da8721ff6a7 03-Nov-2015 Behdad Esfahbod <behdad@behdad.org> Make max context-length and max nesting level configurable

...at compile time.
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
4a6b1eedbb0044b57505eea65a329d2dc4f9f917 21-Oct-2015 Behdad Esfahbod <behdad@behdad.org> Fix one more -Wshadow warning

https://bugzilla.mozilla.org/show_bug.cgi?id=1215894
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
f396fbb000dc1c8acddbf6a16e193b328c5e551e 09-Oct-2015 Behdad Esfahbod <behdad@behdad.org> Fix return value of sanitize when subformat is not readable

This is a fix on top of the previous issue fixed in
c917965b9e6fe2b21ed6c51559673288fa3af4b7.

This was caught by "libFuzzer" testing.
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
77a1a2bc18e7b04d4e352a8777ccce345b2f8659 09-Oct-2015 Behdad Esfahbod <behdad@behdad.org> Add hb_dispatch_context_t
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
b47159011ca518c3b94d782ed16a91ffe9dd2ab2 29-Sep-2015 Behdad Esfahbod <behdad@behdad.org> Define return_trace()

Not functional change (expected!).
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
c917965b9e6fe2b21ed6c51559673288fa3af4b7 29-Sep-2015 Behdad Esfahbod <behdad@behdad.org> Add missing returns

Fixes possible invalid read of two bytes.

Reported by Behzad Najjarpour Jabbari, Secunia Research.
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
2c8b3b2e5312c9858584f568b1528c57e5bb8a10 18-Aug-2015 Behdad Esfahbod <behdad@behdad.org> [debug] Print lookup index in debug-apply output
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
d99f50bde0e8be0866385ca6886938d2023dbd4f 23-Jul-2015 Behdad Esfahbod <behdad@behdad.org> Add missing TRACE_RETURN
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
2dc8e3f470d7c0b579f867605b8bf40688bc5722 23-Jul-2015 Behdad Esfahbod <behdad@behdad.org> [ot] Add missing return!
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
4ba796b26ee62de0d2830a550f3aa3b4aecf6f59 22-Jul-2015 Behdad Esfahbod <behdad@behdad.org> Refactor _hb_glyph_info_is_default_ignorable()
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
b931e0b0ceeab0e4819d9c4b838c1a1eb87b52e4 08-Apr-2015 Behdad Esfahbod <behdad@behdad.org> Fix warnings

Part of https://github.com/behdad/harfbuzz/pull/68
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
095a1257cc3cc56b044b4cd842a92f0d0f933a50 19-Feb-2015 Behdad Esfahbod <behdad@behdad.org> [layout] Port sanitize() to use dispatch()

Needed some rework of Extension table. Hopefully I got it right, and
the new template usage doesn't break any compilers...
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
40c58923cbf689c465f9b65334c455a9b7f71ab0 18-Feb-2015 Behdad Esfahbod <behdad@behdad.org> [layout] Refactor Lookup::dispatch()
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
8e36ccfd4f076888076ca176c055c18104af03b6 17-Feb-2015 Behdad Esfahbod <behdad@behdad.org> [layout] Use dispatch() for add_coverage()
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
50b8dc79daffc7ef671dd5eedfea47f8d5e946f4 17-Feb-2015 Behdad Esfahbod <behdad@behdad.org> [layout] Add may_dispatch()

No functional change right now.
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
de2118ed7a998a1df9b28fd1be96b4af89ed82c3 17-Feb-2015 Behdad Esfahbod <behdad@behdad.org> Make sanitize() a const method

This makes a lot of code safer. We only try modifying the object in one
place, after making sure it's safe to do so. So, do a const_cast<> in
that one place...
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
365576d246949f9d587e90cf0539dc0381e4d0a3 29-Jan-2015 Behdad Esfahbod <behdad@behdad.org> [layout] Allocate iters in the context

Can be further optimized, but I think I didn't break anything.

Saves another 3% off Roboto shaping.
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
514564f5444b8ad2f210b1e3d7d66378f7275317 29-Jan-2015 Behdad Esfahbod <behdad@behdad.org> [layout] Move skippy_iter setup from constructor into init()
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
b051be542a8945ec14b0192bbc285f3e1a78c8f1 29-Jan-2015 Behdad Esfahbod <behdad@behdad.org> [lookup] Add skippy_iter.reset()

Towards reducing the cost of initializing skippy_iter()
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
2cecc38c7cf49b2cf697efa7e974ceee7055f2c5 29-Jan-2015 Behdad Esfahbod <behdad@behdad.org> [layout] Shuffle code around
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
696266981df5ef6c62ad0115133dad1d6c1d9acc 29-Jan-2015 Behdad Esfahbod <behdad@behdad.org> [layout] Merge forward and backward iterators
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
1f038eec3c0dd6331036f795614fe1ddcbf613b0 29-Jan-2015 Behdad Esfahbod <behdad@behdad.org> [layout] Fix backward reject()

Has no functional effect since reject was never used with
match_glyph_data.
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
37d13acd8d414a4b53fac0152addfadecf755cd4 29-Jan-2015 Behdad Esfahbod <behdad@behdad.org> [layout] Remove some unnecessary checks in skippy
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
f4ee48fd7b312550faf9b0be4cd1b2f2849dd08d 29-Jan-2015 Behdad Esfahbod <behdad@behdad.org> [layout] Remove unused wrapper method
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
093c520de506aec74f3fb1e195c0ca85813424dd 13-Dec-2014 Behdad Esfahbod <behdad@behdad.org> [otlayout] Mark variables that are C arrays as opposed to OT::ArrayOf
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
9df0a520306a491f973d42965597bfda6023e508 13-Dec-2014 Behdad Esfahbod <behdad@behdad.org> [otlayout] Avoid invalid access with Context format 3
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
295ef1dd5229f47d8e0eb5b4eb48c90a6b470073 13-Dec-2014 Behdad Esfahbod <behdad@behdad.org> [ot] Debug get_coverage
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
00f6a8e334ec4c586e4e633a95b411ccb50306d3 13-Dec-2014 Behdad Esfahbod <behdad@behdad.org> [ot] Print format in dispatch trace
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
fde3e4a423871463c883cb969e99c29cb6f69f6b 29-Oct-2014 Behdad Esfahbod <behdad@behdad.org> In hb_ot_collect_glyphs(), don't recurse to a lookup more than once

Otherwise, we might process a lookup thousands of times, with no
benefit. This pathological case was hit by Noto Nastaliq Urdu Draft
in Firefox's code to determine whether space glyph is involved in
any GSUB/GPOS rules. A test page is at http://behdad.org/urdu

See:
https://bugzilla.mozilla.org/show_bug.cgi?id=1090869
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
b98c5db32d15fcfb27ce2f6737203ce1ad124319 16-Jul-2014 Behdad Esfahbod <behdad@behdad.org> Minor refactoring
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
73e23b0acfd2948d500321769035c56c9e072d77 16-Jul-2014 Behdad Esfahbod <behdad@behdad.org> Whitespace
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.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-gsubgpos-private.hh
da132937989acb4d8ca9bd41c79f98750e7dda30 27-Apr-2014 Jonathan Kew <jfkthame@gmail.com> Rework handling of requiredFeature to solve problem with rlig in arial.ttf from winxp

https://bugzilla.mozilla.org/show_bug.cgi?id=986802
Fixes https://github.com/behdad/harfbuzz/pull/39

API Change:

-hb_ot_layout_language_get_required_feature_index
+hb_ot_layout_language_get_required_feature

New API takes an extra pointer argument. Pass NULL in to get
behavior of previous API.

Reworked by behdad
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.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-gsubgpos-private.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-gsubgpos-private.hh
04d894e89795041b2055dc172744a018644f2bca 25-Mar-2014 Behdad Esfahbod <behdad@behdad.org> Minor
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.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-gsubgpos-private.hh
3d436d325edccc0f3dd820e06e3d529cc8f3eca4 28-Oct-2013 Behdad Esfahbod <behdad@behdad.org> [otlayout] Reset ccc when marking glyph as letter
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
71b4c999a511bf018acaf48a45e070470c0daf12 28-Oct-2013 Behdad Esfahbod <behdad@behdad.org> Revert "Zero marks by GDEF for Tibetan"

This reverts commit d5bd0590ae2fbc7b0dee86385a565aef00ffb835.

The reasoning behind that logic was flawed and made under
a misunderstanding of the original problem, and caused
regressions as reported by Jonathan Kew in thread titled
"tibetan marks" in Oct 2013. Apparently I have had fixed
the original problem with this commit:

7e08f1258da229dfaf7e1c4b5c41e5bb83906cb0

So, revert the faulty commit and everything seems to be in good
shape.
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
d5bd0590ae2fbc7b0dee86385a565aef00ffb835 18-Oct-2013 Behdad Esfahbod <behdad@behdad.org> Zero marks by GDEF for Tibetan

See:
http://lists.freedesktop.org/archives/harfbuzz/2013-April/003101.html
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
a1f7b2856184959e965c9c2b80363f9f46d486a7 18-Oct-2013 Behdad Esfahbod <behdad@behdad.org> [otlayout] Switch over from old is_a_ligature() to IS_LIGATED

Impact should be minimal and positive.
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
09675a8115b9d77261c33940401aa919cede8662 18-Oct-2013 Behdad Esfahbod <behdad@behdad.org> [otlayout] Add HB_OT_LAYOUT_GLYPH_PROPS_LIGATED

Currently unused.
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
05ad6b50ac0a1b9a8da10d2ee2238068b7811e7d 18-Oct-2013 Behdad Esfahbod <behdad@behdad.org> [otlayout] Add HB_OT_LAYOUT_GLYPH_PROPS_SUBSTITUTED

Currently unused.
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
101303dbf7cf15d044bf2518f14b3aec65970fea 18-Oct-2013 Behdad Esfahbod <behdad@behdad.org> [otlayout] More shuffling around
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.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-gsubgpos-private.hh
a0161746589934e93c3b115814bbd81f56ab962f 18-Oct-2013 Behdad Esfahbod <behdad@behdad.org> [otlayout] Simplify set_class() usage
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
3ddf892b5328b74afb6e7d9da727d8771ca5d288 18-Oct-2013 Behdad Esfahbod <behdad@behdad.org> [otlayout] Renaming
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
3c3df9cba13fec2c35e0e7ae587d9699ac0c37f5 17-Oct-2013 Behdad Esfahbod <behdad@behdad.org> [otlayout] Minor
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
6cc136f7531a45e71ea08a7dc8a2187172cb813d 17-Oct-2013 Behdad Esfahbod <behdad@behdad.org> [otlayout] Minor
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.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-gsubgpos-private.hh
da72042c52ed3cc0ee19d3eabb8db7c7dd34d3ed 17-Oct-2013 Behdad Esfahbod <behdad@behdad.org> [otlayout] Fix up recent Context matching change

Commit 6b65a76b40522a4f57a6fedcbdfc5a4d736f1d3c. "end" was becoming
negative. Was trigerred by Lohit-Kannada 2.5.3 and the sequence:
U+0CB0,U+200D,U+0CBE,U+0CB7,U+0CCD,U+0C9F,U+0CCD,U+0CB0,U+0C97,U+0CB3
Two glyphs were being duplicated.
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.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-gsubgpos-private.hh
86522e493d071f395b5abf64289232bf8867ac29 23-Jul-2013 Behdad Esfahbod <behdad@behdad.org> Fix glyph closure recursion!
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
74439d0aa10184451adc6c6469f5119be352ecbb 23-Jul-2013 Behdad Esfahbod <behdad@behdad.org> Minor
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
8751de50831338ce550601c34c17d152ad89c1fd 18-Jul-2013 Behdad Esfahbod <behdad@behdad.org> Followup fix for 3f9e2dced298c3d00f31b2dfc38685bb071a3a22

During GSUB, if a ligation happens, subsequence context input matching
matches the new indexing. During GPOS however, the indices never
change. So just go one by one.

Fixes 'dist' positioning with mmrtext.ttf and the following sequence:

U+1014,U+1039,U+1011,U+1014,U+1039,U+1011,U+1014,U+1039,U+1011

Reported by Jonathan Kew.
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
3f9e2dced298c3d00f31b2dfc38685bb071a3a22 27-Jun-2013 Behdad Esfahbod <behdad@behdad.org> Fix contextual lookup recursion indexing

See email thread "Skipping Control for Attaching Marks using OpenType"
from earlier this month.
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
7e08f1258da229dfaf7e1c4b5c41e5bb83906cb0 27-May-2013 Behdad Esfahbod <behdad@behdad.org> Don't zero advance of mark-non-mark ligatures

If there's a mark ligating forward with non-mark, they were
inheriting the GC of the mark and later get advance-zeroed.
Don't do that if there's any non-mark glyph in the ligature.

Sample test: U+1780,U+17D2,U+179F with Kh-Metal-Chrieng.ttf

Also:
Bug 58922 - Issue with mark advance zeroing in generic shaper
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
2e0c44f4bedd3e24c731c0e9e23358e9a4891a35 24-Apr-2013 Behdad Esfahbod <behdad@behdad.org> [OTLayout] Add is_inplace() method to GSUB
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
bac1dd6a0ff4d4fae4254506d38ae662b7e9dda7 03-May-2013 Behdad Esfahbod <behdad@behdad.org> [OTLayout] Refactor a bit more
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
76ea563673d24ae1673a5aa3a21da6014479d433 04-May-2013 Behdad Esfahbod <behdad@behdad.org> [OTLayout] Add note about collect_glyphs() and recursive lookups
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
a8cf7b43fa795150ae3d42d64424bb6e0373d0b2 19-Mar-2013 Behdad Esfahbod <behdad@behdad.org> [Indic] Futher adjust ZWJ handling in Indic-like shapers

After the Ngapi hackfest work, we were assuming that fonts
won't use presentation features to choose specific forms
(eg. conjuncts). As such, we were using auto-joiner behavior
for such features. It proved to be troublesome as many fonts
used presentation forms ('pres') for example to form conjuncts,
which need to be disabled when a ZWJ is inserted.

Two examples:

U+0D2F,U+200D,U+0D4D,U+0D2F with kartika.ttf
U+0995,U+09CD,U+200D,U+09B7 with vrinda.ttf

What we do now is to never do magic to ZWJ during GSUB's main input
match for Indic-style shapers. Note that backtrack/lookahead are still
matched liberally, as is GPOS. This seems to be an acceptable
compromise.

As to the bug that initially started this work, that one needs to
be fixed differently:

Bug 58714 - Kannada u+0cb0 u+200d u+0ccd u+0c95 u+0cbe does not
provide same results as Windows8
https://bugs.freedesktop.org/show_bug.cgi?id=58714

New numbers:

BENGALI: 353689 out of 354188 tests passed. 499 failed (0.140886%)
DEVANAGARI: 707305 out of 707394 tests passed. 89 failed (0.0125814%)
GUJARATI: 366349 out of 366457 tests passed. 108 failed (0.0294714%)
GURMUKHI: 60706 out of 60747 tests passed. 41 failed (0.067493%)
KANNADA: 951030 out of 951913 tests passed. 883 failed (0.0927606%)
KHMER: 299070 out of 299124 tests passed. 54 failed (0.0180527%)
LAO: 53611 out of 53644 tests passed. 33 failed (0.0615167%)
MALAYALAM: 1048102 out of 1048334 tests passed. 232 failed (0.0221304%)
ORIYA: 42320 out of 42329 tests passed. 9 failed (0.021262%)
SINHALA: 271666 out of 271847 tests passed. 181 failed (0.0665816%)
TAMIL: 1091753 out of 1091754 tests passed. 1 failed (9.15957e-05%)
TELUGU: 970555 out of 970573 tests passed. 18 failed (0.00185457%)
TIBETAN: 208469 out of 208469 tests passed. 0 failed (0%)
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
9c5a9ee967120c8a968a1160c420e03620d46c24 09-Mar-2013 Behdad Esfahbod <behdad@behdad.org> [OTLayout] Rename process() to dispatch()
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
722e8b857eafc52e07dee5d9b253b88ed5c5c8ed 21-Feb-2013 Behdad Esfahbod <behdad@behdad.org> Fixup previous commit

Was not decreasing num_items. Ouch!
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
2b2a6e8944144755ab641f2842e36d9a847719f3 21-Feb-2013 Behdad Esfahbod <behdad@behdad.org> [OTLayout] Correctly skip Default_Ignorable when match_func not set

When a match_func was not set on the matcher_t object (ie. from GPOS),
then the Default_Ignorables (including joiners) were never skipped.
This meant that they were not skipped as they should during GPOS
matching. Fix that.

A few Indic numbers have "regressed": BENGALI and DEVANAGARI went
up from 290 and 58 respectively, but in both cases new results are
superior to Uniscribe, as they apply GPOS when we weren't (and
Uniscribe isn't) before.
BENGALI: 353686 out of 354188 tests passed. 502 failed (0.141733%)
DEVANAGARI: 707305 out of 707394 tests passed. 89 failed (0.0125814%)
GUJARATI: 366262 out of 366457 tests passed. 195 failed (0.0532122%)
GURMUKHI: 60706 out of 60747 tests passed. 41 failed (0.067493%)
KANNADA: 950680 out of 951913 tests passed. 1233 failed (0.129529%)
KHMER: 299074 out of 299124 tests passed. 50 failed (0.0167155%)
LAO: 53611 out of 53644 tests passed. 33 failed (0.0615167%)
MALAYALAM: 1047983 out of 1048334 tests passed. 351 failed (0.0334817%)
ORIYA: 42320 out of 42329 tests passed. 9 failed (0.021262%)
SINHALA: 271539 out of 271847 tests passed. 308 failed (0.113299%)
TAMIL: 1091753 out of 1091754 tests passed. 1 failed (9.15957e-05%)
TELUGU: 970555 out of 970573 tests passed. 18 failed (0.00185457%)
TIBETAN: 208469 out of 208469 tests passed. 0 failed (0%)
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
ff93ac8cb24cbc3d9dc1a2bfb0faa88950f4a507 21-Feb-2013 Behdad Esfahbod <behdad@behdad.org> Minor
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
cb90b1bbe6d27ca6968b70d2dbfea7ab7fb73293 15-Feb-2013 Behdad Esfahbod <behdad@behdad.org> [OTLayout] Respect syllable boundaries for backtrack/lookahead matching

Originally we meant to match backtrack/lookahead across syllable
boundaries. But a bug in the code meant that this was NOT done for
backtrack. We "fixed" that in 2c7d0b6b80d412de3fddd443ed1a485ea1cbb03c,
but that broke Myanmar shaping.

We now believe that for Indic-like shapers (which is where syllables are
used), all basic shaping forms should be fully contained within their
syllables, so now we limit backtrack/lookahead matching to the syllable
too. Unbreaks Myanmar.
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
cfc507c5432e6327e8484b07b9e091212653bc92 14-Feb-2013 Behdad Esfahbod <behdad@behdad.org> [Indic-like] Disable automatic joiner handling for basic shaping features

Not for Arabic, but for Indic-like scripts. ZWJ/ZWNJ have special
meanings in those scripts, so let font lookups take full control.

This undoes the regression caused by automatic-joiners handling
introduced two commits ago.

We only disable automatic joiner handling for the "basic shaping
features" of Indic, Myanmar, and SEAsian shapers. The "presentation
forms" and other features are still applied with automatic-joiner
handling.

This change also changes the test suite failure statistics, such that
a few scripts show more "failures". The most affected is Kannada.
However, upon inspection, we believe that in most, if not all, of the
new failures, we are producing results superior to Uniscribe. Hard to
count those!

Here's an example of what is fixed by the recent joiner-handling
changes:

https://bugs.freedesktop.org/show_bug.cgi?id=58714

New numbers, for future reference:

BENGALI: 353892 out of 354188 tests passed. 296 failed (0.0835714%)
DEVANAGARI: 707336 out of 707394 tests passed. 58 failed (0.00819911%)
GUJARATI: 366262 out of 366457 tests passed. 195 failed (0.0532122%)
GURMUKHI: 60706 out of 60747 tests passed. 41 failed (0.067493%)
KANNADA: 950680 out of 951913 tests passed. 1233 failed (0.129529%)
KHMER: 299074 out of 299124 tests passed. 50 failed (0.0167155%)
LAO: 53611 out of 53644 tests passed. 33 failed (0.0615167%)
MALAYALAM: 1047983 out of 1048334 tests passed. 351 failed (0.0334817%)
ORIYA: 42320 out of 42329 tests passed. 9 failed (0.021262%)
SINHALA: 271539 out of 271847 tests passed. 308 failed (0.113299%)
TAMIL: 1091753 out of 1091754 tests passed. 1 failed (9.15957e-05%)
TELUGU: 970555 out of 970573 tests passed. 18 failed (0.00185457%)
TIBETAN: 208469 out of 208469 tests passed. 0 failed (0%)
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
0b45479198d61d5135dad771e9c68408eb13f930 14-Feb-2013 Behdad Esfahbod <behdad@behdad.org> [OTLayout] Add fine-grained control over ZWJ matching

Not used yet. Next commit...
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.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-gsubgpos-private.hh
4e51df73a337f7232a7dfa85df78a4f19b24771b 14-Feb-2013 Behdad Esfahbod <behdad@behdad.org> [OTLayout] Remove unused function
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
8820bb235b1f63e4d93c8a2f5c08b44d89e06b78 14-Feb-2013 Behdad Esfahbod <behdad@behdad.org> [OTLayout] Port apply_lookup to skippy_iter
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
dfca269f069dae2f99990dac24da15d316eccb9f 14-Feb-2013 Behdad Esfahbod <behdad@behdad.org> [OTLayout] Port ligate_input to skippy_iter
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
7e53415c2d8859e8b5948a2edb38c39a8f78b825 14-Feb-2013 Behdad Esfahbod <behdad@behdad.org> [OTLayout] Minor fix for apply_lookup()

Should NOT change behavior, since first glyph is a match.
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
6880f7e19d44c50e45ecb86d26381aad956d9acb 13-Feb-2013 Behdad Esfahbod <behdad@behdad.org> [OTLayout] Make table type known to apply context
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
2c7d0b6b80d412de3fddd443ed1a485ea1cbb03c 13-Feb-2013 Behdad Esfahbod <behdad@behdad.org> [OTLayou] Unbreak backtrack matching

Was introduced by 28b9d502bb69a8045818d5f6113ded9c59a56bd7.
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
c074ebc466dcc9bcc0d8a5dd7e942dea974ff718 13-Feb-2013 Behdad Esfahbod <behdad@behdad.org> [OTLayout] Minor refactoring
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
407fc12466ef460d0edf11b89f0d04c4d724875f 13-Feb-2013 Behdad Esfahbod <behdad@behdad.org> [OTLayout] Remove bogus caching of glyph property
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
54f7b4d9ec13f8454aa298534da318c023fa3c63 11-Feb-2013 Behdad Esfahbod <behdad@behdad.org> [OTLayout] Respect lookup-flags skipping over non-mark glyphs

Before, when matching ligatures, we never skipping over base / liga
glyphs even if that was what the LookupFlags asked for.

Fixed now. We carefully reviewed all instances of this, and tested with
Amiri as well as some Indic scripts, and are confident that this should
NOT break anyone's fonts. It's also how Uniscribe does it, from what
we can tell.
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
9082efc4aacb34de8574d6a4a3c037987df58bd8 11-Feb-2013 Behdad Esfahbod <behdad@behdad.org> [OTLayout] s/mark_skipping/skipping/

In aticipation of upcoming changes.
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
7b912c1936c3e8a7df27a30782ca127d0a83822d 04-Jan-2013 Behdad Esfahbod <behdad@behdad.org> Remove a few unnecessary const's

Apparently helps with MSVC compilation.
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
11fba79ee9383eb995ddf7eb924dd64c67e2df63 03-Jan-2013 Behdad Esfahbod <behdad@behdad.org> [OTLayout] Fix various introspection issues with ClassDef's

As reported by Jonathan Kew.
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
0beb66e3a61ae8bb1fa66e54b1ff1abb2f8711e9 06-Dec-2012 Behdad Esfahbod <behdad@behdad.org> Fix warnings
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
130bb3f6144afe5c88bb5b4e4c98e7cba03b1e26 05-Dec-2012 Behdad Esfahbod <behdad@behdad.org> Rename VOID and void_t to have HarfBuzz prefix

Fixes build on Windows. Ouch!
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
4a350d0eb25db60d95638664c892d4c8dacf050b 04-Dec-2012 Behdad Esfahbod <behdad@behdad.org> [OTLayout] Reuse context in collect_glyphs() recursion
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.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-gsubgpos-private.hh
1bcfa06d1173f219809542a7380ce77f1c907bec 04-Dec-2012 Behdad Esfahbod <behdad@behdad.org> [OTLayout] Don't recurse in collect_glyphs() for GPOS
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
e75943de803f571b7ad2cf2f777119753a209656 30-Nov-2012 Behdad Esfahbod <behdad@behdad.org> [OTLayout] Fix collect_glyphs() recursion in ContextFormat3
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
f18ff5a84d9fe859c40a7a0c9a207cb40df0e84a 30-Nov-2012 Behdad Esfahbod <behdad@behdad.org> [OTLayout] Return correct value from recursion

Commit 4c4e8f0e754b79ac6190d21878eaaf0b790c7579 broke contextual lookups
by making the recurse() function always return false.

Reported by Khaled. Test case: لا in Amiri.
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
2dc1141d7d0a9f5818862b09d6b9cfe0a27f1fc1 25-Nov-2012 Behdad Esfahbod <behdad@behdad.org> [OTLayout] Remove operator() from ClassDef
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
b67881b171a7cf865af58df146da52fc1e27b160 25-Nov-2012 Behdad Esfahbod <behdad@behdad.org> [OTLayout] Remove operator() from Coverage
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
1ea375da446bf68f705a70ce4a480db9fb9d13f3 24-Nov-2012 Behdad Esfahbod <behdad@behdad.org> [OTLayout] Only collect output glyphs during recursion in collect_glyphs()
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
f1b12781d279a73b5754afee31e930b5cd87aac6 24-Nov-2012 Behdad Esfahbod <behdad@behdad.org> [OTLayout] Implement ChainContext collect_glyphs()

All of collect_glyphs() complete and untested now.
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
4c4e8f0e754b79ac6190d21878eaaf0b790c7579 24-Nov-2012 Behdad Esfahbod <behdad@behdad.org> [OTLayout] Reuse apply context for recursion
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
53a69f49e58ef4c4226958e0496fc22455ee6c87 24-Nov-2012 Behdad Esfahbod <behdad@behdad.org> [OTLayout] Remove unused members
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
d0a5233785eb327c4080432f597fe470a1046af3 24-Nov-2012 Behdad Esfahbod <behdad@behdad.org> [OTLayout] Implement Context::collect_glyphs()
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
26514d51b6669f092d9ccb7523443a5ece74169a 24-Nov-2012 Behdad Esfahbod <behdad@behdad.org> [OTLayout] More collect_glyphs()
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
9b34677f362fb0ef5a7cb8a284a9e06d1a4cc03b 23-Nov-2012 Behdad Esfahbod <behdad@behdad.org> [OTLayout] Clean up closure() a bit
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
2c53bd3c3ec4f81eff126c5bf84b7f2ddf2f0fef 23-Nov-2012 Behdad Esfahbod <behdad@behdad.org> [OTLayout] Start porting sanitize() to process()
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
f48ec0e83432c038b50d9715a38ba1469e82e1e4 23-Nov-2012 Behdad Esfahbod <behdad@behdad.org> [OTLayout] Add process() tracing
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
ed2e13594479c6ed7909401509962ea2f03f9a6e 23-Nov-2012 Behdad Esfahbod <behdad@behdad.org> [OTLayout] More Extension templatizing
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
7dddd4e72bc35be962d93dc1b76c7e26c63aaa6d 23-Nov-2012 Behdad Esfahbod <behdad@behdad.org> [OTLayout] More templatizing Extension
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
653eeb26450053b731b46346606931f5ae88db72 23-Nov-2012 Behdad Esfahbod <behdad@behdad.org> Make Extension a template
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
a1733db1c6ff40aae71fa142a12b1fea7b53dd37 23-Nov-2012 Behdad Esfahbod <behdad@behdad.org> [OTLayout] Start adding process() tracing
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
73c18ae1b982a4e65086afe5177afa79e721e2c0 23-Nov-2012 Behdad Esfahbod <behdad@behdad.org> Cleanup
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
be218c688cbb037a99c8c64bb835f3c980040c0b 23-Nov-2012 Behdad Esfahbod <behdad@behdad.org> Pass this object to trace macros
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
902cc8aca0b3ff25eeee50b3a84d729e31731ef3 23-Nov-2012 Behdad Esfahbod <behdad@behdad.org> [OTLayout] Start unbreaking tracing
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
dabe698fcbeb02911128b17aa8e3b2d864795960 23-Nov-2012 Behdad Esfahbod <behdad@behdad.org> Minor
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
c779d82b2fc801eec0d349a106c0e860448fcf4e 23-Nov-2012 Behdad Esfahbod <behdad@behdad.org> Fix warnings
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
81822528efc63d867cb2343a8ff7af64fac1c70d 23-Nov-2012 Behdad Esfahbod <behdad@behdad.org> Minor
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
1d67ef980f35ae30d4f8975f65ee07b8cc5deeea 22-Nov-2012 Behdad Esfahbod <behdad@behdad.org> Move code around
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
ec35a72a44301934b8f123ab2833f59d8c875a09 22-Nov-2012 Behdad Esfahbod <behdad@behdad.org> [OTLayout] Port apply() operator to process() template
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.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-gsubgpos-private.hh
44fc237b53ebfbaf8a539de16ad735d2c6afc52b 22-Nov-2012 Behdad Esfahbod <behdad@behdad.org> [OTLayout] Port closure() to process() template
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.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-gsubgpos-private.hh
7d52e6601f0e695690cd168a288466746cf25300 17-Nov-2012 Behdad Esfahbod <behdad@behdad.org> Whitespace
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
5a08ecf9200a6ac9b4ebb7ec5c13dcb42d8820ce 16-Nov-2012 Behdad Esfahbod <behdad@behdad.org> Implement hb_ot_layout_get_glyph_class()
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
2616689d159024d2b1cb1e68f9936b2129bf9be6 30-Oct-2012 Behdad Esfahbod <behdad@behdad.org> More tracing fixups
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
bc513add7999baf32f126ceebbd318105ee66985 30-Oct-2012 Behdad Esfahbod <behdad@behdad.org> Add missing TRACE_RETURN
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
2bd9fe359839a653f7caae534bf768af1735f155 04-Sep-2012 Behdad Esfahbod <behdad@behdad.org> Refactor
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
a5ddd9e31cd7906c4b559aa5b2fafdae4b9c8935 04-Sep-2012 Behdad Esfahbod <behdad@behdad.org> [OT] Really fix possible NULL dereference this time
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
f8fa2b5cf67b02d74514dec7885d03de73ec7349 04-Sep-2012 Behdad Esfahbod <behdad@behdad.org> Fix possible NULL dereference

As reported by Kenichi Ishibashi.
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
2fcbbdb41a322f54b61d9ce983ab54434504c5ed 29-Aug-2012 Behdad Esfahbod <behdad@behdad.org> Port Arabic fallback ligating to share code with GSUB

This will eventually allow us to skip marks, as well as (fallback)
attach marks to ligature components of fallback-shaped Arabic.
That would be pretty cool. I kludged GDEF props in, so mark-skipping
works, but the produced ligature id/components will be cleared later
by substitute_start() et al.

Perhaps using a synthetic table for Arabic fallback shaping was a better
idea. The current approach has way too many layering violations...
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
5e399a8a45bddb49e06e2ca39df1ed04398c0aff 29-Aug-2012 Behdad Esfahbod <behdad@behdad.org> Minor
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
a177d027d1d0ad9539e30ed75d8652e0e8da20ff 29-Aug-2012 Behdad Esfahbod <behdad@behdad.org> [GSUB] Move ligation logic over
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.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-gsubgpos-private.hh
93814ca7dc2a7251f861c1c47ba155ba6e6bdf19 29-Aug-2012 Behdad Esfahbod <behdad@behdad.org> Start converging Ligature and match_input
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.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-gsubgpos-private.hh
d9b204d3d24cde165167714728bf380267903d6a 23-Aug-2012 Behdad Esfahbod <behdad@behdad.org> [GSUB] Allow non-zero-context matching in would_apply()

To be used in the next patch.
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
1f2bb172fe9a173ecfd61054f1fdd850943ef059 23-Aug-2012 Behdad Esfahbod <behdad@behdad.org> Revert "[Indic/GSUB] Ignore context when matching would_apply()"

This reverts commit 24dd4e56743c6ce5e01cb710ca9e01b3e527af58.

Oops. My bad. The change _regressed_ Malayalam test suite, not
improved it. I'll redo it, differentiating between old-spec and
new-spec cases.
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
24dd4e56743c6ce5e01cb710ca9e01b3e527af58 23-Aug-2012 Behdad Esfahbod <behdad@behdad.org> [Indic/GSUB] Ignore context when matching would_apply()

The MS Indic specs say "...all classifications are determined ... using
context-free substitutions." However, testing shows that MS's Malayalam
shapers (both old and new), "match" even if there is no zero-context rule.
We follow.

Fixes below-base La (eg. Pa,H,La) with AnjaliNewLipi.ttf (old spec).
Moreover, test suite Malayalam failures are down to 312 from 875! No
change in other scripts.

Current numbers:

BENGALI: 353996 out of 354285 tests passed. 289 failed (0.0815727%)
DEVANAGARI: 707339 out of 707394 tests passed. 55 failed (0.00777502%)
GUJARATI: 366489 out of 366506 tests passed. 17 failed (0.0046384%)
GURMUKHI: 60769 out of 60809 tests passed. 40 failed (0.0657797%)
KANNADA: 951086 out of 951913 tests passed. 827 failed (0.0868777%)
KHMER: 299106 out of 299124 tests passed. 18 failed (0.00601757%)
LAO: 53611 out of 53644 tests passed. 33 failed (0.0615167%)
MALAYALAM: 1047541 out of 1048416 tests passed. 875 failed (0.0834592%)
ORIYA: 42320 out of 42329 tests passed. 9 failed (0.021262%)
SINHALA: 271726 out of 271847 tests passed. 121 failed (0.0445103%)
TAMIL: 1091837 out of 1091837 tests passed. 0 failed (0%)
TELUGU: 970558 out of 970573 tests passed. 15 failed (0.00154548%)
TIBETAN: 208469 out of 208469 tests passed. 0 failed (0%)
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
2eaf482b371034ce6ebfaedee98049b036fd3493 10-Aug-2012 Behdad Esfahbod <behdad@behdad.org> Revert "[GSUB/GPOS] Reject Context/ChainContext lookups with zero input"

This reverts commit 0981068b75710397f08e0d2d776a0a2ea68d7117.

I was confused. Even if we access coverage[0] unconditionally, we don't
need bound checks since the array machinary already handles that.
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.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-gsubgpos-private.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-gsubgpos-private.hh
305246744ed178f116e01498b7f9d1af6950ca30 02-Aug-2012 Behdad Esfahbod <behdad@behdad.org> Minor
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
22148b8c4af3ed296d96e969cdd47bac97b32307 02-Aug-2012 Behdad Esfahbod <behdad@behdad.org> Use Coverage digests in would_apply
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
6c459c8fef85bc44f45d7b58c28a34abfb2c33fc 02-Aug-2012 Behdad Esfahbod <behdad@behdad.org> Minor
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.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-gsubgpos-private.hh
c2e42c3db691515f3a458eb4c71fe1e6439d5620 31-Jul-2012 Behdad Esfahbod <behdad@behdad.org> Minor
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
03f67bc012f42131b36083a23efc78e1b04b828c 31-Jul-2012 Behdad Esfahbod <behdad@behdad.org> More refactoring glyph class access
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
300c7307eb7943ba7416b672345506be1e27c6ba 31-Jul-2012 Behdad Esfahbod <behdad@behdad.org> [OT] Don't crash if no GDEF available
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
05bd1b63426e07d1df7a1b40bf845dc94ab995a8 31-Jul-2012 Behdad Esfahbod <behdad@behdad.org> [GSUB/GPOS] Move glyph props matching around
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
2fca1426ca06cabbe8f027f2dc9dee9c27560c76 31-Jul-2012 Behdad Esfahbod <behdad@behdad.org> [GSUB] Don't erase glyph classes if GDEF does not have glyph classes
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
7fbbf86efe675e4c038dfc5985c24bbc544620cd 31-Jul-2012 Behdad Esfahbod <behdad@behdad.org> [GSUB] Minor
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.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-gsubgpos-private.hh
e6f7479fe34fb4a7cada61d84c2ed70d1fd565c8 29-Jul-2012 Behdad Esfahbod <behdad@behdad.org> [GSUB] Simplify would-apply
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.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-gsubgpos-private.hh
0981068b75710397f08e0d2d776a0a2ea68d7117 28-Jul-2012 Behdad Esfahbod <behdad@behdad.org> [GSUB/GPOS] Reject Context/ChainContext lookups with zero input
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.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-gsubgpos-private.hh
49c5ec51444f27f33e1eb6aa1959c61b08fa89c0 24-Jul-2012 Behdad Esfahbod <behdad@behdad.org> Minor refactoring
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
c3e6fdc3791168cf2b4c9412e751f187d58faa42 24-Jul-2012 Behdad Esfahbod <behdad@behdad.org> [Indic] Improve check on ligatures

Only skip actual ligatures, not marks in-between ligature components.
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
d1af9e82e5309158ed334ab8e21f3a3b64b9540f 24-Jul-2012 Behdad Esfahbod <behdad@behdad.org> [GSUB/GPOS] Const correctness
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
89328581236a53ec16508b95db54c7e5315b178f 20-Jul-2012 Behdad Esfahbod <behdad@behdad.org> Minor
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
e72b360ac6381b549249b8836fa3e70b909d3437 19-Jul-2012 Behdad Esfahbod <behdad@behdad.org> Refactor / finish would_apply() operation

Untested.
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
60da763dfac96a7931d6e6bdef8b9973bd5209ab 16-Jul-2012 Behdad Esfahbod <behdad@behdad.org> [GSUB/GDEF] Guess glyph classes after substitution only if no GDEF

Brings down Khmer failures with Daun Penh font from 36% to 20%.
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.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-gsubgpos-private.hh
727135f3a9938c1ebd5b9f5015a46c7ccc8573c5 04-Jul-2012 Behdad Esfahbod <behdad@behdad.org> Towards templatizing common Lookup types
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
b12e2549cbcd4f1ef46e66c75533686ee560f59b 09-Jun-2012 Behdad Esfahbod <behdad@behdad.org> Minor
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
f19e0b0099ec73b8fedccacff4902403f5eabc42 09-Jun-2012 Behdad Esfahbod <behdad@behdad.org> Match input before backtrack

Makes more sense, optimization-wise.
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
ce47613889aa3ff9b0067d3e51ba63cfdb139adb 09-Jun-2012 Behdad Esfahbod <behdad@behdad.org> Micro-optimize

I know...
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
7b84c536c10ab90ed96a033d88e9ad232d46c5b8 09-Jun-2012 Behdad Esfahbod <behdad@behdad.org> 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.
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
e085fcf7ca302eb7802a032197c022819e7e7074 09-Jun-2012 Behdad Esfahbod <behdad@behdad.org> Remove unused buffer->replace_glyphs_be16
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.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-gsubgpos-private.hh
4b7192125ffd295091d6b3a0bdfca7011947c2ca 09-Jun-2012 Behdad Esfahbod <behdad@behdad.org> Minor
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
68b76121f83fc9b87dc84f03e8bef38d4332734d 08-Jun-2012 Behdad Esfahbod <behdad@behdad.org> Fix regressions introduced by sed. Ouch!

Introduced in 99c2695759a6af855d565f4994bbdf220570bb48.
Broken mark-mark and mark-ligature stuff.
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.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-gsubgpos-private.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-gsubgpos-private.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-gsubgpos-private.hh
6736f3c5b09af6a71935afc04248b033e171a9b2 13-May-2012 Behdad Esfahbod <behdad@behdad.org> Minor
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.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-gsubgpos-private.hh
28b9d502bb69a8045818d5f6113ded9c59a56bd7 13-May-2012 Behdad Esfahbod <behdad@behdad.org> Minor
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
5f131d3226131df440d7f36655e57f6effcae204 11-May-2012 Behdad Esfahbod <behdad@behdad.org> [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.
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
8fd83aaf6e50c2c25002c51fee26d82847a61769 11-May-2012 Behdad Esfahbod <behdad@behdad.org> [GSUB/GPOS] Fix wrong buffer access in backward skippy mask matching
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
203d71069c45048b6dd8fa22b61fd8f2c844b4f6 11-May-2012 Behdad Esfahbod <behdad@behdad.org> [GSUB/GPOS] Check all glyph masks when matching input
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.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-gsubgpos-private.hh
55fe2cf79b11d9a63ea33b3ee76bd0ebca345157 11-May-2012 Behdad Esfahbod <behdad@behdad.org> Make APPLY debug output print current index and codepoint

Yay!
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
98619ce4fa650c593b030d06d2f89fec83a10015 11-May-2012 Behdad Esfahbod <behdad@behdad.org> Minor
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
acea183e986dd378c6f95120fe0feb0586a8ef36 11-May-2012 Behdad Esfahbod <behdad@behdad.org> Add return annotation for APPLY
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.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-gsubgpos-private.hh
6f4553801729a06e506ffdde7b27c72780d4bb80 10-May-2012 Behdad Esfahbod <behdad@behdad.org> More massaging trace messaging
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
208109703c929428c684ddcf9310b8ba780c4c31 10-May-2012 Behdad Esfahbod <behdad@behdad.org> Better trace message support infrastructure

We have varargs in the trace interface now. To be used soon...
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.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-gsubgpos-private.hh
5caece67ab9eee322bdcdf6f4b607eadde297e56 24-Apr-2012 Behdad Esfahbod <behdad@behdad.org> Make closure() return void
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
5b93e8d94fb4c2474816304ae3f52e1c704882de 24-Apr-2012 Behdad Esfahbod <behdad@behdad.org> Update copyright headers
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
6a9be5bd3524dc3eb1e88d1063bde2e4d8b57011 24-Apr-2012 Behdad Esfahbod <behdad@behdad.org> Rename hb_glyph_map_t to hb_set_t
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
31081f7390e5130df72f89acc609ccab5dc77a48 23-Apr-2012 Behdad Esfahbod <behdad@behdad.org> Implement closure() for Context and ChainContext lookups
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
3e32cd9570fd8b09901fb790b80365ae425f681a 23-Apr-2012 Behdad Esfahbod <behdad@behdad.org> Minor
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
650ac00da3d2f988197393f34d40f0ba1a0fa093 23-Apr-2012 Behdad Esfahbod <behdad@behdad.org> Minor refactoring
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.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-gsubgpos-private.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-gsubgpos-private.hh
03408ce73d003ed4e58e3f8472f9445e72b86bee 19-Jan-2012 Behdad Esfahbod <behdad@behdad.org> Fix more possible buffer overruns

I have this function, but can't clean up it to my satisfaction.
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.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-gsubgpos-private.hh
506ffeb8e77a668fa305139582d215c32e46bb03 18-Jan-2012 Behdad Esfahbod <behdad@behdad.org> Further mark skippy fixes from Jonathan Kew

We should be in good shape now.
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
a4a48fe6d4f884a37e720430347d10dbe3562a79 18-Jan-2012 Behdad Esfahbod <behdad@behdad.org> Fix mark skipping regression

Ouch!
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
4ab97311541225906f6b737a2b47de252224cc09 17-Jan-2012 Behdad Esfahbod <behdad@behdad.org> Refactor mark skipping
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
370f03e9c69d98d735eafb7e72b13b17f42cbaa9 16-Jan-2012 Behdad Esfahbod <behdad@behdad.org> Minor
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.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-gsubgpos-private.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-gsubgpos-private.hh
c605bbbb6d4b2a98b1f40ca818760088d991f7d1 05-Aug-2011 Behdad Esfahbod <behdad@behdad.org> Remove C++ guards from source files

Where causing issues for people with MSVC.
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
cc06c243d8be3ebb1190281653d2dba504c16c0f 26-Jul-2011 Behdad Esfahbod <behdad@behdad.org> Streamline debugging infrastructure even more
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
651e8dd79ec8eaca5ab75a61e8ce961ff7bd26eb 25-Jul-2011 Behdad Esfahbod <behdad@behdad.org> 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.
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
18c42850c9327ab4479ff150660a76d4ff6f3e9c 25-Jul-2011 Behdad Esfahbod <behdad@behdad.org> 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.
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
d8787493c9aa420544096cef07c29a591a0c1a99 25-Jul-2011 Behdad Esfahbod <behdad@behdad.org> Minor
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
468e9cb25c9bc14781b7013e447d763f93bf76a3 22-Jul-2011 Behdad Esfahbod <behdad@behdad.org> Move buffer methods into the object
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
744970af4d884cc87ffa645804578fec8df674a9 17-May-2011 Behdad Esfahbod <behdad@behdad.org> [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.
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
abcfe9b59b4475eb02dd679aac4bc59616713b28 11-May-2011 Behdad Esfahbod <behdad@behdad.org> Remove hb_ot_layout_context_t, simplify code
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
2409d5f8d7dd8b535ce5ea29e933f7db27d33793 21-Apr-2011 Behdad Esfahbod <behdad@behdad.org> Update Copyright headers
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
cc1a8a938b4c13e76b58825a9e1951c4134e634a 06-Jan-2011 Behdad Esfahbod <behdad@behdad.org> Fix ChanContext backtrack matching with GPOS

Reported on mailing list by Keith Stribley and Khaled Hosny.
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
7eb875118dc31e9fb0e23c45985396a8bfe977e3 13-Dec-2010 Behdad Esfahbod <behdad@behdad.org> Mozilla Bug 618592 - freeze on typekit

Fix apply_lookup() for zero-input broken fonts.
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
300cb41417d40473268e3b4089bed24e9e77a753 17-Nov-2010 Behdad Esfahbod <behdad@behdad.org> Add XXX marks
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
11e3ec444a85fc72541823c2e98cc92c4ceb19af 03-Nov-2010 Behdad Esfahbod <behdad@behdad.org> Fix a few more "unreachable code" warnings
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
2304856340782c72cb30873f7907191dc359e921 03-Nov-2010 Behdad Esfahbod <behdad@behdad.org> Remove another couple lines of dead code
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
c2709119c8c610a0d4d71884a7d4fdba7cb65b72 28-Oct-2010 Behdad Esfahbod <behdad@behdad.org> Move things around some more
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
8c69e65abed961002d90024c92e18538c6516262 28-Oct-2010 Behdad Esfahbod <behdad@behdad.org> Rename lookup_flags to lookup_props since it's more than just flags
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
98370e89d1bff248737b482d129c2a4deb8bfd95 27-Oct-2010 Behdad Esfahbod <behdad@behdad.org> WIP removing external synthesized GDEF support and implementing it internally
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
8eeed7eddc789151cbffe62ed6bfd77612266bf1 27-Oct-2010 Behdad Esfahbod <behdad@behdad.org> Remove LONGTERMTODO item that I'll never fix
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
acdba3f90b232fc12fcb200dca2584481b339118 23-Jul-2010 Behdad Esfahbod <behdad@behdad.org> Prefer C linkage
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
f7acd8df5146155b51d6f50aeb04f54f3030c1c3 20-May-2010 Behdad Esfahbod <behdad@behdad.org> Do alternate glyph selection!

Kinda hand-wavy right now. Not tested.
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
36b73c80df91e96492357c6da945e081e9046a93 15-May-2010 Behdad Esfahbod <behdad@behdad.org> Shortening buffer accessors: rename buffer->in_pos to buffer->i
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
29427c5c51ac70aca53ed523fa5ddb3de4355fb0 15-May-2010 Behdad Esfahbod <behdad@behdad.org> Shortening buffer accessors: rename buffer->out_length to buffer->out_len
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
6960350be97f24e97140391025b56369c393a3df 15-May-2010 Behdad Esfahbod <behdad@behdad.org> Shortening buffer accessors: rename buffer->in_length to buffer->len
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
9d5e26df0877aa5b187764ba09bd7bf221e92968 15-May-2010 Behdad Esfahbod <behdad@behdad.org> Shortening buffer accessors: rename buffer->out_string to buffer->out_info
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
7e7007a1c9bf2c07a8369752126ece8fa6164248 15-May-2010 Behdad Esfahbod <behdad@behdad.org> Shortening buffer accessors: rename buffer->in_string to buffer->info
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
8e6b6bb2932946ebc7b01c3abf575b654c741e20 15-May-2010 Behdad Esfahbod <behdad@behdad.org> Merge buffer->out_pos and buffer->out_length
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
22f668eb9ad5f62d9fcd2e0c826ea78977687e5c 15-May-2010 Behdad Esfahbod <behdad@behdad.org> Remove the unused BUFFER macro
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
7e53ebe478597778c25c197ff9f0cb379f1d0043 15-May-2010 Behdad Esfahbod <behdad@behdad.org> Remove the IN_CURGLYPH() macro
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
d784da1923ff2ca093f8b0210449731d376b7513 15-May-2010 Behdad Esfahbod <behdad@behdad.org> Remove the IN_CURINFO() macro
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
281f59b4fb16f7c73767eb042a91f70f4c109b3a 15-May-2010 Behdad Esfahbod <behdad@behdad.org> Remove IN_INFO() and IN_NEXTGLYPH() macros
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
6e489cdf7623ac627d06d59a80ecea03ca97dc1b 15-May-2010 Behdad Esfahbod <behdad@behdad.org> Remove the IN_GLYPH() macro
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
27da6dd89a359f7ef340c646c4cb79373782261d 15-May-2010 Behdad Esfahbod <behdad@behdad.org> Remove OUT_GLYPH() and OUT_INFO() macros
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
cc6ae7ff91eeb93bef153f331ed02b500062f90e 15-May-2010 Behdad Esfahbod <behdad@behdad.org> Fix lookahead matching. Oops!
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
d7cfb3b2d1dd2e9fdae2b3e540bbe313660895e8 13-May-2010 Behdad Esfahbod <behdad@behdad.org> s/\<context\>/c/g
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
1d5e78013696b10751d8a35027619e81978e1312 13-May-2010 Behdad Esfahbod <behdad@behdad.org> Add a few other buffer methods
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
22da7fd94d6318c52df69d70470a85464ffc533d 13-May-2010 Behdad Esfahbod <behdad@behdad.org> Rename a few files to be C++ sources

In anticipation for buffer revamp coming.
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
458ecbb60bb7e8e32aca62a562586d921d5396aa 11-May-2010 Behdad Esfahbod <behdad@behdad.org> Fix tracing order
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
dacebcadae36b35531d635d81df2afb937677b7a 11-May-2010 Behdad Esfahbod <behdad@behdad.org> Simplify unions
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
0eb9fc6e37935707dba2bf4b3705de2161a08cb7 11-May-2010 Behdad Esfahbod <behdad@behdad.org> Change DEFINE_SIZE_VAR to DEFINE_SIZE_ARRAY
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
596e471aa5053d955fb5d5b5923088c8814469b1 11-May-2010 Behdad Esfahbod <behdad@behdad.org> Cleanup DEFINE_SIZE_VAR2
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
b961518b9611471ff7060e97686e5625974847eb 11-May-2010 Behdad Esfahbod <behdad@behdad.org> Simplify array access
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
ed07422c33bbb52ff4d79e65986171e3f07697d8 11-May-2010 Behdad Esfahbod <behdad@behdad.org> Further cleanup of sizeof
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
40cbefe858192531ed64dd51d402f7ca7b8153a3 10-May-2010 Behdad Esfahbod <behdad@behdad.org> Remove unnecessary casts
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
bea34c7cbb583cf7660776e95cab3171590b8427 10-May-2010 Behdad Esfahbod <behdad@behdad.org> Further cleanup of DEFINE_SIZE
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
b3651231bf80bb7009214547a75ed90e21815c68 10-May-2010 Behdad Esfahbod <behdad@behdad.org> Remove ASSERT_SIZE in favor of the safer DEFINE_SIZE_STATIC
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
569da92bc6956f42d9b2d65c784e184fb6380efe 10-May-2010 Behdad Esfahbod <behdad@behdad.org> Cleanup ASSERT_SIZE_VAR
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
e45d3f86f9a5f3d29ca35a282de7f98e702878f9 07-May-2010 Behdad Esfahbod <behdad@behdad.org> Start cleaning up get_size()

So we know when the size is static and when dynamic.
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
b157617644d1e38f680163889d1dc2e2f64d9ba3 06-May-2010 Behdad Esfahbod <behdad@behdad.org> Remove the last of SANITIZE macros: SANITIZE_SELF
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
4f252fedc7136c66a9d7fbcb2978581986da6227 06-May-2010 Behdad Esfahbod <behdad@behdad.org> Remove SANITIZE macro
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
41a93d2c1ff175ef06328a99983577459c2d34b0 06-May-2010 Behdad Esfahbod <behdad@behdad.org> Remove SANITIZE_WITH_BASE
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
f5fab0c71837371cce32dc3e9edca1ccb8d44e29 06-May-2010 Behdad Esfahbod <behdad@behdad.org> Remove SANITIZE_MEM
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
1cd1e117d060d38e314618b627d7663cb01ed584 06-May-2010 Behdad Esfahbod <behdad@behdad.org> Remove SANITIZE_ARRAY
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
583d7f9586ce69754f1354aa3895e6d732a0c2ce 05-May-2010 Behdad Esfahbod <behdad@behdad.org> Cosmetic
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
705e215268aa95c2bc6af8af9b48b72b690ec1f7 05-May-2010 Behdad Esfahbod <behdad@behdad.org> Minor
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
4169710911450e0f9bc045fe279bfc8ba9e8457c 05-May-2010 Behdad Esfahbod <behdad@behdad.org> Simplify chaining
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
1911b9d21b2b7b6b8219ce6c888540e3a60aa9c3 05-May-2010 Behdad Esfahbod <behdad@behdad.org> Remove APPLY_ARG_DEF and APPLY_ARG
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
6c42cddfe53a1c664081862bb9a3e1c38d05a823 05-May-2010 Behdad Esfahbod <behdad@behdad.org> Port apply to use hb_trace_t
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
969c9705ae0c64577c3f69f5300fec975f952e1f 05-May-2010 Behdad Esfahbod <behdad@behdad.org> Move context_length into apply_context
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
94a23aaeca39c662614037ef887412249bdc8d49 05-May-2010 Behdad Esfahbod <behdad@behdad.org> Move buffer into apply_context
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
63493f956dca519df49da0a6badc3cb0a1b92779 05-May-2010 Behdad Esfahbod <behdad@behdad.org> Move layout_context into apply_context
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
fff9aa263d1daf7c5117cf383fafa5043d5eb5af 05-May-2010 Behdad Esfahbod <behdad@behdad.org> Minor
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
39840474afd2cda9ff576c08aff9c87095496c27 05-May-2010 Behdad Esfahbod <behdad@behdad.org> Remove SANITIZE_ARG_DEF and SANITIZE_ARG
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
bb029af943faa9905e652d58856998687e60c31d 04-May-2010 Behdad Esfahbod <behdad@behdad.org> Remove SANITIZE_THIS
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
4d4cce96266b777a01cec03e8766dc8c0b159351 04-May-2010 Behdad Esfahbod <behdad@behdad.org> Remove SANITIZE_THIS2
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
26bfcb64e473c40e439d6efbe974781dada28eca 04-May-2010 Behdad Esfahbod <behdad@behdad.org> Cosmetic
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
be74284673a1944e0f1884e861c3fe8f9855172c 04-May-2010 Behdad Esfahbod <behdad@behdad.org> Remove SANITIZE_THIS3
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
64d3fc8d0dada673245cc8c0b1c12cd849b30997 04-May-2010 Behdad Esfahbod <behdad@behdad.org> Cosmetic: Rename HB_LIKELY/HB_UNLIKELY to likely/unlikely
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
33d13fdda99acaeffa9600737e8870278d053ebe 29-Apr-2010 Behdad Esfahbod <behdad@behdad.org> Rename HB_GNUC_UNUSED -> HB_UNUSED
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
7d3a126334f8e6f6441561c1bb592bd3fa7a2c5c 29-Apr-2010 Behdad Esfahbod <behdad@behdad.org> Define HB_FUNC for portability to non-gcc
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
6617eada95928457a25e29f793f1a93c6b3edaec 29-Apr-2010 Behdad Esfahbod <behdad@behdad.org> Rename apply_context -> context
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
b4c7fab762935b9c182b3e2ac3415f29fc6a5558 29-Apr-2010 Behdad Esfahbod <behdad@behdad.org> Rename
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
1376fb7bf9ef07970f0ba13dc64d6a8ab8252762 29-Apr-2010 Behdad Esfahbod <behdad@behdad.org> [apply] Use a context object to reduce number of parameters passed around
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
173fde7087c0db3e99409f1119530477c14072f5 29-Apr-2010 Behdad Esfahbod <behdad@behdad.org> Further simplify tracing
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
bc200457430c083914a64bf4b056153506749610 29-Apr-2010 Behdad Esfahbod <behdad@behdad.org> Simplify trace code
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
807c5b03a2251a3c29a520852639421783101b55 29-Apr-2010 Behdad Esfahbod <behdad@behdad.org> [sanitize] Make debug code always available to the compiler

Such that we don't break debug build all the time.
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
74e313c016704e1d9157c2763691c4151f049dfc 28-Apr-2010 Behdad Esfahbod <behdad@behdad.org> [gsubgpos] Make debug code always available to the compiler

Such that we don't break debug build all the time.
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
a92f0fda7fee9d60b399b8865541bf73e6e30141 28-Apr-2010 Behdad Esfahbod <behdad@behdad.org> Fix debug build
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
efb324a46ff64adb4ec8612b4089e8daff1e6d8e 23-Apr-2010 Behdad Esfahbod <behdad@behdad.org> Remove GET_FOR_DATA macros

The major-version check is now handled by sanitize. If major
doesn't match, we reject and fall back to the Null object.
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
d632ec4000b3079150e6424e88a3ab7509f7445c 23-Apr-2010 Behdad Esfahbod <behdad@behdad.org> Cosmetic
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
a3263aa773ad7a914496792466c69047048b093c 23-Apr-2010 Behdad Esfahbod <behdad@behdad.org> Convert the last set of cast macros to templates
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
3b2c2df41b90f2a1d9e33b3dc15a92cff58a689a 22-Apr-2010 Behdad Esfahbod <behdad@behdad.org> Cleanup Extension sanitize()
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
1856184b93760a1a54fb1a3c54281bb252df7ce6 22-Apr-2010 Behdad Esfahbod <behdad@behdad.org> Fail sanitize on major version mismatch

We handle major-version differences via get_for_data(), so sanitize
should never see a major version mismatch.
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
9fc8684fd85ef6ec82b3b54323761bbdd4c3d891 22-Apr-2010 Behdad Esfahbod <behdad@behdad.org> Cleanup ContextFormat3 sanitize
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
81f2af40f9afd5bb9695018e6baddcd4aa3361c1 22-Apr-2010 Behdad Esfahbod <behdad@behdad.org> Simplify Extension offset now that our int types have no alignment
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
c755cb3e3ac55156d0d2ec05adea7a650b97cc41 22-Apr-2010 Behdad Esfahbod <behdad@behdad.org> Change header comment
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
0dfcc13a4668cdd2c2ebdd5f4a7540a51222cf2f 22-Apr-2010 Behdad Esfahbod <behdad@behdad.org> Rename ConstCharP to CharP (overloaded now)
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
2cb08458f674301cde9d962c13911035a251f7c5 22-Apr-2010 Behdad Esfahbod <behdad@behdad.org> Rename const_array() to array() (overloaded)
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
e961c86c579fd98ee604342a9c70c4e7f8d4f220 21-Apr-2010 Behdad Esfahbod <behdad@behdad.org> Convert NEXT() and ARRAY_AFTER() macros to templates
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
198facdc55756cb48cdfb8ba7fa50916fac54ec3 21-Apr-2010 Behdad Esfahbod <behdad@behdad.org> Use templates for const char * casts
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
1922ffe7013c46014803a9f18c42e193a25b1968 21-Apr-2010 Behdad Esfahbod <behdad@behdad.org> Const correctness
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
0e206de98621ed8a55824b42e9e6bf320f4c6cc8 19-Apr-2010 Behdad Esfahbod <behdad@behdad.org> Fix warnings
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
d5943407a4251cb947fbfc130c0facb2f6216bd6 19-Apr-2010 Behdad Esfahbod <behdad@behdad.org> Fix debug build
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
4b8487d83e0c10076a6c573cb3487790ce366607 16-Mar-2010 Behdad Esfahbod <behdad@behdad.org> Fix the mystery bug!

A couple bugs joined forces to exhibit the mystery behavior of
crashes / infinite loops on OS X / wrong kerning / invalid memory
access. Pooh!

The bugs were involved:

- Wrong pointer math with ValueRecord in PairPosFormat1

- Fallout from avoiding flex arrays, code not correctly updated
to remove sizeof() usage.

We strictly never use sizeof() directly now. And the PairPos code
is cleaned up. Should fix them all. Bugs are:

Bug 605655 - Pango 1.26.2 introduces kerning bug
Bug 611229 - Pango reads from uninitialized memory
Bug 593240 - (pangoosx) Crash / infinite loop with Mac OS X

We were also doing wrong math converting Device adjustments to
hb_position_t. Fallout from FreeType days. Should shift 16, not
6. Fixed that too.

There's still another bug: we don't sanitize Device records
referenced from value records. Fixing that also.
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
d0351314cd29fbdf0efb5c7f89a569648f7a7fc7 05-Nov-2009 Behdad Esfahbod <behdad@behdad.org> Include stdio.h if debugging
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
e21899bc3593aa0d3adf64cee21c5de2ea219783 04-Nov-2009 Behdad Esfahbod <behdad@behdad.org> Fix array query API

The array query APIs now all do:

- Return the total number of items
- Take a start_offset, such that individual items can be fetched
- The _count IN/OUT variable always has number of items written
into the array upon return of the function
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
d3480ba37fbb5d4be75b094060f5b2f1ce98fb53 03-Nov-2009 Behdad Esfahbod <behdad@behdad.org> Don't use zero-sized arrays

It's not part of the standard and MSVC doesn't like it. It makes the code
a lot less elegant than it used to be, but I think it should work now.
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
52e9a71d578c5171bbb0f4bfc1b70841c3270328 21-Sep-2009 Behdad Esfahbod <behdad@behdad.org> [HB] Add comment
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
f9c0a2dad09cd168fb28cdee09b4303f307ea56d 21-Sep-2009 Behdad Esfahbod <behdad@behdad.org> [HB] Fix apply_lookup() loop

Part of Bug 595539 - Regressions in rendering certain Thai sequences with
OpenType font
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
c0ab43c05833e8fc06d770a89370bec58a627e74 21-Sep-2009 Behdad Esfahbod <behdad@behdad.org> [HB] Fix bug in chain_context_lookup() invocations

Part of Bug 595539 - Regressions in rendering certain Thai sequences with
OpenType font
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
3e2401f6c53d2b047954d75c37aef5e5e7cdc51a 28-Aug-2009 Behdad Esfahbod <behdad@behdad.org> [HB] Rename DEBUG to TRACE where appropriate
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
0535b50f436f3dac85e6df1761957f86c2bd7213 28-Aug-2009 Behdad Esfahbod <behdad@behdad.org> [HB] Add GSUB/GPOS tracing
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
20b035dad41247076815a2bbb0346d63058b322f 11-Aug-2009 Behdad Esfahbod <behdad@behdad.org> [HB] Put C++ inline's back

Apparetly in C++, inline means a totally different thing.
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
284899ccbe79fda7405ab09d3092fc25fd89e810 10-Aug-2009 Behdad Esfahbod <behdad@behdad.org> [HB] Add a NEXT() macro
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
bff3c0fde5da04a70d1f7aeeb9fa2a75fe5c07f6 08-Aug-2009 Behdad Esfahbod <behdad@behdad.org> [HB] Remove clumsy macros and improve API
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
71a8344a5eeaa34e31d53138cf3bbe30b819f83c 06-Aug-2009 Behdad Esfahbod <behdad@behdad.org> [HB] Remove a few 'inline's, though the compiler mostly ignores them
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
b28815c1f6e46d38471cacbc31248ca6fda8c4d1 05-Aug-2009 Behdad Esfahbod <behdad@behdad.org> [HB] Add sanitize debugging facilities
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
a328d66e6a8122f7d4d71941449d4d0136203e08 05-Aug-2009 Behdad Esfahbod <behdad@behdad.org> [HB] Minor cleanup
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
e49a84c9e37c08808880e74e94c8160731ababa1 04-Aug-2009 Behdad Esfahbod <behdad@behdad.org> [HB] GDEF sanitize()
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
18939487d04dba86880b0af8e89cf2cc44a431f5 04-Aug-2009 Behdad Esfahbod <behdad@behdad.org> [HB] Fix Extension sanitize()
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
2b5a59c277f4c5bf7aac9a9005054763e322e02d 04-Aug-2009 Behdad Esfahbod <behdad@behdad.org> [HB] More cast cleanup
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
196598bbccff08415ff5192314cba044df258cad 04-Aug-2009 Behdad Esfahbod <behdad@behdad.org> [Hb] Use reinterpret casts instead of direct casts to char *
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
cd3827ee567612c5500206b62840702fc956e0f5 04-Aug-2009 Behdad Esfahbod <behdad@behdad.org> [HB] More sanitize()
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
70de50c11ed7037b20eb6814ff60f6e32a9944e4 04-Aug-2009 Behdad Esfahbod <behdad@behdad.org> [HB] Start sanitize()
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
23c86aa0009324433e78fcd0c47f2c0ff14b1949 04-Aug-2009 Behdad Esfahbod <behdad@behdad.org> [HB] Use face_t directly instead of ot_layout_t
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh
5f5b24f99f52bbc922e238b65c06061ba07c8548 03-Aug-2009 Behdad Esfahbod <behdad@behdad.org> [OT] Rename C++ header files from *.h to *.hh
/external/harfbuzz_ng/src/hb-ot-layout-gsubgpos-private.hh