Skip to content
Draft
Binary file added cdn/dev/img/icon-ldml.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
11 changes: 10 additions & 1 deletion developer/index.php
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,15 @@
</p>
</a>
</div>
<div class="product" id="product-ldml">
<a href="ldml/">
<img height="100" style="padding: 25px;" src="<?php echo cdn("img/icon-ldml.png"); ?>" />
<h3>LDML Format</h3>
<p>
Documentation and reference for the Locale Data Markup Language (LDML) format.
</p>
</a>
</div>
<div class="product" id="product-developer">
<a href="current-version/">
<img src="<?php echo cdn("img/icon-developer.png"); ?>" />
Expand Down Expand Up @@ -113,4 +122,4 @@
</a>
</div>

</div>
</div>
18 changes: 18 additions & 0 deletions developer/ldml/guide/glossary.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
---
title: Glossary for LDML
---

## B {#b-glossary}

### BCP 47 language tag

A standardized code that is used to identify human languages on the Internet. More on [BCP 47](https://www.rfc-editor.org/info/bcp47).

There are many possible subtags, but only three types are currently used in most places in Keyman Developer:

* [language subtag](../../current-version/reference/bcp-47#toc-the-language-subtag)
* [script subtag](../../current-version/reference/bcp-47#toc-the-script-subtag)
* [region subtag](../../current-version/reference/bcp-47#toc-the-region-subtag)

More information about BCP 47 language tag and full details on [how they are used in Keyman Developer](../../current-version/reference/bcp-47).

8 changes: 8 additions & 0 deletions developer/ldml/guide/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
title: LDML Guide
---

## Language elements

* [LDML Language Overview](overview)
* [Glossary](glossary)
7 changes: 7 additions & 0 deletions developer/ldml/guide/overview.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
title: LDML overview
---

The LDML format …. Source files have the **.xml** extension and are text files.

17 changes: 17 additions & 0 deletions developer/ldml/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
---
title: LDML Format
---

LDML is the Locale Data Markup Language. It it an XML-based format specified as the Unicode Consortium’s specification [UTS#35 Part 7], maintained by the [Common Locale Data Repository (CLDR)][CLDR] Technical Commitee.

Like the [Keyman Keyboard Language (.kmn) format][kmn], the LDML Keyboard format defines how keystrokes are interpreted and how keys are laid out in a virtual keyboard. The LDML format has been defined from the beginning to become a cross-platform industry standard, with active participation from several Unicode member organizations including SIL Global.

[LDML guide](guide)

[LDML reference](reference)

<!-- Specification (External Link): [UTS#35 Part 7] -->

[CLDR]: https://cldr.unicode.org
[kmn]: ../language/
[UTS#35 Part 7]: https://www.unicode.org/reports/tr35/tr35-keyboards.html
47 changes: 47 additions & 0 deletions developer/ldml/reference/display.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
---
title: display
---

## Summary

The **`display`** element is used to overide the keytops for certain keys.

## Syntax

```xml
<display>
</display>
```

### Attributes

`id`
: The …

## Description

The `display` element is used to…

## Examples

### Example: Using `display`

```xml
<display>
</display>
```

## Version history

The `display` element was added in LDML v46

<!-- ## See also

- … -->

## See Also

- LDML Specification: [`<display>` in UTS#35 Part 7][tr35-element-display]

[tr35-element-display]: https://www.unicode.org/reports/tr35/tr35-keyboards.html#element-display

47 changes: 47 additions & 0 deletions developer/ldml/reference/displayOptions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
---
title: displayOptions
---

## Summary

The **`displayOptions`** element is used to provide setting information for keytop displays.

## Syntax

```xml
<displayOptions>
</displayOptions>
```

### Attributes

`id`
: The …

## Description

The `displayOptions` element is used to…

## Examples

### Example: Using `displayOptions`

```xml
<displayOptions>
</displayOptions>
```

## Version history

The `displayOptions` element was added in LDML v46

<!-- ## See also

- … -->

## See Also

- LDML Specification: [`<displayOptions>` in UTS#35 Part 7][tr35-element-displayOptions]

[tr35-element-displayOptions]: https://www.unicode.org/reports/tr35/tr35-keyboards.html#element-displayoptions

47 changes: 47 additions & 0 deletions developer/ldml/reference/displays.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
---
title: displays
---

## Summary

The **`displays`** element contains a collection of [`<display>`](display) elements as well as an optional [`<displayOptions>`](displayOptions) element.

## Syntax

```xml
<displays>
</displays>
```

### Attributes

`id`
: The …

## Description

The `displays` element is used to contain all [`<display>`](key) elements and the optional [`<displayOptions>`](displayOptions) element for the keyboard. There may only be one of these elements.

## Examples

### Example: Using `displays`

```xml
<displays>
</displays>
```

## Version history

The `displays` element was added in LDML v46

<!-- ## See also

- … -->

## See Also

- LDML Specification: [`<displays>` in UTS#35 Part 7][tr35-element-displays]

[tr35-element-displays]: https://www.unicode.org/reports/tr35/tr35-keyboards.html#element-displays

49 changes: 49 additions & 0 deletions developer/ldml/reference/flick.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
---
title: flick
---

## Summary

The **`flick`** element represents a set of possible flick gestures.

## Syntax

```xml
<flick>
</flick>
```

### Attributes

`id`
: The identifier for this flick. Only one flick may have this identifier, but it doesn't have to be diffrent from any other kinds of identifiers.

## Description

The **`flick`** element represents a set of possible flick gestures which can result in output text.

The element is referenced by its id, allowing multiple [`<key>`](key) elements to reference and reuse the same flick set.

## Examples

### Example: Using `flick`

```xml
<flick id="a">
</flick>
```

## Version history

The `flick` element was added in LDML v46

<!-- ## See also

- … -->

## See Also

- LDML Specification: [`<flick>` in UTS#35 Part 7][tr35-element-flick]

[tr35-element-flick]: https://www.unicode.org/reports/tr35/tr35-keyboards.html#element-flick

57 changes: 57 additions & 0 deletions developer/ldml/reference/flickSegment.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
---
title: flickSegment
---

## Summary

The **`flickSegment`** element represents one particular set of gestures which will produce a specific output.

## Syntax

```xml
<flickSegment>
</flickSegment>
```

### Attributes

`id`
: The …

## Description

The `flickSegment` element is used to represent one set of gestures (an ordered path), and their output. For example, "Sliding the touch North produces `A`". It could include more than one keyword, such as "Sliding the touch West and then South produces `B`".

### Directions

The following table attempts to show the eight directions supported by the format, relative to the center (•). So `nw` for Northwest means diagonally Up-and-Left, whereas `e` for East means directly to the right.

| | | |
|------|-----|------|
| `nw` | `n` | `ne` |
| `w` | • | `e` |
| `sw` | `s` | `se` |

## Examples

### Example: Using `flickSegment`

```xml
<flickSegment>
</flickSegment>
```

## Version history

The `flickSegment` element was added in LDML v46

<!-- ## See also

- … -->

## See Also

- LDML Specification: [`<flickSegment>` in UTS#35 Part 7][tr35-element-flickSegment]

[tr35-element-flickSegment]: https://www.unicode.org/reports/tr35/tr35-keyboards.html#element-flicksegment

49 changes: 49 additions & 0 deletions developer/ldml/reference/flicks.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
---
title: flicks
---

## Summary

The **`flicks`** element contains a collection of [`<flick>`](flick) elements.

## Syntax

```xml
<flicks>
</flicks>
```

### Attributes

`id`
: The …

## Description

The `flicks` element is used to contain all [`<flick>`](flick) elements for the keyboard. There may only be one of these elements.

## Examples

### Example: Using `flicks`

```xml
<flicks>
</flicks>
```

## Version history

The `flicks` element was added in LDML v46

<!-- ## See also

- … -->

## See Also

- LDML Specification: [`<flicks>` in UTS#35 Part 7][tr35-element-flicks]

[tr35-element-flicks]: https://www.unicode.org/reports/tr35/tr35-keyboards.html#element-flicks

Loading