yomichan/ext/data/schemas/dictionary-term-meta-bank-v3-schema.json
toasted-nutbread 41fc76d6fd
Devoice and nasal pronunciation info (#1832)
* Update schema to support information about nasal and devoiced mora

* Expose nasalPositions and devoicePositions in dictionary entry data

* Expose nasalPositions, devoicePositions in grouped pitch info

* Update display generator

* Update test dictionary data

* Update test data
2021-07-15 22:39:33 -04:00

139 lines
6.6 KiB
JSON

{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "array",
"description": "Custom metadata for terms.",
"additionalItems": {
"type": "array",
"description": "Metadata about a single term.",
"minItems": 3,
"items": [
{
"type": "string",
"description": "The text for the term."
},
{
"type": "string",
"enum": ["freq", "pitch"],
"description": "Type of data. \"freq\" corresponds to frequency information; \"pitch\" corresponds to pitch information."
},
{
"description": "Data for the term."
}
],
"oneOf": [
{
"items": [
{},
{"enum": ["freq"]},
{
"oneOf": [
{
"type": ["string", "number"],
"description": "Frequency information for the term."
},
{
"type": ["object"],
"required": [
"reading",
"frequency"
],
"additionalProperties": false,
"properties": {
"reading": {
"type": "string",
"description": "Reading for the term."
},
"frequency": {
"type": ["string", "number"],
"description": "Frequency information for the term."
}
}
}
]
}
]
},
{
"items": [
{},
{"enum": ["pitch"]},
{
"type": ["object"],
"description": "Pitch accent information for the term.",
"required": [
"reading",
"pitches"
],
"additionalProperties": false,
"properties": {
"reading": {
"type": "string",
"description": "Reading for the term."
},
"pitches": {
"type": "array",
"description": "List of different pitch accent information for the term and reading combination.",
"additionalItems": {
"type": "object",
"required": [
"position"
],
"additionalProperties": false,
"properties": {
"position": {
"type": "integer",
"description": "Mora position of the pitch accent downstep. A value of 0 indicates that the word does not have a downstep (heiban).",
"minimum": 0
},
"nasal": {
"oneOf": [
{
"type": "integer",
"description": "Position of a mora with nasal sound.",
"minimum": 0
},
{
"type": "array",
"description": "Positions of morae with nasal sound.",
"items": {
"type": "integer",
"minimum": 0
}
}
]
},
"devoice": {
"oneOf": [
{
"type": "integer",
"description": "Position of a mora with devoiced sound.",
"minimum": 0
},
{
"type": "array",
"description": "Positions of morae with devoiced sound.",
"items": {
"type": "integer",
"minimum": 0
}
}
]
},
"tags": {
"type": "array",
"description": "List of tags for this pitch accent.",
"items": {
"type": "string",
"description": "Tag for this pitch accent. This typically corresponds to a certain type of part of speech."
}
}
}
}
}
}
}
]
}
]
}
}