1. 18 Nov, 2021 4 commits
  2. 17 Nov, 2021 8 commits
  3. 16 Nov, 2021 9 commits
  4. 15 Nov, 2021 7 commits
    • Benjamin Otte's avatar
      tests: Add spiced up wrapping tests · 3eae7170
      Benjamin Otte authored and Matthias Clasen's avatar Matthias Clasen committed
      * Generate random string that looks like a sentence.
      * Measure the size at 100 random widths.
      * assert that for those widths, when sorted, the measured widths
        are increasing and the heights are decreasing.
      
      * Generate random string that looks like a sentence.
      * Generate a 2nd string adding hyphen + newline after every char of
        original string.
      * Assert that wrap-char wrap with width=0 is not larger than the width
        of the 2nd string
      
      The tests also generate random strings in LTR, RTL or both at the same
      time to spice the test up even more.
      It does that by picking random words out of hunspell directories, and if
      none are installed, it falls back to lorem ipsum.
      3eae7170
    • Matthias Clasen's avatar
      Merge branch 'line-breaking-fixes3' into 'main' · 9f82d3e4
      Matthias Clasen authored
      More line breaking fixes
      
      See merge request !507
      9f82d3e4
    • Matthias Clasen's avatar
      Update affected tests · eab03caa
      Matthias Clasen authored
      Some of the layout tests now get better line breaks.
      eab03caa
    • Matthias Clasen's avatar
      More tweaks, and comments · 8d91031a
      Matthias Clasen authored
      8d91031a
    • Matthias Clasen's avatar
      Go back to an array for disabled breakpoints · ff08cc43
      Matthias Clasen authored
      It turns out that we do need to look for longer breakpoints
      after all if we want to find optimal solutions.
      ff08cc43
    • Matthias Clasen's avatar
      Fix line-break accounting more · 3a566950
      Matthias Clasen authored
      When looking for breakpoints, we were assuming that
      there is no point to keep looking forward once we
      hit a spot where the broken off part is too long.
      
      But with hyphen insertion, that is no longer true,
      necessarily. Consider 'bli '. Breaking after 'bl'
      will insert 'bl-', which might be longer than
      'bli', which is what will be inserted when we
      break after the i.
      
      To fix this, keep looking for breakpoints as long
      as there is still a chance to find one.
      3a566950
    • Matthias Clasen's avatar
      Improve the BREAK_ALL_FIT case · cadc688f
      Matthias Clasen authored
      We always need to check if we still fit, after shaping.
      The width we use before is just an estimate.
      cadc688f
  5. 14 Nov, 2021 2 commits
    • Matthias Clasen's avatar
      layout: Simplify things one more time · f7e1c633
      Matthias Clasen authored
      The key insight here is that if we find a broken item
      does not fit, we are only interested in finding an
      *earlier* breakpoint - the later ones aren't going
      to produce a shorter run.
      
      So we can just keep track of the last char we want
      to allow breaking at.
      
      This fixes the case of finding the minimum width
      with wrap mode PANGO_WRAP_WORD.
      f7e1c633
    • Matthias Clasen's avatar
      Cosmetics · 320b0750
      Matthias Clasen authored
      320b0750
  6. 13 Nov, 2021 3 commits
  7. 12 Nov, 2021 7 commits