boolean font_shareable (internal_font_number f, internal_font_number k) { int ret = 0; if (font_cidregistry(f) == NULL) { if ( hasfmentry ( k ) && ( font_map ( k ) == font_map ( f ) ) && ( same_font_name ( k , f ) || ( pdf_font_auto_expand (f) && ( pdf_font_blink (f) != 0 ) /* 0 = nullfont */ && same_font_name ( k , pdf_font_blink (f) ) ) ) ) { ret = 1; } } else { if ((font_filename(k) != NULL && font_filename(f) != NULL && strcmp(font_filename(k),font_filename(f)) == 0) || ( pdf_font_auto_expand (f) && ( pdf_font_blink (f) != 0 ) /* 0 = nullfont */ && same_font_name ( k , pdf_font_blink (f) ) ) ) { ret = 1; } } return ret; }
boolean hasfmentry(internalfontnumber f) { if (font_map(f) == NULL) set_font_map(f, (fm_entry_ptr) fmlookup(f)); assert(font_map(f) != NULL); return font_map(f) != (fm_entry_ptr) dummy_fm_entry(); }
static void tr_fmap(char **args) { struct font *fn = args[1] ? dev_font(dev_pos(args[1])) : NULL; if (fn && args[2]) font_map(fn, args[2], args[3]); }