summaryrefslogtreecommitdiff
path: root/source/pdf/pdf-resources.c
diff options
context:
space:
mode:
Diffstat (limited to 'source/pdf/pdf-resources.c')
-rw-r--r--source/pdf/pdf-resources.c15
1 files changed, 4 insertions, 11 deletions
diff --git a/source/pdf/pdf-resources.c b/source/pdf/pdf-resources.c
index 55d6603e..82991f6e 100644
--- a/source/pdf/pdf-resources.c
+++ b/source/pdf/pdf-resources.c
@@ -109,24 +109,17 @@ pdf_insert_image_resource(fz_context *ctx, pdf_document *doc, unsigned char dige
* it may be more problematic. */
pdf_obj *
-pdf_find_font_resource(fz_context *ctx, pdf_document *doc, int type, int encoding, fz_buffer *item, unsigned char digest[16])
+pdf_find_font_resource(fz_context *ctx, pdf_document *doc, int type, int encoding, fz_font *item, unsigned char digest[16])
{
- fz_md5 state;
- unsigned char *data;
- size_t size;
pdf_obj *res;
if (!doc->resources.fonts)
doc->resources.fonts = fz_new_hash_table(ctx, 4096, 16, -1, pdf_drop_obj_as_void);
- size = fz_buffer_storage(ctx, item, &data);
+ fz_font_digest(ctx, item, digest);
- /* Create md5 and see if we have the item in our table */
- fz_md5_init(&state);
- fz_md5_update(&state, (unsigned char*)&type, sizeof type);
- fz_md5_update(&state, (unsigned char*)&encoding, sizeof encoding);
- fz_md5_update(&state, data, size);
- fz_md5_final(&state, digest);
+ digest[0] += type;
+ digest[1] += encoding;
res = fz_hash_find(ctx, doc->resources.fonts, digest);
if (res)