示例#1
0
def test_overlaps_1():
    # https://github.com/fonttools/fonttools/issues/1400
    conds = [
        ([{'abcd': (4, 9)}], {0: 0}),
        ([{'abcd': (5, 10)}], {1: 1}),
        ([{'abcd': (0, 8)}], {2: 2}),
        ([{'abcd': (3, 7)}], {3: 3}),
    ]
    overlaps = overlayFeatureVariations(conds)
    subst = _match_condition({'abcd': 0}, overlaps)
    assert subst == {2: 2}
    subst = _match_condition({'abcd': 1}, overlaps)
    assert subst == {2: 2}
    subst = _match_condition({'abcd': 3}, overlaps)
    assert subst == {2: 2, 3: 3}
    subst = _match_condition({'abcd': 4}, overlaps)
    assert subst == {0: 0, 2: 2, 3: 3}
    subst = _match_condition({'abcd': 5}, overlaps)
    assert subst == {0: 0, 1: 1, 2: 2, 3: 3}
    subst = _match_condition({'abcd': 7}, overlaps)
    assert subst == {0: 0, 1: 1, 2: 2, 3: 3}
    subst = _match_condition({'abcd': 8}, overlaps)
    assert subst == {0: 0, 1: 1, 2: 2}
    subst = _match_condition({'abcd': 9}, overlaps)
    assert subst == {0: 0, 1: 1}
    subst = _match_condition({'abcd': 10}, overlaps)
    assert subst == {1: 1}
示例#2
0
def test_overlaps_1():
    # https://github.com/fonttools/fonttools/issues/1400
    conds = [
        ([{'abcd': (4, 9)}], {0: 0}),
        ([{'abcd': (5, 10)}], {1: 1}),
        ([{'abcd': (0, 8)}], {2: 2}),
        ([{'abcd': (3, 7)}], {3: 3}),
    ]
    overlaps = overlayFeatureVariations(conds)
    subst = _match_condition({'abcd': 0}, overlaps)
    assert subst == {2: 2}
    subst = _match_condition({'abcd': 1}, overlaps)
    assert subst == {2: 2}
    subst = _match_condition({'abcd': 3}, overlaps)
    assert subst == {2: 2, 3: 3}
    subst = _match_condition({'abcd': 4}, overlaps)
    assert subst == {0: 0, 2: 2, 3: 3}
    subst = _match_condition({'abcd': 5}, overlaps)
    assert subst == {0: 0, 1: 1, 2: 2, 3: 3}
    subst = _match_condition({'abcd': 7}, overlaps)
    assert subst == {0: 0, 1: 1, 2: 2, 3: 3}
    subst = _match_condition({'abcd': 8}, overlaps)
    assert subst == {0: 0, 1: 1, 2: 2}
    subst = _match_condition({'abcd': 9}, overlaps)
    assert subst == {0: 0, 1: 1}
    subst = _match_condition({'abcd': 10}, overlaps)
    assert subst == {1: 1}
示例#3
0
def test_quadratic(n=10):
    conds = []
    for i in range(1, n + 1):
        region = [{'X': (0, i / n), 'Y': (0, (n + 1 - i) / n)}]
        subst = {str(i): str(n + 1 - i)}
        conds.append((region, subst))
    overlaps = overlayFeatureVariations(conds)
    assert len(overlaps) == n * (n + 1) // 2, overlaps
    return conds, overlaps
示例#4
0
def test_quadratic(n = 10):
    conds = []
    for i in range(1, n + 1):
        region = [{'X': (0, i / n),
                   'Y': (0, (n + 1 - i) / n)}]
        subst = {str(i): str(n + 1 - i)}
        conds.append((region, subst))
    overlaps = overlayFeatureVariations(conds)
    assert len(overlaps) == n * (n + 1) // 2, overlaps
    return conds, overlaps
示例#5
0
def test_linear(n = 10):
    conds = []
    for i in range(n):
        end = i / n
        start = end - 1.
        region = [{'X': (start, end)}]
        subst = {'g%.2g'%start: 'g%.2g'%end}
        conds.append((region, subst))
    overlaps = overlayFeatureVariations(conds)
    assert len(overlaps) == 2 * n - 1, overlaps
    return conds, overlaps
示例#6
0
def test_linear(n = 10):
    conds = []
    for i in range(n):
        end = i / n
        start = end - 1.
        region = [{'X': (start, end)}]
        subst = {'g%.2g'%start: 'g%.2g'%end}
        conds.append((region, subst))
    overlaps = overlayFeatureVariations(conds)
    assert len(overlaps) == 2 * n - 1, overlaps
    return conds, overlaps
示例#7
0
def test_overlaps_2():
    # https://github.com/fonttools/fonttools/issues/1400
    conds = [
        ([{'abcd': (1, 9)}], {0: 0}),
        ([{'abcd': (8, 10)}], {1: 1}),
        ([{'abcd': (3, 4)}], {2: 2}),
        ([{'abcd': (1, 10)}], {3: 3}),
    ]
    overlaps = overlayFeatureVariations(conds)
    subst = _match_condition({'abcd': 0}, overlaps)
    assert subst == {}
    subst = _match_condition({'abcd': 1}, overlaps)
    assert subst == {0: 0, 3: 3}
    subst = _match_condition({'abcd': 2}, overlaps)
    assert subst == {0: 0, 3: 3}
    subst = _match_condition({'abcd': 3}, overlaps)
    assert subst == {0: 0, 2: 2, 3: 3}
    subst = _match_condition({'abcd': 5}, overlaps)
    assert subst == {0: 0, 3: 3}
    subst = _match_condition({'abcd': 10}, overlaps)
    assert subst == {1: 1, 3: 3}
示例#8
0
def test_overlaps_2():
    # https://github.com/fonttools/fonttools/issues/1400
    conds = [
        ([{'abcd': (1, 9)}], {0: 0}),
        ([{'abcd': (8, 10)}], {1: 1}),
        ([{'abcd': (3, 4)}], {2: 2}),
        ([{'abcd': (1, 10)}], {3: 3}),
    ]
    overlaps = overlayFeatureVariations(conds)
    subst = _match_condition({'abcd': 0}, overlaps)
    assert subst == {}
    subst = _match_condition({'abcd': 1}, overlaps)
    assert subst == {0: 0, 3: 3}
    subst = _match_condition({'abcd': 2}, overlaps)
    assert subst == {0: 0, 3: 3}
    subst = _match_condition({'abcd': 3}, overlaps)
    assert subst == {0: 0, 2: 2, 3: 3}
    subst = _match_condition({'abcd': 5}, overlaps)
    assert subst == {0: 0, 3: 3}
    subst = _match_condition({'abcd': 10}, overlaps)
    assert subst == {1: 1, 3: 3}