Spring Framework Get All Installed Fonts in a PC

An example on getting the list of all installed fonts in your PC. Demonstrates getting font objects and also their names (String[]).


Example




import java.awt.*;

class GetFonts

{

public static void main(String args[])

{



/*



Deprecated

-------------------------



String[] fonts=Toolkit.getDefaultToolkit().getFontList();

for(String font:fonts)

{

System.out.println(font);

}



*/



// Replaced with..

GraphicsEnvironment g=GraphicsEnvironment.getLocalGraphicsEnvironment();



String[] fonts=g.getAvailableFontFamilyNames();



for(String font:fonts)

{

System.out.println(font);

}



/*



To get the Font objects instead of just names..

---------------------------------------------------------



Font[] fonts=g.getAllFonts();



for(Font font:fonts)

{

System.out.println(font);

}



*/



}

}

Explanation


java.awt.GraphicsEnvironment class is an abstract class whose object can be created by using the public static method in it, getLocalGraphicsEnvironment(). This object contains methods, and the one that i've used here to get font family names is getAvailableFontFamilyNames() which returns a String[] containing the names of the fonts that are available (installed) in your PC. If you want the Font[] which represents java.awt.Font objects for use to set font for components, then you can use getAllFonts() method. The Toolkit class has also got it's own method getFontList() which returns the names of fonts installed in the form of a String[] however, that is now deprecated.

Your output might look different because it depends on the fonts installed in your PC. Happy coding :)

Also see my post on Get Screen Size and Resolution in Java and also Creating Beep Sound in Java

Output



Aharoni

Aldhabi

Andalus

Angsana New

AngsanaUPC

Aparajita

Arabic Typesetting

Arial

Arial Black

Batang

BatangChe

Browallia New

BrowalliaUPC

Calibri

Calibri Light

Cambria

Cambria Math

Candara

Comic Sans MS

Consolas

Constantia

Corbel

Cordia New

CordiaUPC

Courier New

DaunPenh

David

DFKai-SB

Dialog

DialogInput

DilleniaUPC

DokChampa

Dotum

DotumChe

Ebrima

Estrangelo Edessa

EucrosiaUPC

Euphemia

FangSong

Franklin Gothic Medium

FrankRuehl

FreesiaUPC

Gabriola

Gadugi

Gautami

Georgia

Gisha

Gulim

GulimChe

Gungsuh

GungsuhChe

Impact

IrisUPC

Iskoola Pota

JasmineUPC

KaiTi

Kalinga

Kartika

Khmer UI

KodchiangUPC

Kokila

Lao UI

Latha

Leelawadee

Levenim MT

LilyUPC

Lucida Bright

Lucida Console

Lucida Sans

Lucida Sans Typewriter

Lucida Sans Unicode

Malgun Gothic

Mangal

Marlett

Meiryo

Meiryo UI

Microsoft Himalaya

Microsoft JhengHei

Microsoft JhengHei UI

Microsoft New Tai Lue

Microsoft PhagsPa

Microsoft Sans Serif

Microsoft Tai Le

Microsoft Uighur

Microsoft YaHei

Microsoft YaHei UI

Microsoft Yi Baiti

MingLiU

MingLiU-ExtB

MingLiU_HKSCS

MingLiU_HKSCS-ExtB

Miriam

Miriam Fixed

Mongolian Baiti

Monospaced

MoolBoran

MS Gothic

MS Mincho

MS PGothic

MS PMincho

MS UI Gothic

MV Boli

Myanmar Text

Narkisim

Nirmala UI

NSimSun

Nyala

Palatino Linotype

Plantagenet Cherokee

PMingLiU

PMingLiU-ExtB

Raavi

Rod

Sakkal Majalla

SansSerif

Segoe Print

Segoe Script

Segoe UI

Segoe UI Light

Segoe UI Semibold

Segoe UI Semilight

Segoe UI Symbol

Serif

Shonar Bangla

Shruti

SimHei

Simplified Arabic

Simplified Arabic Fixed

SimSun

SimSun-ExtB

Sylfaen

Symbol

Tahoma

Times New Roman

Traditional Arabic

Trebuchet MS

Tunga

Urdu Typesetting

Utsaah

Vani

Verdana

Vijaya

Vrinda

Webdings

Wingdings