def __init__(self, conf_file): """Create a font specification configuration from the specified file (file name or file-like object). """ self.fontspecs = [] self.fontnames = {} dom_document = xml.dom.minidom.parse(conf_file) for dom_fontspec in dom_document.getElementsByTagName('fontspec'): default = dom_fontspec.getAttribute('default') if default: print "has default" fallback = dom_fontspec.getAttribute('fallback') if fallback == "fontconfig": self.default_fontspec = FcFallbackFontSpec() else: self.default_fontspec = DefaultFontSpec() fontspec = self.default_fontspec else: fontspec = FontSpec() fontspec.fromnode(dom_fontspec) if fontspec != self.default_fontspec: self.fontspecs.append(fontspec) if fontspec.id: self.fontnames[fontspec.id] = fontspec dom_document.unlink() if not(self.default_fontspec): self.default_fontspec = DefaultFontSpec() self.build_tree()
def __init__(self, conf_file): """Create a font specification configuration from the specified file (file name or file-like object). """ self.log = logging.getLogger("dblatex") self.fontspecs = [] self.fontnames = {} dom_document = xml.dom.minidom.parse(conf_file) for dom_fontspec in dom_document.getElementsByTagName('fontspec'): default = dom_fontspec.getAttribute('default') if default: self.log.debug("has default") fallback = dom_fontspec.getAttribute('fallback') if fallback == "fontconfig": self.default_fontspec = FcFallbackFontSpec() else: self.default_fontspec = DefaultFontSpec() fontspec = self.default_fontspec else: fontspec = FontSpec() fontspec.fromnode(dom_fontspec) if fontspec != self.default_fontspec: self.fontspecs.append(fontspec) if fontspec.id: self.fontnames[fontspec.id] = fontspec dom_document.unlink() if not (self.default_fontspec): self.default_fontspec = DefaultFontSpec() self.build_tree()