1. 05 1月, 2018 1 次提交
    • B
      [khmer] Split off Khmer shaper from Indic · dcf4d95f
      Behdad Esfahbod 提交于
      Towards fixing https://github.com/harfbuzz/harfbuzz/issues/667
      The Khmer spec is different enough from other Indic ones to require
      its own grammar.
      
      No change in functionality.  Test numbers are:
      
      BENGALI: 353725 out of 354188 tests passed. 463 failed (0.130722%)
      DEVANAGARI: 707307 out of 707394 tests passed. 87 failed (0.0122987%)
      GUJARATI: 366355 out of 366457 tests passed. 102 failed (0.0278341%)
      GURMUKHI: 60729 out of 60747 tests passed. 18 failed (0.0296311%)
      KANNADA: 951300 out of 951913 tests passed. 613 failed (0.0643966%)
      KHMER: 299071 out of 299124 tests passed. 53 failed (0.0177184%)
      MALAYALAM: 1048136 out of 1048334 tests passed. 198 failed (0.0188871%)
      ORIYA: 42320 out of 42329 tests passed. 9 failed (0.021262%)
      SINHALA: 271662 out of 271847 tests passed. 185 failed (0.068053%)
      TAMIL: 1091754 out of 1091754 tests passed. 0 failed (0%)
      TELUGU: 970555 out of 970573 tests passed. 18 failed (0.00185457%)
      dcf4d95f
  2. 03 10月, 2017 1 次提交
  3. 06 5月, 2016 1 次提交
  4. 11 12月, 2014 1 次提交
    • B
      [indic] Allow ZWJ/ZWNJ before SM · e6f80fa1
      Behdad Esfahbod 提交于
      In Oriya, a ZWJ/ZWNJ might be added before candrabindu to encourage
      or stop ligation of the candrabindu.  This is clearly specified in
      the Unicode section on Oriya.  Allow it there.  Note that Uniscribe
      doesn't allow this.
      
      Micro tests added using Noto Sans Oriya draft.
      
      No changes in numbers.  Currently at:
      
      BENGALI: 353725 out of 354188 tests passed. 463 failed (0.130722%)
      DEVANAGARI: 707307 out of 707394 tests passed. 87 failed (0.0122987%)
      GUJARATI: 366349 out of 366457 tests passed. 108 failed (0.0294714%)
      GURMUKHI: 60732 out of 60747 tests passed. 15 failed (0.0246926%)
      KANNADA: 951190 out of 951913 tests passed. 723 failed (0.0759523%)
      KHMER: 299070 out of 299124 tests passed. 54 failed (0.0180527%)
      MALAYALAM: 1048147 out of 1048334 tests passed. 187 failed (0.0178378%)
      ORIYA: 42320 out of 42329 tests passed. 9 failed (0.021262%)
      SINHALA: 271662 out of 271847 tests passed. 185 failed (0.068053%)
      TAMIL: 1091753 out of 1091754 tests passed. 1 failed (9.15957e-05%)
      TELUGU: 970555 out of 970573 tests passed. 18 failed (0.00185457%)
      e6f80fa1
  5. 30 5月, 2014 1 次提交
  6. 28 5月, 2014 1 次提交
  7. 24 5月, 2014 3 次提交
  8. 23 5月, 2014 2 次提交
  9. 24 10月, 2013 1 次提交
  10. 19 10月, 2013 1 次提交
  11. 17 10月, 2013 2 次提交
    • B
      [indic] Improve Avagraha support in machine · 1a7de1ba
      Behdad Esfahbod 提交于
      1a7de1ba
    • B
      [indic] Misc harmless fixes! · 3756efaf
      Behdad Esfahbod 提交于
      First, we were abusing OT_VD instead of OT_A.  Fix that
      but moving OT_A in the grammar where it belongs (which
      is different from what the spec says).
      
      Also, only allow medial consonants after all other
      consonants.  This doesn't affect any current character.
      
      Finally, fix Halant attachment in presence of medial
      consonants.  Again, this currently doesn't affect any
      sequence.
      
      I lied.  There's Gurmukhi U+0A75 which is Consonant_Medial.
      Uniscribe allows one of those in each of these positions:
      before matras, after matras and before syllable modifiers,
      and after syllable modifiers!  We currently just allow
      unlimited numbers of it, before matras.
      3756efaf
  12. 16 10月, 2013 1 次提交
  13. 15 10月, 2013 1 次提交
    • B
      [indic] Handle Avagraha · 3c7b3641
      Behdad Esfahbod 提交于
      It can come either at the end(ish!) of the syllable, or independently.
      When independent, it accepts a few bits and pieces.
      3c7b3641
  14. 15 2月, 2013 1 次提交
  15. 22 12月, 2012 1 次提交
  16. 06 12月, 2012 1 次提交
  17. 13 11月, 2012 1 次提交
  18. 08 9月, 2012 1 次提交
    • B
      [Indic] Find syllables before any features are applied · 166b5cf7
      Behdad Esfahbod 提交于
      With FreeSerif, it seems that the 'ccmp' feature does ligature
      substituttions.  That was then causing syllable match failures.  We now
      find syllables before any features have been applied.
      
      Test sequence: U+0D9A,U+0DCA,U+200D,U+0DBB,U+0DCF
      166b5cf7
  19. 06 9月, 2012 3 次提交
    • B
      [Indic] Allow "H,ZWJ,M" · f0b8ed1b
      Behdad Esfahbod 提交于
      Uniscribe accepts a Halant,ZWJ before matras.  Allow that.
      
      BENGALI down from 295 to 291
      DEVANAGARI down from 69 to 57
      GUJARATI down from 19 to 17
      KANNADA down from 871 to 867
      MALAYALAM down from 340 to 337
      TELUGU down from 20 to 16
      
      Currently at:
      
      BENGALI: 353897 out of 354188 tests passed. 291 failed (0.0821598%)
      DEVANAGARI: 707337 out of 707394 tests passed. 57 failed (0.00805774%)
      GUJARATI: 366440 out of 366457 tests passed. 17 failed (0.00463902%)
      GURMUKHI: 60704 out of 60747 tests passed. 43 failed (0.0707854%)
      KANNADA: 951046 out of 951913 tests passed. 867 failed (0.0910798%)
      KHMER: 299077 out of 299124 tests passed. 47 failed (0.0157125%)
      LAO: 53611 out of 53644 tests passed. 33 failed (0.0615167%)
      MALAYALAM: 1047997 out of 1048334 tests passed. 337 failed (0.0321462%)
      ORIYA: 42320 out of 42329 tests passed. 9 failed (0.021262%)
      SINHALA: 271666 out of 271847 tests passed. 181 failed (0.0665816%)
      TAMIL: 1091754 out of 1091754 tests passed. 0 failed (0%)
      TELUGU: 970557 out of 970573 tests passed. 16 failed (0.00164851%)
      TIBETAN: 208469 out of 208469 tests passed. 0 failed (0%)
      f0b8ed1b
    • B
      [Indic] Relax grammar · 4ed717ef
      Behdad Esfahbod 提交于
      Now that we insert dotted-circle, tests break more easily when our indic
      machine breaks.
      
      In particular, a few Devanagari tests were having sequences like
      "C,H,ZWJ,N", and because of the ZWJ the Nukta does NOT get reordered to
      before the Halant as the grammar used to expect...  Fixup.
      
      Another case is as simple as "C,ZWJ,SM".
      
      Fixes 10 out of 79 failures:
      
      DEVANAGARI: 707325 out of 707394 tests passed. 69 failed (0.00975411%)
      4ed717ef
    • B
      [Indic] Fix Khmer syllable-final coeng-consonant · aa7141ef
      Behdad Esfahbod 提交于
      Brings down Khmer failures from 162 to 47.
      
      KHMER: 299077 out of 299124 tests passed. 47 failed (0.0157125%)
      
      Also rebaselined some of the test files that had only-inherited lines.
      Removing those, the stats are:
      
      BENGALI: 353893 out of 354188 tests passed. 295 failed (0.0832891%)
      DEVANAGARI: 707315 out of 707394 tests passed. 79 failed (0.0111678%)
      GUJARATI: 366438 out of 366457 tests passed. 19 failed (0.00518478%)
      GURMUKHI: 60704 out of 60747 tests passed. 43 failed (0.0707854%)
      KANNADA: 951042 out of 951913 tests passed. 871 failed (0.0915%)
      KHMER: 299077 out of 299124 tests passed. 47 failed (0.0157125%)
      LAO: 53611 out of 53644 tests passed. 33 failed (0.0615167%)
      MALAYALAM: 1047994 out of 1048334 tests passed. 340 failed (0.0324324%)
      ORIYA: 42320 out of 42329 tests passed. 9 failed (0.021262%)
      SINHALA: 271666 out of 271847 tests passed. 181 failed (0.0665816%)
      TAMIL: 1091754 out of 1091754 tests passed. 0 failed (0%)
      TELUGU: 970553 out of 970573 tests passed. 20 failed (0.00206064%)
      TIBETAN: 208469 out of 208469 tests passed. 0 failed (0%)
      
      Still some regressions, but some of the more egregious cases are
      addressed.
      aa7141ef
  20. 01 9月, 2012 2 次提交
    • B
      [Indic] Implement dotted-circle insertion for broken clusters · b85800f9
      Behdad Esfahbod 提交于
      No panic, we reeally insert dotted circle when it's absolutely broken.
      
      Fixes most of the dotted-circle cases against Uniscribe. (for Devanagari
      fixes 80% of them, for Khmer 70%; the rest look like Uniscribe being
      really bogus...)
      
      I had to make a decision.  Apparently Uniscribe adds one dotted circle
      to each broken character.  I tried that, but that goes wrong easily with
      split matras.  So I made it add only one dotted circle to an entire
      broken syllable tail.  As in: "if there was a dotted circle here, this
      would have formed a correct cluster."  That works better for split
      stuff, and I like it more.
      b85800f9
    • B
      327d14ef
  21. 03 8月, 2012 1 次提交
  22. 02 8月, 2012 1 次提交
  23. 24 7月, 2012 3 次提交
    • B
      [Indic] Limit matras to 4 per syllable · dff0ece1
      Behdad Esfahbod 提交于
      Also limit joiners.
      
      This limits our syllable length to a constant, and is
      closer to what Uniscribe does anyway.
      
      Two Devanagari tests regressed, but who cares about tests with 20
      joiners in a row?!  Devanagari at 57 (0.00821766%) now.
      dff0ece1
    • B
      [Indic] End Vowel-based syllable at ZWJ · 73d71cc5
      Behdad Esfahbod 提交于
      One Devanagari test regressed, plus 10 Malayalam (at 1545 now).
      
      Fixed 120 Sinhala failures.  Now at 208 (0.0765136%).
      73d71cc5
    • B
      [Indic] Limit syllables to at most five consonants · 9fa05273
      Behdad Esfahbod 提交于
      Seems to be about what Uniscribe does.  Not exactly.  But close enough.
      More consonants will start a new cluster.
      
      A few scripts went way down in failures.  In particular:
      
        - Devanagari failures went down from 490 to 56.
        - Telugu went down from 113 to 49.
      
      Other scripts went down slightly or didn't change.  New numbers:
      
      BENGALI: 353908 out of 354285 tests passed. 377 failed (0.106412%)
      DEVANAGARI: 693572 out of 693628 tests passed. 56 failed (0.00807349%)
      GUJARATI: 366485 out of 366506 tests passed. 21 failed (0.00572978%)
      GURMUKHI: 60750 out of 60809 tests passed. 59 failed (0.0970251%)
      KANNADA: 950730 out of 951913 tests passed. 1183 failed (0.124276%)
      KHMER: 298613 out of 299124 tests passed. 511 failed (0.170832%)
      MALAYALAM: 1046881 out of 1048416 tests passed. 1535 failed (0.146411%)
      ORIYA: 42320 out of 42329 tests passed. 9 failed (0.021262%)
      SINHALA: 271333 out of 271847 tests passed. 514 failed (0.189077%)
      TAMIL: 1091837 out of 1091837 tests passed. 0 failed (0%)
      TELUGU: 970524 out of 970573 tests passed. 49 failed (0.00504856%)
      
      Some of the remaining Telugu and Devanagari issues seem to be Uniscribe
      eating Anusvara when placed before a non-joiner.  Ouch!
      9fa05273
  24. 21 7月, 2012 2 次提交
    • B
      [Indic] Allow a ZWNJ after SM's · 5791f329
      Behdad Esfahbod 提交于
      Malayalam failures go way down.  Other scripts benefitted slightly too.
      Sinhala had one or two test regressions, but...
      5791f329
    • B
      [Indic] Break syllables at Halant,ZWNJ · 9e4f94a7
      Behdad Esfahbod 提交于
      That's really what Uniscribe does, and explains a lot of pecularities of
      Halant,ZWNJ before the base.
      
      Sent Telugu from 1% failures to 0.03%.  Improved Kannada and Malayalam
      slightly.  Fixed half of Bengali, and did NOT break anything!
      9e4f94a7
  25. 19 7月, 2012 6 次提交