Skip to content

Commit 588fd7a

Browse files
authored
feat: added hungarian language basics (#149)
1 parent 66a8fd8 commit 588fd7a

File tree

13 files changed

+3091
-0
lines changed

13 files changed

+3091
-0
lines changed

packages/keybr-content-words/lib/data/words-hu.json

+3,002
Large diffs are not rendered by default.

packages/keybr-content-words/lib/load.ts

+7
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,13 @@ export async function loadWordList(language: Language): Promise<WordList> {
5959
"./data/words-he.json"
6060
)
6161
).default as unknown as WordList;
62+
case Language.HU:
63+
return (
64+
await import(
65+
/* webpackChunkName: "words-hu" */
66+
"./data/words-hu.json"
67+
)
68+
).default as unknown as WordList;
6269
case Language.IT:
6370
return (
6471
await import(

packages/keybr-keyboard-generator/lib/index.ts

+1
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ for (const [output, keymap] of [
4848
["fr_fr-win.ts", convertCldr("cldr-keyboards-43.0/keyboards/windows/fr-t-k0-windows.xml")],
4949
["fr_optimot_ergo.ts", LAYOUT_FR_OPTIMOT_ERGO],
5050
["he_il-win.ts", convertCldr("cldr-keyboards-43.0/keyboards/windows/he-t-k0-windows.xml")],
51+
["hu_hu-win.ts", convertCldr("cldr-keyboards-43.0/keyboards/windows/hu-t-k0-windows.xml")],
5152
["it_it-win.ts", convertCldr("cldr-keyboards-43.0/keyboards/windows/it-t-k0-windows.xml")],
5253
["ja_jp_jis.ts", LAYOUT_JA_JP_JIS],
5354
["nl_be-win.ts", convertCldr("cldr-keyboards-43.0/keyboards/windows/nl-BE-t-k0-windows.xml")],

packages/keybr-keyboard/lib/data/layout.ts

+1
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ export { LAYOUT_FR_ERGOL } from "./layout/fr_ergol.ts";
2323
export { LAYOUT_FR_FR_WIN } from "./layout/fr_fr-win.ts";
2424
export { LAYOUT_FR_OPTIMOT_ERGO } from "./layout/fr_optimot_ergo.ts";
2525
export { LAYOUT_HE_IL_WIN } from "./layout/he_il-win.ts";
26+
export { LAYOUT_HU_HU_WIN } from "./layout/hu_hu-win.ts";
2627
export { LAYOUT_IT_IT_WIN } from "./layout/it_it-win.ts";
2728
export { LAYOUT_JA_JP_JIS } from "./layout/ja_jp_jis.ts";
2829
export { LAYOUT_NL_BE_WIN } from "./layout/nl_be-win.ts";
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
// Generated file, do not edit.
2+
3+
import { type CodePointDict } from "../../types.ts";
4+
5+
// prettier-ignore
6+
export const LAYOUT_HU_HU_WIN: CodePointDict = {
7+
Backquote: [/* 0 */ 0x0030, /* § */ 0x00a7],
8+
Digit1: [/* 1 */ 0x0031, /* ' */ 0x0027, /* ~ */ 0x007e],
9+
Digit2: [/* 2 */ 0x0032, /* " */ 0x0022, /* DEAD CARON */ 0x030c],
10+
Digit3: [/* 3 */ 0x0033, /* + */ 0x002b, /* DEAD CIRCUMFLEX ACCENT */ 0x0302],
11+
Digit4: [/* 4 */ 0x0034, /* ! */ 0x0021, /* DEAD BREVE */ 0x0306],
12+
Digit5: [/* 5 */ 0x0035, /* % */ 0x0025, /* DEAD RING ABOVE */ 0x030a],
13+
Digit6: [/* 6 */ 0x0036, /* / */ 0x002f, /* DEAD OGONEK */ 0x0328],
14+
Digit7: [/* 7 */ 0x0037, /* = */ 0x003d, /* ` */ 0x0060],
15+
Digit8: [/* 8 */ 0x0038, /* ( */ 0x0028, /* DEAD DOT ABOVE */ 0x0307],
16+
Digit9: [/* 9 */ 0x0039, /* ) */ 0x0029, /* DEAD ACUTE ACCENT */ 0x0301],
17+
Digit0: [/* ö */ 0x00f6, /* Ö */ 0x00d6, /* DEAD DOUBLE ACUTE */ 0x030b],
18+
Minus: [/* ü */ 0x00fc, /* Ü */ 0x00dc, /* DEAD DIAERESIS */ 0x0308],
19+
Equal: [/* ó */ 0x00f3, /* Ó */ 0x00d3, /* DEAD CEDILLA */ 0x0327],
20+
KeyQ: [/* q */ 0x0071, /* Q */ 0x0051, /* \ */ 0x005c],
21+
KeyW: [/* w */ 0x0077, /* W */ 0x0057, /* | */ 0x007c],
22+
KeyE: [/* e */ 0x0065, /* E */ 0x0045, /* Ä */ 0x00c4],
23+
KeyR: [/* r */ 0x0072, /* R */ 0x0052],
24+
KeyT: [/* t */ 0x0074, /* T */ 0x0054],
25+
KeyY: [/* z */ 0x007a, /* Z */ 0x005a],
26+
KeyU: [/* u */ 0x0075, /* U */ 0x0055, /* € */ 0x20ac],
27+
KeyI: [/* i */ 0x0069, /* I */ 0x0049, /* Í */ 0x00cd],
28+
KeyO: [/* o */ 0x006f, /* O */ 0x004f],
29+
KeyP: [/* p */ 0x0070, /* P */ 0x0050],
30+
BracketLeft: [/* ő */ 0x0151, /* Ő */ 0x0150, /* ÷ */ 0x00f7],
31+
BracketRight: [/* ú */ 0x00fa, /* Ú */ 0x00da, /* × */ 0x00d7],
32+
Backslash: [/* ű */ 0x0171, /* Ű */ 0x0170, /* ¤ */ 0x00a4],
33+
KeyA: [/* a */ 0x0061, /* A */ 0x0041, /* ä */ 0x00e4],
34+
KeyS: [/* s */ 0x0073, /* S */ 0x0053, /* đ */ 0x0111],
35+
KeyD: [/* d */ 0x0064, /* D */ 0x0044, /* Đ */ 0x0110],
36+
KeyF: [/* f */ 0x0066, /* F */ 0x0046, /* [ */ 0x005b],
37+
KeyG: [/* g */ 0x0067, /* G */ 0x0047, /* ] */ 0x005d],
38+
KeyH: [/* h */ 0x0068, /* H */ 0x0048],
39+
KeyJ: [/* j */ 0x006a, /* J */ 0x004a, /* í */ 0x00ed],
40+
KeyK: [/* k */ 0x006b, /* K */ 0x004b, /* ł */ 0x0142],
41+
KeyL: [/* l */ 0x006c, /* L */ 0x004c, /* Ł */ 0x0141],
42+
Semicolon: [/* é */ 0x00e9, /* É */ 0x00c9, /* $ */ 0x0024],
43+
Quote: [/* á */ 0x00e1, /* Á */ 0x00c1, /* ß */ 0x00df],
44+
IntlBackslash: [/* í */ 0x00ed, /* Í */ 0x00cd, /* < */ 0x003c],
45+
KeyZ: [/* y */ 0x0079, /* Y */ 0x0059, /* > */ 0x003e],
46+
KeyX: [/* x */ 0x0078, /* X */ 0x0058, /* # */ 0x0023],
47+
KeyC: [/* c */ 0x0063, /* C */ 0x0043, /* & */ 0x0026],
48+
KeyV: [/* v */ 0x0076, /* V */ 0x0056, /* @ */ 0x0040],
49+
KeyB: [/* b */ 0x0062, /* B */ 0x0042, /* { */ 0x007b],
50+
KeyN: [/* n */ 0x006e, /* N */ 0x004e, /* } */ 0x007d],
51+
KeyM: [/* m */ 0x006d, /* M */ 0x004d, /* < */ 0x003c],
52+
Comma: [/* , */ 0x002c, /* ? */ 0x003f, /* ; */ 0x003b],
53+
Period: [/* . */ 0x002e, /* : */ 0x003a, /* > */ 0x003e],
54+
Slash: [/* - */ 0x002d, /* _ */ 0x005f, /* * */ 0x002a],
55+
};

packages/keybr-keyboard/lib/load.ts

+2
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ import {
3838
LAYOUT_FR_FR_WIN,
3939
LAYOUT_FR_OPTIMOT_ERGO,
4040
LAYOUT_HE_IL_WIN,
41+
LAYOUT_HU_HU_WIN,
4142
LAYOUT_IT_IT_WIN,
4243
LAYOUT_JA_JP_JIS,
4344
LAYOUT_NL_BE_WIN,
@@ -80,6 +81,7 @@ const layoutDict = new Map<Layout, CodePointDict>([
8081
[Layout.FR_FR, LAYOUT_FR_FR_WIN],
8182
[Layout.FR_OPTIMOT_ERGO, LAYOUT_FR_OPTIMOT_ERGO],
8283
[Layout.HE_IL, LAYOUT_HE_IL_WIN],
84+
[Layout.HU_HU, LAYOUT_HU_HU_WIN],
8385
[Layout.IT_IT, LAYOUT_IT_IT_WIN],
8486
[Layout.NL_BE, LAYOUT_NL_BE_WIN],
8587
[Layout.NL_NL, LAYOUT_NL_NL_WIN],

packages/keybr-layout/lib/language.ts

+2
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ export class Language implements EnumItem {
99
static readonly ES = new Language("es", "latin", "ltr");
1010
static readonly FR = new Language("fr", "latin", "ltr");
1111
static readonly HE = new Language("he", "hebrew", "rtl");
12+
static readonly HU = new Language("hu", "latin", "ltr");
1213
static readonly IT = new Language("it", "latin", "ltr");
1314
static readonly NL = new Language("nl", "latin", "ltr");
1415
static readonly PL = new Language("pl", "latin", "ltr");
@@ -27,6 +28,7 @@ export class Language implements EnumItem {
2728
Language.ES,
2829
Language.FR,
2930
Language.HE,
31+
Language.HU,
3032
Language.IT,
3133
Language.NL,
3234
Language.PL,

packages/keybr-layout/lib/layout.ts

+16
Original file line numberDiff line numberDiff line change
@@ -530,6 +530,21 @@ export class Layout implements XEnumItem {
530530
Geometry.MATRIX,
531531
),
532532
);
533+
static readonly HU_HU = new Layout(
534+
/* id= */ "hu-hu",
535+
/* xid= */ 0x87,
536+
/* name= */ "Hungary",
537+
/* family= */ "qwertz",
538+
/* language= */ Language.HU,
539+
/* emulate= */ false,
540+
/* geometries= */ new Enum(
541+
Geometry.STANDARD_102,
542+
Geometry.STANDARD_102_FULL,
543+
Geometry.STANDARD_101,
544+
Geometry.STANDARD_101_FULL,
545+
Geometry.MATRIX,
546+
),
547+
);
533548

534549
static readonly ALL = new XEnum<Layout>(
535550
Layout.EN_US,
@@ -556,6 +571,7 @@ export class Layout implements XEnumItem {
556571
Layout.FR_ERGLACE,
557572
Layout.FR_OPTIMOT_ERGO,
558573
Layout.HE_IL,
574+
Layout.HU_HU,
559575
Layout.IT_IT,
560576
Layout.NL_NL,
561577
Layout.NL_BE,

packages/keybr-phonetic-model-loader/lib/assets.ts

+3
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import langEnData from "@keybr/phonetic-model/assets/lang-en.data";
77
import langEsData from "@keybr/phonetic-model/assets/lang-es.data";
88
import langFrData from "@keybr/phonetic-model/assets/lang-fr.data";
99
import langHeData from "@keybr/phonetic-model/assets/lang-he.data";
10+
import langHuData from "@keybr/phonetic-model/assets/lang-hu.data";
1011
import langItData from "@keybr/phonetic-model/assets/lang-it.data";
1112
import langNlData from "@keybr/phonetic-model/assets/lang-nl.data";
1213
import langPlData from "@keybr/phonetic-model/assets/lang-pl.data";
@@ -34,6 +35,8 @@ export function modelAssetPath(language: Language): string {
3435
return langFrData;
3536
case Language.HE:
3637
return langHeData;
38+
case Language.HU:
39+
return langHuData;
3740
case Language.IT:
3841
return langItData;
3942
case Language.NL:
Binary file not shown.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
[]
Binary file not shown.

packages/keybr-phonetic-model/lib/generate/languages.ts

+1
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ export const languages: readonly Language[] = [
1414
{ id: "es", alphabet: "aábcdeéfghiíjlmnñoópqrstuúüvxyz" },
1515
{ id: "fr", alphabet: "aàbcçdeéèfghijlmnopqrstuvxyz" },
1616
{ id: "he", alphabet: "אבגדהוזחטיכךלמםנןסעפףצץקרשת" },
17+
{ id: "hu", alphabet: "aábcdeéfghiíjklmnoóöőpqrstuúüűvwxyz" },
1718
{ id: "it", alphabet: "abcdefghijklmnopqrstuvwxyz" },
1819
{ id: "nl", alphabet: "abcdefghijklmnopqrstuvwxyz" },
1920
{ id: "pl", alphabet: "aąbcćdeęfghijklłmnńoóprsśtuwyzźż" },

0 commit comments

Comments
 (0)