summaryrefslogtreecommitdiff
path: root/pango/serializer.c
Commit message (Collapse)AuthorAgeFilesLines
* serializer: Fix a typoMatthias Clasen2021-12-181-1/+1
| | | | | | Oops, we were not serializing the height at all. Update all affected tests.
* docs: Some cross-linkingMatthias Clasen2021-12-101-2/+6
|
* serializer: Use gtk_json_parser_select_stringnewer-json-parserMatthias Clasen2021-12-091-101/+315
| | | | Take advantage of the new parser api.
* Update the json parserMatthias Clasen2021-12-051-42/+47
| | | | | This includes better error reporting, with error locations.
* doc: fixesMatthias Clasen2021-12-021-2/+2
|
* Add pango_font_deserializeMatthias Clasen2021-12-021-0/+84
| | | | | This will make the font serialization useful in GTK, where we serialize fonts in node files.
* Small fixesMatthias Clasen2021-12-021-1/+1
| | | | | Properly document deserialization errors, and drop unused enum values.
* assorted serializer fixesMatthias Clasen2021-12-021-29/+23
|
* serializer: Move all error handling to the parserMatthias Clasen2021-12-021-222/+108
| | | | Just let the parser carry the error.
* serializer: Replace json-glibMatthias Clasen2021-12-021-855/+801
| | | | Replace json-glib by a homegrown json parser/printer.
* tabs: Add a decimal pointMatthias Clasen2021-11-291-2/+8
| | | | | | | This is useful for PANGO_TAB_DECIMAL. Implement this in PangoLayout, in the serializer, and update tests.
* serializer: Support tab alignmentsMatthias Clasen2021-11-291-3/+31
| | | | | | | | | Serialize tab alignment in addition to tab position. We still accept the old format and default alignment to left. Update testserialize and layout tests for this.
* Add a newline to serialization resultsMatthias Clasen2021-11-251-1/+5
| | | | | | | | 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
* serializer: Include unknown glyphs countMatthias Clasen2021-11-241-0/+3
|
* Add pango_font_serializeMatthias Clasen2021-11-241-0/+55
| | | | | | | 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.
* 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.
* Optionally serialize outputMatthias Clasen2021-11-241-1/+382
| | | | | | | 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.
* More context serialization workMatthias Clasen2021-11-241-3/+61
|
* serializer: CosmeticsMatthias Clasen2021-11-241-11/+16
| | | | Avoid writing out empty attributes or tabs.
* Allow serializing context informationMatthias Clasen2021-11-241-10/+129
| | | | | | | | | 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-241-8/+18
| | | | | | | 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-241-18/+23
| | | | | They are produced by deserialization, so call them that.
* CosmeticsMatthias Clasen2021-11-241-3/+3
|
* Add layout serialization apiMatthias Clasen2021-11-181-0/+935
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.