summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Fix a crash in tab handlingtab-crash-fixMatthias Clasen2021-12-053-3/+1449
| | | | | | | | | | When we uninsert the current tab run, we need to reset our tab state to prevent last_tab->glyphs to become a dangling pointer. Test included. Fixes: #634
* Merge branch 'fix-mingw-clang' into 'main'Matthias Clasen2021-12-031-0/+1
|\ | | | | | | | | tabs: Fix build with clang in mingw See merge request GNOME/pango!532
| * tabs: Fix build with clang in mingw Biswapriyo Nath2021-12-031-0/+1
|/ | | | Include stdlib.h for qsort function declaration. This fixes the error: implicit declaration of function 'qsort' is invalid in C99
* 1.50.01.50.0Matthias Clasen2021-12-022-3/+6
|
* doc: fixesMatthias Clasen2021-12-024-5/+5
|
* Merge branch 'serializer-rewrite' into 'main'Matthias Clasen2021-12-0341-2153/+3781
|\ | | | | | | | | Port the serializer to use our own json parser and printer See merge request GNOME/pango!531
| * jsonparser: Plug a memory leakserializer-rewriteMatthias Clasen2021-12-021-0/+2
| |
| * Add pango_font_deserializeMatthias Clasen2021-12-023-1/+103
| | | | | | | | | | This will make the font serialization useful in GTK, where we serialize fonts in node files.
| * Small fixesMatthias Clasen2021-12-022-8/+4
| | | | | | | | | | Properly document deserialization errors, and drop unused enum values.
| * Update tests for small changes in outputMatthias Clasen2021-12-0229-1225/+1204
| |
| * testserialize: Fix the testsMatthias Clasen2021-12-021-13/+23
| |
| * 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.
| * Add gtk_json_parser_set_errorMatthias Clasen2021-12-022-0/+12
| |
| * serializer: Replace json-glibMatthias Clasen2021-12-027-860/+2484
| | | | | | | | Replace json-glib by a homegrown json parser/printer.
| * tabs: Add a missing setterMatthias Clasen2021-12-022-0/+23
|/ | | | | Add pango_tab_array_set_positions_in_pixels, to help the serializer out.
* Merge branch 'tab-speedup' into 'main'Matthias Clasen2021-12-025-116/+109
|\ | | | | | | | | Add pango_tab_array_sort See merge request GNOME/pango!530
| * Fix up tab sizingtab-speedupMatthias Clasen2021-12-021-23/+18
| |
| * layout: Small optimizationMatthias Clasen2021-12-023-39/+17
| | | | | | | | | | Don't calculate line width the hard way when we can do it much easier.
| * layout: Optimize tab handlingMatthias Clasen2021-12-011-1/+1
| | | | | | | | | | | | We don't need to iterate the entire tab array every time, we just continue from the previous tab stop position.
| * layout: Call pango_tab_array_sortMatthias Clasen2021-12-011-3/+6
| | | | | | | | | | We want to optimize access to tab stops, and will assume they are ordered.
| * layout: Some restructuring of tab handlingMatthias Clasen2021-12-011-54/+43
| | | | | | | | Introduce a LastTab struct, and use it.
| * Add pango_tab_array_sortMatthias Clasen2021-12-012-0/+28
| | | | | | | | | | A utility function to ensure tab stops are in increasing order.
* | Merge branch 'matthiasc/for-main' into 'main'Matthias Clasen2021-11-301-0/+8
|\ \ | |/ |/| | | | | NEWS: Updates See merge request GNOME/pango!529
| * NEWS: UpdatesMatthias Clasen2021-11-301-0/+8
| |
* | Merge branch 'tab-align' into 'main'Matthias Clasen2021-11-2911-107/+2329
|\ \ | | | | | | | | | | | | | | | | | | Support tab alignment Closes #34 See merge request GNOME/pango!527
| * | Add a test with tab alignmentstab-alignMatthias Clasen2021-11-292-0/+1837
| | |
| * | tabs: Tweak string formatMatthias Clasen2021-11-292-7/+7
| | | | | | | | | | | | Use newlines to separate tabs, rather than spaces.
| * | tabs: Add a decimal pointMatthias Clasen2021-11-298-36/+165
| | | | | | | | | | | | | | | | | | | | | This is useful for PANGO_TAB_DECIMAL. Implement this in PangoLayout, in the serializer, and update tests.
| * | layout: Implement tab alignmentsMatthias Clasen2021-11-291-57/+201
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implement the other tab alignments by adjusting the tab width as we go. Based on an old patch by Itai Bar-Haim. This also includes a fix for the previously supported left tab alignment in the presence of indent. Fixes: #34
| * | serializer: Support tab alignmentsMatthias Clasen2021-11-294-16/+85
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | tabs: Add other tab alignmentsMatthias Clasen2021-11-292-13/+52
| | | | | | | | | | | | | | | Add right, center, decimal tab alignments and support them in serialization. They are not implemented yet.
| * | test-layout: Make --fonts work as expectedMatthias Clasen2021-11-291-2/+5
| | | | | | | | | | | | We want to use this without initializing tests.
| * | docs: Add a note on tabsMatthias Clasen2021-11-291-1/+2
| |/ | | | | | | | | Explain that tabs really only work with PANGO_ALIGN_LEFT.
* | Merge branch 'fix-pango-view' into 'main'Matthias Clasen2021-11-291-2/+0
|\ \ | | | | | | | | | | | | Fix pango-view crash See merge request GNOME/pango!528
| * | Fix pango-view crashPeng Wu2021-11-291-2/+0
|/ / | | | | | | | | Remove cairo_debug_reset_static_data function call in pango-view to avoid crash.
* | Merge branch 'matthiasc/for-main' into 'main'Matthias Clasen2021-11-284-32/+244
|\ \ | |/ | | | | | | Never show variation selectors See merge request GNOME/pango!526
| * tests: Fix installed data for test-layoutMatthias Clasen2021-11-281-28/+29
| |
| * Never show variation selectorsMatthias Clasen2021-11-283-4/+215
|/ | | | | | | | Even when we show ignorables, we still want to ignore variation selectors and other ignorables that we don't have nicks for. Test included.
* Merge branch 'gravity-fixes' into 'main'Matthias Clasen2021-11-283-6/+9
|\ | | | | | | | | | | | | Fix misplaced glyphs in gravity east Closes #631 See merge request GNOME/pango!524
| * Fix line heights in improper gravitiesgravity-fixesMatthias Clasen2021-11-272-5/+5
| | | | | | | | | | | | | | | | | | | | | | Without this, we end up with line height being zero in gravity north or west. The visible symptom is that wrapped lines are drawn on top of each other with line-height != 0. Affected tests have been updated. Fixes: #631
| * Fix misplaced glyphs in gravity eastMatthias Clasen2021-11-271-1/+4
|/ | | | | This was showing up as glyphs placed outside their logical extents.
* 1.49.41.49.4Matthias Clasen2021-11-272-1/+15
|
* Merge branch 'font-serialize-test' into 'main'Matthias Clasen2021-11-274-5/+111
|\ | | | | | | | | Avoid cosmetic ugliness See merge request GNOME/pango!522
| * Add a test for pango_font_serializefont-serialize-testMatthias Clasen2021-11-272-1/+79
| | | | | | | | | | Now that we have fonts in git, we can reliably test this.
| * font: Avoid cosmetic uglinessMatthias Clasen2021-11-272-4/+32
|/ | | | | | | | When setting variations to "", font descriptions would add an ugly useless " @" at the end of their serialization. Avoid that. Test included.
* Merge branch 'fix-emoji-in-tests' into 'main'Matthias Clasen2021-11-2728-1386/+1309
|\ | | | | | | | | Make sure glyphinfo is fully initialized See merge request GNOME/pango!523
| * Avoid an out-of-bound accessMatthias Clasen2021-11-271-1/+1
| | | | | | | | | | We can only use the width of the previous char if we are not at the first char. Found by asan.
| * Update tests one more timeMatthias Clasen2021-11-2622-1375/+1230
| |
| * tests: Fix font setup for EmojiMatthias Clasen2021-11-262-6/+70
| | | | | | | | We need to copy the scale hack for bitmaps.