it-swarm.com.de

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

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?

124
Wrzlprmft

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 (d. H. Aus dem Unicode-Block Basic Latin).

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 aus Gründen der Abwärtskompatibilität mit anderen Standards existieren1 Das vollständige Verständnis all seiner Beweggründe ist eine Wissenschaft für sich. Lange Rede, kurzer Sinn, es sei denn, Sie wissen wirklich wirklich, was Sie tun, es ist sehr wahrscheinlich, dass etwas kaputt geht, an das Sie noch nicht einmal aus der Ferne gedacht haben.

Spezifische Beispiele

Zugänglichkeit

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

????????????

soll der bestimmte Artikel oder das mathematische Produkt sein2 der Variablen ????, ???? und ???? - wofür sind diese Charaktere gemacht? Das beste Verhalten wird daher sein, dass es diese Zeichen ausdrückt, z. wörtlich gesagt:

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 ist dies ???????? ℯ mit zwei verschiedenen Schriftarten gerendert:

 ????????ℯ rendered with FreeSerif and STIX

Mit Free Serif wird der Text so gerendert, wie Sie es wahrscheinlich möchten, wenn Sie Sonderzeichen zum Simulieren von Text verwenden, dh das Simulieren von Handschriften mit einem fortlaufenden Strich. Diese Zeichen sind jedoch für die Verwendung als mathematische Symbole vorgesehen, 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 Sie in einem zweiten Beispiel an, dass Sie oder der Leser aus irgendeinem Grund „сᴜт мy вᴀʀ“ kursiv schreiben. Mit einer guten Schriftart erhalten Sie4:

 сᴜт мy вᴀʀ rendered in upright and italics. italics reads as "cum my bar"

Der Grund dafür ist, dass die Kapitälchen (teilweise) mit kyrillischen Buchstaben simuliert wurden und kyrillische Kursivschrift manchmal ganz anders aussieht als ihre aufrechten Gegenstücke . Das ist also wieder das richtige Verhalten.

Durchsuchbarkeit

Als erstes Beispiel überlegen Sie, was eine sinnvolle Suche mit dem Zeichen zu tun haben soll ???? (mathematisches Skript W). Angenommen, die Suche verfügt über zwei Modi, den Standardmodus und den exakter Modus (normalerweise als Groß- und Kleinschreibung beachten bezeichnet). Dieses Zeichen sollte sein:

  • gefunden bei der Suche nach w oder W im Standardmodus - für diejenigen, die das Sonderzeichen nicht in das Suchfeld eingeben oder kopieren möchten;

  • 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 bei der Suche nach ????, w oder W im exakten Modus, da eine Suche wie oben abgebrochen wurde.

Wenn Sie dieses Zeichen jedoch verwenden, um normalen Text zu simulieren, sollte es bei der Suche nach W oder ???? im genauen Modus, der im Widerspruch zu den oben genannten steht.

Als ein zweites Beispiel betrachten Sie, dass kyrillische Zeichen niemals gefunden werden sollten, wenn Sie lateinische Zeichen suchen und umgekehrt, da sie völlig verschiedene 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.


1Sie wissen dass XKCD über das unvermeidliche Scheitern der Vereinheitlichung von Standards ? Nun, Unicode hat es geschafft.
2oder was auch immer der leere Operator in der einschlägigen Konvention ist
3Ich 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.
4Es sei denn, Sie sprechen Mazedonisch oder Serbisch, wodurch Sie ein anderes, aber immer noch unerwünschtes Ergebnis erzielen.

219
Wrzlprmft

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

 enter image description here

in Firefox 50.1.0 unter Windows 7.

Das Problem von fehlenden Glyphen , in diesem Fall auf einem mobilen Gerät, wird in einem Bild weiter veranschaulicht, das der Benutzer Chris Kent in einem Kommentar gegeben hat das Original :

 enter image description here

Und Benutzer oals kindly hat beigetragen ein anderes Beispiel:

 enter image description here

66
Andrew Morton

Ich habe ein XY-Problem damit.

 Y and X appear smaller than the rest of the text

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.

28
Michael Hampton

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 wohlfühlen, dann versuchen Sie es.

13
CCTO