~ubuntu-branches/ubuntu/utopic/pango1.0/utopic

« back to all changes in this revision

Viewing changes to pango/pango-break.h

  • Committer: Package Import Robot
  • Author(s): Robert Ancell
  • Date: 2014-01-28 15:33:11 UTC
  • mfrom: (1.6.8)
  • Revision ID: package-import@ubuntu.com-20140128153311-mf1paynoiz8j4pop
Tags: 1.36.1-0ubuntu1
* New upstream release
* debian/control:
  - Bump build-depends on gtk-doc-tools

Show diffs side-by-side

added added

removed removed

Lines of Context:
30
30
 
31
31
/* Logical attributes of a character.
32
32
 */
 
33
/**
 
34
 * PangoLogAttr:
 
35
 * @is_line_break: if set, can break line in front of character
 
36
 * @is_mandatory_break: if set, must break line in front of character
 
37
 * @is_char_break: if set, can break here when doing character wrapping
 
38
 * @is_white: is whitespace character
 
39
 * @is_cursor_position: if set, cursor can appear in front of character.
 
40
 * i.e. this is a grapheme boundary, or the first character
 
41
 * in the text.
 
42
 * This flag implements Unicode's
 
43
 * <ulink url="http://www.unicode.org/reports/tr29/">Grapheme
 
44
 * Cluster Boundaries</ulink> semantics.
 
45
 * @is_word_start: is first character in a word
 
46
 * @is_word_end: is first non-word char after a word
 
47
 * Note that in degenerate cases, you could have both @is_word_start
 
48
 * and @is_word_end set for some character.
 
49
 * @is_sentence_boundary: is a sentence boundary.
 
50
 * There are two ways to divide sentences. The first assigns all
 
51
 * inter-sentence whitespace/control/format chars to some sentence,
 
52
 * so all chars are in some sentence; @is_sentence_boundary denotes
 
53
 * the boundaries there. The second way doesn't assign
 
54
 * between-sentence spaces, etc. to any sentence, so
 
55
 * @is_sentence_start/@is_sentence_end mark the boundaries of those sentences.
 
56
 * @is_sentence_start: is first character in a sentence
 
57
 * @is_sentence_end: is first char after a sentence.
 
58
 * Note that in degenerate cases, you could have both @is_sentence_start
 
59
 * and @is_sentence_end set for some character. (e.g. no space after a
 
60
 * period, so the next sentence starts right away)
 
61
 * @backspace_deletes_character: if set, backspace deletes one character
 
62
 * rather than the entire grapheme cluster. This
 
63
 * field is only meaningful on grapheme
 
64
 * boundaries (where @is_cursor_position is
 
65
 * set).  In some languages, the full grapheme
 
66
 * (e.g.  letter + diacritics) is considered a
 
67
 * unit, while in others, each decomposed
 
68
 * character in the grapheme is a unit. In the
 
69
 * default implementation of pango_break(), this
 
70
 * bit is set on all grapheme boundaries except
 
71
 * those following Latin, Cyrillic or Greek base characters.
 
72
 * @is_expandable_space: is a whitespace character that can possibly be
 
73
 * expanded for justification purposes. (Since: 1.18)
 
74
 * @is_word_boundary: is a word boundary.
 
75
 * More specifically, means that this is not a position in the middle
 
76
 * of a word.  For example, both sides of a punctuation mark are
 
77
 * considered word boundaries.  This flag is particularly useful when
 
78
 * selecting text word-by-word.
 
79
 * This flag implements Unicode's
 
80
 * <ulink url="http://www.unicode.org/reports/tr29/">Word
 
81
 * Boundaries</ulink> semantics. (Since: 1.22)
 
82
 *
 
83
 * The #PangoLogAttr structure stores information
 
84
 * about the attributes of a single character.
 
85
 */
33
86
struct _PangoLogAttr
34
87
{
35
88
  guint is_line_break : 1;      /* Can break line in front of character */