MCPcopy Index your code
hub / github.com/clips/pattern / init_resources

Method init_resources

pattern/web/pdf/pdfinterp.py:313–348  ·  view source on GitHub ↗
(self, resources)

Source from the content-addressed store, hash-verified

311 # init_resources(resources):
312 # Prepare the fonts and XObjects listed in the Resource attribute.
313 def init_resources(self, resources):
314 self.resources = resources
315 self.fontmap = {}
316 self.xobjmap = {}
317 self.csmap = PREDEFINED_COLORSPACE.copy()
318 if not resources: return
319 def get_colorspace(spec):
320 if isinstance(spec, list):
321 name = literal_name(spec[0])
322 else:
323 name = literal_name(spec)
324 if name == 'ICCBased' and isinstance(spec, list) and 2 <= len(spec):
325 return PDFColorSpace(name, stream_value(spec[1])['N'])
326 elif name == 'DeviceN' and isinstance(spec, list) and 2 <= len(spec):
327 return PDFColorSpace(name, len(list_value(spec[1])))
328 else:
329 return PREDEFINED_COLORSPACE[name]
330 for (k,v) in dict_value(resources).iteritems():
331 if 2 <= self.debug:
332 print >>sys.stderr, 'Resource: %r: %r' % (k,v)
333 if k == 'Font':
334 for (fontid,spec) in dict_value(v).iteritems():
335 objid = None
336 if isinstance(spec, PDFObjRef):
337 objid = spec.objid
338 spec = dict_value(spec)
339 self.fontmap[fontid] = self.rsrcmgr.get_font(objid, spec)
340 elif k == 'ColorSpace':
341 for (csid,spec) in dict_value(v).iteritems():
342 self.csmap[csid] = get_colorspace(resolve1(spec))
343 elif k == 'ProcSet':
344 self.rsrcmgr.get_procset(list_value(v))
345 elif k == 'XObject':
346 for (xobjid,xobjstrm) in dict_value(v).iteritems():
347 self.xobjmap[xobjid] = xobjstrm
348 return
349
350 # init_state(ctm)
351 # Initialize the text and graphic states for rendering a page.

Callers 1

render_contentsMethod · 0.95

Calls 7

dict_valueFunction · 0.90
resolve1Function · 0.90
list_valueFunction · 0.90
iteritemsMethod · 0.80
get_fontMethod · 0.80
get_procsetMethod · 0.80
copyMethod · 0.45

Tested by

no test coverage detected