diff options
author | Matthias Clasen <mclasen@redhat.com> | 2021-08-20 17:16:52 -0400 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2021-08-20 23:15:03 -0400 |
commit | bf5e07101758040025d1bc3a592c9dcd982c0edc (patch) | |
tree | 1de53fefc67d4de6bb786d68387b9e6a906c6ee9 /pango/pango-markup.c | |
parent | 5efdd7e05c3b30db0760625de2fd3b4e0e9e4b9f (diff) | |
download | pango-bf5e07101758040025d1bc3a592c9dcd982c0edc.tar.gz |
markup: Add a text transform attribute
Add a PangoTextTransform enum, a PangoAttribute
to set it on runs of text, and support for parsing
it out of markup.
Diffstat (limited to 'pango/pango-markup.c')
-rw-r--r-- | pango/pango-markup.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/pango/pango-markup.c b/pango/pango-markup.c index a897a52d..f82aacef 100644 --- a/pango/pango-markup.c +++ b/pango/pango-markup.c @@ -1226,6 +1226,7 @@ span_parse_func (MarkupData *md G_GNUC_UNUSED, const char *insert_hyphens = NULL; const char *show = NULL; const char *line_height = NULL; + const char *text_transform = NULL; g_markup_parse_context_get_position (context, &line_number, &char_number); @@ -1294,6 +1295,9 @@ span_parse_func (MarkupData *md G_GNUC_UNUSED, CHECK_ATTRIBUTE (strikethrough_color); CHECK_ATTRIBUTE (style); break; + case 't': + CHECK_ATTRIBUTE (text_transform); + break; case 'g': CHECK_ATTRIBUTE (gravity); CHECK_ATTRIBUTE (gravity_hint); @@ -1637,6 +1641,16 @@ span_parse_func (MarkupData *md G_GNUC_UNUSED, add_attribute (tag, pango_attr_show_new (flags)); } + if (G_UNLIKELY (text_transform)) + { + PangoTextTransform tf; + + if (!span_parse_enum ("text_transform", text_transform, PANGO_TYPE_TEXT_TRANSFORM, (int*)(void*)&tf, line_number, error)) + goto error; + + add_attribute (tag, pango_attr_text_transform_new (tf)); + } + if (G_UNLIKELY (rise)) { gint n = 0; |