Skip to content

Commit

Permalink
chore(resources,core): CLDR v46 data
Browse files Browse the repository at this point in the history
  • Loading branch information
srl295 committed Sep 13, 2024
1 parent 947a5fd commit 5c48d6c
Show file tree
Hide file tree
Showing 29 changed files with 3,657 additions and 5 deletions.
6 changes: 3 additions & 3 deletions core/include/ldml/keyman_core_ldml.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,11 @@
#pragma once

#define LDML_BKSP_FLAGS_ERROR 0x1
#define LDML_CLDR_IMPLIED_FORMS_IMPORT "45/scanCodes-implied.xml"
#define LDML_CLDR_IMPLIED_KEYS_IMPORT "45/keys-Latn-implied.xml"
#define LDML_CLDR_IMPLIED_FORMS_IMPORT "46/scanCodes-implied.xml"
#define LDML_CLDR_IMPLIED_KEYS_IMPORT "46/keys-Latn-implied.xml"
#define LDML_CLDR_IMPORT_BASE "cldr"
#define LDML_CLDR_TEST_VERSION_LATEST "techpreview"
#define LDML_CLDR_VERSION_LATEST "45"
#define LDML_CLDR_VERSION_LATEST "46"
#define LDML_ELEM_FLAGS_ORDER_BITSHIFT 0x10
#define LDML_ELEM_FLAGS_ORDER_MASK 0xFF0000
#define LDML_ELEM_FLAGS_PREBASE 0x8
Expand Down
4 changes: 2 additions & 2 deletions core/include/ldml/keyman_core_ldml.ts
Original file line number Diff line number Diff line change
Expand Up @@ -57,9 +57,9 @@ class Constants {
*/
readonly version = '1.0';
/**
* The current CLDR version
* The latest CLDR version
*/
readonly cldr_version_latest = '45';
readonly cldr_version_latest = '46';
/**
* The version for testdata files
*/
Expand Down
169 changes: 169 additions & 0 deletions resources/standards-data/ldml-keyboards/46/3.0/bn.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,169 @@
<?xml version="1.0" encoding="UTF-8"?>
<keyboard3 xmlns="https://schemas.unicode.org/cldr/46/keyboard3" locale="bn" conformsTo="46">
<!--
History:
Based on
https://github.com/keymanapp/ldml-keyboards-dev/blob/master/keyboards/sil-bengali/bn-t-k0-cldr-phonetic.ldml
-->
<locales>
<locale id="as" />
<locale id="syl" />
</locales>
<version number="1.3.0" />
<info name="SIL Bengali-Assamese Phonetic" indicator="bn" layout="QWERTY" />

<displays>
<display keyId="au-lengthener" display="" />
<display keyId="vis-hasant" display="" /> <!-- TODO: distinguish from regular hasant? -->
<display keyId="more" display="" />
</displays>

<keys>
<import base="cldr" path="46/keys-Zyyy-punctuation.xml" />
<import base="cldr" path="46/keys-Zyyy-currency.xml" />

<key id="1" output="" />
<key id="2" output="" />
<key id="3" output="" />
<key id="4" output="" />
<key id="5" output="" />
<key id="6" output="" />
<key id="7" output="" />
<key id="8" output="" />
<key id="9" output="" />
<key id="0" output="" />

<!-- special keys and marks -->
<key id="au-lengthener" output="\m{A}" />
<key id="candrabindu" output="\u{0981}" /> <!---->
<key id="hasant" output="\u{09CD}" />
<key id="more" output="\m{q}" /> <!-- 'additional characters' -->
<key id="nukta" output="\u{09BC}" />
<key id="vis-hasant" output="\m{X}" />

<!-- key names based on https://www.loc.gov/catdir/cpso/romanization/bengali.pdf + Assamese for /wa/ -->
<key id="ā" output="\u{09BE}" />
<key id="ai" output="\u{09C8}" />
<key id="au" output="\u{09CC}" />
<key id="ba" output="" />
<key id="bha" output="" />
<key id="ca" output="" />
<key id="cha" output="" />
<key id="ḍa" output="" />
<key id="da" output="" />
<key id="dahri" output="" />
<key id="ḍha" output="" />
<key id="dha" output="" />
<key id="e" output="\u{09C7}" />
<key id="ga" output="" />
<key id="gha" output="" />
<key id="ha" output="" />
<key id="i" output="\u{09BF}" />
<key id="ī" output="\u{09C0}" />
<key id="ja" output="" />
<key id="jha" output="" />
<key id="ka" output="" />
<key id="kha" output="" />
<key id="la" output="" />
<key id="" output="\u{0982}" />
<key id="ma" output="" />
<key id="ṅa" output="" />
<key id="ña" output="" />
<key id="ṇa" output="" />
<key id="na" output="" />
<key id="o" output="\u{09CB}" />
<key id="pa" output="" />
<key id="pha" output="" />
<key id="" output="\u{09C3}" />
<key id="ra" output="" />
<key id="śa" output="" />
<key id="sa" output="" />
<key id="sha" output="" />
<key id="ṭa" output="" />
<key id="ta" output="" />
<key id="ṭha" output="" />
<key id="tha" output="" />
<key id="u" output="\u{09C1}" />
<key id="ū" output="\u{09C2}" />
<key id="wa" output="" /> <!-- Assamese transliteration -->
<key id="ya" output="" />
<key id="ẏa" output="য়" /> <!-- Missing in Keyman version of file-->
</keys>
<layers formId="us">
<layer modifiers="none">
<row keys="candrabindu 1 2 3 4 5 6 7 8 9 0 hyphen equal" />
<row keys="more wa e ra ta ya u i o pa open-square close-square backslash" />
<row keys="ā sa da ṭa ga ha ja ka la semi-colon apos" />
<row keys="śa hasant ca ḍa ba na ma comma dahri slash" />
<row keys="space" />
</layer>
<layer modifiers="shift">
<row
keys="ṃ bang at hash dollar percent caret amp asterisk open-paren close-paren underscore plus" />
<row keys="gap ña ai ṛ tha ẏa ū ī au pha open-curly close-curly pipe" />
<row keys="au-lengthener sha dha ṭha gha gap jha kha gap colon double-quote" />
<row keys="gap vis-hasant cha ḍha bha ṇa ṅa open-angle nukta question" />
<row keys="space" />
</layer>
</layers>

<transforms type="simple">
<transformGroup>
<transform from="\u{09C7}\m{A}" to="\u{09CC}" /> <!-- E + au-lengthener = AU -->
<!-- <transform from="\u{09C7}\u{09BE}" to="\u09CB" /> --> <!-- E + A = O This is handled by normalization. -->

<!-- these suport the 'q' key -->
<transform from="\m{q}:" to="\u{0983}" />
<transform from="\m{q}L" to="" />
<transform from="\m{q}।" to="" />
<transform from="\m{q}ড" to="" />
<transform from="\m{q}ঢ" to="" />
<transform from="\m{q}ত" to="" />
<transform from="\m{q}য" to="" />
<transform from="\m{q}র" to="" />
<transform from="\m{q}ল" to="" />
<transform from="\m{q}\u{09BE}" to="" />
<transform from="\m{q}\u{09BF}" to="" />
<transform from="\m{q}\u{09C0}" to="" />
<transform from="\m{q}\u{09C1}" to="" />
<transform from="\m{q}\u{09C2}" to="" />
<transform from="\m{q}\u{09C3}" to="" />
<transform from="\m{q}\u{09C7}" to="" />
<transform from="\m{q}\u{09C8}" to="" />
<transform from="\m{q}\u{09CB}" to="" />
<transform from="\m{q}\u{09CC}" to="" />
<transform from="\m{q}\m{A}" to="" />
<transform from="\m{q}\m{X}" to="\u{09CD}\u{200C}" /> <!-- virama + zwnj-->
</transformGroup>
<transformGroup>
<!-- Nukta is tertiary, that is, it follows a tertiaryBase sequence -->
<reorder from="\u{09BC}" tertiary="3"/>
<!--
virama (hasant) followed by any other spacing chars has order 10, because this sequence goes after the consonant to which the virama pertains.
For example:
U+099A U+09CD U+099B
CA virama CHA
0 10 10
-->
<reorder from="\u{09CD}[\u{0980}\u{0985}-\u{098C}\u{098F}\u{0990}\u{0993}-\u{09A8}\u{09AA}-\u{09B0}\u{09B2}\u{09B6}-\u{09B9}\u{09BD}\u{09DC}\u{09DD}\u{09DF}-\u{09E1}\u{09E6}-\u{09F1}\u{09FC}]" order="10" tertiaryBase="true"/>
<!-- 10: virama + zwj/zwnj + spacing mark is also 10-->
<reorder from="\u{09CD}[\u{200C}\u{200D}][\u{0980}\u{0985}-\u{098C}\u{098F}\u{0990}\u{0993}-\u{09A8}\u{09AA}-\u{09B0}\u{09B2}\u{09B6}-\u{09B9}\u{09BD}\u{09DC}\u{09DD}\u{09DF}-\u{09E1}\u{09E6}-\u{09F1}\u{09FC}]" order="10" tertiaryBase="true"/>
<!-- 120: A virama not followed by a spacing mark goes further to the right (past the sandhi mark, below) -->
<reorder from="\u{09CD}" order="120" tertiaryBase="true"/>
<!-- The next three rules make sure the DVs are in the correct order-->
<!-- 60: left side dependent vowels -->
<reorder from="[\u{09BF}\u{09C7}\u{09C8}]" order="60"/>
<!-- 70: lower dependent vowels -->
<reorder from="[\u{09C1}-\u{09C4}\u{09E2}\u{09E3}]" order="70"/>
<!-- 75: right side dependent vowels. Note U+09D7 AU LENGTH MARK is included due to NFD -->
<reorder from="[\u{09BE}\u{09C0}\u{09CB}\u{09CC}\u{09D7}]" order="75"/>
<!-- 85: candrabindu -->
<reorder from="\u{0981}" order="85"/>
<!-- 95: anusvara and visarga -->
<reorder from="[\u{0982}\u{0983}]" order="95"/>
<!-- 117: sandhi mark -->
<reorder from="\u{09FE}" order="117"/>
</transformGroup>
</transforms>
</keyboard3>
Loading

0 comments on commit 5c48d6c

Please sign in to comment.