summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Skip test-layout on macOSserialization-improvementsMatthias Clasen2021-11-251-1/+6
| | | | It should work there, but it doesn't.
* test-layout: Fix up comparison directionMatthias Clasen2021-11-251-1/+1
| | | | This makes more sense.
* test-layout: Use an fc fontmapMatthias Clasen2021-11-251-1/+13
| | | | | | | Our new, more precise font checks rely on data from fontconfig to identify fonts uniquely. So make sure that we use a custom fc fontmap, if we have one.
* Add a newline to serialization resultsMatthias Clasen2021-11-2529-216/+101
| | | | | | | | Otherwise editing the output in an editor is likely to make the data not match anymore, since most editors will add a final newline. Update all tests
* Make test-layout use included fontsMatthias Clasen2021-11-2533-205/+1685
| | | | | | | | | Add Cantarell, DejaVu Sans and a subset of Noto Color Emoji to git, and make test-layout use just those fonts. This should help with keeping the ci from breaking due to different system fonts. Update tests.
* test-layout: Drop the --show-font optionMatthias Clasen2021-11-241-6/+0
| | | | Not used anymore.
* serializer: Include unknown glyphs countMatthias Clasen2021-11-241-0/+3
|
* Add pango_font_serializeMatthias Clasen2021-11-242-0/+58
| | | | | | | Another debug api. This function produces a serialization of a font that is enough to uniquely identify the font. This is more detailed than what pango_font_describe creates.
* Add more testsMatthias Clasen2021-11-246-9/+1049
| | | | | These were produced with the help of http://gitlab.gnome.org/matthiasc/layout-editor
* serializer: Support a "comment" fieldMatthias Clasen2021-11-241-0/+47
| | | | | | Json doesn't have comments, so we have to add an explicit comment value. This will be useful to describe what test cases are about.
* Update test-layoutMatthias Clasen2021-11-2426-349/+13864
| | | | | | Use the new output serialization in test-layout to store both the input and output in the same file.
* Optionally serialize outputMatthias Clasen2021-11-2423-917/+384
| | | | | | | If requested, serialize lines, runs, and log attrs. This will let us use the serialization format to record not just the test inputs, but outputs as well.
* Add a way to get the font matrixMatthias Clasen2021-11-243-0/+44
| | | | | | Add some private api for the serializer to get the font matrix. This is needed to let the serializer write a unique fingerprint for the font.
* pango-view: Deserialize context tooMatthias Clasen2021-11-241-1/+1
| | | | | This lets us transfer things like base gravity from layout-editor to pango-view.
* More context serialization workMatthias Clasen2021-11-242-5/+63
|
* serializer: CosmeticsMatthias Clasen2021-11-241-11/+16
| | | | Avoid writing out empty attributes or tabs.
* Allow serializing context informationMatthias Clasen2021-11-243-10/+179
| | | | | | | | | Optionally include context information in the serialization and restore it. This will be useful for transporting for giving tests complete data that affects their output. Some tests included.
* Add flags to serialize and deserializeMatthias Clasen2021-11-245-21/+59
| | | | | | | This gives us some room to add more things to these apis, e.g. a way to store not just the input part of a layout, but also the output.
* Refactor enum serialization error handlingMatthias Clasen2021-11-241-54/+68
|
* Rename the serialize errorsMatthias Clasen2021-11-243-36/+54
| | | | | They are produced by deserialization, so call them that.
* CosmeticsMatthias Clasen2021-11-241-3/+3
|
* Fix visible space handlingMatthias Clasen2021-11-241-3/+5
| | | | | Make space actually show up as visible space when we want that.
* Merge branch 'line-breaking-fixes4' into 'main'Matthias Clasen2021-11-2318-33/+124
|\ | | | | | | | | Fix a case of unintended hyphenation See merge request GNOME/pango!519
| * Fix handling of extra widthline-breaking-fixes4Matthias Clasen2021-11-221-5/+23
| | | | | | | | | | | | | | When handling items that fix completely, we were not consistently taking extra width into account, leading to hyphens sticking out in some cases.
| * break: Fix hyphen conditionMatthias Clasen2021-11-2210-27/+32
| | | | | | | | | | | | | | When looking at scripts, we want to look at the script of the *previous* character. And then we need to exclude SHY from the common script.
| * Fix a case of unintended hyphenationMatthias Clasen2021-11-223-1/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | When we take a complete item because there are no breakpoints, we were inserting a hyphen at the end even though there may not be a breakpoint there, and ending up with a hyphen in the middle of an (overlong) line: Brat-wurst. Test included. This but was discovered with the help of http://gitlab.gnome.org/matthiasc/layout-editor
| * Add more autoptr definitionsMatthias Clasen2021-11-225-0/+14
|/
* Merge branch 'matthiasc/for-main' into 'main'Matthias Clasen2021-11-206-6/+30
|\ | | | | | | | | | | | | Don't replace | with hyphens Closes #630 See merge request GNOME/pango!516
| * ci: Allow the win32 render run to failMatthias Clasen2021-11-192-2/+2
| | | | | | | | | | | | I don't know why it started to fail, and am not in a position to debug it. So, let it fail, like we already do with the testsuite :(
| * Make summary work with meson 0.55Matthias Clasen2021-11-191-1/+1
| | | | | | | | That is what we have in ci.
| * build: Add a summaryMatthias Clasen2021-11-191-0/+25
| | | | | | | | | | I hope this will give some insight into what is happening in ci builds.
| * Don't replace | with hyphensMatthias Clasen2021-11-193-4/+3
|/ | | | | | | | | | | I went a bit overboard in #603. The vertical bar is too common, and this usage to specialized to do it by default. To enable this, we should rather make log attrs tweakable. We still replace hyphenation points with hyphens. Fixes: #630
* Merge branch 'matthiasc/for-main' into 'main'Matthias Clasen2021-11-193-4/+37
|\ | | | | | | | | Tweak word and sentence attributes See merge request GNOME/pango!515
| * pango-view: Allow loading serialized layoutsMatthias Clasen2021-11-191-1/+34
| | | | | | | | | | | | | | | | | | You can now do pango-view --serialized file All layout-related options will be overwritten by the serialized data. Other options can still be used.
| * pango-view: Fix display of char extentsMatthias Clasen2021-11-191-1/+1
| |
| * Tweak word and sentence attributesMatthias Clasen2021-11-191-2/+2
|/ | | | | | The value does not really matter for these, but it looks more natural if they have a value of 1, and not 0.
* Merge branch 'serializer2' into 'main'Matthias Clasen2021-11-1855-344/+1540
|\ | | | | | | | | Add layout serialization api See merge request GNOME/pango!513
| * Add a json-glib subprojectserializer2Matthias Clasen2021-11-182-1/+7
| | | | | | | | This is necessary for ci on MacOs to build.
| * Improve valgrind suppressionsMatthias Clasen2021-11-181-0/+15
| | | | | | | | | | Also suppress pango_language_from_string and GLib thread creation.
| * Make test-layout use layout serializationMatthias Clasen2021-11-1846-372/+416
| | | | | | | | | | Now that we have this api, lets use it for our tests.
| * Add layout serialization apiMatthias Clasen2021-11-186-3/+1133
| | | | | | | | | | | | | | | | Add api to serialize PangoLayout, for the benefit of testing and debugging. Currently, this uses json, but that is an implementation detail. Some tests included.
| * ci: Add json-glib to the imageMatthias Clasen2021-11-182-1/+2
|/ | | | This is needed now for the serialization code.
* Merge branch 'take-out-gdebug' into 'main'Matthias Clasen2021-11-181-35/+37
|\ | | | | | | | | Neuter g_debug in line-breaking See merge request GNOME/pango!514
| * Neuter g_debug in line-breakingtake-out-gdebugMatthias Clasen2021-11-181-35/+37
|/ | | | | | This code gets run for gtks size-allocation, and we don't want it to be any slower than it has to be, when not debugging it.
* Merge branch 'serialize-attrs-and-tabs' into 'main'Matthias Clasen2021-11-1748-905/+1435
|\ | | | | | | | | Add pango_attr_list_to/from_string See merge request GNOME/pango!512
| * Add pango_tab_array_to/from_stringserialize-attrs-and-tabsMatthias Clasen2021-11-173-0/+154
| |
| * Use serialization api in testattributesMatthias Clasen2021-11-173-552/+337
| |
| * tests: Reuse attribute serialization codeMatthias Clasen2021-11-1740-353/+309
| | | | | | | | Update affected test outputs.
| * Add pango_attr_list_to/from_stringMatthias Clasen2021-11-174-0/+635
|/ | | | | | Add an api to serialize PangoAttrList. This will be useful in testing and debugging.
* Merge branch 'rewrite-line-breaking' into 'main'Matthias Clasen2021-11-173-216/+640
|\ | | | | | | | | Rewrite process_item See merge request GNOME/pango!509