+
+ if(config_extrafontdata && current_fontinfo) {
+
+ gfxmatrix_t m = this->current_font_matrix;
+ state->transform(0, 0, &m.tx, &m.ty);
+ m.m00*=INTERNAL_FONT_SIZE;
+ m.m01*=INTERNAL_FONT_SIZE;
+ m.m10*=INTERNAL_FONT_SIZE;
+ m.m11*=INTERNAL_FONT_SIZE;
+ m.tx += user_movex + clipmovex;
+ m.ty += user_movey + clipmovey;
+
+ if(!current_fontinfo || (unsigned)charid >= current_fontinfo->num_glyphs || !current_fontinfo->glyphs[charid]) {
+ msg("<error> Invalid charid %d for font %s", charid, current_font_id);
+ return gFalse;
+ }
+ gfxcolor_t col={0,0,0,0};
+ CharCode glyphid = current_fontinfo->glyphs[charid]->glyphid;
+ device->drawchar(device, current_gfxfont, glyphid, &col, &m);
+ }