History log of /external/harfbuzz_ng/src/hb-ot-shape-private.hh
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
a82165248cddb720576464b8e59a986491d3f2e9 18-Feb-2014 Behdad Esfahbod <behdad@behdad.org> Only do fallback Hebrew composition if no GPOS 'mark' available

Apparently some modern fonts have proper GPOS mark positioning
tables, but undesirable precomposed forms! See thread
"Hebrew composition to presentation forms" and:

http://tex.stackexchange.com/questions/156775/having-trouble-with-vowel-positioning-in-ezra-sil-xelatex

Test case: U+fb1d,05d9,05b4
/external/harfbuzz_ng/src/hb-ot-shape-private.hh
5497a8a274a7066c0230c850baadef681785c8bb 23-Dec-2013 Behdad Esfahbod <behdad@behdad.org> Cache various masks on the shape plan
/external/harfbuzz_ng/src/hb-ot-shape-private.hh
f47b9219546edcfdeb3991ee27f6d9ba455c3e08 02-Dec-2013 Behdad Esfahbod <behdad@behdad.org> Fix unsafe shape_plan->face dependency
/external/harfbuzz_ng/src/hb-ot-shape-private.hh
2265be0a620bc76ab65f12fedde67791beb51314 02-May-2013 Behdad Esfahbod <behdad@behdad.org> Minor
/external/harfbuzz_ng/src/hb-ot-shape-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-shape-private.hh
6b1e3502e23c110dd810f854ba021f83baab1548 13-Feb-2013 Behdad Esfahbod <behdad@behdad.org> Remember ZWNJ

To be used in upcoming changes.
/external/harfbuzz_ng/src/hb-ot-shape-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-shape-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-shape-private.hh
cf3afd8979b1db76d437f428cbd51cb363e0d18e 26-Oct-2012 Behdad Esfahbod <behdad@behdad.org> Rename and revamp is_zero_width() to be is_default_ignorable()

That's really the logic desired. Except that MONGOLIAN VOWEL SEPARATOR
is not default_ignorable but it really should be. Reported to Unicode.

Based on suggestion from Konstantin Ritt.
/external/harfbuzz_ng/src/hb-ot-shape-private.hh
3992b5ec4cb43d114d87ff7ee2b992bcf819c9cd 02-Sep-2012 Behdad Esfahbod <behdad@behdad.org> Move code around
/external/harfbuzz_ng/src/hb-ot-shape-private.hh
cd0c6e148f6d078b364370cb2f808b793b921be2 10-Aug-2012 Behdad Esfahbod <behdad@behdad.org> Shuffle buffer variable allocations around

To room for more allocations, coming.
/external/harfbuzz_ng/src/hb-ot-shape-private.hh
a8c6da90f4c6e8d27a3a1b758a55476776d9f750 02-Aug-2012 Behdad Esfahbod <behdad@behdad.org> [OT] Add per-complex-shaper shape_plan data

Hookup some Indic data to it. More to come.
/external/harfbuzz_ng/src/hb-ot-shape-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-shape-private.hh
16c6a27b4bffc19026944c7bea9cf0a3a8ff1d8f 02-Aug-2012 Behdad Esfahbod <behdad@behdad.org> [OT] Port complex_shaper to planner/plan
/external/harfbuzz_ng/src/hb-ot-shape-private.hh
5393e3a62ba09fd7bcf3767b36225c8f49badb9d 02-Aug-2012 Behdad Esfahbod <behdad@behdad.org> [OT] Minor refactoring
/external/harfbuzz_ng/src/hb-ot-shape-private.hh
208f70f0553d73d2908b21b9552298029482a8b9 01-Aug-2012 Behdad Esfahbod <behdad@behdad.org> Inline Unicode callbacks internally
/external/harfbuzz_ng/src/hb-ot-shape-private.hh
693918ef8541014a5ef7dfb91c6ea0ae36d9c368 31-Jul-2012 Behdad Esfahbod <behdad@behdad.org> [OT] Streamline complex shaper enumeration

Add a shaper class struct.
/external/harfbuzz_ng/src/hb-ot-shape-private.hh
e82061e8db922f0ddbefd5a184ee2f9f967b9a05 27-Jul-2012 Behdad Esfahbod <behdad@behdad.org> Move ot shaper completely to shape_plan
/external/harfbuzz_ng/src/hb-ot-shape-private.hh
027857d0412477fb4427dcb8a8c45287c272e143 26-Jul-2012 Behdad Esfahbod <behdad@behdad.org> Start adding a unified shaper access infrastructure

Add global shape_plan. Unused so far.
/external/harfbuzz_ng/src/hb-ot-shape-private.hh
d1deaa2f5bd028e8076265cba92cffa4fa2834ac 09-May-2012 Behdad Esfahbod <behdad@behdad.org> Replace zerowidth invisible chars with a zero-advance space glyph

Like Uniscribe does.
/external/harfbuzz_ng/src/hb-ot-shape-private.hh
683b503f30bba29d57a93d7e8ac7138c2e7f49f1 15-Apr-2012 Behdad Esfahbod <behdad@behdad.org> Minor
/external/harfbuzz_ng/src/hb-ot-shape-private.hh
b9f199c8e38cc5ed0d73845568630f3bcbdd4374 15-Apr-2012 Behdad Esfahbod <behdad@behdad.org> Move code around
/external/harfbuzz_ng/src/hb-ot-shape-private.hh
6bd9b479b8b2befbb0847282e93beade197c8038 12-Apr-2012 Behdad Esfahbod <behdad@behdad.org> Hide backend-specific shape functions

Also remove shaper_options argument to hb_shape_full(). That was
unused and for "future". Let it go.

More shaper API coming in preparation for plan/planned API.
/external/harfbuzz_ng/src/hb-ot-shape-private.hh
7752aa73e72301a46c64c533c1e423ff5987cc05 10-Apr-2012 Behdad Esfahbod <behdad@behdad.org> Minor
/external/harfbuzz_ng/src/hb-ot-shape-private.hh
11138ccff71f442da1fcf64faa0e1d22e083e775 05-Apr-2012 Behdad Esfahbod <behdad@behdad.org> Add normalize mode

In preparation for Hangul shaper.
/external/harfbuzz_ng/src/hb-ot-shape-private.hh
6769f21d579a354e32577ec57348e97d2cb1b438 05-Apr-2012 Behdad Esfahbod <behdad@behdad.org> More moving code around
/external/harfbuzz_ng/src/hb-ot-shape-private.hh
2db2a566826ed4763ce69629194ec656bd48b0bd 05-Apr-2012 Behdad Esfahbod <behdad@behdad.org> Move code around
/external/harfbuzz_ng/src/hb-ot-shape-private.hh
634c9e3423a9c23793400d1f56e98070e00b6056 22-Feb-2012 Behdad Esfahbod <behdad@behdad.org> Minor
/external/harfbuzz_ng/src/hb-ot-shape-private.hh
514b6f88668da4eab85103c536dabe24b7bc457b 22-Feb-2012 Behdad Esfahbod <behdad@behdad.org> Followup: Reorder Hebrew combining classes for better rendering

Patch from Jonathan Kew.

Bug 662055 - advanced Hebrew diacritics are shown correctly only in
particular order.
/external/harfbuzz_ng/src/hb-ot-shape-private.hh
6e78607ea71e3e5306f88f227ddba76133d16ed0 22-Feb-2012 Behdad Esfahbod <behdad@behdad.org> Reorder Hebrew combining classes for better rendering

Patch from Jonathan Kew.

Bug 662055 - advanced Hebrew diacritics are shown correctly only in particular order
/external/harfbuzz_ng/src/hb-ot-shape-private.hh
3007ffa9e53e6100a761c2363f50a2b19a0764fc 25-Aug-2011 Behdad Esfahbod <behdad@behdad.org> Reorder combining-class to better suit Arabic shadda mark-mark positioning

As reported by Khaled on the list:

"After the introduction of canonical reordering of combining marks
(commit 34c22f8), I'm no longer able to do mark/mark substitution or
positioning for mark sequences that involve shadda as a first mark (or
most interesting sequences at least).

"After some digging, it turned out that shadda have a ccc=33 while most
Arabic marks that combine with it have a lower ccc value, which results
in the shadda being reordered after the other mark which,
unsurprisingly, breaks my contextual substitution and mkmk anchors."

See:

http://unicode.org/faq/normalization.html#8
http://unicode.org/faq/normalization.html#9
/external/harfbuzz_ng/src/hb-ot-shape-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-shape-private.hh
34c22f816808d061a980cffca12de03beb437fa0 22-Jul-2011 Behdad Esfahbod <behdad@behdad.org> Implement Unicode Canonical Reordering Algorithm
/external/harfbuzz_ng/src/hb-ot-shape-private.hh
45412523dc295cb5ee12e096bfacb282cc925843 22-Jul-2011 Behdad Esfahbod <behdad@behdad.org> More normalization kick
/external/harfbuzz_ng/src/hb-ot-shape-private.hh
5d90a342e319068716429bf7af76c3896b61a0e5 21-Jul-2011 Behdad Esfahbod <behdad@behdad.org> Document normalization design
/external/harfbuzz_ng/src/hb-ot-shape-private.hh
192445aef2e50087049243ce54ce7059ec441ffa 21-Jul-2011 Behdad Esfahbod <behdad@behdad.org> Remove intermittent_glyph()

Lets not worry about performance for now...
/external/harfbuzz_ng/src/hb-ot-shape-private.hh
5c6f5982d78e2d7fadc2fbb8b4f3a4be9420c59a 21-Jul-2011 Behdad Esfahbod <behdad@behdad.org> Towards normalization
/external/harfbuzz_ng/src/hb-ot-shape-private.hh
655586fe5e1fadf2a2ef7826e61ee9a445ffa37a 21-Jul-2011 Behdad Esfahbod <behdad@behdad.org> Towards normalization
/external/harfbuzz_ng/src/hb-ot-shape-private.hh
76f76812ac7cca8ac6935952a2360d5e151480fa 08-Jul-2011 Behdad Esfahbod <behdad@behdad.org> Shuffle code around, remove shape_plan from complex shapers
/external/harfbuzz_ng/src/hb-ot-shape-private.hh
b9452bfc1696457e156e79037c863903da5454fc 14-Jun-2011 Behdad Esfahbod <behdad@behdad.org> Fix compiler warnings with -pedantic
/external/harfbuzz_ng/src/hb-ot-shape-private.hh
b9ddbd55930228422e82b34a141ad1b6093f5376 02-Jun-2011 Behdad Esfahbod <behdad@behdad.org> [Indic] Start an Indic shaper

Nothing functional in there yet.

So far, we're parsing IndicSyllabicCategory.txt and IndicMatraCategory.txt
fils from Unicode Character Database and store them in an array to be used
by the shaper. Also hooked up the shaper, but it does not do anything
right now.
/external/harfbuzz_ng/src/hb-ot-shape-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-shape-private.hh
e06d4eda7bbdb3a1be1f1ce8d98b059a0730f14d 12-May-2011 Behdad Esfahbod <behdad@behdad.org> Use constructor/destructor for hb_ot_shape_plan_t
/external/harfbuzz_ng/src/hb-ot-shape-private.hh
6a7ac79e26e85f6781186cf708a12825c0857324 11-May-2011 Behdad Esfahbod <behdad@behdad.org> Plug leaks
/external/harfbuzz_ng/src/hb-ot-shape-private.hh
2409d5f8d7dd8b535ce5ea29e933f7db27d33793 21-Apr-2011 Behdad Esfahbod <behdad@behdad.org> Update Copyright headers
/external/harfbuzz_ng/src/hb-ot-shape-private.hh
c57d454accff66e5f2c58006e8fb40bc020b6182 21-Apr-2011 Behdad Esfahbod <behdad@behdad.org> Rename all private sources and headers to C++ files

So we can liberally use the simple features of C++ that parts of the
codebase is already using.
/external/harfbuzz_ng/src/hb-ot-shape-private.hh
99b74760a4cddc798ab44b5ca897486bbb9c76d6 11-Apr-2011 Behdad Esfahbod <behdad@behdad.org> Rename hb_category_t to hb_unicode_general_category_t
/external/harfbuzz_ng/src/hb-ot-shape-private.hh
bbbbe80ec9bc45c5b685bc09c8f993e98496555c 07-Dec-2010 Behdad Esfahbod <behdad@behdad.org> Rename original_direction to target_direction
/external/harfbuzz_ng/src/hb-ot-shape-private.hh
3a852ae7fe6edfaadd75625d27515a3689503395 03-Nov-2010 Behdad Esfahbod <behdad@behdad.org> Save general category and combining class in the buffer for reuse
/external/harfbuzz_ng/src/hb-ot-shape-private.hh
13403bc67a01e0d4908fb964093fd02ddd11c580 12-Oct-2010 Behdad Esfahbod <behdad@behdad.org> Hookup Arabic shaper!

Not tested yet.
/external/harfbuzz_ng/src/hb-ot-shape-private.hh
fd3d32d31cb6d74a9994b6850d539fd0b707d941 12-Oct-2010 Behdad Esfahbod <behdad@behdad.org> Add hb_ot_shape_execute()

Not public yet.
/external/harfbuzz_ng/src/hb-ot-shape-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-shape-private.hh
605ed468f380f86d642031f6451447d270cb6de1 12-Oct-2010 Behdad Esfahbod <behdad@behdad.org> Add hb_ot_shape_plan_t

This is the object that a separate plan/execute shaping API will use in
between the two stages.
/external/harfbuzz_ng/src/hb-ot-shape-private.hh
895fb5d364e7ae5d9d2e34b9f68b8651804369ef 12-Oct-2010 Behdad Esfahbod <behdad@behdad.org> Refactor, in a different direction
/external/harfbuzz_ng/src/hb-ot-shape-private.hh
d2ba016ca1ba7489537768b619980d5159b5870c 12-Oct-2010 Behdad Esfahbod <behdad@behdad.org> More refactoring
/external/harfbuzz_ng/src/hb-ot-shape-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-shape-private.hh
a806762a314e83154793d96ee665e6668d6b56de 09-Oct-2010 Behdad Esfahbod <behdad@behdad.org> Add hb-ot-shape-private.hh
/external/harfbuzz_ng/src/hb-ot-shape-private.hh
ca663bb23c16f6a1f04efa6e10dad0e3e7c260a3 21-May-2010 Behdad Esfahbod <behdad@behdad.org> Move main shaper code into hb_ot_shape()
/external/harfbuzz_ng/src/hb-ot-shape-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-shape-private.hh