On 7/19/17 11:30 PM, William Fisher wrote: >> What do implementers think is a "reasonable number of iterations"? My >> sense is that we're talking about at most 4 or 5, and usually 2 or 3. > > I interpreted the word "iteration" to mean "reapplication" of the > rules; not counting the first application. The Nickname test cases > become stable after 2 iterations of the rules. > > output1 = precis_encode(input) > output2 = precis_encode(output1) # iteration 1 > output3 = precis_encode(output2) # iteration 2 confirms that > output3 == output2 > > I can't come up with a Nickname test case that requires more than 2 > iterations to become stable, but that doesn't mean they don't exist.
As far as I can determine based on reviewing various code points, that's right. This _should_ be a function of the code points involved (i.e., how many steps a code point is from something more stable), not the profile. > It's possible that a new PRECIS profile could be defined that has > stability issues. IMO, if a PRECIS profile isn't stable after 3 > iterations, it's broken. Agreed. > The last sentence might read like this: > > Therefore, an implementation SHOULD reapply the rules > repeatedly until the output string is stable; if the output string > does not stabilize after three iterations, the > implementation SHOULD reject > the input string as invalid. > > In the worst case, this means that you are calling precis_encode() > four times for an input string. That seems reasonable. Peter > > -Bill > > > On Wed, Jul 19, 2017 at 6:40 PM, Peter Saint-Andre <[email protected]> wrote: >> On 7/16/17 5:20 PM, [email protected] wrote: >>> >>> A New Internet-Draft is available from the on-line Internet-Drafts >>> directories. >>> This draft is a work item of the Preparation and Comparison of >>> Internationalized Strings of the IETF. >>> >>> Title : PRECIS Framework: Preparation, Enforcement, and >>> Comparison of Internationalized Strings in Application Protocols >>> Authors : Peter Saint-Andre >>> Marc Blanchet >>> Filename : draft-ietf-precis-7564bis-09.txt >> >> Our area director pointed out to me offlist that the definition of >> "reasonable" is vague in the following text: >> >> Because of the order of operations specified here, applying the rules >> for any given PRECIS profile is not necessarily an idempotent >> procedure (e.g., under certain circumstances, such as when Unicode >> normalization form KC is used, performing Unicode normalization after >> case mapping can still yield uppercase characters for certain code >> points). Therefore, an implementation SHOULD apply the rules >> repeatedly until the output string is stable; if the output string >> does not stabilize within a reasonable number of iterations, the >> implementation SHOULD terminate application of the rules and reject >> the input string as invalid. _______________________________________________ precis mailing list [email protected] https://www.ietf.org/mailman/listinfo/precis
