From: Eric Muller (emuller@adobe.com)
Date: Wed Oct 13 2004 - 14:42:41 CST
Kenneth Whistler wrote:
>However, implementations don't get to pick and choose so easily
>about aspects of the standard such as encoding forms and normalization.
>You can't, for example, recognize that <U+006E, U+0303> is canonically
>equivalent to U+00F1 (ñ), but claim *not* to recognize that
><U+0065, U+0303> is likewise canonically equivalent to U+1EBD, simply
>because U+1EBD is not in a range that your implementation chooses
>to "interpret" for display. Such, broken, partial recognitions of
>canonical equivalence would represent non-conformant implementations
>of normalization.
>
I am not sure I understand all the implications of your words:
My rendering system supports the following repertoire: {U+0065, U+006E,
U+0303, U+00F1}. The inputs <U+006E, U+0303> and <U+00F1> produce the
same correct output. The input <U+0065, U+0303> produces a correct
output. Are you saying that, in order to claim conformance, my system
needs to render correctly the input <U+1EBD>, because that is
canonically equivalent to <U+0065, U+0303>, and the latter is entirely
in my supported repertoire? Or can I claim conformance even if my system
renders <U+1EBD> as a square box (or a smiley), or generates an error?
Going back to the original scenario, to make my point clearer:
System A, a subset of FileMaker, has {U+0065, U+0303, U+1EBD} as its
repertoire. When presented with the input <U+0065, U+0303>, it produces
the output <U+1EBD>.
System B, my rendering system, has {U+0065, U+0303} as its repertoire.
When presented with the input <U+0065, U+0303>, it produces a correct
rendering. When presented with the input <U+1EBD> it outputs a smiley.
Both systems are conformant (I would hope), yet putting them together
does not mean that the result is automatically conformant, even on the
intersection of their repertoire. Hence, one cannot attribute the
problem that Richard is seeing to either system. The problem belongs to
Richard, when he did put the two systems together.
If we want some automatic guarantee of conformance for combinations of
conformant systems, then we need at least to impose that the repertoire
supported by conformant implementations be closed under canonical
equivalence. Such a condition is not there today. It has interesting
consequences: e.g. U+2FA1C is canonically equivalent to U+9F3B, so the
BMP is not closed under canonical equivalence, so no conformant system
could make its repertoire exactly the BMP.
Eric.
This archive was generated by hypermail 2.1.5 : Wed Oct 13 2004 - 14:47:30 CST