///|
fn fixed_from_double(value : Double) -> @fixed.Fixed {
@fixed.Fixed::from_raw((value * 65536.0).round().to_int64())
}
///|
fn build_ps_globals_from_cff_private(
private_dict : @cff.CffPrivateDict,
) -> @pshinter.PsGlobals {
let defaults = @pshinter.PsGlobals::new()
@pshinter.build_ps_globals(
private_dict.blue_values().map(fn(v) { v.to_int() }),
private_dict.other_blues().map(fn(v) { v.to_int() }),
private_dict.std_hw().to_int(),
private_dict.std_vw().to_int(),
match private_dict.blue_scale() {
Some(value) => fixed_from_double(value)
None => defaults.blue_scale()
},
private_dict.blue_shift().unwrap_or(defaults.blue_shift().to_int()),
private_dict.blue_fuzz().unwrap_or(defaults.blue_fuzz().to_int()),
)
}