Darstellung von Sonderzeichen in HTML

Viele Sprachen der Welt werden mit Alphabeten geschrieben, die andere Zeichen als unser gewohntes lateinisches Alphabet verwenden und oft (nicht immer) speziell auf den Lautbestand der jeweiligen Sprache zugeschnitten sind. Aber selbst die meisten Schriften, die auf dem lateinischen Alphabet beruhen, darunter die Mehrzahl der in Europa geschriebenen Sprachen, kommen nicht mit den 26 einfachen Buchstaben des lateinischen Alphabets aus. Neben dem Lateinischen selber trifft das nur auf ganz wenige Sprachen zu, vor allem auf das Englische.

Der Tatsache, dass sich die Computertechnologie lange Zeit vorwiegend in den USA, also im englischen Sprach- und Schriftraum entwickelt hat, ist es zu verdanken, dass sich die Entwickler dieser Technologie lange Zeit kaum Gedanken darüber gemacht haben, dass man eines Tages auf den Computern der Welt mehr als nur 26 Buchstabenzeichen benötigen wird. Schon an unserer eigenen Sprache, dem Deutschen, können wir das deutlich sehen: Das Deutsche benötigt über das lateinische Buchstabeninventar hinaus vier weitere Buchstaben, insgesamt sieben weitere Zeichen: ä, ö, ü, Ä, Ö, Ü und ß. Solche Zeichen, die in einem Alphabet zusätzlich zu dem Grundinventar der 26 lateinischen Buchstaben benötigt werden, werden als Sonderzeichen bezeichnet.

İ β ö Ж α ğ ı ž ū γ ï ş

Das Problem besteht natürlich nicht erst seit der Existenz von Computern. Schon die Hersteller von Schreibmaschinen mussten die Buchstaben der jeweiligen Alphabete irgendwie auf den Tastaturen unterbringen. Für alle nicht-lateinischen Alphabete existieren jeweils genormte oder mindestens konventionalisierte Tastaturanordnungen. Die Tastaturanordnungen für Schriften, die auf dem lateinischen Alphabet basieren, enthalten in der Regel die Grundanordnung der englischen Tastatur und bringen die jeweiligen Sonderzeichen (so wie unsere deutschen Umlaute und ß) irgendwo am Rande unter (unrühmliche Ausnahme: türkische Standard-Tastatur).

Zur Zeit der Schreibmaschinentechnologie war jedem klar, dass man mit einer Schreibmaschine nur die Zeichen schreiben konnte, die auf der jeweiligen Maschine enthalten waren. So wie man die Schriftart oder den Schriftstil nicht wechseln konnte, konnte man auch das Alphabet auf einer Seite nicht einfach wechseln. Für besonders anspruchsvolle Zwecke wie z.B. die Herstellung wissenschaftlicher Druckvorlagen im Bereich der Philologie wurden z.T. abenteuerliche Maschinen mit mehreren nebeneinander liegenden Tastaturen und überlangem Wagen gebaut, mit denen man das Blatt mitten im Text so hin- und herschieben konnte, dass man zwischen beiden Tastaturen wechseln konnte.

Heute nun, im Zeitalter der Computer und der Laserdrucker, sind wir längst daran gewöhnt, innerhalb eines Textes Textattribute wie Schriftarten und Schriftstile (Kursiv, Fett, Unterstrichen usw.) beliebig wechseln zu können. Bei den Zeichensätzen hingegen fühlen sich viele Computernutzer noch heute an den Zeichenvorrat gebunden, den ihnen ihre jeweilige Tastatur anbietet. Dabei gibt es längst bessere Möglichkeiten, sie sind nur zu wenig bekannt.

Eine erste Möglichkeit, diese enge Grenze zu überschreiten, war die Einführung des erweiterten ASCII-Codes, der es gestattete, Zeichen mit Codenummern über 128 mithilfe der ALT-Taste und Zahlenkombinationen zu schreiben, die auf dem Ziffernblock einzutippen waren. Später führte die Firma Microsoft einen konkurrierenden Code (ANSI) ein, der heute von allen Windows-Systemen genutzt wird und leider nur bis 127 mit dem ASCII-Code identisch ist. Aber sowohl der erweiterte ASCII-Code als auch ANSI enthielten über das englische Basisalphabet hinaus im Prinzip nur die dringend benötigten Sonderzeichen einiger westeuropäischer Sprachen wie Deutsch, Französisch und Spanisch. Um ihre Rechentechnik auch für andere Sprachen verwendbar zu machen, führte die Firma IBM das Prinzip der Codepages ein, deren Zeichenvorrat oberhalb von 128 (also bis 255) je nach gewählter Sprachversion verschieden war.

Für Nutzer, die aus beruflichen Gründen darauf angewiesen waren, häufig zwischen den Zeichensätzen verschieder Sprachen wechseln zu können, blieb die Situation dennoch unbefriedigend. Auf dem Gebiet der Textverarbeitung wurde die Lücke zunächst durch solche vorzüglichen Systeme wie WordPerfect gefüllt, die bis zu 12 Zeichensätzen boten. Selbst diese für einige Jahre hervorragende Lösung hatte aber ihre Grenzen: Vor allem war sie auf einzelne Programme beschränkt, die Übertragung der Daten in andere Programm war nicht gewährleistet.

Microsoft zog nach, dort musste jeder zusätzliche Zeichensatz allerdings immer extra erworben werden. Das Windows-Konzept einheitlicher Zeichensätze für die gesamte Benutzeroberfläche erlaubte aber immerhin schon, einmal installierte Zeichensätze auch in Datenbanken und anderen Programmen zu verwenden. Was dennoch unbefriedigend blieb, war einmal der relativ zu den Sprachen der Welt noch immer zu sehr eingeschränkte Zeichenvorrat auf einem beliebigen Rechner und zweitens die große Uneinheitlichkeit, die die unbeschränkte Übernahme von Dokumenten von einem Rechner auf einen anderen verhinderte, auf dem nicht zufällig der gleiche Zeichenvorrat installiert war, so dass der gleiche Text dort ein völlig anderes Aussehen zeigen konnte.

Diese Probleme führten schließlich dazu, dass mehrere Firmen sich im Unicode-Konsortium zusammenschlossen, das einen neuen Standard entwickelte, mit dem über 65.500 Zeichen der Schriften der Welt dargestellt werden können. Dieser Code ist schließlich auch Grundlage des internationalen Standards ISO-10646 geworden (in leicht modifizierter Form, aber der Unterschied hat für uns keine praktische Bedeutung).

Die heutige Situation ist die, dass wir zwar diese internationale Norm haben, aber noch sind nicht alle Rechner fähig, sie anzuwenden, und auch noch längst nicht alle Softwareprogramme (Browser, Datenbanken usw.) sind auf sie eingestellt. Darüber hinaus ist selbst vielen Computerprofis noch nicht einmal die Existenz dieses Standards bekannt. Ich will hier versuchen, anhand einiger weniger (vor allem türkischer) Beispiele zu zeigen, wie solche Sonderzeichen in html-Seiten integriert werden können.

Voraussetzung dafür, dass Unicode-Zeichen von einem dafür bereits befähigten Browser (wie z.B. Netscape 4.5) überhaupt richtig angezeigt werden können, ist die Existenz einer entsprechenden Meta-Zeile im Kopf der Datei, also vor dem Tag </head>, die folgendermaßen aussehen muss:

<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8">

Ist diese Zeile vorhanden, dann werden die darzustellenden Zeichen zwischen dem Zeichen "&" und einem Semikolon "maskiert", und zwar entweder mit einer bestimmten Buchstabenkombination wie z.B. "uuml" für "ü" oder aber mit dem Nummern-Zeichen "#" und der numerischen Kodierung des Zeichens, die man einer entsprechenden Tabelle entnehmen muss, z.B. von einer der Web-Seiten des W3C-Konsortiums (die leichter zu merkenden Buchstabenkombinationen gibt es nur für einige der Sonderzeichen, die numerischen Kodierungen dagegen für alle). Hierfür nun einige Beispiele:

Zeichen Name des Zeichens Sprache(n) Maskierung
ä a Umlaut Deutsch &auml;
Ä A Umlaut Deutsch &Auml;
ā a mit Längenstrich wiss. Transkription aus dem arabischen Alphabet &#257;
Ā A mit LängenstrichTranskription aus dem Arabischen (, Persischen usw.) &#256;
ç c mit Cedille Französisch, Türkisch u.a. &#231;
Ç C mit Cedille Französisch, Türkisch u.a. &#199;
č c mit Haček Tschechisch, Slovakisch u.a. &#269;
Č C mit Haček Tschechisch u.a. &#268;
ë e mit Trema Französisch &#235;
Euro-Zeichen Währungslogo (kein Schriftzeichen einer Sprache) &#8364;
ğ yumuşak g Türkisch &#287;
Ğ yumuşak G Türkisch &#286;
ǧ g mit Haček Transkription aus dem Arabischen ... &#487;
ı kleines i ohne Punkt Türkisch &#305;
İ großes I mit Punkt Türkisch &#304;
ī i mit Längenstrich Transkription aus dem Arabischen ... &#299;
Ī I mit Längenstrich Transkription aus dem Arabischen ... &#298;
ï i mit Trema Französisch &#239;
ö o Umlaut Deutsch, Türkisch, Ungarisch... &ouml;
Ö O Umlaut Deutsch, Türkisch, Ungarisch ... &Ouml;
ř r mit Haček Tschechisch &#345;
ş s mit Cedille Türkisch &#351;
Ş S mit Cedille Türkisch &#350;
š s mit Haček Tschechisch u.a. &#353;
Š S mit Haček Tschechisch u.a. &#352;
ß sz Deutsch &szlig;
ü u Umlaut Deutsch, Türkisch, Ungarisch ... &uuml;
Ü U Umlaut Deutsch, Türkisch, Ungarisch ... &Uuml;
ū u mit Längenstrich Transkription aus dem Arabischen ... &#363;
Ū U mit LängenstrichTranskription aus dem Arabischen ... &#362;
ů u mit hochgestelltem Kreis Tschechisch &#367;
ž z mit Haček Tschechisch u.a. &#382;
Ž Z mit Haček Tschechisch u.a. &#381;
Ain Transkription aus dem Arabischen ... &#8216;
Hamza Transkription aus dem Arabischen ... &#8217;

Über diese latein-basierten Sonderzeichen hinaus ist Unicode bzw. ISO-10646 natürlich auch in der Lage, vollständig andere Alphabete wie griechisch oder kyrillisch darzustellen. Hierfür nur einige wenige Beispiele:

Zeichen Name des Zeichens Sprache(n) Maskierung
α alpha Griechisch &#945;
β beta Griechisch &#946;
γ gamma Griechisch &#947;
Б B Russisch, Bulgarisch ... &#1041;
Г G Russisch, Bulgarisch ... &#1043;
Д D Russisch, Bulgarisch ... &#1044;
Ж Ž Russisch, Bulgarisch ... &#1046;

Ein Nachteil des Verfahrens besteht leider darin, dass selbst die neueren Browser von Netscape und Microsoft noch längst nicht alle Unicode-Zeichen darstellen können. Zur Illustration hier nur ein Beispiel:

Zeichen Name des Zeichens Sprache(n) Maskierung
H mit Punkt darunter Transkription aus dem Arabischen ... &#7716;

Nun, können Sie dieses Zeichen lesen? Auf meinem Rechner, der zum Zeitpunkt der Erarbeitung dieser Seite mit WindowsNT 4.0 und sowohl mit Netscape 4.7 als auch mit dem Internet-Explorer 4.0 von Microsoft ausgestattet war, bekomme ich nur ein kleines Viereck zu sehen.

Falls Sie auch die Zeichen in den beiden obigen Tabellen nicht korrekt lesen können, dürfte es Ihnen helfen, sich einen neueren Browser zu besorgen. Netscape 4.05 beispielsweise beherrscht diese Zeichen auch noch nicht. Zweitens kann es von Nutzen sein, als Standardschrift in Ihrem Browser einen Font einzustellen, der möglichst viele Sonderzeichen enthält, wie z.B. Lucida Sans Unicode.
Über den Internet-Explorer 5 von Microsoft geht übrigens das Gerücht um, er sei bereits voll unicode-fähig, aber laden Sie mal ein 76,8 MB schweres Programm auf Ihre Festplatte! :-(

PS von 2003: Inzwischen habe ich Netscape 7.0 auf meiner Festplatte, und das zeigt alle hier aufgeführten Sonderzeichen korrekt an.


Diese Seite wurde von Armin Bassarak geschrieben.