Inheritance: AbstractCMap
 public static CMapToUnicode GetMapFromOrdering(String ordering)
 {
     if (ordering.Equals("CNS1"))
     {
         if (identityCNS == null)
         {
             CMapUniCid uni = CMapCache.GetCachedCMapUniCid("UniCNS-UTF16-H");
             if (uni == null)
             {
                 return(null);
             }
             identityCNS = uni.ExportToUnicode();
         }
         return(identityCNS);
     }
     else if (ordering.Equals("Japan1"))
     {
         if (identityJapan == null)
         {
             CMapUniCid uni = CMapCache.GetCachedCMapUniCid("UniJIS-UTF16-H");
             if (uni == null)
             {
                 return(null);
             }
             identityJapan = uni.ExportToUnicode();
         }
         return(identityJapan);
     }
     else if (ordering.Equals("Korea1"))
     {
         if (identityKorea == null)
         {
             CMapUniCid uni = CMapCache.GetCachedCMapUniCid("UniKS-UTF16-H");
             if (uni == null)
             {
                 return(null);
             }
             identityKorea = uni.ExportToUnicode();
         }
         return(identityKorea);
     }
     else if (ordering.Equals("GB1"))
     {
         if (identityGB == null)
         {
             CMapUniCid uni = CMapCache.GetCachedCMapUniCid("UniGB-UTF16-H");
             if (uni == null)
             {
                 return(null);
             }
             identityGB = uni.ExportToUnicode();
         }
         return(identityGB);
     }
     return(null);
 }
 public static CMapUniCid GetCachedCMapUniCid(String name) {
     CMapUniCid cmap = null;
     lock (cacheUniCid) {
         cacheUniCid.TryGetValue(name, out cmap);
     }
     if (cmap == null) {
         cmap = new CMapUniCid();
         CMapParserEx.ParseCid(name, cmap, new CidResource());
         lock (cacheUniCid) {
             cacheUniCid[name] = cmap;
         }
     }
     return cmap;
 }
Exemple #3
0
        public static CMapUniCid GetCachedCMapUniCid(String name)
        {
            CMapUniCid cmap = null;

            lock (cacheUniCid) {
                cacheUniCid.TryGetValue(name, out cmap);
            }
            if (cmap == null)
            {
                cmap = new CMapUniCid();
                CMapParserEx.ParseCid(name, cmap, new CidResource());
                lock (cacheUniCid) {
                    cacheUniCid[name] = cmap;
                }
            }
            return(cmap);
        }
Exemple #4
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);
     }
 }