diff options
author | Behdad Esfahbod <behdad@gnome.org> | 2007-05-02 07:49:38 +0000 |
---|---|---|
committer | Behdad Esfahbod <behdad@src.gnome.org> | 2007-05-02 07:49:38 +0000 |
commit | 3ccbff752c8d00078f0a1325de7516051dc42c8d (patch) | |
tree | 2df0342b8c48fa96422d8eb7a3e735a51d9616eb /pango | |
parent | 2eec510f3f474a47bff87b8d021e75152a4d9884 (diff) | |
download | pango-3ccbff752c8d00078f0a1325de7516051dc42c8d.tar.gz |
Add is_expandable_space to PangoLogAttr.
2007-05-02 Behdad Esfahbod <behdad@gnome.org>
* docs/tmpl/main.sgml:
* pango/break.c (pango_default_break):
* pango/pango-break.h:
Add is_expandable_space to PangoLogAttr.
svn path=/trunk/; revision=2250
Diffstat (limited to 'pango')
-rw-r--r-- | pango/break.c | 3 | ||||
-rw-r--r-- | pango/pango-break.h | 15 |
2 files changed, 13 insertions, 5 deletions
diff --git a/pango/break.c b/pango/break.c index e159b024..091d2541 100644 --- a/pango/break.c +++ b/pango/break.c @@ -627,6 +627,9 @@ pango_default_break (const gchar *text, */ attrs[i].is_white = g_unichar_isspace (wc); + /* Just few spaces have variable width. So explicitly mark them. + */ + attrs[i].is_expandable_space = (0x0020 == wc || 0x00A0 == wc); /* ---- Cursor position breaks (Grapheme breaks) ---- */ diff --git a/pango/pango-break.h b/pango/pango-break.h index 9711166d..fe22acec 100644 --- a/pango/pango-break.h +++ b/pango/pango-break.h @@ -40,14 +40,14 @@ struct _PangoLogAttr guint is_white : 1; /* Whitespace character */ - /* cursor can appear in front of character (i.e. this is a grapheme - * boundary, or the first character in the text) + /* Cursor can appear in front of character (i.e. this is a grapheme + * boundary, or the first character in the text). */ guint is_cursor_position : 1; /* Note that in degenerate cases, you could have both start/end set on * some text, most likely for sentences (e.g. no space after a period, so - * the next sentence starts right away) + * the next sentence starts right away). */ guint is_word_start : 1; /* first character in a word */ @@ -65,10 +65,15 @@ struct _PangoLogAttr guint is_sentence_start : 1; /* first character in a sentence */ guint is_sentence_end : 1; /* first non-sentence char after a sentence */ - /* if set, backspace deletes one character rather than - * the entire grapheme cluster + /* If set, backspace deletes one character rather than + * the entire grapheme cluster. */ guint backspace_deletes_character : 1; + + /* Only few space variants (U+0020 and U+00A0) have variable + * width during justification. + */ + guint is_expandable_space : 1; }; /* Determine information about cluster/word/line breaks in a string |