Schlüsseltechnologie

Die IT hat unser Leben in den letzten Jahrzehnten von Grund auf verändert. Aber wie funktioniert sie wirklich? Das möchte ttimeless mal erklärt bekommen. Zum Glück hat Xyrill Antworten.

https://schluesseltechnologie-podcast.de/

subscribe
share






episode 14: STP014: Textdarstellung


In dieser Folge unterhalten wir uns über allerlei Detailwissen zu verschiedenen Schriftarten, werfen mit schlecht vorbereiteten Beispielen um uns und haben starke Meinungen zu verschiedenen Dingen. Um Textdarstellung geht es dabei nebenbei auch.

Shownotes
  • Nachbemerkungen zum letzten Mal: bidirektionaler Text

    • Mischung aus LTR-Schrift (left to right) und RTL-Schrift (right to left), z.B. hebräische oder arabische Zitate in lateinischer Schrift
    • in der Zeichenkette entsprechend der logischen Reihenfolge
    • in der Darstellung: Zeichen können (aber müssen nicht) eine präferierte Schreibrichtung haben, explizite Umschaltung der Schreibrichtung mit Steuerzeichen möglich
  • Grundbegriffe

    • "Zeichen": wird im Bereich von Unicode kaum verwendet, da nicht klar definiert
    • Graphem: die kleinste bedeutungsunterscheidende (aber nicht bedeutungstragende) Einheit eines Schriftsystems (z.B. lateinische Schrift: Buchstaben, Ziffern, Sonderzeichen, Leerzeichen); in Unicode ungefähr gleichsetzbar mit einem Codepunkt (abgesehen von Steuerzeichen)
    • Glyphe: die grafische Darstellung eines Graphems
    • Schriftart/Font: ein vollständiger Satz von Glyphen
  • Unterschiede zwischen Schriftarten

    • Serifenschriften vs. serifenlose, insb. Groteskschriften
    • Proportionalschriften vs. Monospace-Schriften
    • Spezialanwendungen: OCR-A, FE-Schrift, Schriften zur Unterstützung von Analphabeten (unter den bekannten Schriften insbesondere Comic Sans)
    • Beispiel aus Asien: Ming vs. Gothic vs. Kalligrafie
  • Phase 1: Textlayout

    • Segmentierung in Wörter, Zeilen, Absätze, evtl. Seiten
    • abhängig von den Regeln der verwendeten Schriftsysteme, siehe z.B. UAX 14: Unicode Line Breaking Algorithm
    • abhängig von der Schreibrichtung, interessant insbesondere bei bidirektionalem Text
      • Unicode beschreibt fast ausschließlich zeilenweises Layout mit LTR oder RTL
      • im Japanischen ist auch spaltenweises Layout mit TTB (top to bottom) gängig, siehe UTR 50: Unicode Vertical Text Layout
    • Ruby: Ausspracheannotationen an CJK-Schriftzeichen, außerhalb der eigentlichen Textzeile (in LTR darüber, in TTB rechts daneben)
  • Phase 2: Schriftwahl

    • kaum ein Font deckt alle Grapheme ab -> im Allgemeinen Auswahl verschiedener Fonts je nach Schriftsystem notwendig (Font Stack)
    • in europäischen Texten früher kaum relevant, heute wichtig wegen separater Emoji-Fonts
    • Schriftgröße früher wichtig, da manche Fonts nur als Bitmaps in festen Größen vorlagen; heute durch Vektorschriftarten kein Problem mehr
    • Schriftwahl beeinflusst Phase 1: verschiedene Schriften laufen unterschiedlich weit und ergeben somit andere Zeilenumbruchspunkte
  • Phase 3: Glyphenwahl

    • einfacher Fall: eine Glyphe für ein Graphem
    • allgemeiner Fall: Bildung von Graphem-Clustern
      • z.B. Ligaturen: "f" + "l" = "fl"
      • z.B. kombinierende diakritische Zeichen: "a" + "◌́" = "á"
      • z.B. Emoji-Hautfarben: "????" + Fitzpatrick Modifier 1-2 = "????????"
      • z.B. Emoji-Flaggen: "????" + "????" = "????????"
      • z.B. Fonts mit kreativer Verwendung von Ligaturen: Sans Bullshit Sans, Fira Code
    • anspruchsvollster Fall: Complex text layout, sprich: Anpassung von Glyphen an ihre Nachbarglyphen
      • v.a. im Arabischen und in indischen Schriften, aber auch z.B. in handschriftartigen Fonts
    • auch Glyphenwahl beeinflusst Phase 1, aus demselben Grund wie oben
  • Phase 4: Darstellung

    • Glyphen aus Vektorschriftarten werden in den gewünschten Schriftgrößen gerendert und vorgehalten
    • dann "einfach" Zusammensetzen der Glyphen zu einem Gesamtbild unter Anwendung der gewünschten Textfarbe
    • Ausnahme: Emoji-Glyphen folgen meist nicht der Schriftfarbe
  • Quelle: Spezifikationen und Reports des Unicode Consortium

  • Hörempfehlung: CRE080 Geschichte der Typografie


fyyd: Podcast Search Engine
share








 January 27, 2022  1h21m