LogAttr
The PangoLogAttr
structure stores information about the attributes of a single character.
Constructors
Allocate a new LogAttr.
Allocate a new LogAttr using the provided AutofreeScope.
Allocate a new LogAttr.
Allocate a new LogAttr using the provided AutofreeScope.
Properties
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 func@break, this bit is set on all grapheme boundaries except those following Latin, Cyrillic or Greek base characters.
when breaking lines before this char, insert a hyphen. Since: 1.50
when breaking lines before this char, remove the preceding char. Since 1.50
if set, can break here when doing character wrapping
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.
is a whitespace character that can possibly be expanded for justification purposes. (Since: 1.18)
if set, can break line in front of character
if set, must break line in front of character
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 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)
is first character in a sentence
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)
is first character in a word