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

Georgian letters render as an empty regtangle

XMLWordPrintable

    • x86
    • other

      FULL PRODUCT VERSION :
      java version "1.8.0_144"
      Java(TM) SE Runtime Environment (build 1.8.0_144-b01)
      Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)

      ADDITIONAL OS VERSION INFORMATION :
      Microsoft Windows [Version 10.0.15063]

      A DESCRIPTION OF THE PROBLEM :
      GEORGIAN LETTER DON (U+10D3 დ 0xe1 0x83 0x93) only displays with the system font - but not with Serif/SansSerif or Monospaced). The full list of font's tested with can be seen in the example program, results:

      Windows 10: Only system works.
      Linux (Ubuntu 16): All work.
      OS X 10.12.6: All work.
      Windows 7: No fonts work correctly.



      STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
      Run the attached program on Windows 10.




      EXPECTED VERSUS ACTUAL BEHAVIOR :
      EXPECTED -
      To see the დ character, rather than the empty square.
      ACTUAL -
      Empty square displayed, rather than დ.

      REPRODUCIBILITY :
      This bug can be reproduced always.

      ---------- BEGIN SOURCE ----------
      package com.github.liamsharp;

      import java.util.Arrays;
      import java.util.List;

      import javafx.application.Application;
      import javafx.scene.Scene;
      import javafx.scene.control.Label;
      import javafx.scene.layout.StackPane;
      import javafx.scene.layout.VBox;
      import javafx.scene.text.Font;
      import javafx.stage.Stage;
       
      public class HelloWorldJavaFX extends Application {
          public static void main(String[] args) {
              launch(args);
          }
          
          @Override
          public void start(Stage primaryStage) {
              
              for (String fontName : Font.getFontNames())
              {
                  System.out.println(fontName);
              }

              VBox vBox = new VBox();
              
              List<String> fonts = Arrays.asList(
                      "System",
                      "System Bold",
                      "System Italic",
                      "System Regular",
                      "Serif Bold",
                      "Serif Bold Italic",
                      "Serif Italic",
                      "Serif Regular",
                      "SansSerif Bold",
                      "SansSerif Bold Italic",
                      "SansSerif Italic",
                      "SansSerif Regular",
                      "Monospaced Bold",
                      "Monospaced Bold Italic",
                      "Monospaced Italic",
                      "Monospaced Regular"
                      );
              
              for (String fontName : fonts)
              {
                  final Label label = new Label(fontName + " (\u10D3)");
                  label.setFont(new Font(fontName, 16));
                  vBox.getChildren().add(label);
              }
              primaryStage.setTitle(System.getProperty("java.version") + " " + System.getProperty("java.vendor") + " " + System.getProperty("java.vendor.url"));
              StackPane root = new StackPane();
              root.getChildren().add(vBox);
              primaryStage.setScene(new Scene(root, 500, 400));
              primaryStage.show();
          }
      }
      ---------- END SOURCE ----------

            pmangal Priyanka Mangal (Inactive)
            webbuggrp Webbug Group
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: