/// <exception cref="System.IO.IOException"/>
        private static TextRenderInfo InitTRI(String text, double angle)
        {
            CanvasGraphicsState gs = new CanvasGraphicsState();

            gs.SetFont(PdfFontFactory.CreateFont());
            gs.SetFontSize(12);
            float[]         matrix    = new float[6];
            AffineTransform transform = AffineTransform.GetRotateInstance(angle);

            transform.GetMatrix(matrix);
            return(new TextRenderInfo(new PdfString(text), gs, new Matrix(matrix[0], matrix[1], matrix[2], matrix[3],
                                                                          matrix[4], matrix[5]), new Stack <CanvasTag>()));
        }
Exemple #2
0
        public virtual void TextExtractGlyphAverageWidth()
        {
            String              text     = "i";
            PdfDictionary       fontDict = InitFontDictWithNotSpecifiedWidthOfSpaceChar();
            CanvasGraphicsState gs       = new CanvasGraphicsState();

            gs.SetFont(PdfFontFactory.CreateFont(fontDict));
            gs.SetFontSize(12);
            TextRenderInfo testTRI          = new TextRenderInfo(new PdfString(text), gs, new Matrix(), new Stack <CanvasTag>());
            float          singleSpaceWidth = testTRI.GetSingleSpaceWidth();
            float          iWidth           = testTRI.GetUnscaledWidth();

            NUnit.Framework.Assert.IsTrue(iWidth < singleSpaceWidth);
            NUnit.Framework.Assert.AreEqual(6.671999931335449, singleSpaceWidth, 0);
        }