### Struct

# Pango LogAttr

#### Description [src]

    struct PangoLogAttr {
      guint is_line_break;
      guint is_mandatory_break;
      guint is_char_break;
      guint is_white;
      guint is_cursor_position;
      guint is_word_start;
      guint is_word_end;
      guint is_sentence_boundary;
      guint is_sentence_start;
      guint is_sentence_end;
      guint backspace_deletes_character;
      guint is_expandable_space;
      guint is_word_boundary;
    }

The `PangoLogAttr` structure stores information about the attributes of a single character.

###### Structure members

`is_line_break` | If set, can break line in front of character.
`is_mandatory_break` | If set, must break line in front of character.
`is_char_break` | If set, can break here when doing character wrapping.
`is_white` | Is whitespace character.
`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.
`is_word_start` | Is first character in a word.
`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.
`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.
`is_sentence_start` | Is first character in a sentence.
`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)
`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 `pango_break()`, this bit is set on all grapheme boundaries except those following Latin, Cyrillic or Greek base characters.
`is_expandable_space` | Is a whitespace character that can possibly be expanded for justification purposes. (Since: 1.18)
`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)