viewing of japanese symbols

Hi all.

I'm the author of AudioTT application (http://www.audiott.com/).

I have a problem with viewing the japanese symbols. The application is an ID3 tag editor of MP3 files. The problem is, that my application is able to read Unicode characters, but is not able to view them correctly! The only thing it shows are boxes, no japanese/russian... symbols.

1.

- Download AudioTT for Win here (560KB): http://www.audiott.com/archiv/att/att1.2.1.exe

- If you do not have Windows take a look at this page: http://www.audiott.com/home/download.html

- Download MP3 with japanese ID3 tags here (500KB): http://www.audiott.com/archiv/mp3/japanese.mp3

2.

Load japanese.mp3 into my application

3.

You can see that the only thing my application shows (in ID3v2 tab) are boxes (no japanese symbols)

I have never tried to solve problems of this type. Please help.

Where is the problem? Is it only the question of font?

Many thanks

Miso

[1013 byte] By [mvpa] at [2007-10-2 5:34:07]
# 1

If you get only boxes, there's a strong likelyhood that your problem is font-related, yes. The solution will depend on which JDK version you use, and whether you use only Swing or also AWT components. The Sun site has some good resources that should help - here's a place to start:

http://java.sun.com/j2se/corejava/intl/reference/faqs/index.html#desktop-rendering

one_danea at 2007-7-16 1:44:51 > top of Java-index,Desktop,I18N...
# 2

Thank you very much for replying.

> If you get only boxes, there's a strong likelyhood

> that your problem is font-related, yes. The solution

> will depend on which JDK version you use, and whether

> you use only Swing or also AWT components.

I'm using only SWING components.

> The Sun site has some good resources that should help -

> here's a place to start:

> http://java.sun.com/j2se/corejava/intl/reference/faqs/

> index.html#desktop-rendering

* I read about the text rendering and I have found out that the default font that Java 5.0 uses is Lucida. Unfortunately, this font does not support Chinese, Japanese, and Korean.

* I have also found out that there is possibility to bundle some Japanese... fonts. However the bundled fonts may be quite big! - in particular if they support Chinese, Japanese, and Korean. There may be also problem with licensing.

Does it mean that the only way to support my application with rendering Japanese... symbols is to bundle the fonts? I hope there is also another way, isn't there?

Many thanks

Miso

mvpa at 2007-7-16 1:44:51 > top of Java-index,Desktop,I18N...
# 3

How about using one of the other methods suggested in the FAQs:

# Using logical font names: The Java platform defines five logical font names that every implementation must support: Serif, SansSerif, Monospaced, Dialog, and DialogInput. These logical font names are mapped to physical fonts in implementation dependent ways. Typically one logical font name maps to several physical fonts in order to cover a large range of characters.

# Using physical font names: The Java platform provides APIs that let an application determine which fonts are available to a given runtime and which characters these fonts can handle, and request these fonts using their real name (for example, "Times Roman" or "Helvetica"). The application can either let the user choose fonts or programmatically determine the fonts to be used.

one_danea at 2007-7-16 1:44:51 > top of Java-index,Desktop,I18N...
# 4

> How about using one of the other methods suggested in

> the FAQs:

>

> # Using logical font names: The Java platform defines

> five logical font names that every implementation

> must support: Serif, SansSerif, Monospaced, Dialog,

> and DialogInput. These logical font names are mapped

> to physical fonts in implementation dependent ways.

> Typically one logical font name maps to several

> physical fonts in order to cover a large range of

> characters.

> # Using physical font names: The Java platform

> provides APIs that let an application determine which

> fonts are available to a given runtime and which

> characters these fonts can handle, and request these

> fonts using their real name (for example, "Times

> Roman" or "Helvetica"). The application can either

> let the user choose fonts or programmatically

> determine the fonts to be used.

I have tried all fonts which must be available in every JRE, but there is no one which supports Japanese characters.

Can anyone give me a concrete advice to solve this problem?

I've been crawling the net for a week and nobody knows how to do it! I'm on the way to give up...

Regards

Miso

mvpa at 2007-7-16 1:44:51 > top of Java-index,Desktop,I18N...
# 5

> ...

> # Using physical font names: The Java platform

> provides APIs that let an application determine which

> fonts are available to a given runtime and which

> characters these fonts can handle, and request these

> fonts using their real name (for example, "Times

> Roman" or "Helvetica"). The application can either

> let the user choose fonts or programmatically

> determine the fonts to be used.

1. How can I programmatically determine which characters can the specified font handle? I mean, is it possible to determine if a font supports Latin and Japanese characters?

2. How to determine if a font supports UNICODE charset?

Many thanks

Miso

mvpa at 2007-7-16 1:44:51 > top of Java-index,Desktop,I18N...
# 6
Right from the Java API Doc:boolean Font.canDisplay(char c) Checks if this Font has a glyph for the specified character.
nguyenq87a at 2007-7-16 1:44:52 > top of Java-index,Desktop,I18N...