History log of /external/harfbuzz_ng/src/hb-ot-shape-complex-arabic.cc
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
d5e61470fa8e5046c35a79988e00e012ae4fff0f 05-Aug-2014 Behdad Esfahbod <behdad@behdad.org> [arabic] Fix fallback shaping regression

Was broken in 615d00ea252739da57edbd980ff27e573.

Fixes https://github.com/behdad/harfbuzz/pull/48

Micro-test added.
/external/harfbuzz_ng/src/hb-ot-shape-complex-arabic.cc
763e5466c0a03a7c27020e1e2598e488612529a7 02-Aug-2014 Behdad Esfahbod <behdad@behdad.org> Make it easier to use HB_BUFFER_FLAG_BOT/EOT

Previously, we expected users to provide BOT/EOT flags when the
text *segment* was at paragraph boundaries. This meant that for
clients that provide full paragraph to HarfBuzz (eg. Pango), they
had code like this:

hb_buffer_set_flags (hb_buffer,
(item_offset == 0 ? HB_BUFFER_FLAG_BOT : 0) |
(item_offset + item_length == paragraph_length ?
HB_BUFFER_FLAG_EOT : 0));

hb_buffer_add_utf8 (hb_buffer,
paragraph_text, paragraph_length,
item_offset, item_length);

After this change such clients can simply say:

hb_buffer_set_flags (hb_buffer,
HB_BUFFER_FLAG_BOT | HB_BUFFER_FLAG_EOT);

hb_buffer_add_utf8 (hb_buffer,
paragraph_text, paragraph_length,
item_offset, item_length);

Ie, HarfBuzz itself checks whether the segment is at the beginning/end
of the paragraph. Clients that only pass item-at-a-time to HarfBuzz
continue not setting any flags whatsoever.

Another way to put it is: if there's pre-context text in the buffer,
HarfBuzz ignores the BOT flag. If there's post-context, it ignores
EOT flag.
/external/harfbuzz_ng/src/hb-ot-shape-complex-arabic.cc
e3b42f1af409c073b819bfc696024ccb1f1da63f 17-Jul-2014 Behdad Esfahbod <behdad@behdad.org> [arabic] Disable 'cswh' again

Ouch!
/external/harfbuzz_ng/src/hb-ot-shape-complex-arabic.cc
82f4d9d53f348f41b14b877c1ac77c0372c49caa 17-Jul-2014 Behdad Esfahbod <behdad@behdad.org> [arabic] Add note re disabled 'cswh'
/external/harfbuzz_ng/src/hb-ot-shape-complex-arabic.cc
615d00ea252739da57edbd980ff27e573f88ee7e 17-Jul-2014 Behdad Esfahbod <behdad@behdad.org> [arabic] Apply init/medi/isol/fini/... in separate stages

Follows the order of the Arabic/Syriac specs. Also don't stop
between rlig and calt in non-Arabic scripts.

Micro-tests for Arabic and Mongolian added for the latter.
/external/harfbuzz_ng/src/hb-ot-shape-complex-arabic.cc
7cd33f230441093dbfb1fec48f8c580ee8d9ef71 17-Jul-2014 Behdad Esfahbod <behdad@behdad.org> Micro optimization
/external/harfbuzz_ng/src/hb-ot-shape-complex-arabic.cc
164c13d73f67fdddba28e6409d76b4903e8ffab3 17-Jul-2014 Behdad Esfahbod <behdad@behdad.org> Another try to fix Mongolian free variation selectors

This reverts bf029281 and fixes it properly. That commit
was not enough as it was only inheriting the shaping_action
for prev_action, but not curr_action.

Micro-test added.

https://code.google.com/p/chromium/issues/detail?id=393896
/external/harfbuzz_ng/src/hb-ot-shape-complex-arabic.cc
5d4d7384efa97a30893ad28b9ad9a994722de12c 21-Jun-2014 Behdad Esfahbod <behdad@behdad.org> Minor: format
/external/harfbuzz_ng/src/hb-ot-shape-complex-arabic.cc
44243ae5902cc420e6bf6ec2fca2584ba93ff2fb 21-Jun-2014 Behdad Esfahbod <behdad@behdad.org> [arabic-table] Update to Unicode 7.0

Old table was from 6.2. Remove hard-coded Mongolian and Phags-pa data.
This completes support for new scripts Manichian and Psaltar Pahlavi.
/external/harfbuzz_ng/src/hb-ot-shape-complex-arabic.cc
cd86ab9b4f4d7bd4f563be64a83714fc8fb395d7 21-Jun-2014 Behdad Esfahbod <behdad@behdad.org> [arabic-table] Add ZWJ/ZWNJ now that table is segmented
/external/harfbuzz_ng/src/hb-ot-shape-complex-arabic.cc
b900fa2c8cc088dbcbdbf90bfdf8764f9ee1c96a 20-Jun-2014 Behdad Esfahbod <behdad@behdad.org> [arabic-table] Use segmented table

No functional change.
/external/harfbuzz_ng/src/hb-ot-shape-complex-arabic.cc
ae23c24c32f474a34484ee78bc177ad31fa5e6d0 22-Jan-2014 Behdad Esfahbod <behdad@behdad.org> [arabic] Disable 'cswh' by default

I believe Windows 8 disables it, and spec update dated
Jan 2014 also clearly says it's disabled by default:

http://www.microsoft.com/typography/OpenTypeDev/arabic/intro.htm#features
/external/harfbuzz_ng/src/hb-ot-shape-complex-arabic.cc
3d6ca0d32e5c6597acfcf59301cb1905586ddb52 31-Dec-2013 Behdad Esfahbod <behdad@behdad.org> [ot] Simplify normalization_preference again

No shaper has more than one behavior re this, so no need for a callback.
/external/harfbuzz_ng/src/hb-ot-shape-complex-arabic.cc
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-shape-complex-arabic.cc
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-shape-complex-arabic.cc
bf029281b1b0f854f671969ab40eac3046a111bd 18-Oct-2013 Behdad Esfahbod <behdad@behdad.org> Bug 65258 - [...] Mongolian with free variation selector
/external/harfbuzz_ng/src/hb-ot-shape-complex-arabic.cc
c52ddab72e025d1bee8274c8f3416208b12f68f1 16-Oct-2013 Behdad Esfahbod <behdad@behdad.org> [arabic] Make ZWJ prevent ligatures instead of facilitating it

Unicode 6.2.0 Section 16.2 / Figure 16.3 says:

"For backward compatibility, between Arabic characters a ZWJ acts just
like the sequence <ZWJ, ZWNJ, ZWJ>, preventing a ligature from forming
instead of requesting the use of a ligature that would not normally be
used. As a result, there is no plain text mechanism for requesting the
use of a ligature in Arabic text."

As such, we flip internal zwj to zwnj flags for GSUB matching, which
means it will block ligation in all features, unless the font
explicitly matches U+200D glyph. This doesn't affect joining behavior.
/external/harfbuzz_ng/src/hb-ot-shape-complex-arabic.cc
580d5eb93af5bbbc64994b626d5e011e2c256d74 04-Aug-2013 Behdad Esfahbod <behdad@behdad.org> Don't apply 'dlig' by default

Windows 8 doesn't, and the spec will be fixed.
/external/harfbuzz_ng/src/hb-ot-shape-complex-arabic.cc
127daf15e0b2f509ebd29a104236c8b38884efb0 20-May-2013 Behdad Esfahbod <behdad@behdad.org> Arabic mark width-zeroing regression

Mozilla Bug 873902 - Display Arabic text with diacritics is bad
https://bugzilla.mozilla.org/show_bug.cgi?id=873902
/external/harfbuzz_ng/src/hb-ot-shape-complex-arabic.cc
f368ba4a9edec4e297616698097546e8e6c89e53 04-Apr-2013 Behdad Esfahbod <behdad@behdad.org> [Arabic] Zero marks by GDEF, not Unicode category

Testing shows that this is closer to what Uniscribe does.

Reported by Khaled Hosny:

"""
commit 568000274c8edb5f41bc4f876ce21fcc8bdaeed8
...
This commit is causing a regression with Amiri, the string “هَٰذ” with
Uniscribe and HarfBuzz before this commit, gives:

[uni0630.fina=3+965|uni0670.medi=0+600|uni064E=0@-256,0+0|uni0647.init=0+926]

But now it gives:

[uni0630.fina=3+965|uni0670.medi=0+0|uni064E=0@-256,0+0|uni0647.init=0+926]

i.e. uni0670.medi is zeroed though it has a base glyph GDEF class.
"""

The test case is U+0647,U+064E,U+0670,U+0630 with Amiri.
/external/harfbuzz_ng/src/hb-ot-shape-complex-arabic.cc
c2a1cdc4c4cc51f4680ebc4ec2c462cb660f9492 15-Feb-2013 Behdad Esfahbod <behdad@behdad.org> [Arabic] Fix shaping of left-joining 'Phags-Pa U+A872

This is the first character in Unicode to have Arabic left-joining
behavior. Update the machine to recognize that.

Test case: U+A840,U+A872,U+A840.
/external/harfbuzz_ng/src/hb-ot-shape-complex-arabic.cc
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-shape-complex-arabic.cc
e7ffcfafb1108801ac504f18f820e497226bf07f 14-Feb-2013 Behdad Esfahbod <behdad@behdad.org> Clean-up add_bool_feature
/external/harfbuzz_ng/src/hb-ot-shape-complex-arabic.cc
568000274c8edb5f41bc4f876ce21fcc8bdaeed8 12-Feb-2013 Behdad Esfahbod <behdad@behdad.org> Adjust mark advance-width zeroing logic for Myanmar

Before, we were zeroing advance width of attached marks for
non-Indic scripts, and not doing it for Indic.

We have now three different behaviors, which seem to better
reflect what Uniscribe is doing:

- For Indic, no explicit zeroing happens whatsoever, which
is the same as before,

- For Myanmar, zero advance width of glyphs marked as marks
*in GDEF*, and do that *before* applying GPOS. This seems
to be what the new Win8 Myanmar shaper does,

- For everything else, zero advance width of glyphs that are
from General_Category=Mn Unicode characters, and do so
before applying GPOS. This seems to be what Uniscribe does
for Latin at least.

With these changes, positioning of all tests matches for Myanmar,
except for the glitch in Uniscribe not applying 'mark'. See preivous
commit.
/external/harfbuzz_ng/src/hb-ot-shape-complex-arabic.cc
0beb66e3a61ae8bb1fa66e54b1ff1abb2f8711e9 06-Dec-2012 Behdad Esfahbod <behdad@behdad.org> Fix warnings
/external/harfbuzz_ng/src/hb-ot-shape-complex-arabic.cc
ba82325b7a6311b787ae47f41a56964e2f2cba9f 15-Nov-2012 Behdad Esfahbod <behdad@behdad.org> Add note re 'Phags-pa letter U+A872, which is Joining_Type=L
/external/harfbuzz_ng/src/hb-ot-shape-complex-arabic.cc
865745b5b87236651f5663cae3461db9cb505eed 14-Nov-2012 Behdad Esfahbod <behdad@behdad.org> Don't do fallback positioning for Indic and Thai shapers
/external/harfbuzz_ng/src/hb-ot-shape-complex-arabic.cc
5669a6cf418f3a8b9281c36e9d662d843be80433 14-Nov-2012 Behdad Esfahbod <behdad@behdad.org> [Arabic] Fix post-context handling

Ouch!
/external/harfbuzz_ng/src/hb-ot-shape-complex-arabic.cc
0c7df2222862122ebbdc8665a21d6771ef5e0252 13-Nov-2012 Behdad Esfahbod <behdad@behdad.org> Add buffer flags

New API:

hb_buffer_flags_t

HB_BUFFER_FLAGS_DEFAULT
HB_BUFFER_FLAG_BOT
HB_BUFFER_FLAG_EOT
HB_BUFFER_FLAG_PRESERVE_DEFAULT_IGNORABLES

hb_buffer_set_flags()
hb_buffer_get_flags()

We use the BOT flag to decide whether to insert dottedcircle if the
first char in the buffer is a combining mark.

The PRESERVE_DEFAULT_IGNORABLES flag prevents removal of characters like
ZWNJ/ZWJ/...
/external/harfbuzz_ng/src/hb-ot-shape-complex-arabic.cc
0736915b8ed789a209205fec762997af3a8af89c 13-Nov-2012 Behdad Esfahbod <behdad@behdad.org> [Indic] Decompose Sinhala split matras the way old HarfBuzz / Pango did

Had to do some refactoring to make this happen...

Under uniscribe bug compatibility mode, we still plit them
Uniscrie-style, but Jonathan and I convinced ourselves that there is no
harm doing this the Unicode way. This change makes that happen, and
unbreaks free Sinhala fonts.
/external/harfbuzz_ng/src/hb-ot-shape-complex-arabic.cc
4899801155cc0fef7a8aa58c33ac2d30ba34bcc3 09-Nov-2012 Behdad Esfahbod <behdad@behdad.org> U+A872 PHAGS-PA SUPERFIXED LETTER RA is "Right"-Joining
/external/harfbuzz_ng/src/hb-ot-shape-complex-arabic.cc
22a685836a59d1c02914761c02d3852810b83ec5 06-Nov-2012 Behdad Esfahbod <behdad@behdad.org> Adjust Mongolian shaping

For U+1880..U+1886 Uniscribe thinks they are non-joining.
For U+1887 Uniscribe thinks it's joining, but looks wrong to me.
For now, match Uniscribe.
/external/harfbuzz_ng/src/hb-ot-shape-complex-arabic.cc
3ba7bc14ea652d27639f34109e51a497a678a54a 02-Nov-2012 Behdad Esfahbod <behdad@behdad.org> Implement 'Phags-pa shaping

Through the Arabic shaper. It's similar to Mongolian.
/external/harfbuzz_ng/src/hb-ot-shape-complex-arabic.cc
937f8d3871863b8b1ed1d8900cf41999d92ba30f 30-Oct-2012 Behdad Esfahbod <behdad@behdad.org> [Arabic] Enable dlig and mset for Arabic

That's what the spec says, and what Uniscribe does.
/external/harfbuzz_ng/src/hb-ot-shape-complex-arabic.cc
bdc2fc8294da7f374701aafe9f5a82d60633946f 26-Sep-2012 Behdad Esfahbod <behdad@behdad.org> [Arabic] Respect Arabic joining from neighboring context

Now we respect Arabic joining across runs.
/external/harfbuzz_ng/src/hb-ot-shape-complex-arabic.cc
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-shape-complex-arabic.cc
2bd9fe359839a653f7caae534bf768af1735f155 04-Sep-2012 Behdad Esfahbod <behdad@behdad.org> Refactor
/external/harfbuzz_ng/src/hb-ot-shape-complex-arabic.cc
a5ddd9e31cd7906c4b559aa5b2fafdae4b9c8935 04-Sep-2012 Behdad Esfahbod <behdad@behdad.org> [OT] Really fix possible NULL dereference this time
/external/harfbuzz_ng/src/hb-ot-shape-complex-arabic.cc
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-shape-complex-arabic.cc
dc5df5af6b349c3d9e4ab876864d9dec8096401f 28-Aug-2012 Behdad Esfahbod <behdad@behdad.org> Revert "Minor"

This reverts commit 3e0a03978b91994bb7fa7922593cbdfc50878dfc.

I know remember why that line is there :).
/external/harfbuzz_ng/src/hb-ot-shape-complex-arabic.cc
3e0a03978b91994bb7fa7922593cbdfc50878dfc 27-Aug-2012 Behdad Esfahbod <behdad@behdad.org> Minor
/external/harfbuzz_ng/src/hb-ot-shape-complex-arabic.cc
2f1747ed7d28148807ad07eb8e22db3ab5c54966 16-Aug-2012 Behdad Esfahbod <behdad@behdad.org> Add comment
/external/harfbuzz_ng/src/hb-ot-shape-complex-arabic.cc
bd08d5d126aa878d1dbf7bfd4b1a764c170cd9ad 16-Aug-2012 Behdad Esfahbod <behdad@behdad.org> [OT] Fix Arabic shaper OOB access

https://bugzilla.mozilla.org/show_bug.cgi?id=782908
/external/harfbuzz_ng/src/hb-ot-shape-complex-arabic.cc
9f9f04c2229227bb0712166e824157bbbf5cef80 12-Aug-2012 Behdad Esfahbod <behdad@behdad.org> [OT] Unbreak Thai shaping and fallback Arabic shaping

The merger of normalizer and glyph-mapping broke shapers that
modified text stream. Unbreak them by adding a new preprocess_text
shaping stage that happens before normalizing/cmap and disallow
setup_mask modification of actual text.
/external/harfbuzz_ng/src/hb-ot-shape-complex-arabic.cc
e9f28a38f54b98fa59f9159ccaaa3be6027e1378 12-Aug-2012 Behdad Esfahbod <behdad@behdad.org> [OT] Add shape_plan to Arabic shaper
/external/harfbuzz_ng/src/hb-ot-shape-complex-arabic.cc
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-complex-arabic.cc
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-complex-arabic.cc
3e38c0f2886c38d2f0a9d80a97a36edf2479d2c7 02-Aug-2012 Behdad Esfahbod <behdad@behdad.org> More massaging
/external/harfbuzz_ng/src/hb-ot-shape-complex-arabic.cc
16c6a27b4bffc19026944c7bea9cf0a3a8ff1d8f 02-Aug-2012 Behdad Esfahbod <behdad@behdad.org> [OT] Port complex_shaper to planner/plan
/external/harfbuzz_ng/src/hb-ot-shape-complex-arabic.cc
8fbfda920e0b3bb4ab7afb732826026964b79be9 02-Aug-2012 Behdad Esfahbod <behdad@behdad.org> Inline font getters
/external/harfbuzz_ng/src/hb-ot-shape-complex-arabic.cc
1e7d860613032e40a3f90e2caa2ee5ac44ab8c8c 01-Aug-2012 Behdad Esfahbod <behdad@behdad.org> [GPOS] Adjust mark advance-width zeroing logic

If there is no GPOS, zero mark advances.

If there *is* GPOS and the shaper requests so, zero mark advances for
attached marks.

Fixes regression with Tibetan, where the font has GPOS, and marks a
glyph as mark where it shouldn't get zero advance.
/external/harfbuzz_ng/src/hb-ot-shape-complex-arabic.cc
2bc3b9a616cedbc56ff4a915f9e3439ff3a6bf13 01-Aug-2012 Behdad Esfahbod <behdad@behdad.org> [OT] Zero mark advances if the shaper desires so

Enabled for all shapers except for Indic.
/external/harfbuzz_ng/src/hb-ot-shape-complex-arabic.cc
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-complex-arabic.cc
7e34601dededd521bcef15111e39293df3d0d13d 30-Jul-2012 Behdad Esfahbod <behdad@behdad.org> Unbreak Hangul jamo composition

When we removed the separate Hangul shaper, the specific normalization
preference of Hangul was lost. Fix that. Also, the Thai shaper was
copied from Hangul, so had the fully-composed normalization behavior,
which was unnecessary. So, fix that too.
/external/harfbuzz_ng/src/hb-ot-shape-complex-arabic.cc
d96838ef951ce6170eb2dc576ebcba2262cf7008 17-Jul-2012 Behdad Esfahbod <behdad@behdad.org> Allow complex shapers overriding common features

In a new callback... Currently unused by all complex shapers.
/external/harfbuzz_ng/src/hb-ot-shape-complex-arabic.cc
9f377ed3210fe7d9f15e0c4f82020556f9a8f6f0 13-May-2012 Behdad Esfahbod <behdad@behdad.org> Fix more unused-var warnings
/external/harfbuzz_ng/src/hb-ot-shape-complex-arabic.cc
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-shape-complex-arabic.cc
ef24cc8c8e2478a6352c340f4611a617646de4cc 09-May-2012 Behdad Esfahbod <behdad@behdad.org> [Indic] Towards multi-cluster syllables and final reordering
/external/harfbuzz_ng/src/hb-ot-shape-complex-arabic.cc
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-complex-arabic.cc
8e3715f8a16b315c1c7dd4b256e7f68a36c53e7c 24-Apr-2012 Behdad Esfahbod <behdad@behdad.org> Minor
/external/harfbuzz_ng/src/hb-ot-shape-complex-arabic.cc
4a1e02ef7979d58fe0c726ee7c665b2420c42ddd 11-Apr-2012 Behdad Esfahbod <behdad@behdad.org> Fix shape to presentation forms font check

As reported by Jonathan Kew on the list.
/external/harfbuzz_ng/src/hb-ot-shape-complex-arabic.cc
acd88e659fdb2fa1cbf7171f0a1c7fbc81b9f298 11-Apr-2012 Behdad Esfahbod <behdad@behdad.org> In Arabic fallback shaping, check that the font has glyph for new char
/external/harfbuzz_ng/src/hb-ot-shape-complex-arabic.cc
939c010211b063f78874a3b72b032c1ed9a13b87 10-Apr-2012 Behdad Esfahbod <behdad@behdad.org> Implement Arabic fallback shaping mandatory ligatures
/external/harfbuzz_ng/src/hb-ot-shape-complex-arabic.cc
b7d04eb606800100faa11100d2adf559e297a4ee 10-Apr-2012 Behdad Esfahbod <behdad@behdad.org> Do Arabic fallback shaping
/external/harfbuzz_ng/src/hb-ot-shape-complex-arabic.cc
11138ccff71f442da1fcf64faa0e1d22e083e775 05-Apr-2012 Behdad Esfahbod <behdad@behdad.org> Add normalize mode

In preparation for Hangul shaper.
/external/harfbuzz_ng/src/hb-ot-shape-complex-arabic.cc
a4cbd03dd17990783d8fd4c6be0c9c0d3d9cae5b 15-Aug-2011 Behdad Esfahbod <behdad@behdad.org> Apply 'locl' with 'ccmp' in Arabic shaper

According to Peter Constable this is indeed what Uniscribe has been
doing for years.

Mozilla Bug 667166 - wrong shape of letter when it comes at the end of
word in the arabic version of Firefox 5.0
/external/harfbuzz_ng/src/hb-ot-shape-complex-arabic.cc
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-complex-arabic.cc
8f0b64fb6988f9502d2c5e39768a9af133d9a83f 29-Jul-2011 Behdad Esfahbod <behdad@behdad.org> Minor
/external/harfbuzz_ng/src/hb-ot-shape-complex-arabic.cc
b65c06025d2b54a44f716e030d4b10072c65bea8 28-Jul-2011 Behdad Esfahbod <behdad@behdad.org> Formalize buffer var allocations
/external/harfbuzz_ng/src/hb-ot-shape-complex-arabic.cc
02cdf743c2ec345a44d4fcf865594b6ac13fccd0 21-Jul-2011 Behdad Esfahbod <behdad@behdad.org> Add prefer_decomposed() complex-shaper callback

This allows the Indic shaper to request decomposed characters. This will
handle split matra for free. Other shapers prefer precomposed
characters.
/external/harfbuzz_ng/src/hb-ot-shape-complex-arabic.cc
7b08b0a7f2057937dfc3ab2ec191656bf2386463 21-Jul-2011 Behdad Esfahbod <behdad@behdad.org> Minor
/external/harfbuzz_ng/src/hb-ot-shape-complex-arabic.cc
f6fd3780e12b23ff7ed3743497c8996e71dcb064 08-Jul-2011 Behdad Esfahbod <behdad@behdad.org> Let shapers decide when to apply ccmp and locl

Instead of always applying those two features before the complex shaper,
let the complex shaper decide whether they should be applied first.

Also add stub for Indic's final_reordering().
/external/harfbuzz_ng/src/hb-ot-shape-complex-arabic.cc
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-complex-arabic.cc
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-shape-complex-arabic.cc
31f18abecb149f8888a72510f2660328dd6de16d 15-Jun-2011 Behdad Esfahbod <behdad@behdad.org> Minor compiler warning fixes
/external/harfbuzz_ng/src/hb-ot-shape-complex-arabic.cc
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-complex-arabic.cc
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-complex-arabic.cc
2409d5f8d7dd8b535ce5ea29e933f7db27d33793 21-Apr-2011 Behdad Esfahbod <behdad@behdad.org> Update Copyright headers
/external/harfbuzz_ng/src/hb-ot-shape-complex-arabic.cc
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-complex-arabic.cc
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-complex-arabic.cc
a71b9c8579d73aea4549f12524bbc2e89f43b5c5 06-Apr-2011 Behdad Esfahbod <behdad@behdad.org> Disable 'cswh' by default except for Arabic shaper

That better matches OpenType spec. Note that we enable it for all
Arabic-shaper scripts. Ie. we enable it by default for Syriac too,
but the SyriacOT spec does not require it. I think this is a more
useful compromise than special-casing for Arabic script alone.
/external/harfbuzz_ng/src/hb-ot-shape-complex-arabic.cc
d86a5b3c5752abcc791724035ba4115958e6b5e2 22-Dec-2010 Behdad Esfahbod <behdad@behdad.org> Bug 32274 - classic mongolian shaper

Add support for classic Mongolian script to the Arabic shaper.

Still work to be done around U+180E MONGOLIAN VOWEL SEPARATOR as it
should not be included in the final glyph stream the same way that
ZWNJ, etc should not appear in the final glyph stream.

But the joining part should be done.

There remains the question of how should the U+18A9 MONGOLIAN LETTER ALI
GALI DAGALGA be handled as it has General Category NSM but a letter
nonetheless. For now, our generic logic makes this a joining T instead
of joining D as other Mongolian letters are.
/external/harfbuzz_ng/src/hb-ot-shape-complex-arabic.cc
0884a8d9cd576f116400b3f7c8815e747c315d5e 17-Nov-2010 Behdad Esfahbod <behdad@behdad.org> Move generated table to its own file
/external/harfbuzz_ng/src/hb-ot-shape-complex-arabic.cc
14d784116b08685425e4ddcb1c1f813dbe2b2986 17-Nov-2010 Behdad Esfahbod <behdad@behdad.org> Update Arabic joining table to include Mandaic

Mandaic was added to Unicode 6.0, but the joining data was not updated.
Draft ArabicShaping.txt from 6.1 includes the joining data for Mandaic.
Use that.
/external/harfbuzz_ng/src/hb-ot-shape-complex-arabic.cc
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-complex-arabic.cc
88474c6fdaf35c56368694a5b164f4988a004d49 27-Oct-2010 Behdad Esfahbod <behdad@behdad.org> Get rid of the OpenType-specific internal buffer representation

Add variant integers to buffer item types. More cleanup coming.
/external/harfbuzz_ng/src/hb-ot-shape-complex-arabic.cc
f22802431a983bd4bc60a7653b1103973c3475cb 03-Nov-2010 Behdad Esfahbod <behdad@behdad.org> Remove trailing comma
/external/harfbuzz_ng/src/hb-ot-shape-complex-arabic.cc
aefdb64689aab19df76590a36c4a04052a8bffdb 27-Oct-2010 Behdad Esfahbod <behdad@behdad.org> Fix segfault with Arabic combining marks
/external/harfbuzz_ng/src/hb-ot-shape-complex-arabic.cc
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-shape-complex-arabic.cc
758f68b860b44b5a04eb3dde5cb40b1b04cf634a 12-Oct-2010 Behdad Esfahbod <behdad@behdad.org> Fix Arabic shaper

It's tested now. It works!
/external/harfbuzz_ng/src/hb-ot-shape-complex-arabic.cc
13403bc67a01e0d4908fb964093fd02ddd11c580 12-Oct-2010 Behdad Esfahbod <behdad@behdad.org> Hookup Arabic shaper!

Not tested yet.
/external/harfbuzz_ng/src/hb-ot-shape-complex-arabic.cc
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-complex-arabic.cc