public static CMapCidByte GetCachedCMapCidByte(String name) { CMapCidByte cmap = null; lock (cacheCidByte) { cacheCidByte.TryGetValue(name, out cmap); } if (cmap == null) { cmap = new CMapCidByte(); CMapParserEx.ParseCid(name, cmap, new CidResource()); lock (cacheCidByte) { cacheCidByte[name] = cmap; } } return(cmap); }
public static CMapCidByte GetCachedCMapCidByte(String name) { CMapCidByte cmap = null; lock (cacheCidByte) { cacheCidByte.TryGetValue(name, out cmap); } if (cmap == null) { cmap = new CMapCidByte(); CMapParserEx.ParseCid(name, cmap, new CidResource()); lock (cacheCidByte) { cacheCidByte[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); } }