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;
  }