SourceForge logo
SourceForge logo
Menu

Re: [matplotlib-devel] STIX fonts

From: Michael D. <md...@st...> - 2007年11月05日 15:47:35
John Hunter wrote:
> On 11/5/07, Darren Dale <dar...@co...> wrote:
>>>> If we go the route of
>>>> wrapping the API (which would be better anyway, since then we could look
>>>> for fonts in our own custom font directory), it would just be like the
>>>> existing dependencies on freetype and libpng. Not a big deal, really,
>>>> but it adds an additional maintenance burden on those Windows
>>>> dependencies.
> 
> My inclination is to try and fix font_manager. Paul's goal was to
> implement the W3C specification for cross-platform font finding, which
> seems like a good starting point.
IMHO, it's just a not a very good algorithm. The key section (when an 
exact font-family match can not be found) is this:
"UAs that implement intelligent matching may proceed to examine other 
descriptors such as x-height, glyph widths, and panose-1 to identify a 
different tentative font family. If there are matches for *all* the 
remaining descriptors, then that is the matching font face for the given 
element." (Emphasis mine).
Certainly one can do better than all-or-nothing like this. Something 
like a weighted nearest neighbor match would result in much better near 
matches.
> So far, I've heard two complaints
> about the current setup: font_manager will throw up its hands and
> return a default if an exact match fails rather than returning the
> closest (this doesn't seem too hard to improve upon in the existing
> framework)
Not a lot of work, but the main data structure for lookups will need to 
be completely different. Right now it is a tree with font-family name 
at the top, so if that fails it's difficult to find something close.
> and we do not have support for OpenType (not sure how hard
> this would be to add).
That's easy -- freetype handles them correctly and the interface to the 
metadata ends up looking the same as a ttf file. It's only because of 
the different file extension that they are not being seen now. I'll 
have a patch shortly.
> Are there other problems?
.dfont support on the Mac -- it only looks at the first font in the 
file. (Though, when I checked fontconfig a few months ago, it also 
exhibited this problem.)
Maintaining a separate font cache means that the user must know to 
delete the matplotlib font cache file in order to use newly installed fonts.
Cheers,
Mike
-- 
Michael Droettboom
Science Software Branch
Operations and Engineering Division
Space Telescope Science Institute
Operated by AURA for NASA

View entire thread

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.
Thanks for helping keep SourceForge clean.
X





Briefly describe the problem (required):
Upload screenshot of ad (required):
Select a file, or drag & drop file here.
Screenshot instructions:

Click URL instructions:
Right-click on the ad, choose "Copy Link", then paste here →
(This may not be possible with some types of ads)

More information about our ad policies

Ad destination/click URL:

AltStyle によって変換されたページ (->オリジナル) /