summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* renderer: Use ink rects for line lengthsunderline-kerningMatthias Clasen2021-08-271-6/+6
| | | | | | | | | When rendering underlines and the like, we should use ink extents, since the logical extents will get shortened by kerning, which can be pretty noticable when underlining individual glyphs, such as the T in To. Fixes: #139
* 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.