public OpenTypeFont(OffsetTable offsets, OpenTypeFontReader reader, bool lazyLoad = true) { offsetTable = offsets; tables = reader.ReadTableRecords(offsetTable); nameTableRecord = tables.Select(t => new TableRecord?(t)) .Where(t => t.Value.TableTag == OpenTypeTag.NAME).FirstOrDefault(); if (lazyLoad) { Reader = reader; } else { LoadAllTables(reader); } }
private OpenTypeNameTable ReadNameTable(OpenTypeFontReader reader) => reader.TryReadTable(nameTableRecord.Value) as OpenTypeNameTable;
private void LoadAllTables(OpenTypeFontReader reader) { nameTable = ReadNameTable(reader); // TODO: do something with this }
public OpenTypeFont(OpenTypeFontReader reader, bool lazyLoad = true) : this(reader.ReadOffsetTable(), reader, lazyLoad) { }