@heroiclands/fonts 0.1.0 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/README.md +56 -5
  2. package/fonts/KhelathiZethuGlyphs-Regular.ttf +0 -0
  3. package/fonts/KhelathiZethuGlyphs-Regular.woff2 +0 -0
  4. package/fonts/PirzathCarved-Regular.ttf +0 -0
  5. package/fonts/PirzathCarved-Regular.woff2 +0 -0
  6. package/fonts/PirzathHand-Regular.ttf +0 -0
  7. package/fonts/PirzathHand-Regular.woff2 +0 -0
  8. package/fonts/QalezuHand-Regular.ttf +0 -0
  9. package/fonts/QalezuHand-Regular.woff2 +0 -0
  10. package/fonts/SemaronKuriale-Regular.ttf +0 -0
  11. package/fonts/SemaronKuriale-Regular.woff2 +0 -0
  12. package/fonts/ThuravarkCarved-Regular.ttf +0 -0
  13. package/fonts/ThuravarkCarved-Regular.woff2 +0 -0
  14. package/fonts.css +44 -0
  15. package/fonts.json +4338 -0
  16. package/keyboards/emacs/heroiclands-pirzath.el +93 -0
  17. package/keyboards/emacs/heroiclands-qalezu.el +130 -0
  18. package/keyboards/emacs/heroiclands-semaron.el +99 -0
  19. package/keyboards/emacs/heroiclands-thuravark.el +69 -0
  20. package/keyboards/emacs/heroiclands-zethu.el +332 -0
  21. package/keyboards/linux/hl_pirzath +50 -0
  22. package/keyboards/linux/hl_qalezu +49 -0
  23. package/keyboards/linux/hl_semaron +45 -0
  24. package/keyboards/linux/hl_thuravark +43 -0
  25. package/keyboards/macos/HeroicLands.bundle/Contents/Info.plist +44 -0
  26. package/keyboards/macos/HeroicLands.bundle/Contents/Resources/HL Pirzath.keylayout +203 -0
  27. package/keyboards/macos/HeroicLands.bundle/Contents/Resources/HL Qalezu.keylayout +241 -0
  28. package/keyboards/macos/HeroicLands.bundle/Contents/Resources/HL Semaron.keylayout +208 -0
  29. package/keyboards/macos/HeroicLands.bundle/Contents/Resources/HL Thuravark.keylayout +197 -0
  30. package/keyboards/pirzath.md +86 -0
  31. package/keyboards/qalezu.md +123 -0
  32. package/keyboards/semaron.md +91 -0
  33. package/keyboards/thuravark.md +61 -0
  34. package/keyboards/windows/pirzath.klc +0 -0
  35. package/keyboards/windows/qalezu.klc +0 -0
  36. package/keyboards/windows/semaron.klc +0 -0
  37. package/keyboards/windows/thuravark.klc +0 -0
  38. package/keyboards/zethu.md +320 -0
  39. package/package.json +5 -3
  40. package/encoding/khelathi-zethu-glyphs.json +0 -483
  41. package/encoding/qalezu-hand.json +0 -108
@@ -0,0 +1,332 @@
1
+ ;;; heroiclands-zethu.el --- Type Zethu with Quail -*- lexical-binding: t; -*-
2
+
3
+ ;; Copyright (c) 2026 Tom Rodriguez ("Toasty") — <toasty@heroiclands.org>
4
+ ;; SPDX-License-Identifier: OFL-1.1
5
+
6
+ ;;; Commentary:
7
+
8
+ ;; An input method for the code points of Khelathi Zethu Glyphs.
9
+ ;; Generated by tools/keyboards.py from fonts.json. Put this directory on
10
+ ;; `load-path', evaluate (require 'heroiclands-zethu), then M-x set-input-method.
11
+
12
+ ;;; Code:
13
+
14
+ (require 'quail)
15
+
16
+ (quail-define-package
17
+ "heroiclands-zethu" "Zethu" "HL-Zet" t
18
+ "Type Khelathi Zethu Glyphs with the same keys as the macOS layout.
19
+ Type a sign's id, such as 08-001, to insert the sign. Every id has the form
20
+ two digits, a hyphen and three digits.
21
+ The cheatsheet keyboards/zethu.md lists every key."
22
+ nil t nil nil nil nil nil nil nil nil t)
23
+
24
+ (quail-define-rules
25
+ ("01-002" #x1EA41)
26
+ ("01-003" #x1EA42)
27
+ ("01-005" #x1EA44)
28
+ ("01-006" #x1EA45)
29
+ ("01-007" #x1EA46)
30
+ ("01-008" #x1EA47)
31
+ ("01-009" #x1EA48)
32
+ ("01-010" #x1EA49)
33
+ ("01-011" #x1EA4A)
34
+ ("01-012" #x1EA4B)
35
+ ("01-013" #x1EA4C)
36
+ ("01-014" #x1EA4D)
37
+ ("01-015" #x1EA4E)
38
+ ("01-016" #x1EA4F)
39
+ ("01-017" #x1EA50)
40
+ ("01-018" #x1EA51)
41
+ ("01-020" #x1EA53)
42
+ ("01-021" #x1EA54)
43
+ ("01-023" #x1EA56)
44
+ ("01-024" #x1EA57)
45
+ ("01-025" #x1EA58)
46
+ ("01-026" #x1EA59)
47
+ ("01-028" #x1EA5B)
48
+ ("01-029" #x1EA5C)
49
+ ("01-030" #x1EA5D)
50
+ ("01-032" #x1EA5F)
51
+ ("01-033" #x1EA60)
52
+ ("01-034" #x1EA61)
53
+ ("01-035" #x1EA62)
54
+ ("01-038" #x1EA65)
55
+ ("01-039" #x1EA66)
56
+ ("01-040" #x1EA67)
57
+ ("01-041" #x1EA68)
58
+ ("01-042" #x1EA69)
59
+ ("01-043" #x1EA6A)
60
+ ("01-044" #x1EA6B)
61
+ ("01-045" #x1EA6C)
62
+ ("01-046" #x1EA6D)
63
+ ("01-047" #x1EA6E)
64
+ ("01-049" #x1EA70)
65
+ ("01-050" #x1EA71)
66
+ ("01-051" #x1EA72)
67
+ ("01-052" #x1EA73)
68
+ ("01-053" #x1EA74)
69
+ ("01-054" #x1EA75)
70
+ ("01-056" #x1EA77)
71
+ ("01-057" #x1EA78)
72
+ ("01-058" #x1EA79)
73
+ ("01-059" #x1EA7A)
74
+ ("01-060" #x1EA7B)
75
+ ("01-061" #x1EA7C)
76
+ ("01-062" #x1EA7D)
77
+ ("02-002" #x1EA7F)
78
+ ("02-006" #x1EA83)
79
+ ("02-007" #x1EA84)
80
+ ("02-008" #x1EA85)
81
+ ("02-009" #x1EA86)
82
+ ("02-010" #x1EA87)
83
+ ("02-011" #x1EA88)
84
+ ("02-015" #x1EA8C)
85
+ ("02-017" #x1EA8E)
86
+ ("02-019" #x1EA90)
87
+ ("03-001" #x1EA91)
88
+ ("03-003" #x1EA93)
89
+ ("03-004" #x1EA94)
90
+ ("03-005" #x1EA95)
91
+ ("03-006" #x1EA96)
92
+ ("03-007" #x1EA97)
93
+ ("03-008" #x1EA98)
94
+ ("03-009" #x1EA99)
95
+ ("03-010" #x1EA9A)
96
+ ("03-011" #x1EA9B)
97
+ ("03-012" #x1EA9C)
98
+ ("03-013" #x1EA9D)
99
+ ("03-014" #x1EA9E)
100
+ ("03-015" #x1EA9F)
101
+ ("03-016" #x1EAA0)
102
+ ("03-017" #x1EAA1)
103
+ ("03-018" #x1EAA2)
104
+ ("03-019" #x1EAA3)
105
+ ("03-020" #x1EAA4)
106
+ ("03-021" #x1EAA5)
107
+ ("03-022" #x1EAA6)
108
+ ("03-023" #x1EAA7)
109
+ ("03-024" #x1EAA8)
110
+ ("04-003" #x1EAAC)
111
+ ("04-006" #x1EAAF)
112
+ ("04-011" #x1EAB4)
113
+ ("04-015" #x1EAB8)
114
+ ("04-017" #x1EABA)
115
+ ("04-018" #x1EABB)
116
+ ("04-020" #x1EABD)
117
+ ("04-021" #x1EABE)
118
+ ("05-004" #x1EAC3)
119
+ ("05-005" #x1EAC4)
120
+ ("05-006" #x1EAC5)
121
+ ("05-014" #x1EACD)
122
+ ("05-018" #x1EAD1)
123
+ ("05-024" #x1EAD7)
124
+ ("05-035" #x1EAE2)
125
+ ("06-003" #x1EAE9)
126
+ ("06-005" #x1EAEB)
127
+ ("06-010" #x1EAF0)
128
+ ("06-014" #x1EAF4)
129
+ ("06-020" #x1EAFA)
130
+ ("06-022" #x1EAFC)
131
+ ("06-027" #x1EB01)
132
+ ("06-029" #x1EB03)
133
+ ("06-031" #x1EB05)
134
+ ("07-001" #x1EB09)
135
+ ("07-002" #x1EB0A)
136
+ ("07-009" #x1EB11)
137
+ ("08-001" #x1EB1D)
138
+ ("08-005" #x1EB21)
139
+ ("08-006" #x1EB22)
140
+ ("08-007" #x1EB23)
141
+ ("08-008" #x1EB24)
142
+ ("08-014" #x1EB2A)
143
+ ("08-016" #x1EB2C)
144
+ ("09-001" #x1EB31)
145
+ ("09-002" #x1EB32)
146
+ ("09-005" #x1EB35)
147
+ ("09-006" #x1EB36)
148
+ ("09-007" #x1EB37)
149
+ ("09-008" #x1EB38)
150
+ ("09-009" #x1EB39)
151
+ ("09-010" #x1EB3A)
152
+ ("09-015" #x1EB3F)
153
+ ("09-016" #x1EB40)
154
+ ("09-017" #x1EB41)
155
+ ("09-018" #x1EB42)
156
+ ("09-019" #x1EB43)
157
+ ("09-020" #x1EB44)
158
+ ("09-021" #x1EB45)
159
+ ("09-022" #x1EB46)
160
+ ("10-001" #x1EB48)
161
+ ("10-002" #x1EB49)
162
+ ("10-007" #x1EB4E)
163
+ ("10-008" #x1EB4F)
164
+ ("10-009" #x1EB50)
165
+ ("10-010" #x1EB51)
166
+ ("10-011" #x1EB52)
167
+ ("10-012" #x1EB53)
168
+ ("10-013" #x1EB54)
169
+ ("10-014" #x1EB55)
170
+ ("10-015" #x1EB56)
171
+ ("10-016" #x1EB57)
172
+ ("10-017" #x1EB58)
173
+ ("10-018" #x1EB59)
174
+ ("10-019" #x1EB5A)
175
+ ("10-020" #x1EB5B)
176
+ ("10-022" #x1EB5D)
177
+ ("10-023" #x1EB5E)
178
+ ("10-024" #x1EB5F)
179
+ ("10-026" #x1EB61)
180
+ ("10-027" #x1EB62)
181
+ ("10-028" #x1EB63)
182
+ ("11-001" #x1EB64)
183
+ ("11-002" #x1EB65)
184
+ ("11-003" #x1EB66)
185
+ ("11-004" #x1EB67)
186
+ ("11-005" #x1EB68)
187
+ ("11-006" #x1EB69)
188
+ ("11-007" #x1EB6A)
189
+ ("11-008" #x1EB6B)
190
+ ("11-009" #x1EB6C)
191
+ ("11-011" #x1EB6E)
192
+ ("11-012" #x1EB6F)
193
+ ("11-013" #x1EB70)
194
+ ("11-014" #x1EB71)
195
+ ("11-015" #x1EB72)
196
+ ("11-016" #x1EB73)
197
+ ("11-017" #x1EB74)
198
+ ("11-018" #x1EB75)
199
+ ("11-019" #x1EB76)
200
+ ("11-020" #x1EB77)
201
+ ("11-021" #x1EB78)
202
+ ("11-022" #x1EB79)
203
+ ("11-024" #x1EB7B)
204
+ ("11-025" #x1EB7C)
205
+ ("12-001" #x1EB7D)
206
+ ("12-002" #x1EB7E)
207
+ ("12-003" #x1EB7F)
208
+ ("12-004" #x1EB80)
209
+ ("12-005" #x1EB81)
210
+ ("12-006" #x1EB82)
211
+ ("12-007" #x1EB83)
212
+ ("12-009" #x1EB85)
213
+ ("12-011" #x1EB87)
214
+ ("12-012" #x1EB88)
215
+ ("12-014" #x1EB8A)
216
+ ("13-001" #x1EB8B)
217
+ ("13-002" #x1EB8C)
218
+ ("13-003" #x1EB8D)
219
+ ("13-004" #x1EB8E)
220
+ ("13-005" #x1EB8F)
221
+ ("13-006" #x1EB90)
222
+ ("13-007" #x1EB91)
223
+ ("13-008" #x1EB92)
224
+ ("13-009" #x1EB93)
225
+ ("13-010" #x1EB94)
226
+ ("13-011" #x1EB95)
227
+ ("13-012" #x1EB96)
228
+ ("13-013" #x1EB97)
229
+ ("13-014" #x1EB98)
230
+ ("13-015" #x1EB99)
231
+ ("13-016" #x1EB9A)
232
+ ("13-017" #x1EB9B)
233
+ ("13-018" #x1EB9C)
234
+ ("13-021" #x1EB9F)
235
+ ("13-022" #x1EBA0)
236
+ ("13-024" #x1EBA2)
237
+ ("13-025" #x1EBA3)
238
+ ("13-026" #x1EBA4)
239
+ ("13-027" #x1EBA5)
240
+ ("13-029" #x1EBA7)
241
+ ("13-030" #x1EBA8)
242
+ ("13-032" #x1EBAA)
243
+ ("13-033" #x1EBAB)
244
+ ("13-034" #x1EBAC)
245
+ ("13-035" #x1EBAD)
246
+ ("13-036" #x1EBAE)
247
+ ("13-037" #x1EBAF)
248
+ ("13-038" #x1EBB0)
249
+ ("13-039" #x1EBB1)
250
+ ("13-040" #x1EBB2)
251
+ ("14-001" #x1EBB4)
252
+ ("14-003" #x1EBB6)
253
+ ("14-004" #x1EBB7)
254
+ ("14-005" #x1EBB8)
255
+ ("14-006" #x1EBB9)
256
+ ("14-007" #x1EBBA)
257
+ ("14-008" #x1EBBB)
258
+ ("14-009" #x1EBBC)
259
+ ("14-011" #x1EBBE)
260
+ ("14-012" #x1EBBF)
261
+ ("14-015" #x1EBC2)
262
+ ("14-016" #x1EBC3)
263
+ ("14-017" #x1EBC4)
264
+ ("14-018" #x1EBC5)
265
+ ("14-019" #x1EBC6)
266
+ ("14-020" #x1EBC7)
267
+ ("14-021" #x1EBC8)
268
+ ("14-022" #x1EBC9)
269
+ ("15-001" #x1EBCB)
270
+ ("15-004" #x1EBCE)
271
+ ("15-007" #x1EBD1)
272
+ ("15-014" #x1EBD8)
273
+ ("15-015" #x1EBD9)
274
+ ("15-016" #x1EBDA)
275
+ ("15-017" #x1EBDB)
276
+ ("16-001" #x1EBDC)
277
+ ("16-003" #x1EBDE)
278
+ ("16-004" #x1EBDF)
279
+ ("16-005" #x1EBE0)
280
+ ("16-006" #x1EBE1)
281
+ ("16-007" #x1EBE2)
282
+ ("16-008" #x1EBE3)
283
+ ("16-009" #x1EBE4)
284
+ ("16-011" #x1EBE6)
285
+ ("16-012" #x1EBE7)
286
+ ("16-013" #x1EBE8)
287
+ ("16-014" #x1EBE9)
288
+ ("16-015" #x1EBEA)
289
+ ("16-016" #x1EBEB)
290
+ ("16-018" #x1EBED)
291
+ ("16-019" #x1EBEE)
292
+ ("01-063" #x1EBF0)
293
+ ("01-064" #x1EBF1)
294
+ ("01-065" #x1EBF2)
295
+ ("05-040" #x1EBF3)
296
+ ("07-021" #x1EBF4)
297
+ ("03-026" #x1EBF5)
298
+ ("03-027" #x1EBF6)
299
+ ("03-028" #x1EBF7)
300
+ ("14-024" #x1EBF8)
301
+ ("14-025" #x1EBF9)
302
+ ("14-029" #x1EBFD)
303
+ ("09-024" #x1EBFE)
304
+ ("01-066" #x1EBFF)
305
+ ("10-029" #x1EC00)
306
+ ("12-015" #x1EC01)
307
+ ("04-023" #x1EC02)
308
+ ("16-021" #x1EC03)
309
+ ("14-030" #x1EC04)
310
+ ("13-042" #x1EC05)
311
+ ("12-016" #x1EC06)
312
+ ("01-067" #x1EC07)
313
+ ("01-068" #x1EC08)
314
+ ("01-069" #x1EC09)
315
+ ("10-030" #x1EC0A)
316
+ ("01-070" #x1EC0B)
317
+ ("04-024" #x1EC0C)
318
+ ("03-029" #x1EC0D)
319
+ ("16-022" #x1EC0F)
320
+ ("01-072" #x1EC11)
321
+ ("16-024" #x1EC14)
322
+ ("16-025" #x1EC15)
323
+ ("16-026" #x1EC16)
324
+ ("16-027" #x1EC17)
325
+ ("16-028" #x1EC18)
326
+ ("16-029" #x1EC19)
327
+ ("16-030" #x1EC1A)
328
+ ("03-030" #x1EC1B))
329
+
330
+ (provide 'heroiclands-zethu)
331
+
332
+ ;;; heroiclands-zethu.el ends here
@@ -0,0 +1,50 @@
1
+ // HL Pirzath: Type Pirzath with the same keys as the macOS layout.
2
+ // Generated by tools/keyboards.py from fonts.json. Option is the third level,
3
+ // reached with the right Alt key.
4
+ default partial alphanumeric_keys
5
+ xkb_symbols "basic" {
6
+ include "us(basic)"
7
+ include "level3(ralt_switch)"
8
+ name[Group1] = "HL Pirzath";
9
+
10
+ key <AE01> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF0041, UF0052, UF004B, NoSymbol ] };
11
+ key <AE02> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF0042, at, UF004C, NoSymbol ] };
12
+ key <AE03> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF0043, numbersign, UF004D, NoSymbol ] };
13
+ key <AE04> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF0044, dollar, UF004E, NoSymbol ] };
14
+ key <AE05> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF0045, percent, UF004F, NoSymbol ] };
15
+ key <AE06> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF0046, asciicircum, NoSymbol, NoSymbol ] };
16
+ key <AE07> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF0047, ampersand, NoSymbol, NoSymbol ] };
17
+ key <AE08> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF0048, asterisk, NoSymbol, NoSymbol ] };
18
+ key <AE09> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF0049, parenleft, NoSymbol, NoSymbol ] };
19
+ key <AE10> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF0040, parenright, UF004A, NoSymbol ] };
20
+ key <AE11> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF0053, underscore, NoSymbol, NoSymbol ] };
21
+ key <AD01> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF0015, Q, NoSymbol, NoSymbol ] };
22
+ key <AD02> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF0016, UF0034, NoSymbol, NoSymbol ] };
23
+ key <AD03> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF0001, UF0032, UF0060, NoSymbol ] };
24
+ key <AD04> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF0013, R, NoSymbol, NoSymbol ] };
25
+ key <AD05> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF000A, UF0020, NoSymbol, NoSymbol ] };
26
+ key <AD06> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF0017, UF0029, NoSymbol, NoSymbol ] };
27
+ key <AD07> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF0004, UF0031, NoSymbol, NoSymbol ] };
28
+ key <AD08> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF0002, I, NoSymbol, NoSymbol ] };
29
+ key <AD09> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF0003, UF0033, NoSymbol, NoSymbol ] };
30
+ key <AD10> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF0005, P, NoSymbol, NoSymbol ] };
31
+ key <AC01> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF0000, UF0030, NoSymbol, NoSymbol ] };
32
+ key <AC02> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF000F, UF0024, NoSymbol, NoSymbol ] };
33
+ key <AC03> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF000B, UF0021, NoSymbol, NoSymbol ] };
34
+ key <AC04> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF0007, F, NoSymbol, NoSymbol ] };
35
+ key <AC05> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF000E, UF0023, NoSymbol, NoSymbol ] };
36
+ key <AC06> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF0011, UF002A, NoSymbol, NoSymbol ] };
37
+ key <AC07> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF0014, J, NoSymbol, NoSymbol ] };
38
+ key <AC08> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF000D, UF0022, NoSymbol, NoSymbol ] };
39
+ key <AC09> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF0012, L, NoSymbol, NoSymbol ] };
40
+ key <AC11> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF0018, quotedbl, NoSymbol, NoSymbol ] };
41
+ key <AB01> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF0010, UF0025, NoSymbol, NoSymbol ] };
42
+ key <AB02> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ x, UF0026, NoSymbol, NoSymbol ] };
43
+ key <AB03> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ c, UF0027, NoSymbol, NoSymbol ] };
44
+ key <AB04> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF0008, V, NoSymbol, NoSymbol ] };
45
+ key <AB05> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF0006, B, NoSymbol, NoSymbol ] };
46
+ key <AB06> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF000C, UF0028, NoSymbol, NoSymbol ] };
47
+ key <AB07> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF0009, M, NoSymbol, NoSymbol ] };
48
+ key <AB08> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF0051, UF0054, NoSymbol, NoSymbol ] };
49
+ key <AB09> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF0050, UF0055, NoSymbol, NoSymbol ] };
50
+ };
@@ -0,0 +1,49 @@
1
+ // HL Qalezu: Type Qalezu with the same keys as the macOS layout.
2
+ // Generated by tools/keyboards.py from fonts.json. Option is the third level,
3
+ // reached with the right Alt key.
4
+ default partial alphanumeric_keys
5
+ xkb_symbols "basic" {
6
+ include "us(basic)"
7
+ include "level3(ralt_switch)"
8
+ name[Group1] = "HL Qalezu";
9
+
10
+ key <AE01> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ U1EA2E, exclam, NoSymbol, U1ECEB ] };
11
+ key <AE02> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ U1EA2F, at, NoSymbol, NoSymbol ] };
12
+ key <AE03> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ U1EA30, numbersign, NoSymbol, NoSymbol ] };
13
+ key <AE04> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ U1EA31, dollar, NoSymbol, NoSymbol ] };
14
+ key <AE05> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ U1EA32, percent, NoSymbol, NoSymbol ] };
15
+ key <AE06> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ U1EA33, asciicircum, NoSymbol, NoSymbol ] };
16
+ key <AE07> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ U1EA34, ampersand, NoSymbol, NoSymbol ] };
17
+ key <AE08> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ U1EA35, asterisk, NoSymbol, NoSymbol ] };
18
+ key <AE09> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ U1EA36, parenleft, NoSymbol, NoSymbol ] };
19
+ key <AE10> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ U1EA2D, parenright, NoSymbol, U1ECEA ] };
20
+ key <AD01> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ U1EA0B, U1ECD9, U1EA22, U1ECCB ] };
21
+ key <AD02> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ U1EA13, U1ECDD, U1EA2A, U1ECD3 ] };
22
+ key <AD03> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ e, U1EA26, NoSymbol, U1ECE3 ] };
23
+ key <AD04> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ U1EA01, U1ECDA, U1EA18, U1ECC1 ] };
24
+ key <AD05> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ U1EA02, U1EA09, U1EA19, U1ECC2 ] };
25
+ key <AD06> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ U1EA14, U1ECDF, U1EA2B, U1ECD4 ] };
26
+ key <AD07> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ u, U1ECDB, NoSymbol, U1ECE7 ] };
27
+ key <AD08> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ i, U1ECCC, NoSymbol, U1ECE4 ] };
28
+ key <AD09> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ o, U1ECD7, NoSymbol, U1ECE6 ] };
29
+ key <AD10> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ U1EA10, U1ECD8, U1EA27, U1ECD0 ] };
30
+ key <AC01> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ a, U1EA20, NoSymbol, U1ECE1 ] };
31
+ key <AC02> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ U1EA05, U1EA0F, U1EA1C, U1ECC5 ] };
32
+ key <AC03> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ U1EA03, U1EA24, U1EA1A, U1ECC3 ] };
33
+ key <AC04> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ U1EA12, U1EA2C, U1EA29, U1ECD2 ] };
34
+ key <AC05> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ U1EA06, U1EA0D, U1EA1D, U1ECC6 ] };
35
+ key <AC06> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ U1EA0E, U1ECC9, U1EA25, U1ECCE ] };
36
+ key <AC07> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ j, U1ECCD, NoSymbol, U1ECE5 ] };
37
+ key <AC08> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ U1EA07, U1EA0C, U1EA1E, U1ECC7 ] };
38
+ key <AC09> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ U1EA00, U1ECCF, U1EA17, U1ECC0 ] };
39
+ key <AC11> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ U1EA15, quotedbl, NoSymbol, NoSymbol ] };
40
+ key <AB01> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ U1EA04, U1ECE0, U1EA1B, U1ECC4 ] };
41
+ key <AB02> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ x, U1ECDE, NoSymbol, U1ECE9 ] };
42
+ key <AB03> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ c, U1EA16, NoSymbol, U1ECE2 ] };
43
+ key <AB04> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ v, U1ECDC, NoSymbol, U1ECE8 ] };
44
+ key <AB05> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ U1EA11, U1EA23, U1EA28, U1ECD1 ] };
45
+ key <AB06> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ U1EA08, U1ECD6, U1EA1F, U1ECC8 ] };
46
+ key <AB07> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ U1EA0A, U1ECD5, U1EA21, U1ECCA ] };
47
+ key <AB08> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ U1EA38, less, NoSymbol, NoSymbol ] };
48
+ key <AB09> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ U1EA37, greater, NoSymbol, NoSymbol ] };
49
+ };
@@ -0,0 +1,45 @@
1
+ // HL Semaron: Type Semaron with the same keys as the macOS layout.
2
+ // Generated by tools/keyboards.py from fonts.json. Option is the third level,
3
+ // reached with the right Alt key.
4
+ default partial alphanumeric_keys
5
+ xkb_symbols "basic" {
6
+ include "us(basic)"
7
+ include "level3(ralt_switch)"
8
+ name[Group1] = "HL Semaron";
9
+
10
+ key <TLDE> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF0270, asciitilde, NoSymbol, NoSymbol ] };
11
+ key <AE01> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF0259, exclam, NoSymbol, NoSymbol ] };
12
+ key <AE02> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF025A, at, NoSymbol, NoSymbol ] };
13
+ key <AE03> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF025B, numbersign, NoSymbol, NoSymbol ] };
14
+ key <AE04> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF025C, dollar, NoSymbol, NoSymbol ] };
15
+ key <AE05> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF025D, percent, NoSymbol, NoSymbol ] };
16
+ key <AE06> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF025E, asciicircum, NoSymbol, NoSymbol ] };
17
+ key <AE07> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF025F, ampersand, NoSymbol, NoSymbol ] };
18
+ key <AE08> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF0260, asterisk, NoSymbol, NoSymbol ] };
19
+ key <AE09> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF0261, parenleft, NoSymbol, NoSymbol ] };
20
+ key <AE10> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF0258, parenright, NoSymbol, NoSymbol ] };
21
+ key <AD02> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF0244, UF0214, NoSymbol, NoSymbol ] };
22
+ key <AD03> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF0233, UF0203, UF0249, UF0221 ] };
23
+ key <AD04> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF023F, UF020F, NoSymbol, NoSymbol ] };
24
+ key <AD05> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF0241, UF0211, UF0250, UF0251 ] };
25
+ key <AD06> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF0245, UF0215, NoSymbol, NoSymbol ] };
26
+ key <AD07> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF0242, UF0212, UF024C, UF0224 ] };
27
+ key <AD08> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF0237, UF0207, UF024A, UF0222 ] };
28
+ key <AD09> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF023D, UF020D, UF024B, UF0223 ] };
29
+ key <AD10> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF023E, UF020E, NoSymbol, NoSymbol ] };
30
+ key <AC01> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF0230, UF0200, UF0248, UF0220 ] };
31
+ key <AC02> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF0240, UF0210, NoSymbol, NoSymbol ] };
32
+ key <AC03> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF0232, UF0202, NoSymbol, NoSymbol ] };
33
+ key <AC04> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF0234, UF0204, NoSymbol, NoSymbol ] };
34
+ key <AC05> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF0235, UF0205, NoSymbol, NoSymbol ] };
35
+ key <AC06> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF0236, UF0206, NoSymbol, NoSymbol ] };
36
+ key <AC07> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF0238, UF0208, NoSymbol, NoSymbol ] };
37
+ key <AC08> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF0239, UF0209, NoSymbol, NoSymbol ] };
38
+ key <AC09> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF023A, UF020A, NoSymbol, NoSymbol ] };
39
+ key <AB01> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF0246, UF0216, NoSymbol, NoSymbol ] };
40
+ key <AB04> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF0243, UF0213, NoSymbol, NoSymbol ] };
41
+ key <AB05> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF0231, UF0201, NoSymbol, NoSymbol ] };
42
+ key <AB06> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF023C, UF020C, NoSymbol, NoSymbol ] };
43
+ key <AB07> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF023B, UF020B, NoSymbol, NoSymbol ] };
44
+ key <AB09> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF0268, greater, NoSymbol, NoSymbol ] };
45
+ };
@@ -0,0 +1,43 @@
1
+ // HL Thuravark: Type Thuravark with the same keys as the macOS layout.
2
+ // Generated by tools/keyboards.py from fonts.json. Option is the third level,
3
+ // reached with the right Alt key.
4
+ default partial alphanumeric_keys
5
+ xkb_symbols "basic" {
6
+ include "us(basic)"
7
+ include "level3(ralt_switch)"
8
+ name[Group1] = "HL Thuravark";
9
+
10
+ key <AE01> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF0131, exclam, NoSymbol, NoSymbol ] };
11
+ key <AE02> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF0132, at, NoSymbol, NoSymbol ] };
12
+ key <AE03> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF0133, numbersign, NoSymbol, NoSymbol ] };
13
+ key <AE04> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF0134, dollar, NoSymbol, NoSymbol ] };
14
+ key <AE05> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF0135, percent, NoSymbol, NoSymbol ] };
15
+ key <AE06> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF0136, asciicircum, NoSymbol, NoSymbol ] };
16
+ key <AE07> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF0137, ampersand, NoSymbol, NoSymbol ] };
17
+ key <AE08> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF0138, asterisk, NoSymbol, NoSymbol ] };
18
+ key <AE09> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF0139, parenleft, NoSymbol, NoSymbol ] };
19
+ key <AE10> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF0130, parenright, NoSymbol, NoSymbol ] };
20
+ key <AD02> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF0114, W, NoSymbol, NoSymbol ] };
21
+ key <AD03> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF0101, E, UF0148, NoSymbol ] };
22
+ key <AD04> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF0110, R, NoSymbol, NoSymbol ] };
23
+ key <AD05> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF0112, UF0120, NoSymbol, NoSymbol ] };
24
+ key <AD07> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF0104, U, NoSymbol, NoSymbol ] };
25
+ key <AD08> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF0102, I, NoSymbol, NoSymbol ] };
26
+ key <AD09> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF0103, O, NoSymbol, NoSymbol ] };
27
+ key <AD10> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF010F, P, NoSymbol, NoSymbol ] };
28
+ key <AC01> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF0100, A, NoSymbol, NoSymbol ] };
29
+ key <AC02> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF0111, S, NoSymbol, NoSymbol ] };
30
+ key <AC03> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF0106, UF0121, NoSymbol, NoSymbol ] };
31
+ key <AC04> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF0107, F, NoSymbol, NoSymbol ] };
32
+ key <AC05> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF0108, UF0123, NoSymbol, NoSymbol ] };
33
+ key <AC06> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF0109, UF0124, NoSymbol, NoSymbol ] };
34
+ key <AC07> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF010A, J, NoSymbol, NoSymbol ] };
35
+ key <AC08> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF010B, UF0122, NoSymbol, NoSymbol ] };
36
+ key <AC09> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF010C, L, NoSymbol, NoSymbol ] };
37
+ key <AB01> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF0115, Z, NoSymbol, NoSymbol ] };
38
+ key <AB04> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF0113, V, NoSymbol, NoSymbol ] };
39
+ key <AB05> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF0105, B, NoSymbol, NoSymbol ] };
40
+ key <AB06> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF010E, UF0125, NoSymbol, NoSymbol ] };
41
+ key <AB07> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF010D, M, NoSymbol, NoSymbol ] };
42
+ key <AB09> { type[Group1] = "FOUR_LEVEL", symbols[Group1] = [ UF0140, greater, NoSymbol, NoSymbol ] };
43
+ };
@@ -0,0 +1,44 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+ <plist version="1.0">
4
+ <dict>
5
+ <key>CFBundleIdentifier</key>
6
+ <string>org.heroiclands.keyboardlayout.fonts</string>
7
+ <key>CFBundleName</key>
8
+ <string>HeroicLands</string>
9
+ <key>CFBundlePackageType</key>
10
+ <string>BNDL</string>
11
+ <key>CFBundleShortVersionString</key>
12
+ <string>0.1.1</string>
13
+ <key>CFBundleVersion</key>
14
+ <string>0.1.1</string>
15
+ <key>KLInfo_HL Semaron</key>
16
+ <dict>
17
+ <key>TISInputSourceID</key>
18
+ <string>org.heroiclands.keyboardlayout.semaron</string>
19
+ <key>TISIntendedLanguage</key>
20
+ <string>en</string>
21
+ </dict>
22
+ <key>KLInfo_HL Pirzath</key>
23
+ <dict>
24
+ <key>TISInputSourceID</key>
25
+ <string>org.heroiclands.keyboardlayout.pirzath</string>
26
+ <key>TISIntendedLanguage</key>
27
+ <string>en</string>
28
+ </dict>
29
+ <key>KLInfo_HL Thuravark</key>
30
+ <dict>
31
+ <key>TISInputSourceID</key>
32
+ <string>org.heroiclands.keyboardlayout.thuravark</string>
33
+ <key>TISIntendedLanguage</key>
34
+ <string>en</string>
35
+ </dict>
36
+ <key>KLInfo_HL Qalezu</key>
37
+ <dict>
38
+ <key>TISInputSourceID</key>
39
+ <string>org.heroiclands.keyboardlayout.qalezu</string>
40
+ <key>TISIntendedLanguage</key>
41
+ <string>en</string>
42
+ </dict>
43
+ </dict>
44
+ </plist>