-
Notifications
You must be signed in to change notification settings - Fork 384
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
CLDR-12026 kbd: add proper azerty-optimisé #3220
CLDR-12026 kbd: add proper azerty-optimisé #3220
Conversation
@azmeuk any comments on this? The draft spec for this is https://cldr-smoke.unicode.org/spec/main/ldml/tr35-keyboards.html you can see the generated chart above - |
4a0cbea
to
b22b33b
Compare
Notice: the branch changed across the force-push!
~ Your Friendly Jira-GitHub PR Checker Bot |
9874bd2
to
3a20c4f
Compare
Notice: the branch changed across the force-push!
~ Your Friendly Jira-GitHub PR Checker Bot |
3a20c4f
to
1f42ec7
Compare
Notice: the branch changed across the force-push!
~ Your Friendly Jira-GitHub PR Checker Bot |
Chart above has been updated |
@azmeuk I think all of the base characters are in now. (just needs transform rule) |
Thank you. I will try to find some time this week or the next to review this. |
dadb65c
to
46f03f8
Compare
This comment was marked as outdated.
This comment was marked as outdated.
rebased due to #3274 |
out of date, I think this is probably going to go to v45 |
46f03f8
to
6dddc5b
Compare
This comment was marked as outdated.
This comment was marked as outdated.
As I finally could not find time to dedicate on this since last summer, I called people behind https://norme-azerty.fr/en/ for help. |
6dddc5b
to
e839d5c
Compare
This comment was marked as outdated.
This comment was marked as outdated.
- rename the existing fr-t-k0-azerty to fr-t-k0-test because it's really a test keyboard - beginning of a proper optimisé keyboard.
e839d5c
to
11b208e
Compare
This comment was marked as outdated.
This comment was marked as outdated.
keyboards/3.0/fr-t-k0-optimise.xml
Outdated
<row | ||
keys="mark-breve section mark-acute mark-grave amp open-square close-square mark-macron underscore open-double close-double degree mark-caron" /> | ||
<row | ||
keys="ae pound euro registered open-curly close-curly u-grave mark-dotabove oe percent minus-sign dagger" /> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The dot above dead key has a special case that I don't think is captured here – it should produce a dotless i (U+0131) when followed with a lowercase i.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
TODO but that is easy to do in this format
@dan-jac thank you for the feedback! |
No worries. Happy to help. I implemented the Windows driver based on the standard document, so I'm quite familiar with it at this point. I must admit, I haven't yet familiarized myself with this new version of the LDML format, so my feedback is based on what I think it's saying. For accent dead keys, is each mapping supposed to be explicitly listed? (In which case, this file is obviously not yet finished. Which is fine. 🙂) Or are they implicit (like with X11 keyboard maps), in which case special cases need special attention? |
I'm using combining accents where I can. so <transform from="\m{umlaut}($[vowel])" to="$1\u{0308}" /> .. just puts a U+0308 after the vowel. |
- thanks to review notes from @dan-jac
@dan-jac updated the XML, take a look |
- delete for now
- hit all cases, simplified some - renamed to just fr.xml
The standard requires the use of pre-composed accented characters. It also requires the use of a 'dead key' ( « touche morte » ) as the means of entry, as defined in ISO/IEC 9995-11 paragraph 5.1. Annex E of the standard (which is normative) lists all of the required Unicode code points of the pre-composed accented characters that must be made available. E.g.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
All of the changes introduced in this PR are good and get this closer to compliance with the standard. So in that sense, I approve! :)
As I've noted in a comment though, this doesn't mean it's actually compliant yet. (E.g. To be truly compliant, it would need to provide access to all the precomposed accented characters, not just the combining characters.)
@dan-jac the spec mandates everything will become precomposed during processing unless the layout opts out. The marker is used as a dead key (key will insert marker which user cannot see and then the next output will transform it). |
As @miloush noted this standard usually works in NFD. Each char in the "composable" set can be preceded by a marker to produce char + combining char for all base keys. |
@dan-jac I don't have a copy of the standard so can't check actual compliance yet. I'd like to port some of the compliance tests I see floating around and test them here. |
(cherry picked from commit 2907ef5)
(cherry picked from commit 2907ef5)
rename the existing fr-t-k0-azerty to fr-t-k0-test because it's really a test keyboard.
fr-t-k0-test.xml is used in unit tests, which update
add a proper optimisé keyboard (see ticket)
CLDR-12026
ALLOW_MANY_COMMITS=true