Fix O(n^2) algorithm

This commit is contained in:
Kovid Goyal
2024-05-19 11:06:36 +05:30
parent 679abf0e84
commit c5fd544d25

View File

@@ -215,12 +215,12 @@ def find_bold_italic_variant(medium: Descriptor, bold: bool, italic: bool, famil
ans = fonts[0].copy()
# now we need to specialise all axes in ans
axis_values = {}
for i, ax in enumerate(vd['axes']):
dax_map = {dax['tag']: dax for dax in vd['design_axes']}
for ax in vd['axes']:
tag = ax['tag']
for dax in vd['design_axes']:
if dax['tag'] == tag:
axis_values[tag] = get_design_value_for(dax, ax, bold, italic, family_axis_values)
break
dax = dax_map.get(tag)
if dax is not None:
axis_values[tag] = get_design_value_for(dax, ax, bold, italic, family_axis_values)
if axis_values:
set_axis_values(axis_values, ans, vd)
return ans