static int getBaselineImpl( JComponent c, int width, int height ) {
		if( width < 0 || height < 0 )
			throw new IllegalArgumentException();

		AbstractButton b = (AbstractButton) c;
		String text = b.getText();
		if( text == null || text.isEmpty() )
			return -1;

		FontMetrics fm = b.getFontMetrics( b.getFont() );
		layout( b, fm, width, height );

		View view = (View) b.getClientProperty( BasicHTML.propertyKey );
		if( view != null ) {
			// HTML text
			int baseline = BasicHTML.getHTMLBaseline( view, textR.width, textR.height );
			return (baseline >= 0) ? textR.y + baseline : baseline;
		} else
			return textR.y + fm.getAscent();
	}
Similar to BasicButtonUI.getBaseline(), but does not use zero insets for HTML text,
which is done in BasicButtonUI.layout() since Java 19.
See https://github.com/openjdk/jdk/pull/8407
and https://github.com/openjdk/jdk/pull/8407#issuecomment-1761583430
flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatButtonUI.java