/* =============================================================
   TOMORIS.Design · tomoris-fonts.css · FREIWILLIG

   Bindet die Schriften ein, die tomoris-tokens.css in --tm-font
   und --tm-font-mono an erster Stelle nennt. Ohne diese Datei
   stehen dort zwei Namen, zu denen der Rechner keine Datei hat:
   die Seite faellt auf system-ui zurueck, und zwar lautlos.

   Diese Datei ist von Hand gepflegt, wie tomoris-base.css und
   tomoris-components.css. Erzeugt werden nur tomoris-tokens.css
   und tomoris.tokens.json.

   Warum kein @layer: die anderen Schichten liegen in
   @layer tomoris.*, damit eine Anwendung sie ohne Spezifitaets-
   kampf uebersteuern kann. Fuer @font-face gibt es nichts zu
   uebersteuern - bei gleichem Familiennamen gewinnt ohnehin die
   zuletzt geparste Deklaration.

   ---------------------------------------------------------------
   Umfang: sieben Dateien, gemessen an sechs Sprachen

   pia. fuehrt die Oberflaeche in DE, EN, TR, BKS, AR und UK. Was
   davon eine Datei traegt, ist an ihrer cmap gemessen, nicht am
   Namen des Subsets:

     latin       DE, EN vollstaendig
     latin-ext   erst damit TR (g-Breve, I-Punkt, S-Cedille) und
                 BKS lateinisch (c-Caron, d-Strich, s-Caron)
     cyrillic    UK und BKS kyrillisch, beide vollstaendig
     arabic      AR - Nunito Sans fuehrt KEIN Arabisch, weder als
                 Subset noch in der Vollfassung

   cyrillic-ext ist bewusst NICHT dabei. Gemessen deckt cyrillic
   allein UK und BKS kyrillisch vollstaendig ab; ext traegt
   Kirchenslawisches und das Hrywnja-Zeichen und waere 36 kB, die
   niemand anfordert.

   ---------------------------------------------------------------
   Achsen, an der fvar-Tabelle gemessen

     Nunito Sans        wght 200 … 1000, opsz 6 … 12
     JetBrains Mono     wght 100 …  800
     Noto Sans Arabic   wght 100 …  900

   font-weight gibt die volle Spanne der Datei an. Wird enger
   deklariert als die Datei kann, klemmt der Browser stillschweigend:
   bei "400 800" wird aus 900 eine 800 und aus 200 eine 400, ohne
   Meldung. Genau das steht heute in Werft und pia.

   ---------------------------------------------------------------
   Warum die arabische Datei zweimal steht

   Sie ist einmal als "Noto Sans Arabic" deklariert, damit eine
   Anwendung sie beim Namen nennen kann, und einmal als
   "Nunito Sans" mit arabischem unicode-range. Der zweite Eintrag
   ist der wichtige: --tm-font nennt "Nunito Sans" zuerst, und
   tomoris-tokens.css wird erzeugt und ist gesperrt. Ohne ihn
   faende der Browser fuer ein arabisches Zeichen in dieser Familie
   nichts und fiele auf system-ui zurueck - mitten im Satz, mit
   anderer Anmutung und anderer Laufweite.

   Es ist dieselbe Datei unter beiden Namen. Der Browser laedt sie
   einmal; unicode-range sorgt dafuer, dass er sie ueberhaupt nur
   anfasst, wenn ein arabisches Zeichen gesetzt wird. Ein Dienst
   ohne Arabisch zahlt dafuer nichts - dasselbe gilt fuer jede
   andere Datei hier.

   RTL ist damit NICHT erledigt. Die Schrift kann Arabisch, die
   Laufrichtung setzt die Anwendung (dir="rtl"). Die Bausteine in
   tomoris-components.css sind seit dieser Fassung richtungsneutral
   (text-align: start/end statt left/right).
   ============================================================= */

/* ---------- Nunito Sans ---------- */

@font-face {
  font-family: "Nunito Sans";
  font-style: normal;
  font-weight: 200 1000;
  font-display: swap;
  src: url("fonts/nunito-sans-latin-var.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
    U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193,
    U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Nunito Sans";
  font-style: normal;
  font-weight: 200 1000;
  font-display: swap;
  src: url("fonts/nunito-sans-latin-ext-var.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF,
    U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020,
    U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: "Nunito Sans";
  font-style: normal;
  font-weight: 200 1000;
  font-display: swap;
  src: url("fonts/nunito-sans-cyrillic-var.woff2") format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

/* Arabisch unter dem Namen der Textfamilie: --tm-font nennt "Nunito Sans"
   zuerst, und die Tokenschicht wird erzeugt und ist gesperrt. */
@font-face {
  font-family: "Nunito Sans";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("fonts/noto-sans-arabic-var.woff2") format("woff2");
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1,
    U+08E3-08FF, U+200C-200E, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74,
    U+FE76-FEFC, U+10E60-10E7E, U+1EE00-1EEF1;
}

/* ---------- JetBrains Mono ---------- */

@font-face {
  font-family: "JetBrains Mono";
  font-style: normal;
  font-weight: 100 800;
  font-display: swap;
  src: url("fonts/jetbrains-mono-latin-var.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
    U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193,
    U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "JetBrains Mono";
  font-style: normal;
  font-weight: 100 800;
  font-display: swap;
  src: url("fonts/jetbrains-mono-latin-ext-var.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF,
    U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020,
    U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: "JetBrains Mono";
  font-style: normal;
  font-weight: 100 800;
  font-display: swap;
  src: url("fonts/jetbrains-mono-cyrillic-var.woff2") format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

/* Fuer Arabisch gibt es bewusst keine Monospace-Datei: JetBrains Mono fuehrt
   kein Arabisch, und eine arabische Schrift mit fester Laufweite ist
   typografisch ohnehin fragwuerdig. Arabischer Text in einem Mono-Feld faellt
   auf die naechste Familie im Stack. */

/* ---------- Noto Sans Arabic unter eigenem Namen ---------- */
/* Dieselbe Datei wie oben. Wer sie ausdruecklich ansprechen will, kann es;
   der Browser laedt sie trotzdem nur einmal. */

@font-face {
  font-family: "Noto Sans Arabic";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("fonts/noto-sans-arabic-var.woff2") format("woff2");
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1,
    U+08E3-08FF, U+200C-200E, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74,
    U+FE76-FEFC, U+10E60-10E7E, U+1EE00-1EEF1;
}
