Font smoothing - hacked!

master
Clochard Pagan 11 years ago
parent 60a32c197b
commit ce5e22ccf3

@ -6,31 +6,28 @@
package org.idp.laf;
import java.awt.Toolkit;
import java.awt.image.ColorModel;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.lang.reflect.Field;
import java.nio.charset.Charset;
import java.nio.file.FileSystems;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JTree;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;
import javax.swing.border.Border;
import javax.swing.plaf.metal.DefaultMetalTheme;
import javax.swing.plaf.metal.MetalLookAndFeel;
import javax.swing.plaf.metal.MetalTheme;
import org.idp.laf.settings.Color;
import static org.idp.laf.settings.Color.ColorClass.AT;
import static org.idp.laf.settings.Color.ColorClass.SS;
@ -39,8 +36,6 @@ import org.idp.laf.settings.Font;
import static org.idp.laf.settings.Font.FontClass.FA;
import static org.idp.laf.settings.Font.FontClass.FS;
import org.idp.laf.settings.Gradient;
import org.openide.explorer.view.NodeRenderer;
import org.openide.explorer.view.TreeView;
import org.openide.util.Exceptions;
import org.openide.windows.WindowManager;
@ -164,7 +159,7 @@ load ();
keys[i].equals("RadioButtonMenuItem.gradient") ||
keys[i].equals("Slider.focusGradient") ||
keys[i].equals("RadioButton.gradient") ||
keys[i].equals("InternalFrame.activeTitleGradient")
keys[i].equals("InternalFrame.activeTitleGradient")
)
{
//ArrayList always
@ -331,9 +326,59 @@ load ();
Object [] keys = new Object[UIManager.getLookAndFeelDefaults().keySet().size()];
// UIManager.put("Tree.textForeground", new javax.swing.plaf.ColorUIResource(0,255,0));
// This is F*CKIN VOODOO MAGIC... aaaaaaaaa, I'm just as black cat in a night
System.setProperty("nb.useSwingHtmlRendering", "true");
// NodeRenderer nr = NodeRenderer.sharedInstance();
//System.setProperty("awt.useSystemAAFontSettings", "on");
System.setProperty("awt.useSystemAAFontSettings","lcd");
System.setProperty("swing.aatext", "true");
System.setProperty("nb.useSwingHtmlRendering", "true");
String nb_home = System.getProperty("netbeans.home");
String nb_conf = nb_home.substring(0, nb_home.length() - "platform".length()) + "etc" + File.separator;
File conf = new File (nb_conf);
Path path = FileSystems.getDefault().getPath(nb_conf, "netbeans.conf");
List<String> linesL = Files.readAllLines(path);
String [] lines = new String[linesL.size()];
int i = 0;
for (String str : linesL)
{
lines[i] = str;
i++;
}
for (i =0; i < lines.length; i ++)
{
if (lines[i].contains("netbeans_default_options="))
{
System.out.println("Fond default settings line!");
if (!lines[i].contains("-J-Dawt.useSystemAAFontSettings"))
{
System.out.println("No rendering hints defined - fixing...");
String [] parts = lines[i].split("\"");
String new_line = parts[0] + "\"" + parts[1] + " -J-Dswing.aatext=true -J-Dawt.useSystemAAFontSettings=lcd" + "\"";
lines[i] = new_line;
System.out.println(">>> " + lines[i]);
writeFile1(nb_conf + "netbeans.conf", lines);
}
else
{
System.out.println("Font redering hints already set - OK");
}
}
}
// Properties properties = System.getProperties();
// for (Object o : properties.keySet())
// {
// System.out.println( o + " : " + properties.getProperty((String) o));
// }
// NodeRenderer nr = NodeRenderer.sharedInstance();
// Field[] fields = nr.getClass().getFields();
// for (int i = 0; i < fields.length; i ++)
// {
@ -353,6 +398,21 @@ load ();
}
public static void writeFile1(String path, String [] data) throws IOException {
File fout = new File(path);
FileOutputStream fos = new FileOutputStream(fout);
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(fos));
for (int i = 0; i < data.length; i ++) {
bw.write(data[i]);
bw.newLine();
}
bw.close();
}
private static void repaintUI()
{
SwingUtilities.updateComponentTreeUI(WindowManager.getDefault().getMainWindow());

Loading…
Cancel
Save