src/solaris/classes/sun/font/FcFontConfiguration.java
Print this page
@@ -1,7 +1,7 @@
/*
- * Copyright (c) 2008, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2013, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
@@ -31,10 +31,11 @@
import java.io.FileOutputStream;
import java.io.IOException;
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.nio.charset.Charset;
+import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Properties;
import java.util.Scanner;
@@ -171,12 +172,20 @@
protected void initReorderMap() {
reorderMap = new HashMap();
}
@Override
- public FontDescriptor[] getFontDescriptors(String fontName, int style) {
- return new FontDescriptor[0];
+ protected FontDescriptor[] buildFontDescriptors(int fontIndex, int styleIndex) {
+ CompositeFontDescriptor[] cfi = get2DCompositeFontInfo();
+ int idx = fontIndex * NUM_STYLES + styleIndex;
+ String[] componentFaceNames = cfi[idx].getComponentFaceNames();
+ FontDescriptor[] ret = new FontDescriptor[componentFaceNames.length];
+ for (int i = 0;i < componentFaceNames.length; i++) {
+ ret[i] = new FontDescriptor(componentFaceNames[0], StandardCharsets.UTF_8.newEncoder(), new int[0]);
+ }
+
+ return ret;
}
@Override
public int getNumberCoreFonts() {
return 1;
@@ -248,14 +257,16 @@
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,
@@ -264,11 +275,11 @@
result[fontIndex * NUM_STYLES + styleIndex]
= new CompositeFontDescriptor(
faceName,
1,
- null,
+ faceNames,
fileNames,
null, null);
}
}
return result;