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