<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body>
    This is a new native method (actually moved from another class) in
    JavaFX 21. This is very likely due to a mismatch between the native
    library and the Java classes. I suspect you have a directory in your
    PATH that is picking up an old javafx_font.dll library. Run your
    program with "-Djavafx.verbose=true" to see where the library is
    loaded from.<br>
    <br>
    -- Kevin <br>
    <br>
    <div class="moz-cite-prefix">On 9/29/2023 5:06 AM, Rony G. Flatscher
      wrote:<br>
    </div>
    <blockquote type="cite" cite="mid:a94a107b-a916-4dca-b228-a2b1fb2c8572@wu.ac.at">
      
      <p>Downloaded the 64-bit OpenJDK21 package for Windows that
        include JavaFX from Azul ("FX") and Bellsouth ("full"). </p>
      <p>Both packages cause the following error:</p>
      <blockquote>
        <p>Exception in Application start method<br>
          Exception in thread "JavaFX Application Thread"
          java.lang.UnsatisfiedLinkError: 'java.lang.String
          com.sun.javafx.font.direct<br>
          write.DWFactory.regReadFontLink(java.lang.String)'<br>
                  at
javafx.graphics/com.sun.javafx.font.directwrite.DWFactory.regReadFontLink(Native
          Method)<br>
                  at
javafx.graphics/com.sun.javafx.font.directwrite.DWFactory.getFallbacks(DWFactory.java:166)<br>
                  at
javafx.graphics/com.sun.javafx.font.LogicalFont.getLinkedFonts(LogicalFont.java:214)<br>
                  at
javafx.graphics/com.sun.javafx.font.LogicalFont.getNumSlots(LogicalFont.java:223)<br>
                  at
javafx.graphics/com.sun.javafx.font.CompositeGlyphMapper.<init>(CompositeGlyphMapper.java:62)<br>
                  at
javafx.graphics/com.sun.javafx.font.LogicalFont.getGlyphMapper(LogicalFont.java:439)<br>
                  at
javafx.graphics/com.sun.javafx.text.GlyphLayout.breakRuns(GlyphLayout.java:229)<br>
                  at
javafx.graphics/com.sun.javafx.text.PrismTextLayout.buildRuns(PrismTextLayout.java:819)<br>
                  at
javafx.graphics/com.sun.javafx.text.PrismTextLayout.layout(PrismTextLayout.java:1070)<br>
                  at
javafx.graphics/com.sun.javafx.text.PrismTextLayout.ensureLayout(PrismTextLayout.java:230)<br>
                  at
javafx.graphics/com.sun.javafx.text.PrismTextLayout.getBounds(PrismTextLayout.java:256)<br>
                  at
javafx.controls/com.sun.javafx.scene.control.skin.Utils.computeTextWidth(Utils.java:129)<br>
                  at
javafx.controls/javafx.scene.control.skin.LabeledSkinBase.computeMinLabeledPartWidth(LabeledSkinBase.java:809)<br>
                  at
javafx.controls/javafx.scene.control.skin.LabeledSkinBase.computeMinWidth(LabeledSkinBase.java:306)<br>
                  at
javafx.controls/javafx.scene.control.Control.computeMinWidth(Control.java:504)<br>
                  at
          javafx.graphics/javafx.scene.Parent.minWidth(Parent.java:1049)<br>
                  at
          javafx.graphics/javafx.scene.layout.Region.minWidth(Region.java:1500)<br>
                  at
javafx.graphics/javafx.scene.layout.Region.computeChildPrefAreaWidth(Region.java:1959)<br>
                  at
javafx.graphics/javafx.scene.layout.AnchorPane.computeChildWidth(AnchorPane.java:344)<br>
                  at
javafx.graphics/javafx.scene.layout.AnchorPane.layoutChildren(AnchorPane.java:380)<br>
                  at
          javafx.graphics/javafx.scene.Parent.layout(Parent.java:1208)<br>
                  at
          javafx.graphics/javafx.scene.Scene.doLayoutPass(Scene.java:594)<br>
                  at
javafx.graphics/javafx.scene.Scene$ScenePulseListener.pulse(Scene.java:2600)<br>
                  at
javafx.graphics/com.sun.javafx.tk.Toolkit.lambda$runPulse$2(Toolkit.java:401)<br>
                  at
java.base/java.security.AccessController.doPrivileged(AccessController.java:400)<br>
                  at
          javafx.graphics/com.sun.javafx.tk.Toolkit.runPulse(Toolkit.java:400)<br>
                  at
          javafx.graphics/com.sun.javafx.tk.Toolkit.firePulse(Toolkit.java:430)<br>
                  at
javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:592)<br>
                  at
javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:572)<br>
                  at
javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.pulseFromQueue(QuantumToolkit.java:565)<br>
                  at
javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.lambda$runToolkit$11(QuantumToolkit.java:352)<br>
                  at
javafx.graphics/com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)<br>
                  at
          javafx.graphics/com.sun.glass.ui.win.WinApplication._runLoop(Native
          Method)<br>
                  at
javafx.graphics/com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:185)<br>
                  at java.base/java.lang.Thread.run(Thread.java:1583)<br>
        </p>
      </blockquote>
      <p>Would anyone know how to fix this, if possible at all?</p>
      <p>---rony</p>
      <p><br>
      </p>
      <p><br>
      </p>
      <p><br>
      </p>
      <br>
    </blockquote>
    <br>
  </body>
</html>