-
Notifications
You must be signed in to change notification settings - Fork 13
Implement UAX#44-LM2 #46
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Thanks. I'm not familiar with any of this, so this will take me a while to review. Other reviews are welcome |
I don't really know what to do about the build on non-nightly test it appears one of the build.rs dependencies is using an unstable feature? Might need to specify the crate version more precisely |
Apparently |
wait nevermind this version doesn't even work |
Okay I believe now this is ready for approval. Merging #42 should make CI pass too |
I've also realised we don't really need |
Have you had time to look at the new version? Don't wanna pressure you, just making sure you didn't forget |
Sorry, I did forget. One last thing: could you do this?
|
I went a little extra polishing out some other docs around the crate ^^ |
Published in v2.0.0 I ended up ruling this a breaking change, due to the code generated by |
Closes #44.
At long last I got around to implementing this. The code changes are a little all over the place, but all the tests pass and I've even added a new one to check the behaviour wrt loose name matching.
I've opted to implement this by following the UAX's example procedure:
and generating the name->codepoint PHF with the mapped ("normalised") names as keys.
This isn't a breaking change; in particular, any name that mapped to a character before will continue mapping to that same character.
However, it still might be worth it to mention this behaviour in the documentation for the crate or the
character
function.