Class Fonts
TODO: Consider changing the visibility of the package private methods to public. As an alternative we may provide a FontPolicy that can emulate the font choice on Windows XP/2000 and Windows Vista for different software resolutions (96dpi/120dpi) and desktop font size settings (Normal/Large/Extra Large).
- Since:
- 2.0
- Author:
- Karsten Lentzsch
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionstatic BooleancanDisplayLocalizedText(Font font, Locale locale) Checks and answers whether the given font can display text that is localized for the specified locale.static FontLooks up and returns the Windows control font.
-
Method Details
-
getWindowsControlFont
Looks up and returns the Windows control font. Returns the Windows icon title font unless it is inappropriate for the Windows version, Java renderer, or locale.The icon title font scales with the resolution (96dpi, 101dpi, 120dpi, etc) and the desktop font size settings (normal, large, extra large). Older versions may return a poor font. Also, since Java 1.4 and Java 5 render the Windows Vista icon font Segoe UI poorly, we return the default GUI font in these environments.
The last check is, if the icon font can display text in the default locale. Therefore we test if the locale's localized display name can be displayed by the icon font. For example, Tahoma can display "English", "Deutsch", but not the display name for "Chinese" in Chinese.
- Returns:
- the Windows control font
- Throws:
UnsupportedOperationException- on non-Windows platforms
-
canDisplayLocalizedText
Checks and answers whether the given font can display text that is localized for the specified locale. Returnsnullif we can't test it.First checks, if the locale's display language is available in localized form, for example "Deutsch" for the German locale. If so, we check if the given font can display the localized display language.
Otherwise we check some known combinations of fonts and locales and return the associated results. For all other combinations,
nullis returned to indicate that we don't know whether the font can display text in the given locale.- Parameters:
font- the font to be testedlocale- the locale to be used- Returns:
Boolean.TRUEif the font can display the locale's text,Boolean.FALSEif not,nullif we don't know- Since:
- 2.0.4
-