Warum sollte ich keine Unicode-Zeichen verwenden, um typografische Stile (z. B. Kapitälchen oder Skripts) zu simulieren?

129

Unicode enthält verschiedene Zeichen, die wie typografisch stilisierte Varianten von Zeichen des lateinischen Grundalphabets aussehen und es ermöglichen, Texte in den entsprechenden typografischen Stilen zu schreiben, ohne auf Markierungen oder Ähnliches zurückzugreifen. Zum Beispiel kann man simulieren:

  • Kapitälchen:

    ʙᴇʜᴏʟᴅ ʙᴇʜᴏʟᴅ ꜰᴀɴᴄɪʟy ᴇɴᴄᴏᴅᴇᴅ ᴛᴇxᴛᴇ.

  • Skript:

    𝓑𝓮𝓱𝓸𝓵𝓭 𝓑𝓮𝓱𝓸𝓵𝓭 𝓯𝓪𝓷𝓬𝓲𝓵𝔂 𝓮𝓷𝓬𝓸𝓭𝓮𝓭 𝓮𝓷𝓬𝓸𝓭𝓮𝓭.

  • Blackletter:

    𝕭𝖊𝖍𝖔𝖑𝖉 𝕭𝖊𝖍𝖔𝖑𝖉 𝖋𝖆𝖓𝖈𝖎𝖑𝖞 𝖊𝖓𝖈𝖔𝖉𝖊𝖉 𝖊𝖓𝖈𝖔𝖉𝖊𝖉.

Dies stieß auf Interesse an Stack Exchange (z. B. hier , hier und hier ) und es wurde Kritik an solchen Techniken geäußert. Aber was kann schief gehen, wenn ich sie benutze?

Wrzlprmft
quelle
224
Ich lese das von meinem Handy aus und kann die letzten beiden tollen Texte nicht sehen.
Scimonster
22
Weil es auf einigen Geräten nicht lesbar ist: i.stack.imgur.com/kM73J.png
Chris Kent
15
Da einige von uns Webseiten in den von uns als lesbar erachteten Schriftarten (und Größen, Farben usw.) anzeigen möchten, verwenden wir z. B. Benutzer-CSS-Stylesheets, um Autorenstile zu überschreiben. Möglicherweise stellen Sie fest, dass Ihre drei Beispiele auf meinem Gerät zwar angezeigt werden, aber für mich nur grenzwertig lesbar sind. Warum würden Sie Ihren künstlerischen Appetit über die Lesefreundlichkeit Ihrer Leser stellen?
Jamesqf
38
Hier ist eine interessante Beobachtung: Edge kann in den letzten beiden Beispielen keinen Text finden und Chrome kann im ersten keinen Text finden. (Versuchen Sie in beiden Browsern, STRG + F'ing für BEHOLD zu verwenden.) Firefox wurde nicht aktiviert.
Schism
22
@Schism Firefox findet keinen von ihnen. Offenbar verwendet Chrome vor der Suche wahrscheinlich die NFKC / NFKD-Normalisierung, wodurch das Skript und der Blackletter-Text in Basic Latin zerlegt werden. Firefox scheint das nicht zu tun. Edge ... macht etwas Seltsames.
Bob

Antworten:

224

Allgemeines

Diese Zeichen sind nicht für regulären lateinischen Alphabettext gedacht, sondern für Phonetik, kyrillischen Alphabettext, zur Verwendung als mathematische Symbole (die Variablen darstellen) oder ähnliches. Die einzige Unicode-kompatible Möglichkeit, Text im lateinischen Grundalphabet zu codieren, besteht in der Verwendung der hauptsächlich für diesen Zweck verwendeten Zeichen (dh aus dem lateinischen Grundunicode-Block).

Wie bei vielen anderen Standards sollten Sie sich überlegen, ob Sie gegen Unicode verstoßen. Darüber hinaus umfasst Unicode so viele Schriftsysteme, Anwendungsfälle und Dinge, die nur zur Abwärtskompatibilität mit anderen Standards existieren 1, dass es eine Wissenschaft für sich ist, alle ihre Motivationen vollständig zu verstehen. Lange Rede, kurzer Sinn, wenn Sie nicht wirklich genau wissen, was Sie tun, ist es sehr wahrscheinlich, dass etwas kaputt geht, an das Sie nicht einmal aus der Ferne gedacht haben.

Spezifische Beispiele

Barrierefreiheit

Codierter Text existiert nicht nur zum Rendern in einer bestimmten Schriftart. Sie kann zB auch von Screenreadern interpretiert werden. Und ein Screenreader sollte nicht raten müssen, ob

𝓽𝓱𝓮

soll der bestimmte Artikel oder das mathematische Produkt 2 der Variablen 𝓽, 𝓱 und 𝓮 sein - wofür diese Zeichen gemacht sind. Das beste Verhalten ist daher, diese Zeichen zu buchstabieren, z. B. wörtlich Folgendes zu sagen:

Fettschrift klein t, Fettschrift klein h, Fettschrift klein e

Es sollte stattdessen nicht nur "das" sagen, da dann mathematische Texte, deren Symbole zufällig ein aussprechbares Wort bilden, nicht richtig gelesen werden. 3

Portabilität

Wenn Ihr Text auf Ihrem Computer gut wiedergegeben wird, bedeutet dies nicht, dass er auch auf dem des Lesers wiedergegeben wird. Das offensichtlichste Beispiel ist, dass der Leser keine Schriftart hat, die diese Zeichen unterstützt, oder der Text von einer Software gerendert wird, die keine Ersatzschriftarten unterstützt. Dies wird freilich immer seltener. Beachten Sie jedoch, dass manche Menschen wie Legastheniker spezielle Schriftarten benötigen, die diese Zeichen mit geringerer Wahrscheinlichkeit unterstützen.

Aber selbst wenn das Lesegerät nur eine andere Schriftart verwendet, kann dies die Lesbarkeit des Texts erheblich beeinträchtigen. Für ein erstes Beispiel wird dies mit zwei verschiedenen Schriftarten gerendert:

𝓉𝒽ℯ mit FreeSerif und STIX gerendert

Mit Free Serif wird der Text so gerendert, wie Sie es wahrscheinlich möchten, wenn Sie zur Simulation von Text Sonderzeichen verwenden. Diese Zeichen werden jedoch als mathematische Symbole verwendet, was keinen Sinn ergibt. Daher entspricht das Rendering von STIX , das speziell für mathematische Zwecke entwickelt wurde, eher der Art und Weise, wie diese Zeichen verwendet werden sollen.

Nehmen wir in einem zweiten Beispiel an , Sie oder der Leser kursiv schreiben „с “т мy вᴀʀ“ aus irgendeinem Grund. Mit einer guten Schriftart erhalten Sie 4 :

сᴜт мy вᴀʀ wird aufrecht und kursiv dargestellt.  kursiv lautet "cum my bar"

Der Grund dafür ist, dass die Kapitälchen (teilweise) mit kyrillischen Buchstaben simuliert wurden und kyrillische Kursivschrift manchmal sehr unterschiedlich zu ihren aufrechten Gegenstücken aussieht . Das ist also wieder das richtige Verhalten.

Durchsuchbarkeit

Stellen Sie sich als erstes Beispiel vor, was eine sinnvolle Suche mit dem Zeichen 𝒲 (mathematisches Skript W ) bewirken soll . Es sei angenommen, dass die Suche zwei Modi hat, den Standardmodus und den genauen Modus (normalerweise unter Berücksichtigung der Groß- und Kleinschreibung ). Dieses Zeichen sollte sein:

  • gefunden bei der Suche nach w oder W im Standardmodus - für diejenigen, die sich nicht die Mühe machen möchten, das Sonderzeichen in das Suchfeld einzugeben oder einzufügen;

  • gefunden bei der Suche nach 𝒲 im genauen Modus - für diejenigen, die suchen möchten, wo die entsprechende Variable in einem mathematischen Dokument erwähnt wird³;

  • nicht gefunden, wenn im exakten Modus nach 𝓌, w oder W gesucht wird, da eine Suche abgebrochen wurde, die der obigen ähnelt.

Wenn Sie dieses Zeichen jedoch verwenden, um normalen Text zu simulieren, sollte es gefunden werden, wenn Sie im exakten Modus nach W oder 𝒲 suchen , was im Widerspruch zum obigen steht.

Als zweites Beispiel ist zu berücksichtigen, dass kyrillische Zeichen bei der Suche nach lateinischen Zeichen und umgekehrt niemals gefunden werden sollten, da sie völlig unterschiedliche Dinge sind. Wenn Sie jedoch kyrillische Zeichen verwenden, um lateinische Kapitälchen zu simulieren, müssen Sie dies tun, wenn die Durchsuchbarkeit nicht beeinträchtigt werden soll. Dies würde dazu führen, dass die Leute viele nutzlose Dinge finden, wenn sie nach einem seltenen lateinischen Alphabet suchen, das zufällig den falschen Großbuchstaben eines beliebten kyrillischen Alphabets entspricht (und umgekehrt).

Eine genaue Suchoption kann dieses Problem nicht lösen, da dies in diesen Alphabeten für andere Zwecke reserviert ist.

Im Allgemeinen ist es unmöglich, eine Suche (ohne eine verrückte Anzahl von Optionen) zu erstellen, die nicht durch die Verwendung von Sonderzeichen zum Simulieren von formatiertem lateinischem Text unterbrochen wird.


1  Sie wissen, dass XKCD über das unvermeidliche Scheitern der Vereinheitlichung von Standards ? Nun, Unicode hat es geschafft.
2  oder was auch immer der leere Operator in der einschlägigen Konvention ist
3  Ich bin mir bewusst, dass heutzutage nur sehr wenige mathematische Texte diese Kodierung oder etwas Kompatibles unterstützen, aber der Punkt ist, dass sie es eines Tages hoffentlich tun. Ihr Unicode-missbräuchlicher Text ist möglicherweise noch vorhanden und wird dann gelesen.
4  Sofern Sie nicht für Mazedonisch oder Serbisch lokalisiert haben, erhalten Sie ein anderes, aber immer noch unerwünschtes Ergebnis.

Wrzlprmft
quelle
Kommentare sind nicht für eine längere Diskussion gedacht. Diese Unterhaltung wurde in den Chat verschoben .
Geselle Geek
1
Was ist mit dem dritten Beispiel? Warum gibt es in Unicode überhaupt Blackletter-Text statt nur einer Schriftart?
posfan12
2
@ posfan12: Es wird wie die Schriftzeichen als eindeutiges mathematisches Alphabet verwendet. (Beachten Sie, dass die Beispielnummerierung hier nichts mit den Aufzählungspunkten in der Frage zu tun hat.)
Wrzlprmft
3
Ihr Klein cpas Beispiel schlägt ein Puzzle / competitoin: Finden Sie eine gültige Satz, der einen anderen Satz wird als kursiv geschrieben ... (beide interpretiert durch menschliche lateinisch-basierte Leser, sagen)
Hagen von Eitzen
67

Was kann schon schief gehen? Nun, ich sehe das:

Bildbeschreibung hier eingeben

in Firefox 50.1.0 unter Windows 7.

Das Problem fehlender Glyphen , in diesem Fall auf einem mobilen Gerät, wird in einem von Benutzer Chris Kent in einem Kommentar angegebenen Bild weiter veranschaulicht , den ich aus dem Original herausgeschnitten und in der Größe angepasst habe :

Bildbeschreibung hier eingeben

Und User Oals haben freundlicherweise ein weiteres Beispiel beigesteuert :

Bildbeschreibung hier eingeben

Andrew Morton
quelle
7
@Lilienthal Ich bin beeindruckt, wie viele Jahre Sie vergangen sein müssen, ohne nach Updates gesucht oder diese installiert zu haben. Ich meine, ich verwende auf einigen Geräten immer noch etwas, das auf Firefox 3.5 basiert, aber ich habe keine Wahl (Gerät zu gut, aber es ist kein neuer verwendbarer Browser verfügbar)
mtraceur
16
@Lilienthal Einige Zeit im Jahr 2020 erfordern Firefox-Hauptversionsnummern möglicherweise 64-Bit-Nummern. Kurz darauf nimmt die Versionsnummer mehr Platz ein als das eigentliche Programm. Um Marktanteile zurückzugewinnen, benötigen Chrome-Versionsnummern ganze Planeten, um sie zu speichern.
Andrew Morton
2
Sie haben eine Vorstellung davon, wie viele bekannte und aktive Sicherheitslücken Sie mit solchen alten Browsern aussetzen?
Zach Lipton
3
@ Zach Lipton: Ist dir klar, dass das ganz unten auf der Liste meiner Prioritäten steht? # 1 hat etwas, das ich tatsächlich benutzen kann. Vielleicht haben die Firefox-Leute (und viele andere) ein neues Paradigma angenommen: Sicherheit durch Unbrauchbarkeit.
Jamesqf
29

Ich habe ein XY-Problem damit.

Y und X erscheinen kleiner als der Rest des Textes

Hier sehen wir, dass Y und X kleiner erscheinen als der Rest des Textes. Bei bestimmten Zoomstufen scheinen sie dieselbe Größe zu haben, dies scheint jedoch ein Problem mit diesen bestimmten Glyphen in dieser bestimmten Schriftart darzustellen.

Michael Hampton
quelle
Ich kann drei mögliche Erklärungen für das, was Sie sehen, anbieten: 1) Schlechte Andeutungen . 2) Eine Ersatzschrift wird für alles außer x und y verwendet. 3) Schlechtes Schriftdesign: Kapitälchen wurden so entworfen, dass sie etwas größer als Kleinbuchstaben sind (was eine gültige Wahl ist) und dann für phonetische und kyrillische Unicode-Zeichen verwendet - was keine gute Wahl ist, da diese Zeichen beispielsweise in der phonetischen Verwendung sind müssen mit grundlegenden lateinischen Charakteren harmonieren. - So oder so: Die Punkte 1) und 3) sind nicht auf Unicode-Missbrauch zurückzuführen. Punkt 2) ist bereits in den anderen Antworten angesprochen.
Wrzlprmft
12
@Wrzlprmft: Per Definition handelt es sich um Unicode-Missbrauch, da Unicode keine Kapitälchen enthält. Was Unicode hat, sind Buchstaben, die in den Blöcken für phonetische Alphabete und im lateinischen Extended-D-Block wie Kapitälchen aussehen. Insbesondere enthalten weder die beiden phonetischen Blöcke noch der lateinische Extended-D-Block den Buchstaben, der wie X mit Kapitälchen aussieht. Daher gehe ich davon aus, dass das X von einer anderen Stelle stammt, wahrscheinlich vom kyrillischen Block. Der Unterschied wird weder von 1, 2 noch von 3 verursacht. Er wird durch den Buchstaben verursacht, der zu einem anderen Alphabet gehört.
Slebetman
@slebetman: Die Small Caps x ist nur eine ganz normale Klein x (man kann nur den Charakter von der Frage , kopieren und prüfen Sie es selbst). Und ein x in Kleinbuchstaben muss mit den phonetischen Zeichen harmonieren, da es auch als phonetisches Zeichen verwendet wird. Es sollte auch dieselbe Höhe haben wie kyrillische Kleinbuchstaben, da einzelne kyrillische Wörter nicht vom lateinischen Text abheben sollen (und umgekehrt).
Wrzlprmft
19
Upvoted für die LOL bei "XY Problem" :)
Andrew Morton
13

Wenn Sie nicht-lateinische Zeichen verwenden, die ein bisschen wie lateinische aussehen, werden Sie in die Gesellschaft von Spammern, Pornogeschäften und Wer-weiß-was-sie-tun-was-gegen-Dissembler versetzt, die wollen, dass ihr Text nicht durchsuchbar, nicht indizierbar und verwerfbar ist. ("Ich habe nie gesagt, dass es sicher ist !! Ich habe gesagt, dass es Sigma-Alpha-Integral-Zeichen-Epislon ist !!! Kann mich nicht verklagen !!!")

Wenn Sie sich in diesem Club wohl fühlen, dann machen Sie es.

CCTO
quelle