2010-12-29 19 views
11

Zauważyłem, że Metal L & F nie obsługuje niektórych znaków ze strzałkami z Unicode, podczas gdy Nimbus i GTK L & Fs obsługują je.GUI: Jak mogę się dowiedzieć, czy obsługiwane są niektóre znaki Unicode?

nieobsługiwane znaki są po prostu wyświetlane jako: ...

mogę

  1. albo spojrzeć w górę (ręcznie), który L & F obsługuje która znaków Unicode,
  2. lub znajdź go na środowisko wykonawcze?

EDIT: Albo powinno zależy tylko od L & domyślnej czcionki F na moje pytanie chyba powinno być:
„jak mogę się dowiedzieć, który czcionki Java obsługuje jakie znaki Unicode?”

+0

Nie jestem ekspertem, ale może to być spowodowane domyślną czcionką używaną przez Metal/Ocean. – Powerlord

+0

Jestem pewien, że to czcionka określa, które znaki są obsługiwane. –

Odpowiedz

11

Możesz użyć metody canDisplay, aby sprawdzić, czy obiekt java.awt.Font może wyświetlać dany znak. Zazwyczaj można pobrać czcionkę z komponentów GUI, korzystając z metody getFont().

+0

Świetnie! To jest to! http://download.oracle.com/javase/6/docs/api/java/awt/Font.html#canDisplay%28char%29 –

2

Jeśli wiesz, który blok Unicode zawiera potrzebne strzałki, możesz poszukać w nim here. Niestety nie ma strony dla nowszych wersji JDK.

+0

Niestety, link jest teraz uszkodzony. – Gili

0

Za pomocą tego fragmentu kodu można użyć prawie wszystkich Unicode ta.setFont (new java.awt.Font ("Emoji użytkownika Segoe", 1, 20));