示例#1
0
        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;
                }
            }
        }
示例#2
0
        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);
            }
        }