Purpose of REPLACEMENT CHARACTER

From: Markus Kuhn (Markus.Kuhn@cl.cam.ac.uk)
Date: Sat Apr 10 1999 - 14:27:22 EDT


Expert advise welcome:

We have at the moment a small controversy in the XFree86 font team on
whether in the ISO10646-1 fonts that will be in the next release, the
BDF font property DEFAULT_CHAR should get the value 65533 (U+FFFD =
REPLACEMENT CHARACTER) or something else.

The X11 bitmap font file format (BDF) allows the font designer to pick
one of the glyphs as the one that will be displayed automatically
whenever a glyph requested from a font is not available in this font. In
my ISO 10646-1 X11 fonts, I have so far simply used the REPLACEMENT
CHARACTER for this purpose, and the designers of some other BDF fonts
have done the same. I have now received a complaint that what I did is
abusing the REPLACEMENT CHARACTER, because Unicode 2.1 assigns to U+FFFD
the semantic of representing a character that is outside of Unicode, and
I therefore should not abuse this glyph with the semantics that the
displayed character is outside of the subset of my font (but not outside
Unicode).

What do the gurus think? Shall I put an additional glyph into my font
(say at 0xFFFF or 0x0000) that will represent on the screen all
characters for which there is no glyph in my font? Or is it perfectly
within the spirit of the standard that I simply use the glyph of U+FFFD
also to indicate that the character has no glyph in this font but does
have some a Unicode code position.

Note that all this is only about displaying, not about storage or
transmission (where all Unicode characters are always encoded correctly,
irrespective of the subset of glyphs available in some font).

Comments welcome.

Markus

-- 
Markus G. Kuhn, Computer Laboratory, University of Cambridge, UK
Email: mkuhn at acm.org,  WWW: <http://www.cl.cam.ac.uk/~mgk25/>



This archive was generated by hypermail 2.1.2 : Tue Jul 10 2001 - 17:20:45 EDT