iTextSharp.text.pdf.BaseFont.GetAscentPoint C# (CSharp) Метод

GetAscentPoint() публичный Метод

public GetAscentPoint ( String text, float fontSize ) : float
text String
fontSize float
Результат float
        public float GetAscentPoint(String text, float fontSize)
        {
            return (float)GetAscent(text) * 0.001f * fontSize;
        }

Usage Example

        /**
         * Gets the field appearance.
         * @param isRadio <CODE>true</CODE> for a radio field and <CODE>false</CODE>
         * for a check field
         * @param on <CODE>true</CODE> for the checked state, <CODE>false</CODE>
         * otherwise
         * @throws IOException on error
         * @throws DocumentException on error
         * @return the appearance
         */
        public PdfAppearance GetAppearance(bool isRadio, bool on)
        {
            if (isRadio && checkType == TYPE_CIRCLE)
            {
                return(GetAppearanceRadioCircle(on));
            }
            PdfAppearance app = GetBorderAppearance();

            if (!on)
            {
                return(app);
            }
            BaseFont ufont       = RealFont;
            bool     borderExtra = borderStyle == PdfBorderDictionary.STYLE_BEVELED || borderStyle == PdfBorderDictionary.STYLE_INSET;
            float    h           = box.Height - borderWidth * 2;
            float    bw2         = borderWidth;

            if (borderExtra)
            {
                h   -= borderWidth * 2;
                bw2 *= 2;
            }
            float offsetX = (borderExtra ? 2 * borderWidth : borderWidth);

            offsetX = Math.Max(offsetX, 1);
            float offX  = Math.Min(bw2, offsetX);
            float wt    = box.Width - 2 * offX;
            float ht    = box.Height - 2 * offX;
            float fsize = fontSize;

            if (fsize == 0)
            {
                float bw = ufont.GetWidthPoint(text, 1);
                if (bw == 0)
                {
                    fsize = 12;
                }
                else
                {
                    fsize = wt / bw;
                }
                float nfsize = h / (ufont.GetFontDescriptor(BaseFont.ASCENT, 1));
                fsize = Math.Min(fsize, nfsize);
            }
            app.SaveState();
            app.Rectangle(offX, offX, wt, ht);
            app.Clip();
            app.NewPath();
            if (textColor == null)
            {
                app.ResetGrayFill();
            }
            else
            {
                app.SetColorFill(textColor);
            }
            app.BeginText();
            app.SetFontAndSize(ufont, fsize);
            app.SetTextMatrix((box.Width - ufont.GetWidthPoint(text, fsize)) / 2,
                              (box.Height - ufont.GetAscentPoint(text, fsize)) / 2);
            app.ShowText(text);
            app.EndText();
            app.RestoreState();
            return(app);
        }