public static CFFTopDict Read(BinaryReaderFont reader, int length) { CFFTopDict value = new CFFTopDict(); long start = reader.Position; List <double> list = new List <double>(); byte key0 = 0; byte key1 = 0; while ((reader.Position - start) < length) { byte n = reader.PeekByte(); if (n <= 21) { key0 = reader.ReadByte(); if (key0 == 12) { key1 = reader.ReadByte(); } //Console.WriteLine("key0: " + key0); //if (key1 != 0) { // Console.WriteLine("key1: " + key1); //} value.SetValue(list, key0, key1); key1 = 0; list.Clear(); } else { list.Add(reader.ReadCFFNumber()); } } return(value); }