LogAttr
Allocate a new LogAttr.
This instance will be allocated on the native heap and automatically freed when this class instance is garbage collected.
Allocate a new LogAttr using the provided AutofreeScope.
The AutofreeScope manages the allocation lifetime. The most common usage is with memScoped
.
Parameters
The AutofreeScope to allocate this structure in.
Allocate a new LogAttr.
This instance will be allocated on the native heap and automatically freed when this class instance is garbage collected.
Parameters
if set, can break line in front of character
if set, must break line in front of character
if set, can break here when doing character wrapping
is whitespace character
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 first character in a word
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.
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 character in a sentence
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)
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.
is a whitespace character that can possibly be expanded for justification purposes. (Since: 1.18)
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)
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
Allocate a new LogAttr using the provided AutofreeScope.
The AutofreeScope manages the allocation lifetime. The most common usage is with memScoped
.
Parameters
if set, can break line in front of character
if set, must break line in front of character
if set, can break here when doing character wrapping
is whitespace character
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 first character in a word
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.
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 character in a sentence
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)
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.
is a whitespace character that can possibly be expanded for justification purposes. (Since: 1.18)
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)
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
The AutofreeScope to allocate this structure in.