diff options
author | Robin Watts <robin.watts@artifex.com> | 2011-11-25 19:42:34 +0000 |
---|---|---|
committer | Robin Watts <robin.watts@artifex.com> | 2011-11-25 19:42:34 +0000 |
commit | bdf5c8848a2de071c8380fab86a1a49215ed5ee7 (patch) | |
tree | 8ff2e40bca4f337e5db112284992e6be67cea820 /fitz/dev_text.c | |
parent | 5f6c8d94faecc0bd87113a138befe554ab2172b2 (diff) | |
parent | 6e14149d3e915f559f99276a525862e28d6f0478 (diff) | |
download | mupdf-bdf5c8848a2de071c8380fab86a1a49215ed5ee7.tar.xz |
Merge branch 'master' into context
Diffstat (limited to 'fitz/dev_text.c')
-rw-r--r-- | fitz/dev_text.c | 77 |
1 files changed, 40 insertions, 37 deletions
diff --git a/fitz/dev_text.c b/fitz/dev_text.c index 2e63aa9d..bf304778 100644 --- a/fitz/dev_text.c +++ b/fitz/dev_text.c @@ -37,16 +37,15 @@ fz_free_text_span(fz_context *ctx, fz_text_span *span) { fz_text_span *next; - do + while (span) { - next = span->next; if (span->font) fz_drop_font(ctx, span->font); + next = span->next; fz_free(ctx, span->text); fz_free(ctx, span); span = next; } - while (span != NULL); } static void @@ -160,32 +159,34 @@ fz_debug_text_span_xml(fz_text_span *span) char buf[10]; int c, n, k, i; - printf("<span font=\"%s\" size=\"%g\" wmode=\"%d\" eol=\"%d\">\n", - span->font ? span->font->name : "NULL", span->size, span->wmode, span->eol); - - for (i = 0; i < span->len; i++) + while (span) { - printf("\t<char ucs=\""); - c = span->text[i].c; - if (c < 128) - putchar(c); - else + printf("<span font=\"%s\" size=\"%g\" wmode=\"%d\" eol=\"%d\">\n", + span->font ? span->font->name : "NULL", span->size, span->wmode, span->eol); + + for (i = 0; i < span->len; i++) { - n = runetochar(buf, &c); - for (k = 0; k < n; k++) - putchar(buf[k]); + printf("\t<char ucs=\""); + c = span->text[i].c; + if (c < 128) + putchar(c); + else + { + n = runetochar(buf, &c); + for (k = 0; k < n; k++) + putchar(buf[k]); + } + printf("\" bbox=\"%d %d %d %d\" />\n", + span->text[i].bbox.x0, + span->text[i].bbox.y0, + span->text[i].bbox.x1, + span->text[i].bbox.y1); } - printf("\" bbox=\"%d %d %d %d\" />\n", - span->text[i].bbox.x0, - span->text[i].bbox.y0, - span->text[i].bbox.x1, - span->text[i].bbox.y1); - } - printf("</span>\n"); + printf("</span>\n"); - if (span->next) - fz_debug_text_span_xml(span->next); + span = span->next; + } } void @@ -194,24 +195,26 @@ fz_debug_text_span(fz_text_span *span) char buf[10]; int c, n, k, i; - for (i = 0; i < span->len; i++) + while (span) { - c = span->text[i].c; - if (c < 128) - putchar(c); - else + for (i = 0; i < span->len; i++) { - n = runetochar(buf, &c); - for (k = 0; k < n; k++) - putchar(buf[k]); + c = span->text[i].c; + if (c < 128) + putchar(c); + else + { + n = runetochar(buf, &c); + for (k = 0; k < n; k++) + putchar(buf[k]); + } } - } - if (span->eol) - putchar('\n'); + if (span->eol) + putchar('\n'); - if (span->next) - fz_debug_text_span(span->next); + span = span->next; + } } static void |