summaryrefslogtreecommitdiff
path: root/pango
Commit message (Collapse)AuthorAgeFilesLines
* layout: Text transform affects shapeMatthias Clasen2021-08-201-0/+1
| | | | | Classify text transform as an attribute that affects shaping. It will, in the future.
* markup: Add a text transform attributeMatthias Clasen2021-08-203-0/+62
| | | | | | Add a PangoTextTransform enum, a PangoAttribute to set it on runs of text, and support for parsing it out of markup.
* CosmeticsMatthias Clasen2021-08-202-58/+17
| | | | Streamline the internals of shape.c a bit.
* Fix up header inclusionsMatthias Clasen2021-08-201-1/+1
| | | | | This worked for building pango itself, but not for using it.
* Some code reorgcode-reorgMatthias Clasen2021-08-201-506/+531
| | | | Reshuffle pango-attributes.c internally.
* Cosmetics: Reorganize pango-attributes.hMatthias Clasen2021-08-201-220/+214
|
* Include pango-language.hMatthias Clasen2021-08-201-0/+1
|
* Cosmetics: Reindent pango-language.hMatthias Clasen2021-08-202-20/+22
|
* Cosmetics: Reindent pango-break.hMatthias Clasen2021-08-201-28/+23
|
* Cosmetics: Move a function aroundMatthias Clasen2021-08-204-111/+108
| | | | | pango_find_paragraph_boundary has nothing to do with breaks, so move it to pango-utils.h
* Cosmetics: Reindent pango-glyph.hMatthias Clasen2021-08-201-62/+65
|
* Cosmetics: Move a function aroundMatthias Clasen2021-08-203-7/+10
| | | | | Move pango_reorder_items to pango-item.h, since it is abou items, not about glyphs.
* Some more code reorgMatthias Clasen2021-08-203-507/+496
| | | | | We use harfbuzz shaping on all platforms now, so just merge the code into shape.c
* Some code reorgMatthias Clasen2021-08-207-1151/+1244
| | | | | Split the itemization code into its own file, and move things around a bit.
* Cosmetics: Reindent pango-item.hMatthias Clasen2021-08-201-23/+24
|
* Cosmetics: Reindent pango-context.hMatthias Clasen2021-08-201-49/+41
|
* Cosmetics: Clean up pango-context.hMatthias Clasen2021-08-204-18/+20
| | | | | Move itemize functions to pango-item.h, and move the PangoContext typedef to pango-types.h.
* Cosmetics: Split off pango-color.hMatthias Clasen2021-08-204-46/+78
|
* Cosmetics: Split off pango-markup.hMatthias Clasen2021-08-205-19/+56
|
* layout: Fix some wrapped line start positionsblock-cursor-fixesMatthias Clasen2021-08-201-1/+2
| | | | | Make pango_layout_index_to_pos report non-empty pos for the first position in a wrapped line.
* layout: Fix some end-of-line positionMatthias Clasen2021-08-201-7/+8
| | | | | Make pango_layout_index_to_pos report non-empty rectangles at the end of a line.
* Fix pango_layout_index_to_pos resultsMatthias Clasen2021-08-201-6/+9
| | | | | We were returning wildly incorrect results for anything but the first run in a line.
* Use the language we are givenlog-attr-languageMatthias Clasen2021-08-191-0/+1
| | | | | | pango_get_log_attrs was not using its language argument at all. Pass it into pango_default_break as part of the PangoAnalysis struct.
* Document incompatibility of tabs and justificationdocument-tabsMatthias Clasen2021-08-191-1/+12
| | | | | | Not great, but these *are* conflicting features. Fixes: #595
* Merge branch 'glyph-string-const-char' into 'main'Matthias Clasen2021-08-172-24/+24
|\ | | | | | | | | Add a few missing const See merge request GNOME/pango!412
| * Add a few missing constglyph-string-const-charMatthias Clasen2021-08-172-24/+24
| | | | | | | | | | We should only pass char * when we actually modify the string. Everything else is const char *.
* | Merge branch 'fix-gravity-error' into 'main'Matthias Clasen2021-08-171-1/+1
|\ \ | |/ | | | | | | | | | | Correct an error message Closes #598 See merge request GNOME/pango!410
| * Correct an error messagefix-gravity-errorMatthias Clasen2021-08-171-1/+1
| | | | | | | | | | | | Update affected tests Fixes: #598
* | bidi: Cleanup FriBiDi API usageKhaled Hosny2021-08-171-22/+0
|/ | | | Since FriBiDi 1.x is now required, we can remove use of pre-1.x API.
* gravity: Add missing Multani scriptadd-multani-gravityMatthias Clasen2021-08-171-0/+1
| | | | | | | An unfortunate oversight in 709af063 omitted Multani, and threw the rest of the table off. Fixes: #597
* Add check for a NULL font in PangoAnalysis structureLuca Bacci2021-08-111-1/+1
| | | | Fixes: https://gitlab.gnome.org/GNOME/pango/-/issues/592
* Add pango_justify_last_lineMatthias Clasen2021-08-103-3/+62
| | | | | | | Add a way to justify the last line in a justified paragraph. Fixes: #74
* Add some forgotten documentationMatthias Clasen2021-08-101-0/+1
|
* Fix more corner cases around line endsMatthias Clasen2021-08-091-4/+18
| | | | | | We were miscounting the cursor positions in a line, causing us to jump down to the next line when moving backwards towards the start of the line.
* Fix corner cases around line endsMatthias Clasen2021-08-091-12/+16
| | | | | | | | | | pango_layout_index_to_line_and_extents needs to return a run rect even if the line has no non-empty runs. Failing to do so was causing cursors at the end of lines to have a height of 0 or 1, which is not what we want. Add a testcase.
* Merge branch 'win32-fixes' into 'main'Matthias Clasen2021-08-093-4/+32
|\ | | | | | | | | | | | | Attempt to fix some Win32-related issues Closes #583 and #578 See merge request GNOME/pango!399
| * pangowin32-fontmap.c: Look harder for the matching fontChun-wei Fan2021-08-091-3/+19
| | | | | | | | | | | | | | | | | | | | | | | | When we look up our font from the list of fonts that we enumerated from the system, follow what the CoreText backend does, so that if the font gravity in the font description is getting in our way to find the font, look for it again without the gravity. This will enable us to find the font that really exists but was not found due to FontDescription attributes. Partially fixes #583.
| * pango/shape.c: Use the former rounding code as neededChun-wei Fan2021-08-091-0/+12
| | | | | | | | | | | | | | | | | | | | The careful rounding code that was brought back as a result of commit d4356779 only had effect if we are using a backend that supported font hinting, so on other backends, use the former rounding code that was dropped in favor of the careful rounding code that unfortunately did not apply for all backends. Should fix #578.
| * pango-markup.c: Fix buildChun-wei Fan2021-08-091-1/+1
| | | | | | | | The strchr() call's second parameter is a char, not a string.
* | docs: Add an example for split cursorsMatthias Clasen2021-08-091-1/+15
| | | | | | | | | | | | | | Show how weak and strong cursors look in practice. Fixes: #77
* | docs: CosmeticsMatthias Clasen2021-08-081-3/+2
| | | | | | | | No need to link a function to itself.
* | docs: Add one more dark mode imageMatthias Clasen2021-08-081-1/+4
|/
* Merge branch 'line-height-attribute' into 'main'Matthias Clasen2021-08-094-15/+198
|\ | | | | | | | | Implement css-like line-height See merge request GNOME/pango!390
| * Fix up logical rectangle reportingMatthias Clasen2021-08-081-24/+76
| | | | | | | | | | | | | | | | | | | | | | | | | | Fix up the various apis that are reporting logical rects to follow these rules: Logical rectangles of lines are affected by the line-height attribute, logical rectangles of smaller units (runs, clusters, chars, cursors, etc) are not. This fixes the text cursors and block cursors in GTK to be 'normal' height, even when applying line-height for double-spacing.
| * layout: Handle line-height attributesMatthias Clasen2021-08-081-1/+30
| | | | | | | | | | | | | | | | | | Modify the height and vertical origin of logical extents according to the line height attributes. We currently apply half the leading above and half below the content (i.e., lines are vertically centered in their modified height).
| * Add line-height attributesMatthias Clasen2021-08-084-0/+102
| | | | | | | | | | | | | | | | | | | | | | | | Add attributes for line-height, in a relative and absolute variant. This will be used to grow the logical extents of runs in a way that is compatible with CSS semantics. In markup, we support a new line_height attribute that will be interpreted as absolute if it is an integer > 1024, and as a relative factor otherwise.
* | Merge branch 'matthiasc/for-main' into 'main'Matthias Clasen2021-08-092-3/+5
|\ \ | |/ |/| | | | | docs: Cosmetic change See merge request GNOME/pango!396
| * Specify deprecation detailsMatthias Clasen2021-08-082-2/+2
| | | | | | | | | | Unversioned deprecations come out odd in gi-docgen. Add a version to avoid that.
| * docs: Cosmetic changeMatthias Clasen2021-08-081-1/+3
| | | | | | | | Shorten the first line of the PangoBidiType docs.
* | gravity: Correct the documentationMatthias Clasen2021-08-081-2/+2
| | | | | | | | | | There was a cw vs ccw mixup here. Adding example images made it obvious.