@kulupu-linku/sona 0.1.0
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.
- package/LICENSE +674 -0
- package/README.md +4 -0
- package/dist/chunk-T34XQGQK.js +36 -0
- package/dist/index.d.ts +1038 -0
- package/dist/index.js +210 -0
- package/dist/utils.d.ts +13 -0
- package/dist/utils.js +14 -0
- package/generated/commentary_translation.json +13 -0
- package/generated/definition_translation.json +14 -0
- package/generated/etymology_translation.json +30 -0
- package/generated/fingerspelling.json +123 -0
- package/generated/fingerspelling_sign.json +84 -0
- package/generated/font.json +111 -0
- package/generated/fonts.json +115 -0
- package/generated/icon_translation.json +14 -0
- package/generated/parameters_translation.json +32 -0
- package/generated/sandbox.json +299 -0
- package/generated/sign.json +102 -0
- package/generated/signs.json +146 -0
- package/generated/sitelen_pona_translation.json +13 -0
- package/generated/word.json +249 -0
- package/generated/words.json +299 -0
- package/package.json +65 -0
package/dist/index.js
ADDED
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Book,
|
|
3
|
+
CoinedEra,
|
|
4
|
+
UsageCategory,
|
|
5
|
+
WritingSystem,
|
|
6
|
+
YearMonth
|
|
7
|
+
} from "./chunk-T34XQGQK.js";
|
|
8
|
+
|
|
9
|
+
// src/index.ts
|
|
10
|
+
import { z } from "zod";
|
|
11
|
+
var Word = z.object({
|
|
12
|
+
author_verbatim: z.string().describe("The author's original definition, taken verbatim in their words"),
|
|
13
|
+
author_verbatim_source: z.string().describe("Where the author's original definition is located (usually Discord)"),
|
|
14
|
+
book: Book.describe("Which official Toki Pona book was this word featured in, if any."),
|
|
15
|
+
coined_era: CoinedEra.or(z.literal("")).describe(
|
|
16
|
+
"When this word was coined (relative to the publication dates of the official Toki Pona books, if known)"
|
|
17
|
+
),
|
|
18
|
+
coined_year: z.string().describe("The year when this word was coined (if known)"),
|
|
19
|
+
creator: z.array(z.string()).describe("The person who created this word (if known)"),
|
|
20
|
+
ku_data: z.record(z.number().min(0).max(100)).optional().describe(
|
|
21
|
+
"The usage data of the word as described in ku (the official Toki Pona dictionary)"
|
|
22
|
+
),
|
|
23
|
+
see_also: z.array(z.string()).describe("A list of related words"),
|
|
24
|
+
representations: z.object({
|
|
25
|
+
sitelen_emosi: z.string().emoji().or(z.literal("")).describe(
|
|
26
|
+
"The sitelen emosi representation of this word, a script for writing Toki Pona using emoji"
|
|
27
|
+
),
|
|
28
|
+
sitelen_pona: z.array(z.string()).describe(
|
|
29
|
+
"A list of sitelen Lasina representations of this word, to be converted into sitelen pona glyphs"
|
|
30
|
+
),
|
|
31
|
+
sitelen_sitelen: z.string().url().or(z.literal("")).describe("A URL pointing to an image of this word's sitelen sitelen hieroglyphic block"),
|
|
32
|
+
ucsur: z.string().regex(/^U\+[\da-fA-F]{4,6}$/g).or(z.literal("")).describe(
|
|
33
|
+
"The word's UCSUR codepoint, as defined in https://www.kreativekorp.com/ucsur/charts/sitelen.html"
|
|
34
|
+
)
|
|
35
|
+
}).describe("Ways of representing this word in the real world, via text/computers"),
|
|
36
|
+
source_language: z.string().describe("The language this word originated from"),
|
|
37
|
+
usage_category: UsageCategory.describe(
|
|
38
|
+
"The word's usage category, according to a survey performed by the Linku Project"
|
|
39
|
+
),
|
|
40
|
+
word: z.string().describe(`The word's actual text, in case of a word with multiple definitions (like "we")`),
|
|
41
|
+
etymology: z.array(
|
|
42
|
+
z.object({
|
|
43
|
+
word: z.string().optional().describe(
|
|
44
|
+
"One of the root words of this word, as written out in its language of origin"
|
|
45
|
+
),
|
|
46
|
+
alt: z.string().optional().describe(`A latinized representation of the "word" field`)
|
|
47
|
+
})
|
|
48
|
+
).describe("Unlocalized etymological values regarding this word's origin"),
|
|
49
|
+
audio: z.object({
|
|
50
|
+
jan_lakuse: z.string().url().optional().describe(
|
|
51
|
+
"jan Lakuse's pronounciation of the word, made for jan Sonja's Memrise course: https://archive.org/details/toki-pona-audio-by-jan-lakuse"
|
|
52
|
+
),
|
|
53
|
+
kala_asi: z.string().url().describe("kala Asi's pronounciation of the word, made for the Linku Project")
|
|
54
|
+
}).describe("Audio files of the words pronounced out loud"),
|
|
55
|
+
pu_verbatim: z.object({
|
|
56
|
+
en: z.string().describe("The original definition in the English version of pu"),
|
|
57
|
+
fr: z.string().describe("The original definition in the French version of pu"),
|
|
58
|
+
de: z.string().describe("The original definition in the German version of pu"),
|
|
59
|
+
eo: z.string().describe("The original definition in the Esperanto version of pu")
|
|
60
|
+
}).optional().describe("The original definition of the word in pu, the first official Toki Pona book"),
|
|
61
|
+
recognition: z.record(
|
|
62
|
+
z.string().regex(/^20\d{2}-(0[1-9]|1[0-2])$/g),
|
|
63
|
+
z.number().min(0).max(100)
|
|
64
|
+
).describe(
|
|
65
|
+
"The percentage of people in the Toki Pona community who recognize this word, according to surveys performed by the Linku Project"
|
|
66
|
+
)
|
|
67
|
+
}).describe("General info on a Toki Pona word");
|
|
68
|
+
var CommentaryTranslation = z.record(z.string()).describe("Localized commentary regarding Toki Pona words");
|
|
69
|
+
var DefinitionTranslation = z.record(z.string().min(1)).describe("Localized definitions of Toki Pona words");
|
|
70
|
+
var SitelenPonaTranslation = z.record(z.string()).describe("Localized descriptions of the origins of the sitelen pona glyphs for Toki Pona words");
|
|
71
|
+
var EtymologyTranslation = z.record(
|
|
72
|
+
z.array(
|
|
73
|
+
z.object({
|
|
74
|
+
definition: z.string().optional().describe("The localized definition of the root word in its origin language"),
|
|
75
|
+
language: z.string().describe("The localized name of the language this word originated from")
|
|
76
|
+
})
|
|
77
|
+
)
|
|
78
|
+
).describe("Localized etymological values for Toki Pona words");
|
|
79
|
+
var Sign = z.object({
|
|
80
|
+
definition: z.string().describe("The definition of the sign as a single toki pona word."),
|
|
81
|
+
id: z.string().describe("A globally unique name for the sign which is also a gloss."),
|
|
82
|
+
is_two_handed: z.boolean().describe("Whether the sign is two-handed or not."),
|
|
83
|
+
new_gloss: z.string().describe("The more recent, preferred gloss for this sign."),
|
|
84
|
+
old_gloss: z.string().describe("The older gloss for this sign, similar to `id`."),
|
|
85
|
+
etymology: z.array(
|
|
86
|
+
z.object({
|
|
87
|
+
language: z.string().describe("The language of the sign."),
|
|
88
|
+
sign: z.string().optional().describe(
|
|
89
|
+
"The name of the sign such that it could be found in a sign language dictionary."
|
|
90
|
+
)
|
|
91
|
+
})
|
|
92
|
+
).describe("Unlocalized etymological values regarding this sign's origin"),
|
|
93
|
+
signwriting: z.object({
|
|
94
|
+
fsw: z.string().describe(
|
|
95
|
+
"The [Formal SignWriting](https://en.wikipedia.org/wiki/SignWriting) representation of the sign."
|
|
96
|
+
),
|
|
97
|
+
swu: z.string().describe(
|
|
98
|
+
"The [SignWriting with Unicode](https://en.wikipedia.org/wiki/SignWriting) representation of the sign."
|
|
99
|
+
)
|
|
100
|
+
}).describe("Scripts for representing a sign as characters."),
|
|
101
|
+
video: z.object({
|
|
102
|
+
gif: z.string().describe("A link to a gif of the sign being signed."),
|
|
103
|
+
mp4: z.string().describe("a link to an mp4 of the sign being signed.")
|
|
104
|
+
}).describe("Videos of the sign being performed, by format.")
|
|
105
|
+
}).describe("Unlocalized info on a Luka Pona sign");
|
|
106
|
+
var FingerspellingSign = z.object({
|
|
107
|
+
id: z.string().describe("A globally unique name for the sign which is also a gloss."),
|
|
108
|
+
is_two_handed: z.boolean().describe("Whether the sign is two-handed or not."),
|
|
109
|
+
etymology: z.array(
|
|
110
|
+
z.object({
|
|
111
|
+
language: z.string().describe("The language of the sign."),
|
|
112
|
+
sign: z.string().describe(
|
|
113
|
+
"The name of the sign such that it could be found in a sign language dictionary."
|
|
114
|
+
)
|
|
115
|
+
})
|
|
116
|
+
).describe("Unlocalized etymological values regarding this sign's origin"),
|
|
117
|
+
signwriting: z.object({
|
|
118
|
+
fsw: z.string().describe("The Formal Sign Writing representation of the sign."),
|
|
119
|
+
swu: z.string().describe("The Sign Writing with Unicode representation of hte sign.")
|
|
120
|
+
}).describe("Scripts for representing a sign as characters."),
|
|
121
|
+
video: z.object({
|
|
122
|
+
gif: z.string().optional().describe("A link to a gif of the sign being signed."),
|
|
123
|
+
mp4: z.string().optional().describe("a link to an mp4 of the sign being signed.")
|
|
124
|
+
}).describe("Videos of the sign being performed, by format.")
|
|
125
|
+
}).describe("Unlocalized info on a fingerspelling sign.");
|
|
126
|
+
var ParametersTranslation = z.record(
|
|
127
|
+
z.object({
|
|
128
|
+
handshape: z.string().optional().describe(
|
|
129
|
+
"The shape of the hand when signing, identified by its name in ASL. Should not be translated in any language other than Toki Pona"
|
|
130
|
+
),
|
|
131
|
+
movement: z.string().optional().describe("The motion of the hand when signing."),
|
|
132
|
+
placement: z.string().optional().describe("The placement of the hand when signing."),
|
|
133
|
+
orientation: z.string().optional().describe("The orientation of the hand when signing.")
|
|
134
|
+
})
|
|
135
|
+
).describe("Partly localized descriptions of how a sign is signed.");
|
|
136
|
+
var IconTranslation = z.record(z.string().min(1)).describe("Localized descriptions of the thing a sign represents.");
|
|
137
|
+
var Font = z.object({
|
|
138
|
+
creator: z.array(z.string()).describe("a list of this font's creators"),
|
|
139
|
+
features: z.array(z.string()).describe("a list of features this font supports"),
|
|
140
|
+
filename: z.string().regex(/^(?:.+\.(ttf|otf|woff2|woff))?$/).describe("the name of the file this font is stored in at https://github.com/lipu-linku/ijo"),
|
|
141
|
+
last_updated: YearMonth.optional().describe("the rough date of this font's last update"),
|
|
142
|
+
license: z.string().describe("an SPDX expression describing this font's license: https://spdx.org/licenses/"),
|
|
143
|
+
ligatures: z.boolean().describe("whether this font supports ligatures"),
|
|
144
|
+
name: z.string().min(1).describe("this font's name"),
|
|
145
|
+
style: z.string().min(1).describe("the general style of this font"),
|
|
146
|
+
ucsur: z.boolean().describe(
|
|
147
|
+
"whether this font conforms to the UCSUR standard: https://www.kreativekorp.com/ucsur/charts/sitelen.html"
|
|
148
|
+
),
|
|
149
|
+
version: z.string().describe("the current version of this font"),
|
|
150
|
+
writing_system: WritingSystem.describe("the writing system this font uses as its script"),
|
|
151
|
+
links: z.object({
|
|
152
|
+
fontfile: z.string().url().optional().describe(
|
|
153
|
+
"a link to the font file published by the original author (not the mirror on the Linku Project's GitHub)"
|
|
154
|
+
),
|
|
155
|
+
repo: z.string().url().optional().describe(
|
|
156
|
+
"a link to a web hosted repository of this font's source files (usually hosted on GitHub or GitLab)"
|
|
157
|
+
),
|
|
158
|
+
webpage: z.string().url().optional().describe(
|
|
159
|
+
"a link to this font's home page, usually showcasing its features and usage/installation"
|
|
160
|
+
)
|
|
161
|
+
})
|
|
162
|
+
}).describe("Info on a font for Toki Pona");
|
|
163
|
+
var Words = z.record(
|
|
164
|
+
Word.extend({
|
|
165
|
+
translations: z.record(
|
|
166
|
+
z.object({
|
|
167
|
+
commentary: CommentaryTranslation.valueSchema,
|
|
168
|
+
definitions: DefinitionTranslation.valueSchema,
|
|
169
|
+
etymology: EtymologyTranslation.valueSchema,
|
|
170
|
+
sp_etymology: SitelenPonaTranslation.valueSchema
|
|
171
|
+
})
|
|
172
|
+
)
|
|
173
|
+
})
|
|
174
|
+
).describe("A raw data object containing dictionary info about Toki Pona words");
|
|
175
|
+
var Sandbox = Words.describe(
|
|
176
|
+
"A raw data object containing dictionary info about Toki Pona sandbox"
|
|
177
|
+
);
|
|
178
|
+
var Signs = z.record(
|
|
179
|
+
Sign.extend({
|
|
180
|
+
translations: z.record(
|
|
181
|
+
z.object({
|
|
182
|
+
parameters: ParametersTranslation.valueSchema,
|
|
183
|
+
icons: IconTranslation.valueSchema
|
|
184
|
+
})
|
|
185
|
+
)
|
|
186
|
+
})
|
|
187
|
+
).describe("A raw data object containing information about Luka Pona signs");
|
|
188
|
+
var Fingerspelling = z.record(
|
|
189
|
+
FingerspellingSign.extend({
|
|
190
|
+
translations: z.record(z.object({ parameters: ParametersTranslation.valueSchema }))
|
|
191
|
+
})
|
|
192
|
+
).describe("A raw data object containing information about Luka Pona fingerspelling signs");
|
|
193
|
+
var Fonts = z.record(Font).describe("A raw data object containing all the fonts data in sona");
|
|
194
|
+
export {
|
|
195
|
+
CommentaryTranslation,
|
|
196
|
+
DefinitionTranslation,
|
|
197
|
+
EtymologyTranslation,
|
|
198
|
+
Fingerspelling,
|
|
199
|
+
FingerspellingSign,
|
|
200
|
+
Font,
|
|
201
|
+
Fonts,
|
|
202
|
+
IconTranslation,
|
|
203
|
+
ParametersTranslation,
|
|
204
|
+
Sandbox,
|
|
205
|
+
Sign,
|
|
206
|
+
Signs,
|
|
207
|
+
SitelenPonaTranslation,
|
|
208
|
+
Word,
|
|
209
|
+
Words
|
|
210
|
+
};
|
package/dist/utils.d.ts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
|
|
3
|
+
declare const Book: z.ZodUnion<[z.ZodLiteral<"pu">, z.ZodLiteral<"ku suli">, z.ZodLiteral<"ku lili">, z.ZodLiteral<"none">]>;
|
|
4
|
+
type Book = z.infer<typeof Book>;
|
|
5
|
+
declare const CoinedEra: z.ZodUnion<[z.ZodLiteral<"pre-pu">, z.ZodLiteral<"post-pu">, z.ZodLiteral<"post-ku">]>;
|
|
6
|
+
type CoinedEra = z.infer<typeof CoinedEra>;
|
|
7
|
+
declare const UsageCategory: z.ZodUnion<[z.ZodLiteral<"core">, z.ZodLiteral<"widespread">, z.ZodLiteral<"common">, z.ZodLiteral<"uncommon">, z.ZodLiteral<"rare">, z.ZodLiteral<"obscure">]>;
|
|
8
|
+
type UsageCategory = z.infer<typeof UsageCategory>;
|
|
9
|
+
declare const YearMonth: z.ZodType<`20${number}-01` | `20${number}-02` | `20${number}-03` | `20${number}-04` | `20${number}-05` | `20${number}-06` | `20${number}-07` | `20${number}-08` | `20${number}-09` | `20${number}-10` | `20${number}-11` | `20${number}-12`, z.ZodTypeDef, `20${number}-01` | `20${number}-02` | `20${number}-03` | `20${number}-04` | `20${number}-05` | `20${number}-06` | `20${number}-07` | `20${number}-08` | `20${number}-09` | `20${number}-10` | `20${number}-11` | `20${number}-12`>;
|
|
10
|
+
declare const WritingSystem: z.ZodEnum<["sitelen pona", "sitelen sitelen", "alphabet", "syllabary", "logography", "tokiponido alphabet", "tokiponido syllabary", "tokiponido logography"]>;
|
|
11
|
+
type WritingSystem = z.infer<typeof WritingSystem>;
|
|
12
|
+
|
|
13
|
+
export { Book, CoinedEra, UsageCategory, WritingSystem, YearMonth };
|
package/dist/utils.js
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$ref": "#/definitions/commentary_translation",
|
|
3
|
+
"definitions": {
|
|
4
|
+
"commentary_translation": {
|
|
5
|
+
"type": "object",
|
|
6
|
+
"additionalProperties": {
|
|
7
|
+
"type": "string"
|
|
8
|
+
},
|
|
9
|
+
"description": "Localized commentary regarding Toki Pona words"
|
|
10
|
+
}
|
|
11
|
+
},
|
|
12
|
+
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
13
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$ref": "#/definitions/definition_translation",
|
|
3
|
+
"definitions": {
|
|
4
|
+
"definition_translation": {
|
|
5
|
+
"type": "object",
|
|
6
|
+
"additionalProperties": {
|
|
7
|
+
"type": "string",
|
|
8
|
+
"minLength": 1
|
|
9
|
+
},
|
|
10
|
+
"description": "Localized definitions of Toki Pona words"
|
|
11
|
+
}
|
|
12
|
+
},
|
|
13
|
+
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
14
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$ref": "#/definitions/etymology_translation",
|
|
3
|
+
"definitions": {
|
|
4
|
+
"etymology_translation": {
|
|
5
|
+
"type": "object",
|
|
6
|
+
"additionalProperties": {
|
|
7
|
+
"type": "array",
|
|
8
|
+
"items": {
|
|
9
|
+
"type": "object",
|
|
10
|
+
"properties": {
|
|
11
|
+
"definition": {
|
|
12
|
+
"type": "string",
|
|
13
|
+
"description": "The localized definition of the root word in its origin language"
|
|
14
|
+
},
|
|
15
|
+
"language": {
|
|
16
|
+
"type": "string",
|
|
17
|
+
"description": "The localized name of the language this word originated from"
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
"required": [
|
|
21
|
+
"language"
|
|
22
|
+
],
|
|
23
|
+
"additionalProperties": false
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
"description": "Localized etymological values for Toki Pona words"
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
30
|
+
}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$ref": "#/definitions/fingerspelling",
|
|
3
|
+
"definitions": {
|
|
4
|
+
"fingerspelling": {
|
|
5
|
+
"type": "object",
|
|
6
|
+
"additionalProperties": {
|
|
7
|
+
"type": "object",
|
|
8
|
+
"properties": {
|
|
9
|
+
"id": {
|
|
10
|
+
"type": "string",
|
|
11
|
+
"description": "A globally unique name for the sign which is also a gloss."
|
|
12
|
+
},
|
|
13
|
+
"is_two_handed": {
|
|
14
|
+
"type": "boolean",
|
|
15
|
+
"description": "Whether the sign is two-handed or not."
|
|
16
|
+
},
|
|
17
|
+
"etymology": {
|
|
18
|
+
"type": "array",
|
|
19
|
+
"items": {
|
|
20
|
+
"type": "object",
|
|
21
|
+
"properties": {
|
|
22
|
+
"language": {
|
|
23
|
+
"type": "string",
|
|
24
|
+
"description": "The language of the sign."
|
|
25
|
+
},
|
|
26
|
+
"sign": {
|
|
27
|
+
"type": "string",
|
|
28
|
+
"description": "The name of the sign such that it could be found in a sign language dictionary."
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
"required": [
|
|
32
|
+
"language",
|
|
33
|
+
"sign"
|
|
34
|
+
],
|
|
35
|
+
"additionalProperties": false
|
|
36
|
+
},
|
|
37
|
+
"description": "Unlocalized etymological values regarding this sign's origin"
|
|
38
|
+
},
|
|
39
|
+
"signwriting": {
|
|
40
|
+
"type": "object",
|
|
41
|
+
"properties": {
|
|
42
|
+
"fsw": {
|
|
43
|
+
"type": "string",
|
|
44
|
+
"description": "The Formal Sign Writing representation of the sign."
|
|
45
|
+
},
|
|
46
|
+
"swu": {
|
|
47
|
+
"type": "string",
|
|
48
|
+
"description": "The Sign Writing with Unicode representation of hte sign."
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
"required": [
|
|
52
|
+
"fsw",
|
|
53
|
+
"swu"
|
|
54
|
+
],
|
|
55
|
+
"additionalProperties": false,
|
|
56
|
+
"description": "Scripts for representing a sign as characters."
|
|
57
|
+
},
|
|
58
|
+
"video": {
|
|
59
|
+
"type": "object",
|
|
60
|
+
"properties": {
|
|
61
|
+
"gif": {
|
|
62
|
+
"type": "string",
|
|
63
|
+
"description": "A link to a gif of the sign being signed."
|
|
64
|
+
},
|
|
65
|
+
"mp4": {
|
|
66
|
+
"type": "string",
|
|
67
|
+
"description": "a link to an mp4 of the sign being signed."
|
|
68
|
+
}
|
|
69
|
+
},
|
|
70
|
+
"additionalProperties": false,
|
|
71
|
+
"description": "Videos of the sign being performed, by format."
|
|
72
|
+
},
|
|
73
|
+
"translations": {
|
|
74
|
+
"type": "object",
|
|
75
|
+
"additionalProperties": {
|
|
76
|
+
"type": "object",
|
|
77
|
+
"properties": {
|
|
78
|
+
"parameters": {
|
|
79
|
+
"type": "object",
|
|
80
|
+
"properties": {
|
|
81
|
+
"handshape": {
|
|
82
|
+
"type": "string",
|
|
83
|
+
"description": "The shape of the hand when signing, identified by its name in ASL. Should not be translated in any language other than Toki Pona"
|
|
84
|
+
},
|
|
85
|
+
"movement": {
|
|
86
|
+
"type": "string",
|
|
87
|
+
"description": "The motion of the hand when signing."
|
|
88
|
+
},
|
|
89
|
+
"placement": {
|
|
90
|
+
"type": "string",
|
|
91
|
+
"description": "The placement of the hand when signing."
|
|
92
|
+
},
|
|
93
|
+
"orientation": {
|
|
94
|
+
"type": "string",
|
|
95
|
+
"description": "The orientation of the hand when signing."
|
|
96
|
+
}
|
|
97
|
+
},
|
|
98
|
+
"additionalProperties": false
|
|
99
|
+
}
|
|
100
|
+
},
|
|
101
|
+
"required": [
|
|
102
|
+
"parameters"
|
|
103
|
+
],
|
|
104
|
+
"additionalProperties": false
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
},
|
|
108
|
+
"required": [
|
|
109
|
+
"id",
|
|
110
|
+
"is_two_handed",
|
|
111
|
+
"etymology",
|
|
112
|
+
"signwriting",
|
|
113
|
+
"video",
|
|
114
|
+
"translations"
|
|
115
|
+
],
|
|
116
|
+
"additionalProperties": false,
|
|
117
|
+
"description": "Unlocalized info on a fingerspelling sign."
|
|
118
|
+
},
|
|
119
|
+
"description": "A raw data object containing information about Luka Pona fingerspelling signs"
|
|
120
|
+
}
|
|
121
|
+
},
|
|
122
|
+
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
123
|
+
}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$ref": "#/definitions/fingerspelling_sign",
|
|
3
|
+
"definitions": {
|
|
4
|
+
"fingerspelling_sign": {
|
|
5
|
+
"type": "object",
|
|
6
|
+
"properties": {
|
|
7
|
+
"id": {
|
|
8
|
+
"type": "string",
|
|
9
|
+
"description": "A globally unique name for the sign which is also a gloss."
|
|
10
|
+
},
|
|
11
|
+
"is_two_handed": {
|
|
12
|
+
"type": "boolean",
|
|
13
|
+
"description": "Whether the sign is two-handed or not."
|
|
14
|
+
},
|
|
15
|
+
"etymology": {
|
|
16
|
+
"type": "array",
|
|
17
|
+
"items": {
|
|
18
|
+
"type": "object",
|
|
19
|
+
"properties": {
|
|
20
|
+
"language": {
|
|
21
|
+
"type": "string",
|
|
22
|
+
"description": "The language of the sign."
|
|
23
|
+
},
|
|
24
|
+
"sign": {
|
|
25
|
+
"type": "string",
|
|
26
|
+
"description": "The name of the sign such that it could be found in a sign language dictionary."
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
"required": [
|
|
30
|
+
"language",
|
|
31
|
+
"sign"
|
|
32
|
+
],
|
|
33
|
+
"additionalProperties": false
|
|
34
|
+
},
|
|
35
|
+
"description": "Unlocalized etymological values regarding this sign's origin"
|
|
36
|
+
},
|
|
37
|
+
"signwriting": {
|
|
38
|
+
"type": "object",
|
|
39
|
+
"properties": {
|
|
40
|
+
"fsw": {
|
|
41
|
+
"type": "string",
|
|
42
|
+
"description": "The Formal Sign Writing representation of the sign."
|
|
43
|
+
},
|
|
44
|
+
"swu": {
|
|
45
|
+
"type": "string",
|
|
46
|
+
"description": "The Sign Writing with Unicode representation of hte sign."
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
"required": [
|
|
50
|
+
"fsw",
|
|
51
|
+
"swu"
|
|
52
|
+
],
|
|
53
|
+
"additionalProperties": false,
|
|
54
|
+
"description": "Scripts for representing a sign as characters."
|
|
55
|
+
},
|
|
56
|
+
"video": {
|
|
57
|
+
"type": "object",
|
|
58
|
+
"properties": {
|
|
59
|
+
"gif": {
|
|
60
|
+
"type": "string",
|
|
61
|
+
"description": "A link to a gif of the sign being signed."
|
|
62
|
+
},
|
|
63
|
+
"mp4": {
|
|
64
|
+
"type": "string",
|
|
65
|
+
"description": "a link to an mp4 of the sign being signed."
|
|
66
|
+
}
|
|
67
|
+
},
|
|
68
|
+
"additionalProperties": false,
|
|
69
|
+
"description": "Videos of the sign being performed, by format."
|
|
70
|
+
}
|
|
71
|
+
},
|
|
72
|
+
"required": [
|
|
73
|
+
"id",
|
|
74
|
+
"is_two_handed",
|
|
75
|
+
"etymology",
|
|
76
|
+
"signwriting",
|
|
77
|
+
"video"
|
|
78
|
+
],
|
|
79
|
+
"additionalProperties": false,
|
|
80
|
+
"description": "Unlocalized info on a fingerspelling sign."
|
|
81
|
+
}
|
|
82
|
+
},
|
|
83
|
+
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
84
|
+
}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$ref": "#/definitions/font",
|
|
3
|
+
"definitions": {
|
|
4
|
+
"font": {
|
|
5
|
+
"type": "object",
|
|
6
|
+
"properties": {
|
|
7
|
+
"creator": {
|
|
8
|
+
"type": "array",
|
|
9
|
+
"items": {
|
|
10
|
+
"type": "string"
|
|
11
|
+
},
|
|
12
|
+
"description": "a list of this font's creators"
|
|
13
|
+
},
|
|
14
|
+
"features": {
|
|
15
|
+
"type": "array",
|
|
16
|
+
"items": {
|
|
17
|
+
"type": "string"
|
|
18
|
+
},
|
|
19
|
+
"description": "a list of features this font supports"
|
|
20
|
+
},
|
|
21
|
+
"filename": {
|
|
22
|
+
"type": "string",
|
|
23
|
+
"pattern": "^(?:.+\\.(ttf|otf|woff2|woff))?$",
|
|
24
|
+
"description": "the name of the file this font is stored in at https://github.com/lipu-linku/ijo"
|
|
25
|
+
},
|
|
26
|
+
"last_updated": {
|
|
27
|
+
"type": "string",
|
|
28
|
+
"pattern": "^20\\d{2}-(0[1-9]|1[0-2])$",
|
|
29
|
+
"description": "the rough date of this font's last update"
|
|
30
|
+
},
|
|
31
|
+
"license": {
|
|
32
|
+
"type": "string",
|
|
33
|
+
"description": "an SPDX expression describing this font's license: https://spdx.org/licenses/"
|
|
34
|
+
},
|
|
35
|
+
"ligatures": {
|
|
36
|
+
"type": "boolean",
|
|
37
|
+
"description": "whether this font supports ligatures"
|
|
38
|
+
},
|
|
39
|
+
"name": {
|
|
40
|
+
"type": "string",
|
|
41
|
+
"minLength": 1,
|
|
42
|
+
"description": "this font's name"
|
|
43
|
+
},
|
|
44
|
+
"style": {
|
|
45
|
+
"type": "string",
|
|
46
|
+
"minLength": 1,
|
|
47
|
+
"description": "the general style of this font"
|
|
48
|
+
},
|
|
49
|
+
"ucsur": {
|
|
50
|
+
"type": "boolean",
|
|
51
|
+
"description": "whether this font conforms to the UCSUR standard: https://www.kreativekorp.com/ucsur/charts/sitelen.html"
|
|
52
|
+
},
|
|
53
|
+
"version": {
|
|
54
|
+
"type": "string",
|
|
55
|
+
"description": "the current version of this font"
|
|
56
|
+
},
|
|
57
|
+
"writing_system": {
|
|
58
|
+
"type": "string",
|
|
59
|
+
"enum": [
|
|
60
|
+
"sitelen pona",
|
|
61
|
+
"sitelen sitelen",
|
|
62
|
+
"alphabet",
|
|
63
|
+
"syllabary",
|
|
64
|
+
"logography",
|
|
65
|
+
"tokiponido alphabet",
|
|
66
|
+
"tokiponido syllabary",
|
|
67
|
+
"tokiponido logography"
|
|
68
|
+
],
|
|
69
|
+
"description": "the writing system this font uses as its script"
|
|
70
|
+
},
|
|
71
|
+
"links": {
|
|
72
|
+
"type": "object",
|
|
73
|
+
"properties": {
|
|
74
|
+
"fontfile": {
|
|
75
|
+
"type": "string",
|
|
76
|
+
"format": "uri",
|
|
77
|
+
"description": "a link to the font file published by the original author (not the mirror on the Linku Project's GitHub)"
|
|
78
|
+
},
|
|
79
|
+
"repo": {
|
|
80
|
+
"type": "string",
|
|
81
|
+
"format": "uri",
|
|
82
|
+
"description": "a link to a web hosted repository of this font's source files (usually hosted on GitHub or GitLab)"
|
|
83
|
+
},
|
|
84
|
+
"webpage": {
|
|
85
|
+
"type": "string",
|
|
86
|
+
"format": "uri",
|
|
87
|
+
"description": "a link to this font's home page, usually showcasing its features and usage/installation"
|
|
88
|
+
}
|
|
89
|
+
},
|
|
90
|
+
"additionalProperties": false
|
|
91
|
+
}
|
|
92
|
+
},
|
|
93
|
+
"required": [
|
|
94
|
+
"creator",
|
|
95
|
+
"features",
|
|
96
|
+
"filename",
|
|
97
|
+
"license",
|
|
98
|
+
"ligatures",
|
|
99
|
+
"name",
|
|
100
|
+
"style",
|
|
101
|
+
"ucsur",
|
|
102
|
+
"version",
|
|
103
|
+
"writing_system",
|
|
104
|
+
"links"
|
|
105
|
+
],
|
|
106
|
+
"additionalProperties": false,
|
|
107
|
+
"description": "Info on a font for Toki Pona"
|
|
108
|
+
}
|
|
109
|
+
},
|
|
110
|
+
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
111
|
+
}
|