From 5a562ec1e1b621aa6e696b795f83a890f2684b84 Mon Sep 17 00:00:00 2001 From: "agl@chromium.org" Date: Tue, 14 Jul 2009 21:15:01 +0000 Subject: Linux: filter out unreadable fonts Fontconfig will return fonts which are unreadable to the current process if the system cache contains them. BUG=16715 http://codereview.chromium.org/149628 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20663 0039d316-1c4b-4281-b951-d872f2087c98 --- skia/ext/SkFontHost_fontconfig_direct.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'skia') diff --git a/skia/ext/SkFontHost_fontconfig_direct.cpp b/skia/ext/SkFontHost_fontconfig_direct.cpp index 7f7be08..fe4dc36 100644 --- a/skia/ext/SkFontHost_fontconfig_direct.cpp +++ b/skia/ext/SkFontHost_fontconfig_direct.cpp @@ -134,6 +134,14 @@ bool FontConfigDirect::Match(std::string* result_family, continue; } + // fontconfig can also return fonts which are unreadable + FcChar8* c_filename; + if (FcPatternGetString(current, FC_FILE, 0, &c_filename) != FcResultMatch) + continue; + + if (access(reinterpret_cast(c_filename), R_OK) != 0) + continue; + match = current; break; } -- cgit v1.1