Example #1
0
        private PdfDictionary getCIDFont(PdfIndirectReference fontDescriptor, IntHashtable cjkTag)
        {
            PdfDictionary dic = new PdfDictionary(PdfName.FONT);

            dic.put(PdfName.SUBTYPE, new PdfName("CIDFontType0"));
            dic.put(new PdfName("BaseFont"), new PdfName(fontName + style));
            dic.put(new PdfName("FontDescriptor"), fontDescriptor);
            int[]  keys = cjkTag.toOrderedKeys();
            string w    = convertToHCIDMetrics(keys, hMetrics);

            if (w != null)
            {
                dic.put(new PdfName("W"), new PdfLiteral(w));
            }
            if (vertical)
            {
                w = convertToVCIDMetrics(keys, vMetrics, hMetrics);;
                if (w != null)
                {
                    dic.put(new PdfName("W2"), new PdfLiteral(w));
                }
            }
            PdfDictionary cdic = new PdfDictionary();

            cdic.put(PdfName.REGISTRY, new PdfString((string)fontDesc["Registry"], null));
            cdic.put(PdfName.ORDERING, new PdfString((string)fontDesc["Ordering"], null));
            cdic.put(PdfName.SUPPLEMENT, new PdfLiteral((string)fontDesc["Supplement"]));
            dic.put(new PdfName("CIDSystemInfo"), cdic);
            return(dic);
        }