platform/upstream/libHarfBuzzSharp.git
12 years agoFix compiler warnings
Behdad Esfahbod [Sat, 12 May 2012 13:40:11 +0000 (15:40 +0200)]
Fix compiler warnings

12 years ago[test] Make tool usage easier by not requiring "--stdin"
Behdad Esfahbod [Sat, 12 May 2012 13:34:40 +0000 (15:34 +0200)]
[test] Make tool usage easier by not requiring "--stdin"

Just default to it.  Added "--help" instead to get usage.

12 years ago[Indic] Add more Malayalam tests
Behdad Esfahbod [Sat, 12 May 2012 11:34:18 +0000 (13:34 +0200)]
[Indic] Add more Malayalam tests

12 years agoFix compiler warnings
Behdad Esfahbod [Fri, 11 May 2012 21:10:31 +0000 (23:10 +0200)]
Fix compiler warnings

12 years ago[Indic] Unbreak Devanagari
Behdad Esfahbod [Fri, 11 May 2012 20:00:06 +0000 (22:00 +0200)]
[Indic] Unbreak Devanagari

And this, concludes the HarfBuzz Massala Hackfest.

I like to specially thank Jonathan Kew for doing all the decription and
letting me get commit points.

12 years ago[Indic] Disambiguate sub vs post vs above matras
Behdad Esfahbod [Fri, 11 May 2012 19:42:27 +0000 (21:42 +0200)]
[Indic] Disambiguate sub vs post vs above matras

Bengali is at *just* above 5% now.

12 years ago[Indic] Position Bengali Reph before matras
Behdad Esfahbod [Fri, 11 May 2012 19:36:32 +0000 (21:36 +0200)]
[Indic] Position Bengali Reph before matras

12 years ago[Indic] Start categorizing Reph per script
Behdad Esfahbod [Fri, 11 May 2012 19:10:03 +0000 (21:10 +0200)]
[Indic] Start categorizing Reph per script

12 years ago[Indic] Apply 'init' feature for Bengali
Behdad Esfahbod [Fri, 11 May 2012 18:59:26 +0000 (20:59 +0200)]
[Indic] Apply 'init' feature for Bengali

Error down from 20% to 7%.

12 years ago[Indic] Refactor for the arrival of 'init' feature
Behdad Esfahbod [Fri, 11 May 2012 18:50:53 +0000 (20:50 +0200)]
[Indic] Refactor for the arrival of 'init' feature

Yep, on Bengali now!

12 years ago[Indic] Add Uniscribe bug feature for dotted circle
Behdad Esfahbod [Fri, 11 May 2012 18:02:14 +0000 (20:02 +0200)]
[Indic] Add Uniscribe bug feature for dotted circle

For dotted-circle independent clusters, Uniscribe does no Reph shaping
for the exact sequence Ra+Halant+25CC.  Which also is the only possible
sequence with 25CC at the end.

12 years ago[Indic] Add tests for dottedcircle
Behdad Esfahbod [Fri, 11 May 2012 17:55:42 +0000 (19:55 +0200)]
[Indic] Add tests for dottedcircle

12 years ago[Indic] Refactoring
Behdad Esfahbod [Fri, 11 May 2012 17:07:58 +0000 (19:07 +0200)]
[Indic] Refactoring

12 years agoMinor
Behdad Esfahbod [Fri, 11 May 2012 16:58:57 +0000 (18:58 +0200)]
Minor

12 years ago[Indic] Allow multiple Consonants in Vowel/NBSP syllables
Behdad Esfahbod [Fri, 11 May 2012 16:46:35 +0000 (18:46 +0200)]
[Indic] Allow multiple Consonants in Vowel/NBSP syllables

Uniscribe allows multiple Halant+Consonant after a Vowel.
Tests:
↦       * U+0905,U+094D,U+092B,U+094D,930,94d,930

12 years ago[Indic] Allow two Nuktas per consonant
Behdad Esfahbod [Fri, 11 May 2012 16:13:42 +0000 (18:13 +0200)]
[Indic] Allow two Nuktas per consonant

Uniscribe allows up to two nuktas per consonant and one per matra. It does so
indepent of whether the consonant already has a nukta in it.  Tests:

        * U+0916,U+093C,U+0941
        * U+0959,U+093C,U+0941
        * U+0916,U+093C,U+093C,U+0941
        * U+0959,U+093C,U+093C,U+0941
        * U+0916,U+093C,U+093C,U+093C,U+0941
        * U+0959,U+093C,U+093C,U+093C,U+0941
        * 915,93c,93c,,94d,U+0916,U+093C,U+093C,U+093e,93c,93c

12 years ago[Indic] Fix U+0952 and similar classification to match Uniscribe
Behdad Esfahbod [Fri, 11 May 2012 15:54:26 +0000 (17:54 +0200)]
[Indic] Fix U+0952 and similar classification to match Uniscribe

See comments.

12 years ago[Indic] Treat U+0951..U+0954 all similar to U+0952
Behdad Esfahbod [Fri, 11 May 2012 15:30:48 +0000 (17:30 +0200)]
[Indic] Treat U+0951..U+0954 all similar to U+0952

12 years ago[GSUB/GPOS/Indic] Apply GSUB/GPOS within syllables only
Behdad Esfahbod [Fri, 11 May 2012 15:29:40 +0000 (17:29 +0200)]
[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.

12 years ago[GSUB/GPOS] Fix wrong buffer access in backward skippy mask matching
Behdad Esfahbod [Fri, 11 May 2012 15:18:37 +0000 (17:18 +0200)]
[GSUB/GPOS] Fix wrong buffer access in backward skippy mask matching

12 years ago[Indic] Don't use syllable serial value 0
Behdad Esfahbod [Fri, 11 May 2012 15:07:08 +0000 (17:07 +0200)]
[Indic] Don't use syllable serial value 0

12 years ago[Indic] Implement Uniscribe Reph+Matra+Halant bug feature
Behdad Esfahbod [Fri, 11 May 2012 14:54:40 +0000 (16:54 +0200)]
[Indic] Implement Uniscribe Reph+Matra+Halant bug feature

12 years ago[Indic] Add example of different Uniscribe behavior
Behdad Esfahbod [Fri, 11 May 2012 14:51:23 +0000 (16:51 +0200)]
[Indic] Add example of different Uniscribe behavior

12 years ago[Indic] Add runtime Uniscribe bug compatibility mode!
Behdad Esfahbod [Fri, 11 May 2012 14:43:12 +0000 (16:43 +0200)]
[Indic] Add runtime Uniscribe bug compatibility mode!

Enable by setting envvar:

  HB_OT_INDIC_OPTIONS=uniscribe-bug-compatible

Plus, LeftMatra+Halant "feature".

12 years ago[Indic] Add #define UNISCRIBE_BUG_COMPATIBLE 1
Behdad Esfahbod [Fri, 11 May 2012 14:25:02 +0000 (16:25 +0200)]
[Indic] Add #define UNISCRIBE_BUG_COMPATIBLE 1

12 years ago[Indic] Fix Left Matra + Halant reordering
Behdad Esfahbod [Fri, 11 May 2012 14:23:43 +0000 (16:23 +0200)]
[Indic] Fix Left Matra + Halant reordering

As can be seen in: U+092B,U+093F,U+094D

12 years agoMinor
Behdad Esfahbod [Fri, 11 May 2012 14:23:38 +0000 (16:23 +0200)]
Minor

12 years ago[Indic] Add test for Left Matra with Halant
Behdad Esfahbod [Fri, 11 May 2012 14:22:46 +0000 (16:22 +0200)]
[Indic] Add test for Left Matra with Halant

Uniscribe doesn't move the Halant, we do.  And do a broken job of it now.

12 years ago[GSUB/GPOS] Check all glyph masks when matching input
Behdad Esfahbod [Fri, 11 May 2012 14:01:44 +0000 (16:01 +0200)]
[GSUB/GPOS] Check all glyph masks when matching input

12 years ago[Indic] Apply Reph mask to all POS_REPH glyphs
Behdad Esfahbod [Fri, 11 May 2012 13:34:13 +0000 (15:34 +0200)]
[Indic] Apply Reph mask to all POS_REPH glyphs

Needed for upcoming changes to GSUB/GPOS mask matching.

12 years ago[Indic] Fix state machine to backtrack
Behdad Esfahbod [Fri, 11 May 2012 12:39:01 +0000 (14:39 +0200)]
[Indic] Fix state machine to backtrack

12 years ago[Indic] Move syllable tracking from Indic to generic layer
Behdad Esfahbod [Fri, 11 May 2012 09:41:39 +0000 (11:41 +0200)]
[Indic] Move syllable tracking from Indic to generic layer

This is to incorporate it into GSUB/GPOS processing.

12 years ago[Indic] Disable conjuncts when a ZWJ happens
Behdad Esfahbod [Fri, 11 May 2012 09:17:23 +0000 (11:17 +0200)]
[Indic] Disable conjuncts when a ZWJ happens

Not that the code makes any difference since the presence of ZWJ itself
causes the ligature to fail to match anyway.

12 years ago[Indic] Fix bitops typo!
Behdad Esfahbod [Fri, 11 May 2012 09:07:40 +0000 (11:07 +0200)]
[Indic] Fix bitops typo!

Another 1000 down!

12 years agoMake APPLY debug output print current index and codepoint
Behdad Esfahbod [Fri, 11 May 2012 01:45:28 +0000 (03:45 +0200)]
Make APPLY debug output print current index and codepoint

Yay!

12 years agoMinor
Behdad Esfahbod [Fri, 11 May 2012 01:40:58 +0000 (03:40 +0200)]
Minor

12 years agoSome more...
Behdad Esfahbod [Fri, 11 May 2012 01:35:08 +0000 (03:35 +0200)]
Some more...

Done.  I promise.

12 years agoMore beauty in debug output!
Behdad Esfahbod [Fri, 11 May 2012 01:33:36 +0000 (03:33 +0200)]
More beauty in debug output!

12 years agoFinish off debug output beautification
Behdad Esfahbod [Fri, 11 May 2012 01:16:57 +0000 (03:16 +0200)]
Finish off debug output beautification

12 years agoOnly print class name in debug output if there's one available
Behdad Esfahbod [Fri, 11 May 2012 00:46:26 +0000 (02:46 +0200)]
Only print class name in debug output if there's one available

12 years agoOnly printout class name in tracing, if one is available
Behdad Esfahbod [Fri, 11 May 2012 00:40:42 +0000 (02:40 +0200)]
Only printout class name in tracing, if one is available

Makes debug output much more pleasant.

12 years agoMinor
Behdad Esfahbod [Fri, 11 May 2012 00:34:06 +0000 (02:34 +0200)]
Minor

12 years agoAdd return annotation for APPLY
Behdad Esfahbod [Fri, 11 May 2012 00:33:11 +0000 (02:33 +0200)]
Add return annotation for APPLY

12 years ago/Minor/
Behdad Esfahbod [Fri, 11 May 2012 00:19:41 +0000 (02:19 +0200)]
/Minor/

12 years agoAnnotate SANITIZE return values
Behdad Esfahbod [Thu, 10 May 2012 23:25:34 +0000 (01:25 +0200)]
Annotate SANITIZE return values

More to come, for APPLY, CLOSURE, etc.

12 years agoMinor
Behdad Esfahbod [Thu, 10 May 2012 22:52:16 +0000 (00:52 +0200)]
Minor

12 years agoCode reshuffling
Behdad Esfahbod [Thu, 10 May 2012 22:50:38 +0000 (00:50 +0200)]
Code reshuffling

12 years agoBeautify debug output
Behdad Esfahbod [Thu, 10 May 2012 22:16:40 +0000 (00:16 +0200)]
Beautify debug output

12 years agoMore massaging trace messaging
Behdad Esfahbod [Thu, 10 May 2012 21:24:43 +0000 (23:24 +0200)]
More massaging trace messaging

12 years agoMinor
Behdad Esfahbod [Thu, 10 May 2012 21:09:48 +0000 (23:09 +0200)]
Minor

12 years agoBetter trace message support infrastructure
Behdad Esfahbod [Thu, 10 May 2012 21:06:58 +0000 (23:06 +0200)]
Better trace message support infrastructure

We have varargs in the trace interface now.  To be used soon...

12 years ago[Indic] Towards better Reph positioning
Behdad Esfahbod [Thu, 10 May 2012 19:44:50 +0000 (21:44 +0200)]
[Indic] Towards better Reph positioning

Fixed for Deva cases with two full-form consonants.  Failures **way** down.
Not much left to go :-).

12 years ago[Indic] Add Ra back for scripts without Reph
Behdad Esfahbod [Thu, 10 May 2012 19:20:37 +0000 (21:20 +0200)]
[Indic] Add Ra back for scripts without Reph

We now check that the 'rphp' table exists before forming Reph, so
we don't need to comment out Ra for those scripts.

12 years ago[Indic] Add note re Uniscribe clusters
Behdad Esfahbod [Thu, 10 May 2012 16:38:22 +0000 (18:38 +0200)]
[Indic] Add note re Uniscribe clusters

12 years ago[Indic] Do clustering like Uniscribe does
Behdad Esfahbod [Thu, 10 May 2012 16:34:34 +0000 (18:34 +0200)]
[Indic] Do clustering like Uniscribe does

Hindi Wikipedia failures down to 6639 (0.938381%)!

12 years ago[Indic] Add test for matra group
Behdad Esfahbod [Thu, 10 May 2012 16:31:17 +0000 (18:31 +0200)]
[Indic] Add test for matra group

The spec says: "[{M}+[N]+[H]]", and that's what Uniscribe implements.
We instead do: "{M+[N]+[H]}", which means we allow Nukta and Halant
after all Matras, not just the last one.  It makes more sense.

12 years ago[Indic] Reorder Reph to before the Halant after Matras
Behdad Esfahbod [Thu, 10 May 2012 13:41:04 +0000 (15:41 +0200)]
[Indic] Reorder Reph to before the Halant after Matras

Uniscribe doesn't do it, but we want to do as it gives the Reph the
opportunity to interact with the Matras.  Test with mangal for example.
Sequence: <0930,094d,0915,094b,094d>
In test suite already.

12 years ago[Indic] Don't clear the mask for Reph
Behdad Esfahbod [Thu, 10 May 2012 13:28:27 +0000 (15:28 +0200)]
[Indic] Don't clear the mask for Reph

This was removing the mandatory global 1 bit in the mask and hence
disabling GPOS for Reph!

12 years ago[Indic] Improve Left Matra repositioning
Behdad Esfahbod [Thu, 10 May 2012 12:48:25 +0000 (14:48 +0200)]
[Indic] Improve Left Matra repositioning

Move its dependents too.

12 years ago[Indic] Add tricky reordering test cases
Behdad Esfahbod [Thu, 10 May 2012 12:43:53 +0000 (14:43 +0200)]
[Indic] Add tricky reordering test cases

In the case of Consonant,LeftMatra,Halant, Uniscribe leaves the Halant
where it is, but we want to move it with the Matra as that makes more
logical sense.

12 years ago[Indic] Do Reph repositioning in final reordering like the spec says
Behdad Esfahbod [Thu, 10 May 2012 11:45:52 +0000 (13:45 +0200)]
[Indic] Do Reph repositioning in final reordering like the spec says

This introduced a failure, which we tracked down to a test case like this:

  U+092E,U+094B,U+094D,U+0930

The final character is a Ra that should be put in a syllable of it's
own.  And we do.  But it will interact with the Halant before it.  So
now we finally are convinced that we have to limit features to syllable
boundaries.  That's coming after lunch!

12 years agoMinor
Behdad Esfahbod [Thu, 10 May 2012 11:09:08 +0000 (13:09 +0200)]
Minor

12 years ago[Indic] Reorder left matras to be closer to base
Behdad Esfahbod [Thu, 10 May 2012 10:53:53 +0000 (12:53 +0200)]
[Indic] Reorder left matras to be closer to base

12 years ago[Indic] Treat the standalone cluster case reusing the consonant logic
Behdad Esfahbod [Thu, 10 May 2012 10:20:21 +0000 (12:20 +0200)]
[Indic] Treat the standalone cluster case reusing the consonant logic

12 years ago[Indic] Minor
Behdad Esfahbod [Thu, 10 May 2012 10:17:16 +0000 (12:17 +0200)]
[Indic] Minor

12 years ago[Indic] Handle Vowel syllables
Behdad Esfahbod [Thu, 10 May 2012 10:07:33 +0000 (12:07 +0200)]
[Indic] Handle Vowel syllables

Reusing the consonant logic!

12 years ago[Indic] Simplify Reph logic
Behdad Esfahbod [Thu, 10 May 2012 09:41:51 +0000 (11:41 +0200)]
[Indic] Simplify Reph logic

12 years ago[Indic] Don't form Reph is Ra is the only consonant in the syllable
Behdad Esfahbod [Thu, 10 May 2012 09:37:42 +0000 (11:37 +0200)]
[Indic] Don't form Reph is Ra is the only consonant in the syllable

12 years ago[Indic] Increase max syllable length
Behdad Esfahbod [Thu, 10 May 2012 09:32:52 +0000 (11:32 +0200)]
[Indic] Increase max syllable length

20 was way too low, one could hit a syllable with 7ish consonants with it.

12 years ago[Indic] Adjust base after sorting
Behdad Esfahbod [Thu, 10 May 2012 09:31:20 +0000 (11:31 +0200)]
[Indic] Adjust base after sorting

12 years ago[Indic] Don't return for long syllables. Just not sort.
Behdad Esfahbod [Thu, 10 May 2012 08:51:38 +0000 (10:51 +0200)]
[Indic] Don't return for long syllables.  Just not sort.

12 years agoFix Uniscribe clusters with multiple items
Behdad Esfahbod [Wed, 9 May 2012 17:10:07 +0000 (19:10 +0200)]
Fix Uniscribe clusters with multiple items

12 years ago[Indic] Don't give up syllable parsing upon junk
Behdad Esfahbod [Wed, 9 May 2012 16:57:37 +0000 (18:57 +0200)]
[Indic] Don't give up syllable parsing upon junk

12 years ago[Indic] Towards multi-cluster syllables and final reordering
Behdad Esfahbod [Wed, 9 May 2012 15:56:03 +0000 (17:56 +0200)]
[Indic] Towards multi-cluster syllables and final reordering

12 years agoCombine lig_id and lig_comp into one byte, to free up one for Indic
Behdad Esfahbod [Wed, 9 May 2012 15:53:13 +0000 (17:53 +0200)]
Combine lig_id and lig_comp into one byte, to free up one for Indic

12 years agoMinor
Behdad Esfahbod [Wed, 9 May 2012 15:40:00 +0000 (17:40 +0200)]
Minor

12 years ago[Indic] Make room for more reordering positions
Behdad Esfahbod [Wed, 9 May 2012 15:24:39 +0000 (17:24 +0200)]
[Indic] Make room for more reordering positions

12 years ago[Indic] Improve matra vs consonant ordering
Behdad Esfahbod [Wed, 9 May 2012 13:56:35 +0000 (15:56 +0200)]
[Indic] Improve matra vs consonant ordering

Another 1.5% down.

12 years ago[Indic] Categorize Anudatta
Behdad Esfahbod [Wed, 9 May 2012 13:41:51 +0000 (15:41 +0200)]
[Indic] Categorize Anudatta

12 years ago[Indic] Add joiner test cases for Devanagari
Behdad Esfahbod [Wed, 9 May 2012 13:27:56 +0000 (15:27 +0200)]
[Indic] Add joiner test cases for Devanagari

12 years ago[Indic] Make sure Reph jumps over all matras to the right
Behdad Esfahbod [Wed, 9 May 2012 13:21:13 +0000 (15:21 +0200)]
[Indic] Make sure Reph jumps over all matras to the right

Another 12 thousand failures gone! (78 to go)

12 years ago[Indic] Keep Vedic signs at the right too
Behdad Esfahbod [Wed, 9 May 2012 13:04:58 +0000 (15:04 +0200)]
[Indic] Keep Vedic signs at the right too

12 years agoReplace zerowidth invisible chars with a zero-advance space glyph
Behdad Esfahbod [Wed, 9 May 2012 13:04:13 +0000 (15:04 +0200)]
Replace zerowidth invisible chars with a zero-advance space glyph

Like Uniscribe does.

12 years ago[indic] Keep the syllable modifier marks to the right
Behdad Esfahbod [Wed, 9 May 2012 11:23:27 +0000 (13:23 +0200)]
[indic] Keep the syllable modifier marks to the right

Shaping failures on Hindi Wikipedia go down from 25% to 14%!

12 years agoMinor
Behdad Esfahbod [Wed, 9 May 2012 10:37:27 +0000 (12:37 +0200)]
Minor

12 years agoMinor
Behdad Esfahbod [Wed, 9 May 2012 10:03:09 +0000 (12:03 +0200)]
Minor

12 years ago[indic] Better Reph matching
Behdad Esfahbod [Wed, 9 May 2012 09:43:43 +0000 (11:43 +0200)]
[indic] Better Reph matching

12 years agoMinor
Behdad Esfahbod [Wed, 9 May 2012 09:38:31 +0000 (11:38 +0200)]
Minor

12 years ago[indic] Apply Indic features in order
Behdad Esfahbod [Wed, 9 May 2012 09:07:18 +0000 (11:07 +0200)]
[indic] Apply Indic features in order

12 years ago[indic] Apply rakaar forms
Behdad Esfahbod [Wed, 9 May 2012 09:06:47 +0000 (11:06 +0200)]
[indic] Apply rakaar forms

Fixes 10% of the failures against all of Hindi Wikipedia!

12 years agoAdd hb-diff-ngrams
Behdad Esfahbod [Wed, 9 May 2012 07:54:54 +0000 (09:54 +0200)]
Add hb-diff-ngrams

12 years agoAdd N-gram generator
Behdad Esfahbod [Wed, 9 May 2012 06:57:29 +0000 (08:57 +0200)]
Add N-gram generator

12 years agoUse groupby()
Behdad Esfahbod [Wed, 9 May 2012 06:16:15 +0000 (08:16 +0200)]
Use groupby()

12 years agoAdd hb-diff-stat
Behdad Esfahbod [Wed, 9 May 2012 05:45:17 +0000 (07:45 +0200)]
Add hb-diff-stat

12 years agoMake hb-diff-filter-failtures retain all test info for failed tests
Behdad Esfahbod [Wed, 9 May 2012 05:30:07 +0000 (07:30 +0200)]
Make hb-diff-filter-failtures retain all test info for failed tests

12 years agoAdd hb-diff-colorize
Behdad Esfahbod [Tue, 8 May 2012 21:41:41 +0000 (23:41 +0200)]
Add hb-diff-colorize

Accepts --format=html now.

12 years agoCleanup diff
Behdad Esfahbod [Tue, 8 May 2012 20:44:21 +0000 (22:44 +0200)]
Cleanup diff

Doesn't do --color anymore.  That will go into a new hb-diff-colorize
tool.

12 years agoMake hb-diff faster
Behdad Esfahbod [Tue, 8 May 2012 17:38:49 +0000 (19:38 +0200)]
Make hb-diff faster

12 years agoMore tests
Behdad Esfahbod [Tue, 8 May 2012 16:55:29 +0000 (18:55 +0200)]
More tests

12 years agoFix warning and build issues
Behdad Esfahbod [Sat, 5 May 2012 20:38:20 +0000 (22:38 +0200)]
Fix warning and build issues

As reported by Jonathan Kew on the list.