sig
  type env = {
    mathsFont : Fonts.font Lazy.t;
    mathsSize : float;
    mathsSubst : FTypes.glyph_id list -> FTypes.glyph_id list;
    numerator_spacing : float;
    denominator_spacing : float;
    sub1 : float;
    sub2 : float;
    sup1 : float;
    sup2 : float;
    sup3 : float;
    sub_drop : float;
    sup_drop : float;
    default_rule_thickness : float;
    subscript_distance : float;
    superscript_distance : float;
    limit_subscript_distance : float;
    limit_superscript_distance : float;
    invisible_binary_factor : float;
    open_dist : float;
    close_dist : float;
    left_op_dist : float;
    right_op_dist : float;
    sqrt_dist : float;
    kerning : bool;
    priorities : float array;
    priority_unit : float;
    delimiter_up_tolerance : float;
    delimiter_down_tolerance : float;
    op_tolerance : float;
    op_limits_tolerance : float;
    punctuation_factor : float;
    optical_alpha : float;
    optical_beta : float;
    precise_kerning : float;
  }
  and environment = Document.Mathematical.env array
  and style =
      Display
    | Display'
    | Text
    | Text'
    | Script
    | Script'
    | ScriptScript
    | ScriptScript'
end