:right-sidebar: True
LogAttr
===================================================================
.. currentmodule:: gi.repository.Pango
.. class:: LogAttr(*args, **kwargs)
:no-contents-entry:
The ``PangoLogAttr`` structure stores information about the attributes of a
single character.
Fields
------
.. rst-class:: interim-class
.. class:: LogAttr
:no-index:
.. attribute:: backspace_deletes_character
If set, backspace deletes one character
rather than the entire grapheme cluster. This field is only meaningful
on grapheme boundaries (where ``is_cursor_position`` is set). In some languages,
the full grapheme (e.g. letter + diacritics) is considered a unit, while in
others, each decomposed character in the grapheme is a unit. In the default
implementation of :obj:`~gi.repository.Pango.break`\, this bit is set on all grapheme boundaries
except those following Latin, Cyrillic or Greek base characters.
.. attribute:: break_inserts_hyphen
When breaking lines before this char, insert a hyphen.
Since: 1.50
.. attribute:: break_removes_preceding
When breaking lines before this char, remove the
preceding char. Since 1.50
.. attribute:: is_char_break
If set, can break here when doing character wrapping
.. attribute:: is_cursor_position
If set, cursor can appear in front of character.
i.e. this is a grapheme boundary, or the first character in the text.
This flag implements Unicode's
`Grapheme Cluster Boundaries `__
semantics.
.. attribute:: is_expandable_space
Is a whitespace character that can possibly be
expanded for justification purposes. (Since: 1.18)
.. attribute:: is_line_break
If set, can break line in front of character
.. attribute:: is_mandatory_break
If set, must break line in front of character
.. attribute:: is_sentence_boundary
Is a sentence boundary.
There are two ways to divide sentences. The first assigns all
inter-sentence whitespace/control/format chars to some sentence,
so all chars are in some sentence; ``is_sentence_boundary`` denotes
the boundaries there. The second way doesn't assign
between-sentence spaces, etc. to any sentence, so
``is_sentence_start``\/``is_sentence_end`` mark the boundaries of those sentences.
.. attribute:: is_sentence_end
Is first char after a sentence.
Note that in degenerate cases, you could have both ``is_sentence_start``
and ``is_sentence_end`` set for some character. (e.g. no space after a
period, so the next sentence starts right away)
.. attribute:: is_sentence_start
Is first character in a sentence
.. attribute:: is_white
Is whitespace character
.. attribute:: is_word_boundary
Is a word boundary, as defined by UAX``29``.
More specifically, means that this is not a position in the middle of a word.
For example, both sides of a punctuation mark are considered word boundaries.
This flag is particularly useful when selecting text word-by-word. This flag
implements Unicode's `Word Boundaries `__
semantics. (Since: 1.22)
.. attribute:: is_word_end
Is first non-word char after a word
Note that in degenerate cases, you could have both ``is_word_start``
and ``is_word_end`` set for some character.
.. attribute:: is_word_start
Is first character in a word
.. attribute:: reserved