Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Limits to Swing's Unicode support

Not long ago I asked a question attempting to identify a certain unicode character for use in a GUI. I got the character I was looking for, but it didn't work in the Swing GUI I was building.

So, SO Community, I pose of you these questions:

What sort of limitations does Swing/Java have for Unicode support? Are there certain subsets of unicode that are completely supported and what should I stay away from when designing in the future?

EDIT: After applying the 'Arial Unicode MS' font as suggested by Alan Moore, everything seemed to clear up. Seems odd that I should have to set a 3rd party font to make all the unicode characters show up though.

like image 935
Sean Madden Avatar asked Jun 20 '10 22:06

Sean Madden


People also ask

Do all browsers support Unicode?

No browser supports all of Unicode, or is required to do so. The specifications do not require that all characters, or any specific subset thereof, will be displayed properly.

What are supplementary characters?

Supplementary characters are characters with code points in the range U+10000 to U+10FFFF, that is, those characters that could not be represented in the original 16-bit design of Unicode. The set of characters from U+0000 to U+FFFF is sometimes referred to as the Basic Multilingual Plane (BMP).

What is Unicode compliant font?

A Unicode font is a computer font that maps glyphs to code points defined in the Unicode Standard. The vast majority of modern computer fonts use Unicode mappings, even those fonts which only include glyphs for a single writing system, or even only support the basic Latin alphabet.

What is Unicode value in Java?

Unicode is a computing industry standard designed to consistently and uniquely encode characters used in written languages throughout the world. The Unicode standard uses hexadecimal to express a character. For example, the value 0x0041 represents the Latin character A.


2 Answers

Normally when glyphs don't display properly in a UI, it's because you're using a font that doesn't have that glyph, not because there is a problem with the unicode support in any toolkit you're using. Very, VERY few fonts have all glyphs - you need to make sure you choose a font that has coverage in the code points you care about.

like image 76
Nick Bastin Avatar answered Oct 12 '22 20:10

Nick Bastin


See Sun Java 6 fonts Supported Fonts for details on the limitations of the logical fonts. Sun's choices were probably due to a mixture of pragmatism and licensing. Note that the documentation says you can provision fallback fonts by adding them to the JRE lib/fonts/fallback directory.

like image 32
McDowell Avatar answered Oct 12 '22 20:10

McDowell