summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* More verbose outputtest-branchMatthias Clasen2019-07-161-4/+12
|
* Insert hyphens in more placesMatthias Clasen2019-07-161-2/+21
| | | | | | Look for whether the char before the break is not whitespace and doesn't look like a hyphen.
* testiter: verboseMatthias Clasen2019-07-161-0/+3
|
* glyph iter: Relax assertionsMatthias Clasen2019-07-161-2/+2
| | | | | | | Now that we are inserting glyphs out of thin air, we can end up with clusters that have start_char == end_char. Allowing that does not obviously cause any issues.
* Update test outcomesMatthias Clasen2019-07-161-14/+13
| | | | | One of the layout tests actually detects that we no longer insert an extra run for the hyphen.
* Don't insert extra runs for hyphensMatthias Clasen2019-07-161-38/+41
| | | | | | | | | Instead, reshape the pre-break run with the soft hyphen replaced by an actual hyphen. This is unfortunately inefficient, we copy the entire text for this. The alternative (scatter-gather populating the harfbuzz buffer) is too hard to manage.
* NEWS: Some more updatesMatthias Clasen2019-07-161-2/+1
|
* Merge branch 'tailor-break' into 'master'Matthias Clasen2019-07-164-64/+108
|\ | | | | | | | | Tailor break See merge request GNOME/pango!86
| * Deprecate pango_breakMatthias Clasen2019-07-162-13/+10
| | | | | | | | | | To break correctly, use pango_default_break and pango_tailor_break.
| * layout: Tailor breaks properlyMatthias Clasen2019-07-161-35/+47
| | | | | | | | | | | | Call pango_default_break on the entire text, and then pango_tailor_break on segments with homogeneous language and script.
| * Add pango_tailor_breakMatthias Clasen2019-07-163-16/+51
| | | | | | | | | | | | This function lets you apply language-specific tailoring on top of breaks produced by pango_default_break.
* | cairo win32: Set height in font metricsMatthias Clasen2019-07-161-4/+3
| |
* | ci: Go back to using line spacingMatthias Clasen2019-07-161-1/+1
| | | | | | | | | | Now that we know that line height is to blame for this misrendering, go back to using it.
* | Merge branch 'win32-ci' into 'master'Matthias Clasen2019-07-163-35/+44
|\ \ | | | | | | | | | | | | ci: Print font metrics in fontlist.txt See merge request GNOME/pango!90
| * | ci: Try again to get metrics on win32Matthias Clasen2019-07-162-3/+1
| | |
| * | pango-list: Add a --metrics optionMatthias Clasen2019-07-161-32/+43
| | | | | | | | | | | | | | | Make the output a bit more compact, and optionally print out font metrics as well.
* | | context: Treat metrics height like ascent+descentMatthias Clasen2019-07-161-0/+1
|/ / | | | | | | | | | | PangoContext has somewhat redundant code to create metrics, which wasn't treating the new height member like it should.
* | Try one more timeMatthias Clasen2019-07-162-1/+2
| |
* | Try again to get the paths rightMatthias Clasen2019-07-162-2/+1
| |
* | Typo fixMatthias Clasen2019-07-161-1/+1
| |
* | pango-list: Fix a compiler warningMatthias Clasen2019-07-161-0/+1
| |
* | ci: We need verbose outputMatthias Clasen2019-07-162-0/+3
| |
* | Fix the buildMatthias Clasen2019-07-161-1/+1
| |
* | ci: Use an existing fontMatthias Clasen2019-07-161-2/+7
| | | | | | | | | | We don't care about the particular font here, we just want to list font metrics of an existing font.
* | ci: Print fontmap implementation in useMatthias Clasen2019-07-162-2/+2
| | | | | | | | Know the environment.
* | pango-list: Add a --verbose optionMatthias Clasen2019-07-161-0/+23
| |
* | ci: Use a file extensionMatthias Clasen2019-07-163-4/+4
| |
* | ci: produce a font listMatthias Clasen2019-07-162-0/+9
| | | | | | | | Know the environment.
* | Add a test that prints out font metricsMatthias Clasen2019-07-161-1/+44
| | | | | | | | | | This is to confirm whether fonts report a nonzero height on Windows.
* | ci: Render without line spacingMatthias Clasen2019-07-161-1/+1
| | | | | | | | To confirm whether this is the problem on win32.
* | pango-view: Make it possible to turn line-spacing offMatthias Clasen2019-07-161-4/+6
| |
* | Fix a typoMatthias Clasen2019-07-161-1/+1
| |
* | ci: Try to make pango-view work on win32Matthias Clasen2019-07-161-1/+1
| |
* | ci: Install cantarell on win32Matthias Clasen2019-07-161-1/+2
| |
* | Add rendering for windows ci tooMatthias Clasen2019-07-162-1/+8
| |
* | Fix up meson syntaxMatthias Clasen2019-07-161-1/+1
| |
* | Get the paths rightMatthias Clasen2019-07-161-2/+2
| |
* | Collect the artifact tooMatthias Clasen2019-07-162-0/+1
| |
* | Try to get rendered output from ciMatthias Clasen2019-07-161-0/+1
| | | | | | | | | | | | The eventual goal is to have a quick way of seeing whether rendering is broken on other platforms. For starters, do this for linux.
* | Add another layout testMatthias Clasen2019-07-162-0/+51
| | | | | | | | | | | | | | This tests a situation in which we had a crash until recently: Multiple paragraphs, with no-break attributes. We used to free the no-break attribute list prematurely.
* | layout: Don't free no_break_attributes prematurelyMatthias Clasen2019-07-161-4/+4
|/ | | | | We use them in a loop. Don't free them before the loop is done.
* Merge branch 'trivial-pre-c99-fix' into 'master'Matthias Clasen2019-07-151-2/+2
|\ | | | | | | | | pangofc-font.c: Trivial fix on pre-C99 compilers See merge request GNOME/pango!88
| * pangofc-font.c: Trivial fix on pre-C99 compilersChun-wei Fan2019-07-151-2/+2
|/ | | | Make sure we declare variables at the top of the block.
* Merge branch 'use-hb-fallback-only-when-needed' into 'master'Matthias Clasen2019-07-151-7/+16
|\ | | | | | | | | build: Only use fallback dependency for HarfBuzz when needed See merge request GNOME/pango!87
| * build: Only use fallback dependency for HarfBuzz when neededChun-wei Fan2019-07-151-7/+16
| | | | | | | | | | | | | | | | | | | | Unfortunately the CMake dependency discovery mechanism is broken in Meson, so on MSVC builds we still look first for the HarfBuzz headers and .lib's, and ensure that they are 2.0.0 or later, before we try to use the fallback dependency. We do, however, want to make use of the fallback if HarfBuzz cannot be found since HarfBuzz is now a hard dependency of Pango for all builds.
* | layout: Avoid access-after-freeMatthias Clasen2019-07-151-2/+4
|/ | | | | insert_run (... TRUE) frees the need_hyphen array, so we need to check for the hyphen beforehand.
* Add a layout test with soft hyphensMatthias Clasen2019-07-142-0/+42
|
* test-layout: Be robust against odd runsMatthias Clasen2019-07-141-16/+4
| | | | | This causes some changes in the output. Update expected output.
* layout: Improve soft hyphen handlingMatthias Clasen2019-07-141-1/+8
| | | | | | | | | | | Point the item that we create for the inserted hyphen at the SHY in the paragraph text, shortening the previous run by one character. It would be nicer to not insert an extra run at all and just reshape the previous one in a way that maps the SHY to a hyphen, but that is more difficult to do as long as we are going through the shape engine API.
* layout: Fix some offset-vs-index confusionMatthias Clasen2019-07-141-32/+54
| | | | | | | | | | | | | | | | | We had some sad cases where we used a char offset as a byte index, with the expected bad results once there are multibyte characters in the mix. Instead of poking at the text in the middle of line-breaking, go back to keeping a plain array of positions that need a hyphen inserted. We maintain this array in parallel to the existing log_widths array, so hopefully the offset math is working out now. It is tempting to look at log_attrs.is_white for this, but that gives us double hyphens when breaks are taken at explicit hyphens. So, keep this information separately.