views:

139

answers:

3

I need to decide whether to render geometric symbols in a web GUI (e.g. arrows and triangles for buttons, menus, etc.) as Unicode symbols (MUCH easier and color-independent) or GIF/PNG files (lots of hassle I would like to avoid).

However, I have seen Windows clients that have trouble displaying even advanced punctuation symbols declared as unicode characters (Example).

Does anybody know from which version on, OSs / Service Packs / Applications ship with Unicode versions of the standard fonts? There is, for example, Microsoft's Arial unicode that ships with Office since 1999, however I do not have office installed and still my Arial has at least some of the Unicode range.

Also, what is the situation with Mac OS and Linux?

Could somebody point me towards some comprehensive resources on this?

+1  A: 

Some random observations:

  • On OS X the Unicode support is perfect, at least for your needs.
  • On Windows the situation seems to depend on the browser. I don’t use many arcane characters, but the few I do (mostly punctuation) seem to display just fine in Firefox. The only problem is in Internet Explorer, as usual.
  • If you have some control over your clients you could distribute some good free fonts?
  • Even web fonts could work.
  • One drawback to Unicode charactes is that they are often quite ugly. Too big, too small, have wrong position, etc.
zoul
"One drawback to Unicode charactes is that they are often quite ugly" - what do you mean by "Unicode characters" here? Are you referring to obscure/arcane characters, symbols, hieroglyphs etc?
bzlm
Sorry, yes. For example the circled digits (➊➋), shapes (▲•☐) or arrows (→⇒➜). In some fonts these characters have inconsistent weight, height and other parameters.
zoul
That happens more often because the browser is switching between different fonts to find one that contains the particular character you're after.
bobince
@bobince: Could be browser, could also be OS itself. E.g. Uniscribe (MS Windows)
MSalters
+1  A: 

This question may be a duplicate of http://stackoverflow.com/questions/1653808/unicode-and-fonts where I posted a list of unicode font links:

http://en.wikipedia.org/wiki/Category%3AFree%5Fsoftware%5FUnicode%5Ftypefaces

http://en.wikipedia.org/wiki/Unicode%5Ftypefaces

http://unifoundry.com/unifont.html

http://www.fileformat.info/info/unicode/font/index.htm

http://www.alanwood.net/unicode/fontsbyrange.html

http://www.alanwood.net/unicode/fonts.html

http://www.unifont.org/fontguide/

http://www.wazu.jp/index.html

However, I am not sure how the Unicode standard defines how to render a stand-alone COMBINING DOUBLE character, as it is supposed to combine other characters.

devio
Don't forget that support in the font itself is not enough. The rendering engine must also have support. I agree that a combining character is not a good test case.
bzlm
+5  A: 

There's not really such a thing as a “Unicode version” of a font(*). “Arial Unicode” is a misleading name: it's not materially different to normal “Arial”, it just has some more characters in it. It does not contain usable glyphs for every single one of the tens of thousands of characters defined so far, and indeed there is no one OS standard font that does.

The significant question is merely whether the characters you want to use have glyphs in the default fonts of commonly-deployed operating systems. You need to look to look at font support for particular characters you wish to use on an individual basis.

The character U+0360 Combining Double Tilde you mentioned is not really ‘advanced punctuation’, it's an curious and rarely-used diacritical mark for phonetics work. So it's not really surprising that font support for it is poor. On the other hand, Stack Overflow can get away with using U+25CF Black Circle (●) because lots of fonts have it. Some of the other characters from the Geometric Shapes block such as U+25B2 Black Up-pointing Triangle (▲) are also pretty common.

fileformat.info has a list of common fonts that support each character, so you can check there to get a feel of how widely supported a symbol is, and whether the default OS fonts you recognise are present, before using it as a replacement for an image. For example U+25CF is in many fonts, but U+0360 isn't that well-supported: none of the default Windows install fonts are there, and the ‘Libertine’ font renders it badly wrong.

(*: OK, there is sort of such a thing as a Unicode font, in that a font's internal character lookup tables may be denominated in Unicode or some other character set. However this makes no practical difference as the application will always be addressing it as Unicode; the OS will do the conversion on lookup transparently.)

bobince
*“Arial Unicode” is a misleading name: it's not materially different to normal “Arial”, it just has some more characters in it.* – It also lacks script rendering support for most scripts it provides glyphs for, has no kerning support and wasn't updated since Unicode 2. Also it's an Office font and therefore not actually included with Windows.
Joey
Agreed, it's a pretty bad font that should really go away.
bobince