File: test_otf_loader.py

package info (click to toggle)
python-babelfont 3.0.6~ds-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 5,740 kB
  • sloc: xml: 33,013; python: 5,762; makefile: 68
file content (37 lines) | stat: -rw-r--r-- 1,078 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37

from babelfont import load, Layer
from fontTools.ttLib import TTFont
import pytest
import glob
import os


def test_load():
    font = load("tests/data/NewFont-Regular.ttf")
    a_layer = font.default_master.get_glyph_layer("A")
    assert isinstance(a_layer, Layer)
    assert len(a_layer.shapes) == 2
    assert len(a_layer.shapes[0].nodes) == 8
    assert len(a_layer.shapes[1].nodes) == 4
    assert a_layer.shapes[0].nodes[0].x == 345
    assert a_layer.shapes[0].nodes[0].y == 700
    assert a_layer.lsb == 25
    assert a_layer.rsb == 25
    assert a_layer.bounds == (25, 0, 505, 700)
    assert a_layer.width == 530

    dot = font.glyphs["uni0307"]
    assert dot.category == "mark"

    assert font.unicode_map[ord("A")] == "A"

    i_layer = font.default_master.get_glyph_layer("i")
    assert isinstance(i_layer, Layer)
    assert len(i_layer.shapes) == 2
    assert i_layer.shapes[0].is_component
    assert i_layer.shapes[0].pos == (0,0)


def test_load_vf():
    font = load("tests/data/Ysabeau[wght].ttf")
    a_layer = font.default_master.get_glyph_layer("A")