summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* tests: Test font roundtrips on MacOscoretext-font-describeMatthias Clasen2021-08-311-12/+5
| | | | | | We were skipping the test that would have found the brokenness in the previous fix. Lets see if we can get the test working on MacOs.
* coretext: Set size on font descriptionsMatthias Clasen2021-08-312-2/+12
| | | | | | | | Set a size on the font description returned by pango_font_describe(). Otherwise, scaling it doesn't work. Fixes: #610
* Merge branch 'matthiasc/for-main' into 'main'Matthias Clasen2021-08-301-1/+1
|\ | | | | | | | | Cosmetics See merge request GNOME/pango!463
| * CosmeticsMatthias Clasen2021-08-301-1/+1
| |
* | Merge branch 'matthiasc/for-main' into 'main'Matthias Clasen2021-08-303-30/+76
|\ \ | |/ | | | | | | test-shape: Print out glyph classes See merge request GNOME/pango!460
| * CosmeticsMatthias Clasen2021-08-301-1/+1
| |
| * test-break: Fix legend formattingMatthias Clasen2021-08-301-1/+1
| |
| * test-break: Add a --hex-chars optionMatthias Clasen2021-08-301-27/+44
| |
| * test-shape: Print out glyph classesMatthias Clasen2021-08-291-2/+31
|/ | | | | | These are not very reliable for things other than marks, but even that is useful for debugging cluster handling.
* Merge branch 'more-rtl-cluster-fixes' into 'main'Matthias Clasen2021-08-304-48/+121
|\ | | | | | | | | Try harder to disect clusters See merge request GNOME/pango!450
| * pango-view: Use pango_glyph_string_index_to_x_fullmore-rtl-cluster-fixesMatthias Clasen2021-08-291-7/+8
| |
| * layout: Use pango_glyph_string_index_to_x_fullMatthias Clasen2021-08-291-18/+35
| |
| * Don't compute log attrs on demandMatthias Clasen2021-08-291-15/+3
| | | | | | | | If we don't have them, just do the fallback.
| * Add pango_glyph_string_index_to_x_fullMatthias Clasen2021-08-292-24/+72
| | | | | | | | | | | | This variant of pango_glyph_string_index_to_x takes log attrs so it does not have to compute them when it needs them to determine grapheme boundaries.
| * Try harder to disect clustersMatthias Clasen2021-08-291-15/+34
|/ | | | | | | | | | We need to take into account whether the characters we are counting are actually cursor positions, else we are bound to look for more carets than the font has available, sometimes. This change would benefit from passing log attrs into pango_glyph_string_index_to_x.
* Merge branch 'matthiasc/for-main' into 'main'Matthias Clasen2021-08-301-14/+68
|\ | | | | | | | | pango-view: Redo --annotate option See merge request GNOME/pango!459
| * pango-view: Redo --annotate optionMatthias Clasen2021-08-291-14/+68
|/ | | | | Parse the argument as a comma-separated list of names. The old numeric arguments still work.
* Merge branch 'matthiasc/for-main' into 'main'Matthias Clasen2021-08-303-3/+20
|\ | | | | | | | | Add pango_layout_iter_get_run_baseline See merge request GNOME/pango!458
| * pango-view: Use the new apiMatthias Clasen2021-08-291-3/+2
| | | | | | | | | | | | Use the new run baseline api to correct the positioning of glyph extents and caret positions.
| * Add pango_layout_iter_get_run_baselineMatthias Clasen2021-08-292-0/+18
|/ | | | This is useful information.
* Merge branch 'matthiasc/for-main' into 'main'Matthias Clasen2021-08-292-3/+20
|\ | | | | | | | | layout: Apply rise to cluster extents See merge request GNOME/pango!457
| * pango-view: Improve glyph extentsMatthias Clasen2021-08-291-1/+2
| | | | | | | | | | | | We can't currently position them correctly for shifted runs. But at least we can get it right for the runs on the baseline.
| * pango-view: More careful numberingMatthias Clasen2021-08-291-2/+7
| | | | | | | | | | Don't overwrite caret position numbers with different numbers.
| * layout: Apply rise to cluster extentsMatthias Clasen2021-08-291-0/+6
| | | | | | | | This has been broken all along. :(
| * pango-view: Don't draw the empty runMatthias Clasen2021-08-291-0/+5
|/
* Merge branch 'matthiasc/for-main' into 'main'Matthias Clasen2021-08-294-78/+50
|\ | | | | | | | | tests: Use introspection for attributes See merge request GNOME/pango!456
| * pango-view: Fix slope of caretsMatthias Clasen2021-08-291-4/+2
| | | | | | | | We want vertical carets to be really vertical.
| * test-itemize: Keep in sync with PangoLayoutMatthias Clasen2021-08-292-10/+11
| | | | | | | | | | | | This really needs some more generic treatment. Update affected test outputs.
| * tests: Use introspection for attributesMatthias Clasen2021-08-291-64/+37
|/ | | | | | Now that we have introspection helpers for attributes, we can use them ourselves to make this code less brittle.
* Merge branch 'matthiasc/for-main' into 'main'Matthias Clasen2021-08-297-8/+23
|\ | | | | | | | | fcfont: Cosmetics See merge request GNOME/pango!455
| * Add a missing semicolonMatthias Clasen2021-08-291-1/+1
| | | | | | | | This broke the msvc build.
| * Add autoptr cleanup funcsMatthias Clasen2021-08-282-0/+5
| |
| * font: Add a vfunc for pango_font_has_charMatthias Clasen2021-08-282-4/+16
| |
| * fcfont: CosmeticsMatthias Clasen2021-08-282-3/+1
|/ | | | Remove a few duplicated lines and typos.
* Merge branch 'matthiasc/for-main' into 'main'Matthias Clasen2021-08-281-13/+26
|\ | | | | | | | | pango-view: Split caret positions and slopes See merge request GNOME/pango!454
| * pango-view: Split caret positions and slopesMatthias Clasen2021-08-281-13/+26
|/ | | | Still some bits left!
* Merge branch 'matthiasc/for-main' into 'main'Matthias Clasen2021-08-281-7/+11
|\ | | | | | | | | layout: Allocate a bit less See merge request GNOME/pango!453
| * layout: Allocate a bit lessMatthias Clasen2021-08-281-7/+11
|/ | | | | Instead of throwing away the log_widths array for every run, keep it around and grow it as needed.
* Merge branch 'matthiasc/for-main' into 'main'Matthias Clasen2021-08-281-2/+9
|\ | | | | | | | | pango-view: Fix caret visualization See merge request GNOME/pango!452
| * pango-view: Fix caret visualizationMatthias Clasen2021-08-281-2/+9
|/ | | | I was confusing char and byte offsets here.
* Merge branch 'item-offset' into 'main'Matthias Clasen2021-08-2811-60/+165
|\ | | | | | | | | Keep offsets for items See merge request GNOME/pango!451
| * layout: Use char_offset in a few placesitem-offsetMatthias Clasen2021-08-281-23/+9
| | | | | | | | There is more we can do here, but this is a start.
| * test-itemize: Print more informationMatthias Clasen2021-08-283-1/+19
| | | | | | | | | | | | | | Print out the items num_chars and char_offset, so we can check that the char_offset implementation works. Update affected test outputs.
| * test-itemize: Improve generationMatthias Clasen2021-08-281-3/+3
| | | | | | | | | | | | | | | | | | It is very annoying that gtest will dump its random seed into the output as soon as one calls g_test_init(). This pollutes our generated output. Work around that by deferring the g_test_init() call until after we've dealt with generating output.
| * item: Add a char offsetMatthias Clasen2021-08-284-9/+106
| | | | | | | | | | | | | | | | | | | | | | | | | | Add a char_offset field to PangoItem, compute it as part of itemization and update it when splitting items. Keeping this number around cuts down on the amount of list and utf8 walking we need to do later. We have to do some extra shenanigans to preserve abi in the face of pango's open-coded structs, so we introduce a PangoItemPrivate type that is used internally. On 64bit, PangoItem has a 4 byte whole, so we can keep the size of PangoItemPrivate the same. No such luck on 32bit.
| * CosmeticMatthias Clasen2021-08-283-23/+23
| | | | | | | | | | | | Improve the itemization code to have all variants take the same code paths, so we can do fixups in one place.
| * tests: Only print known analysis flagsMatthias Clasen2021-08-281-1/+5
| | | | | | | | We're going to steal one bit for private purposes.
* | Merge branch 'underline-kerning' into 'main'Matthias Clasen2021-08-281-6/+6
|\ \ | | | | | | | | | | | | | | | | | | renderer: Use ink rects for line lengths Closes #139 See merge request GNOME/pango!448
| * | renderer: Use ink rects for line lengthsunderline-kerningMatthias Clasen2021-08-271-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | When rendering underlines and the like, we should use ink extents, since the logical extents will get shortened by kerning, which can be pretty noticable when underlining individual glyphs, such as the T in To. Fixes: #139
* | | Merge branch 'coretext-warnings' into 'main'Matthias Clasen2021-08-282-7/+2
|\ \ \ | | | | | | | | | | | | | | | | Fix compiler warnings in CoreText code See merge request GNOME/pango!449