summaryrefslogtreecommitdiff
path: root/xps/xps_glyphs.c
diff options
context:
space:
mode:
Diffstat (limited to 'xps/xps_glyphs.c')
-rw-r--r--xps/xps_glyphs.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/xps/xps_glyphs.c b/xps/xps_glyphs.c
index bbc49af1..0cc4af5d 100644
--- a/xps/xps_glyphs.c
+++ b/xps/xps_glyphs.c
@@ -387,6 +387,7 @@ xps_parse_glyphs(xps_document *doc, fz_matrix ctm,
char *clip_att;
char *opacity_att;
char *opacity_mask_att;
+ char *navigate_uri_att;
xml_element *transform_tag = NULL;
xml_element *clip_tag = NULL;
@@ -428,6 +429,7 @@ xps_parse_glyphs(xps_document *doc, fz_matrix ctm,
clip_att = xml_att(root, "Clip");
opacity_att = xml_att(root, "Opacity");
opacity_mask_att = xml_att(root, "OpacityMask");
+ navigate_uri_att = xml_att(root, "FixedPage.NavigateUri");
for (node = xml_down(root); node; node = xml_next(node))
{
@@ -545,6 +547,9 @@ xps_parse_glyphs(xps_document *doc, fz_matrix ctm,
area = fz_bound_text(doc->ctx, text, ctm);
+ if (navigate_uri_att)
+ xps_add_link(doc, area, base_uri, navigate_uri_att);
+
xps_begin_opacity(doc, ctm, area, opacity_mask_uri, dict, opacity_att, opacity_mask_tag);
/* If it's a solid color brush fill/stroke do a simple fill */