/// <summary> /// Reads a <see cref="StreamFontMetrics"/> from the specified stream. /// </summary> /// <param name="path">The file path.</param> /// <returns>a <see cref="StreamFontMetrics"/>.</returns> public static FileFontMetrics[] LoadFontCollection(string path) { using FileStream fs = File.OpenRead(path); long startPos = fs.Position; var reader = new BigEndianBinaryReader(fs, true); var ttcHeader = TtcHeader.Read(reader); var fonts = new FileFontMetrics[(int)ttcHeader.NumFonts]; for (int i = 0; i < ttcHeader.NumFonts; ++i) { fs.Position = startPos + ttcHeader.OffsetTable[i]; var description = FontDescription.LoadDescription(fs); fonts[i] = new FileFontMetrics(description, path, ttcHeader.OffsetTable[i]); } return(fonts); }
public FileFontInstance(string path, long offset) : this(FontDescription.LoadDescription(path), path, offset) { }
public FileFontInstance(string path) { this.Description = FontDescription.LoadDescription(path); this.font = new Lazy <Fonts.FontInstance>(() => FontInstance.LoadFont(path)); }
public FileFontMetrics(string path, long offset) : this(FontDescription.LoadDescription(path), path, offset) { }