precis, idna and icu: internationalization mess cont.


oh yeah we're trying to handle PRECIS, aren't we?

In most cases, authoritative entities such as servers are responsible for enforcement, whereas entities such as clients are responsible only for preparation.

which means, I'll be covering preparation only (for now) but I should keep in mind that current design must support future enforcement extensions.

well we've covered IDNA in the previous post, now we have to handle the actual PRECIS stuff.

okay so let's start with working with RFC 8264 section 8 because it's kind of the core of PRECIS if you think about it which can be visualized with derived value
property state transition diagram

let's start with PRECIS-specific unicode code points categories, cp refers to the code point

now back to the IDNA ones, well the thing with these is that icu already offers IDNA API so having to define them means doing what icu had already done for me.

okay I've realized that icu4c is actually written in c++ which is somewhat retarded and disappointing because I can't actually reuse the IDNA parts mentioned above to cover PRECIS, and of course I'm not as experienced as icu guys to produce the same quality treatment but I have to do it anyway. not to mention that while reading their code I realized that they surprisingly write chink code for a library that is used by many big software and even OSs as Windows fully integrates it. I feel like it could've been designed better than this.

homura icu

remind me (to myself I guess) to edit color and/or font of quote and code elements.