### Godot version

8449592d92eaeef990f5502b419d491ee3eeb7a6

### System information

Windows 11

### Issue description

Zooming in the script editor on an empty script freezes the entire editor for a few seconds, but if the file is large then it freezes for 4-5 seconds (which is unacceptable). Looks like a recent regression.

### Steps to reproduce

Just zoom in/out on the large script file.

### Minimal reproduction project

N/A
}
		
		if (fd->face->face_flags & FT_FACE_FLAG_MULTIPLE_MASTERS) {
			FT_MM_Var *amaster;
			FT_Get_MM_Var(fd->face, &amaster);
			Vector<hb_variation_t> hb_vars;
			Vector<FT_Fixed> coords;
			coords.resize(amaster->num_axis);
			FT_Get_Var_Design_Coordinates(fd->face, coords.size(), coords.ptrw());
			for (FT_UInt i = 0; i < amaster->num_axis; i++) {
				hb_variation_t var;
				
				var.tag = amaster->axis[i].tag;
				var.value = (double)amaster->axis[i].def / 65536.0;
				coords.write[i] = amaster->axis[i].def;
				if (p_font_data->variation_coordinates.has(var.tag)) {
					var.value = p_font_data->variation_coordinates[var.tag];
					coords.write[i] = CLAMP(var.value * 65536.0, amaster->axis[i].minimum, amaster->axis[i].maximum);
				}
				if (p_font_data->variation_coordinates.has(_tag_to_name(var.tag))) {
					var.value = p_font_data->variation_coordinates[_tag_to_name(var.tag)];
					coords.write[i] = CLAMP(var.value * 65536.0, amaster->axis[i].minimum, amaster->axis[i].maximum);
				}
				hb_vars.push_back(var);
			}
			FT_Set_Var_Design_Coordinates(fd->face, coords.size(), coords.ptrw());
			hb_font_set_variations(fd->hb_handle, hb_vars.is_empty() ? nullptr : &hb_vars[0], hb_vars.size());
			FT_Done_MM_Var(ft_library, amaster);
		}
#else