Symbole und mathematische Zeichen

Für viele unterschiedliche Aufgaben braucht man Symbole, z.B.
 Quadrate, ◀ ▲ ▶ ▼ Dreiecke,  Kreise, ← ↑ → ↓ ↔ Pfeile, ∑ √  ∫ ≠ mathematische Sonderzeichen und viele weitere ♠ ♣ ♥ ♦ ★ ☆ ✄ ✆ ✉ ✔ ⚡ ✻ Symbole
Unicode bietet die Möglichkeit, diese und andere Zeichen direkt in den Text einzusetzen.


Einzige Voraussetzung: Die verwendete → Schrift‑Familie muss die Zeichen enthalten. Das trifft für alle in gängigen Betriebssystemen verwendete Standard-Schriften zu.


Anzeige eines ausgewählten Unicode-Bereichs:
Greek and Coptic
Arrows
Mathematical Operators
Miscellaneous Technical
Geometric Shapes
Miscellaneous Symbols
Dingbats

Links wird die vollständige Verweis-Tabelle des gewählten → Unicode-Bereichs angezeigt.

• Im Programm werden nur die Unicode-Nummern vorgegeben, nicht die Symbole selbst: Diese werden Live von ihrem Browser mit der eingestellten → Schrift‑Familie angezeigt. Je nach Schrift-Familie können unterschiedlich viele Zeichen definiert sein.

• Längere Verweis-Tabellen wie diese werden meist 2dimensional dargestellt:
Am linken Rand sind die ersten beiden hexadezimalen Ziffern für die jeweilige Zeile (mit führenden Nullen) angegeben, am oberen Rand die letzte Ziffer.

• Einige interaktive Funktionen wurden mit der Programmiersprache → Javascript programmiert.
Beim Überfahren der Zeichen werden diese hervorgehoben und ihr hexadezimaler Unicode wird rot angezeigt.

Leerzeichen

UnicodeBedeutung
U+0020Einfaches Leerzeichen (Space)
U+20031 em
U+20021/2 em
U+20041/3 em (Thick Space)
U+20051/4 em (Mid Space)
U+20091/5 em (Thin Space)
U+20061/6 em
U+200AHaarfein (Hair Space)
U+200BTrennzeichen ohne Breite
U+00A0Geschütztes Leerzeichen
U+202FGeschützt & schmal
U+205FMath.Formeln
Live-Beispiel (mit ihrem Browser und einer Schrift ihres PC):
In diesem Text ist die Breite der Leerzeichen variabel. Wählen sie das gewünschte Leerzeichen aus der Tabelle. Leerzeichen unterschiedlicher Breite funktionieren nur in Proportional‑Schriften (hier z.B. Times). In Monospace‑Schriften (Courier...) sind alle Zeichen (auch die Leerzeichen) gleich breit.

Symbole aus anderen Unicode-Bereichen

ZeichenUnicodeBedeutung
 U+00A0 Geschütztes Leerzeichen (non-breakable Space)
U+2011 Geschützter Bindestrich (non-breaking Hyphen)
·U+00B7 MultiplikationsPunkt (middot, Middle dot)
°U+00B0 Grad-Symbol (Degree sign)
±U+00B1 PlusMinus
U+20AC Euro-Symbol (EUR)
฿U+0E3F Bitcoin-Symbol (BTC)



Beispiele für periodische Zahlen:
1/3 = 0.33̍3
10/11 = 0.90̍9̍0
100/7 = 14.2857̍1̍4̍2̍8̍5̍7
HTML-Code:
10/11 = 0.90̍9̍0




Das Zeichen U+221E, mit → CSS unabhängig von der jeweiligen Schriftgröße auf verschiedene Werte skaliert:
1.0em ∞   1.25em   1.5em   2.0em
HTML-Code:
1.5em <span style="font-size:1.5em;">&#x221E;</span>

Symbole in HTML


• Codierung mit den Zeichen-Namen:
a &middot; b &plusmn; c &le; &infin;
Es sind zwar viele Zeichen namentlich (als HTML-Entities) definiert, nur wenige davon sind jedoch für MathML brauchbar.

Hexadezimale Codierung:
a &#xB7; b &#xB1; c &#x2264; &#x221E;
Diese Codierung ist für alle (derzeit ca. 2 Mio) → Unicode-Zeichen verwendbar, ebenso für MathML, SVG und alle anderen Mitglieder der → XML-Familie.

Dezimale Codierung:
a &#183; b &#177; c &#8804; &8734;
Auch diese Codierung ist für alle Unicode-Zeichen verwendbar.



Jedes moderne Programm (Textverarbeitung, Web-Editor, ...) beherrscht → Unicode und UTF‑8
Man kann dann alle (derzeit <=2 Mio) Unicode-Zeichen im Text verwenden. ( Beispiel ↗ Städte‑Text)

Symbole in XML



Beispiel zur Anzeige dieser Zeichen:
a · b ± c ≤

• Zeichen-Namen:   In MathML sind zahlreiche Namen (Entities) definiert, die allerdings nicht immer mit den HTML-Namen übereinstimmen.

• Hexadezimale Codierung:
a &#xB7; b &#xB1; c &#x2264; &#x221E;

• Dezimale Codierung:
a &#183; b &#177; c &#8804; &#8734;

Symbole in Javascript


Mit diesem Javascript-Quelltext wird ein Meldungs-Fenster angezeigt:
var txt = "Sonderzeichen:\n";
txt += "a \u00B7 b \u00B1 c \u2264 \u221E";
alert(txt);
Nach dem Prefix \u muss der 4-stellige hexadezimale Code eines Zeichens folgen. Im Gegensatz zu HTML darf man führende Nullen nicht weglassen.

• Live-Test mit diesem Link

Symbole in PHP


Zur universellen Verwaltung von Zeichen und Strings verwendet man am besten die UTF‑8 Codierung. Dabei werden alle ASCII‑Zeichen mit je 1 Byte gespeichert, andere Zeichen mit 2‑3 Bytes.
UTF‑8 kann man in allen modernen Dokumenten direkt verwenden. Man sollte diese Codierung jedoch deklarieren, z.B. in HTML:
<meta http-equiv="Content-Type" content="text/html; charset=utf‑8" />


Die Funktion uchr() erzeugt zunächst den HTML-Code des gewünschten Zeichens, danach mit der Standard-Funktion html_entity_decode() den UTF‑8 String.
Beispiel:
<?php
$txt = 'a '.uchr(0xB7).' b '.uchr(0xB1).' c ';
$txt .= uchr(0x2264).' '.uchr(0x221E);
print $txt."<br />\n";
?>
Die Ausgabe wird unabhängig von Betriebssystem, Browser und Konfiguration korrekt angezeigt, wenn im Dokuments ausdrücklich die UTF‑8-Codierung angegeben ist:
a · b ± c ≤

Symbole in Perl


In jedem Fall wird empfohlen, am Beginn eines HTML-Dokuments UTF‑8 zu vereinbaren:
<meta http-equiv="Content-Type" content="text/html; charset=utf‑8" />


Perl bietet mehrere Möglichkeiten, um Unicode-Zeichen mit ihrer Codenummer anzugeben:
my $t1 = "a \x{B7} b \x{B1} c ";
$t1 .= "\x{2264} \x{221E}";
print $t1."\n oder\n";
my $t2 = 'a '.chr(0xB7).' b '.chr(0xB1).' c ';
$t2 .= chr(0x2264).' '.chr(0x221E);
print $t2."\n";
Ausgabe:
a · b ± c ≤
oder
a · b ± c ≤

Wenn sie Perl CGI-Programme auf einem Linux-Server (Web-Provider) verwenden, dann müssen sie nach dem Hochladen der Perl-Datei das Recht auf Ausführung (execute) für alle User vergeben.