Java Graphics:从Font构造FontMetrics,没有Graphics2D

已知

给定FontMetrics

FontMetrics有一个受保护的构造函数。

题:

给定一个Font对象,是否有一种方法可以构建FontMetrics对象而无需通过Graphics2D.setFontGraphics2D.getFontMetric()

上下文

我正在使用像渲染算法这样的TeX。 我需要计算* .pfb文件中各种字符的边界框等。 我可以从* .pfb文件构造一个Font对象。 我需要一个FontMetrics对象来获得上升,下降,宽度。 对于我来说,构建一个未使用的中间Graphics对象只是为了得到FontMetrics似乎非常难看。

给定一个Font对象,是否有一种方法可以构建FontMetrics对象而无需通过Graphics2D.setFontGraphics2D.getFontMetric()

有关获取Graphics实例的替代方法,请参阅BufferedImage.createGraphics()getGraphics()

或完全不使用图形对象:

 Font font = new Font("Helvetica",Font.PLAIN,12); Canvas c = new Canvas(); FontMetrics fm = c.getFontMetrics(font); 

如果现在调用c.getGraphics() ,它将返回null。 这个(canvas)也可以在无头模式下工作。