[Fontconfig] Re: fc-cache sometimes looses fonts
Mike FABIAN
mfabian at suse.de
Wed Oct 26 20:45:09 EST 2005
Patrick Lam <plam at MIT.EDU> さんは書きました:
> Keith Packard wrote:
>> On Tue, 2005-10-25 at 17:07 -0400, Patrick Lam wrote:
>>
>>>James Cloos wrote:
>>>
>>>
>>>>when I ran 'fc-cache -fv .' in /usr/local/share/fonts. Re-running
>>>>with 'fc-cache -fv /usr/local/share/fonts' got the correct results.
>>>
>>>The responsible code is at fcfreetype.c:1290. However, I'm not quite
>>>sure how to fix it: it seems difficult to get a full pathname from a
>>>filename. Or I could just store the filename without any pathname
>>>whatsoever. Opinions?
>>
>> As cache files are per-directory, you need only store the local filename
>> itself.
>
> I've just committed this patch. Let me know if you see any problems
> with it. It ought to fix JimC's issue, but not the more general
> losing-fonts issue.
It does not fix the issue about loosing fonts I have reported,
I still see the same problem.
Although it does fix JimC's issue that path names are not
stored in the per-directory cache files, it creates the
problem that fc-list cannot list the path to the fonts anymore.
For example, if I have two copies of tahoma.ttf and tahomabd.ttf
in ~/.fonts and in /usr/X11R6/lib/X11/fonts/truetype:
mfabian at magellan:~/.fonts$ ll tahoma*
-rw-r--r-- 1 mfabian suse 379588 8月 6 2004 tahoma.ttf
-rw-r--r-- 1 mfabian suse 352020 8月 6 2004 tahomabd.ttf
mfabian at magellan:~/.fonts$ ll /usr/X11R6/lib/X11/fonts/truetype/tahoma*
-rw-r--r-- 1 root root 257636 9月 22 06:57 /usr/X11R6/lib/X11/fonts/truetype/tahoma.ttf
-rw-r--r-- 1 root root 252384 9月 22 06:57 /usr/X11R6/lib/X11/fonts/truetype/tahomabd.ttf
mfabian at magellan:~/.fonts$
Then fc-list cannot tell me anymore where in my system the "Tahoma"
fonts are:
mfabian at magellan:~/.fonts$ fc-list : family file | grep -i tahoma
tahoma.ttf: Tahoma
tahomabd.ttf: Tahoma
mfabian at magellan:~/.fonts$
Even if only the local file name is stored in the per-directory
cache-files, fc-list should be able to list the full path names,
shouldn't it? While reading the cache files, fontconfig knows from
what directory the cache file has been read.
--
Mike FABIAN <mfabian at suse.de> http://www.suse.de/~mfabian
睡眠不足はいい仕事の敵だ。
More information about the Fontconfig
mailing list