JRE-43 Font.getFamily() does not work in headless mode

Bundled Droid fonts to fallback in headless mode
diff --git a/make/CopyFiles.gmk b/make/CopyFiles.gmk
index 9c7e7bc..153667d 100644
--- a/make/CopyFiles.gmk
+++ b/make/CopyFiles.gmk
@@ -484,6 +484,40 @@
     COPY_FILES += $(OBL_FONTS_DST) $(OBL_FONTS_DST_DIR)/fonts.dir
 
   endif # linux
+else #OPENJDK
+  SHARED_FONTS_SRC_DIR := $(JDK_TOPDIR)/src/share/lib/fonts
+  SHARED_FONTS_DST_DIR := $(JDK_OUTPUTDIR)/lib/fonts
+
+  SHARED_FONTS_FILES := \
+      DroidSans-Bold.ttf \
+      DroidSerif-Regular.ttf \
+      DroidSans.ttf \
+      DroidSerif-Bold.ttf \
+      DroidSansMono.ttf \
+      DroidSerif-BoldItalic.ttf \
+      DroidSerif-Italic.ttf \
+
+
+  SHARED_FONTS_SRC := $(foreach F, $(SHARED_FONTS_FILES), $(SHARED_FONTS_SRC_DIR)/$(F))
+  SHARED_FONTS_DST := $(foreach F, $(SHARED_FONTS_FILES), $(SHARED_FONTS_DST_DIR)/$(F))
+
+  $(SHARED_FONTS_DST_DIR)/%.ttf: $(SHARED_FONTS_SRC_DIR)/%.ttf
+	$(call install-file)
+
+  $(SHARED_FONTS_DST_DIR)/fonts.dir: $(JDK_TOPDIR)/src/share/lib/fonts/fonts.dir
+	$(call install-file)
+
+  $(SHARED_FONTS_DST_DIR)/LICENSE.txt: $(JDK_TOPDIR)/src/share/lib/fonts/LICENSE.txt
+	$(call install-file)
+
+  COPY_FILES += $(SHARED_FONTS_DST)
+
+  ifneq ($(OPENJDK_TARGET_OS), windows)
+    COPY_FILES += $(SHARED_FONTS_DST_DIR)/fonts.dir
+  endif
+
+  COPY_FILES += $(SHARED_FONTS_DST_DIR)/LICENSE.txt
+
 endif # OPENJDK
 
 ##########################################################################################
diff --git a/make/gendata/GendataFontConfig.gmk b/make/gendata/GendataFontConfig.gmk
index 35b502d..5ac2425 100644
--- a/make/gendata/GendataFontConfig.gmk
+++ b/make/gendata/GendataFontConfig.gmk
@@ -38,7 +38,8 @@
         $(JDK_TOPDIR)/src/solaris/classes/sun/awt/fontconfigs
     # This is placeholder for possible fonconfig files which may
     # useful for some highly specialized Linux distributions
-    GENDATA_FONT_CONFIG_SRC_FILES :=
+    GENDATA_FONT_CONFIG_SRC_FILES := fontconfig.properties
+    GENDATA_FONT_CONFIG_SRC_PREFIX := linux.
   else
     GENDATA_FONT_CONFIG_SRC_DIR := \
         $(JDK_TOPDIR)/src/closed/solaris/classes/sun/awt/fontconfigs
diff --git a/src/share/classes/sun/font/FontUtilities.java b/src/share/classes/sun/font/FontUtilities.java
index 04a4f9f..b6fc413 100644
--- a/src/share/classes/sun/font/FontUtilities.java
+++ b/src/share/classes/sun/font/FontUtilities.java
@@ -64,6 +64,8 @@
 
     static final String LUCIDA_FILE_NAME = "LucidaSansRegular.ttf";
 
+    static final String DROID_FILE_NAME = "DroidSans.ttf";
+
     private static boolean debugFonts = false;
     private static PlatformLogger logger = null;
     private static boolean logging;
diff --git a/src/share/classes/sun/font/SunFontManager.java b/src/share/classes/sun/font/SunFontManager.java
index ec6b4d8..a8ffd54 100644
--- a/src/share/classes/sun/font/SunFontManager.java
+++ b/src/share/classes/sun/font/SunFontManager.java
@@ -188,11 +188,12 @@
     boolean loadedAllFonts = false;
     boolean loadedAllFontFiles = false;
     HashMap<String,String> jreFontMap;
-    HashSet<String> jreLucidaFontFiles;
+    HashSet<String> jreBundledFontFiles;
     String[] jreOtherFontFiles;
     boolean noOtherJREFontFiles = false; // initial assumption.
 
     public static final String lucidaFontName = "Lucida Sans Regular";
+    public static final String droidFontName = "Droid Sans";
     public static String jreLibDirName;
     public static String jreFontDirName;
     private static HashSet<String> missingFontFiles = null;
@@ -278,55 +279,72 @@
          * no evidence they are useful in practice.
          */
         jreFontMap = new HashMap<String,String>();
-        jreLucidaFontFiles = new HashSet<String>();
+        jreBundledFontFiles = new HashSet<String>();
         if (isOpenJDK()) {
-            return;
+            jreFontMap.put("droid sans0",   "DroidSans.ttf");
+            jreFontMap.put("droid sans1",   "DroidSans-Bold.ttf");
+        /* Droid Sans full names (map Bold and DemiBold to same file) */
+            jreFontMap.put("droid sans regular0", "DroidSans.ttf");
+            jreFontMap.put("droid sans regular1", "DroidSans-Bold.ttf");
+            jreFontMap.put("droid sans bold1", "DroidSans-Bold.ttf");
+            jreFontMap.put("droid sans demibold1", "DroidSans-Bold.ttf");
+
+        /* Droid Sans Mono Family */
+            jreFontMap.put("droid sans mono0", "DroidSansMono.ttf");
+            jreFontMap.put("droid sans mono1", "DroidSansMono.ttf");
+        /* Mono full names (map Bold and DemiBold to same file) */
+            jreFontMap.put("droid sans mono regular0", "DroidSansMono.ttf");
+            jreFontMap.put("droid sans mono regular1", "DroidSansMono.ttf");
+            jreFontMap.put("droid sans mono bold1", "DroidSansMono.ttf");
+            jreFontMap.put("droid sans mono demibold1", "DroidSansMono.ttf");
         }
+        else {
         /* Lucida Sans Family */
-        jreFontMap.put("lucida sans0",   "LucidaSansRegular.ttf");
-        jreFontMap.put("lucida sans1",   "LucidaSansDemiBold.ttf");
+            jreFontMap.put("lucida sans0", "LucidaSansRegular.ttf");
+            jreFontMap.put("lucida sans1", "LucidaSansDemiBold.ttf");
         /* Lucida Sans full names (map Bold and DemiBold to same file) */
-        jreFontMap.put("lucida sans regular0", "LucidaSansRegular.ttf");
-        jreFontMap.put("lucida sans regular1", "LucidaSansDemiBold.ttf");
-        jreFontMap.put("lucida sans bold1", "LucidaSansDemiBold.ttf");
-        jreFontMap.put("lucida sans demibold1", "LucidaSansDemiBold.ttf");
+            jreFontMap.put("lucida sans regular0", "LucidaSansRegular.ttf");
+            jreFontMap.put("lucida sans regular1", "LucidaSansDemiBold.ttf");
+            jreFontMap.put("lucida sans bold1", "LucidaSansDemiBold.ttf");
+            jreFontMap.put("lucida sans demibold1", "LucidaSansDemiBold.ttf");
 
         /* Lucida Sans Typewriter Family */
-        jreFontMap.put("lucida sans typewriter0",
-                       "LucidaTypewriterRegular.ttf");
-        jreFontMap.put("lucida sans typewriter1", "LucidaTypewriterBold.ttf");
+            jreFontMap.put("lucida sans typewriter0",
+                    "LucidaTypewriterRegular.ttf");
+            jreFontMap.put("lucida sans typewriter1", "LucidaTypewriterBold.ttf");
         /* Typewriter full names (map Bold and DemiBold to same file) */
-        jreFontMap.put("lucida sans typewriter regular0",
-                       "LucidaTypewriter.ttf");
-        jreFontMap.put("lucida sans typewriter regular1",
-                       "LucidaTypewriterBold.ttf");
-        jreFontMap.put("lucida sans typewriter bold1",
-                       "LucidaTypewriterBold.ttf");
-        jreFontMap.put("lucida sans typewriter demibold1",
-                       "LucidaTypewriterBold.ttf");
+            jreFontMap.put("lucida sans typewriter regular0",
+                    "LucidaTypewriter.ttf");
+            jreFontMap.put("lucida sans typewriter regular1",
+                    "LucidaTypewriterBold.ttf");
+            jreFontMap.put("lucida sans typewriter bold1",
+                    "LucidaTypewriterBold.ttf");
+            jreFontMap.put("lucida sans typewriter demibold1",
+                    "LucidaTypewriterBold.ttf");
 
         /* Lucida Bright Family */
-        jreFontMap.put("lucida bright0", "LucidaBrightRegular.ttf");
-        jreFontMap.put("lucida bright1", "LucidaBrightDemiBold.ttf");
-        jreFontMap.put("lucida bright2", "LucidaBrightItalic.ttf");
-        jreFontMap.put("lucida bright3", "LucidaBrightDemiItalic.ttf");
+            jreFontMap.put("lucida bright0", "LucidaBrightRegular.ttf");
+            jreFontMap.put("lucida bright1", "LucidaBrightDemiBold.ttf");
+            jreFontMap.put("lucida bright2", "LucidaBrightItalic.ttf");
+            jreFontMap.put("lucida bright3", "LucidaBrightDemiItalic.ttf");
         /* Lucida Bright full names (map Bold and DemiBold to same file) */
-        jreFontMap.put("lucida bright regular0", "LucidaBrightRegular.ttf");
-        jreFontMap.put("lucida bright regular1", "LucidaBrightDemiBold.ttf");
-        jreFontMap.put("lucida bright regular2", "LucidaBrightItalic.ttf");
-        jreFontMap.put("lucida bright regular3", "LucidaBrightDemiItalic.ttf");
-        jreFontMap.put("lucida bright bold1", "LucidaBrightDemiBold.ttf");
-        jreFontMap.put("lucida bright bold3", "LucidaBrightDemiItalic.ttf");
-        jreFontMap.put("lucida bright demibold1", "LucidaBrightDemiBold.ttf");
-        jreFontMap.put("lucida bright demibold3","LucidaBrightDemiItalic.ttf");
-        jreFontMap.put("lucida bright italic2", "LucidaBrightItalic.ttf");
-        jreFontMap.put("lucida bright italic3", "LucidaBrightDemiItalic.ttf");
-        jreFontMap.put("lucida bright bold italic3",
-                       "LucidaBrightDemiItalic.ttf");
-        jreFontMap.put("lucida bright demibold italic3",
-                       "LucidaBrightDemiItalic.ttf");
+            jreFontMap.put("lucida bright regular0", "LucidaBrightRegular.ttf");
+            jreFontMap.put("lucida bright regular1", "LucidaBrightDemiBold.ttf");
+            jreFontMap.put("lucida bright regular2", "LucidaBrightItalic.ttf");
+            jreFontMap.put("lucida bright regular3", "LucidaBrightDemiItalic.ttf");
+            jreFontMap.put("lucida bright bold1", "LucidaBrightDemiBold.ttf");
+            jreFontMap.put("lucida bright bold3", "LucidaBrightDemiItalic.ttf");
+            jreFontMap.put("lucida bright demibold1", "LucidaBrightDemiBold.ttf");
+            jreFontMap.put("lucida bright demibold3", "LucidaBrightDemiItalic.ttf");
+            jreFontMap.put("lucida bright italic2", "LucidaBrightItalic.ttf");
+            jreFontMap.put("lucida bright italic3", "LucidaBrightDemiItalic.ttf");
+            jreFontMap.put("lucida bright bold italic3",
+                    "LucidaBrightDemiItalic.ttf");
+            jreFontMap.put("lucida bright demibold italic3",
+                    "LucidaBrightDemiItalic.ttf");
+        }
         for (String ffile : jreFontMap.values()) {
-            jreLucidaFontFiles.add(ffile);
+            jreBundledFontFiles.add(ffile);
         }
     }
 
@@ -353,8 +371,6 @@
                jreLibDirName =
                    System.getProperty("java.home","") + File.separator + "lib";
                jreFontDirName = jreLibDirName + File.separator + "fonts";
-               File lucidaFile =
-                   new File(jreFontDirName + File.separator + FontUtilities.LUCIDA_FILE_NAME);
 
                return null;
            }
@@ -429,11 +445,6 @@
                          * that might be specified.
                          */
                         fontConfig = createFontConfiguration();
-                        if (isOpenJDK()) {
-                            String[] fontInfo = getDefaultPlatformFont();
-                            defaultFontName = fontInfo[0];
-                            defaultFontFileName = fontInfo[1];
-                        }
 
                         String extraFontPath = fontConfig.getExtraFontPath();
 
@@ -981,7 +992,7 @@
         if (noOtherJREFontFiles) {
             return null;
         }
-        synchronized (jreLucidaFontFiles) {
+        synchronized (jreBundledFontFiles) {
             if (jreOtherFontFiles == null) {
                 HashSet<String> otherFontFiles = new HashSet<String>();
                 for (String deferredFile : deferredFontFiles.keySet()) {
@@ -993,7 +1004,7 @@
                      */
                     if (dir == null ||
                         !dir.equals(jreFontDirName) ||
-                        jreLucidaFontFiles.contains(fname)) {
+                        jreBundledFontFiles.contains(fname)) {
                         continue;
                     }
                     otherFontFiles.add(deferredFile);
@@ -1031,7 +1042,7 @@
             String fname = file.getName();
             if (dir != null &&
                 dir.equals(jreFontDirName) &&
-                jreLucidaFontFiles.contains(fname)) {
+                jreBundledFontFiles.contains(fname)) {
                 continue;
             }
             PhysicalFont physicalFont = initialiseDeferredFont(fileName);
@@ -3394,6 +3405,15 @@
                 defaultFontFileName = FontUtilities.LUCIDA_FILE_NAME;
             }
         }
+        else {
+            defaultFontName = droidFontName;
+            if (useAbsoluteFontFileNames()) {
+                defaultFontFileName =
+                        jreFontDirName + File.separator + FontUtilities.DROID_FILE_NAME;
+            } else {
+                defaultFontFileName = FontUtilities.DROID_FILE_NAME;
+            }
+        }
     }
 
     /**
diff --git a/src/share/lib/fonts/DroidSans-Bold.ttf b/src/share/lib/fonts/DroidSans-Bold.ttf
new file mode 100644
index 0000000..d065b64
--- /dev/null
+++ b/src/share/lib/fonts/DroidSans-Bold.ttf
Binary files differ
diff --git a/src/share/lib/fonts/DroidSans.ttf b/src/share/lib/fonts/DroidSans.ttf
new file mode 100644
index 0000000..ad1efca
--- /dev/null
+++ b/src/share/lib/fonts/DroidSans.ttf
Binary files differ
diff --git a/src/share/lib/fonts/DroidSansMono.ttf b/src/share/lib/fonts/DroidSansMono.ttf
new file mode 100644
index 0000000..a007071
--- /dev/null
+++ b/src/share/lib/fonts/DroidSansMono.ttf
Binary files differ
diff --git a/src/share/lib/fonts/DroidSansMonoDotted.ttf b/src/share/lib/fonts/DroidSansMonoDotted.ttf
new file mode 100644
index 0000000..e56a5ca
--- /dev/null
+++ b/src/share/lib/fonts/DroidSansMonoDotted.ttf
Binary files differ
diff --git a/src/share/lib/fonts/DroidSansMonoSlashed.ttf b/src/share/lib/fonts/DroidSansMonoSlashed.ttf
new file mode 100644
index 0000000..8c44b47
--- /dev/null
+++ b/src/share/lib/fonts/DroidSansMonoSlashed.ttf
Binary files differ
diff --git a/src/share/lib/fonts/DroidSerif-Bold.ttf b/src/share/lib/fonts/DroidSerif-Bold.ttf
new file mode 100644
index 0000000..838d255
--- /dev/null
+++ b/src/share/lib/fonts/DroidSerif-Bold.ttf
Binary files differ
diff --git a/src/share/lib/fonts/DroidSerif-BoldItalic.ttf b/src/share/lib/fonts/DroidSerif-BoldItalic.ttf
new file mode 100644
index 0000000..0b1601f
--- /dev/null
+++ b/src/share/lib/fonts/DroidSerif-BoldItalic.ttf
Binary files differ
diff --git a/src/share/lib/fonts/DroidSerif-Italic.ttf b/src/share/lib/fonts/DroidSerif-Italic.ttf
new file mode 100644
index 0000000..2972809
--- /dev/null
+++ b/src/share/lib/fonts/DroidSerif-Italic.ttf
Binary files differ
diff --git a/src/share/lib/fonts/DroidSerif-Regular.ttf b/src/share/lib/fonts/DroidSerif-Regular.ttf
new file mode 100644
index 0000000..5b4fe81
--- /dev/null
+++ b/src/share/lib/fonts/DroidSerif-Regular.ttf
Binary files differ
diff --git a/src/share/lib/fonts/LICENSE.txt b/src/share/lib/fonts/LICENSE.txt
new file mode 100644
index 0000000..a4a4b17
--- /dev/null
+++ b/src/share/lib/fonts/LICENSE.txt
@@ -0,0 +1,13 @@
+Copyright 2000-2016 JetBrains s.r.o.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
diff --git a/src/share/lib/fonts/fonts.dir b/src/share/lib/fonts/fonts.dir
new file mode 100644
index 0000000..1344314
--- /dev/null
+++ b/src/share/lib/fonts/fonts.dir
@@ -0,0 +1,170 @@
+169
+DroidSans-Bold.ttf -misc-droid sans-bold-r-normal--0-0-0-0-p-0-adobe-standard
+DroidSans-Bold.ttf -misc-droid sans-bold-r-normal--0-0-0-0-p-0-ascii-0
+DroidSans-Bold.ttf -misc-droid sans-bold-r-normal--0-0-0-0-p-0-iso10646-1
+DroidSans-Bold.ttf -misc-droid sans-bold-r-normal--0-0-0-0-p-0-iso8859-1
+DroidSans-Bold.ttf -misc-droid sans-bold-r-normal--0-0-0-0-p-0-iso8859-10
+DroidSans-Bold.ttf -misc-droid sans-bold-r-normal--0-0-0-0-p-0-iso8859-13
+DroidSans-Bold.ttf -misc-droid sans-bold-r-normal--0-0-0-0-p-0-iso8859-15
+DroidSans-Bold.ttf -misc-droid sans-bold-r-normal--0-0-0-0-p-0-iso8859-16
+DroidSans-Bold.ttf -misc-droid sans-bold-r-normal--0-0-0-0-p-0-iso8859-2
+DroidSans-Bold.ttf -misc-droid sans-bold-r-normal--0-0-0-0-p-0-iso8859-3
+DroidSans-Bold.ttf -misc-droid sans-bold-r-normal--0-0-0-0-p-0-iso8859-4
+DroidSans-Bold.ttf -misc-droid sans-bold-r-normal--0-0-0-0-p-0-iso8859-5
+DroidSans-Bold.ttf -misc-droid sans-bold-r-normal--0-0-0-0-p-0-iso8859-9
+DroidSans-Bold.ttf -misc-droid sans-bold-r-normal--0-0-0-0-p-0-koi8-e
+DroidSans-Bold.ttf -misc-droid sans-bold-r-normal--0-0-0-0-p-0-koi8-r
+DroidSans-Bold.ttf -misc-droid sans-bold-r-normal--0-0-0-0-p-0-koi8-ru
+DroidSans-Bold.ttf -misc-droid sans-bold-r-normal--0-0-0-0-p-0-koi8-u
+DroidSans-Bold.ttf -misc-droid sans-bold-r-normal--0-0-0-0-p-0-koi8-uni
+DroidSans-Bold.ttf -misc-droid sans-bold-r-normal--0-0-0-0-p-0-microsoft-cp1252
+DroidSans.ttf -misc-droid sans-medium-r-normal--0-0-0-0-p-0-adobe-standard
+DroidSans.ttf -misc-droid sans-medium-r-normal--0-0-0-0-p-0-ascii-0
+DroidSans.ttf -misc-droid sans-medium-r-normal--0-0-0-0-p-0-iso10646-1
+DroidSans.ttf -misc-droid sans-medium-r-normal--0-0-0-0-p-0-iso8859-1
+DroidSans.ttf -misc-droid sans-medium-r-normal--0-0-0-0-p-0-iso8859-10
+DroidSans.ttf -misc-droid sans-medium-r-normal--0-0-0-0-p-0-iso8859-13
+DroidSans.ttf -misc-droid sans-medium-r-normal--0-0-0-0-p-0-iso8859-15
+DroidSans.ttf -misc-droid sans-medium-r-normal--0-0-0-0-p-0-iso8859-16
+DroidSans.ttf -misc-droid sans-medium-r-normal--0-0-0-0-p-0-iso8859-2
+DroidSans.ttf -misc-droid sans-medium-r-normal--0-0-0-0-p-0-iso8859-3
+DroidSans.ttf -misc-droid sans-medium-r-normal--0-0-0-0-p-0-iso8859-4
+DroidSans.ttf -misc-droid sans-medium-r-normal--0-0-0-0-p-0-iso8859-5
+DroidSans.ttf -misc-droid sans-medium-r-normal--0-0-0-0-p-0-iso8859-9
+DroidSans.ttf -misc-droid sans-medium-r-normal--0-0-0-0-p-0-koi8-e
+DroidSans.ttf -misc-droid sans-medium-r-normal--0-0-0-0-p-0-koi8-r
+DroidSans.ttf -misc-droid sans-medium-r-normal--0-0-0-0-p-0-koi8-ru
+DroidSans.ttf -misc-droid sans-medium-r-normal--0-0-0-0-p-0-koi8-u
+DroidSans.ttf -misc-droid sans-medium-r-normal--0-0-0-0-p-0-koi8-uni
+DroidSans.ttf -misc-droid sans-medium-r-normal--0-0-0-0-p-0-microsoft-cp1252
+DroidSansMono.ttf -misc-droid sans mono-medium-r-normal--0-0-0-0-m-0-adobe-standard
+DroidSansMono.ttf -misc-droid sans mono-medium-r-normal--0-0-0-0-m-0-ascii-0
+DroidSansMono.ttf -misc-droid sans mono-medium-r-normal--0-0-0-0-m-0-iso10646-1
+DroidSansMono.ttf -misc-droid sans mono-medium-r-normal--0-0-0-0-m-0-iso8859-1
+DroidSansMono.ttf -misc-droid sans mono-medium-r-normal--0-0-0-0-m-0-iso8859-10
+DroidSansMono.ttf -misc-droid sans mono-medium-r-normal--0-0-0-0-m-0-iso8859-13
+DroidSansMono.ttf -misc-droid sans mono-medium-r-normal--0-0-0-0-m-0-iso8859-15
+DroidSansMono.ttf -misc-droid sans mono-medium-r-normal--0-0-0-0-m-0-iso8859-16
+DroidSansMono.ttf -misc-droid sans mono-medium-r-normal--0-0-0-0-m-0-iso8859-2
+DroidSansMono.ttf -misc-droid sans mono-medium-r-normal--0-0-0-0-m-0-iso8859-3
+DroidSansMono.ttf -misc-droid sans mono-medium-r-normal--0-0-0-0-m-0-iso8859-4
+DroidSansMono.ttf -misc-droid sans mono-medium-r-normal--0-0-0-0-m-0-iso8859-5
+DroidSansMono.ttf -misc-droid sans mono-medium-r-normal--0-0-0-0-m-0-iso8859-9
+DroidSansMono.ttf -misc-droid sans mono-medium-r-normal--0-0-0-0-m-0-koi8-e
+DroidSansMono.ttf -misc-droid sans mono-medium-r-normal--0-0-0-0-m-0-koi8-r
+DroidSansMono.ttf -misc-droid sans mono-medium-r-normal--0-0-0-0-m-0-koi8-ru
+DroidSansMono.ttf -misc-droid sans mono-medium-r-normal--0-0-0-0-m-0-koi8-u
+DroidSansMono.ttf -misc-droid sans mono-medium-r-normal--0-0-0-0-m-0-koi8-uni
+DroidSansMono.ttf -misc-droid sans mono-medium-r-normal--0-0-0-0-m-0-microsoft-cp1252
+DroidSansMonoDotted.ttf -misc-droid sans mono dotted-medium-r-normal--0-0-0-0-m-0-adobe-standard
+DroidSansMonoDotted.ttf -misc-droid sans mono dotted-medium-r-normal--0-0-0-0-m-0-ascii-0
+DroidSansMonoDotted.ttf -misc-droid sans mono dotted-medium-r-normal--0-0-0-0-m-0-iso10646-1
+DroidSansMonoDotted.ttf -misc-droid sans mono dotted-medium-r-normal--0-0-0-0-m-0-iso8859-1
+DroidSansMonoDotted.ttf -misc-droid sans mono dotted-medium-r-normal--0-0-0-0-m-0-iso8859-10
+DroidSansMonoDotted.ttf -misc-droid sans mono dotted-medium-r-normal--0-0-0-0-m-0-iso8859-13
+DroidSansMonoDotted.ttf -misc-droid sans mono dotted-medium-r-normal--0-0-0-0-m-0-iso8859-15
+DroidSansMonoDotted.ttf -misc-droid sans mono dotted-medium-r-normal--0-0-0-0-m-0-iso8859-2
+DroidSansMonoDotted.ttf -misc-droid sans mono dotted-medium-r-normal--0-0-0-0-m-0-iso8859-3
+DroidSansMonoDotted.ttf -misc-droid sans mono dotted-medium-r-normal--0-0-0-0-m-0-iso8859-4
+DroidSansMonoDotted.ttf -misc-droid sans mono dotted-medium-r-normal--0-0-0-0-m-0-iso8859-5
+DroidSansMonoDotted.ttf -misc-droid sans mono dotted-medium-r-normal--0-0-0-0-m-0-iso8859-9
+DroidSansMonoDotted.ttf -misc-droid sans mono dotted-medium-r-normal--0-0-0-0-m-0-koi8-e
+DroidSansMonoDotted.ttf -misc-droid sans mono dotted-medium-r-normal--0-0-0-0-m-0-koi8-r
+DroidSansMonoDotted.ttf -misc-droid sans mono dotted-medium-r-normal--0-0-0-0-m-0-koi8-ru
+DroidSansMonoDotted.ttf -misc-droid sans mono dotted-medium-r-normal--0-0-0-0-m-0-koi8-u
+DroidSansMonoDotted.ttf -misc-droid sans mono dotted-medium-r-normal--0-0-0-0-m-0-koi8-uni
+DroidSansMonoDotted.ttf -misc-droid sans mono dotted-medium-r-normal--0-0-0-0-m-0-microsoft-cp1252
+DroidSansMonoSlashed.ttf -misc-droid sans mono slashed-medium-r-normal--0-0-0-0-m-0-adobe-standard
+DroidSansMonoSlashed.ttf -misc-droid sans mono slashed-medium-r-normal--0-0-0-0-m-0-ascii-0
+DroidSansMonoSlashed.ttf -misc-droid sans mono slashed-medium-r-normal--0-0-0-0-m-0-iso10646-1
+DroidSansMonoSlashed.ttf -misc-droid sans mono slashed-medium-r-normal--0-0-0-0-m-0-iso8859-1
+DroidSansMonoSlashed.ttf -misc-droid sans mono slashed-medium-r-normal--0-0-0-0-m-0-iso8859-10
+DroidSansMonoSlashed.ttf -misc-droid sans mono slashed-medium-r-normal--0-0-0-0-m-0-iso8859-13
+DroidSansMonoSlashed.ttf -misc-droid sans mono slashed-medium-r-normal--0-0-0-0-m-0-iso8859-15
+DroidSansMonoSlashed.ttf -misc-droid sans mono slashed-medium-r-normal--0-0-0-0-m-0-iso8859-2
+DroidSansMonoSlashed.ttf -misc-droid sans mono slashed-medium-r-normal--0-0-0-0-m-0-iso8859-3
+DroidSansMonoSlashed.ttf -misc-droid sans mono slashed-medium-r-normal--0-0-0-0-m-0-iso8859-4
+DroidSansMonoSlashed.ttf -misc-droid sans mono slashed-medium-r-normal--0-0-0-0-m-0-iso8859-5
+DroidSansMonoSlashed.ttf -misc-droid sans mono slashed-medium-r-normal--0-0-0-0-m-0-iso8859-9
+DroidSansMonoSlashed.ttf -misc-droid sans mono slashed-medium-r-normal--0-0-0-0-m-0-koi8-e
+DroidSansMonoSlashed.ttf -misc-droid sans mono slashed-medium-r-normal--0-0-0-0-m-0-koi8-r
+DroidSansMonoSlashed.ttf -misc-droid sans mono slashed-medium-r-normal--0-0-0-0-m-0-koi8-ru
+DroidSansMonoSlashed.ttf -misc-droid sans mono slashed-medium-r-normal--0-0-0-0-m-0-koi8-u
+DroidSansMonoSlashed.ttf -misc-droid sans mono slashed-medium-r-normal--0-0-0-0-m-0-koi8-uni
+DroidSansMonoSlashed.ttf -misc-droid sans mono slashed-medium-r-normal--0-0-0-0-m-0-microsoft-cp1252
+DroidSerif-Bold.ttf -misc-droid serif-bold-r-normal--0-0-0-0-p-0-adobe-standard
+DroidSerif-Bold.ttf -misc-droid serif-bold-r-normal--0-0-0-0-p-0-ascii-0
+DroidSerif-Bold.ttf -misc-droid serif-bold-r-normal--0-0-0-0-p-0-iso10646-1
+DroidSerif-Bold.ttf -misc-droid serif-bold-r-normal--0-0-0-0-p-0-iso8859-1
+DroidSerif-Bold.ttf -misc-droid serif-bold-r-normal--0-0-0-0-p-0-iso8859-10
+DroidSerif-Bold.ttf -misc-droid serif-bold-r-normal--0-0-0-0-p-0-iso8859-13
+DroidSerif-Bold.ttf -misc-droid serif-bold-r-normal--0-0-0-0-p-0-iso8859-15
+DroidSerif-Bold.ttf -misc-droid serif-bold-r-normal--0-0-0-0-p-0-iso8859-16
+DroidSerif-Bold.ttf -misc-droid serif-bold-r-normal--0-0-0-0-p-0-iso8859-2
+DroidSerif-Bold.ttf -misc-droid serif-bold-r-normal--0-0-0-0-p-0-iso8859-3
+DroidSerif-Bold.ttf -misc-droid serif-bold-r-normal--0-0-0-0-p-0-iso8859-4
+DroidSerif-Bold.ttf -misc-droid serif-bold-r-normal--0-0-0-0-p-0-iso8859-5
+DroidSerif-Bold.ttf -misc-droid serif-bold-r-normal--0-0-0-0-p-0-iso8859-9
+DroidSerif-Bold.ttf -misc-droid serif-bold-r-normal--0-0-0-0-p-0-koi8-e
+DroidSerif-Bold.ttf -misc-droid serif-bold-r-normal--0-0-0-0-p-0-koi8-r
+DroidSerif-Bold.ttf -misc-droid serif-bold-r-normal--0-0-0-0-p-0-koi8-ru
+DroidSerif-Bold.ttf -misc-droid serif-bold-r-normal--0-0-0-0-p-0-koi8-u
+DroidSerif-Bold.ttf -misc-droid serif-bold-r-normal--0-0-0-0-p-0-koi8-uni
+DroidSerif-Bold.ttf -misc-droid serif-bold-r-normal--0-0-0-0-p-0-microsoft-cp1252
+DroidSerif-BoldItalic.ttf -misc-droid serif-bold-i-normal--0-0-0-0-p-0-adobe-standard
+DroidSerif-BoldItalic.ttf -misc-droid serif-bold-i-normal--0-0-0-0-p-0-ascii-0
+DroidSerif-BoldItalic.ttf -misc-droid serif-bold-i-normal--0-0-0-0-p-0-iso10646-1
+DroidSerif-BoldItalic.ttf -misc-droid serif-bold-i-normal--0-0-0-0-p-0-iso8859-1
+DroidSerif-BoldItalic.ttf -misc-droid serif-bold-i-normal--0-0-0-0-p-0-iso8859-10
+DroidSerif-BoldItalic.ttf -misc-droid serif-bold-i-normal--0-0-0-0-p-0-iso8859-13
+DroidSerif-BoldItalic.ttf -misc-droid serif-bold-i-normal--0-0-0-0-p-0-iso8859-15
+DroidSerif-BoldItalic.ttf -misc-droid serif-bold-i-normal--0-0-0-0-p-0-iso8859-16
+DroidSerif-BoldItalic.ttf -misc-droid serif-bold-i-normal--0-0-0-0-p-0-iso8859-2
+DroidSerif-BoldItalic.ttf -misc-droid serif-bold-i-normal--0-0-0-0-p-0-iso8859-3
+DroidSerif-BoldItalic.ttf -misc-droid serif-bold-i-normal--0-0-0-0-p-0-iso8859-4
+DroidSerif-BoldItalic.ttf -misc-droid serif-bold-i-normal--0-0-0-0-p-0-iso8859-5
+DroidSerif-BoldItalic.ttf -misc-droid serif-bold-i-normal--0-0-0-0-p-0-iso8859-9
+DroidSerif-BoldItalic.ttf -misc-droid serif-bold-i-normal--0-0-0-0-p-0-koi8-e
+DroidSerif-BoldItalic.ttf -misc-droid serif-bold-i-normal--0-0-0-0-p-0-koi8-r
+DroidSerif-BoldItalic.ttf -misc-droid serif-bold-i-normal--0-0-0-0-p-0-koi8-ru
+DroidSerif-BoldItalic.ttf -misc-droid serif-bold-i-normal--0-0-0-0-p-0-koi8-u
+DroidSerif-BoldItalic.ttf -misc-droid serif-bold-i-normal--0-0-0-0-p-0-koi8-uni
+DroidSerif-BoldItalic.ttf -misc-droid serif-bold-i-normal--0-0-0-0-p-0-microsoft-cp1252
+DroidSerif-Italic.ttf -misc-droid serif-medium-i-normal--0-0-0-0-p-0-adobe-standard
+DroidSerif-Italic.ttf -misc-droid serif-medium-i-normal--0-0-0-0-p-0-ascii-0
+DroidSerif-Italic.ttf -misc-droid serif-medium-i-normal--0-0-0-0-p-0-iso10646-1
+DroidSerif-Italic.ttf -misc-droid serif-medium-i-normal--0-0-0-0-p-0-iso8859-1
+DroidSerif-Italic.ttf -misc-droid serif-medium-i-normal--0-0-0-0-p-0-iso8859-10
+DroidSerif-Italic.ttf -misc-droid serif-medium-i-normal--0-0-0-0-p-0-iso8859-13
+DroidSerif-Italic.ttf -misc-droid serif-medium-i-normal--0-0-0-0-p-0-iso8859-15
+DroidSerif-Italic.ttf -misc-droid serif-medium-i-normal--0-0-0-0-p-0-iso8859-16
+DroidSerif-Italic.ttf -misc-droid serif-medium-i-normal--0-0-0-0-p-0-iso8859-2
+DroidSerif-Italic.ttf -misc-droid serif-medium-i-normal--0-0-0-0-p-0-iso8859-3
+DroidSerif-Italic.ttf -misc-droid serif-medium-i-normal--0-0-0-0-p-0-iso8859-4
+DroidSerif-Italic.ttf -misc-droid serif-medium-i-normal--0-0-0-0-p-0-iso8859-5
+DroidSerif-Italic.ttf -misc-droid serif-medium-i-normal--0-0-0-0-p-0-iso8859-9
+DroidSerif-Italic.ttf -misc-droid serif-medium-i-normal--0-0-0-0-p-0-koi8-e
+DroidSerif-Italic.ttf -misc-droid serif-medium-i-normal--0-0-0-0-p-0-koi8-r
+DroidSerif-Italic.ttf -misc-droid serif-medium-i-normal--0-0-0-0-p-0-koi8-ru
+DroidSerif-Italic.ttf -misc-droid serif-medium-i-normal--0-0-0-0-p-0-koi8-u
+DroidSerif-Italic.ttf -misc-droid serif-medium-i-normal--0-0-0-0-p-0-koi8-uni
+DroidSerif-Italic.ttf -misc-droid serif-medium-i-normal--0-0-0-0-p-0-microsoft-cp1252
+DroidSerif-Regular.ttf -misc-droid serif-medium-r-normal--0-0-0-0-p-0-adobe-standard
+DroidSerif-Regular.ttf -misc-droid serif-medium-r-normal--0-0-0-0-p-0-ascii-0
+DroidSerif-Regular.ttf -misc-droid serif-medium-r-normal--0-0-0-0-p-0-iso10646-1
+DroidSerif-Regular.ttf -misc-droid serif-medium-r-normal--0-0-0-0-p-0-iso8859-1
+DroidSerif-Regular.ttf -misc-droid serif-medium-r-normal--0-0-0-0-p-0-iso8859-10
+DroidSerif-Regular.ttf -misc-droid serif-medium-r-normal--0-0-0-0-p-0-iso8859-13
+DroidSerif-Regular.ttf -misc-droid serif-medium-r-normal--0-0-0-0-p-0-iso8859-15
+DroidSerif-Regular.ttf -misc-droid serif-medium-r-normal--0-0-0-0-p-0-iso8859-16
+DroidSerif-Regular.ttf -misc-droid serif-medium-r-normal--0-0-0-0-p-0-iso8859-2
+DroidSerif-Regular.ttf -misc-droid serif-medium-r-normal--0-0-0-0-p-0-iso8859-3
+DroidSerif-Regular.ttf -misc-droid serif-medium-r-normal--0-0-0-0-p-0-iso8859-4
+DroidSerif-Regular.ttf -misc-droid serif-medium-r-normal--0-0-0-0-p-0-iso8859-5
+DroidSerif-Regular.ttf -misc-droid serif-medium-r-normal--0-0-0-0-p-0-iso8859-9
+DroidSerif-Regular.ttf -misc-droid serif-medium-r-normal--0-0-0-0-p-0-koi8-e
+DroidSerif-Regular.ttf -misc-droid serif-medium-r-normal--0-0-0-0-p-0-koi8-r
+DroidSerif-Regular.ttf -misc-droid serif-medium-r-normal--0-0-0-0-p-0-koi8-ru
+DroidSerif-Regular.ttf -misc-droid serif-medium-r-normal--0-0-0-0-p-0-koi8-u
+DroidSerif-Regular.ttf -misc-droid serif-medium-r-normal--0-0-0-0-p-0-koi8-uni
+DroidSerif-Regular.ttf -misc-droid serif-medium-r-normal--0-0-0-0-p-0-microsoft-cp1252
diff --git a/src/solaris/classes/sun/awt/fontconfigs/linux.fontconfig.properties b/src/solaris/classes/sun/awt/fontconfigs/linux.fontconfig.properties
new file mode 100644
index 0000000..cb8a536
--- /dev/null
+++ b/src/solaris/classes/sun/awt/fontconfigs/linux.fontconfig.properties
@@ -0,0 +1,42 @@
+# Version
+
+version=1
+
+# Component Font Mappings
+
+
+serif.plain.latin-1=-b&h-droidserif-medium-r-normal--*-%d-*-*-p-*-iso8859-1
+serif.bold.latin-1=-b&h-droidserif-demibold-r-normal--*-%d-*-*-p-*-iso8859-1
+serif.italic.latin-1=-b&h-droidserif-medium-i-normal--*-%d-*-*-p-*-iso8859-1
+serif.bolditalic.latin-1=-b&h-droidserif-demibold-i-normal--*-%d-*-*-p-*-iso8859-1
+
+sansserif.plain.latin-1=-b&h-droidsans-medium-r-normal-sans-*-%d-*-*-p-*-iso8859-1
+sansserif.bold.latin-1=-b&h-droidsans-bold-r-normal-sans-*-%d-*-*-p-*-iso8859-1
+sansserif.italic.latin-1=-b&h-droidsans-medium-i-normal-sans-*-%d-*-*-p-*-iso8859-1
+sansserif.bolditalic.latin-1=-b&h-droidsans-bold-i-normal-sans-*-%d-*-*-p-*-iso8859-1
+
+monospaced.plain.latin-1=-b&h-droidsansmono-medium-r-normal-sans-*-%d-*-*-m-*-iso8859-1
+monospaced.bold.latin-1=-b&h-droidsansmono-bold-r-normal-sans-*-%d-*-*-m-*-iso8859-1
+monospaced.italic.latin-1=-b&h-droidsansmono-medium-i-normal-sans-*-%d-*-*-m-*-iso8859-1
+monospaced.bolditalic.latin-1=-b&h-droidsansmono-bold-i-normal-sans-*-%d-*-*-m-*-iso8859-1
+
+dialog.plain.latin-1=-b&h-droidsans-medium-r-normal-sans-*-%d-*-*-p-*-iso8859-1
+dialog.bold.latin-1=-b&h-droidsans-bold-r-normal-sans-*-%d-*-*-p-*-iso8859-1
+dialog.italic.latin-1=-b&h-droidsans-medium-i-normal-sans-*-%d-*-*-p-*-iso8859-1
+dialog.bolditalic.latin-1=-b&h-droidsans-bold-i-normal-sans-*-%d-*-*-p-*-iso8859-1
+
+dialoginput.plain.latin-1=-b&h-droidsansmono-medium-r-normal-sans-*-%d-*-*-m-*-iso8859-1
+dialoginput.bold.latin-1=-b&h-droidsansmono-bold-r-normal-sans-*-%d-*-*-m-*-iso8859-1
+dialoginput.italic.latin-1=-b&h-droidsansmono-medium-i-normal-sans-*-%d-*-*-m-*-iso8859-1
+dialoginput.bolditalic.latin-1=-b&h-droidsansmono-bold-i-normal-sans-*-%d-*-*-m-*-iso8859-1
+
+# Search Sequences
+
+sequence.allfonts=latin-1
+
+# Exclusion Ranges
+
+# Font File Names
+
+
+