Esempio n. 1
0
        string GetFontName(FontNames font)
        {
            // Family Name - sometimes return null
            string[][] familyNameArray = font.GetFamilyName();

            string fontname = font.GetFontName();

            return(RemoveFontStyleSuffix(RemoveSubFontPrefix(fontname)));
        }
Esempio n. 2
0
        object WorkFont(FontNames font)
        {
            var stat = new
            {
                Name          = font.GetFontName(),
                Weight        = font.GetFontWeight(),
                IsBold        = font.IsBold(),
                GetFamilyName = font.GetFamilyName()
            };

            return(stat);
        }
Esempio n. 3
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="fontNames"></param>
        /// <returns></returns>
        FontStyle GetFontStyle(FontNames fontNames)
        {
            var fontname       = fontNames.GetFontName();
            var fontStyleRegex = Regex.Match(fontname, @"[-,][\w\s]+$");

            if (fontStyleRegex.Success)
            {
                var result = fontStyleRegex.Value.ToLower();
                if (result.Contains("bold"))
                {
                    return(FontStyle.Bold);
                }
            }

            return(FontStyle.Regular);
        }
Esempio n. 4
0
        string GetFontStyle(FontNames font)
        {
            string fontname = font.GetFontName();
            string style    = "Regular";

            if (fontname.Contains("Bold"))
            {
                return("Bold");
            }
            else if (fontname.Contains("Italic"))
            {
                return("Italic");
            }

            // bold may apply to inline text used for subscript texts
            if (style != "Bold" && IsFontBold(font))
            {
                PdfReaderException.Warning($"Font-style {fontname} may be bold");
            }

            return(style);
        }
Esempio n. 5
0
        internal PdfTrueTypeFont(TrueTypeFont ttf, String encoding, bool embedded)
            : base()
        {
            SetFontProgram(ttf);
            this.embedded = embedded;
            FontNames fontNames = ttf.GetFontNames();

            if (embedded && !fontNames.AllowEmbedding())
            {
                throw new PdfException("{0} cannot be embedded due to licensing restrictions.").SetMessageParams(fontNames
                                                                                                                 .GetFontName());
            }
            if ((encoding == null || encoding.Length == 0) && ttf.IsFontSpecific())
            {
                encoding = FontEncoding.FONT_SPECIFIC;
            }
            if (encoding != null && FontEncoding.FONT_SPECIFIC.ToLowerInvariant().Equals(encoding.ToLowerInvariant()))
            {
                fontEncoding = FontEncoding.CreateFontSpecificEncoding();
            }
            else
            {
                fontEncoding = FontEncoding.CreateFontEncoding(encoding);
            }
        }
Esempio n. 6
0
        internal PdfTrueTypeFont(TrueTypeFont ttf, String encoding, bool embedded)
            : base()
        {
            SetFontProgram(ttf);
            this.embedded = embedded;
            FontNames fontNames = ttf.GetFontNames();

            if (embedded && !fontNames.AllowEmbedding())
            {
                throw new PdfException("1.cannot.be.embedded.due.to.licensing.restrictions").SetMessageParams(fontNames.GetFontName
                                                                                                                  ());
            }
            if ((encoding == null || encoding.Length == 0) && ttf.IsFontSpecific())
            {
                encoding = FontEncoding.FONT_SPECIFIC;
            }
            if (encoding != null && FontEncoding.FONT_SPECIFIC.ToLower(System.Globalization.CultureInfo.InvariantCulture
                                                                       ).Equals(encoding.ToLower(System.Globalization.CultureInfo.InvariantCulture)))
            {
                fontEncoding = FontEncoding.CreateFontSpecificEncoding();
            }
            else
            {
                fontEncoding = FontEncoding.CreateFontEncoding(encoding);
            }
        }