JDK-6477342 : Some java fonts do not map correctly to the local OS fonts.
  • Type: Bug
  • Component: client-libs
  • Sub-Component: 2d
  • Priority: P2
  • Status: Closed
  • Resolution: Duplicate
  • OS: windows_xp
  • CPU: x86
  • Submitted: 2006-10-02
  • Updated: 2012-10-10
  • Resolved: 2006-10-03
Related Reports
Duplicate :  
Description
1) Switch to japanese locale
2) Run any (non-java) app, e.g. Notepad, switch to "Arial" font, and put some japanese text into it. You can see the text is properly rendered.
2) Run java-app which components use "Arial" font, and contain japanese text. You won't see the text rendered (the java font mapped to arial is not capable to do it). 

It seems the fonts in java are not properly mapped to the OS fonts.

Also the API, GraphicsEnvironment.preferLocaleFonts(), doesn't seem to make any difference.

There doesn't seem to be a way how java programmer could fix this issue.

See the attached test app (TestFonts):
1) Run it when the japanse locale is set (it is a NetBeans project),
2) You can see that component using "Arial" font can't show the characters, while the one using "SansSerif" can.
3) If you run other non-java app (Notepad), it can show the text in "Arial" font.

Comments
EVALUATION This is not a bug. Its working as designed. We do not automatically apply fallbacks to physical fonts (or font linking as Microsoft calls it). There is an RFE open which would provide a way to do specify that there be fallbacks. Closing as a duplicate of that report. 6407157: Means to specify a Font with fallbacks for additional code point coverage.
03-10-2006

EVALUATION The attached test contains no AWT components, so any font rendering is performed by Java2D, so I'm redispatching the bug to them.
03-10-2006