summaryrefslogtreecommitdiff
path: root/pango
Commit message (Collapse)AuthorAgeFilesLines
* test-break: Print out hyphensMatthias Clasen2021-08-251-7/+3
| | | | | | Print out all the log attrs we have. Update expected test outputs.
* Refine hyphenationMatthias Clasen2021-08-254-20/+82
| | | | | | | | Replace ‧ and | with a - when we break there. Update affected test output. Fixes: #603
* shape: Rearrange hb buffer setupMatthias Clasen2021-08-251-8/+7
| | | | | Rearrange the buffer setup code slightly, so that we can change it easier, later.
* layout: Use need_hyphen from log attrsMatthias Clasen2021-08-241-130/+1
|
* Add hyphens to log attrsMatthias Clasen2021-08-242-3/+105
| | | | | | The code computing this is much better off in break.c, so move it there, and keep the information in the log attr array.
* break: Add pango_attr_break apiMatthias Clasen2021-08-233-9/+62
| | | | | | | | | | | | So far, we've been applying attribute-based customization while doing per-item tailoring. But this is suboptimal, since it means we don't have a full view of the log attrs, and can't do invariant fixes that cross item boundaries. Therefore, add a separate pango_attr_break api that applies attributes to to the whole paragraph, and make PangoLayout use it.
* break: Some code reorganizationMatthias Clasen2021-08-232-49/+60
| | | | Shuffle break.c around a bit.
* break-thai: Fix up word break handlingMatthias Clasen2021-08-231-8/+20
| | | | | | | | | | | We want to insert word start+end if libthai hands us line breaks between letters. But must be careful not to overwrite existing word boundaries, or we end up with a nonsense sequence. This was found by checking log attr invariants. Regenerate affected test outputs.
* layout: Only recompute log_attrs when neededMatthias Clasen2021-08-231-15/+21
| | | | | | There is no need to throw away the log_attrs when we just change the width, or other layout properties that do not affect segmentation.
* docs: Add another illustrationdoc-font-metricsMatthias Clasen2021-08-221-0/+8
| | | | Show font metrics.
* Fix an oversight with text-transformMatthias Clasen2021-08-221-1/+1
| | | | | With the current implementation of text-transform, we need the attribute to be constant across runs.
* renderer: Silence compiler warningsMatthias Clasen2021-08-221-0/+8
|
* markup: Silence compiler warningsMatthias Clasen2021-08-221-0/+3
|
* layout: Silence compiler warningsMatthias Clasen2021-08-221-26/+27
|
* break: Silence compiler warningsMatthias Clasen2021-08-221-8/+16
|
* fcfontmap: Silence compiler warningsMatthias Clasen2021-08-221-0/+2
|
* bidi: Silence compiler warningsMatthias Clasen2021-08-221-0/+1
|
* emoji: Silence compiler warningsMatthias Clasen2021-08-221-0/+3
|
* attributes: Silence compiler warningsMatthias Clasen2021-08-221-9/+9
|
* glyphstring: Silence compiler warningsMatthias Clasen2021-08-221-4/+4
|
* attributes: CosmeticsMatthias Clasen2021-08-221-2/+2
| | | | Fix a few comments.
* Add a forgotten binding helperMatthias Clasen2021-08-221-0/+1
| | | | The new text-transform attribute was overlooked.
* Fix binding helpers for absolute-line-heightMatthias Clasen2021-08-221-0/+1
| | | | This was overlooked.
* break: Some code reorgMatthias Clasen2021-08-221-141/+130
| | | | Reshuffle things to make room for validation.
* Merge branch 'renderer-crash' into 'main'Matthias Clasen2021-08-211-1/+1
|\ | | | | | | | | | | | | renderer: Don't divide by zero Closes #599 See merge request GNOME/pango!425
| * renderer: Don't divide by zerorenderer-crashMatthias Clasen2021-08-211-1/+1
| | | | | | | | | | | | | | | | Before dividing by num_glyphs in draw_strikethrough, make sure it isn't 0. This should fix reported crashes in this function. Fixes: #599
* | Merge branch 'text-transform-3' into 'main'Matthias Clasen2021-08-216-120/+336
|\ \ | |/ |/| | | | | Add support for text transformation See merge request GNOME/pango!421
| * Documentation tweaksMatthias Clasen2021-08-201-27/+28
| |
| * shaping: implement text transformMatthias Clasen2021-08-201-81/+167
| | | | | | | | | | | | Transform the text we hand to harfbuzz, as prescribed by the text transform attributes we have. This uses the log attrs to find word starts.
| * layout: Use pango_shape_itemMatthias Clasen2021-08-201-4/+5
| | | | | | | | Use the new API, and pass our log attrs along.
| * Add pango_shape_itemMatthias Clasen2021-08-202-38/+103
| | | | | | | | | | | | Add a pango_shape API variant that takes log attrs, so we can implement text transforms that depend on word boundaries, in the future.
| * 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.
* | language: Document issue with per-thread localeslanguage-get-defaultMatthias Clasen2021-08-211-0/+4
|/ | | | | | | Document that pango_language_get_default() assumes a single, globale locale. Fixes: #501
* 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
|