4
我想讓我的C++程序在我的Win32機器上檢測已安裝的字體。我通過從GTK +包中獲取庫來嘗試fontconfig。fontconfig找不到字體
我用下面的測試代碼:
#include<fontconfig.h>
FcBool success = FcInit();
if (!success) {
return false;
}
FcConfig *config = FcInitLoadConfigAndFonts();
if(!config) {
return false;
}
FcChar8 *s, *file;
FcPattern *p = FcPatternCreate();
FcObjectSet *os = FcObjectSetBuild (FC_FAMILY,NULL);
FcFontSet *fs = FcFontList(config, p, os);
LOG("Total fonts: %d\n", fs->nfont);
for (int i=0; fs && i < fs->nfont; i++) {
FcPattern *font = fs->fonts[i];
s = FcNameUnparse(font);
LOG("Font: %s\n", s);
free(s);
if (FcPatternGetString(font, FC_FILE, 0, &file) == FcResultMatch) {
LOG("Filename: %s\n", file);
}
}
// destroy objects here ...
遺憾的是本次測試的應用程序只打印:
總字體:0
我知道有安裝的字體我的機器和我知道Gimp2.0檢測到它們,所以我的測試代碼一定有問題。有人有什麼主意嗎?
除了連接fontconfig-1.dll之外,我什麼也沒做。我還沒有創建任何配置文件或任何東西,因爲我無法閱讀關於必須這樣做的任何地方。
我接受你的建議,謝謝!