Moonlight Animate: panel Glify i warianty OpenType per-glif
Typografia w Moonlight Animate dostaje narzędzie, którego brakowało osobom pracującym z ozdobnymi i kaligraficznymi krojami: panel Glify z dostępem do wariantów OpenType konkretnego glifu. To funkcja znana z profesjonalnych edytorów grafiki — teraz w pełni działa w naszym edytorze.
Co to daje
Wiele krojów (zwłaszcza skryptowych, ozdobnych, kaligraficznych) zawiera dla pojedynczej litery kilka alternatywnych form — swashe, warianty stylistyczne, formy początkowe i końcowe. Dotąd mogliśmy włączać całe grupy cech OpenType (zestawy stylistyczne ss01–ss20, ligatury, swashe) dla całego runu. Teraz można wybrać konkretny wariant pojedynczego glifu.
Jak to działa
- Marker wariantów. W siatce panelu Glify każdy glif, który ma alternatywne formy, oznaczony jest małym trójkątem w rogu komórki. Krój bez wariantów po prostu ich nie pokazuje — żadnych pustych przycisków.
- Pop-up alternatyw. Alt-klik (lub prawy klik) na takim glifie rozwija małe okienko z wszystkimi jego wariantami, narysowanymi bezpośrednio z kroju.
- Warianty zaznaczenia. Zaznacz znak w tekście, przełącz kategorię na „Warianty zaznaczenia", a siatka pokaże jego formę bazową i wszystkie alternatywy. Dwuklik na wariancie zamienia zaznaczony glif na tę formę; dwuklik na bazowym wraca do domyślnej. Każda zmiana to jeden krok cofania, a wybór zapisuje się w projekcie.
Pod maską
Wariant stosowany jest jako cecha OpenType aalt (Access All Alternates) na poziomie pojedynczego
glifu — nie jako podmiana znaku, bo alternatywne formy często nie mają własnego kodu Unicode i są
osiągalne wyłącznie przez warstwę typografii kroju. Do wyliczenia, które formy istnieją, dołożyliśmy
silnik HarfBuzz czytający tablicę GSUB kroju. Co ważne: listę wariantów budujemy przez
realne złożenie tekstu — dla każdej alternatywy składamy znak tak, jak zrobi to silnik renderujący,
i zapisujemy dokładnie ten glif, który zobaczysz w dokumencie. Panel pokazuje więc to, co naprawdę
się wyrenderuje, niezależnie od tego, jak dany krój ułożył swoje tablice.
Format projektu pozostaje wstecznie zgodny — starsze pliki otwierają się bez zmian, a wybór wariantu to dodatkowe, opcjonalne pole zapisywane per-fragment tekstu.