On Tue, 19 Sep 2023 13:41:27 GMT, Alexey Ivanov <[email protected]> wrote:
> **Root cause** > > The _Baekmuk Headline_ font maps `\u6f22` (漢) to glyph id 16950 which has > zero length. > > The test fails if the right half of the image with the rendered glyph > contains only pixels of background colour. In this case, the left half of the > image is also blank. It's somewhat false positive because of the broken font. > > **Fix** > > Ignore fonts which don't render the glyph correctly. If the left half of the > image contains pixels of the background colour only, it is expected that the > right half also contains background-coloured pixels only. > > The updated test does not fail with the _Baekmuk Headline_ font. It still > detects the original problem and fails on builds without the fix for > [JDK-8312555](https://bugs.openjdk.org/browse/JDK-8312555). I was thinking of a more direct font-oriented verification like this import java.awt.*; import java.awt.font.*; public class GO { public static void main(String args[]) { Font font = new Font(Font.SANS_SERIF, Font.PLAIN, 20); FontRenderContext frc = new FontRenderContext(null, false, false); GlyphVector gv = font.createGlyphVector(frc, "o"); boolean empty = gv.getVisualBounds().isEmpty(); System.out.println("empty="+empty); } } % java GO empty=true ------------- PR Comment: https://git.openjdk.org/jdk/pull/15818#issuecomment-1726453146
