TextRenderer (Font font, FontRenderContext frc) { TextRenderer renderer = this.renderer; if (renderer == null) { String text = this.text; if (needFontFallback(font, text) && !AppMode.isRemoteDevHost()) { renderer = new LayoutTextRenderer(createTextLayout(text, font, frc)); } else { if (myClipper != null) { renderer = new ClippedTextRenderer(myComponent, text, myClipper, (float)font.getStringBounds(text, frc).getWidth()); } else { renderer = new SimpleTextRenderer(text, (float)font.getStringBounds(text, frc).getWidth()); } } this.renderer = renderer; } return renderer; }