Quoting Chris Jacobs <[EMAIL PROTECTED]>:
> "The interpretation of private use characters (Co) as graphic characters or
> not is determined by private agreement."
> "The interpretation of private use characters (Co) as base characters or not
> is determined by private agreement."
> "The interpretation of Private Use characters (Co) as combining characters or
> not is determined by private agreement. "
>
> Is this just another way of saying that this is left undefined, or does it
> imply that a conformant application should be able to detect if private
> agreements exist?
In my reading a bit of both. These properties for these characters are
undefined by Unicode.
As I see it the following behaviours would all be conformant:
1. Your application uses these characters in accordance to a private agreement
between other users of the protocol the application was built to support.
2. Your application works with a protocol which has a rule against the use of
private use characters (such a rule would be at a higher level than Unicode)
and it throws and error in such cases (this is really a variant on the first
possibility - essentially a private agreement that these characters are non-
characters and should not occur).
3. Your application has no "knowledge" of any private agreement. It treats
private use characters as graphic non-combining characters, rendering them with
an indicator of a unrenderable character ("box" shapes and question marks are
common glyphs for use here, the Last Resort font offers a glyph which indicates
that it is a private use character rather than any other unknown character)
and/or passing them to the next processing step unchanged.
4. Your application behaves as in the item above, but offers a mechanism to
override this behaviour (particularly useful if it were a library rather than
an application per se).
It is not conformant to "fix" these characters by replacing them with other
characters, though obviously a application like item 1 or 2 can do whatever
operation it is meant to do with them.
--
Jon Hanna
<http://www.hackcraft.net/>
*Thought provoking quote goes here*