static void create_fontdescriptor(fo_entry * fo, internalfontnumber f) { assert(fo != NULL); assert(fo->fm != NULL); assert(fo->fd == NULL); fo->fd = new_fd_entry(); preset_fontname(fo); preset_fontmetrics(fo->fd, f); fo->fd->fe = fo->fe; /* encoding needed by TrueType writing */ fo->fd->fm = fo->fm; /* map entry needed by TrueType writing */ fo->fd->gl_tree = avl_create(comp_string_entry, NULL, &avl_xallocator); assert(fo->fd->gl_tree != NULL); }
fd_entry *epdf_create_fontdescriptor(fm_entry * fm) { fd_entry *fd; if ((fd = lookup_fd_entry(fm->ff_name, fm->slant, fm->extend)) == NULL) { fm->in_use = true; fd = new_fd_entry(); fd->fm = fm; register_fd_entry(fd); fd->fd_objnum = pdf_new_objnum(); assert(fm->ps_name != NULL); fd->fontname = xstrdup(fm->ps_name); /* just fallback */ /* preset_fontmetrics (fo->fd, f); */ fd->gl_tree = avl_create(comp_string_entry, NULL, &avl_xallocator); assert(fd->gl_tree != NULL); } return fd; }