Example #1
0
        private static CharacterMap ReadCharacterMap(BinaryReader input)
        {
            ushort format = input.ReadUInt16();

            switch (format)
            {
            default:
                Utils.WarnUnimplemented("cmap subtable format {0}", format);
                return(new NullCharMap());

            case 0: return(ReadFormat_0(input));

            case 2: return(ReadFormat_2(input));

            case 4: return(ReadFormat_4(input));

            case 6: return(ReadFormat_6(input));

            case 12: return(ReadFormat_12(input));

            case 14: return(CharMapFormat14.Create(input));
            }
        }