summaryrefslogtreecommitdiff
path: root/pango/break.c
Commit message (Collapse)AuthorAgeFilesLines
* break: Fix handling of tag sequencestests-and-fixesMatthias Clasen2021-07-071-0/+7
| | | | | | | | Correctly classify tag characters as Grapheme_Extend, so that we don't end up putting grapheme boundaries in the middle of tag sequences. Includes a test.
* docs: Convert gtk-doc syntax leftoversdocs-cleanupMatthias Clasen2021-05-191-30/+39
| | | | | Remove leftovers like #Type, reduce indentations to avoid markdown block quotes, etc.
* break: Fix an inconsistency with sentence breaksfix-sentence-breaksMatthias Clasen2021-05-091-3/+16
| | | | | | | | | | | When we retroactively remove a sentence boundary because of rule SB8, we were not cleaning up the sencence_start/end markers that have already been derived from it. This can be seen in urls like http://www.unicode.org/reports/tr29, where we don't have any sentence boundaries, but we leave a stray sentence_start/end at the first / after ".org".
* Slightly speed up line breakingMatthias Clasen2021-03-291-1/+4
| | | | Make a bit more use of our types.
* CosmeticsMatthias Clasen2021-03-291-11/+6
| | | | Some formatting fixes for default_break.
* docs: Tweak line breaking docsMatthias Clasen2021-03-111-24/+27
| | | | Give doc comments summaries, etc.
* break: Only call break_attrs if we really have attributesTimm Bäder2020-06-081-1/+1
|
* break: Make a local constTimm Bäder2020-06-081-2/+1
| | | | Make it clearer that we're not going to modify the attribute
* break_attrs: Bail out if we have no ALLOW_BREAKS attributesTimm Bäder2020-06-081-0/+6
|
* Allocate internal PangoAttrLists on the stackTimm Bäder2020-06-081-10/+11
|
* Merge branch 'master' into 'master'Matthias Clasen2020-06-081-3/+3
|\ | | | | | | | | Replace fallthrough comments with G_GNUC_FALLTHROUGH See merge request GNOME/pango!177
| * Replace fallthrough comments with G_GNUC_FALLTHROUGHTimm Bäder2020-04-141-3/+3
| |
* | Update Line Breaking to Unicode 13Peng Wu2020-03-101-20/+4
| |
* | Update Grapheme and Word Boundary to Unicode 13Peng Wu2020-02-271-6/+13
|/
* break: Don't determine types more than onceMatthias Clasen2019-10-121-3/+5
| | | | | | We determined the category early on, don't do the same work again later by calling isdigit or isletter wrappers.
* Ensure arguments name match the documentationEmmanuele Bassi2019-08-021-2/+2
| | | | Otherwise the introspection scanner will be majorly confused.
* Annotate implicit fallthroughMatthias Clasen2019-08-011-0/+1
| | | | This triggers compiler warnings.
* Fix a crash with line break controlMatthias Clasen2019-07-271-1/+1
| | | | | We were forgetting to copy allow-break attributes, causing them to be prematurely freed. Oops.
* Add a missing Since tagMatthias Clasen2019-07-201-0/+2
|
* break: Implement allow-breaksMatthias Clasen2019-07-201-9/+87
| | | | | | | | | We implement this in pango_tailor_break(), after the script-specific breaking. When line breaks are forbidden in a range, we remove line and char break opportunities inside the range.
* Add an offset argument to pango_tailor_breakMatthias Clasen2019-07-201-0/+2
| | | | | | Without this, it is not possible to interpret attributes, whose offsets are relative to the beginning of the paragraph.
* Fix compiler warningsMatthias Clasen2019-07-181-1/+1
|
* Fix a compiler warningMatthias Clasen2019-07-171-1/+0
|
* Deprecate pango_breakMatthias Clasen2019-07-161-9/+9
| | | | | To break correctly, use pango_default_break and pango_tailor_break.
* Add pango_tailor_breakMatthias Clasen2019-07-161-16/+42
| | | | | | This function lets you apply language-specific tailoring on top of breaks produced by pango_default_break.
* Merge branch 'kill-lang-engine' into 'master'Matthias Clasen2019-07-091-50/+16
|\ | | | | | | | | Remove lang engine use See merge request GNOME/pango!73
| * Remove language engine remnantsMatthias Clasen2019-07-091-40/+0
| | | | | | | | | | Drop all internal use of language engines. The lang_engine field in PangoAnalysis is now unused.
| * break: Call break_script directlyMatthias Clasen2019-07-091-11/+17
| | | | | | | | No need to go through the engine api anymore.
* | Revert "break: Mark breaks induced by soft hyphens"Matthias Clasen2019-07-091-8/+1
|/ | | | This reverts commit 50b1e8532c5211cebd3cea935f9ac91a087d5c35.
* break: Mark breaks induced by soft hyphensMatthias Clasen2019-07-071-1/+8
| | | | | | Use a bit in PangoLogAttr to mark line breaks that are due to soft hyphens; we want to insert hyphens here later, if the break is taken.
* Respect Dependent Vowels for Indic languagePeng Wu2019-04-091-63/+7
| | | | For Dependent Vowels, the grapheme needs to be deleted by character.
* Fixes emoji backspace deletion behaviorPeng Wu2019-04-021-1/+2
|
* Clarify docs around text inputMatthias Clasen2018-12-121-3/+3
| | | | | | | Make it clear that all text input must be valid UTF-8, except in the case pango_layout_set_text, which we now officially document as accepting and handling invalid input.
* pango/break.c: Declare variables at top of blockChun-wei Fan2018-12-041-1/+4
| | | | This ensures everything build with pre-C89 compilers.
* Update Line Break to Unicode 11Peng Wu2018-11-201-5/+3
|
* Update Word Boundary to Unicode 11Peng Wu2018-11-201-1/+14
|
* Update Grapheme Boundary to Unicode 11Peng Wu2018-11-201-96/+33
|
* Fix is_char_break issue in pango_default_break functionPeng Wu2017-11-151-6/+4
| | | | | | For most cases, the is_char_break variable should be TRUE. https://bugzilla.gnome.org/show_bug.cgi?id=789625
* Update pango_default_break function for Line BreakPeng Wu2017-10-271-459/+421
| | | | | | Support Line Break of Unicode 9.0. https://bugzilla.gnome.org/show_bug.cgi?id=788115
* Fix pango_default_break function for sentence start/endPeng Wu2017-08-301-10/+29
| | | | | | Skip the space characters in sentence start/end. https://bugzilla.gnome.org/show_bug.cgi?id=785978
* Fix backspacing for more Emoji sequencesMatthias Clasen2017-08-171-1/+4
| | | | | | | Behdad pointed out that I didn't get it right for flags and for sequences ending in a skin tone modifier. Fix that.
* Fix backspace-deletes-character for EmojiMatthias Clasen2017-08-151-3/+11
| | | | | | | | We want to delete the entire cluster if it is an Emoji. To do so, look at prev_GB_type to find Emoji. This fixes backspacing for sequences like "man health worker" or "family: man, woman, boy, girl".
* break: Stop lumping ZWJ with ExtendMatthias Clasen2017-08-151-11/+26
| | | | | | | | | | ZWJ is treated as its own class in TR29, and us lumping them together and then manually checking wc == 0x200d in various places was causing us to inadvertedly inserting grapheme breaks in the middle of Emoji ZWJ sequences where they are not suppose to be. Add test cases to verify this.
* break.c: Fix indentation a bitMatthias Clasen2017-08-151-97/+96
| | | | | Messed up whitespace makes this unwieldy function even harder to read.
* Update pango_default_break function for Sentence BoundaryPeng Wu2017-07-311-443/+305
| | | | | | | Re-write the code for Sentence Boundary, and use the code style like Grapheme Boundary and Word Boundary. https://bugzilla.gnome.org/show_bug.cgi?id=782813
* Update pango_default_break function for Word BoundaryPeng Wu2017-07-311-16/+59
| | | | | | | Improve Word Boundary Rule for Hebrew_Letter, Single_Quote, Double_Quote and Regional Indicator. https://bugzilla.gnome.org/show_bug.cgi?id=782813
* Update pango_default_break function for Emoji ZWJ sequencePeng Wu2017-07-311-1/+116
| | | | | | Support Grapheme Boundaries Rule GB10, GB11, GB12 and GB13. https://bugzilla.gnome.org/show_bug.cgi?id=782813
* Avoid deprecation warningsMatthias Clasen2016-08-291-0/+2
| | | | | Now that we're using new-style deprecations, we have to fight a little harder to get rid of them inside pango.
* Avoid some overhead in pango_default_breakMatthias Clasen2015-09-131-4/+14
| | | | | We already have the Unicode type, so we can determine isspace without doing the full type determination again.
* Use g_unichar_get_script directlyMatthias Clasen2015-09-121-1/+1
| | | | Instead of going through a wrapper.