check font in automatic test (#698)

* check font in automatic test

* fix `description` in `action.yml`

* check font first
because it's faster

* add link to missing character

* fix grammar error

* fix grammar error again

* fix SHA error

* fix one-line error to align with github

* fix: make line-number start from 1
This commit is contained in:
Imple Lee
2022-05-04 18:25:52 +08:00
committed by GitHub
parent 8d4e2fa0d0
commit 075f643fb7

View File

@@ -4,6 +4,34 @@ description: 'Check for obvious errors.'
runs:
using: "composite"
steps:
- name: Prepare FontTools
shell: bash
run: |
pip install fonttools
- name: Check all characters are in the font
shell: python
run: |
from fontTools.ttLib import TTFont
from pathlib import Path
from os import environ as env
font = TTFont('parts/fonts/proportional.otf')
keys = set(font.getBestCmap().keys())
missing = []
for file in Path('parts/language').glob('*.lua'):
for i, line in enumerate(file.read_text().splitlines()):
for char in line:
if ord(char) not in keys:
missing.append((char, file, i+1))
if missing:
print('Missing characters:')
for char, file, i in missing:
print(f"'{char}'({ord(char):x}) in {file} at line {i} (https://github.com/26F-Studio/Techmino/blob/{env['GITHUB_SHA']}/{file}#L{i})")
exit(1)
else:
print('All characters are present in the font.')
- uses: ./.github/actions/build-love
with:
file-path: Techmino.love