1/1 Zeichen
Twilo
- sonstiges
Hallo,
gibt es für 1/1 im utf-8 Zeichensatz ein Zeichen?
Für 1/2 gibt es ½, etc..
mfg
Twilo
Hallo!
gibt es für 1/1 im utf-8 Zeichensatz ein Zeichen?
Für 1/2 gibt es ½, etc..
Wofür brauchst du das? Ein-eintel ist doch 1 :-)
ciao, ww
Hallo,
gibt es für 1/1 im utf-8 Zeichensatz ein Zeichen?
Für 1/2 gibt es ½, etc..
Wofür brauchst du das?
für die Kosmetik
1 ...
½ ...
¾ ...
die 1 soll als 1/1 dargestellt werden
Ein-eintel ist doch 1 :-)
das ist klar ;-)
mfg
Twilo
Moin!
Hallo,
gibt es für 1/1 im utf-8 Zeichensatz ein Zeichen?
Für 1/2 gibt es ½, etc..Wofür brauchst du das?
für die Kosmetik
Die Kosmetik interessiert das Unicode-Konsortium nicht.
1 ...
½ ...
¾ ...
Du hast für alle Brüche bis hinunter zu Neunteln Zeichen in Unicode zur Verfügung. Aber eben nur für die Brüche, die man nicht weiter kürzen kann. 3/9 beispielsweise gibts nicht, das ist 1/3. Bei den Siebteln hast du Glück, dass Sieben eine Primzahl ist und nichts kürzbar. Die Achtel hingegen sind extrem zerlöchert, jeder zweite Bruch ist kürzbar.
Und eben deshalb ist "ein Eintel" als Zeichen nicht verfügbar.
Wenn du individuelle Ansprüche an eine Bruchdarstellung hast, mußt du eine individuelle Lösung finden.
- Sven Rautenberg
Hallo,
Du hast für alle Brüche bis hinunter zu Neunteln Zeichen in Unicode zur Verfügung. Aber eben nur für die Brüche, die man nicht weiter kürzen kann. 3/9 beispielsweise gibts nicht, das ist 1/3. Bei den Siebteln hast du Glück, dass Sieben eine Primzahl ist und nichts kürzbar. Die Achtel hingegen sind extrem zerlöchert, jeder zweite Bruch ist kürzbar.
kann man die Zeichen (Brüche) irgendwo online einsehen?
mfg
Twilo
kann man die Zeichen (Brüche) irgendwo online einsehen?
http://www.alanwood.net/unicode/number_forms.html
Roland
gibt es für 1/1 im utf-8 Zeichensatz ein Zeichen?
Ich finde nur ⅟ (FRACTION NUMERATOR ONE).
Roland
Hallo Twilo,
gibt es für 1/1 im utf-8 Zeichensatz ein Zeichen?
Jain. Man drückt das im Unicode Zeichensatz mit drei Zeichen aus:
1⁄1
Abhängig von Betriebssystem und Ausstattung siehst Du dort wahrscheinlich nur die Zeichenkette "1/1" oder gar eine Fragezeichen oder ein Kästchen. Das, was da steht ist nicht dasselbe wie die Zeichenkette "1/1". Es sieht nur ähnlich aus. Du hast diese drei Unicode-Zeichen eingegeben:
1 - U+0031 DIGIT ONE
/ - U+002F SOLIDUS
1 - U+0031 DIGIT ONE
... während ich diese drei Unicode-Zeichen eingegeben habe:
1 - U+0031 DIGIT ONE
⁄ - U+2044 FRACTION SLASH
1 - U+0031 DIGIT ONE
Der normale Schrägstrich (Solidus), den man durch Shift-7 erhält, also nicht dasselbe Zeichen wie dieser ominöse Fraction Slash. Warum gibt es in Unicode also nun unterschiedliche Schrägstriche?
Unicode unterscheidet nicht nur zwischen gespeicherter Information („Zeichen“) und dargestellter Erscheinungsform je nach Schriftart („Glyph“) sondern hat noch einen Zwischenschritt, grapheme bzw. grapheme Cluster. D.h. etwas, dass aus dem Bildschirm erscheint ist ein Glyph, das eine durch eine Schriftart bestimmte Darstellung für ein bestimmtes Grapheme Cluster ist. Dieses Grapheme Cluster wird durch ein oder mehrere Zeichen definiert. (Und im Speicher des Computers oder auf der Leitung kann ein Zeichen in durch die jeweilige Kodierung bestimmten verschiedene ein oder mehrere Bytes repräsentiert werden, aber das ist ein anderes Thema). Klingt alles sehr kompliziert, aber Unicode bildet auch nur die tatsächliche Komplexität ab, die wir Menschen bei unseren Schreibsystemen in den letzten 4000 Jahren oder so entwickelt haben. Du suchtest also nach dem Graphem einer bestimmten Darstellung (Den Glyph für 1/1) und dieser Graphem wird durch drei Zeichen bestimmt. Dummerweise wird dieser Graphem nicht richtig dargestellt.
Klingt alles sehr theoretisch, hier mal konkret. Du willst ein großes A mit einem Kringel drüber auf den Bildschirm kriegen. Den konkreten Glyph bestimmt die Schriftart, Du suchst also nach dem Graphem für "A mit Kringel". Dieser besteht aus zwei Zeichen, dem A und dem Kringel:
A - U+0041 LATIN CAPITAL LETTER A
̊ - U+030A COMBINING RING ABOVE
Das in dieser Schriftart kaum erscheinende Zeichen für den Kringel ist ein sogenanntes Combining Mark. Dieser verbindet sich mit dem davorstehenden Zeichen zu einem Grapheme (Cluster), d.h. zu dem, was Otto Normalmensch als Buchstaben versteht. Das ist wie bei Akzenten. Der Buchstabe á besteht je in der Theorie aus den Zeichen a und ´, ist aber trotzdem ein eigener Buchstabe.
Das Zeichen FRACTION SLASH ist nun auch so kombinierendes Zeichen. Laut Unicode Standard, Kapitel 6 kombiniert es es direkt davorstehende Zahlen mit direkt dahinder stehende Zahlen zu einer Einheit, die dann einen Bruch darstellt. Sprich: Die Zeichenkette ...
abd<U+2044>xyz
... ist dann ein Bruch, wenn die Zeichen a, b, c, x, y und z der Klasse Nd (=Zahl) angehören. Es gibt also entgegen anderer Äußerungen hier doch eine Variante beliebige Brüche in Unicode auszudrücken.
Dummerweise erhält man durch die Möglichkeit, Brüche schreiben zu können, nicht die Gewissheit, dass dieser Bruch auch richtig dargestellt wird. Das obige bezieht sich nur auf den Grapheme Cluster (der logische Ausdruck eines Bruches), nicht auf die visuelle Darstellung (das konkrete Schriftzeichen auf dem Bildschirm, der Glyph).
Im Unicode-Standard steht zwar, dass dieses Zeichenkette ...
1⁄2
... mit diese Darstellung ...
[latex]\frac{1}{2}[/latex]
... oder als Vulgärbruch mit schrägem Strich ...
½
... dargestellt werden soll, dass das aber von der darstellenden Software und eventuellen Formatierungsoptionen ausserhalb der Unicode-Zeichen abhängt. Und wenn die Software es nicht als Bruch umrechnen und darstellen kann, dann lautet die Fallback-Darstellung eben so:
1/2
Die allgemein gängige Software tut sich damit schwer, ich habe zumindest noch keine Brüche darstellende Software gefunden. Selbst ATSUI, Apples Textdarstellungs-Dings tut sich damit und Apple ist eigentlich ziemlich gut mit so etwas.
Man kann also Brüche in Unicode logisch ausdrücken, hat aber keine Sicherheit, dass die Darstellung so aussieht, wie man das will. Eigentlich genau wie bei den meisten exotischen Unicode-Zeichen.
Für 1/2 gibt es ½, etc..
Dass nicht alle zusammengesetzten Grapheme aus zusammengesetzten Zeichen bestehen, sondern dass es oft für die meistgebräuchlichsten Grapheme eigene Zeichen gibt, hat zwei Gründe, einmal historische, einmal semantische.
Historisch deswegen, weil viele Vorgängerzeichensätze schon Zeichen für zusammengesetztes mitbrachten, z.B. für Ligaturen wie fi. Man wollte da offenbar keinen richtigen Bruch machen und nahm die Zeichen dann einfach mit. Ausserdem kann man nicht für jede mögliche Kombination von Basiszeichen und Kombinierenden Zeichen ein eigenes Zeichen setzen, dass geht sehr schnell in astronomische Zahlen.
Der semantische Grund ist einfach, dass Zeichen im Unicode-Zeichensatz jeweils eine bestimmte Bedeutung besitzen. D.h. zwei Zeichen sind nicht einfach gleich, weil sie ähnlich aussehen, sie müssen auch dasselbe bedeuten. Am Beispiel von A-mit-Kringel. Zusammengesetzt aus zwei Zeichen ist es diese Zeichenkette
A - U+0041 LATIN CAPITAL LETTER A
̊ - U+030A COMBINING RING ABOVE
Aber es gibt auch (vermutlich historisch begründet) ein Zeichen, das beides in einem Zeichen kombiniert:
Å - U+00C5 LATIN CAPITAL A WITH RING ABOVE
Und jetzt kommt der Unterschied: Dieses Zeichen steht auch für eine physikalische Längeneinheit von Längen im atomaren Bereich: Ångström, benannt nach dem gleichnamigen Physiker. Ein Zeichen für eine physikalische Einheit trägt also eine andere Bedeutung als nur ein Buchstabe, es ist immerhin eine Einheit. Konsequenterweise gibt es also noch dieses Zeichen:
Å - U+212B ANGSTROM SIGN
Es gibt also drei Zeichen bzw. Zeichenketten mit derselben Darstellung.
Und nein, das dadurch erzeugte Chaos ist nicht unlösbar. Unicode bietet zu solchen Verdoppelungen bevorzugte Darstellungen an, das Ångström-Zeichen wird bevorzugt durch U+00C5 dargestellt. Und auch bei anderen computertechnischen Problemen wie Sortierung gibt es Abhilfe, solche Zeichen(ketten) werden nämlich normalisiert und in ihre Komponenten zerlegt, ehe sie verglichen werden. Nur gibt es vier Normalisierungsvarianten, es wird also wieder alles komplizierter. Niemand hat gesagt, dass es leicht sei, alle Schriftsysteme der Welt in einem Standard zusammenzufasssen.
An Deiner Stelle würde ich aber entweder die nicht-kosmetische Variante des Bruchs nehmen; mathematische Formeln in normalen Text sind gelinde gesagt schwierig. Oder was ganz anderes, je nachdem, was Du ausdrücken willst.
Schonmal an Prozent oder Balkendiagramme gedacht?
Tim
Hallo Tim,
vielen Dank für diese ausführliche Darstellung. Kannst Du Quellen nennen, anhand derer ich mein Wissen über Unicode erweitern kann?
Vielen Dank und Gruß
Olaf
Hallo Olaf,
Kannst Du Quellen nennen, anhand derer ich mein Wissen über Unicode erweitern kann?
Nicht wirklich. Es hängt auch etwas davon ab, was man über Unicode wissen will. Wenn man nicht extrem Textverarbeitung betreibt, kommt man mit dem Verstehen des prinzipiellen Unterschied zwischen Zeichensatz (Unicode) und Kodierung (z.B. UTF-8) gut aus. Da helfen gut Artikel wie in der Wikipedia oder Tutorials wie Joel Spolskys The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!) gut aus. Wenn man dann in die Details von Unicode gehen will, dann hab ich nichts besseres gefunden als den Unicode Standard; die PDFs sind durchaus gut geschrieben und erklären auch, statt nur zu definieren.
Wichtiger ist wohl das Wissen, wie die konkrete Programmiersprache Unicode-Strings handelt, falls sie es überhaupt kann und nicht noch dem String = Bytes, Byte = Zeichen Paradigma anhängen. Aber da suche und sammele ich selber noch.
Tim
Hallo Tim,
die Grundlagen sind mir bekannt und iach habe auch schon auf Bytebasis Konverter geschrieben (die z. B. xml-Entitäten in utf-8 umwandeln), kenne also den Unterschied zwischen Unicode und utf-8. Ich fand aber Deine detaillierte Darstellung zum Thema Grapheme etc. interessant. Das ist ja auch kein Basiswissen mehr. Ich werde mir die pdfs mal zu Gemüte führen.
Gruß
Olaf