History log of /external/harfbuzz_ng/src/hb-ot-map-private.hh
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
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-map-private.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-map-private.hh
a7e8bbb080aef318b16750ca1771d0d3af3d0ae9 23-Dec-2013 Behdad Esfahbod <behdad@behdad.org> Minor fraction mask setting improvement
/external/harfbuzz_ng/src/hb-ot-map-private.hh
014f369ec98fdbb3e7a2ef68aea2c4e017e7b680 22-Dec-2013 Behdad Esfahbod <behdad@behdad.org> Add XXX note
/external/harfbuzz_ng/src/hb-ot-map-private.hh
bac1dd6a0ff4d4fae4254506d38ae662b7e9dda7 03-May-2013 Behdad Esfahbod <behdad@behdad.org> [OTLayout] Refactor a bit more
/external/harfbuzz_ng/src/hb-ot-map-private.hh
3276c354daaff3acabecff11f8e4b5c54d53fc25 02-May-2013 Behdad Esfahbod <behdad@behdad.org> [OTLayout] Minor refactoring
/external/harfbuzz_ng/src/hb-ot-map-private.hh
ea86efa486a5076e9bf844239bccf86d67577f88 02-May-2013 Behdad Esfahbod <behdad@behdad.org> Minor
/external/harfbuzz_ng/src/hb-ot-map-private.hh
2265be0a620bc76ab65f12fedde67791beb51314 02-May-2013 Behdad Esfahbod <behdad@behdad.org> Minor
/external/harfbuzz_ng/src/hb-ot-map-private.hh
893f57b32f01da3411b5596d59170bc340e9fa39 21-Apr-2013 Behdad Esfahbod <behdad@behdad.org> Minor renaming
/external/harfbuzz_ng/src/hb-ot-map-private.hh
8ac3c9c0b6b8e76bce282825b9bb706c0c78c2a6 21-Apr-2013 Behdad Esfahbod <behdad@behdad.org> Rename "pause" to "stage"

The compile() function is starting to become illegible...
/external/harfbuzz_ng/src/hb-ot-map-private.hh
06a44e859328f5f1e2f6034e711b474116d22e22 21-Apr-2013 Behdad Esfahbod <behdad@behdad.org> Remove unneeded code

We always push a pause at the end such that each lookup falls in exactly
one pause_map_t. Now, only if I can find a better name for that...
/external/harfbuzz_ng/src/hb-ot-map-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-map-private.hh
41732f1fe3ce856d8bb95850635034537b6ba047 28-Feb-2013 Behdad Esfahbod <behdad@behdad.org> [Indic] Help compiler put indic_features table in .rodata

The overridden "or" operator was preventing the flag expression from
being const, and putting the table in .data instead or .rodata.
/external/harfbuzz_ng/src/hb-ot-map-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-map-private.hh
ec5448667b30ad662401c2b4f5fc0da524c013fd 14-Feb-2013 Behdad Esfahbod <behdad@behdad.org> Add hb_ot_map_feature_flags_t

Code cleanup. No (intended) functional change.
/external/harfbuzz_ng/src/hb-ot-map-private.hh
e7ffcfafb1108801ac504f18f820e497226bf07f 14-Feb-2013 Behdad Esfahbod <behdad@behdad.org> Clean-up add_bool_feature
/external/harfbuzz_ng/src/hb-ot-map-private.hh
f30641038ba96e83950729b1bd9d86d2e98e46c5 16-Nov-2012 Behdad Esfahbod <behdad@behdad.org> Bunch of independent changes (ouch)

API additions:

hb_segment_properties_t
HB_SEGMENT_PROPERTIES_DEFAULT
hb_segment_properties_equal()
hb_segment_properties_hash()

hb_buffer_set_segment_properties()
hb_buffer_get_segment_properties()

hb_ot_layout_glyph_class_t

hb_shape_plan_t
hb_shape_plan_create()
hb_shape_plan_create_cached()
hb_shape_plan_get_empty()
hb_shape_plan_reference()
hb_shape_plan_destroy()
hb_shape_plan_set_user_data()
hb_shape_plan_get_user_data()
hb_shape_plan_execute()

hb_ot_shape_plan_collect_lookups()

API changes:

Rename hb_ot_layout_feature_get_lookup_indexes() to
hb_ot_layout_feature_get_lookups().

New header file:

hb-shape-plan.h

And a bunch of prototyped but not implemented stuff. Coming soon.
(Tests fail because of the prototypes right now.)
/external/harfbuzz_ng/src/hb-ot-map-private.hh
851784f8372004e0a40b698c0cdc2d7db8629aa2 15-Nov-2012 Behdad Esfahbod <behdad@behdad.org> Improve shaper selection
/external/harfbuzz_ng/src/hb-ot-map-private.hh
5ab3855f8106158ee7e68797e8c35e63e9216e5d 13-Nov-2012 Behdad Esfahbod <behdad@behdad.org> Choose shaper based on chosen OT script tag

For Arabic and Indic shapers, if the font doesn't have a script system
for the script, use default shaper.

Make an exception for Arabic script since we have fallback logic for
that one.
/external/harfbuzz_ng/src/hb-ot-map-private.hh
6fddf2d7397411bba8a23ac535e8b851495d3105 13-Nov-2012 Behdad Esfahbod <behdad@behdad.org> Refactoring ot-map building to make chosen script available earlier
/external/harfbuzz_ng/src/hb-ot-map-private.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-map-private.hh
87b75d0a4aa03fe7a03e3bf7baf8ece131aec1bb 05-Sep-2012 Behdad Esfahbod <behdad@behdad.org> [OT] Allow adding features with fallback implementation
/external/harfbuzz_ng/src/hb-ot-map-private.hh
8bb5deba9630d35878eb6edb4643ecfabf99f15f 02-Aug-2012 Behdad Esfahbod <behdad@behdad.org> [OT] Pipe shape_plan down to pause_callbacks
/external/harfbuzz_ng/src/hb-ot-map-private.hh
3e38c0f2886c38d2f0a9d80a97a36edf2479d2c7 02-Aug-2012 Behdad Esfahbod <behdad@behdad.org> More massaging
/external/harfbuzz_ng/src/hb-ot-map-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-map-private.hh
610e5e8f713bb2a68939b72cb2b801a7aaede4f9 02-Aug-2012 Behdad Esfahbod <behdad@behdad.org> [Indic] Streamline feature would_apply()

Comes with some 10% speedup for Devanagari even!
/external/harfbuzz_ng/src/hb-ot-map-private.hh
f860366456d9e59b139a940da6d89c3c4fb9e96e 30-Jul-2012 Behdad Esfahbod <behdad@behdad.org> [OT] Gain back some lost speed
/external/harfbuzz_ng/src/hb-ot-map-private.hh
f055442716ec7543ed156d4789955b19c11a5255 19-Jul-2012 Behdad Esfahbod <behdad@behdad.org> [Indic] Lookup consonant position in the font

Fixes most failures of Oriya, and improves others a bit.
/external/harfbuzz_ng/src/hb-ot-map-private.hh
1827dc208c867e433a95237d1ed3fc7a73d1d9a7 24-Apr-2012 Behdad Esfahbod <behdad@behdad.org> Add hb_ot_shape_glyphs_closure()

Experimental API for now.
/external/harfbuzz_ng/src/hb-ot-map-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-map-private.hh
d2984a241e4819474d827b1dd5d4b6d76596b3a5 23-Apr-2012 Behdad Esfahbod <behdad@behdad.org> Add map->substitute_closure()
/external/harfbuzz_ng/src/hb-ot-map-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-map-private.hh
8336186a52813b53e90b4399dc462d55750e2d37 05-Aug-2011 Behdad Esfahbod <behdad@behdad.org> Zero map objects
/external/harfbuzz_ng/src/hb-ot-map-private.hh
f5bc2725cb892264ba223e0a49f7fd2c622a0730 31-Jul-2011 Behdad Esfahbod <behdad@behdad.org> [Indic] For old-style Indic tables, move Halant around

In old-style Indic OT standards, the post-base Halants are moved after
their base. Emulate that by moving first post-base Halant to
post-last-consonant.

Brings test-shape-complex failures down from 88 to 54. Getting there!
/external/harfbuzz_ng/src/hb-ot-map-private.hh
c47a31fb4793b825f4be57e9cb1b10db352b9512 31-Jul-2011 Behdad Esfahbod <behdad@behdad.org> [OT] Save chosen script tag
/external/harfbuzz_ng/src/hb-ot-map-private.hh
359dcaa0d33271025ca42a5f54ecbac7ae3b56d3 08-Jul-2011 Behdad Esfahbod <behdad@behdad.org> Update copyright headers
/external/harfbuzz_ng/src/hb-ot-map-private.hh
d8d0c480c85246a74d47dd5297019c7e39391ab0 08-Jul-2011 Behdad Esfahbod <behdad@behdad.org> Refactor some code common to GSUB and GPOS
/external/harfbuzz_ng/src/hb-ot-map-private.hh
b70c96dbe41d6512b80fe3d966a1942e1ef64a4b 08-Jul-2011 Behdad Esfahbod <behdad@behdad.org> Enable applying GSUB/GPOS features in multiple segments

Fixes https://bugzilla.mozilla.org/show_bug.cgi?id=644184
among others.

Shapers now can request segmented feature application by calling
add_gsub_pause() or add_gpos_pause(). They can also provide a
callback to be called at the pause. Currently the Arabic shaper
uses pauses to enforce certain feature application. The Indic
shaper can use the same facility to pause and do reordering in the
callback.
/external/harfbuzz_ng/src/hb-ot-map-private.hh
f6d7a9bb4c19e605f1f16d9ca40adefba138c37e 07-Jul-2011 Behdad Esfahbod <behdad@behdad.org> Shuffle code around
/external/harfbuzz_ng/src/hb-ot-map-private.hh
b9452bfc1696457e156e79037c863903da5454fc 14-Jun-2011 Behdad Esfahbod <behdad@behdad.org> Fix compiler warnings with -pedantic
/external/harfbuzz_ng/src/hb-ot-map-private.hh
51881a61ca96c3328e2d92927a5a61e60997a429 28-May-2011 Behdad Esfahbod <behdad@behdad.org> Shrink code size
/external/harfbuzz_ng/src/hb-ot-map-private.hh
90645fb24bcbb78183576d3641a99560d87e49f2 28-May-2011 Behdad Esfahbod <behdad@behdad.org> [OT] Separate map_builder from the actual map

Respectively, separate planner from the actual plan.
/external/harfbuzz_ng/src/hb-ot-map-private.hh
6a7ac79e26e85f6781186cf708a12825c0857324 11-May-2011 Behdad Esfahbod <behdad@behdad.org> Plug leaks
/external/harfbuzz_ng/src/hb-ot-map-private.hh
265ac614ea6d26041c7d64739098b76a82bbc4f4 05-May-2011 Behdad Esfahbod <behdad@behdad.org> Replace fixed-size lookup_maps array with hb_array_t
/external/harfbuzz_ng/src/hb-ot-map-private.hh
6843569d2c70c1771ce964e3d1a4cf91e14e7687 05-May-2011 Behdad Esfahbod <behdad@behdad.org> Replace fixed-size feature_maps array with hb_array_t
/external/harfbuzz_ng/src/hb-ot-map-private.hh
44b0a4d2fc62689fc56ef57f412b4bb1e439a614 05-May-2011 Behdad Esfahbod <behdad@behdad.org> Replace fixed-size feature_infos array with hb_array_t
/external/harfbuzz_ng/src/hb-ot-map-private.hh
72657e4ce757dcb055a8db7291b68f96f0d34bfb 03-May-2011 Behdad Esfahbod <behdad@behdad.org> [API] Make hb_font_create() take a face and reference it
/external/harfbuzz_ng/src/hb-ot-map-private.hh
2409d5f8d7dd8b535ce5ea29e933f7db27d33793 21-Apr-2011 Behdad Esfahbod <behdad@behdad.org> Update Copyright headers
/external/harfbuzz_ng/src/hb-ot-map-private.hh
39dede9ffffe732f78cbd092ccb3b48d77ddd66d 13-Oct-2010 Behdad Esfahbod <behdad@behdad.org> Make sure boolean features always use value=1

Previously boolean features turned on the entire feature mask. This is
wrong if feature is Alternate and user has provided values bigger than one.
Though, I don't think other engines support such corner cases.
/external/harfbuzz_ng/src/hb-ot-map-private.hh
852912fc2db06b6183a2dc87c45ec1b563063572 13-Oct-2010 Behdad Esfahbod <behdad@behdad.org> Fix applying default-value for features

Previously if a default global feature was overrided by a non-global
user feature, we were not setting any default mask for the feature,
essentially disabling the feature by default. Fix that.
/external/harfbuzz_ng/src/hb-ot-map-private.hh
49baa1f69efb0e3c62e45bd59dd88459a84bf390 12-Oct-2010 Behdad Esfahbod <behdad@behdad.org> Add hb_ot_complex_shaper_t stuff and start hooking Arabic shaper up
/external/harfbuzz_ng/src/hb-ot-map-private.hh
895fb5d364e7ae5d9d2e34b9f68b8651804369ef 12-Oct-2010 Behdad Esfahbod <behdad@behdad.org> Refactor, in a different direction
/external/harfbuzz_ng/src/hb-ot-map-private.hh
d2ba016ca1ba7489537768b619980d5159b5870c 12-Oct-2010 Behdad Esfahbod <behdad@behdad.org> More refactoring
/external/harfbuzz_ng/src/hb-ot-map-private.hh
aa9c450bb2d7c3c9e36ea32e3558250391a0582d 09-Oct-2010 Behdad Esfahbod <behdad@behdad.org> Enable 'rtlm' mirroring
/external/harfbuzz_ng/src/hb-ot-map-private.hh
36925f695d349a53d52ecc3a58f18240a6977463 09-Oct-2010 Behdad Esfahbod <behdad@behdad.org> Rename hb_mask_allocator_t to hb_ot_map_t

hb_ot_plan_t may be a better name, donno.
/external/harfbuzz_ng/src/hb-ot-map-private.hh
5a2b0b3878cd9c62121bb4fd6344e102a9ee1825 09-Oct-2010 Behdad Esfahbod <behdad@behdad.org> Add hb-ot-map.cc
/external/harfbuzz_ng/src/hb-ot-map-private.hh
ecc4550ed7bc900a61081edfbcd0ad09cbf29b36 09-Oct-2010 Behdad Esfahbod <behdad@behdad.org> Fix feature overriding
/external/harfbuzz_ng/src/hb-ot-map-private.hh
8f08c3275040870a645ef034a38d30c05c619f21 09-Oct-2010 Behdad Esfahbod <behdad@behdad.org> Minor cleanup
/external/harfbuzz_ng/src/hb-ot-map-private.hh
4924affe0f0adf75f2a0e2137a71206b0576d63f 09-Oct-2010 Behdad Esfahbod <behdad@behdad.org> Add hb-ot-map-private.hh
/external/harfbuzz_ng/src/hb-ot-map-private.hh