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 | |
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
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | docs/tmpl/main.sgml | 2 | ||||
-rw-r--r-- | pango/break.c | 3 | ||||
-rw-r--r-- | pango/pango-break.h | 15 |
4 files changed, 22 insertions, 5 deletions
@@ -1,3 +1,10 @@ +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. + 2007-05-02 Mathias Hasselmann <mathias.hasselmann@gmx.de> * pango-view/viewer-render.c (make_layout), (parse_options): diff --git a/docs/tmpl/main.sgml b/docs/tmpl/main.sgml index 865229f8..9a3a9f39 100644 --- a/docs/tmpl/main.sgml +++ b/docs/tmpl/main.sgml @@ -471,6 +471,8 @@ about the attributes of a single character. 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 possiblye be + expanded for justification purposes. (Since: 1.18) <!-- ##### FUNCTION pango_shape ##### --> <para> 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 |