The set of supported fonts varies between different
implementations of the Java Platform. This page documents font
support in Sun's Java SE Development Kit 6 (JDK), and Java SE
Runtime Environment 6 (JRE). For the terminology used, see the
Font
class description.
Sun's Java SE Runtime Environment supports TrueType and PostScript Type 1 fonts.
Physical fonts need to be installed in locations known to the
Java runtime environment. Sun's Java SE Runtime Environments look
in two locations: the lib/fonts
directory within the
JRE itself, and the normal font location(s) defined by the host
operating system. If fonts with the same name exist in both
locations, the one in the lib/fonts
directory is
used.
Users can add physical fonts that use a supported font
technology by installing them either in the lib/fonts
directory within the JRE, or by installing them in a way supported
by the host operating system (dropping them into the Fonts folder
on Windows, using the pkgadd command on Solaris).
Logical font names are mapped to physical fonts in implementation dependent ways. Typically one logical font name maps to several physical fonts in order to cover a large range of characters. Sun's Java SE Runtime Environments use font configuration files to define the mapping.
Users can add a physical font as a fallback font to logical
fonts used in Java 2D rendering by installing it in the
lib/fonts/fallback
directory within the JRE.
Sun's Java SE Development Kit and Java SE Runtime Environments bundle several physical fonts of the "Lucida" design family. These fonts are also licensed for use in other implementations of the Java Platform. These fonts are physical fonts, but since they come with the Java SE Runtime, they don't depend on the host operating system. Using them provides the benefit of a consistent look and feel across platforms and implementations for a large set of languages.
There are three different type families: "Lucida
Sans"
, "Lucida Sans Typewriter"
,
and"Lucida Bright"
. Each family has plain, bold,
italic, and bold-italic styles. Not all of these are present in all
Java SE implementations. For example, the default download bundle
of Sun's Java SE Runtime Environment for Windows only contains the
Lucida Sans plain font (but note that application developers can
include all Lucida fonts with a JRE that they redistribute
with an application).
The following table shows which Unicode character blocks are covered by each font family:
Unicode Block |
Lucida Sans |
Lucida Sans Typewriter |
Lucida Bright |
---|---|---|---|
Basic Latin |
yes |
yes |
yes |
Latin-1 Supplement |
yes |
yes |
yes |
Latin Extended-A |
yes |
yes |
yes |
Latin Extended-B |
partial |
partial |
partial |
IPA Extensions |
partial |
no |
no |
Spacing Modifier Letter |
partial |
partial |
partial |
Combining Diacritical Marks |
partial |
no |
partial |
Greek |
yes |
yes |
yes |
Cyrillic |
partial |
partial |
partial |
Hebrew |
yes |
yes |
no |
Arabic |
partial |
partial |
partial |
Devanagari |
yes |
no |
no |
Thai |
yes |
yes |
no |
General Punctuation |
partial |
partial |
partial |
Superscripts and Subscripts |
partial |
partial |
partial |
Currency Symbols |
partial |
partial |
partial |
Letterlike Symbols |
partial |
partial |
partial |
Number Forms |
partial |
partial |
no |
Arrows |
partial |
partial |
partial |
Mathematical Operators |
yes |
partial |
yes |
Enclosed Alphanumerics |
partial |
no |
no |
Box Drawings |
partial |
partial |
no |
Block Elements |
partial |
partial |
no |
Geometric Shapes |
partial |
partial |
partial |
Miscellaneous Symbols |
partial |
partial |
no |
Dingbats |
yes |
no |
no |
Alphabetic Presentation Forms |
partial |
partial |
no |
Arabic Presentation Forms-A |
partial |
partial |
partial |
Arabic Presentation Forms-B |
yes |
yes |
yes |
Note that of the writing systems that are generally fully supported by Sun's Java SE Runtime Environments, the Lucida fonts do not support Chinese (Simplified), Chinese (Traditional), Japanese, and Korean.
The fonts are installed in the Java SE Runtime Environment's
lib/fonts
directory as the following files (not all of
them may be present):
LucidaSansDemiBold.ttf LucidaSansRegular.ttf LucidaTypewriterBold.ttf LucidaTypewriterRegular.ttf LucidaBrightDemiBold.ttf LucidaBrightDemiItalic.ttf LucidaBrightItalic.ttf LucidaBrightRegular.ttf