Exemple #1
0
def _add_GSUB_feature_variations(font, axes, internal_axis_supports, rules,
                                 featureTag):
    def normalize(name, value):
        return models.normalizeLocation({name: value},
                                        internal_axis_supports)[name]

    log.info("Generating GSUB FeatureVariations")

    axis_tags = {name: axis.tag for name, axis in axes.items()}

    conditional_subs = []
    for rule in rules:

        region = []
        for conditions in rule.conditionSets:
            space = {}
            for condition in conditions:
                axis_name = condition["name"]
                if condition["minimum"] is not None:
                    minimum = normalize(axis_name, condition["minimum"])
                else:
                    minimum = -1.0
                if condition["maximum"] is not None:
                    maximum = normalize(axis_name, condition["maximum"])
                else:
                    maximum = 1.0
                tag = axis_tags[axis_name]
                space[tag] = (minimum, maximum)
            region.append(space)

        subs = {k: v for k, v in rule.subs}

        conditional_subs.append((region, subs))

    addFeatureVariations(font, conditional_subs, featureTag)
Exemple #2
0
def _add_GSUB_feature_variations(font, axes, internal_axis_supports, rules):

	def normalize(name, value):
		return models.normalizeLocation(
			{name: value}, internal_axis_supports
		)[name]

	log.info("Generating GSUB FeatureVariations")

	axis_tags = {name: axis.tag for name, axis in axes.items()}

	conditional_subs = []
	for rule in rules:

		region = []
		for conditions in rule.conditionSets:
			space = {}
			for condition in conditions:
				axis_name = condition["name"]
				minimum = normalize(axis_name, condition["minimum"])
				maximum = normalize(axis_name, condition["maximum"])
				tag = axis_tags[axis_name]
				space[tag] = (minimum, maximum)
			region.append(space)

		subs = {k: v for k, v in rule.subs}

		conditional_subs.append((region, subs))

	addFeatureVariations(font, conditional_subs)
Exemple #3
0
        "curvedStemParagraphSignOrnament":
        "curvedStemParagraphSignOrnament.79_230"
    }),
    ([{
        "wght": (0.424, 1)
    }], {
        "paragraph": "paragraph.79_230"
    }),
]

if style == "Upright":
    condSubst += [
        ([{
            "wght": (0.564, 1)
        }], {
            "Adieresis.titl": "Adieresis.titl.136_230"
        }),
        ([{
            "wght": (0.564, 1)
        }], {
            "Odieresis.titl": "Odieresis.titl.136_230"
        }),
    ]

addFeatureVariations(f, condSubst)

# newFontPath = fontPath.split(".")[0] + "-italic.ttf"
# f.save(fontPath)
extension = os.path.splitext(inputTTF)[1]
outputTTF = makeOutputFileName(inputTTF, '', extension)
f.save(outputTTF)
condSubst = [
    # A list of (Region, Substitution) tuples.
    ([{"wght": (0.158, 0.564)}], {"uniF8FF": "uniF8FF.001"}),
    # ([{"wght": (0.868, 1)}], {"uni20B5": "uni20B5.201_230"}),
    # ([{"wght": (0.868, 1)}], {"cent": "cent.201_230"}),
    # ([{"wght": (0.868, 1)}], {"colonmonetary": "colonmonetary.201_230"}),
    # ([{"wght": (0.868, 1)}], {"dollar": "dollar.201_230"}),
    # ([{"wght": (0.868, 1)}], {"uni20B2": "uni20B2.201_230"}),
    # ([{"wght": (0.868, 1)}], {"dollar.tf": "dollar.tf.201_230"}),
    # ([{"wght": (0.868, 1)}], {"cent.tf": "cent.tf.201_230"}),
    # ([{"wght": (0.71, 1)}], {"uni20A6": "uni20A6.169_230"}),
    # ([{"wght": (0.71, 1)}], {"peseta": "peseta.169_230"}),
    # ([{"wght": (0.71, 1)}], {"uni20A9": "uni20A9.169_230"}),
    # ([{"wght": (0.564, 1)}], {"uni20B1": "uni20B1.136_230"}),
    # ([{"wght": (0.424, 1)}], {"uni2761": "uni2761.79_230"}),
    # ([{"wght": (0.424, 1)}], {"paragraph": "paragraph.79_230"}),
]

# if style == "Upright":
# 	condSubst += [	    
# 		([{"wght": (0.564, 1)}], {"Adieresis.titl": "Adieresis.titl.136_230"}),
# 	    ([{"wght": (0.564, 1)}], {"Odieresis.titl": "Odieresis.titl.136_230"}),
# 	]

addFeatureVariations(f, condSubst)

# newFontPath = fontPath.split(".")[0] + "-italic.ttf" 
# f.save(fontPath)
extension = os.path.splitext(inputTTF)[1]
outputTTF = makeOutputFileName(inputTTF, '', extension)
f.save(outputTTF)