JDK-6694480 : Two small inefficiencies in getting font strikes for transformed fonts.
  • Type: Bug
  • Component: client-libs
  • Sub-Component: 2d
  • Affected Version: 5.0
  • Priority: P4
  • Status: Closed
  • Resolution: Fixed
  • OS: generic
  • CPU: generic
  • Submitted: 2008-04-25
  • Updated: 2011-03-08
  • Resolved: 2011-03-08
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 7
7 b28Fixed
Description
Whilst tracking down an un-related bug, two possible
improvements in strike creation were noticed.

(1) Font.getItalicAngle() internally passed its
font transform to the code that looks up the strike,
but this was interpreted by the called code as the
device transform - which the font does not have
access to.

So the strike creation code used the font transform
as both the font transform and the device transform,
and so when a font transform is present it would
likely lead to an additional strike being created.

This doesn't cause an API-observable problem, because
the code that returns the italic angle uses user
space values, with the device transform removed.

(2) The second inefficiency is that translation components,
which do not affect the actual glyphs or their metrics,
are being used in the case where there is a font transform.
To increase the likelihood of matches, we should remove
the translation from the strike look up.

Comments
EVALUATION For (1) use identity For (2) remove the translation from the strike.
25-04-2008