getting ttf font/family name; fontTools?
Mike C. Fletcher
mcfletch at rogers.com
Thu Sep 11 18:19:52 EDT 2003
TTFQuery does all this stuff (using fontTools). Particularly the
"describe" module in the package does the work of pulling apart the
tables to get something useful:
http://sourceforge.net/projects/ttfquery/
http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/*checkout*/ttfquery/ttfquery/describe.py?rev=1.1.1.1&content-type=text/plain
You'll also find scripts similar to your "findfont" in the ttfquery
package, e.g. family_query.py or metadata_query.py, which are built on
the ttffiles.Registry object's various methods (particularly matchName).
TTFQuery will build its font-registry either by trying to guess the
system paths, or by being given a directory in which to search (or both).
HTH,
Mike
John Hunter wrote:
>I would like to extract the font and family name from a TTF file. I
>have been looking at fontTools ttLib, which parses the ttf file and
>provides lots of helpful information, but cannot find the name.
>
> >>> from fontTools import ttLib
> >>> tt = ttLib.TTFont("cour.ttf")
>
>tt['head'] seems like a good place to find it, but I can't.
>
>The data appear to be in the 'name' field
>
> >>> s = tt.getTableData('name')
> >>> s.find('Courier')
> 4197
>
>But I still don't know how to extract this information if I don't know
>the family/font name in advace. Any ideas on how to best extract this
>info using fontTools or otherwise?
>
>What I am trying to do is find the best ttf font file for a given
>fontname, fontangle, and fontweight. I plan to write my own font
>finder given a font name and font family from the ttf file, but if
>there is a better way to find ttf fonts let me know. Eg, what I want
>to do is
>
> ttfile = findfont('Courier', 'Italic', 'Bold')
>
>and have findfont search some PATH containing TTF files and return the
>closest match, or a default if no good match is found.
>
>Thanks,
>John Hunter
>
>
_______________________________________
Mike C. Fletcher
Designer, VR Plumber, Coder
http://members.rogers.com/mcfletch/
More information about the Python-list
mailing list