static int BitmapGetInfoBitmap (FontPathElementPtr fpe, FontInfoPtr pFontInfo, FontEntryPtr entry, char *fileName) { FontFilePtr file; int i; int ret; FontRendererPtr renderer; renderer = FontFileMatchRenderer (fileName); if (!renderer) return BadFontName; i = BitmapGetRenderIndex(renderer); file = FontFileOpen (fileName); if (!file) return BadFontName; ret = (*readers[i].ReadInfo) (pFontInfo, file); FontFileClose (file); return ret; }
static Bool AddFileNameAliases(FontDirectoryPtr dir) { int i; char copy[MAXFONTFILENAMELEN]; char *fileName; FontTablePtr table; FontRendererPtr renderer; int len; FontNameRec name; table = &dir->nonScalable; for (i = 0; i < table->used; i++) { if (table->entries[i].type != FONT_ENTRY_BITMAP) continue; fileName = table->entries[i].u.bitmap.fileName; renderer = FontFileMatchRenderer (fileName); if (!renderer) continue; len = strlen (fileName) - renderer->fileSuffixLen; if (len >= sizeof(copy)) continue; CopyISOLatin1Lowered (copy, fileName, len); copy[len] = '\0'; name.name = copy; name.length = len; name.ndashes = FontFileCountDashes (copy, len); if (!FontFileFindNameInDir(table, &name)) { if (!FontFileAddFontAlias (dir, copy, table->entries[i].name.name)) return FALSE; } } return TRUE; }