-
Bug
-
Resolution: Duplicate
-
P4
-
None
-
7
-
x86
-
windows_vista
FULL PRODUCT VERSION :
java version "1.7.0-ea"
Java(TM) SE Runtime Environment (build 1.7.0-ea-b131)
Java HotSpot(TM) Client VM (build 21.0-b02, mixed mode)
ADDITIONAL OS VERSION INFORMATION :
Windows Vista 32 bit
A DESCRIPTION OF THE PROBLEM :
Text is antialised badly with these rendering hints:
RenderingHints.KEY_TEXT_ANTIALIASING:
RenderingHints.VALUE_TEXT_ANTIALIAS_ON
and
RenderingHints.KEY_FRACTIONALMETRICS:
RenderingHints.VALUE_FRACTIONALMETRICS_ON
See this comparison with JRE 1.6.0:
http://magicplot.com/jdk7-text-aa.png
- Font with size 10-15 are bad antialized in Java 1.7, the font typeface cannot be seen at all.
- The strange for users difference in 'bold' between sizes 17 and 18.
REGRESSION. Last worked in version 6
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
Run the little test below or use this test app:
http://magicplot.com/MPTextTest.jar
http://magicplot.com/MagicPlotTextTest.java
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
Text antialising similar to 1.6.0 for this options is expected.
REPRODUCIBILITY :
This bug can be reproduced always.
---------- BEGIN SOURCE ----------
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.HeadlessException;
import java.awt.RenderingHints;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;
public class FontTextMini extends JFrame
{
public FontTextMini() throws HeadlessException
{
setDefaultCloseOperation(EXIT_ON_CLOSE);
JPanel textPanel = new JPanel()
{
@Override
protected void paintComponent(Graphics g)
{
super.paintComponent(g);
Graphics2D gr = (Graphics2D) g.create();
Dimension size = getSize();
gr.setColor(Color.white);
gr.fillRect(0, 0, size.width, size.height);
String text = "The quick brown fox jumps over the lazy dog 1234567890";
gr.setColor(Color.black);
gr.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
gr.setRenderingHint(RenderingHints.KEY_FRACTIONALMETRICS, RenderingHints.VALUE_FRACTIONALMETRICS_ON);
int pos = 7;
for (int fontSize = 4; fontSize <= 25; fontSize++)
{
gr.setFont(new Font("Times New Roman", Font.PLAIN, fontSize));
gr.drawString(fontSize + " " + text, 5, pos);
pos += fontSize;
}
gr.dispose();
}
};
textPanel.setPreferredSize(new Dimension(650, 320));
getContentPane().add(textPanel);
pack();
setSize(getPreferredSize());
}
public static void main(String[] args)
{
SwingUtilities.invokeLater(new Runnable()
{
@Override
public void run()
{
JFrame frame = new FontTextMini();
frame.setVisible(true);
}
});
}
}
---------- END SOURCE ----------
CUSTOMER SUBMITTED WORKAROUND :
Using of VALUE_TEXT_ANTIALIAS_LCD_HRGB may solve the problem for some applications. But if you need only 'gray' antialiasing no workaround has been found.
java version "1.7.0-ea"
Java(TM) SE Runtime Environment (build 1.7.0-ea-b131)
Java HotSpot(TM) Client VM (build 21.0-b02, mixed mode)
ADDITIONAL OS VERSION INFORMATION :
Windows Vista 32 bit
A DESCRIPTION OF THE PROBLEM :
Text is antialised badly with these rendering hints:
RenderingHints.KEY_TEXT_ANTIALIASING:
RenderingHints.VALUE_TEXT_ANTIALIAS_ON
and
RenderingHints.KEY_FRACTIONALMETRICS:
RenderingHints.VALUE_FRACTIONALMETRICS_ON
See this comparison with JRE 1.6.0:
http://magicplot.com/jdk7-text-aa.png
- Font with size 10-15 are bad antialized in Java 1.7, the font typeface cannot be seen at all.
- The strange for users difference in 'bold' between sizes 17 and 18.
REGRESSION. Last worked in version 6
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
Run the little test below or use this test app:
http://magicplot.com/MPTextTest.jar
http://magicplot.com/MagicPlotTextTest.java
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
Text antialising similar to 1.6.0 for this options is expected.
REPRODUCIBILITY :
This bug can be reproduced always.
---------- BEGIN SOURCE ----------
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.HeadlessException;
import java.awt.RenderingHints;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;
public class FontTextMini extends JFrame
{
public FontTextMini() throws HeadlessException
{
setDefaultCloseOperation(EXIT_ON_CLOSE);
JPanel textPanel = new JPanel()
{
@Override
protected void paintComponent(Graphics g)
{
super.paintComponent(g);
Graphics2D gr = (Graphics2D) g.create();
Dimension size = getSize();
gr.setColor(Color.white);
gr.fillRect(0, 0, size.width, size.height);
String text = "The quick brown fox jumps over the lazy dog 1234567890";
gr.setColor(Color.black);
gr.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
gr.setRenderingHint(RenderingHints.KEY_FRACTIONALMETRICS, RenderingHints.VALUE_FRACTIONALMETRICS_ON);
int pos = 7;
for (int fontSize = 4; fontSize <= 25; fontSize++)
{
gr.setFont(new Font("Times New Roman", Font.PLAIN, fontSize));
gr.drawString(fontSize + " " + text, 5, pos);
pos += fontSize;
}
gr.dispose();
}
};
textPanel.setPreferredSize(new Dimension(650, 320));
getContentPane().add(textPanel);
pack();
setSize(getPreferredSize());
}
public static void main(String[] args)
{
SwingUtilities.invokeLater(new Runnable()
{
@Override
public void run()
{
JFrame frame = new FontTextMini();
frame.setVisible(true);
}
});
}
}
---------- END SOURCE ----------
CUSTOMER SUBMITTED WORKAROUND :
Using of VALUE_TEXT_ANTIALIAS_LCD_HRGB may solve the problem for some applications. But if you need only 'gray' antialiasing no workaround has been found.
- duplicates
-
JDK-7020444 Bug in fix for 6797728 : used doAA instead of aaType
-
- Closed
-