summaryrefslogtreecommitdiff
path: root/pango/pango-markup.c
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2021-08-20 17:16:52 -0400
committerMatthias Clasen <mclasen@redhat.com>2021-08-20 23:15:03 -0400
commitbf5e07101758040025d1bc3a592c9dcd982c0edc (patch)
tree1de53fefc67d4de6bb786d68387b9e6a906c6ee9 /pango/pango-markup.c
parent5efdd7e05c3b30db0760625de2fd3b4e0e9e4b9f (diff)
downloadpango-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.c14
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;