/**
 * @file
 * Polices de notation musicale MusAnalysis et MusGlyphs.
 *
 * Feuille partagée : chargée sur le site par la bibliothèque
 * « battah/global-styling », et dans l'éditeur de texte CKEditor 5 par la clé
 * « ckeditor5-stylesheets » de battah.info.yml. Sans cette seconde inclusion,
 * l'éditeur — qui s'affiche dans le thème d'administration Claro — ignore ces
 * règles : le texte stylé y reste en caractères ordinaires, et l'éditeur conclut
 * à tort que les polices ne fonctionnent pas.
 *
 * Les @font-face eux-mêmes sont fournis par le module local_fonts, sur tous les
 * thèmes (réglage fontyourface « load_all_enabled_fonts »).
 *
 * MusAnalysis et MusGlyphs produisent des symboles musicaux par ligatures :
 * taper « ## », « (100)b » ou « !? » donne un symbole. Les deux polices
 * s'appliquent par le menu « Style » de l'éditeur, sur une sélection. Jamais sur
 * un bloc entier : les ligatures se déclenchant sur des suites de caractères
 * ordinaires, du texte courant deviendrait des symboles à l'insu de l'éditeur.
 */

.musanalysis,
.musglyphs {
  /* Les trois fonctionnalités OpenType dont dépendent ces polices, activées
     explicitement : ligatures standard (liga), variantes contextuelles (calt)
     et crénage (kern). Les navigateurs les activent déjà par défaut, mais une
     règle héritée ou une remise à zéro pourrait les couper en silence ; les
     déclarer ici garantit qu'elles restent actives quel que soit le contexte. */
  font-variant-ligatures: common-ligatures contextual;
  font-feature-settings: "liga" 1, "calt" 1, "kern" 1;
  font-kerning: normal;

  /* Neutralisation de propriétés héritées qui casseraient les ligatures.
     - letter-spacing : les navigateurs désactivent les ligatures dès qu'il
       vaut autre chose que « normal », et le thème en applique à une douzaine
       d'endroits (h4, h5, plusieurs blocs).
     - text-transform : h4 et h5 sont en capitales ; hérité, il changerait
       « b » en « B » et la suite tapée ne correspondrait plus à aucune
       ligature.
     - font-variant-caps : même raison, pour les petites capitales. */
  letter-spacing: normal;
  text-transform: none;
  font-variant-caps: normal;

  /* Interligne exprimé en unité fixe et non en nombre sans unité, comme le
     demande la documentation des polices. Un nombre sans unité se recalcule à
     partir de la taille de police de chaque élément ; une longueur est
     calculée une fois et héritée telle quelle. Les glyphes musicaux étant
     bien plus hauts que le texte courant, c'est ce qui évite les
     chevauchements entre lignes. Valeur à ajuster à l'œil. */
  line-height: 2rem;
}

.musanalysis {
  font-family: 'MusAnalysis', serif;
}

.musglyphs {
  font-family: 'MusGlyphs', serif;
}
