public FontFile deriveFont(float pointsize) {
        OFont font = new OFont(this);
        // clear font metric cache if we change the font's size
        if (font.getSize() != pointsize) {
            this.echarAdvanceCache.clear();
        }
        font.awtFont = this.awtFont.deriveFont(pointsize);
        font.maxCharBounds = this.maxCharBounds;
        return font;
    }