{
    "$schema": "http://json-schema.org/draft-07/schema#",
    "definitions": {
        "BMFont": {
            "title": "BMFont",
            "type": "object",
            "properties": {
                "pages": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "title": "pages"
                },
                "chars": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/BMFontChar"
                    },
                    "title": "chars"
                },
                "info": {
                    "$ref": "#/definitions/BMFontInfo",
                    "title": "info"
                },
                "common": {
                    "$ref": "#/definitions/BMFontCommon",
                    "title": "common"
                },
                "distanceField": {
                    "$ref": "#/definitions/BMFontDistanceField",
                    "title": "distanceField"
                },
                "kernings": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/BMFontKern"
                    },
                    "title": "kernings"
                }
            },
            "required": ["chars", "common", "distanceField", "info", "kernings", "pages"]
        },
        "BMFontChar": {
            "title": "BMFontChar",
            "type": "object",
            "properties": {
                "id": {
                    "type": "number",
                    "title": "id"
                },
                "index": {
                    "type": "number",
                    "title": "index"
                },
                "char": {
                    "type": "string",
                    "title": "char"
                },
                "width": {
                    "type": "number",
                    "title": "width"
                },
                "height": {
                    "type": "number",
                    "title": "height"
                },
                "xoffset": {
                    "type": "number",
                    "title": "xoffset"
                },
                "yoffset": {
                    "type": "number",
                    "title": "yoffset"
                },
                "xadvance": {
                    "type": "number",
                    "title": "xadvance"
                },
                "chnl": {
                    "type": "number",
                    "title": "chnl"
                },
                "x": {
                    "type": "number",
                    "title": "x"
                },
                "y": {
                    "type": "number",
                    "title": "y"
                },
                "page": {
                    "type": "number",
                    "title": "page"
                }
            },
            "required": [
                "char",
                "chnl",
                "height",
                "id",
                "index",
                "page",
                "width",
                "x",
                "xadvance",
                "xoffset",
                "y",
                "yoffset"
            ]
        },
        "BMFontInfo": {
            "title": "BMFontInfo",
            "type": "object",
            "properties": {
                "face": {
                    "type": "string",
                    "title": "face"
                },
                "size": {
                    "type": "number",
                    "title": "size"
                },
                "bold": {
                    "type": "number",
                    "title": "bold"
                },
                "italic": {
                    "type": "number",
                    "title": "italic"
                },
                "charset": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "title": "charset"
                },
                "unicode": {
                    "type": "number",
                    "title": "unicode"
                },
                "stretchH": {
                    "type": "number",
                    "title": "stretchH"
                },
                "smooth": {
                    "type": "number",
                    "title": "smooth"
                },
                "aa": {
                    "type": "number",
                    "title": "aa"
                },
                "padding": {
                    "type": "array",
                    "items": {
                        "type": "number"
                    },
                    "title": "padding"
                },
                "spacing": {
                    "type": "array",
                    "items": {
                        "type": "number"
                    },
                    "title": "spacing"
                },
                "fixedHeight": {
                    "type": "number",
                    "title": "fixedHeight"
                },
                "outline": {
                    "type": "number",
                    "title": "outline"
                }
            },
            "required": [
                "aa",
                "bold",
                "charset",
                "face",
                "fixedHeight",
                "italic",
                "outline",
                "padding",
                "size",
                "smooth",
                "spacing",
                "stretchH",
                "unicode"
            ]
        },
        "BMFontCommon": {
            "title": "BMFontCommon",
            "type": "object",
            "properties": {
                "lineHeight": {
                    "type": "number",
                    "title": "lineHeight"
                },
                "base": {
                    "type": "number",
                    "title": "base"
                },
                "scaleW": {
                    "type": "number",
                    "title": "scaleW"
                },
                "scaleH": {
                    "type": "number",
                    "title": "scaleH"
                },
                "pages": {
                    "type": "number",
                    "title": "pages"
                },
                "packed": {
                    "type": "number",
                    "title": "packed"
                },
                "alphaChnl": {
                    "type": "number",
                    "title": "alphaChnl"
                },
                "redChnl": {
                    "type": "number",
                    "title": "redChnl"
                },
                "greenChnl": {
                    "type": "number",
                    "title": "greenChnl"
                },
                "blueChnl": {
                    "type": "number",
                    "title": "blueChnl"
                }
            },
            "required": [
                "alphaChnl",
                "base",
                "blueChnl",
                "greenChnl",
                "lineHeight",
                "packed",
                "pages",
                "redChnl",
                "scaleH",
                "scaleW"
            ]
        },
        "BMFontDistanceField": {
            "title": "BMFontDistanceField",
            "type": "object",
            "properties": {
                "fieldType": {
                    "type": "string",
                    "title": "fieldType"
                },
                "distanceRange": {
                    "type": "number",
                    "title": "distanceRange"
                }
            },
            "required": ["distanceRange", "fieldType"]
        },
        "BMFontKern": {
            "title": "BMFontKern",
            "type": "object",
            "properties": {
                "first": {
                    "type": "number",
                    "title": "first"
                },
                "second": {
                    "type": "number",
                    "title": "second"
                },
                "amount": {
                    "type": "number",
                    "title": "amount"
                }
            },
            "required": ["amount", "first", "second"]
        }
    }
}
