void LowLevelGraphicsSoftwareRenderer::drawGlyph (int glyphNumber, const AffineTransform& transform) { const Font& f = savedState->font; if (transform.isOnlyTranslation() && savedState->transform.isOnlyTranslated) { using namespace RenderingHelpers; GlyphCache <CachedGlyphEdgeTable <SoftwareRendererSavedState>, SoftwareRendererSavedState>::getInstance() .drawGlyph (*savedState, f, glyphNumber, transform.getTranslationX(), transform.getTranslationY()); } else { const float fontHeight = f.getHeight(); savedState->drawGlyph (f, glyphNumber, AffineTransform::scale (fontHeight * f.getHorizontalScale(), fontHeight) .followedBy (transform)); } }