diff options
Diffstat (limited to 'xps/xps_glyphs.c')
-rw-r--r-- | xps/xps_glyphs.c | 5 |
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 */ |