[pango/baseline-shift: 3/4] markup: Change <sup> and <sub>
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [pango/baseline-shift: 3/4] markup: Change <sup> and <sub>
- Date: Mon, 30 Aug 2021 04:38:31 +0000 (UTC)
commit 556350173ee45c9540b90e57b1946f909b660fc2
Author: Matthias Clasen <mclasen redhat com>
Date: Sun Aug 29 16:37:02 2021 -0400
markup: Change <sup> and <sub>
Use the new baseline-shift and font-scale attributes
to reimplement <sup> and <sub>.
Now they take font metrics into account and nest
properly.
pango/pango-markup.c | 22 ++++------------------
1 file changed, 4 insertions(+), 18 deletions(-)
---
diff --git a/pango/pango-markup.c b/pango/pango-markup.c
index 54c08c67..791e71fd 100644
--- a/pango/pango-markup.c
+++ b/pango/pango-markup.c
@@ -1833,8 +1833,6 @@ s_parse_func (MarkupData *md G_GNUC_UNUSED,
return TRUE;
}
-#define SUPERSUB_RISE 5000
-
static gboolean
sub_parse_func (MarkupData *md G_GNUC_UNUSED,
OpenTag *tag,
@@ -1845,14 +1843,8 @@ sub_parse_func (MarkupData *md G_GNUC_UNUSED,
{
CHECK_NO_ATTRS("sub");
- /* Shrink font, and set a negative rise */
- if (tag)
- {
- tag->scale_level_delta -= 1;
- tag->scale_level -= 1;
- }
-
- add_attribute (tag, pango_attr_rise_new (-SUPERSUB_RISE));
+ add_attribute (tag, pango_attr_font_scale_new (PANGO_FONT_SCALE_SUBSCRIPT));
+ add_attribute (tag, pango_attr_baseline_shift_new (PANGO_BASELINE_SHIFT_SUBSCRIPT));
return TRUE;
}
@@ -1867,14 +1859,8 @@ sup_parse_func (MarkupData *md G_GNUC_UNUSED,
{
CHECK_NO_ATTRS("sup");
- /* Shrink font, and set a positive rise */
- if (tag)
- {
- tag->scale_level_delta -= 1;
- tag->scale_level -= 1;
- }
-
- add_attribute (tag, pango_attr_rise_new (SUPERSUB_RISE));
+ add_attribute (tag, pango_attr_font_scale_new (PANGO_FONT_SCALE_SUPERSCRIPT));
+ add_attribute (tag, pango_attr_baseline_shift_new (PANGO_BASELINE_SHIFT_SUPERSCRIPT));
return TRUE;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]