#!/usr/bin/env python # -*- coding: utf-8 -*- import nose, logging, os from pdfminer.cmapdb import IdentityCMap, CMap from pdfminer.pdffont import PDFCIDFont from pdfminer.pdftypes import PDFStream from pdfminer.psparser import PSLiteral class TestPDFEncoding(): def test_cmapname_onebyteidentityV(self): stream = PDFStream({'CMapName': PSLiteral('OneByteIdentityV')}, '') spec = {'Encoding': stream} font = PDFCIDFont(None, spec) assert isinstance(font.cmap, CMap) def test_cmapname_onebyteidentityH(self): stream = PDFStream({'CMapName': PSLiteral('OneByteIdentityH')}, '') spec = {'Encoding': stream} font = PDFCIDFont(None, spec) assert isinstance(font.cmap, CMap) def test_cmapname_V(self): stream = PDFStream({'CMapName': PSLiteral('V')}, '') spec = {'Encoding': stream} font = PDFCIDFont(None, spec) assert isinstance(font.cmap, CMap) def test_cmapname_H(self): stream = PDFStream({'CMapName': PSLiteral('H')}, '') spec = {'Encoding': stream} font = PDFCIDFont(None, spec) assert isinstance(font.cmap, CMap) def test_encoding_identityH(self): spec = {'Encoding': PSLiteral('Identity-H')} font = PDFCIDFont(None, spec) assert isinstance(font.cmap, IdentityCMap) def test_encoding_identityV(self): spec = {'Encoding': PSLiteral('Identity-V')} font = PDFCIDFont(None, spec) assert isinstance(font.cmap, IdentityCMap) def test_encoding_identityH_as_PSLiteral_stream(self): stream = PDFStream({'CMapName':PSLiteral('Identity-H')}, '') spec = {'Encoding': stream} font = PDFCIDFont(None, spec) assert isinstance(font.cmap, IdentityCMap) def test_encoding_identityV_as_PSLiteral_stream(self): stream = PDFStream({'CMapName':PSLiteral('Identity-V')}, '') spec = {'Encoding': stream} font = PDFCIDFont(None, spec) assert isinstance(font.cmap, IdentityCMap) def test_encoding_identityH_as_stream(self): stream = PDFStream({'CMapName':'Identity-H'}, '') spec = {'Encoding': stream} font = PDFCIDFont(None, spec) assert isinstance(font.cmap, IdentityCMap) def test_encoding_identityV_as_stream(self): stream = PDFStream({'CMapName':'Identity-V'}, '') spec = {'Encoding': stream} font = PDFCIDFont(None, spec) assert isinstance(font.cmap, IdentityCMap) def test_font_without_spec(self): font = PDFCIDFont(None, {}) assert isinstance(font.cmap, CMap) if __name__ == '__main__': nose.runmodule()