void CFPF_SkiaFontMgr::ScanPath(FX_BSTR path) { void *handle = FX_OpenFolder(path.GetCStr()); if (!handle) { return; } CFX_ByteString filename; FX_BOOL bFolder = FALSE; while (FX_GetNextFile(handle, filename, bFolder)) { if (bFolder) { if (filename == FX_BSTRC(".") || filename == FX_BSTRC("..")) { continue; } } else { CFX_ByteString ext = filename.Right(4); ext.MakeLower(); if (ext != FX_BSTRC(".ttf") && ext != FX_BSTRC(".ttc")) { continue; } } CFX_ByteString fullpath = path; fullpath += "/"; fullpath += filename; if (bFolder) { ScanPath(fullpath); } else { ScanFile(fullpath); } } FX_CloseFolder(handle); }
static FX_BOOL FPF_SkiaMaybeArabic(FX_BSTR bsFacename) { CFX_ByteString bsName = bsFacename; bsName.MakeLower(); return bsName.Find("arabic") > -1; }
static FX_BOOL FPF_SkiaMaybeSymbol(FX_BSTR bsFacename) { CFX_ByteString bsName = bsFacename; bsName.MakeLower(); return bsName.Find("symbol") > -1; }