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

Class EncodingDB

pattern/web/pdf/encodingdb.py:23–58  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

21## EncodingDB
22##
23class EncodingDB(object):
24
25 std2unicode = {}
26 mac2unicode = {}
27 win2unicode = {}
28 pdf2unicode = {}
29 for (name,std,mac,win,pdf) in ENCODING:
30 c = name2unicode(name)
31 if std: std2unicode[std] = c
32 if mac: mac2unicode[mac] = c
33 if win: win2unicode[win] = c
34 if pdf: pdf2unicode[pdf] = c
35
36 encodings = {
37 'StandardEncoding': std2unicode,
38 'MacRomanEncoding': mac2unicode,
39 'WinAnsiEncoding': win2unicode,
40 'PDFDocEncoding': pdf2unicode,
41 }
42
43 @classmethod
44 def get_encoding(klass, name, diff=None):
45 cid2unicode = klass.encodings.get(name, klass.std2unicode)
46 if diff:
47 cid2unicode = cid2unicode.copy()
48 cid = 0
49 for x in diff:
50 if isinstance(x, int):
51 cid = x
52 elif isinstance(x, PSLiteral):
53 try:
54 cid2unicode[cid] = name2unicode(x.name)
55 except KeyError:
56 pass
57 cid += 1
58 return cid2unicode

Callers

nothing calls this directly

Calls 1

name2unicodeFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…