summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* pango-view: Allow showing glyph ink rectsligature-caret-rtl-fixesMatthias Clasen2021-08-271-11/+69
|
* docs: Some detail for PangoGlyphGeometryMatthias Clasen2021-08-271-0/+13
|
* Try harder to find positions in clustersMatthias Clasen2021-08-271-3/+32
| | | | | | | Try to find a single non-mark glyph in a multi-glyph cluster to use its ligature caret information. This fixes situations in Arabic where you can have marks on top of ligatures, e.g. ﻉﻭ.
* Take kerning into account for ligature caretsMatthias Clasen2021-08-271-0/+3
| | | | | | | The ligature caret positions returned by hb_ot_layout_get_ligature_carets are 'unshaped' metrics. We need to take the kerning into account that is applied during shaping, and shows up in the glyphstring as x_offset.
* Fixes for rtl cursor positionsMatthias Clasen2021-08-271-1/+4
| | | | Still not working quite right, but getting closer.
* test-shape: Show cluster boundaries correctlyMatthias Clasen2021-08-271-11/+12
| | | | | | Cluster boundaries were cutting off the first character of a new cluster. Not great if the tools print out misleading information.
* test-shape: Add an option for hex charsMatthias Clasen2021-08-271-1/+20
| | | | | This is useful when trying to understand the output for scripts I don't read.
* pango-viewer: Number caretsMatthias Clasen2021-08-271-0/+7
| | | | | When showing caret positions, put a little number next to them to indicate the order.
* pango-view: Be more careful about caret positionsMatthias Clasen2021-08-271-12/+23
| | | | | Don't show carets where they don't belong. Skip non-cursor positions.
* Merge branch 'matthiasc/for-main' into 'main'Matthias Clasen2021-08-269-61/+184
|\ | | | | | | | | Tweak the drawing See merge request GNOME/pango!444
| * doc: Update pango_glyph_string_index_to_xMatthias Clasen2021-08-266-2/+131
| | | | | | | | | | | | What the docs were saying is no longer strictly true, now that we are using font metrics. Update them, and add an illustration.
| * Tweak the drawingMatthias Clasen2021-08-263-59/+53
| | | | | | | | | | Since the text is talking about zero-width rectangles, show one of those, instead of a sloped caret.
* | Merge branch 'matthiasc/for-main' into 'main'Matthias Clasen2021-08-267-3/+141
|\ \ | |/ | | | | | | docs: Add another illustration See merge request GNOME/pango!443
| * docs: Add another illustrationMatthias Clasen2021-08-266-1/+138
| | | | | | | | Show cursor positions.
| * NEWS: UpdatesMatthias Clasen2021-08-261-2/+3
|/
* Merge branch 'more-log-attr-things' into 'main'Matthias Clasen2021-08-2625-109/+751
|\ | | | | | | | | Fixes and validation for log attrs See merge request GNOME/pango!442
| * More break testsmore-log-attr-thingsMatthias Clasen2021-08-266-0/+25
| |
| * Add code to validate log attrsMatthias Clasen2021-08-264-1/+587
| | | | | | | | | | | | This is just used in tests for now. If we decide to make an external log attr api, we can make this public.
| * break: Fix up word fixupsMatthias Clasen2021-08-262-14/+21
| | | | | | | | | | | | | | We were not correctly handling overlapping segments in all cases, with <span segment='word'>. Improve this. Update affected tests.
| * break: Fix sentence boundary corner casesMatthias Clasen2021-08-261-2/+2
| | | | | | | | | | | | We were not correctly handling the case where wipe out a sentence boundary after the fact, and were leaving behind a stray sentence end.
| * break-indic: Don't wipe out mandatory breaksMatthias Clasen2021-08-261-4/+7
| | | | | | | | These are required for a conforming implementation.
| * break: Follow mandatory rules more strictlyMatthias Clasen2021-08-2614-95/+116
|/ | | | | | | | We were not putting a line break at the end of the text, in cases where a paragraph ends with a newline. Enforce this in all break apis. Update affected tests.
* NEWS: UpdatesMatthias Clasen2021-08-251-0/+10
|
* Merge branch 'matthiasc/for-main' into 'main'Matthias Clasen2021-08-261-8/+16
|\ | | | | | | | | pango-view: Don't omit the last caret position See merge request GNOME/pango!441
| * pango-view: Don't omit the last caret positionMatthias Clasen2021-08-251-8/+16
| | | | | | | | We want to draw n+1 dots, the last one with trailing == 1.
* | Merge branch 'ligature-carets' into 'main'Matthias Clasen2021-08-261-36/+89
|\ \ | |/ |/| | | | | | | | | Use ligature caret lists Closes #39 See merge request GNOME/pango!438
| * Use ligature caret listsligature-caretsMatthias Clasen2021-08-251-36/+89
| | | | | | | | | | | | | | | | Some fonts provide information about where to place carets inside ligatures. Use it, when it is available. Fixes: #39
* | Merge branch 'matthiasc/for-main' into 'main'Matthias Clasen2021-08-251-4/+43
|\ \ | |/ |/| | | | | hyphen: Try harder to insert needed hyphens See merge request GNOME/pango!440
| * hyphen: Try harder to insert needed hyphensMatthias Clasen2021-08-251-4/+43
|/ | | | | | | We were forgetting to reshape runs in some situations, leading to them not having hyphens appended. This was happening when runs fit fully onto the end of a line that is wrapped anyway.
* Merge branch 'matthiasc/for-main' into 'main'Matthias Clasen2021-08-251-11/+21
|\ | | | | | | | | tests: Make test-shape work like the others See merge request GNOME/pango!439
| * tests: Improve test-shapeMatthias Clasen2021-08-251-5/+20
| | | | | | | | This helps with understanding clusters.
| * tests: Make test-shape work like the othersMatthias Clasen2021-08-251-6/+1
|/ | | | | | There was some extra code here that was getting in the way of using all the dumper tests on the same input files. Get rid of it.
* Merge branch 'break-tailoring' into 'main'Matthias Clasen2021-08-2516-51/+509
|\ | | | | | | | | Allow more break tailoring with attributes See merge request GNOME/pango!424
| * Add segmentation attributesbreak-tailoringMatthias Clasen2021-08-2516-51/+509
| | | | | | | | | | | | | | Add attributes that let us override word and sentence boundaries (and, indirectly, line breaks). Tests included.
* | Merge branch 'matthiasc/for-main' into 'main'Matthias Clasen2021-08-251-2/+52
|\ \ | |/ |/| | | | | pango-viewer: Visualize caret positions See merge request GNOME/pango!437
| * pango-viewer: Visualize caret positionsMatthias Clasen2021-08-251-2/+52
|/ | | | | | With --annotate=256, show caret positions. This will be helpful in improving our handling of caret positions inside clusters.
* Merge branch 'hyphen-log-attr' into 'main'Matthias Clasen2021-08-2518-201/+275
|\ | | | | | | | | | | | | Add hyphens to log attrs Closes #603 See merge request GNOME/pango!436
| * Add some new tests for hyphenshyphen-log-attrMatthias Clasen2021-08-254-0/+16
| |
| * test-break: Print out hyphensMatthias Clasen2021-08-259-42/+66
| | | | | | | | | | | | Print out all the log attrs we have. Update expected test outputs.
| * Refine hyphenationMatthias Clasen2021-08-255-21/+83
| | | | | | | | | | | | | | | | 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.
| * Quiet a compiler warningMatthias Clasen2021-08-241-1/+1
| |
* | Merge branch 'caret-slope' into 'main'Matthias Clasen2021-08-257-5/+644
|\ \ | |/ |/| | | | | Add pango_layout_get_caret_pos See merge request GNOME/pango!435
| * Add an illustration for caret metricscaret-slopeMatthias Clasen2021-08-246-1/+543
| |
| * Add pango_layout_get_caret_posMatthias Clasen2021-08-242-5/+102
|/ | | | | This is like pango_layout_get_cursor_pos, but returns a rectangle that has caret font metrics applied to it.
* Merge branch 'log-attr-things' into 'main'Matthias Clasen2021-08-246-76/+153
|\ | | | | | | | | break-thai: Fix up word break handling See merge request GNOME/pango!434
| * docs: Update some linkslog-attr-thingsMatthias Clasen2021-08-231-4/+5
| | | | | | | | We have added new APIs breaking and shaping, link to them.
| * 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.