summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTor Andersson <tor.andersson@artifex.com>2016-02-24 18:52:50 +0100
committerTor Andersson <tor.andersson@artifex.com>2016-02-29 16:00:51 +0100
commit9c28b43b4807aca041dbda3bd6f4f361582d3f5a (patch)
treea41540f751de8ece0e500f623670a1a47d25e3fb
parent7edd58662c72edd4327488151346fba57ce9d7e7 (diff)
downloadmupdf-9c28b43b4807aca041dbda3bd6f4f361582d3f5a.tar.xz
Use fz_advance_glyph when computing CID font widths array.
-rw-r--r--source/pdf/pdf-font.c23
1 files changed, 2 insertions, 21 deletions
diff --git a/source/pdf/pdf-font.c b/source/pdf/pdf-font.c
index 31e00325..8ddea304 100644
--- a/source/pdf/pdf-font.c
+++ b/source/pdf/pdf-font.c
@@ -1631,7 +1631,6 @@ pdf_add_cid_font_widths(fz_context *ctx, pdf_document *doc, pdf_font_desc *fontd
int prev_size;
int first_code;
int new_first_code;
- int fterr;
int state = FW_START;
int new_state = FW_START;
int publish = 0;
@@ -1644,27 +1643,9 @@ pdf_add_cid_font_widths(fz_context *ctx, pdf_document *doc, pdf_font_desc *fontd
if (source_font->width_table == NULL)
{
- fterr = FT_Select_Charmap(fontdesc->font->ft_face, ft_encoding_unicode);
- if (fterr)
- {
- fz_warn(ctx, "freetype select char map: %s", ft_error_string(fterr));
- return NULL;
- }
- fterr = FT_Set_Char_Size(fontdesc->font->ft_face, 1000, 1000, 72, 72);
- if (fterr)
- {
- fz_warn(ctx, "freetype set char size: %s", ft_error_string(fterr));
- return NULL;
- }
-
/* Prime the pump. */
prev_code = FT_Get_First_Char(fontdesc->font->ft_face, &gindex);
- if (gindex == 0)
- {
- fz_warn(ctx, "freetype FT_Get_First_Char fail: %s", ft_error_string(fterr));
- return NULL;
- }
- prev_size = ((FT_Face)fontdesc->font->ft_face)->glyph->metrics.horiAdvance;
+ prev_size = fz_advance_glyph(ctx, fontdesc->font, gindex, 0) * 1000;
first_code = prev_code;
}
else
@@ -1687,7 +1668,7 @@ pdf_add_cid_font_widths(fz_context *ctx, pdf_document *doc, pdf_font_desc *fontd
if (source_font->width_table == NULL)
{
curr_code = FT_Get_Next_Char(fontdesc->font->ft_face, prev_code, &gindex);
- curr_size = ((FT_Face)fontdesc->font->ft_face)->glyph->metrics.horiAdvance;
+ curr_size = fz_advance_glyph(ctx, fontdesc->font, gindex, 0) * 1000;
}
else
{