Java

Supported Fonts

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.


Support for Physical Fonts

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).


Support for Logical Fonts

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.


The Lucida Fonts

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


Copyright © 2004 Sun Microsystems, Inc. All Rights Reserved.

Feedback

Sun
Java Software