Esempio n. 1
0
 internal static CMapToUnicode GetToUnicodeFromUniMap(String uniMap)
 {
     if (uniMap == null)
     {
         return(null);
     }
     lock (uniMaps) {
         if (uniMaps.Contains(uniMap))
         {
             return(uniMaps.Get(uniMap));
         }
         CMapToUnicode toUnicode;
         if (PdfEncodings.IDENTITY_H.Equals(uniMap))
         {
             toUnicode = CMapToUnicode.GetIdentity();
         }
         else
         {
             CMapUniCid uni = FontCache.GetUni2CidCmap(uniMap);
             if (uni == null)
             {
                 return(null);
             }
             toUnicode = uni.ExportToUnicode();
         }
         uniMaps[uniMap] = toUnicode;
         return(toUnicode);
     }
 }
Esempio n. 2
0
 private void LoadCMaps()
 {
     try {
         fontDesc = allFonts[fontName];
         hMetrics = (IntHashtable)fontDesc["W"];
         vMetrics = (IntHashtable)fontDesc["W2"];
         String registry = (String)fontDesc["Registry"];
         uniMap = "";
         foreach (String name in registryNames[registry + "_Uni"].Keys)
         {
             uniMap = name;
             if (name.EndsWith("V") && vertical)
             {
                 break;
             }
             if (!name.EndsWith("V") && !vertical)
             {
                 break;
             }
         }
         if (cidDirect)
         {
             cidUni = CMapCache.GetCachedCMapCidUni(uniMap);
         }
         else
         {
             uniCid  = CMapCache.GetCachedCMapUniCid(uniMap);
             cidByte = CMapCache.GetCachedCMapCidByte(CMap);
         }
     }
     catch (Exception ex) {
         throw new DocumentException(ex.Message);
     }
 }
Esempio n. 3
0
        public static CMapUniCid GetUni2CidCmap(String uniMap)
        {
            CMapUniCid uniCid = new CMapUniCid();

            return(ParseCmap(uniMap, uniCid));
        }