public static LongHorizontalMetric Read(BinaryReader reader) { var instance = new LongHorizontalMetric { AdvanceWidth = reader.ReadUInt16BigEndian(), Lsb = reader.ReadInt16BigEndian() }; return(instance); }
public static HorizontalMetricsTable Read(BinaryReader reader, int numberOfHMetrics, int numGlyphs) { var instance = new HorizontalMetricsTable { HMetrics = new LongHorizontalMetric[numberOfHMetrics] }; for (int i = 0; i < numberOfHMetrics; i++) { instance.HMetrics[i] = LongHorizontalMetric.Read(reader); } var lsbCount = numGlyphs - numberOfHMetrics; instance.LeftSideBearings = new short[lsbCount]; for (int i = 0; i < lsbCount; i++) { instance.LeftSideBearings[i] = reader.ReadInt16BigEndian(); } return(instance); }