public void UseCMap(CMap other) { CodespaceRanges = Combine(CodespaceRanges, other.CodespaceRanges); CidCharacterMappings = Combine(CidCharacterMappings, other.CidCharacterMappings.Values.ToList()); cidRanges.AddRange(other.CidRanges); if (other.BaseFontCharacterMap != null) { foreach (var keyValuePair in other.BaseFontCharacterMap) { BaseFontCharacterMap[keyValuePair.Key] = keyValuePair.Value; } } }
public static bool TryGet(string name, out CMap result) { result = null; lock (Lock) { if (Cache.TryGetValue(name, out result)) { return(true); } if (CMapParser.TryParseExternal(name, out result)) { Cache[name] = result; return(true); } return(false); } }