internal FakeFontInstance( NameTable nameTable, MaximumProfileTable maxpTable, CMapTable cmap, GlyphTable glyphs, OS2Table os2, HorizontalHeadTable horizontalHeadTable, HorizontalMetricsTable horizontalMetrics, VerticalHeadTable verticalHeadTable, VerticalMetricsTable verticalMetrics, HeadTable head, KerningTable kern) : base( nameTable, maxpTable, cmap, glyphs, os2, horizontalHeadTable, horizontalMetrics, verticalHeadTable, verticalMetrics, head, kern, null, null, null, null, null, null, null, null) { }
public void ShouldReturnNullWhenTableCouldNotBeFound() { var writer = new BigEndianBinaryWriter(); writer.WriteTrueTypeFileHeader(); using MemoryStream stream = writer.GetStream(); Assert.Null(VerticalHeadTable.Load(new FontReader(stream))); }
public static VerticalMetricsTable Load(FontReader reader) { // You should load all dependent tables prior to manipulating the reader VerticalHeadTable headTable = reader.GetTable <VerticalHeadTable>(); MaximumProfileTable profileTable = reader.GetTable <MaximumProfileTable>(); // Move to start of table using BigEndianBinaryReader binaryReader = reader.GetReaderAtTablePosition(TableName); return(Load(binaryReader, headTable.NumberOfVMetrics, profileTable.GlyphCount)); }
public void LoadVerticalHeadTable() { var writer = new BigEndianBinaryWriter(); writer.WriteVerticalHeadTable(new VerticalHeadTable(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11)); var tbl = VerticalHeadTable.Load(writer.GetReader()); Assert.Equal(1, tbl.Ascender); Assert.Equal(2, tbl.Descender); Assert.Equal(3, tbl.LineGap); Assert.Equal(4, tbl.AdvanceHeightMax); Assert.Equal(5, tbl.MinTopSideBearing); Assert.Equal(6, tbl.MinBottomSideBearing); Assert.Equal(7, tbl.YMaxExtent); Assert.Equal(8, tbl.CaretSlopeRise); Assert.Equal(9, tbl.CaretSlopeRun); Assert.Equal(10, tbl.CaretOffset); Assert.Equal(11, tbl.NumberOfVMetrics); }