summaryrefslogtreecommitdiff
path: root/fitz/dev_text.c
diff options
context:
space:
mode:
authorRobin Watts <robin.watts@artifex.com>2011-11-25 19:42:34 +0000
committerRobin Watts <robin.watts@artifex.com>2011-11-25 19:42:34 +0000
commitbdf5c8848a2de071c8380fab86a1a49215ed5ee7 (patch)
tree8ff2e40bca4f337e5db112284992e6be67cea820 /fitz/dev_text.c
parent5f6c8d94faecc0bd87113a138befe554ab2172b2 (diff)
parent6e14149d3e915f559f99276a525862e28d6f0478 (diff)
downloadmupdf-bdf5c8848a2de071c8380fab86a1a49215ed5ee7.tar.xz
Merge branch 'master' into context
Diffstat (limited to 'fitz/dev_text.c')
-rw-r--r--fitz/dev_text.c77
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