Digital Typography – UI/UX Design

Technik Workshops

OpenType-Features und Variable-Fonts, Übungen

Aufgabe 1: Text suchen und ersetzen

Todos

Ein HTML-Element, das den Text «m2» enthält, soll durch JavaScript so verändert werden, dass die Ziffer in span-Tags eingefasst wird. Mit CSS wird eine Regel definiert, die Ziffern, die durch diesen Tag eingefasst werden, hochstellt.

Blindtext: <p id="flaeche">Wohnzimmer: 32 m2, Schlafzimmer 22 m2, Küche 19 m2.</p>

Du kannst mit Codepen oder mit Visual Studio Code (lokal) arbeiten. Mit eigenen Fonts, oder mit Google Fonts. Bedenke dabei, dass nicht alle OpentType-Features enthalten (siehe mein Test in den Links). Du kannst alleine arbeiten oder dich mit anderen Teilnehmer*innen austauschen.

Optional: In der Praxis müssen meist mehrere DOM-Knoten (auf Deutsch: Tags im HTML-Dokument) geprüft werden. Dazu braucht es die Funktionen document.querySelectorAll() und forEach(). Wenn du das ausprobieren möchtest, kannst du dich direkt an Josef wenden.

<ul>
    <li>Wohnzimmer: 32 m2</li>
    <li>Schlafzimmer 22 m2</li>
    <li>Küche 19 m2</li>
</ul>

Zubehör

  • Ein Font mit den OpenType-Features, die du benötigst.
  • HTML
  • CSS
  • JavaScript

Links

Snippets

Einer Variablen ein HTML-Element zuweisen:

const myEl = document.querySelector(".foo");

Der Inhalt eines HTML-Elements (z.B. Text zwischen zwei Tags):

const textInMyEl = myEl.innerHTML;
console.log(textInMyEl)

Text ersetzen:

const text = "remote unterricht";
const toxt = text.replace(/[aeiu]/g, "o"); // was macht das g?
console.log(toxt)

Aufagbe 2: Variable-Font mit Animation

Todos

Teil 1: Schau dir die Animation auf Lab DJR an. Analysiere mit den Dev-Tools, wie sie gemacht ist. Baue sie in Codepen mit dem erstbesten Variable-Font nach.

Teil 2: Sobald es funktioniert, gehst du auf v-fonts.com und schaust dich nach Fonts um, die als Trial zur Verfügung stehen oder OpenSource veröffentlicht werden. Suche einen Font, der über andere Achsen verfügt, als jener, den du vorher benutzt hast. Beschaffe den Font und animiere ihn.

Teil 3: Wenn Du bei der Suche nach Fonts auf interessante Schriften stösst, teile sie in Slack mit folgenden Infos: Name Font, Name Designer/Foundry, dazu in einem Satz, warum es interessant ist. Wir stellen daraus eine Liste zusammen.

Zubehör

  • Variable-Font
  • HTML
  • CSS Animation

Wenn du keinen geeigneten Variable-Font besitzt, kannst du einen von Google Fonts nehmen.

Links

Snippets

Um einen Variable-Font von Google einzubinden, muss angegeben werden, in welchem Umfang die Achsen vorhanden sein sollen. Bsp. Recursive:

<link href="https://fonts.googleapis.com/css2?family=Recursive:wght@300..900&display=swap" rel="stylesheet">

Wenn du den Font selber mit der @font-face-Regel einbindest, musst du nichts weiter beachten.

CSS Animation:

.foo {
    animation-name:  hello;
    animation-duration: 500ms;
    animation-iteration-count: infinite;
    animation-direction: alternate;
}

@keyframes hello {
 from { /* … */ }
 to { /* … */ }
}

Das Gewicht von Variable-Fonts lässt sich mit font-weight einstellen. Andere Achsen wie folgt:

.foo { font-variation-settings: 'wdth' 115; }

Hier wird die Achse für die Zeichenbreite eingestellt. Es gibt auch Achsen, die nicht standardisierte Namen tragen. Du findest sie heraus, wenn du den Font auf wakamaifondue.com hochlädst.

Achtung: nicht registrierte Achsen-Kürzel müssen mit Grossbuchstaben geschrieben werden: BANG.