#pragma once

const uint8_t {{ file_name }}_data[] = {
{% for sprite in sprite_data %}
    // Sprite {{ loop.index0 }}
    {% for pixel in sprite %}
    {{ pixel }}
    {%- endfor %}

{% endfor -%}
};

FontSet {{ file_name }} = {.width = {{ sprite_width }},
                   .height = {{ sprite_height }},
                   .starting_character = 0,
                   .ending_character = {{ count-1 }},
                   .data = {{ file_name }}_data};
