
import java.awt.*;
import javax.swing.*;
import java.awt.font.*;
import java.text.AttributedCharacterIterator;

public class FontMetricsBug {
   public static void main(String[] args) {
      SwingUtilities.invokeLater(()->go());
   }
   public static void go() {
      JFrame f = 
         new JFrame() {
            public void paint(Graphics g) {
               super.paint(g);
               FontRenderContext frc = ((Graphics2D) g).getFontRenderContext();
               Font f = new Font("Monospaced", 0, 10);
               System.out.println("test1: " + f.getStringBounds("", frc));
               java.util.Map<AttributedCharacterIterator.Attribute, Object> attrs = new java.util.HashMap<>();
               attrs.put(java.awt.font.TextAttribute.KERNING, java.awt.font.TextAttribute.KERNING_ON);
               Font f2 = f.deriveFont(attrs);
               System.out.println("test2: " + f2.getStringBounds("", frc));
            }
         };
      f.setVisible(true);
}
}
