Re: outside decomposed, inside precomposed

From: Eric Muller (
Date: Wed Oct 13 2004 - 14:42:41 CST

  • Next message: Asmus Freytag: "Re: outside decomposed, inside precomposed"

    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.


    This archive was generated by hypermail 2.1.5 : Wed Oct 13 2004 - 14:47:30 CST