To reproduce, compile and run the attached test program.
$ java TextLayoutBug
Exception in Application start method
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:363)
at com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:303)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at sun.launcher.LauncherHelper$FXHelper.main(LauncherHelper.java:767)
Caused by: java.lang.RuntimeException: Exception in Application start method
at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:875)
at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$132(LauncherImpl.java:157)
at com.sun.javafx.application.LauncherImpl$$Lambda$48/20929316.run(Unknown Source)
at java.lang.Thread.run(Thread.java:744)
Caused by: java.lang.ArrayIndexOutOfBoundsException: 0
at com.sun.javafx.font.directwrite.DWGlyphLayout.getIndices(DWGlyphLayout.java:198)
at com.sun.javafx.font.directwrite.DWGlyphLayout.renderShape(DWGlyphLayout.java:401)
at com.sun.javafx.font.directwrite.DWGlyphLayout.layout(DWGlyphLayout.java:154)
at com.sun.javafx.text.PrismTextLayout.shape(PrismTextLayout.java:834)
at com.sun.javafx.text.PrismTextLayout.layout(PrismTextLayout.java:1064)
at com.sun.javafx.text.PrismTextLayout.ensureLayout(PrismTextLayout.java:223)
at com.sun.javafx.text.PrismTextLayout.getBounds(PrismTextLayout.java:246)
at com.sun.javafx.scene.control.skin.Utils.computeTextWidth(Utils.java:112)
at com.sun.javafx.scene.control.skin.LabeledSkinBase.computeMinLabeledPartWidth(LabeledSkinBase.java:656)
at com.sun.javafx.scene.control.skin.LabeledSkinBase.computeMinWidth(LabeledSkinBase.java:628)
at javafx.scene.control.Control.computeMinWidth(Control.java:481)
at javafx.scene.Parent.minWidth(Parent.java:930)
at javafx.scene.layout.Region.minWidth(Region.java:1380)
at javafx.scene.layout.Region.computeChildPrefAreaHeight(Region.java:1742)
at javafx.scene.layout.VBox.getAreaHeights(VBox.java:440)
at javafx.scene.layout.VBox.layoutChildren(VBox.java:555)
at javafx.scene.Parent.layout(Parent.java:1074)
at javafx.scene.Scene.doLayoutPass(Scene.java:530)
at javafx.scene.Scene.preferredSize(Scene.java:1607)
at javafx.scene.Scene.impl_preferredSize(Scene.java:1681)
at javafx.stage.Window$9.invalidated(Window.java:753)
at javafx.beans.property.BooleanPropertyBase.markInvalid(BooleanPropertyBase.java:109)
at javafx.beans.property.BooleanPropertyBase.set(BooleanPropertyBase.java:143)
at javafx.stage.Window.setShowing(Window.java:829)
at javafx.stage.Window.show(Window.java:844)
at javafx.stage.Stage.show(Stage.java:255)
at TextLayoutBug.start(TextLayoutBug.java:30)
at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$138(LauncherImpl.java:821)
at com.sun.javafx.application.LauncherImpl$$Lambda$51/13448193.run(Unknown Source)
at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$150(PlatformImpl.java:319)
at com.sun.javafx.application.PlatformImpl$$Lambda$45/25949449.run(Unknown Source)
at com.sun.javafx.application.PlatformImpl.lambda$null$148(PlatformImpl.java:288)
at com.sun.javafx.application.PlatformImpl$$Lambda$47/26264600.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.javafx.application.PlatformImpl.lambda$runLater$149(PlatformImpl.java:287)
at com.sun.javafx.application.PlatformImpl$$Lambda$46/26780469.run(Unknown Source)
at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at com.sun.glass.ui.win.WinApplication.lambda$null$126(WinApplication.java:102)
at com.sun.glass.ui.win.WinApplication$$Lambda$37/10069385.run(Unknown Source)
... 1 more
Exception running application TextLayoutBug
$ java TextLayoutBug
Exception in Application start method
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:363)
at com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:303)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at sun.launcher.LauncherHelper$FXHelper.main(LauncherHelper.java:767)
Caused by: java.lang.RuntimeException: Exception in Application start method
at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:875)
at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$132(LauncherImpl.java:157)
at com.sun.javafx.application.LauncherImpl$$Lambda$48/20929316.run(Unknown Source)
at java.lang.Thread.run(Thread.java:744)
Caused by: java.lang.ArrayIndexOutOfBoundsException: 0
at com.sun.javafx.font.directwrite.DWGlyphLayout.getIndices(DWGlyphLayout.java:198)
at com.sun.javafx.font.directwrite.DWGlyphLayout.renderShape(DWGlyphLayout.java:401)
at com.sun.javafx.font.directwrite.DWGlyphLayout.layout(DWGlyphLayout.java:154)
at com.sun.javafx.text.PrismTextLayout.shape(PrismTextLayout.java:834)
at com.sun.javafx.text.PrismTextLayout.layout(PrismTextLayout.java:1064)
at com.sun.javafx.text.PrismTextLayout.ensureLayout(PrismTextLayout.java:223)
at com.sun.javafx.text.PrismTextLayout.getBounds(PrismTextLayout.java:246)
at com.sun.javafx.scene.control.skin.Utils.computeTextWidth(Utils.java:112)
at com.sun.javafx.scene.control.skin.LabeledSkinBase.computeMinLabeledPartWidth(LabeledSkinBase.java:656)
at com.sun.javafx.scene.control.skin.LabeledSkinBase.computeMinWidth(LabeledSkinBase.java:628)
at javafx.scene.control.Control.computeMinWidth(Control.java:481)
at javafx.scene.Parent.minWidth(Parent.java:930)
at javafx.scene.layout.Region.minWidth(Region.java:1380)
at javafx.scene.layout.Region.computeChildPrefAreaHeight(Region.java:1742)
at javafx.scene.layout.VBox.getAreaHeights(VBox.java:440)
at javafx.scene.layout.VBox.layoutChildren(VBox.java:555)
at javafx.scene.Parent.layout(Parent.java:1074)
at javafx.scene.Scene.doLayoutPass(Scene.java:530)
at javafx.scene.Scene.preferredSize(Scene.java:1607)
at javafx.scene.Scene.impl_preferredSize(Scene.java:1681)
at javafx.stage.Window$9.invalidated(Window.java:753)
at javafx.beans.property.BooleanPropertyBase.markInvalid(BooleanPropertyBase.java:109)
at javafx.beans.property.BooleanPropertyBase.set(BooleanPropertyBase.java:143)
at javafx.stage.Window.setShowing(Window.java:829)
at javafx.stage.Window.show(Window.java:844)
at javafx.stage.Stage.show(Stage.java:255)
at TextLayoutBug.start(TextLayoutBug.java:30)
at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$138(LauncherImpl.java:821)
at com.sun.javafx.application.LauncherImpl$$Lambda$51/13448193.run(Unknown Source)
at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$150(PlatformImpl.java:319)
at com.sun.javafx.application.PlatformImpl$$Lambda$45/25949449.run(Unknown Source)
at com.sun.javafx.application.PlatformImpl.lambda$null$148(PlatformImpl.java:288)
at com.sun.javafx.application.PlatformImpl$$Lambda$47/26264600.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.javafx.application.PlatformImpl.lambda$runLater$149(PlatformImpl.java:287)
at com.sun.javafx.application.PlatformImpl$$Lambda$46/26780469.run(Unknown Source)
at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at com.sun.glass.ui.win.WinApplication.lambda$null$126(WinApplication.java:102)
at com.sun.glass.ui.win.WinApplication$$Lambda$37/10069385.run(Unknown Source)
... 1 more
Exception running application TextLayoutBug