1. 13 4月, 2016 1 次提交
    • R
      Clear mLineWidths in LineBreaker::finish() · 879e8a3a
      Raph Levien 提交于
      There was the possibility of stale indents from previous invocations
      persisting in the mLineWidths across multiple invocations. This patch
      clears them.
      
      Bug: 28090810
      Change-Id: I3621dfbe983512046289373711709aeade52eab4
      879e8a3a
  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. 09 6月, 2015 1 次提交
    • R
      Increase hyphenation penalty for short last line · abae97a3
      Raph Levien 提交于
      Tuning for hyphenation parameters. We discourage hyphenation on the
      last line, but offset this penalty by also applying a penalty for
      each line, which optimizes for minimizing the number of lines. Thus,
      when hyphenation can reduce the number of lines, it increases the
      chance they're used.
      
      There's probably more tuning and refinement that can be done, but
      testing suggests that the tunable parameters are appropriate.
      
      Bug: 20883322
      
      Change-Id: Ida7eaf8aced109e426694f5a386924a842d29c4b
      abae97a3
  4. 13 5月, 2015 1 次提交
    • R
      Support hyphenation frequency in Minikin. · 0dc07c0b
      Roozbeh Pournader 提交于
      Three hyphenation frequencies are now supported:
      
      kHyphenationFrequency_None, which turns off both automatic
      hyphenation and soft hyphens.
      
      kHyphenationFrequency_Normal, which has aconservative amount of
      hyphenation useful as a conservative default.
      
      kHyphenationFrequency_Full, which has a typographic-quality amount of
      hyphenation useful for running text and tight screens.
      
      Bug: 21038249
      Change-Id: I2800f718c887c9389a1a059d7ec07d7fa2ca1dee
      0dc07c0b
  5. 16 4月, 2015 2 次提交
    • R
      Rename "margins" to "indents" · bb86b433
      Raph Levien 提交于
      The name "margin" conflicts with another meaning, so we're making the
      name in the public api "idents" and the code consistent in naming.
      
      Change-Id: I9170116b4d972e4b25f0f319e78376310288eb41
      bb86b433
    • R
      Add margins array to line widths object · dc7bc6e3
      Raph Levien 提交于
      In order to support layout in non-rectangular regions, the LineWidths
      object needs to accept an arbitrary array of margins. This is
      implemented in addition to the existing firstWidthLineCount/restWidth
      mechanism for convenience, though using only arrays would have the
      same expressive power.
      
      Bug: 20182243
      Change-Id: Iea96bca1a92012314ac27e617c67f306c1f1b2f2
      dc7bc6e3
  6. 31 3月, 2015 3 次提交
  7. 27 3月, 2015 1 次提交
    • R
      Add LineBreaker to Minikin · 01f52661
      Raph Levien 提交于
      This patch adds a LineBreaker class to Minikin, which will be used for
      computing line breaks in StaticLayout. The version in this patch
      contains basically the same functionality that existed before, but
      hopefully better performance and an interface that's suitable for more
      sophisticated paragraph layout.
      
      Note that this version contains a high quality strategy, which mostly
      works but doesn't respect varying line width.
      
      Change-Id: I02485d58b1e52856296a72cdd4efd963bc572933
      01f52661