: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