public static boolean areStandardFontFamiliesAvailable() {
		if (!fontsChecked) {
			fontsChecked = true;
			try {
				Class toolkitClass = Class.forName("java.awt.Toolkit");
				Method getFontList = toolkitClass.getMethod("getFontList", new Class[0]);
				String[] fonts = (String []) getFontList.invoke(Toolkit.getDefaultToolkit(), new Object[0]);
				int standardFontCount = 0;
				for (int i = 0; i < fonts.length; i++) {
					if (fonts[i].equals("Serif") || fonts[i].equals("SansSerif") || fonts[i].equals("Monospaced")) {
						standardFontCount++;
					}
				}
				areStandardFontFamiliesAvailable = (standardFontCount == 3);
			} catch (Exception ex) {
				areStandardFontFamiliesAvailable = false;
			}
		}
		return areStandardFontFamiliesAvailable;
	}