1. 06 6月, 2014 1 次提交
    • B
      [indic] Don't reorder reph/pref if ligature was expanded · 832a6f99
      Behdad Esfahbod 提交于
      Normally if you want to, say, conditionally prevent a 'pref', you
      would use blocking contextual matching.  Some designers instead
      form the 'pref' form, then undo it in context.  To detect that
      we now also remember glyphs that went through MultipleSubst.
      
      In the only place that this is used, Uniscribe seems to only care
      about the "last" transformation between Ligature and Multiple
      substitions.  Ie. if you ligate, expand, and ligate again, it
      moves the pref, but if you ligate and expand it doesn't.  That's
      why we clear the MULTIPLIED bit when setting LIGATED.
      
      Micro-test added.  Test: U+0D2F,0D4D,0D30 with font from:
      
      [1]
      https://code.google.com/a/google.com/p/noto-alpha/issues/detail?id=186#c29
      832a6f99
  2. 03 6月, 2014 1 次提交
  3. 30 5月, 2014 1 次提交
  4. 28 5月, 2014 6 次提交
  5. 24 5月, 2014 3 次提交
  6. 23 5月, 2014 7 次提交
  7. 22 5月, 2014 1 次提交
  8. 16 5月, 2014 1 次提交
  9. 26 4月, 2014 1 次提交
  10. 19 4月, 2014 1 次提交
    • B
      [indic] Fix-up zero-context matching · 828e109c
      Behdad Esfahbod 提交于
      commit b5a0f69e
      Author: Behdad Esfahbod <behdad@behdad.org>
      Date:   Thu Oct 17 18:04:23 2013 +0200
      
          [indic] Pass zero-context=false to would_substitute for newer scripts
      
          For scripts without an old/new spec distinction, use zero-context=false.
          This changes behavior in Sinhala / Khmer, but doesn't seem to regress.
          This will be useful and used in Javanese.
      
      The *intention* was to change zero-context from true to false for scripts that
      don't have old-vs-new specs.  However, checking the code, looks like we
      essentially change zero-context to always be true; ie. we only changed things
      for old-spec, and we broke them.  That's what causes this bug:
      
        https://bugs.freedesktop.org/show_bug.cgi?id=76705
      
      The root of the bug is here:
      
        /* Use zero-context would_substitute() matching for new-spec of the main
         * Indic scripts, but not for old-spec or scripts with one spec only. */
        bool zero_context = indic_plan->config->has_old_spec || !indic_plan->is_old_spec;
      
      Note that is_old_spec itself is:
      
        indic_plan->is_old_spec = indic_plan->config->has_old_spec && ((plan->map.chosen_script[0] & 0x000000FF) != '2');
      
      It's easy to show that zero_context is now always true.  What we really meant was:
      
        bool zero_context = indic_plan->config->has_old_spec && !indic_plan->is_old_spec;
      
      Ie, "&&" instead of "||".  We made this change supposedly to make Javanese
      work.  But apparently we got it working regardless!  So I'm going to fix this
      to only change the logic for old-spec and not touch other cases.
      828e109c
  11. 09 4月, 2014 1 次提交
  12. 31 12月, 2013 1 次提交
  13. 28 10月, 2013 2 次提交
    • B
      Revert "Zero marks by GDEF for Tibetan" · 71b4c999
      Behdad Esfahbod 提交于
      This reverts commit d5bd0590.
      
      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:
      
        7e08f125
      
      So, revert the faulty commit and everything seems to be in good
      shape.
      71b4c999
    • B
      [indic] Adjust pref reordering logic · 46a863d9
      Behdad Esfahbod 提交于
      For Javanese (pref_len == 1) only reorder if it didn't ligate.  That's
      sensible, and what the spec says.  For other Indic (pref_len > 1)
      only reorder if ligated.
      
      Doesn't change any test numbers.
      46a863d9
  14. 19 10月, 2013 3 次提交
    • B
      [indic] Improve positioning of post-base bells and whistles · ddce2d8d
      Behdad Esfahbod 提交于
      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
      
      Test with U+0CB0,U+200D,U+0CCD,U+0C95,U+0CBF and tunga.ttf.
      
      Improves some scripts.  Improves Bengali too, but numbers
      are up because we produce better results than Uniscribe for some
      sequences now.
      
      New numbers:
      BENGALI: 353724 out of 354188 tests passed. 464 failed (0.131004%)
      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: 1048140 out of 1048334 tests passed. 194 failed (0.0185056%)
      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%)
      ddce2d8d
    • B
    • B
      [indic] Add Javanese support! · c16012e9
      Behdad Esfahbod 提交于
      Seems to be working just fine!
      c16012e9
  15. 18 10月, 2013 9 次提交
  16. 17 10月, 2013 1 次提交