ttfquery.guessdescription
index
/home/mcfletch/pylive/ttfquery/guessdescription.py

Heuristic attempting to extract descriptions from font names
 
This should only be used as a backup in case there is
no proper available querying mechanism (i.e. fonttools),
and even then, we really would rather avoid using this
extremely fragile mechanism.
 
Basically what happens is that a name compression function
is run over the font name, as seen in the Windows Registry,
producing a base name and a set of modifiers, with the
modifiers being the weight (as a string) and a flag
indicating whether the font appears to be italicised.
 
XXX This is English-specific and entirely dependent on the
        naming conventions commonly seen when naming fonts, so
        there will be a considerable number of cases where the
        resulting name and flags will be incorrect.

 
Functions
       
add(name, file)
Add a font with name and file to this module's registry
get(name, style=None)
Get a font by name and optional style
 
Style defaults to ("normal", 0)
interpretModifiers(name)
Heuristic attempt to get weight and italic data from font-name
 
return base_font_name, (weight, italic)

 
Data
        IGNORE_MODIFIERS = ['unicode', 'regular', 'normal', 'bt', 'let', 'itc', '(truetype)', 'ft', 'win95bt', 'plain:1.0', 'plain', 'plain:']
ITALIC_INDICATORS = ['italic', 'ital', 'itali', 'it', 'bolditalic']
WEIGHTS = ['demibold', 'extrabold', 'semibold', 'ultrabold', 'bold', 'ultralight', 'extralight', 'light', 'heavy', 'medium', 'thin']
WEIGHT_MODIFIERS = ['extra', 'ultra']
WEIGHT_SYNONYMS = [('lt', 'light'), ('lite', 'light'), ('bolditalic', 'bold'), ('demi', 'demibold'), ('semi', 'semibold')]
__file__ = '/home/mcfletch/pylive/ttfquery/guessdescription.pyc'
__name__ = 'ttfquery.guessdescription'