1#!/usr/local/bin/python3.8 2# vim:fileencoding=utf-8 3 4 5__license__ = 'GPL v3' 6__copyright__ = '2013, Kovid Goyal <kovid at kovidgoyal.net>' 7 8 9class Theme: 10 11 def __init__(self, namespace): 12 self.major_latin_font = 'Cambria' 13 self.minor_latin_font = 'Calibri' 14 self.namespace = namespace 15 16 def __call__(self, root): 17 for fs in self.namespace.XPath('//a:fontScheme')(root): 18 for mj in self.namespace.XPath('./a:majorFont')(fs): 19 for l in self.namespace.XPath('./a:latin[@typeface]')(mj): 20 self.major_latin_font = l.get('typeface') 21 for mj in self.namespace.XPath('./a:minorFont')(fs): 22 for l in self.namespace.XPath('./a:latin[@typeface]')(mj): 23 self.minor_latin_font = l.get('typeface') 24 25 def resolve_font_family(self, ff): 26 if ff.startswith('|'): 27 ff = ff[1:-1] 28 ff = self.major_latin_font if ff.startswith('major') else self.minor_latin_font 29 return ff 30