Changeset 241
- Timestamp:
- 07/02/08 09:33:34 (6 months ago)
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
packages/compositor/trunk/Lib/compositor/__init__.py
r233 r241 33 33 self.path = path 34 34 self.fallbackGlyph = ".notdef" 35 self._glyphs = {} 35 36 self.source = TTFont(path) 36 37 self.loadGlyphSet() … … 43 44 44 45 def __del__(self): 46 del self._glyphs 45 47 self.source.close() 46 48 del self.source … … 118 120 self.gdef = None 119 121 if self.source.has_key("GDEF"): 120 self.gdef = GDEF( self.source["GDEF"])122 self.gdef = GDEF().loadFromFontTools(self.source["GDEF"]) 121 123 if self.source.has_key("GSUB"): 122 self.gsub = GSUB( self.source["GSUB"], self.reversedCMAP, self.gdef)124 self.gsub = GSUB().loadFromFontTools(self.source["GSUB"], self.reversedCMAP, self.gdef) 123 125 if self.source.has_key("GPOS"): 124 self.gpos = GPOS( self.source["GPOS"], self.reversedCMAP, self.gdef)126 self.gpos = GPOS().loadFromFontTools(self.source["GPOS"], self.reversedCMAP, self.gdef) 125 127 126 128 # ------------- … … 135 137 136 138 def __getitem__(self, name): 137 glyph = self.glyphSet[name] 138 index = self._glyphOrder[name] 139 return self.glyphClass(name, index, glyph, self) 139 if name not in self._glyphs: 140 glyph = self.glyphSet[name] 141 index = self._glyphOrder[name] 142 glyph = self.glyphClass(name, index, glyph, self) 143 self._glyphs[name] = glyph 144 return self._glyphs[name] 140 145 141 146 # -----------------
