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)
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)
"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)