|
Quick Lists
|
|
Bug ID:
|
4759380
|
|
Votes
|
1
|
|
Synopsis
|
FontMetrics/Font incorrect at high resolutions under Suse Linux 8.0
|
|
Category
|
java:classes_fontprop
|
|
Reported Against
|
1.2.1
, 1.4.1
, 1.4.1_01
|
|
Release Fixed
|
1.4.2(mantis)
|
|
State
|
10-Fix Delivered,
bug
|
|
Priority:
|
3-Medium
|
|
Related Bugs
|
4775284
|
|
Submit Date
|
08-OCT-2002
|
|
Description
|
FULL PRODUCT VERSION :
java version "1.4.1"
Can we get this fix as well in 1.4.1_03 ?
SAP needs a relief and they don't want to commit to 1.4.2
in their current release scdeule. We're falling short of a month :-(
-
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.1-b21)
Java HotSpot(TM) Client VM (build 1.4.1-b21, mixed mode)
FULL OPERATING SYSTEM VERSION : Suse Linux 8.0 running
2.4.18 Kernel
EXTRA RELEVANT SYSTEM CONFIGURATION :
XFree86 4.2.0 with NVidia MX440 graphics chip and NVidia driver
A DESCRIPTION OF THE PROBLEM :
It appears that JAVA running under Linux reports incorrect
Font Metrics or should be rendering a larger font for the
requested point size at high screen resolutions. By high
resolution I mean 1600x1200 although it will proably also do
it at higher than 1600x1200 but cannot test this myself.
This problem is not seen at lower screen resolutions
(1024x768) on a similar Linux system nor is it seen under
Warp 4 running at the same high (1600x1200) resolution.
I have prepared a detailed problem report, sample, and
analysis as an HTML page for clarity that I put on our web
server it can be accessed by visiting the folowing URL:
http://www.aquilasys.com/fmproblem.html
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
1. See the sample on the site www.aquilasys.com/fmproblem.html
2.
3.
EXPECTED VERSUS ACTUAL BEHAVIOR :
I would expect the proper font metrics or a larger font to
be rendered that matches the reported font metrics. I see a
font that is much too small or metrics that are simply wrong
depending on how you look at the problem.
REPRODUCIBILITY :
This bug can be reproduced always.
---------- BEGIN SOURCE ----------
Source code is at the link www.aquilasys.com/fmproblem.html
---------- END SOURCE ----------
(Review ID: 165463)
======================================================================
SAP provided as test case including screen shots of the problem:
Problem description
===================
The fonts delivered by SUN as .../jre/lib/fonts/* and used when
employing the standard .../jre/lib/fonts.properties only work with
75dpi resolution when using an X-Server that really relies on the font
height information inside the font as Xfree86 4.2.x does. (c.f. XFree
docs). Fonts heights reporte are just wrong when display resolution
is greater then 75dpi.
Problem reproduction:
=====================
Environment:
------------
OS : Linux,
Linux ls3613 2.4.18-4GB #1 Wed Mar 27 13:57:05 UTC 2002 i686
unknown
Distribution: SuSE 8.0
X11 : Xfree86 4.2.x
XFree86 Version 4.2.0 / X Window System
(protocol Version 11, revision 0, vendor release 6600)
Release Date: 23 January 2002
If the server is older than 6-12 months, or if your card is
newer than the above date, look for a newer version before
reporting problems. (See http://www.XFree86.Org/)
Java VM : SUN 1.4.1_01
Java(TM) 2 Runtime Environment, Standard Edition (build
1.4.1_01-b01)
Java HotSpot(TM) Client VM (build 1.4.1_01-b01, mixed mode)
boot into console usually runlevel 3 no X.
start a X-server with 106 dpi resolution
startx -- :0 -dpi 106 &
start FontRes.class
java FontRes
(see 75dpi.gif)
start FontTest and see what font height is reported.
java FontTest
switch back to the console
start a X-server with 75 dpi resolution
startx -- :1 -dpi 75 &
start FontRes.class
java FontRes
(see 106dpi.gif)
compare the different font cell heights and the overall appearance.
also have a look in the font heights reported by FontTest.java
=============
xxxxx@xxxxx 2003-04-04
|
|
Work Around
|
N/A
|
|
Evaluation
|
I was not able to reproduce this bug.
I requested more information from the submitter but haven't heard back
I will mark this bug incomplete pending more information.
xxxxx@xxxxx 2002-10-10
============================
I have made some progress on this bug. I located a Suse Linux 8.0
and was able to reproduce it.
on this linux version the Type1 font used for the symbol component of all
logical fonts has been moved from /usr/share/lib/fonts to
/usr/X11R6/lib/X11/fonts/URW which appears to be a symbolic link to
/usr/share/ghostscript/fonts
Consequently Java 2D can't locate the font file, and backs off to accessing
the font only through X11 APIs. The font file itself is identical to that
on RedHat 7.2 and the difference is that we are now dependent on X11 to
report metrics rather than gathering them ourselves.
In which case I can imagine that the Xserver is adjusting the returned
metrics based on the Xserver DPI. The large glyph images I see makes me suspect
its also doing the same for the images. Java2D when it accesses fonts always
uses 72dpi when talking to its scaler. It would require investigation of the
behaviour of a lot of Xservers to decide whether we should normalize for this
and perhaps the simplest fix is to create a font.properties for Suse Linux
which allows us to access the font directly as that is needed in any case in
order for 2D APIs to function properly.
xxxxx@xxxxx 2002-11-07
============================
I've checked the PRD and Suse 7.1 is the latest release supported on JDK1.4.1,
so Suse 8 support would be a new requirement.
Suse 8 is listed as a supported release for JDk 1.4.2 (aka mantis) so I am
marking the bug as commit to fix in 1.4.2
xxxxx@xxxxx 2002-11-08
============================
t2k does not work correctly when asked for metrics for "Standard Symbols L",
it is hardcoded to use the ascent data of character "M" and descent data of
"g" for the ascent/descent/leading metrics for any Type1 fon, but seems like
this logic does not work for "standard symbols l". as a solution, we remove
the symbols font from suse8.0's font.properties file.
xxxxx@xxxxx 2002-11-14
|
|
Comments
|
Submitted On 12-NOV-2002
jemiele1
Would it be possible to add an option that would allow the
DPI setting to be overridden by an entry in a configuration
file? This would allow Java2D to default to 72DPI but enable
the user to compensate for other DPIs. It might be a simple
hack that could be implemented in the next release. That
would allow the problem to be worked around until a "more
correct" fix to be thouroughly tested.
It's an idea... :-)
Submitted On 18-NOV-2002
jemiele1
Removing the "standard symbols l" entries fixes the font
problems for Java 2 1.4.1_01 on SuSE Linux 8.1. Here are the
steps:
1. Locate the font.properties file:
find / -name font.properties -print
2. Change to the directory where font.properties is located.
3. Rename font.properties:
mv font.properties font.properties.original
4. Create the a new font.properties based on the original,
but with the "standard symbols l" omitted:
grep -v "standard symbols l" font.properties.original >
font.properties
I have done this to multiple machines and it works like a charm!
Thanks to the person responsible for closing out this bug!
PLEASE NOTE: JDK6 is formerly known as Project Mustang
|
|
|
 |