iTextSharp.text.pdf.CJKFont.GetCompatibleFont C# (CSharp) Метод

GetCompatibleFont() публичный статический Метод

public static GetCompatibleFont ( String enc ) : String
enc String
Результат String
        public static String GetCompatibleFont(String enc)
        {
            LoadProperties();
            String registry = null;
            foreach (KeyValuePair<String,Dictionary<String,object>> e in registryNames) {
                if (e.Value.ContainsKey(enc)) {
                    registry = e.Key;
                    break;
                }
            }
            if (registry == null)
                return null;
            foreach (KeyValuePair<String, Dictionary<String, Object>> e in allFonts) {
                if (registry.Equals(e.Value["Registry"]))
                    return e.Key;
            }
            return null;
        }

Usage Example

Пример #1
0
        private void Init()
        {
            encoding     = "";
            fontSpecific = false;
            fontType     = FONT_TYPE_DOCUMENT;
            PdfName baseFont = font.GetAsName(PdfName.BASEFONT);

            fontName = baseFont != null?PdfName.DecodeName(baseFont.ToString()) : "Unspecified Font Name";

            PdfName subType = font.GetAsName(PdfName.SUBTYPE);

            if (PdfName.TYPE1.Equals(subType) || PdfName.TRUETYPE.Equals(subType))
            {
                DoType1TT();
            }
            else
            {
                PdfName encodingName = font.GetAsName(PdfName.ENCODING);
                if (encodingName != null)
                {
                    String enc       = PdfName.DecodeName(encodingName.ToString());
                    String ffontname = CJKFont.GetCompatibleFont(enc);
                    if (ffontname != null)
                    {
                        cjkMirror   = BaseFont.CreateFont(ffontname, enc, false);
                        cjkEncoding = enc;
                        uniMap      = ((CJKFont)cjkMirror).UniMap;
                    }
                    if (PdfName.TYPE0.Equals(subType))
                    {
                        isType0 = true;
                        if (!enc.Equals("Identity-H") && cjkMirror != null)
                        {
                            PdfArray      df    = (PdfArray)PdfReader.GetPdfObjectRelease(font.Get(PdfName.DESCENDANTFONTS));
                            PdfDictionary cidft = (PdfDictionary)PdfReader.GetPdfObjectRelease(df[0]);
                            PdfNumber     dwo   = (PdfNumber)PdfReader.GetPdfObjectRelease(cidft.Get(PdfName.DW));
                            if (dwo != null)
                            {
                                defaultWidth = dwo.IntValue;
                            }
                            hMetrics = ReadWidths((PdfArray)PdfReader.GetPdfObjectRelease(cidft.Get(PdfName.W)));

                            PdfDictionary fontDesc = (PdfDictionary)PdfReader.GetPdfObjectRelease(cidft.Get(PdfName.FONTDESCRIPTOR));
                            FillFontDesc(fontDesc);
                        }
                        else
                        {
                            ProcessType0(font);
                        }
                    }
                }
            }
        }
All Usage Examples Of iTextSharp.text.pdf.CJKFont::GetCompatibleFont