///|
// Document font families → bundled metric-compatible families. Unless a
// `FontRegistry` supplies the family, the layout engine never sees a family
// it does not bundle: unknown names resolve by this table, then by default
// to Carlito (Word's default Calibri).

///|
/// Map a document-authored family name to a bundled family. Matching is
/// case-insensitive. Metric-compatible pairs: Calibri→Carlito,
/// Arial→Liberation Sans, Times New Roman→Liberation Serif,
/// Courier New→Liberation Mono. CJK families map to Noto Sans SC. Only
/// bundled families come out; `FontRegistry::resolve_family` also passes a
/// registered family through.
pub fn resolve_family(name : String) -> String {
  match name.to_lower() {
    "carlito" | "calibri" | "calibri light" => "Carlito"
    "liberation sans" | "arial" | "helvetica" | "helvetica neue" | "segoe ui" =>
      "Liberation Sans"
    "liberation serif"
    | "times new roman"
    | "times"
    | "cambria"
    | "georgia"
    | "garamond"
    | "book antiqua"
    | "palatino linotype" => "Liberation Serif"
    "liberation mono"
    | "courier new"
    | "courier"
    | "consolas"
    | "cascadia code"
    | "menlo"
    | "monaco" => "Liberation Mono"
    "noto sans sc"
    | "simsun"
    | "simhei"
    | "kaiti"
    | "fangsong"
    | "microsoft yahei"
    | "dengxian"
    | "songti sc"
    | "pingfang sc"
    | "pmingliu"
    | "mingliu"
    | "microsoft jhenghei"
    | "ms mincho"
    | "ms gothic"
    | "ms pmincho"
    | "ms pgothic"
    | "yu mincho"
    | "yu gothic"
    | "meiryo"
    | "hiragino sans"
    | "hiragino mincho pro"
    | "malgun gothic"
    | "batang"
    | "gulim" => "Noto Sans SC"
    _ => "Carlito"
  }
}