Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8123615

Mac OS X 10.8, NPE is thrown when rendering complex text and bidi with some of installed fonts.

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P3 P3
    • 8
    • 8
    • javafx
    • Mac OS X 10.8, jdk8 b94 or b95

      This is introduced from 8.0 b94. When setting a specific font for rendering complex text and bidi mixed string, NPE is thrown. The result is the same if adding "-Dprism.text=native". Many fonts are impacted. Test program is attached, for example, select "Raanana" (Hebrew font), NPE is reported:
      java.lang.NullPointerException
      at com.sun.javafx.font.FallbackResource.getSlotForFont(FallbackResource.java:155)
      at com.sun.javafx.font.PrismCompositeFontResource.getSlotForFont(PrismCompositeFontResource.java:50)
      at com.sun.javafx.font.coretext.CTGlyphLayout.addTextRun(CTGlyphLayout.java:104)
      at com.sun.javafx.font.coretext.CTGlyphLayout.breakRuns(CTGlyphLayout.java:210)
      at com.sun.javafx.text.PrismTextLayout.buildRuns(PrismTextLayout.java:676)
      at com.sun.javafx.text.PrismTextLayout.layout(PrismTextLayout.java:922)
      at com.sun.javafx.text.PrismTextLayout.ensureLayout(PrismTextLayout.java:177)
      at com.sun.javafx.text.PrismTextLayout.getBounds(PrismTextLayout.java:200)
      at javafx.scene.text.Text.getLogicalBounds(Text.java:388)
      at javafx.scene.text.Text.impl_computeLayoutBounds(Text.java:1159)
      at javafx.scene.Node$15.computeBounds(Node.java:3114)
      at javafx.scene.Node$LazyBoundsProperty.get(Node.java:8749)
      at javafx.scene.Node$LazyBoundsProperty.get(Node.java:8719)
      at javafx.scene.Node.getLayoutBounds(Node.java:3129)
      at javafx.scene.Node.prefHeight(Node.java:2671)
      at javafx.scene.Node.minHeight(Node.java:2615)
      at javafx.scene.layout.Region.computeChildPrefAreaHeight(Region.java:1520)
      at javafx.scene.layout.VBox.getAreaHeights(VBox.java:441)
      at javafx.scene.layout.VBox.layoutChildren(VBox.java:556)
      at javafx.scene.Parent.layout(Parent.java:1032)
      at javafx.scene.Scene.layoutDirtyRoots(Scene.java:613)
      at javafx.scene.Scene.doLayoutPass(Scene.java:584)
      at javafx.scene.Scene.access$3700(Scene.java:190)
      at javafx.scene.Scene$ScenePulseListener.pulse(Scene.java:2372)
      at com.sun.javafx.tk.Toolkit.firePulse(Toolkit.java:360)
      at com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:589)
      at com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:569)
      at com.sun.javafx.tk.quantum.QuantumToolkit$16.run(QuantumToolkit.java:436)
      at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
              ......

            fheidric Felipe Heidrich (Inactive)
            jennyh Jenny Huang (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported: