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; }
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); }
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); } }