Enable back detecting installed fonts. (FFDec must be restarted to refresh such list)

This commit is contained in:
Jindra Petřík
2021-01-01 01:02:15 +01:00
parent 653879b589
commit b20eeafe53
5 changed files with 10 additions and 15 deletions

1
.gitignore vendored
View File

@@ -7,6 +7,7 @@
*.conflict~
*.identcache
*.recompiled.swf
*(Selective Sync Conflict*
run_test_*.swf
Thumbs.db
/build/

View File

@@ -7,7 +7,7 @@ All notable changes to this project will be documented in this file.
### Removed
- Due to Java9+ limited support of reflection, following features were removed:
- Support for detecting installed fonts - affects fonts editation
- Automatic detection of installed fonts changes (on font editation) - FFDec needs to be restarted to font changes to take effect
- XML import/export
- Raw editation of tags
- Generic editation of tags through treeview (affects tags like FileAttributes, ExportAssets)

View File

@@ -56,11 +56,11 @@ public class FontHelper {
* @return Map<FamilyName,Map<FontNAme,Font>>
*/
public static Map<String, Map<String, Font>> getInstalledFonts() {
return new HashMap<>();
/*NOT AVAILABLE SINCE JAVA9+
Map<String, Map<String, Font>> ret = new HashMap<>();
Font[] fonts = null;
/*Refreshing list of installed fonts - reflection access NOT AVAILABLE SINCE JAVA9+
try {
Object fm = getFontManager();
@@ -88,7 +88,7 @@ public class FontHelper {
} catch (Throwable ex) {
// ignore
}
*/
if (fonts == null) {
fonts = GraphicsEnvironment.getLocalGraphicsEnvironment().getAllFonts();
}
@@ -107,7 +107,7 @@ public class FontHelper {
ret.get(fam).put(f.getFontName(Locale.ENGLISH), f);
}
return ret;*/
return ret;
}
public static String fontToString(Font font) {

View File

@@ -285,9 +285,7 @@ public abstract class FontTag extends DrawableTag implements AloneTag {
} else if (installedFontsByFamily.containsKey("Arial")) {
defaultFontName = "Arial";
} else {
//NOT AVAILABLE SINCE JAVA9+
//defaultFontName = installedFontsByFamily.keySet().iterator().next();
defaultFontName = "Dialog";
defaultFontName = installedFontsByFamily.keySet().iterator().next();
}
}
@@ -303,11 +301,7 @@ public abstract class FontTag extends DrawableTag implements AloneTag {
return "Arial";
}
//NOT AVAILABLE SINCE JAVA9+
//First font
//return installedFontsByFamily.keySet().iterator().next();
return "Dialog";
return installedFontsByFamily.keySet().iterator().next();
}
public static String isFontFamilyInstalled(String fontFamily) {

View File

@@ -101,10 +101,10 @@ public class FontPanel extends JPanel {
public static ComboBoxModel<FontFace> getFaceModel(FontFamily family) {
Set<FontFace> faceSet = new TreeSet<>();
/*NOT AVAILABLE SINCE JAVA 9+
for (Font f : FontTag.getInstalledFontsByFamily().get(family.familyEn).values()) {
faceSet.add(new FontFace(f));
}*/
}
return new DefaultComboBoxModel<>(new Vector<>(faceSet));
}