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

Wrong rendering of variation sequences

    XMLWordPrintable

Details

    • x86_64
    • generic

    Description

      ADDITIONAL SYSTEM INFORMATION :
      All OS (Windows, Linux, etc.)

      A DESCRIPTION OF THE PROBLEM :
      JavaFX does not display variation selectors.

      This bug is related with SWING bug.
      https://bugs.openjdk.java.net/browse/JDK-8187100
      SWING was fixed from openjdk11.

      STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
      Please run following VariationSelectorsTest.java

      EXPECTED VERSUS ACTUAL BEHAVIOR :
      EXPECTED -
      https://drive.google.com/open?id=1CU9r_pm0t5EO8dHj1yLgnKPB2J4ECDsp
      ACTUAL -
      https://drive.google.com/open?id=1lJKavmqlj0XDckR6UR_xIT1Eiag7CZHl

      ---------- BEGIN SOURCE ----------
      import javafx.application.Application;
      import static javafx.application.Application.launch;
      import javafx.scene.Group;
      import javafx.scene.Scene;
      import javafx.scene.layout.VBox;
      import javafx.scene.text.Font;
      import javafx.scene.text.Text;
      import javafx.stage.Stage;

      public class VariationSelectorsTest extends Application {

          public void start(Stage stage) {
              final String fontName = "ipaexm.ttf";
              // download from https://ipafont.ipa.go.jp/node26#en
              // and place in {user.home}/fonts/

              final String base = System.getProperty("user.home")+"/fonts/";
              Font font = Font.loadFont("file://"+base+fontName, 48);
              if (font == null || !"IPAexMincho".equals(font.getName())) {
                  System.err.println("# You need to place "+fontName+" in "+base);
                  System.exit(0);
              }

              stage.setWidth(260);
              stage.setHeight(80);
              Group g = new Group();
              final Scene scene = new Scene(new Group());
              VBox box = new VBox();
              ((Group)scene.getRoot()).getChildren().add(box);
              stage.setScene(scene);

              Text txt = new Text("\u845b\udb40\udd00\u845b\udb40\udd01");
              txt.setFont(font);
              box.getChildren().add(txt);

              stage.show();
          }
      }
      ---------- END SOURCE ----------

      FREQUENCY : always


      Attachments

        1. VS_OK.png
          VS_OK.png
          3 kB
        2. VS_NG.png
          VS_NG.png
          4 kB
        3. VariationSelectorsTest.java
          1 kB

        Issue Links

          Activity

            People

              prr Philip Race
              webbuggrp Webbug Group
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated: