public PdfDictionary GetFontDescriptor(PdfIndirectReference fontStream)
{
if (builtinFont)
return null;
PdfDictionary dic = new PdfDictionary(PdfName.FONTDESCRIPTOR);
dic.Put(PdfName.ASCENT, new PdfNumber(Ascender));
dic.Put(PdfName.CAPHEIGHT, new PdfNumber(CapHeight));
dic.Put(PdfName.DESCENT, new PdfNumber(Descender));
dic.Put(PdfName.FONTBBOX, new PdfRectangle(llx, lly, urx, ury));
dic.Put(PdfName.FONTNAME, new PdfName(FontName));
dic.Put(PdfName.ITALICANGLE, new PdfNumber(ItalicAngle));
dic.Put(PdfName.STEMV, new PdfNumber(StdVW));
if (fontStream != null)
dic.Put(PdfName.FONTFILE, fontStream);
int flags = 0;
if (IsFixedPitch)
flags |= 1;
flags |= fontSpecific ? 4 : 32;
if (ItalicAngle < 0)
flags |= 64;
if (FontName.IndexOf("Caps") >= 0 || FontName.EndsWith("SC"))
flags |= 131072;
if (Weight.Equals("Bold"))
flags |= 262144;
dic.Put(PdfName.FLAGS, new PdfNumber(flags));
return dic;
}