Exemple #1
0
        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);
        }
Exemple #2
0
        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);
        }
Exemple #3
0
    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);
    }
Exemple #4
0
 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;
     }
 }
Exemple #5
0
 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);
 }
Exemple #6
0
 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);
     }
 }
Exemple #7
0
        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);
        }
Exemple #8
0
        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);
                }
            }
        }
Exemple #10
0
    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
                );
        }
    }
Exemple #11
0
    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();
    }
Exemple #12
0
        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);
    }
Exemple #14
0
 public CMapCache(CMapParser cMapParser)
 {
     this.cMapParser = cMapParser;
 }