Warum sollte ich Unicode-Sonderzeichen für römische Ziffern verwenden?

43

Hiermit soll eine Frage beantwortet werden, die in den Kommentaren zu dieser Frage zu den Unicode-Zeichen für römische Ziffern aufgeworfen wurde :

Warum ist dies notwendig oder der üblichen Art der Eingabe von ai, ai-ai, ai-ai-ai, vee-ai usw. vorzuziehen?

Um von Anfang an zu beginnen, in Unicode die Anzahl Formulare Block, gibt es Codepunkte für römische Ziffern , die auf dem ersten Blick sehr ähnlich im Aussehen Standard Hauptstadt lateinische Buchstaben oder Kombinationen davon (U + 2160 - U + 217F). Zum Beispiel sieht U + 2165 (römische Ziffer Sechs) VI (lateinischer Großbuchstabe V und lateinischer Großbuchstabe I) sehr ähnlich .

Es stellt sich also die Frage, warum man letztere nicht verwenden sollte, um diese Ziffern darzustellen und zB Louis VIIstattdessen zu tippen Louis Ⅶ. Wenn Sie keine Sonderzeichen verwenden, vermeiden Sie natürlich Kompatibilitätsprobleme mit Schriftarten, die diese nicht unterstützen. Aber selbst wenn ich weiß, dass der Text mit einer Schriftart gerendert wird, die diese Zeichen unterstützt, warum sollte ich sie dann verwenden?

Wrzlprmft
quelle

Antworten:

56

In vielen Schriften werden Sie in der Tat kaum einen Unterschied feststellen, ob Sie die Unicode-Zeichen für römische Ziffern verwenden oder nur aus lateinischen Sternenbuchstaben zusammensetzen. Das folgende Beispiel zeigt Louis VII(oben) und Louis Ⅶ(unten, Codepunkte für römische Ziffern verwendend), die mit FreeSans gerendert wurden:

Bildbeschreibung hier eingeben

Abgesehen von einem winzigen Unterschied im Abstand, der vermutlich nicht beabsichtigt war, ist die Ausgabe identisch.

Hier ist der gleiche Text, der mit DejaVu Sans gerendert wurde:

Bildbeschreibung hier eingeben

Während die Zeichen immer noch identisch aussehen, gibt es einen beträchtlichen Unterschied im Abstand. Es mag eine Geschmackssache sein, ob letzteres für römische Ziffern bevorzugt wird, aber es wäre sicherlich keine gute Wahl für das Kerning von regulären All-Caps.

Linux Libertine geht noch einen Schritt weiter:

Bildbeschreibung hier eingeben

Hier sind die römischen Ziffern etwas kleiner als die Großbuchstaben und stimmen somit mit den arabischen Ziffern der Schrift überein. Am wichtigsten ist, dass sie miteinander verbunden sind und ein Merkmal reproduzieren, das häufig in handgezeichneten römischen Ziffern zu finden ist.

Einige argumentieren vielleicht immer noch, dass es keine Verbesserungen in den oben genannten Punkten gibt oder dass sie die Mühe nicht wert sind. In diesem Fall führt die Nichtverwendung von Unicode-Zeichen zu schrecklichen Ergebnissen:

Bildbeschreibung hier eingeben

(Beachten Sie, dass die geringe Größe der Ziffern einen gewissen historischen Schriftsatz widerspiegelt.) Ähnliches kann bei Schrift- oder Kaligraphieschriften auftreten.

Ohne spezielle Unicode-Punkte für römische Ziffern wäre die Lösung des letzteren Problems nur möglich mit:

  • Verwenden einer komplexen OpenType-Funktion (oder einer ähnlichen Funktion), mit der ermittelt wird, ob eine Folge von Großbuchstaben eine römische Zahl ist. Dies führt unweigerlich zu Problemen mit Wörtern, die auch eine gültige römische Zahl wären.

  • Mit einer einfachen OpenType-Funktion, die für jede römische Ziffer manuell aktiviert werden muss.

  • Verwenden des Unicode-Bereichs für den privaten Gebrauch. Kompatibilitätsprobleme treten wahrscheinlich auch dann auf, wenn Sie zwischen zwei Schriftarten wechseln, die beide römische Ziffern unterstützen.

Aus Unicode-Sicht hätte der große semantische Unterschied zwischen lateinischen Großbuchstaben und römischen Ziffern bereits für eine getrennte Kodierung der römischen Ziffern ausreichen müssen.

Wrzlprmft
quelle
Inwieweit stellen römische Ziffern ein anderes Problem dar als Akronyme und Initialismen, die beide richtig gehandhabt würden, wenn eine Schriftart einen Satz Kapitälchen enthält? Ich würde erwarten, dass die Szenarien, in denen "VII" in Großbuchstaben anstatt in Smallcaps angezeigt werden sollte, die gleichen sind wie die, in denen "NATO" oder "PM" ebenfalls angezeigt werden sollten. Während es vielleicht schön ist, Querstangen mit "VII", aber nicht mit "VIP" zu verbinden, bin ich mir nicht sicher, ob Querstangen verbunden werden sollten, wenn Zahlen in Text verwendet werden .
Superkatze
Sehr gut hinzugefügt Ihre erweiterte Semantik ein wenig, aber wenn Sie in Ihre Antwort integrieren möchten, fühlen Sie sich frei, dies zu tun und meine zu löschen.
Joojaa
@supercat: Ich bin mir nicht ganz sicher, was Sie anstreben, aber meiner Erfahrung nach haben römische Ziffern in der modernen Typografie immer eine Groß- / Kleinschreibung, während es in anderen Sprachen als Deutsch vorstellbar ist, für Abkürzungen mit Großbuchstaben die Großbuchstaben zu verwenden. In der Blackletter-Typografie verwendeten Sie eine lateinische Schrift für Abkürzungen mit Großbuchstaben und für römische Ziffern. Manchmal verwendeten Sie jedoch kleinere lateinische Ziffern (wie oben) und für einige ganz besondere Anlässe die Blackletter-Großbuchstaben.
Wrzlprmft
@Wrzlprmft: Ich würde erwarten, dass römische Ziffern in der gleichen Größe gedruckt werden wie "PM" oder "NATO". In einigen Kontexten werden solche Dinge als Großbuchstaben gedruckt, in anderen dagegen werden sie zu stark hervorgehoben. Wenn eine Schrift einen Satz Großbuchstaben hätte, dessen Design im Verhältnis zum Rest der Schrift für "PM" oder "NATO" geeignet wäre, würde ich denken, dass es auch für römische Ziffern geeignet wäre.
Supercat
@supercat: Für normale römische Schrift, ja (obwohl man sich streiten kann, ob dies das Beste wäre). Aber was ist mit Blackletter- und Script-Schriften? Und was schlussfolgern Sie daraus?
Wrzlprmft
27

TL; DR Das Unicode-Konsortium empfiehlt, nach Möglichkeit den lateinischen Buchstaben und nicht die Ziffer zu verwenden, die zur Kompatibilität mit ostasiatischer Typografie enthalten war.

Die ganze Geschichte: (mit Begründung der obigen Behauptung)

Wenn Sie keine ostasiatische Typografie verwenden, ist die Verwendung der (nicht archaischen) römischen Ziffern aus Unicode (U + 2160 - U + 217F) ein Hack.

Diese Zeichen wurden aus Gründen der Kompatibilität mit ostasiatischen Prä-Unicode-Standards eingefügt. Diese Zeichen bleiben vertikal, wenn der ostasiatische Text von oben nach unten gesetzt wird, während in diesem Kontext normalerweise lateinische Zeichen (z. B. Namen) seitwärts geschrieben werden.

So zitieren Sie die letzte Version des Unicode-Standards (v 7.0, Kap. 22, S. 20) :

Römische Zahlen. Für die meisten Zwecke ist es vorzuziehen, die römischen Ziffern aus Sequenzen der entsprechenden lateinischen Buchstaben zusammenzusetzen. Die Groß- und Kleinbuchstaben der römischen Ziffern bis 12 sowie L, C, D und M wurden jedoch im Block Zahlenformulare (U + 2150..U + 218F) codiert, um die Kompatibilität mit ostasiatischen Standards zu gewährleisten. Im Gegensatz zu Sequenzen lateinischer Buchstaben bleiben diese Symbole im vertikalen Layout aufrecht. Darüber hinaus verwenden kompakte Datumsformate in bestimmten Gebietsschemata römische Ziffern für den Monat, können jedoch die Verwendung eines einzelnen Zeichens erwarten.

Theoretisch handelt es sich bei der Unterscheidung zwischen römischen Ziffern und Buchstaben also um Rich Text, wie Kursivschrift, Änderung der Schriftart oder optionale Ligaturen. Das heißt, wie @Wrzlprmft zeigt, verwenden einige Schriftarten es, um eine Änderung der Schriftart für jede römische Ziffer zu vermeiden, während eine gute Typografie beibehalten wird.

Die Existenz eines Zeichens für XII und nicht für XIII impliziert, dass es mehrere verschiedene Kodierungen mit derselben Ziffer gibt, was zu Schwierigkeiten bei der Textsuche führt: Wenn Sie über Louis XII und Louis XIII schreiben, schreiben Sie XIII wahrscheinlich als X + I + I + I, aber wirst du XII als einzelnes Zeichen schreiben? Oder als X + I + I eine konsistente Darstellung mit XIII haben? Bei Verwendung der römischen Ziffern gibt es keine eindeutige Antwort auf diese Frage. Deshalb empfiehlt das Unicode-Konsortium, wenn möglich die lateinischen Buchstaben und nicht die Ziffern zu verwenden.

Bearbeiten: Die TL; DR- Behauptung wurde am Anfang hinzugefügt

Frédéric Grosshans
quelle
9
" Das Unicode-Konsortium empfiehlt, wenn möglich die lateinischen Buchstaben und nicht die Ziffern zu verwenden." Dies sollte viel auffälliger sein als derzeit.
Ixrec
1
Aus Sicht der Unicode-Semantik ist dies hier die mit Abstand beste Antwort. Es mag praktische Gründe für bestimmte Schriftarten geben, die römischen Ziffern zu bevorzugen, und das ist natürlich eine eigenständige Überlegung im Hinblick auf das Grafikdesign, aber semantisch sind sie immer falsch.
R ..
13

Aus der Perspektive, wie es aussieht, mag es keinen großen Unterschied geben. Wenn Sie also nur gedrucktes Material veröffentlichen, gibt es keinen Unterschied, außer bei einigen Schriftarten, wie Wrzlprmft in seiner ausgezeichneten Antwort hervorhebt.

Semantik ist wichtig

Der semantische Unterschied ist enorm. Durch die Verwendung von römischen Ziffern wird deutlich, dass Sie von der Zahl 5 anstelle des Buchstabens V sprechen. Sicher, sie sehen gleich aus, bedeuten aber etwas anderes. Dies würde bedeuten, dass die Suchmaschine bei der Suche nach "XX version 5" möglicherweise eine höhere Chance hat, "XX mark V" zu finden.

In der Tat ist der Grund, warum einige Dinge schlecht funktionieren, dass wir keine semantischen Informationen einbetten. Die Welt wäre in der Tat ein besserer Ort, wenn wir würden. Die Verwendung der richtigen semantischen Bedeutung entspricht also in etwa der Verwendung von Stilen in einem Textverarbeitungsprogramm im Vergleich zum manuellen Stylen. Am menschlichen Ende gibt es kaum einen Unterschied, aber in der Automatisierung eine große Kraft.

Schriften sollten unterschiedliche römische Ziffern haben

Diese werden von Schriftherstellern nicht wirklich verwendet, da sie nicht sehr häufig verwendet werden. Aber wenn Sie diese verwenden, können Sie die Buchstaben mit den römischen Ziffern versehen, die sie vom Text unterscheiden. Daher wird die Funktion nicht ausreichend genutzt, da sie nur selten genutzt wird. Schriften implementieren nicht wirklich alles und sollten es auch nicht. Wenn Sie diese verwenden, profitieren Sie davon, wenn sie vorhanden sind.

Fazit

Dies alles ist sicherlich ein Henne-und-Ei-Problem. Wenn Personen die Sonderzeichenbereiche nicht verwenden, werden diese Bereiche nicht besonders berücksichtigt. Daher werden speziell gestaltete römische Literale von Schriftarten nicht unterstützt, da dies nur eine Verschwendung von Aufwand für Funktionen bedeutet, die niemand verwendet. Gleiches gilt für die Suche: Wenn niemand römische Literale verwendet, findet keine Suchmaschine römische Literale und die Semantik geht verloren. Die Semantik leidet darunter, dass sie nicht die richtige semantische Bedeutung annimmt. Dasselbe gilt mit Sicherheit auch für einen größeren Bereich von Unicode-Zeichen.

Bezüglich der Komplexität der Eingabe können die meisten Benutzer zwar keine erweiterten Zeichen schreiben, dies ist jedoch keine Entschuldigung für eine sachkundige Person, dies zu überspringen, wenn es sinnvoll ist. Wenn niemand die Dinge verbessert, wird es niemals Fortschritte geben. Zum Teufel sogar Wort hat Modi zum Schreiben von Alpha durch Eingabe von / alpha. Es gibt also wirklich keinen Grund, warum es keinen einfachen Weg geben könnte, Ziffern zu markieren oder sie sogar automatisch als solche vorzuschlagen. Wiederum, wenn niemand dies tut, wird es niemals eine breitere Akzeptanz finden.

joojaa
quelle
Tatsächlich liefert eine Suchmaschine bei der Suche nach "Louis VII" weitaus bessere Ergebnisse als bei der Suche nach "Louis Ⅶ", da der größte Teil des Inhalts mit Tools generiert wird, die eine so feine semantische Unterscheidung nicht zulassen.
Xpereta
1
@xpereta ja, weil die Semantik den Leuten egal ist. Wäre dies jedoch der Fall, würden Sie die Ziffern ebenfalls leicht mit 7 abgleichen. Ein großer Teil der Unzulänglichkeit in der Welt liegt darin, dass die Menschen es nicht für wichtig halten, den semantischen Unterschied von Dingen explizit herauszustellen, wenn sie dies leicht tun können. Der Computer weiß wirklich nicht den Unterschied, auch wenn ein Mensch würde
joojaa
1
@joojaa In diesem Fall hat es wahrscheinlich mehr mit der Tatsache zu tun, dass VII um Größenordnungen einfacher zu tippen ist als Ⅶ. Ich bin mir nicht sicher, ob sich das jemals ändern wird.
Ixrec
Ich möchte den letzten Absatz etwas näher erläutern, um Ihre Schlussfolgerung zu vervollständigen, dass eine umfassendere Verwendung solcher Sonderzeichen eine umfassendere Implementierung von Schriftarten fördern würde.
Nathan Tuggy
2
Ich stelle diese Antwort in Bezug auf die Semantik stark in Frage. Die römischen Unicode-Ziffern <compat>entsprechen den entsprechenden Abfolgen lateinischer Buchstaben, was stark darauf hindeutet, dass sie nur aus Gründen der Roundtrip-Kompatibilität mit einigen älteren Zeichensätzen (wahrscheinlich CJK-Zeichensätzen) in Unicode enthalten sind. Solche Zeichen sollten im Allgemeinen nicht verwendet werden, es sei denn, es handelt sich um originalgetreue Rundum-Auslösungsdokumente, die in älteren Codierungen erstellt wurden.
R ..