public override void Read(BinaryReader file, uint size) { base.Read(file, size); var cnt = file.ReadVLQInt32(); for (int i = 0; i < cnt; i++) { //This is actually a byte-byte pair but no idea why or how anyone would edit this var mapping = new CUInt16(cr2w); mapping.Read(file, size); unicodemapping.AddVariable(mapping); } linedist.Read(file, size); maxglyphheight.Read(file, size); kerning.Read(file, size); var num = file.ReadVLQInt32(); for (int i = 0; i < num; i++) { CArray glyph = new CArray(cr2w) { Name = "Glyph - " + i }; // UVs CFloat uv00 = new CFloat(cr2w) { Name = "UV[0][0]" }; uv00.Read(file, size); glyph.AddVariable(uv00); CFloat uv01 = new CFloat(cr2w) { Name = "UV[0][1]" }; uv01.Read(file, size); glyph.AddVariable(uv01); CFloat uv10 = new CFloat(cr2w) { Name = "UV[1][0]" }; uv10.Read(file, size); glyph.AddVariable(uv10); CFloat uv11 = new CFloat(cr2w) { Name = "UV[1][1]" }; uv11.Read(file, size); glyph.AddVariable(uv11); CInt32 textureindex = new CInt32(cr2w) { Name = "Texture index" }; textureindex.Read(file, size); glyph.AddVariable(textureindex); CInt32 width = new CInt32(cr2w) { Name = "Width" }; width.Read(file, size); glyph.AddVariable(width); CInt32 height = new CInt32(cr2w) { Name = "Height" }; height.Read(file, size); glyph.AddVariable(height); CInt32 advance_x = new CInt32(cr2w) { Name = "Advance X" }; advance_x.Read(file, size); glyph.AddVariable(advance_x); CInt32 bearing_x = new CInt32(cr2w) { Name = "Bearing X" }; bearing_x.Read(file, size); glyph.AddVariable(bearing_x); CInt32 bearing_y = new CInt32(cr2w) { Name = "Bearing Y" }; bearing_y.Read(file, size); glyph.AddVariable(bearing_y); glyphs.AddVariable(glyph); } }
public override void Read(BinaryReader file, uint size) { base.Read(file, size); var cnt = file.ReadVLQInt32(); for (int i = 0; i < cnt; i++) { //This is actually a byte-byte pair but no idea why or how anyone would edit this var mapping = new CUInt16(cr2w, Unicodemapping, ""); mapping.Read(file, size); Unicodemapping.AddVariable(mapping); } Linedist.Read(file, size); Maxglyphheight.Read(file, size); Kerning.Read(file, size); var num = file.ReadVLQInt32(); for (int i = 0; i < num; i++) { var glyph = new CArray <CFloat>(cr2w, Glyphs, "Glyph - " + i) { Elementtype = "Float" }; // UVs CFloat uv00 = new CFloat(cr2w, glyph, "UV[0][0]"); uv00.Read(file, size); glyph.AddVariable(uv00); CFloat uv01 = new CFloat(cr2w, glyph, "UV[0][1]"); uv01.Read(file, size); glyph.AddVariable(uv01); CFloat uv10 = new CFloat(cr2w, glyph, "UV[1][0]"); uv10.Read(file, size); glyph.AddVariable(uv10); CFloat uv11 = new CFloat(cr2w, glyph, "UV[1][1]"); uv11.Read(file, size); glyph.AddVariable(uv11); CInt32 textureindex = new CInt32(cr2w, glyph, "Texture index"); textureindex.Read(file, size); glyph.AddVariable(textureindex); CInt32 width = new CInt32(cr2w, glyph, "Width"); width.Read(file, size); glyph.AddVariable(width); CInt32 height = new CInt32(cr2w, glyph, "Height"); height.Read(file, size); glyph.AddVariable(height); CInt32 advance_x = new CInt32(cr2w, glyph, "Advance X"); advance_x.Read(file, size); glyph.AddVariable(advance_x); CInt32 bearing_x = new CInt32(cr2w, glyph, "Bearing X"); bearing_x.Read(file, size); glyph.AddVariable(bearing_x); CInt32 bearing_y = new CInt32(cr2w, glyph, "Bearing Y"); bearing_y.Read(file, size); glyph.AddVariable(bearing_y); Glyphs.AddVariable(glyph); } }