diff --git a/src/HTMLRenderer/font.cc b/src/HTMLRenderer/font.cc index bfb13f1..3e1fff0 100644 --- a/src/HTMLRenderer/font.cc +++ b/src/HTMLRenderer/font.cc @@ -431,7 +431,7 @@ void HTMLRenderer::embed_font(const string & filepath, GfxFont * font, FontInfo char buf[2] = {0, ' '}; space_width = (int)floor(font_cid->getWidth(buf, 2) * info.em_size + 0.5); } - ffw_make_char((int)' ', space_width); + ffw_add_empty_char((int32_t)' ', space_width); } if(ctu) diff --git a/src/util/ffw.c b/src/util/ffw.c index 8ccc030..572209b 100644 --- a/src/util/ffw.c +++ b/src/util/ffw.c @@ -260,9 +260,12 @@ void ffw_cidflatten(void) SFFlatten(cur_fv->sf->cidmaster); } -void ffw_make_char(int enc, int width) +void ffw_add_empty_char(int32_t unicode, int width) { - SFMakeChar(cur_fv->sf, cur_fv->map, enc)->width = width; + // append the new char to Enc + SplineChar * sc = SFMakeChar(cur_fv->sf, cur_fv->map, cur_fv->map->enccount); + sc->unicodeenc = unicode; + sc->width = width; } int ffw_get_em_size(void) diff --git a/src/util/ffw.h b/src/util/ffw.h index bfcdacd..de90cc7 100644 --- a/src/util/ffw.h +++ b/src/util/ffw.h @@ -40,8 +40,8 @@ void ffw_reencode_raw(int32_t * mapping, int mapping_len, int force); void ffw_reencode_raw2(char ** mapping, int mapping_len, int force); void ffw_cidflatten(void); -// get or create the char, and set the width -void ffw_make_char(int enc, int width); +// add a new empty char into the font +void ffw_add_empty_char(int32_t unicode, int width); //////////////////////// // metrics