diff --git a/docs/charts/keyboard/static/keyboard-chart.js b/docs/charts/keyboard/static/keyboard-chart.js index 1f8be16e851..353ed9dfc4f 100644 --- a/docs/charts/keyboard/static/keyboard-chart.js +++ b/docs/charts/keyboard/static/keyboard-chart.js @@ -94,7 +94,7 @@ function getKeyboardKeys(id) { { // add implied import "@_base": "cldr", - "@_path": "techpreview/keys-Latn-implied.xml", + "@_path": "45/keys-Latn-implied.xml", }, ...(_KeyboardData.keyboards[id].keyboard3.keys.import || []), ]; diff --git a/docs/ldml/tr35-keyboards.md b/docs/ldml/tr35-keyboards.md index 02257391816..81cbcf748a5 100644 --- a/docs/ldml/tr35-keyboards.md +++ b/docs/ldml/tr35-keyboards.md @@ -8,12 +8,6 @@ For the full header, summary, and status, see [Part 1: Core](tr35.md). -#### _Important Note_ - -> This is a technical preview of a future version of the LDML Part 7. See [_Status_](#status), below. -> -> There are breaking changes, see [Compatibility Notice](#compatibility-notice) - ### _Summary_ This document describes parts of an XML format (_vocabulary_) for the exchange of structured locale data. This format is used in the [Unicode Common Locale Data Repository](https://www.unicode.org/cldr/). @@ -27,12 +21,19 @@ See for up-to-date CLDR release data. ### _Status_ -This document is a _technical preview_ of the Keyboard standard. +_This is a draft document which may be updated, replaced, or superseded by other documents at any time. +Publication does not imply endorsement by the Unicode Consortium. +This is not a stable document; it is inappropriate to cite this document as other than a work in progress._ + + -To process earlier XML files, use the data and specification from v43.1, found at +> _**A Unicode Technical Standard (UTS)** is an independent specification. Conformance to the Unicode Standard does not imply conformance to any UTS._ -The CLDR [Keyboard Workgroup][keyboard-workgroup] is currently -developing this technical preview to the CLDR keyboard specification. +_Please submit corrigenda and other comments with the CLDR bug reporting form [[Bugs](tr35.md#Bugs)]. Related information that is useful in understanding this document is found in the [References](tr35.md#References). For the latest version of the Unicode Standard see [[Unicode](tr35.md#Unicode)]. For a list of current Unicode Technical Reports see [[Reports](tr35.md#Reports)]. For more information about versions of the Unicode Standard, see [[Versions](tr35.md#Versions)]._ + + +See also [Compatibility Notice](#compatibility-notice). ## Parts @@ -49,16 +50,12 @@ The LDML specification is divided into the following parts: ## Contents of Part 7, Keyboards - * [_Important Note_](#important-note) - * [_Summary_](#summary) - * [_Status_](#status) -* [Parts](#Parts) -* [Contents of Part 7, Keyboards](#Contents) * [Keyboards](#keyboards) * [Goals and Non-goals](#goals-and-non-goals) * [Compatibility Notice](#compatibility-notice) * [Accessibility](#accessibility) * [Definitions](#definitions) +* [Notation](#notation) * [Escaping](#escaping) * [UnicodeSet Escaping](#unicodeset-escaping) * [UTS18 Escaping](#uts18-escaping) @@ -98,6 +95,7 @@ The LDML specification is divided into the following parts: * [Element: import](#element-import) * [Element: displays](#element-displays) * [Element: display](#element-display) + * [Non-spacing marks on keytops](#non-spacing-marks-on-keytops) * [Element: displayOptions](#element-displayoptions) * [Element: forms](#element-forms) * [Element: form](#element-form) @@ -105,6 +103,7 @@ The LDML specification is divided into the following parts: * [Element: scanCodes](#element-scancodes) * [Element: layers](#element-layers) * [Element: layer](#element-layer) + * [Layer Modifier Sets](#layer-modifier-sets) * [Layer Modifier Components](#layer-modifier-components) * [Modifier Left- and Right- keys](#modifier-left--and-right--keys) * [Layer Modifier Matching](#layer-modifier-matching) @@ -203,9 +202,12 @@ Note that in parts of this document, the format `@x` is used to indicate the _at ### Compatibility Notice -> 👉 Note: CLDR-TC has agreed that the changes required were too extensive to maintain compatibility. For this reason, the `ldmlKeyboard3.dtd` DTD used here is _not_ compatible with DTDs from prior versions of CLDR such as v43 and prior. +> A major rewrite of this specification, called "Keyboard 3.0", was introduced in CLDR v45. +> The changes required were too extensive to maintain compatibility. For this reason, the `ldmlKeyboard3.dtd` DTD is _not_ compatible with DTDs from prior versions of CLDR such as v43 and prior. > > To process earlier XML files, use the data and specification from v43.1, found at +> +> `ldmlKeyboard.dtd` continues to be made available in CLDR, however, it will not be updated. ### Accessibility @@ -310,10 +312,10 @@ Attribute values escaped in this manner are annotated with the ` … - + @@ -1497,7 +1499,7 @@ There is an implied set of `
` elements corresponding to the default forms, ```xml - + ``` @@ -2876,6 +2878,8 @@ The following are the design principles for the IDs. ## Keyboard Test Data +> **NOTE**: The Keyboard Test Data format is a technical preview, it is subject to revision in future versions of CLDR. + Keyboard Test Data allows the keyboard author to provide regression test data to validate the repertoire and behavior of a keyboard. Tooling can run these regression tests against an implementation, and can also be used as part of the development cycle to validate that keyboard changes do not deviate from expected behavior. In the interest of complete coverage, tooling could also indicate whether all keys and gestures in a layout are exercised by the test data. Test data files have a separate DTD, named `ldmlKeyboardTest3.dtd`. Note that multiple test data files can refer to the same keyboard. Test files should be named similarly to the keyboards which they test, such as `fr_test.xml` to test `fr.xml`. @@ -2886,6 +2890,8 @@ The following describes the structure of a keyboard test file. ### Test Doctype +> **NOTE**: The Keyboard Test Data format is a technical preview, it is subject to revision in future versions of CLDR. + ```xml @@ -2895,6 +2901,8 @@ The top level element is named `keyboardTest`. ### Test Element: keyboardTest +> **NOTE**: The Keyboard Test Data format is a technical preview, it is subject to revision in future versions of CLDR. + > > > Children: [info](#test-element-info), [repertoire](#test-element-repertoire), [_special_](tr35.md#special), [tests](#test-element-tests) @@ -2904,7 +2912,7 @@ This is the top level element. _Attribute:_ `conformsTo` (required) -The `conformsTo` attribute value here is the same as on the [``](#element-keyboard3) element. +The `conformsTo` attribute value here is a fixed value of `techpreview`, because the test data is a Technical Preview. ```xml @@ -2916,6 +2924,8 @@ The `conformsTo` attribute value here is the same as on the [``](#ele ### Test Element: info +> **NOTE**: The Keyboard Test Data format is a technical preview, it is subject to revision in future versions of CLDR. + > > > Parents: [keyboardTest](#test-element-keyboardtest) @@ -2943,6 +2953,8 @@ This attribute value specifies a name for this overall test file. These names co ### Test Element: repertoire +> **NOTE**: The Keyboard Test Data format is a technical preview, it is subject to revision in future versions of CLDR. + > > > Parents: [keyboardTest](#test-element-keyboardtest) @@ -2994,6 +3006,9 @@ Note: CLDR’s extensive [exemplar set](tr35-general.md#Character_Elements) data ### Test Element: tests +> **NOTE**: The Keyboard Test Data format is a technical preview, it is subject to revision in future versions of CLDR. + + > > > Parents: [keyboardTest](#test-element-keyboardtest) @@ -3029,6 +3044,9 @@ This attribute value specifies a unique name for this suite of tests. These name ### Test Element: test +> **NOTE**: The Keyboard Test Data format is a technical preview, it is subject to revision in future versions of CLDR. + + > > > Parents: [tests](#test-element-tests) @@ -3054,6 +3072,8 @@ This attribute value specifies a unique name for this particular test. These nam ### Test Element: startContext +> **NOTE**: The Keyboard Test Data format is a technical preview, it is subject to revision in future versions of CLDR. + This element specifies pre-existing text in a document, as if prior to the user’s insertion point. This is useful for testing transforms and reordering. If not specified, the startContext can be considered to be the empty string (""). > @@ -3078,6 +3098,9 @@ Specifies the starting context. This text may be escaped with `\u` notation, see ### Test Element: keystroke +> **NOTE**: The Keyboard Test Data format is a technical preview, it is subject to revision in future versions of CLDR. + + > > > Parents: [test](#test-element-test) @@ -3123,6 +3146,9 @@ This attribute value specifies that a multi-tap gesture should be performed on t ### Test Element: emit +> **NOTE**: The Keyboard Test Data format is a technical preview, it is subject to revision in future versions of CLDR. + + > > > Parents: [test](#test-element-test) @@ -3152,6 +3178,9 @@ This attribute value may be escaped with `\u` notation, see [Escaping](#escaping ### Test Element: backspace +> **NOTE**: The Keyboard Test Data format is a technical preview, it is subject to revision in future versions of CLDR. + + > > > Parents: [test](#test-element-test) @@ -3171,6 +3200,9 @@ This element contains a backspace action, as if the user typed the backspace key ### Test Element: check +> **NOTE**: The Keyboard Test Data format is a technical preview, it is subject to revision in future versions of CLDR. + + > > > Parents: [test](#test-element-test) diff --git a/keyboards/3.0/bn.xml b/keyboards/3.0/bn.xml index 88f897ff4dc..a0bed4640a9 100644 --- a/keyboards/3.0/bn.xml +++ b/keyboards/3.0/bn.xml @@ -1,5 +1,5 @@ - + - + @@ -36,8 +36,8 @@ - - + + diff --git a/keyboards/3.0/ja-Latn.xml b/keyboards/3.0/ja-Latn.xml index d48acb70b01..a2ffda522a9 100644 --- a/keyboards/3.0/ja-Latn.xml +++ b/keyboards/3.0/ja-Latn.xml @@ -1,5 +1,5 @@ - + @@ -7,8 +7,8 @@ - - + + diff --git a/keyboards/3.0/mt-t-k0-47key.xml b/keyboards/3.0/mt-t-k0-47key.xml index 788be91a296..9c7ed0fcccd 100644 --- a/keyboards/3.0/mt-t-k0-47key.xml +++ b/keyboards/3.0/mt-t-k0-47key.xml @@ -1,5 +1,5 @@ - + @@ -9,8 +9,8 @@ - - + + diff --git a/keyboards/3.0/mt.xml b/keyboards/3.0/mt.xml index 64e29cc1dc8..bf0693cff96 100644 --- a/keyboards/3.0/mt.xml +++ b/keyboards/3.0/mt.xml @@ -5,7 +5,7 @@ This file is subject to change. Please see https://cldr.unicode.org/index/keyboard-workgroup for the latest information. --> - + @@ -15,8 +15,8 @@ - - + + diff --git a/keyboards/3.0/pcm.xml b/keyboards/3.0/pcm.xml index 867e35ec4f2..84473302841 100644 --- a/keyboards/3.0/pcm.xml +++ b/keyboards/3.0/pcm.xml @@ -1,10 +1,10 @@ - + - - + + diff --git a/keyboards/3.0/pt-t-k0-abnt2.xml b/keyboards/3.0/pt-t-k0-abnt2.xml index 64977cd23bf..d612141166e 100644 --- a/keyboards/3.0/pt-t-k0-abnt2.xml +++ b/keyboards/3.0/pt-t-k0-abnt2.xml @@ -1,5 +1,5 @@ - + @@ -14,8 +14,8 @@ - - + + diff --git a/keyboards/README.md b/keyboards/README.md deleted file mode 100644 index 2ea66e7df1e..00000000000 --- a/keyboards/README.md +++ /dev/null @@ -1,4 +0,0 @@ -#### _Important Note_ - -> The CLDR [Keyboard Subcommittee](https://cldr.unicode.org/index/keyboard-workgroup) is currently -> developing major changes to the CLDR keyboard specification. Please view the subcommittee page for the most recent information. diff --git a/keyboards/dtd/ldmlKeyboard3.dtd b/keyboards/dtd/ldmlKeyboard3.dtd index a5160c3119e..32765796906 100644 --- a/keyboards/dtd/ldmlKeyboard3.dtd +++ b/keyboards/dtd/ldmlKeyboard3.dtd @@ -1,52 +1,42 @@ - + - - - + + - - - - - - - + + - @@ -62,15 +52,12 @@ Please view the subcommittee page for the most recent information. - - - @@ -82,20 +69,16 @@ Please view the subcommittee page for the most recent information. - - - - @@ -127,12 +110,10 @@ Please view the subcommittee page for the most recent information. - - @@ -140,28 +121,23 @@ Please view the subcommittee page for the most recent information. - - - - - @@ -169,13 +145,11 @@ Please view the subcommittee page for the most recent information. - - @@ -201,12 +175,10 @@ Please view the subcommittee page for the most recent information. - - @@ -221,7 +193,6 @@ Please view the subcommittee page for the most recent information. - diff --git a/keyboards/dtd/ldmlKeyboard3.xsd b/keyboards/dtd/ldmlKeyboard3.xsd index 9a445135fc8..6cad096c41b 100644 --- a/keyboards/dtd/ldmlKeyboard3.xsd +++ b/keyboards/dtd/ldmlKeyboard3.xsd @@ -7,14 +7,11 @@ Note: DTD @-annotations are not currently converted to .xsd. For full CLDR file @@ -37,16 +34,17 @@ Note: DTD @-annotations are not currently converted to .xsd. For full CLDR file - + - - - - + + + + + @@ -59,8 +57,7 @@ Note: DTD @-annotations are not currently converted to .xsd. For full CLDR file - - + @@ -68,32 +65,28 @@ Note: DTD @-annotations are not currently converted to .xsd. For full CLDR file - - - + - + - + - - - - - - + + + + @@ -102,15 +95,14 @@ Note: DTD @-annotations are not currently converted to .xsd. For full CLDR file - - - - - - - - - + + + + + + + + @@ -122,9 +114,8 @@ Note: DTD @-annotations are not currently converted to .xsd. For full CLDR file - - - + + @@ -135,7 +126,6 @@ Note: DTD @-annotations are not currently converted to .xsd. For full CLDR file - @@ -143,24 +133,21 @@ Note: DTD @-annotations are not currently converted to .xsd. For full CLDR file - - - - - - - + + + + + + - - - - + + + - @@ -170,7 +157,6 @@ Note: DTD @-annotations are not currently converted to .xsd. For full CLDR file - @@ -197,24 +183,23 @@ Note: DTD @-annotations are not currently converted to .xsd. For full CLDR file - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + @@ -233,18 +218,16 @@ Note: DTD @-annotations are not currently converted to .xsd. For full CLDR file - - + - - - - + + + @@ -254,7 +237,6 @@ Note: DTD @-annotations are not currently converted to .xsd. For full CLDR file - @@ -264,16 +246,14 @@ Note: DTD @-annotations are not currently converted to .xsd. For full CLDR file - - + - - - + + @@ -285,9 +265,8 @@ Note: DTD @-annotations are not currently converted to .xsd. For full CLDR file - - - + + @@ -298,18 +277,16 @@ Note: DTD @-annotations are not currently converted to .xsd. For full CLDR file - - - + + - - - - + + + @@ -321,36 +298,35 @@ Note: DTD @-annotations are not currently converted to .xsd. For full CLDR file - - - - - + + + + - - - - + + + + - - - + + + @@ -368,8 +344,7 @@ Note: DTD @-annotations are not currently converted to .xsd. For full CLDR file - - + @@ -382,20 +357,19 @@ Note: DTD @-annotations are not currently converted to .xsd. For full CLDR file - - - - - - - - + + + + + + + @@ -411,4 +385,4 @@ Note: DTD @-annotations are not currently converted to .xsd. For full CLDR file - + \ No newline at end of file diff --git a/keyboards/dtd/ldmlKeyboardTest3.dtd b/keyboards/dtd/ldmlKeyboardTest3.dtd index ccb1078b81d..ba78772fbd6 100644 --- a/keyboards/dtd/ldmlKeyboardTest3.dtd +++ b/keyboards/dtd/ldmlKeyboardTest3.dtd @@ -1,17 +1,12 @@ +This DTD describes a technical preview of Keyboard Test Data --> diff --git a/keyboards/dtd/ldmlKeyboardTest3.xsd b/keyboards/dtd/ldmlKeyboardTest3.xsd index da82a29b19c..dd1fc39f994 100644 --- a/keyboards/dtd/ldmlKeyboardTest3.xsd +++ b/keyboards/dtd/ldmlKeyboardTest3.xsd @@ -7,17 +7,12 @@ Note: DTD @-annotations are not currently converted to .xsd. For full CLDR file diff --git a/keyboards/import/README.md b/keyboards/import/README.md index 561b503fc87..462f072f016 100644 --- a/keyboards/import/README.md +++ b/keyboards/import/README.md @@ -3,10 +3,10 @@ The XML files in this directory are importable using the keyboard syntax as follows: ```xml - + ``` -As an experiment, a naming convention is being attempted: +This is the naming convention being used: - _type_`-`_script_`-`_description_`.xml` @@ -16,11 +16,8 @@ So, - `keys-Zyyy-punctuation.xml` is of [script](https://www.unicode.org/iso15924/iso15924-codes.html) `Zyyy`, aka "Common". - See [tr35-keyboard.md](../../docs/ldml/tr35-keyboards.md#Element_import) -## Copyright +## Copyright and License -Copyright © 2022 Unicode, Inc. -All rights reserved. -[Terms of use](http://www.unicode.org/copyright.html) +See the top level [README.md](../../README.md#copyright--licenses) diff --git a/tools/cldr-code/src/main/java/org/unicode/cldr/tool/KeyboardFlatten.java b/tools/cldr-code/src/main/java/org/unicode/cldr/tool/KeyboardFlatten.java index 8244eb68d73..78ed9358ecd 100644 --- a/tools/cldr-code/src/main/java/org/unicode/cldr/tool/KeyboardFlatten.java +++ b/tools/cldr-code/src/main/java/org/unicode/cldr/tool/KeyboardFlatten.java @@ -83,8 +83,8 @@ private static void flattenImport( final String path = getPath(item); System.err.println("Import: " + base + ":" + path); if (base.equals("cldr")) { - if (path.startsWith("techpreview/")) { - final String subpath = path.replaceFirst("techpreview/", ""); + if (path.startsWith("45/")) { + final String subpath = path.replaceFirst("45/", ""); final File importDir = new File( CLDRConfig.getInstance().getCldrBaseDirectory(), diff --git a/tools/cldr-code/src/main/java/org/unicode/cldr/util/CLDRFile.java b/tools/cldr-code/src/main/java/org/unicode/cldr/util/CLDRFile.java index ace78fa059d..1abf7142935 100644 --- a/tools/cldr-code/src/main/java/org/unicode/cldr/util/CLDRFile.java +++ b/tools/cldr-code/src/main/java/org/unicode/cldr/util/CLDRFile.java @@ -1692,10 +1692,8 @@ private void push(String qName, Attributes attributes) { // // if (attribute.equals("cldrVersion") && (qName.equals("version"))) { - if (!value.equals("techpreview")) { // TODO: Keyboard techpreview - ((SimpleXMLSource) target.dataSource) - .setDtdVersionInfo(VersionInfo.getInstance(value)); - } + ((SimpleXMLSource) target.dataSource) + .setDtdVersionInfo(VersionInfo.getInstance(value)); } else { putAndFixDeprecatedAttribute(qName, attribute, value); } diff --git a/tools/cldr-code/src/test/resources/org/unicode/cldr/tool/KeyboardFlatten/broken-import-missing.xml b/tools/cldr-code/src/test/resources/org/unicode/cldr/tool/KeyboardFlatten/broken-import-missing.xml index 69c240a1c19..1a562eae029 100644 --- a/tools/cldr-code/src/test/resources/org/unicode/cldr/tool/KeyboardFlatten/broken-import-missing.xml +++ b/tools/cldr-code/src/test/resources/org/unicode/cldr/tool/KeyboardFlatten/broken-import-missing.xml @@ -1,5 +1,5 @@ - + @@ -9,7 +9,7 @@ - + diff --git a/tools/cldr-code/src/test/resources/org/unicode/cldr/tool/KeyboardFlatten/broken-import-unknownbase.xml b/tools/cldr-code/src/test/resources/org/unicode/cldr/tool/KeyboardFlatten/broken-import-unknownbase.xml index 4982742d91d..aa16c90f18e 100644 --- a/tools/cldr-code/src/test/resources/org/unicode/cldr/tool/KeyboardFlatten/broken-import-unknownbase.xml +++ b/tools/cldr-code/src/test/resources/org/unicode/cldr/tool/KeyboardFlatten/broken-import-unknownbase.xml @@ -1,5 +1,5 @@ - + @@ -9,7 +9,7 @@ - + diff --git a/tools/cldr-code/src/test/resources/org/unicode/cldr/tool/KeyboardFlatten/broken-import-unknownver.xml b/tools/cldr-code/src/test/resources/org/unicode/cldr/tool/KeyboardFlatten/broken-import-unknownver.xml index ddd4045ee92..be62d98abe6 100644 --- a/tools/cldr-code/src/test/resources/org/unicode/cldr/tool/KeyboardFlatten/broken-import-unknownver.xml +++ b/tools/cldr-code/src/test/resources/org/unicode/cldr/tool/KeyboardFlatten/broken-import-unknownver.xml @@ -1,5 +1,5 @@ - + diff --git a/tools/cldr-code/src/test/resources/org/unicode/cldr/tool/KeyboardFlatten/broken-import-wrongparent.xml b/tools/cldr-code/src/test/resources/org/unicode/cldr/tool/KeyboardFlatten/broken-import-wrongparent.xml index 71ba07e115a..ab11a21620d 100644 --- a/tools/cldr-code/src/test/resources/org/unicode/cldr/tool/KeyboardFlatten/broken-import-wrongparent.xml +++ b/tools/cldr-code/src/test/resources/org/unicode/cldr/tool/KeyboardFlatten/broken-import-wrongparent.xml @@ -1,8 +1,8 @@ - + - +