private final String getTextBestFit(final Context2D context, final String text, final int wide) { double pt = LienzoCore.get().getDefaultFontSize(); String st = LienzoCore.get().getDefaultFontStyle(); String fm = LienzoCore.get().getDefaultFontFamily(); String tf = Text.getFontString(pt, TextUnit.PT, st, fm); context.save(); context.setToIdentityTransform(); while (true) { context.setTextFont(tf); final TextMetrics tm = context.measureText(text); if (tm.getWidth() < wide) { break; } pt = pt - 2; if (pt < 6) { break; } tf = Text.getFontString(pt, TextUnit.PT, st, fm); } context.restore(); return tf; }