Я обнаружил изменения в поведении этого кода, начиная с jdk8u232, похоже, это зависит от большого размера шрифта
BufferedImage bufferedImage = new BufferedImage(1, 1, BufferedImage.TYPE_INT_ARGB);
Font font = new Font("Dejavu Sans", Font.PLAIN, 3500);
Graphics2D graphics = bufferedImage.createGraphics();
GlyphVector glyphVector = font.createGlyphVector(graphics.getFontRenderContext(), "text");
Rectangle bounds = glyphVector.getPixelBounds(null, 0, 0);
System.out.println(bounds);
Для jdk8u222 он печатает java.awt.Rectangle[x=94,y=-2457,width=6791,height=2507]
Для jdk8u232 - java.awt.Rectangle[x=0,y=0,width=0,height=0]
ОС: Linux Mint 19.3 Триша
После отладки я обнаружил, что FileFontStrike.getGlyphImageBounds
возвращает пустой прямоугольник. Но на первый взгляд эти методы не меняются при обновлении.
Я хотел бы знать, почему это происходит? Могу ли я переписать код для достижения поведения от u222?