internal static CMapToUnicode ProcessToUnicode(PdfObject toUnicode) { CMapToUnicode cMapToUnicode = null; if (toUnicode is PdfStream) { try { byte[] uniBytes = ((PdfStream)toUnicode).GetBytes(); ICMapLocation lb = new CMapLocationFromBytes(uniBytes); cMapToUnicode = new CMapToUnicode(); CMapParser.ParseCid("", cMapToUnicode, lb); } catch (Exception) { ILogger logger = LoggerFactory.GetLogger(typeof(CMapToUnicode)); logger.Error(LogMessageConstant.UNKNOWN_ERROR_WHILE_PROCESSING_CMAP); cMapToUnicode = CMapToUnicode.EmptyCMapToUnicodeMap; } } else { if (PdfName.IdentityH.Equals(toUnicode)) { cMapToUnicode = CMapToUnicode.GetIdentity(); } } return(cMapToUnicode); }
private static T ParseCmap <T>(String name, T cmap) where T : AbstractCMap { try { CMapParser.ParseCid(name, cmap, new CMapLocationResource()); } catch (System.IO.IOException e) { throw new iText.IO.IOException(iText.IO.IOException.IoException, e); } return(cmap); }
public CMapEncoding(String cmap, byte[] cmapBytes) { this.cmap = cmap; cid2Code = new CMapCidByte(); try { CMapParser.ParseCid(cmap, cid2Code, new CMapLocationFromBytes(cmapBytes)); code2Cid = cid2Code.GetReversMap(); this.codeSpaceRanges = cid2Code.GetCodeSpaceRanges(); } catch (System.IO.IOException) { LogManager.GetLogger(GetType()).Error(iText.IO.LogMessageConstant.FAILED_TO_PARSE_ENCODING_STREAM); } }