ICU4C uspoof.h implements Unicode spoof detection algorithms (from UTS 39).
ICU4X has a narrower scope than ICU4C and explicitly plans not to implement spoof detection in the core library, but exposing a good confusables API is a part of it, and is easier to do now that we can directly consume the UCD.
I'm not sure which crate this would go in. Probably icu_properties?
Beyond confusables, spoof checking needs idstat and idtype, but those are just enum props and easy to expose.
The API here would mostly just be exposing skeleton(A) and skeleton(A) == skeleton(B). Not sure what an efficient data model would be. We might be able to stuff most of this a CPT, with an exceptions table for multi-byte things. I wonder what ICU4C does.
Reactions are currently unavailable
ICU4C uspoof.h implements Unicode spoof detection algorithms (from UTS 39).
ICU4X has a narrower scope than ICU4C and explicitly plans not to implement spoof detection in the core library, but exposing a good confusables API is a part of it, and is easier to do now that we can directly consume the UCD.
I'm not sure which crate this would go in. Probably icu_properties?
Beyond confusables, spoof checking needs idstat and idtype, but those are just enum props and easy to expose.
The API here would mostly just be exposing skeleton(A) and skeleton(A) == skeleton(B). Not sure what an efficient data model would be. We might be able to stuff most of this a CPT, with an exceptions table for multi-byte things. I wonder what ICU4C does.