Coverage for gws-app/gws/lib/font/__init__.py: 53%
17 statements
« prev ^ index » next coverage.py v7.8.0, created at 2025-04-17 01:37 +0200
« prev ^ index » next coverage.py v7.8.0, created at 2025-04-17 01:37 +0200
1import PIL.ImageFont
3import gws
4import gws.lib.osx
7class Config(gws.Config):
8 """Custom fonts configuration."""
10 dir: gws.DirPath
11 """directory with custom fonts"""
14def configure(cfg: Config):
15 if cfg.dir:
16 install_fonts(cfg.dir)
19def install_fonts(source_dir):
20 target_dir = '/usr/local/share/fonts'
21 gws.lib.osx.run(['mkdir', '-p', target_dir], echo=True)
22 for p in gws.lib.osx.find_files(source_dir):
23 gws.lib.osx.run(['cp', '-v', p, target_dir], echo=True)
25 gws.lib.osx.run(['fc-cache', '-fv'], echo=True)
28def from_name(name: str, size: int):
29 return PIL.ImageFont.truetype(font=name, size=size)