diff options
author | Tor Andersson <tor.andersson@artifex.com> | 2016-04-04 16:44:05 +0200 |
---|---|---|
committer | Tor Andersson <tor.andersson@artifex.com> | 2016-04-04 16:52:03 +0200 |
commit | a1c34c0224d32ed4f9f2909863e8ac907c94524d (patch) | |
tree | 9e8994c0db2b8f105a022e23b24735670665fba3 /source/fitz/trace-device.c | |
parent | 9dc58cc827521b11d4eb8e2dd14e7e26bef74edb (diff) | |
download | mupdf-a1c34c0224d32ed4f9f2909863e8ac907c94524d.tar.xz |
Add glyph names to trace device output.
Diffstat (limited to 'source/fitz/trace-device.c')
-rw-r--r-- | source/fitz/trace-device.c | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/source/fitz/trace-device.c b/source/fitz/trace-device.c index 86a1e60e..2965f958 100644 --- a/source/fitz/trace-device.c +++ b/source/fitz/trace-device.c @@ -39,12 +39,24 @@ fz_trace_text_span(fz_context *ctx, fz_output *out, fz_text_span *span) fz_printf(ctx, out, " trm=\"%g %g %g %g\">\n", span->trm.a, span->trm.b, span->trm.c, span->trm.d); for (i = 0; i < span->len; i++) { - if (!isxmlmeta(span->items[i].ucs)) - fz_printf(ctx, out, "<g ucs=\"%c\" gid=\"%d\" x=\"%g\" y=\"%g\" />\n", - span->items[i].ucs, span->items[i].gid, span->items[i].x, span->items[i].y); + char name[32]; + + if (span->items[i].ucs == -1) + fz_printf(ctx, out, "<g unicode=\"-1\""); + else if (!isxmlmeta(span->items[i].ucs)) + fz_printf(ctx, out, "<g unicode=\"%c\"", span->items[i].ucs); + else + fz_printf(ctx, out, "<g unicode=\"U+%04x\"", span->items[i].ucs); + + if (span->items[i].gid >= 0) + { + fz_get_glyph_name(ctx, span->font, span->items[i].gid, name, sizeof name); + fz_printf(ctx, out, " glyph=\"%s\"", name); + } else - fz_printf(ctx, out, "<g ucs=\"U+%04x\" gid=\"%d\" x=\"%g\" y=\"%g\" />\n", - span->items[i].ucs, span->items[i].gid, span->items[i].x, span->items[i].y); + fz_printf(ctx, out, " glyph=\"-1\""); + + fz_printf(ctx, out, " x=\"%g\" y=\"%g\" />\n", span->items[i].x, span->items[i].y); } fz_printf(ctx, out, "</span>\n"); } |