Wie zu finden, die mit Java, wenn eine bestimmte Schriftart korrekt auf einem Computer installiert ist

StackOverflow https://stackoverflow.com/questions/2270360

  •  20-09-2019
  •  | 
  •  

Frage

Ich habe einen PC Notebook mit Win Vista, als ich es zuerst gekauft, bestimmten chinesischen Schriften werden nicht angezeigt, ich nur Rechtecke sehen konnte, aber ich spielte mit der Steuereinstellung für eine Weile, änderte einige Eigenschaften, und jetzt es zeigt chinesische Schriften korrekt, aber ich kann mich nicht erinnern, was ich getan habe.

Jetzt zeigt einige meiner Programme sowohl Englisch als auch Chinesisch, etwa so: „Enter | 输入“ (Die Chinesen hier auch Mittel geben), aber wenn ein Benutzer nicht chinesische Schriften nicht installiert richtig auf seiner Maschine, wird er etwas sehen wie folgt aus: „Enter | [] []“, meine Frage ist: in Java, wie zu erkennen, ob diese Zeichen angezeigt wird korrekt auf einer bestimmten Maschine, wenn nicht, nur die Anzeige „Enter“, wenn es ist, zeigen " Geben Sie |. 输入“

Frank

War es hilfreich?

Lösung

java.awt.GraphicsEnvironment.getAvailableFontFamilyNames() können Sie eine Liste der verfügbaren Schriftart auf dem aktuellen System installiert ist. Sie könnten auch java.awt.GraphicsEnvironment.getAllFonts() verwenden, um java.awt.Font Objekte zu bekommen.

Dann können Sie java.awt.Font.canDisplay(int) verwenden um zu überprüfen, ob ein Unicode-Zeichen können in dieser Schriftart angezeigt werden (wobei die int die ganzzahlige Darstellung des Multibyte-Zeichen).

Andere Tipps

Faule Version:

Arrays.asList(GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames()).contains(FONT_NAME)
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top