本文整理汇总了Java中sun.awt.X11FontManager类的典型用法代码示例。如果您正苦于以下问题:Java X11FontManager类的具体用法?Java X11FontManager怎么用?Java X11FontManager使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
X11FontManager类属于sun.awt包,在下文中一共展示了X11FontManager类的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: getFileNameFromComponentFontName
import sun.awt.X11FontManager; //导入依赖的package包/类
protected String getFileNameFromComponentFontName(String componentFontName) {
// for X11, component font name is XLFD
// if we have a file name already, just use it; otherwise let's see
// what the graphics environment can provide
String fileName = getFileNameFromPlatformName(componentFontName);
if (fileName != null && fileName.charAt(0) == '/' &&
!needToSearchForFile(fileName)) {
return fileName;
}
return ((X11FontManager) fontManager).getFileNameFromXLFD(componentFontName);
}
示例2: getPlatformFontNames
import sun.awt.X11FontManager; //导入依赖的package包/类
@Override
public String[] getPlatformFontNames() {
HashSet<String> nameSet = new HashSet<String>();
X11FontManager fm = (X11FontManager) fontManager;
FontConfigManager fcm = fm.getFontConfigManager();
FcCompFont[] fcCompFonts = fcm.loadFontConfig();
for (int i=0; i<fcCompFonts.length; i++) {
for (int j=0; j<fcCompFonts[i].allFonts.length; j++) {
nameSet.add(fcCompFonts[i].allFonts[j].fontFile);
}
}
return nameSet.toArray(new String[0]);
}
示例3: init
import sun.awt.X11FontManager; //导入依赖的package包/类
@Override
public synchronized boolean init() {
if (fcCompFonts != null) {
return true;
}
setFontConfiguration();
readFcInfo();
X11FontManager fm = (X11FontManager) fontManager;
FontConfigManager fcm = fm.getFontConfigManager();
if (fcCompFonts == null) {
fcCompFonts = fcm.loadFontConfig();
if (fcCompFonts != null) {
try {
writeFcInfo();
} catch (Exception e) {
if (FontUtilities.debugFonts()) {
warning("Exception writing fcInfo " + e);
}
}
} else if (FontUtilities.debugFonts()) {
warning("Failed to get info from libfontconfig");
}
} else {
fcm.populateFontConfig(fcCompFonts);
}
if (fcCompFonts == null) {
return false; // couldn't load fontconfig.
}
// NB already in a privileged block from SGE
String javaHome = System.getProperty("java.home");
if (javaHome == null) {
throw new Error("java.home property not set");
}
String javaLib = javaHome + File.separator + "lib";
getInstalledFallbackFonts(javaLib);
return true;
}
示例4: get2DCompositeFontInfo
import sun.awt.X11FontManager; //导入依赖的package包/类
@Override
public CompositeFontDescriptor[] get2DCompositeFontInfo() {
X11FontManager fm = (X11FontManager) fontManager;
FontConfigManager fcm = fm.getFontConfigManager();
FcCompFont[] fcCompFonts = fcm.loadFontConfig();
CompositeFontDescriptor[] result =
new CompositeFontDescriptor[NUM_FONTS * NUM_STYLES];
for (int fontIndex = 0; fontIndex < NUM_FONTS; fontIndex++) {
String fontName = publicFontNames[fontIndex];
for (int styleIndex = 0; styleIndex < NUM_STYLES; styleIndex++) {
String faceName = fontName + "." + styleNames[styleIndex];
FontConfigFont[] fcFonts =
getFcFontList(fcCompFonts,
fontNames[fontIndex], styleIndex);
int numFonts = fcFonts.length;
// fall back fonts listed in the lib/fonts/fallback directory
if (installedFallbackFontFiles != null) {
numFonts += installedFallbackFontFiles.length;
}
String[] fileNames = new String[numFonts];
String[] faceNames = new String[numFonts];
int index;
for (index = 0; index < fcFonts.length; index++) {
fileNames[index] = fcFonts[index].fontFile;
faceNames[index] = fcFonts[index].familyName;
}
if (installedFallbackFontFiles != null) {
System.arraycopy(installedFallbackFontFiles, 0,
fileNames, fcFonts.length,
installedFallbackFontFiles.length);
}
result[fontIndex * NUM_STYLES + styleIndex]
= new CompositeFontDescriptor(
faceName,
1,
faceNames,
fileNames,
null, null);
}
}
return result;
}
示例5: writeFcInfo
import sun.awt.X11FontManager; //导入依赖的package包/类
private void writeFcInfo() {
Properties props = new Properties();
props.setProperty("version", fileVersion);
X11FontManager fm = (X11FontManager) fontManager;
FontConfigManager fcm = fm.getFontConfigManager();
FontConfigInfo fcInfo = fcm.getFontConfigInfo();
props.setProperty("fcversion", Integer.toString(fcInfo.fcVersion));
if (fcInfo.cacheDirs != null) {
for (int i=0;i<fcInfo.cacheDirs.length;i++) {
if (fcInfo.cacheDirs[i] != null) {
props.setProperty("cachedir."+i, fcInfo.cacheDirs[i]);
}
}
}
for (int i=0; i<fcCompFonts.length; i++) {
FcCompFont fci = fcCompFonts[i];
String styleKey = fci.jdkName+"."+fci.style;
props.setProperty(styleKey+".length",
Integer.toString(fci.allFonts.length));
for (int j=0; j<fci.allFonts.length; j++) {
props.setProperty(styleKey+"."+j+".family",
fci.allFonts[j].familyName);
props.setProperty(styleKey+"."+j+".file",
fci.allFonts[j].fontFile);
}
}
try {
/* This writes into a temp file then renames when done.
* Since the rename is an atomic action within the same
* directory no client will ever see a partially written file.
*/
File fcInfoFile = getFcInfoFile();
File dir = fcInfoFile.getParentFile();
dir.mkdirs();
File tempFile = Files.createTempFile(dir.toPath(), "fcinfo", null).toFile();
FileOutputStream fos = new FileOutputStream(tempFile);
props.store(fos,
"JDK Font Configuration Generated File: *Do Not Edit*");
fos.close();
boolean renamed = tempFile.renameTo(fcInfoFile);
if (!renamed && FontUtilities.debugFonts()) {
System.out.println("rename failed");
warning("Failed renaming file to "+ getFcInfoFile());
}
} catch (Exception e) {
if (FontUtilities.debugFonts()) {
warning("IOException writing to "+ getFcInfoFile());
}
}
}
示例6: get2DCompositeFontInfo
import sun.awt.X11FontManager; //导入依赖的package包/类
@Override
public CompositeFontDescriptor[] get2DCompositeFontInfo() {
X11FontManager fm = (X11FontManager) fontManager;
FontConfigManager fcm = fm.getFontConfigManager();
FcCompFont[] fcCompFonts = fcm.loadFontConfig();
CompositeFontDescriptor[] result =
new CompositeFontDescriptor[NUM_FONTS * NUM_STYLES];
for (int fontIndex = 0; fontIndex < NUM_FONTS; fontIndex++) {
String fontName = publicFontNames[fontIndex];
for (int styleIndex = 0; styleIndex < NUM_STYLES; styleIndex++) {
String faceName = fontName + "." + styleNames[styleIndex];
FontConfigFont[] fcFonts =
getFcFontList(fcCompFonts,
fontNames[fontIndex], styleIndex);
int numFonts = fcFonts.length;
// fall back fonts listed in the lib/fonts/fallback directory
if (installedFallbackFontFiles != null) {
numFonts += installedFallbackFontFiles.length;
}
String[] fileNames = new String[numFonts];
int index;
for (index = 0; index < fcFonts.length; index++) {
fileNames[index] = fcFonts[index].fontFile;
}
if (installedFallbackFontFiles != null) {
System.arraycopy(installedFallbackFontFiles, 0,
fileNames, fcFonts.length,
installedFallbackFontFiles.length);
}
result[fontIndex * NUM_STYLES + styleIndex]
= new CompositeFontDescriptor(
faceName,
1,
null,
fileNames,
null, null);
}
}
return result;
}
示例7: writeFcInfo
import sun.awt.X11FontManager; //导入依赖的package包/类
private void writeFcInfo() {
Properties props = new Properties();
props.setProperty("version", fileVersion);
X11FontManager fm = (X11FontManager) fontManager;
FontConfigManager fcm = fm.getFontConfigManager();
FontConfigInfo fcInfo = fcm.getFontConfigInfo();
props.setProperty("fcversion", Integer.toString(fcInfo.fcVersion));
if (fcInfo.cacheDirs != null) {
for (int i=0;i<fcInfo.cacheDirs.length;i++) {
if (fcInfo.cacheDirs[i] != null) {
props.setProperty("cachedir."+i, fcInfo.cacheDirs[i]);
}
}
}
for (int i=0; i<fcCompFonts.length; i++) {
FcCompFont fci = fcCompFonts[i];
String styleKey = fci.jdkName+"."+fci.style;
props.setProperty(styleKey+".length",
Integer.toString(fci.allFonts.length));
for (int j=0; j<fci.allFonts.length; j++) {
props.setProperty(styleKey+"."+j+".family",
fci.allFonts[j].familyName);
props.setProperty(styleKey+"."+j+".file",
fci.allFonts[j].fontFile);
}
}
try {
/* This writes into a temp file then renames when done.
* Since the rename is an atomic action within the same
* directory no client will ever see a partially written file.
*/
File fcInfoFile = getFcInfoFile();
File dir = fcInfoFile.getParentFile();
dir.mkdirs();
File tempFile = File.createTempFile("fcinfo", null, dir);
FileOutputStream fos = new FileOutputStream(tempFile);
props.store(fos,
"JDK Font Configuration Generated File: *Do Not Edit*");
fos.close();
boolean renamed = tempFile.renameTo(fcInfoFile);
if (!renamed && FontUtilities.debugFonts()) {
System.out.println("rename failed");
warning("Failed renaming file to "+ getFcInfoFile());
}
} catch (Exception e) {
if (FontUtilities.debugFonts()) {
warning("IOException writing to "+ getFcInfoFile());
}
}
}