Struct
PangoLogAttr
Description [src]
structPangoLogAttr{
guintis_line_break:1;
guintis_mandatory_break:1;
guintis_char_break:1;
guintis_white:1;
guintis_cursor_position:1;
guintis_word_start:1;
guintis_word_end:1;
guintis_sentence_boundary:1;
guintis_sentence_start:1;
guintis_sentence_end:1;
guintbackspace_deletes_character:1;
guintis_expandable_space:1;
guintis_word_boundary:1;
guintbreak_inserts_hyphen:1;
guintbreak_removes_preceding:1;
guintreserved:17;
}
The PangoLogAttr structure stores information about the attributes of a
single character.
Structure members
is_line_break:guintIf set, can break line in front of character.
is_mandatory_break:guintIf set, must break line in front of character.
is_char_break:guintIf set, can break here when doing character wrapping.
is_white:guintIs whitespace character.
is_cursor_position:guintIf 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_word_start:guintIs first character in a word.
is_word_end:guintIs first non-word char after a word Note that in degenerate cases, you could have both
is_word_startandis_word_endset for some character.is_sentence_boundary:guintIs 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_boundarydenotes the boundaries there. The second way doesn’t assign between-sentence spaces, etc. to any sentence, sois_sentence_start/is_sentence_endmark the boundaries of those sentences.is_sentence_start:guintIs first character in a sentence.
is_sentence_end:guintIs first char after a sentence. Note that in degenerate cases, you could have both
is_sentence_startandis_sentence_endset for some character. (e.g. no space after a period, so the next sentence starts right away).backspace_deletes_character:guintIf set, backspace deletes one character rather than the entire grapheme cluster. This field is only meaningful on grapheme boundaries (where
is_cursor_positionis 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 ofpango_break(), this bit is set on all grapheme boundaries except those following Latin, Cyrillic or Greek base characters.is_expandable_space:guintIs a whitespace character that can possibly be expanded for justification purposes. (Since: 1.18).
is_word_boundary:guintIs 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).
break_inserts_hyphen:guintWhen breaking lines before this char, insert a hyphen. Since: 1.50.
break_removes_preceding:guintWhen breaking lines before this char, remove the preceding char. Since 1.50.
reserved:guintNo description available.