1. 18 2月, 2016 2 次提交
    • R
      Add line breaks to email addresses and URLs · 6d15657e
      Raph Levien 提交于
      This change adds accceptable line breaks according to sections 7.42
      (Dividing URLs and e-mail addresses) and 14.12 (URLs or DOIs and line
      breaks) of the Chicago Manual of Style (16th ed.). In general, these
      place breaks before punctuation symbols, and suppresses them after
      hyphens.
      
      Bug: 20126487
      Bug: 20566159
      Change-Id: I2d07d516b920a506a2f718c38fb435c5eb1ee1f8
      6d15657e
    • R
      Special-case URLs and email addresses for line breaking · 9c4cc648
      Raph Levien 提交于
      Detect URLs and email addresses, and suppress both line breaking and
      hyphenation within them.
      
      Bug: 20126487
      Bug: 20566159
      
      Change-Id: I43629347a063dcf579e355e5b678d7195f453ad9
      9c4cc648
  2. 17 2月, 2016 1 次提交
    • R
      Refine hyphenation around punctuation · 57b6dae9
      Raph Levien 提交于
      Implement a WordBreaker that defines our concept of valid word
      boundaries, customizing the ICU behavior. Currently, we suppress line
      breaks at soft hyphens (these are handled specially). Also, the
      new WordBreaker class has methods that determine the start and end
      of the word (punctuation stripped) for the purpose of hyphenation.
      
      This patch, in its current form, doesn't handle email addresses and
      URLs specially, but the WordBreaker class is the correct place to do
      so. Also, special case handling of hyphens and dashes is still done
      in LineBreaker, but all of that should be moved to WordBreaker.
      
      Bug: 20126487
      Bug: 20566159
      Change-Id: I492cbad963f9b74a2915f010dad46bb91f97b2fe
      57b6dae9
  3. 12 2月, 2016 1 次提交
  4. 08 2月, 2016 1 次提交
  5. 04 2月, 2016 1 次提交
    • S
      Improve Paint.hasGlyph performance by caching hb_font_t · 89e80237
      Seigo Nonaka 提交于
      It turned out that hb_font_t creation is not a lightweight operation.
      Especially, Paint.hasGlyph creates hb_font_t for all existing fonts
      every time. To improve the performance, cache hb_font_t instead
      of hb_face_t.
      
      Note that to calculate horizontal advance, MinikinPaint needs to be
      associated with hb_font_t by calling hb_font_set_funcs. With this patch,
      hb_font_set_funcs may be called multiple times for the same hb_font_t
      object. However this is not an issue since MinikinPaint is unique
      during layout.
      
      Bug: 26784699
      
      Change-Id: I516498ae9f0127d700fc9829327e9789845a1416
      89e80237
  6. 26 1月, 2016 3 次提交
  7. 21 1月, 2016 1 次提交
  8. 16 1月, 2016 8 次提交
  9. 15 1月, 2016 1 次提交
    • S
      Introduce multiple language based font fallback. · 6f9966ea
      Seigo Nonaka 提交于
      The motivation of this CL is enhance the font fallback score design
      to support multiple language font fallback.
      
      This CL contains following changes:
      - Break language based font score into two: script-based score and
        primary-language-based score.
      - The primary-language-based score is 0 if the script-based score is 0.
        If the script-based score is not 0 and the primary language is the
        as same as the requested one, the font gets an extra score of 1.
      - The language score gets a higher multiplier for languages higher in
        the locale list.
      
      Bug: 25122318
      Bug: 26168983
      Change-Id: Ib999997a88e6977e341f4c325e2a1b41a59db2d5
      6f9966ea
  10. 14 1月, 2016 4 次提交
  11. 08 1月, 2016 2 次提交
  12. 07 1月, 2016 12 次提交
  13. 06 1月, 2016 3 次提交
    • S
      Fix lock assertion failures in unit test. · 2342e531
      Seigo Nonaka 提交于
      The assertion for the lock state has now activated by
      I9c4b1e1f09c6793e387fbdb8bb654cc0a13c65d5.
      This CL fixes the assertion failure in the unit tests by acquiring
      lock before calling the functions.
      
      Change-Id: I6a6afefb4de01e8610c2abfe6c779afa9442cc67
      2342e531
    • S
      Merge "Fix race condition in Paint.hasGlyph()" · 7564b7fd
      Seigo Nonaka 提交于
      7564b7fd
    • S
      Fix race condition in Paint.hasGlyph() · a6f5c468
      Seigo Nonaka 提交于
      The caller of FontFamily::hasVariationSelector needs to acquire the
      lock before calling it, but FontCollection::hasVariationSelector
      didn't acquire the lock. This caused a race condition.
      This CL fixes this race condition.
      
      Also, it turned out that assertMinikinLocked didn't assert even on
      eng or userdebug device. This CL enables assertion on eng and userdebug
      device since this assertion must be treated as bug.
      
      BUG: 26323806
      
      Change-Id: I9c4b1e1f09c6793e387fbdb8bb654cc0a13c65d5
      a6f5c468