public IVertexSource GetGlyphForCharacter(char character) { // scale it to the correct size. IVertexSource sourceGlyph = typeFace.GetGlyphForCharacter(character); if (sourceGlyph != null) { if (DoUnderline) { sourceGlyph = new GlyphWithUnderline(sourceGlyph, typeFace.GetAdvanceForCharacter(character), typeFace.Underline_position, typeFace.Underline_thickness); } Affine glyphTransform = Affine.NewIdentity(); glyphTransform *= Affine.NewScaling(currentEmScalling); IVertexSource characterGlyph = new VertexSourceApplyTransform(sourceGlyph, glyphTransform); if (FlatenCurves) { characterGlyph = new FlattenCurves(characterGlyph); } return(characterGlyph); } return(null); }
public double GetAdvanceForCharacter(char character) { return(TypeFace.GetAdvanceForCharacter(character) * currentEmScaling); }
public double GetAdvanceForCharacter(char character, char nextCharacterToKernWith) { return(TypeFace.GetAdvanceForCharacter(character, nextCharacterToKernWith) * currentEmScaling); }