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); }
public static IContainer GenerateContainer(ILog logger) { if (_testContainer != null) { return(_testContainer); } if (logger == null) { logger = new NoOpLog(); } var headerParser = new FileHeaderParser(logger); var trailerParser = new FileTrailerParser(); var filterProvider = new MemoryFilterProvider(new DecodeParameterResolver(logger), new PngPredictor(), logger); var cmapParser = new CMapParser(); var afmParser = new AdobeFontMetricsParser(); var container = new Container(); container.Register(headerParser); container.Register(trailerParser); container.Register(filterProvider); container.Register(cmapParser); container.Register(afmParser); container.Register(logger); return(container); }
public void GenerateCloudGroup() { for (int i = 0; i < this.m_CloudGroups.Length; i++) { var cloud = this.m_CloudGroups[i]; if (cloud != null) { this.GenerateCloud( cloud.index, CMapParser.parseV3(cloud.spot1), CMapParser.parseV3(cloud.spot2), CMapParser.parseV3(cloud.rotate), cloud.data ); } } this.m_GameController.ShowCloudPanel(this.m_CloudLists, (index) => { this.AddCloudSelecteds(index); }); // ADD SELECTED var minIndex = 9999; for (int i = 0; i < this.m_CloudLists.Count; i++) { if (minIndex >= this.m_CloudLists[i].index) { minIndex = this.m_CloudLists[i].index; } } this.AddCloudSelecteds(minIndex); }
public void LoadMapData() { if (string.IsNullOrEmpty(MAP_ASSET) == false) { this.m_MapParsed = CMapParser.parseMap(MAP_ASSET); // GAME this.m_LimitRotate = this.m_MapParsed.limit; // GRID this.m_Width = this.m_MapParsed.map.GetLength(0); this.m_Height = this.m_MapParsed.map.GetLength(1); this.m_Grid = new int[this.m_Width, this.m_Height]; System.Buffer.BlockCopy(this.m_MapParsed.map, 0, this.m_Grid, 0, this.m_MapParsed.map.Length * sizeof(int)); // CLOUD this.m_CloudGroups = new CMapParser.CMapFullInfo.CCloudInfo[this.m_MapParsed.clouds.Length]; System.Array.Copy(this.m_MapParsed.clouds, this.m_CloudGroups, this.m_MapParsed.clouds.Length); // FOLDER Color cameraBackground; if (ColorUtility.TryParseHtmlString(this.m_MapParsed.backgroundColor, out cameraBackground)) { Camera.main.backgroundColor = cameraBackground; } this.m_TileBorderFolder = this.m_MapParsed.tileBorderFolder; this.m_TileFolder = this.m_MapParsed.tileFolder; this.m_MarkerFolder = this.m_MapParsed.markerFolder; this.m_CloudFolder = this.m_MapParsed.cloudFolder; this.m_RainFolder = this.m_MapParsed.rainFolder; } }
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); } }
public static IContainer GenerateContainer(ILog logger) { if (_testContainer != null) { return(_testContainer); } if (logger == null) { logger = new NoOpLog(); } var headerParser = new FileHeaderParser(logger); var trailerParser = new FileTrailerParser(); var nameParser = new CosNameParser(); var dictionaryParser = new CosDictionaryParser(nameParser, logger); var baseParser = new CosBaseParser(nameParser, new CosStringParser(), dictionaryParser, new CosArrayParser()); var streamParser = new CosStreamParser(logger); var filterProvider = new MemoryFilterProvider(new DecodeParameterResolver(logger), new PngPredictor(), logger); var crossReferenceParser = new CrossReferenceStreamParser(filterProvider); var objectStreamParser = new ObjectStreamParser(logger, filterProvider, baseParser); var dynamicParser = new DynamicParser(logger, baseParser, streamParser, objectStreamParser); var crossReferenceTableParser = new CrossReferenceParser(logger, dictionaryParser, baseParser, streamParser, crossReferenceParser, new CrossReferenceTableParser(), new OldCrossReferenceTableParser(logger, dictionaryParser, baseParser)); var cmapParser = new CMapParser(); var afmParser = new AdobeFontMetricsParser(); var container = new Container(); container.Register(headerParser); container.Register(trailerParser); container.Register(nameParser); container.Register(dictionaryParser); container.Register(baseParser); container.Register(streamParser); container.Register(crossReferenceParser); container.Register(crossReferenceTableParser); container.Register(dynamicParser); container.Register(objectStreamParser); container.Register(filterProvider); container.Register(cmapParser); container.Register(afmParser); container.Register(logger); return(container); }
private CMap ProcessToUnicode() { CMap cmapRet = null; PdfObject toUni = PdfReader.GetPdfObjectRelease(this.font.Get(PdfName.TOUNICODE)); if (toUni is PRStream) { try { byte[] touni = PdfReader.GetStreamBytes((PRStream)toUni); CMapParser cmapParser = new CMapParser(); cmapRet = cmapParser.Parse(new MemoryStream(touni)); } catch { } } return(cmapRet); }
/** * Parses the ToUnicode entry, if present, and constructs a CMap for it * @since 2.1.7 */ private void ProcessToUnicode() { PdfObject toUni = PdfReader.GetPdfObjectRelease(fontDic.Get(PdfName.TOUNICODE)); if (toUni is PRStream) { try { byte[] touni = PdfReader.GetStreamBytes((PRStream)toUni); CMapParser cmapParser = new CMapParser(); toUnicodeCmap = cmapParser.Parse(new MemoryStream(touni)); } catch { // technically, we should log this or provide some sort of feedback... but sometimes the cmap will be junk, but it's still possible to get text, so we don't want to throw an exception //throw new IllegalStateException("Unable to process ToUnicode map - " + e.GetMessage(), e); } } }
public void GenerateCloudGroup() { int i; for (i = 0; i < this.m_CloudRoot.childCount; i++) { DestroyImmediate(this.m_CloudRoot.GetChild(i).gameObject); i--; } for (i = 0; i < this.m_CloudGroups.Length; i++) { var cloud = this.m_CloudGroups[i]; this.GenerateCloud( cloud.index, CMapParser.parseV3(cloud.spot1), CMapParser.parseV3(cloud.spot2), CMapParser.parseV3(cloud.rotate), cloud.data ); } }
public void LoadMapDataWithAsset() { if (this.m_MapAsset == null) { return; } var mapAsset = this.m_MapAsset; this.m_MapFullInfo = CMapParser.parseMap(mapAsset.text); // GAME this.m_MapName = this.m_MapFullInfo.name; this.m_MapHard = this.m_MapFullInfo.hard; this.m_LimitRotate = this.m_MapFullInfo.limit; Color cameraBackground; if (ColorUtility.TryParseHtmlString(this.m_MapFullInfo.backgroundColor, out cameraBackground)) { Camera.main.backgroundColor = cameraBackground; } this.m_TileBorderFolder = this.m_MapFullInfo.tileBorderFolder; this.m_TileFolder = this.m_MapFullInfo.tileFolder; this.m_MarkerFolder = this.m_MapFullInfo.markerFolder; this.m_CloudFolder = this.m_MapFullInfo.cloudFolder; this.m_RainFolder = this.m_MapFullInfo.rainFolder; // GRID this.m_Width = this.m_MapFullInfo.map.GetLength(0); this.m_Height = this.m_MapFullInfo.map.GetLength(1); this.m_Grid = new int[this.m_Width, this.m_Height]; System.Buffer.BlockCopy(this.m_MapFullInfo.map, 0, this.m_Grid, 0, this.m_MapFullInfo.map.Length * sizeof(int)); // CLOUD this.m_CloudGroups = new CMapParser.CMapFullInfo.CCloudInfo[this.m_MapFullInfo.clouds.Length]; System.Array.Copy(this.m_MapFullInfo.clouds, this.m_CloudGroups, this.m_MapFullInfo.clouds.Length); // GENARATE this.GenerateCloudGroup(); this.GenerateMarker(); }
public void WritesValidCMap() { var mappings = new Dictionary <char, byte> { { '1', 1 }, { '=', 2 }, { 'H', 7 }, { 'a', 12 }, { '2', 25 } }; var cmapStream = ToUnicodeCMapBuilder.ConvertToCMapStream(mappings); var str = OtherEncodings.BytesAsLatin1String(cmapStream); Assert.NotNull(str); var result = new CMapParser().Parse(new ByteArrayInputBytes(cmapStream)); Assert.Equal(1, result.CodespaceRanges.Count); var range = result.CodespaceRanges[0]; Assert.Equal(1, range.CodeLength); Assert.Equal(0, range.StartInt); Assert.Equal(byte.MaxValue, range.EndInt); Assert.Equal(mappings.Count, result.BaseFontCharacterMap.Count); foreach (var keyValuePair in result.BaseFontCharacterMap) { var match = mappings[keyValuePair.Value[0]]; Assert.Equal(match, keyValuePair.Key); } }
public void SetupLevelDisplays() { var levelAssets = Resources.LoadAll <TextAsset>(this.m_LevelFolder); System.Array.Sort(levelAssets, new CMapParser.LevelComparer()); for (int i = 0; i < levelAssets.Length; i++) { var textAsset = levelAssets[i]; var levelItem = Instantiate(this.m_LevelItemPrefab); var mapDisplay = CMapParser.parseMapDisplay(textAsset.text); levelItem.transform.SetParent(this.m_LevelItemRoot); levelItem.Setup( mapDisplay.backgroundColor, string.Format("{0}", mapDisplay.name), mapDisplay.hard / 5f, textAsset.text, this.m_SaveLevel.isCompleted(mapDisplay.name), this.SubmitLevel ); levelItem.transform.localPosition = Vector3.zero; levelItem.transform.localScale = Vector3.one; } this.m_LevelItemPrefab.gameObject.SetActive(false); }
public CMapCache(CMapParser cMapParser) { this.cMapParser = cMapParser; }