コード例 #1
0
        public PdfRectangle GetBoundingBox(int characterIdentifier)
        {
            // TODO: correct values
            if (characterIdentifier < 0)
            {
                throw new ArgumentException($"The provided character identifier was negative: {characterIdentifier}.");
            }

            if (fontProgram == null)
            {
                return(Descriptor?.BoundingBox ?? new PdfRectangle(0, 0, 1000, 1.0 / scale));
            }

            if (fontProgram.TryGetBoundingBox(characterIdentifier, out var boundingBox))
            {
                return(boundingBox);
            }

            if (Widths.TryGetValue(characterIdentifier, out var width))
            {
                return(new PdfRectangle(0, 0, width, 1.0 / scale));
            }

            if (defaultWidth.HasValue)
            {
                return(new PdfRectangle(0, 0, defaultWidth.Value, 1.0 / scale));
            }

            return(new PdfRectangle(0, 0, 1000, 1.0 / scale));
        }
コード例 #2
0
ファイル: Type2CidFont.cs プロジェクト: xtuzy/PdfPig
        public PdfRectangle GetBoundingBox(int characterIdentifier)
        {
            if (fontProgram == null)
            {
                return(Descriptor.BoundingBox);
            }

            if (fontProgram.TryGetBoundingBox(characterIdentifier, cidToGid.GetGlyphIndex, out var result))
            {
                return(result);
            }

            return(Descriptor.BoundingBox);
        }
コード例 #3
0
        public PdfRectangle GetBoundingBox(int characterIdentifier)
        {
            // TODO: correct values
            if (characterIdentifier < 0)
            {
                throw new ArgumentException($"The provided character identifier was negative: {characterIdentifier}.");
            }

            if (characterIdentifier < Widths.Count)
            {
                return(new PdfRectangle(0, 0, Widths[characterIdentifier], 0));
            }

            if (fontProgram.TryGetBoundingBox(characterIdentifier, out var boundingBox))
            {
                return(boundingBox);
            }

            return(new PdfRectangle(0, 0, 250, 0));
        }