John Hunter wrote: > On 11/5/07, Darren Dale <[EMAIL PROTECTED]> 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 ------------------------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/ _______________________________________________ Matplotlib-devel mailing list Matplotlib-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-devel