/// <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>())); }
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); }