From 08c5c66917df0963c476f6dfebe4444567de40f2 Mon Sep 17 00:00:00 2001 From: "yusuke.shinyama.dummy" Date: Sun, 14 Nov 2010 10:07:34 +0000 Subject: [PATCH] add debugging features git-svn-id: https://pdfminerr.googlecode.com/svn/trunk/pdfminer@271 1aa58f4a-7d42-0410-adbc-911cccaed67c --- pdfminer/cmapdb.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/pdfminer/cmapdb.py b/pdfminer/cmapdb.py index bceb023..1ba3233 100644 --- a/pdfminer/cmapdb.py +++ b/pdfminer/cmapdb.py @@ -71,6 +71,18 @@ class CMap(object): d = self.code2cid return + def dump(self, out=sys.stdout, code2cid=None, code=None): + if code2cid is None: + code2cid = self.code2cid + code = () + for (k,v) in sorted(code2cid.iteritems()): + c = code+(k,) + if isinstance(v, int): + out.write('code %r = cid %d\n' % (c,v)) + else: + self.dump(out=out, code2cid=v, code=c) + return + ## IdentityCMap ## @@ -107,6 +119,11 @@ class UnicodeMap(object): print >>sys.stderr, 'get_unichr: %r, %r' % (self, cid) return self.cid2unichr[cid] + def dump(self, out=sys.stdout): + for (k,v) in sorted(self.cid2unichr.iteritems()): + out.write('cid %d = unicode %r\n' % (k,v)) + return + ## FileCMap ## @@ -394,8 +411,10 @@ def main(argv): for fname in args: fp = file(fname, 'rb') cmap = FileUnicodeMap() + #cmap = FileCMap() CMapParser(cmap, fp).run() fp.close() + cmap.dump() return if __name__ == '__main__': sys.exit(main(sys.argv))