/// <summary>Read and parse font, either a single font or a single /// font from a collection, using the <c>OTFont</c> class. /// </summary> public OTFont GetFont(uint i) { OTFont f = null; Debug.Assert(i < m_nFonts); Debug.Assert(m_FontFileType != FontFileType.INVALID); if (i > 0) { Debug.Assert(m_FontFileType == FontFileType.COLLECTION); } if (i < m_nFonts) { if (m_FontFileType == FontFileType.SINGLE) { f = OTFont.ReadFont(this, 0, 0); } else if (m_FontFileType == FontFileType.COLLECTION) { Debug.Assert(m_ttch != null); if (m_ttch != null) { uint nDirOffset = (uint)m_ttch.DirectoryOffsets[(int)i]; f = OTFont.ReadFont(this, i, nDirOffset); } } } return(f); }