% Centralized font-family catalog and metadata.
% This file registers legacy public font entries without modifying
% the old common/fonts/*.tex modules.

% Internal font mirror root for the registry-based system.
% It is normally set by impe-system.tex or impe.sty.
\providecommand{\CatalogFontRoot}{}

% -----------------------------------------------------------------
% Global Latin families
% -----------------------------------------------------------------

\FontRegisterFamily{
  id = cmu,
  defaultmode = global,
  global = {
    regular = cmunrm.otf,
    bold = cmunbx.otf,
    italic = cmunti.otf,
    bolditalic = cmunbi.otf,
    sans = cmunss.otf,
    sansbold = cmunsx.otf,
    mono = cmuntt.otf,
    monobold = cmuntb.otf
  },
}

\FontRegisterFamily{
  id = noto,
  defaultmode = local,
  local = {
    command = NOT,
    name = noto_local,
    path = \CatalogFontRoot/noto/,
    regular = NotoSerif-Regular.ttf,
    bold = NotoSerif-Bold.ttf,
    italic = NotoSerif-Italic.ttf,
    bolditalic = NotoSerif-BoldItalic.ttf,
    sans = NotoSans-Regular.ttf,
    sansbold = NotoSans-Bold.ttf,
    sansitalic = NotoSans-Italic.ttf,
    sansbolditalic = NotoSans-BoldItalic.ttf,
    mono = NotoSansMono-Regular.ttf,
    monobold = NotoSansMono-Bold.ttf,
  },
  global = {
    path = \CatalogFontRoot/noto/,
    regular = NotoSerif-Regular.ttf,
    bold = NotoSerif-Bold.ttf,
    italic = NotoSerif-Italic.ttf,
    bolditalic = NotoSerif-BoldItalic.ttf,
    sans = NotoSans-Regular.ttf,
    sansbold = NotoSans-Bold.ttf,
    sansitalic = NotoSans-Italic.ttf,
    sansbolditalic = NotoSans-BoldItalic.ttf,
    mono = NotoSansMono-Regular.ttf,
    monobold = NotoSansMono-Bold.ttf
  },
}

\FontRegisterFamily{
  id = times,
  defaultmode = local,
  local = {
    command = TIM,
    name = times_local,
    regular = times.ttf,
    bold = timesbd.ttf,
    italic = timesi.ttf,
    bolditalic = timesbi.ttf,
    sans = arial.ttf,
    sansbold = arialbd.ttf,
    sansitalic = ariali.ttf,
    sansbolditalic = arialbi.ttf,
    mono = consola.ttf,
    monobold = consolab.ttf,
  },
  global = {
    regular = times.ttf,
    bold = timesbd.ttf,
    italic = timesi.ttf,
    bolditalic = timesbi.ttf,
    sans = arial.ttf,
    sansbold = arialbd.ttf,
    sansitalic = ariali.ttf,
    sansbolditalic = arialbi.ttf,
    mono = consola.ttf,
    monobold = consolab.ttf
  },
}

\FontRegisterFamily{
  id = gentium,
  defaultmode = local,
  local = {
    command = GEN,
    name = gentium_local,
    path = \CatalogFontRoot/gentium/,
    regular = GentiumPlus-Regular.ttf,
    bold = GentiumPlus-Bold.ttf,
    italic = GentiumPlus-Italic.ttf,
    bolditalic = GentiumPlus-BoldItalic.ttf
  },
  global = {
    path = \CatalogFontRoot/gentium/,
    regular = GentiumPlus-Regular.ttf,
    bold = GentiumPlus-Bold.ttf,
    italic = GentiumPlus-Italic.ttf,
    bolditalic = GentiumPlus-BoldItalic.ttf
  },
}

\FontRegisterFamily{
  id = charis,
  defaultmode = local,
  local = {
    command = CHA,
    name = charis_local,
    path = \CatalogFontRoot/charis/,
    regular = CharisSIL-Regular.ttf,
    bold = CharisSIL-Bold.ttf,
    italic = CharisSIL-Italic.ttf,
    bolditalic = CharisSIL-BoldItalic.ttf
  },
  global = {
    path = \CatalogFontRoot/charis/,
    regular = CharisSIL-Regular.ttf,
    bold = CharisSIL-Bold.ttf,
    italic = CharisSIL-Italic.ttf,
    bolditalic = CharisSIL-BoldItalic.ttf
  },
}

\FontRegisterFamily{
  id = libertinus,
  defaultmode = local,
  local = {
    command = LIB,
    name = libertinus_local,
    regular = LibertinusSerif-Regular.otf,
    bold = LibertinusSerif-Bold.otf,
    italic = LibertinusSerif-Italic.otf,
    bolditalic = LibertinusSerif-BoldItalic.otf,
    sans = LibertinusSans-Regular.otf,
    sansbold = LibertinusSans-Bold.otf,
    sansitalic = LibertinusSans-Italic.otf,
    mono = LibertinusMono-Regular.otf
  },
  global = {
    regular = LibertinusSerif-Regular.otf,
    bold = LibertinusSerif-Bold.otf,
    italic = LibertinusSerif-Italic.otf,
    bolditalic = LibertinusSerif-BoldItalic.otf,
    sans = LibertinusSans-Regular.otf,
    sansbold = LibertinusSans-Bold.otf,
    sansitalic = LibertinusSans-Italic.otf,
    mono = LibertinusMono-Regular.otf
  },
}

\FontRegisterFamily{
  id = mlmodern,
  defaultmode = local,
  local = {
    command = MLM,
    name = mlmodern_local,
    regular = Latin Modern Roman,
    sans = Latin Modern Sans,
    mono = Latin Modern Mono,
    specialmodule = mlmodern
  },
}

% -----------------------------------------------------------------
% Simple local scripts
% -----------------------------------------------------------------

\FontRegisterFamily{
  id = anatolian,
  defaultmode = local,
  local = {
    command = CA,
    name = anatolian_carian_local,
    path = \CatalogFontRoot/anatolian/,
    regular = NotoSansCarian-Regular.ttf,
    script = Carian,
  },
}

\FontRegisterFamily{
  id = coptic,
  defaultmode = local,
  local = {
    command = CO,
    name = coptic_local,
    path = \CatalogFontRoot/coptic/,
    regular = NotoSansCoptic-Regular.ttf,
    script = Coptic,
  },
}

\FontRegisterFamily{
  id = bopomofo,
  defaultmode = local,
  local = {
    command = ZY,
    name = bopomofo_local,
    path = \CatalogFontRoot/bopomofo/,
    regular = I.Ming-8.10.ttf,
    scriptclass = cjk
  },
}

\FontRegisterFamily{
  id = cuneiform,
  defaultmode = local,
  local = {
    command = CU,
    name = cuneiform_local,
    path = \CatalogFontRoot/cuneiform/,
    regular = NotoSansCuneiform-Regular.ttf,
  },
}

\FontRegisterFamily{
  id = glagolitic,
  defaultmode = local,
  local = {
    command = GL,
    name = glagolitic_local,
    path = \CatalogFontRoot/glagolitic/,
    regular = NotoSansGlagolitic-Regular.ttf,
    script = Glagolitic,
  },
}

\FontRegisterFamily{
  id = italic,
  defaultmode = local,
  local = {
    command = OI,
    name = italic_local,
    path = \CatalogFontRoot/italic/,
    regular = NotoSansOldItalic-Regular.ttf,
    script = Latin,
  },
}

\FontRegisterFamily{
  id = hungarian,
  defaultmode = local,
  local = {
    command = OH,
    name = hungarian_local,
    path = \CatalogFontRoot/hungarian/,
    regular = NotoSansOldHungarian-Regular.ttf,
  },
}

\FontRegisterFamily{
  id = runic,
  defaultmode = local,
  local = {
    command = RU,
    name = runic_local,
    path = \CatalogFontRoot/runic/,
    regular = NotoSansRunic-Regular.ttf,
    script = Runic,
  },
}

% -----------------------------------------------------------------
% Stateful local serif/sans or serif/italic families
%
% Standard OpenType shaping is expressed directly through script,
% language, and features. Built-in layout routes use layout metadata;
% specialmodule is reserved for custom or script-specific TeX modules.
% -----------------------------------------------------------------

\FontRegisterFamily{
  id = armenian,
  defaultmode = local,
  local = {
    command = HY,
    name = armenian_local,
    path = \CatalogFontRoot/armenian/,
    regular = NotoSerifArmenian-Regular.ttf,
    bold = NotoSerifArmenian-Bold.ttf,
    sans = NotoSansArmenian-Regular.ttf,
    sansbold = NotoSansArmenian-Bold.ttf,
    script = Armenian,
  },
}

\FontRegisterFamily{
  id = hindi,
  defaultmode = local,
  local = {
    command = HI,
    name = hindi_local,
    path = \CatalogFontRoot/hindi/,
    regular = NotoSerifDevanagari-Regular.ttf,
    bold = NotoSerifDevanagari-Bold.ttf,
    sans = NotoSansDevanagari-Regular.ttf,
    sansbold = NotoSansDevanagari-Bold.ttf,
    script = Devanagari,
    language = Hindi,
  },
  global = {
    name = hindi_global,
    path = \CatalogFontRoot/hindi/,
    regular = NotoSerifDevanagari-Regular.ttf,
    bold = NotoSerifDevanagari-Bold.ttf,
    sans = NotoSansDevanagari-Regular.ttf,
    sansbold = NotoSansDevanagari-Bold.ttf,
    script = Devanagari,
    language = Hindi,
    unicodeblocks = {
      DevanagariPreMarks,
      DevanagariMarks,
      DevanagariPostMarks,
      DevanagariDanDa,
      DevanagariPostDanDa,
      DevanagariExtended,
      DevanagariExtendedA
    },
  },
}

\FontRegisterFamily{
  id = sanskrit,
  defaultmode = local,
  local = {
    command = SA,
    name = sanskrit_local,
    path = \CatalogFontRoot/sanskrit/,
    regular = TiroDevanagariSanskrit-Regular.ttf,
    script = Devanagari,
    language = Sanskrit,
  },
  global = {
    name = sanskrit_global,
    path = \CatalogFontRoot/sanskrit/,
    regular = TiroDevanagariSanskrit-Regular.ttf,
    script = Devanagari,
    language = Sanskrit,
    unicodeblocks = {
      DevanagariPreMarks,
      DevanagariMarks,
      DevanagariPostMarks,
      DevanagariDanDa,
      DevanagariPostDanDa,
      DevanagariExtended,
      DevanagariExtendedA,
      VedicExtensions
    },
  },
}

\FontRegisterFamily{
  id = devanagari,
  defaultmode = local,
  local = {
    command = DEV,
    name = devanagari_local,
    path = \CatalogFontRoot/hindi/,
    regular = NotoSerifDevanagari-Regular.ttf,
    bold = NotoSerifDevanagari-Bold.ttf,
    sans = NotoSansDevanagari-Regular.ttf,
    sansbold = NotoSansDevanagari-Bold.ttf,
    script = Devanagari,
  },
}

\FontRegisterFamily{
  id = tamil,
  defaultmode = local,
  local = {
    command = TA,
    name = tamil_local,
    path = \CatalogFontRoot/tamil/,
    regular = NotoSerifTamil-Regular.ttf,
    bold = NotoSerifTamil-Bold.ttf,
    italic = NotoSerifTamil-Italic.ttf,
    bolditalic = NotoSerifTamil-BoldItalic.ttf,
    sans = NotoSansTamil-Regular.ttf,
    sansbold = NotoSansTamil-Bold.ttf,
    script = Tamil,
    language = Tamil,
  },
}

\FontRegisterFamily{
  id = brahmi,
  defaultmode = local,
  local = {
    command = BR,
    name = brahmi_local,
    path = \CatalogFontRoot/brahmi/,
    regular = NotoSansBrahmi-Regular.ttf,
    script = Brahmi,
  },
}

\FontRegisterFamily{
  id = georgian,
  defaultmode = local,
  local = {
    command = KA,
    name = georgian_local,
    path = \CatalogFontRoot/georgian/,
    regular = NotoSerifGeorgian-Regular.ttf,
    bold = NotoSerifGeorgian-Bold.ttf,
    sans = NotoSansGeorgian-Regular.ttf,
    sansbold = NotoSansGeorgian-Bold.ttf,
    script = Georgian,
  },
}

\FontRegisterFamily{
  id = tibetan,
  defaultmode = local,
  local = {
    command = TI,
    name = tibetan_local,
    path = \CatalogFontRoot/tibetan/,
    regular = NotoSerifTibetan-Regular.ttf,
    bold = NotoSerifTibetan-Bold.ttf,
    italic = KhaWaBetsugsSans-Text-Normal.ttf,
    bolditalic = KhaWaBetsugsSans-Text-Bold.ttf,
    script = Tibetan,
    language = Tibetan,
    inlinebehavior = tibetan,
  },
  global = {
    name = tibetan_global,
    path = \CatalogFontRoot/tibetan/,
    regular = NotoSerifTibetan-Regular.ttf,
    bold = NotoSerifTibetan-Bold.ttf,
    italic = KhaWaBetsugsSans-Text-Normal.ttf,
    bolditalic = KhaWaBetsugsSans-Text-Bold.ttf,
    script = Tibetan,
    language = Tibetan,
    inlinebehavior = tibetan,
    unicodeblocks = { Tibetan },
  },
}

% -----------------------------------------------------------------
% RTL and other complex-script locals
% -----------------------------------------------------------------

\FontRegisterFamily{
  id = arabic,
  defaultmode = local,
  local = {
    command = AR,
    name = arabic_local,
    path = \CatalogFontRoot/arabic/,
    regular = NotoNaskhArabic-Regular.ttf,
    bold = NotoNaskhArabic-Bold.ttf,
    italic = ArefRuqaa-Regular.ttf,
    bolditalic = ArefRuqaa-Bold.ttf,
    sans = NotoSansArabic-Regular.ttf,
    sansbold = NotoSansArabic-Bold.ttf,
    sansitalic = NotoKufiArabic-Regular.ttf,
    sansbolditalic = NotoKufiArabic-Bold.ttf,
    script = Arabic,
    language = Arabic,
  },
}

\FontRegisterFamily{
  id = urdu,
  defaultmode = local,
  local = {
    command = UR,
    name = urdu_local,
    path = \CatalogFontRoot/urdu/,
    regular = NotoNastaliqUrdu-Regular.ttf,
    bold = NotoNastaliqUrdu-Bold.ttf,
    script = Arabic,
    language = Urdu,
  },
}

\FontRegisterFamily{
  id = aramaic,
  defaultmode = local,
  local = {
    command = IA,
    name = aramaic_local,
    path = \CatalogFontRoot/aramaic/,
    regular = NotoSansImperialAramaic-Regular.ttf,
    features = { RawFeature = { script=armi } },
  },
}

\FontRegisterFamily{
  id = nabataean,
  defaultmode = local,
  local = {
    command = NB,
    name = nabataean_local,
    path = \CatalogFontRoot/nabataean/,
    regular = NotoSansNabataean-Regular.ttf,
    script = Nabataean,
  },
}

\FontRegisterFamily{
  id = hebrew,
  defaultmode = local,
  local = {
    command = HE,
    name = hebrew_local,
    path = \CatalogFontRoot/hebrew/,
    regular = NotoSerifHebrew-Regular.ttf,
    bold = NotoSerifHebrew-Bold.ttf,
    italic = DavidLibre-Regular.ttf,
    bolditalic = DavidLibre-Bold.ttf,
    sans = NotoSansHebrew-Regular.ttf,
    sansbold = NotoSansHebrew-Bold.ttf,
    script = Hebrew,
    language = Hebrew,
  },
}

\FontRegisterFamily{
  id = syriac,
  defaultmode = local,
  local = {
    command = SY,
    name = syriac_local,
    path = \CatalogFontRoot/syriac/,
    regular = SyrCOMEdessa.otf,
    bold = SyrCOMMidyat.otf,
    italic = SyrCOMJerusalem.otf,
    bolditalic = SyrCOMJerusalemBold.otf,
    sans = NotoSansSyriac-Regular.ttf,
    sansbold = NotoSansSyriac-Bold.ttf,
    sansitalic = NotoSansSyriacWestern-Regular.ttf,
    sansbolditalic = NotoSansSyriacWestern-Bold.ttf,
    script = Syriac,
  },
}

\FontRegisterFamily{
  id = syriac_eastern,
  defaultmode = local,
  rangeprofile = syriac-eastern,
  local = {
    command = SYE,
    name = syriac_eastern_local,
    path = \CatalogFontRoot/syriac_eastern/,
    regular = SyrCOMAdiabene.otf,
    bold = SyrCOMCtesiphon.otf,
    italic = SyrCOMJerusalem.otf,
    bolditalic = SyrCOMJerusalemBold.otf,
    sans = NotoSansSyriacEastern-Regular.ttf,
    sansbold = NotoSansSyriacEastern-Bold.ttf,
    sansitalic = NotoSansSyriacWestern-Regular.ttf,
    sansbolditalic = NotoSansSyriacWestern-Bold.ttf,
    script = Syriac,
  },
}

\FontRegisterFamily{
  id = kharosthi,
  defaultmode = local,
  local = {
    command = KH,
    name = kharosthi_local,
    path = \CatalogFontRoot/kharosthi/,
    regular = NotoSansKharoshthi-Regular.ttf,
    features = { RawFeature = { script=khar } },
  },
}

\FontRegisterFamily{
  id = khitan_small,
  defaultmode = local,
  rangeprofile = khitan-small,
  globalroute = none,
  local = {
    command = KHS,
    name = khitan_small_local,
    path = \CatalogFontRoot/khitan_small/,
    regular = NotoSerifKhitanSmallScript-Regular.ttf,
    specialmodule = khitan_small,
  },
}

\FontRegisterFamily{
  id = pahlavi_parthian,
  defaultmode = local,
  rangeprofile = pahlavi-parthian,
  local = {
    command = PAR,
    name = pahlavi_parthian_local,
    path = \CatalogFontRoot/pahlavi_parthian/,
    regular = NotoSansInscriptionalParthian-Regular.ttf,
    features = { RawFeature = { script=prti } },
  },
}

\FontRegisterFamily{
  id = pahlavi_inscriptional,
  defaultmode = local,
  rangeprofile = pahlavi-inscriptional,
  local = {
    command = PAH,
    name = pahlavi_inscriptional_local,
    path = \CatalogFontRoot/pahlavi_inscriptional/,
    regular = NotoSansInscriptionalPahlavi-Regular.ttf,
    features = { RawFeature = { script=phli } },
  },
}

\FontRegisterFamily{
  id = pahlavi_psalter,
  defaultmode = local,
  rangeprofile = pahlavi-psalter,
  globalroute = none,
  local = {
    command = PSP,
    name = pahlavi_psalter_local,
    path = \CatalogFontRoot/pahlavi_psalter/,
    regular = NotoSansPsalterPahlavi-Regular.ttf,
    script = PsalterPahlavi,
    specialmodule = pahlavi,
    features = { RawFeature = { script=phlp } },
  },
}

\FontRegisterFamily{
  id = avestan,
  defaultmode = local,
  local = {
    command = AV,
    name = avestan_local,
    path = \CatalogFontRoot/avestan/,
    regular = NotoSansAvestan-Regular.ttf,
    script = Avestan,
  },
}

\FontRegisterFamily{
  id = manichaean,
  defaultmode = local,
  local = {
    command = MA,
    name = manichaean_local,
    path = \CatalogFontRoot/manichaean/,
    regular = NotoSansManichaean-Regular.ttf,
    features = { RawFeature = { script=mani } },
  },
}

\FontRegisterFamily{
  id = phoenician,
  defaultmode = local,
  local = {
    command = PH,
    name = phoenician_local,
    path = \CatalogFontRoot/phoenician/,
    regular = NotoSansPhoenician-Regular.ttf,
    script = Phoenician,
  },
}

\FontRegisterFamily{
  id = samaritan,
  defaultmode = local,
  local = {
    command = SM,
    name = samaritan_local,
    path = \CatalogFontRoot/samaritan/,
    regular = NotoSansSamaritan-Regular.ttf,
    script = Samaritan,
  },
}

\FontRegisterFamily{
  id = sogdian,
  defaultmode = local,
  local = {
    command = SG,
    name = sogdian_local,
    path = \CatalogFontRoot/sogdian/,
    regular = NotoSansSogdian-Regular.ttf,
    features = { RawFeature = { script=sogd } },
  },
}

\FontRegisterFamily{
  id = sogdian_old,
  defaultmode = local,
  rangeprofile = sogdian-old,
  local = {
    command = SGO,
    name = sogdian_old_local,
    path = \CatalogFontRoot/sogdian_old/,
    regular = NotoSansOldSogdian-Regular.ttf,
  },
}

% -----------------------------------------------------------------
% CJK families
% -----------------------------------------------------------------

\FontRegisterFamily{
  id = chinese_simplified,
  defaultmode = local,
  rangeprofile = cjk-sc,
  local = {
    command = SC,
    name = chinese_simplified_local,
    path = \CatalogFontRoot/chinese_simplified/,
    regular = NotoSerifSC-Regular.ttf,
    bold = NotoSerifSC-Bold.ttf,
    sans = NotoSansSC-Regular.ttf,
    sansbold = NotoSansSC-Bold.ttf,
    scriptclass = cjk,
  },
}

\FontRegisterFamily{
  id = chinese_traditional,
  defaultmode = local,
  rangeprofile = cjk-tc,
  local = {
    command = TC,
    name = chinese_traditional_local,
    path = \CatalogFontRoot/chinese_traditional/,
    regular = NotoSerifTC-Regular.ttf,
    bold = NotoSerifTC-Bold.ttf,
    sans = NotoSansTC-Regular.ttf,
    sansbold = NotoSansTC-Bold.ttf,
    scriptclass = cjk,
  },
}

\FontRegisterFamily{
  id = japanese,
  defaultmode = local,
  rangeprofile = cjk-jp,
  local = {
    command = JP,
    name = japanese_local,
    path = \CatalogFontRoot/japanese/,
    regular = NotoSerifJP-Regular.ttf,
    bold = NotoSerifJP-Bold.ttf,
    sans = NotoSansJP-Regular.ttf,
    sansbold = NotoSansJP-Bold.ttf,
    scriptclass = cjk,
  },
  global = {
    name = japanese_global,
    path = \CatalogFontRoot/japanese/,
    regular = NotoSerifJP-Regular.ttf,
    bold = NotoSerifJP-Bold.ttf,
    sans = NotoSansJP-Regular.ttf,
    sansbold = NotoSansJP-Bold.ttf,
    mono = NotoSerifJP-Regular.ttf,
    monobold = NotoSerifJP-Bold.ttf,
    scriptclass = cjk,
  },
}

\FontRegisterFamily{
  id = wenjin,
  defaultmode = local,
  rangeprofile = cjk-tc,
  local = {
    command = WJ,
    name = wenjin_local,
    path = \CatalogFontRoot/wenjin/,
    regular = WenJinMinchoP0-Regular.ttf,
    scriptclass = cjk,
    preservespaces = true,
    cjkfallback = {
      [Path = {\CatalogFontRoot/wenjin/}]{WenJinMinchoP0-Regular.ttf},
      [Path = {\CatalogFontRoot/wenjin/}]{WenJinMinchoP2-Regular.ttf},
      [Path = {\CatalogFontRoot/wenjin/}]{WenJinMinchoP3-Regular.ttf}
    },
  },
}

\FontRegisterFamily{
  id = shanggu,
  defaultmode = global,
  rangeprofile = cjk-tc,
  globalroute = none,
  global = {
    path = \CatalogFontRoot/shanggu/,
    regular = ShangguSerif-Regular.ttf,
    bold = ShangguSerif-Bold.ttf,
    italic = ZhuqueFangsong-Regular.ttf,
    bolditalic = ZhuqueFangsong-Regular.ttf,
    sans = ShangguSans-Regular.ttf,
    sansbold = ShangguSans-Bold.ttf,
    mono = ShangguSerif-Regular.ttf,
    monobold = ShangguSerif-Bold.ttf,
    scriptclass = cjk
  },
}

\FontRegisterFamily{
  id = sim,
  defaultmode = global,
  rangeprofile = cjk-sc,
  globalroute = none,
  global = {
    regular = simsun.ttc,
    bold = simhei.ttf,
    italic = simfang.ttf,
    bolditalic = simkai.ttf,
    sans = simhei.ttf,
    mono = simsun.ttc,
    scriptclass = cjk
  },
}

\FontRegisterFamily{
  id = korean,
  defaultmode = local,
  rangeprofile = cjk-kr,
  local = {
    command = KR,
    name = korean_local,
    path = \CatalogFontRoot/korean/,
    regular = NotoSerifKR-Regular.ttf,
    bold = NotoSerifKR-Bold.ttf,
    sans = NotoSansKR-Regular.ttf,
    sansbold = NotoSansKR-Bold.ttf,
    script = Hangul,
    scriptclass = cjk,
    preservespaces = true,
  },
}

\FontRegisterFamily{
  id = tangut,
  defaultmode = local,
  rangeprofile = tangut,
  globalroute = xeCJK,
  local = {
    command = TG,
    name = tangut_local,
    path = \CatalogFontRoot/tangut/,
    regular = NotoSerifTangut-Regular.ttf,
    italic = Tangut N4694 V3.10.ttf,
    bolditalic = new Tangut Std V2.008.ttf,
    scriptclass = cjk,
  },
}

\FontRegisterFamily{
  id = mongolian,
  defaultmode = local,
  local = {
    command = MO,
    name = mongolian_local,
    path = \CatalogFontRoot/mongolian/,
    regular = mnglwhiteotf.ttf,
    italic = mnglwritingotf.ttf,
    bold = mngltitleotf.ttf,
    bolditalic = mnglartotf.ttf,
    sans = NotoSansMongolian-Regular.ttf,
    features = { RawFeature = { script=mong } },
    layout = vertical,
    verticalstrategy = ltr,
  },
}

\FontRegisterFamily{
  id = mongolian_baiti,
  defaultmode = local,
  local = {
    command = MOb,
    name = mongolian_baiti_local,
    path = \CatalogFontRoot/mongolian_baiti/,
    regular = monbaiti.ttf,
    features = { RawFeature = { script=mong } },
    layout = vertical,
    verticalstrategy = ltr,
  },
}

\FontRegisterFamily{
  id = manchu,
  defaultmode = local,
  local = {
    command = MC,
    name = manchu_local,
    path = \CatalogFontRoot/manchu/,
    regular = Ab-Xy.ttf,
    bold = Ab-Xy_B.ttf,
    sans = NotoSansMongolian-Regular.ttf,
    features = { RawFeature = { script=mong } },
    layout = vertical,
    verticalstrategy = ltr,
  },
}

\FontRegisterFamily{
  id = segoe,
  defaultmode = local,
  local = {
    command = SEG,
    name = segoe_local,
    path = \CatalogFontRoot/segoe/,
    regular = seguihis.ttf,
    script = Brahmi,
    language = Sanskrit,
  },
}

\FontRegisterFamily{
  id = thai,
  defaultmode = local,
  local = {
    command = TH,
    name = thai_local,
    path = \CatalogFontRoot/thai/,
    regular = NotoSerifThai-Regular.ttf,
    bold = NotoSerifThai-Bold.ttf,
    sans = NotoSansThaiLooped-Regular.ttf,
    sansbold = NotoSansThaiLooped-Bold.ttf,
    sansitalic = NotoSansThai-Regular.ttf,
    sansbolditalic = NotoSansThai-Bold.ttf,
    script = Thai,
    language = Thai,
  },
}

\FontRegisterFamily{
  id = turkic,
  defaultmode = local,
  local = {
    command = OT,
    name = turkic_local,
    path = \CatalogFontRoot/turkic/,
    regular = NotoSansOldTurkic-Regular.ttf,
  },
}

\FontRegisterFamily{
  id = uyghur,
  defaultmode = local,
  local = {
    command = UY,
    name = uyghur_local,
    path = \CatalogFontRoot/uyghur/,
    regular = NotoSerifOldUyghur-Regular.ttf,
    features = { RawFeature = { script=ougr } },
    layout = vertical,
    verticalstrategy = ltr,
    verticalrotation = 90,
    verticalorigin = rB,
    verticaltopcorrection = 1em,
  },
}

% -----------------------------------------------------------------
% Vietnamese split into separate registry entries
% -----------------------------------------------------------------

\FontRegisterFamily{
  id = vietnamese_quocngu,
  defaultmode = local,
  local = {
    command = VI,
    name = vietnamese_quocngu_local,
    path = \CatalogFontRoot/vietnamese_quocngu/,
    regular = Minh Nguyen Regular.ttf,
    bold = Minh Nguyen Bold.ttf,
    sans = Gothic Nguyen Regular.ttf,
  },
}

\FontRegisterFamily{
  id = vietnamese_hannom,
  defaultmode = local,
  local = {
    command = HN,
    name = vietnamese_hannom_local,
    path = \CatalogFontRoot/vietnamese_hannom/,
    regular = Minh Nguyen Regular.ttf,
    bold = Minh Nguyen Bold.ttf,
    italic = NomNaTong-Regular.ttf,
    bolditalic = NomNaTong-Regular.ttf,
    sans = Gothic Nguyen Regular.ttf,
    scriptclass = cjk,
  },
}

