/// <summary>Completes the load of this glyph. You must have checked RequiresLoad first.</summary> public virtual void LoadNow() { // Get the meta: LoadMetaPoint meta = FirstPathNode as LoadMetaPoint; // Clear: FirstPathNode = null; LatestPathNode = null; PathNodeCount = 0; if (Font.CffParser != null) { // Use the CFF parser: Font.CffParser.LoadFully(this, meta); } else { // Glyph table load: GlyfTables.LoadFully(this, Font.Parser, meta); } // Reduce the amount of unloaded glyphs: Font.UnloadedGlyphs--; if (Font.UnloadedGlyphs <= 0) { // Let the font know that every glyph is now loaded: Font.AllGlyphsLoaded(); } }
/// <summary>Used when delaying the loading of a glyph. This results in rapid startup.</summary> public static void LoadFully(Glyph glyph,FontParser parser,LoadMetaPoint meta){ parser.Position=meta.Start; LoadGlyph(glyph,meta.Length,parser,glyph.Font.UnitsPerEmF); }
public void LoadFully(Glyph glyph, LoadMetaPoint meta) { // Reset this parser: Reset(glyph); // Parse now: Parse(meta.Start, meta.Length); // Apply width: glyph.AdvanceWidth = Width * ScaleRatio; // Close if we haven't already: glyph.ClosePath(); if (Font.WindingUnknown) { // Find the winding now: Font.FindWinding(glyph); } }
public void LoadFully(Glyph glyph,LoadMetaPoint meta){ // Reset this parser: Reset(glyph); // Parse now: Parse(meta.Start,meta.Length); // Apply width: glyph.AdvanceWidth=Width * ScaleRatio; // Close if we haven't already: glyph.ClosePath(); if(Font.WindingUnknown){ // Find the winding now: Font.FindWinding(glyph); } }
/// <summary>Used when delaying the loading of a glyph. This results in rapid startup.</summary> public static void LoadFully(Glyph glyph, FontParser parser, LoadMetaPoint meta) { parser.Position = meta.Start; LoadGlyph(glyph, meta.Length, parser, glyph.Font.UnitsPerEmF); }