3. Schreiben (b), Schrift
Zeichen, Sonderzeichen : &abcde; oder &#nnnnn; (zu "abcde" oder "nnnnn" siehe Tabellen und Links) Wenn Sie Buchstabensalaten entgehen wollen, wie man sie im Web des öfteren antrifft und wovon die folgende Textpassage eine Kostprobe darstellt, dann sollten Sie sich die Grundlagen der Schrifterzeugung draufschaffen, zumindest jedenfalls soweit sie im Web vonnöten sind. Hilfreich dürften hierbei die untenstehenden einführenden Erörterungen sein. Beachten Sie aber auch die Bemerkungen zu einigen Editoren in der Abteilung 1. Aufgeschnappt aus dem Web (die entscheidenden Namen wurden geändert):
Wer im WWW etwas vermitteln will, kann das per Rauchzeichen tun. Kreative Gestaltungsmittel wie Flash bieten Rüstzeug dazu. Wir wollen uns hier aber um etwas anderes bemühen: um Text, um geschriebene Sprache und deren Verständigungskürzel "Wort". Also letzlich doch wieder um Zeichen? Ja sicherlich, aber im Gegensatz zu Rauchzeichen, ergeben die der Schriftverständigung dienenden Zeichenelemente, richtig zusammengesetzt, vielfältigen und erweiternden Sinn (so jedenfalls erhofft man sich das). Beschäftigen wir uns also etwas damit, wie es im WWW zu den Bedeutungsträgern Wort und Satz kommt. Fürs HTML-Programmieren ist ein nicht formatierender Einfach-Text-Editor das passende Werkzeug. "Word", das "Wort", ist kein wirklich geeignetes Werkzeug. Word ist im Grunde ein TextVERARBEITER, zu groß, zu aufwendig, ein Riesenapparat, der im Normalfall schon bei einem einzigen Buchstaben ein gigantisches Beiwerk an Steuerungsformatismus mitliefert, wenn man so will, ein Rauchzeichen-Chinesisch, das den Internet-Transmitter, Browser genannt, unter Umständen zum Analphabetentum verdammt. Für Quelltext-Arbeiten sollte man nach einem schlanken, superschnellen Nur-Text-Schreiber suchen. Es bietet sich Notepad, der Windows-Editor, an. Die heute noch weitverbreitete Fassung von Windows 95/98 hat aber eine Dateigrößenbegrenzung bei etwa 32 oder 35 KB, und an diese Grenze stößt man recht bald; außerdem fehlt dem Editor die Suchen/Ersetzen-Funktion, ohne die fortgeschrittenes HTML-Programmieren nicht auskommen kann. Besser geeignet ist deshalb das kleine Word, Wordpad (ebenfalls im Windows mitgeliefert). Dieses Programm kann auch große Dateien verarbeiten. Allerdings ist Wordpad, wie Word, auch nicht als Einfach-Editor konzipiert, es ist eigentlich auch ein formatierendes Textverarbeitungsprogramm, doch läßt es sich (genau wie Word) im nicht formatierenden Einfach-Textmodus betreiben und ist hierbei (im Gegensatz zu Word) recht fix, und dies auch in einer weniger mächtigen Hardware-Umgebung. Andere geeignete Quellcode-Arbeitsmittel sind NotepadEx, UltraEdit-32 und der Editor von Windows NT bzw. XP, ebenfalls Notepad genannt ("NT-Notepad", "XP-Notepad"). Alle drei sind im Regelfall in einem genügend großen Arbeitsspeicher sehr schnell, kennen keine Dateigrößenbegrenzung und haben, ebenso wie WordPad, die Suchen/Ersetzen-Funktion. NotepadEx und inbesondere UltraEdit-32 sind zudem mit vielen Extras ausgestattet, die beim HTML-Handprogammieren nützlich sein können. Es gibt genügend Editoren. Die hier genannten sind nur eine kleine Auswahl aus der tatsächlich existierenden unzählbaren Menge. Da aber die Notepads im Windows kostenlos dabei sind, wollen wir, frei nach Goethe, nicht in die Ferne schweifen und uns des Nahliegenden bedienen, wobei zu streiten wäre, ob es bei jeder Gelegenheit gut ist. Praktisch ist es auf jeden Fall: Nutzen wir also fürs erste das, was wohl fast jeder hat, entweder das Notepad von Windows 95/98 oder das der Windows NT- bzw. XP-Linie. Man soll sich die Dinge nicht unnötig schwer machen (eine Kurzbeschreibung einiger Editoren findet man in der Abteilung 1). Ein Editor wie Notepad hat die weiterführende Aufgabe, Sinn zu vermitteln. Bezogen auf unsere Wünsche, fängt das zunächst damit an, alle Zeichen, die sich mit einer modernen deutschen Tastatur erstellen lassen, so aufzunehmen, daß sie ein für die deutsche Sprache eingerichteter Browser verarbeiten, auf dem Bildschirm wiedergeben und ins Internet schicken kann. Ein Browser, mit dem Notepad ganz gut kann, ist der Microsoft Internet Explorer. Man verwende davon nur eine neuere Fassung (ich benutze derzeit die Fassung 6.0 SP3). "Ganz gut kann" deutet an, daß es offenbar Ecken und Kanten gibt. Aber seien Sie gewiß: andere Liaisons, andere Kanten. Façades gibt es viele (beachte: ç! Bravo Notepad! Bravo MSIE mindestens ab Version 5.5 via HTML!). Bleiben wir also bei den beiden fürs erste. Doch kehren wir nichts unter den Teppich, reden wir auch über die Kanten. Zwei des kleinen Notepad haben Sie schon oben kennengelernt: Dateigrößenbegrenzung, Fehlen der Suchen/Ersetzen-Funktion.
Tasten wir uns nun in die Zeichenwelt eines Editors vor, das machen wir allerdings nicht Taste für Taste und zudem auch nur soweit vonnöten. Außerdem sei noch einmal betont: Die folgenden Ausführungen beziehen sich im allgemeinen nur auf die "Editoren-Plattform"! Zum Sonderfall WordPad siehe Abeilung 1 unter Editoren. Man unterscheidet "normale" Zeichen (Standardzeichen) und Sonderzeichen. Standardzeichen sind die direkt eintippbaren "characters" der englisch-amerikanischen Tastatur. Sonderzeichen hingegen sind Buchstaben und Zeichen, die je nach Land hinzutreten oder gar die "normalen" ablösen. Man nennt das oft länderspezifische Belegung. Darunter versteht man schon bloße Umbelegungen, wenn also z. B. z und y "umgehängt" werden, wie es, von der amerikanischen Tastatur ausgehend, bei der deutschen Tastaturbelegung der Fall ist; dies hat aber natürlich noch nichts mit dem Thema Sonderzeichen zu tun. Eine wirklich typische länderspezifische Belegung liegt dann vor, wenn die Einführung "neuer" Zeichen hinzukommt, wenn also die Tastatur an Sonderzeichen eines länderspezifischen Zeichensatzes angepaßt wird. Die Erstellung bestimmer ausländischer Zeichen nach einem mehr oder minder traditionellen Eintippusus, der meist von der Schreibmaschine herrührt, spielt hier gewöhnlich auch eine Rolle. Auf der deutschen Tastatur können die charakteristischen deutschen Sonderzeichen, die Umlaute und das ß, direkt eingeben werden. Ausländische Buchstaben, die durch diakritische Zeichen ihre Vollständigkeit erreichen, werden mittels Tastenkombinationen erstellt (aus ` und a wird à). Mit solchen Kombinationen sollten eigentlich mindestens diejenigen zusammengesetzten Buchstaben möglich sein, die unten in der Tabelle unter "Eingabe Schreibfeld" in den Abteilungen "Sonderzeichen" genannt sind. In dieser Spalte "Eingabe Schreibfeld" sind auch noch einige andere nicht so geläufige Zeichen (markierende, diakritische und graphische Zeichen) angeführt. Darunter die Zeichen für Paragraph und Dollar; sie stehen hier für Problemfälle, denn nicht jede PC-Tastatur ist mit derlei "Typen" ausgerüstet (übrigens im strengen Sinn sind beide, weil auf der amerikanischen Tastatur vorhanden, keine Sonderzeichen, als solche werden sie aber landauf, landab bezeichnet). Falls für Problemfälle dieser Art keine eigenen Tasten existieren, helfen oft Tabellen weiter, die spezielle Zahlen, sogenannte ASCII-Codes1, listen. Unten in der Tabelle ist eine kleine Auswahl solcher Zahlen genannt (siehe z.B. die "ASCII/OEM (Codeseite 850) Eingabe"-Kolumne): Bei gedrückter Alt-Taste wird auf einem dafür ausgewiesenen Zahlenblock, gelegentlich ASCII-Block genannt, die Zahl eingetippt, die auf dem Bildschirm das jeweilige Zeichen ergeben soll (Notepad: § = Alt + 21, $ = Alt + 36 oder 036). Eine normale Tischtastatur hat dieses spezielle Zahlenfeld rechts neben dem "Zehnfinger-Schreibfeld"; bei Laptops usw. ist für solche Zwecke meistens ein im Schreibfeld speziell gekennzeichneter Tastaturteil ausgewiesen. 1 Man überlese hier derlei Abkürzungen. Sie werden unten aufgeschlüsselt. Die ASCII-Eingabe hilft auch in einigen anderen Fällen weiter. Bei seltenen Zeichen beispielsweise, gemeint sind nicht hebräische oder chinesische Zeichen, sondern schlicht und einfach wenig gebräuchliche Buchstaben-Composita unserer unmittelbaren Nachbarstaaten, die selbst mit diakritischen Tastenkombinationen nicht zusammengebastelt werden können. So z. B. das zusammengezogene æ oder Æ der dänischen Sprache. Diese Ligatur erhält man mit Alt + 145 = æ und Alt + 146 = Æ (siehe Tabelle). (Tippen Sie mal, analog zum oben angegebenen $-Beispiel, Alt + 0145 oder 0146 ein! Und? Tja, über diese Seltsamkeiten gleich mehr.) Wie man sieht, geht das sehr einfach vonstatten. Es kann aber auch etwas unbequem werden und zwar bei Zeichen, die in einer Nur-Textdatei mit den bisher beschriebenen Mitteln nicht darstellbar sind. Als Beispiel diene das "zusammengeleimte" französische bzw. in chur, cur und uvre. Der Buchstabe kommt ja zum Glück nicht so häufig vor. Soll man in den wenigen Fällen beim Ersatz "oe" bzw. "OE" bleiben? Immerhin denkbar wäre eine Umstellung der Tastatur auf einen speziellen (französischen) Zeichensatz, mit Folgen allerdings, die man ahnt. Wir würden bei unserer Quellcode-Textierung die deutsche Umgebung verlassen, was prompt mit der Tastatur kollidierte. Auch würden einige Gewohnheiten gekippt. Jetzt müßte der ASCII-Block da helfen, wo er einst nicht in Anspruch genommen wurde, bei den deutschen Umlauten beispielsweise. Von einer solchen Umstellung ist also im Normalfall abzuraten. Man kalkuliere auch, soweit Dokumententreue wichtig ist, Verläßlichkeitrisiken ein. Ein Belegungswechsel für die Ausgabe am eigenen Bildschirm oder auf dem Hausdrucker mag fehlerfreie Ergebnisse bringen, inwieweit aber ein derartig erstellter Text auf einem anderen umgestellten oder nicht umgestellten (deutschen) System die erwarteten Anzeigeergebnisse brächte, wäre im Einzelfall noch zu testen. Glauben Sie nicht zu bedingungslos an Sprüche wie: Definierte Zuweisungen sind definierte Zuweisungen, was soll denn da schon passieren? Gerade bei den Zeichensätzen, darauf wird hier in den "Notizen" mit Nachdruck hingewiesen, gibt es keine Statik, dafür aber jede Menge Unabwägbarkeiten. Man vergleiche zu diesem Thema die in der Abteilung 1 unter Editoren referierten seltsamen Erscheinungen. Es gibt eine andere, viel bessere Methode: die ANSI-Eingabe. Allerdings tauchen trotz des "besser" auch ein paar Probleme auf. Und da wir nichts unter den Teppich kehren wollten, werden wir sie ansprechen. Ohne etwas Sachkunde geht das aber nicht. Immer wenn eine PC-Taste niedergedrückt wird, geschehen komplexe Abläufe. Für unsere Zwecke genügt zu wissen, daß jedes Niederdrücken einer Taste oder Tastenkombination eine Code-Kommunikation zwischen Tastatur und dem Basic Input/Output System (BIOS) auslöst. Ist die Taste eine Zeichentaste, z. B. ein Buchstabe, wird im Laufe des "technischen Gesprächs" nicht das Zeichen selbst, sondern seine Zahl (binär) übergeben. Bei "AZ" wären das die Zahlen dezimal 65 und 90 (hexadezimal 41 und 5A, zu hexadezimalen Zahlen siehe weiter unten die Erläuterung). Wenn solche Aktionen bei möglichst vielen Computersystemen zu gleichen Resultaten führen sollen, müssen die Numerierungen definiert, genormt sein. Es muß Standards geben. Eine frühe Norm, die für die PC-Entwicklung grundlegend wichtig wurde, ist der American Standard Code for Information Interchange, kurz der ASCII genannt. Er ordnet 128 Zeichen und Funktionen den Zahlen 0 bis 127 zu. Man nennt dies den einfachen ASCII. Er besteht im wesentlichen aus zwei Teilen. Teil 1 umfaßt, durchgezählt von 0 bis 31, einige darstellbaren Zeichen (¶ = ASCII 20, § = ASCII 21), vor allem aber Steuerungsfunktionen. Steuerungsfunktionen sind z. B. Signal (bell = ASCII 7), Tabulator (horizontal tab = ASCII 9), Zeilenvorschub (line feed = ASCII 10), Seitenvorschub (form feed = ASCII 12) und Wagenrücklauf (carriage return = ASCII 13). Wir sehen hier deutlich, was wir alle wissen: der PC kommt von der (elektrischen) Schreibmaschine her. Der Teil 2 beinhaltet, mit den Zahlen 32 bis 127 versehen, die Zeichen der englisch-amerikanischen Tastatur. Mit einer solchen Tastatur kann man natürlich keine deutschen Sonderzeichen schreiben. Jeder, der die frühe Heimcomputerzeit miterlebte, kennt wohl das Ende der 70er, Anfang der 80er Jahre weitverbreitete Kauderwelch der legendären BASIC-Rechnerchen (des Commodore-Volkscomputers VC-20, des Commodore C 64 u. a.): Die Busse fuer eine grosse Luege sollte nicht zu suessen Kuessen fuehren. Auch gab es oft die paläolithische Sitte: BLOSS GROSSBUCHSTABEN. Andere Länder hatten mit anderen Notbehelfen klar zu kommen. Um dem Mangel an speziellen Zeichen abzuhelfen, hängte man an die 128 Zeichen weitere 128 dran. Es entstand das sogenannte erweiterte ASCII. IBM benutze es in seinem PC, Microsoft in seinem Betriebsystem MS-DOS (Microsoft Disk Operating System, Vorläufer von Windows). Es erhielt die Kurzbezeichnung ASCII/OEM. OEM steht für Original Equipment Manufacturer, was in etwa heißen soll, daß das Original von der Industrie angepaßt (erweitert) verwendet wurde. Der berühmt-berüchtigte, in Aber-Millionen von sogenannten IBM-kompatiblen PCs Realität gewordene Industriestandard war geboren (natürlich gab es etliche andere Zeichenreihen, dies wollen wir hier aber nicht verfolgen). Die neue Reihe mit 256 Zeichen und Funktionen gab in ihrer Grundform nun etwas besser die Wünsche Westeuropas wieder, war aber immer noch nicht ganz das Gelbe vom Ei. Immerhin, ASCII/OEM gliederte sich in viele Unterreihen: länderspezifische Codeseiten. Für unser Verständnis hier reicht die Kenntnis zweier Hauptseiten aus: Codeseite 437 Englisch und Codeseite 850 Mehrsprachig (Lateinisch I). In älteren amerikanischen PCs mit Windows 95 und NT war einst die Codeseite 437 sehr verbreitet, die Variante für auf internationale (was immer das ist), westeuropäische bzw. deutsche Ansprüche ausgerichtete PCs ist die Codeseite 850. In der Zeichentabelle (Programme/Zubehör/Zeichentabelle) kann man sie im Zusammenhang mit der Schriftart Terminal wie ein Fossil bestaunen, und zwar im Normalfall nur noch da und auch nur von ASCII 32 an (zur Erinnerung: ASCII 0 bis 31 sind meist Steuerungszeichen). In einem Quelltexteditor wie Notepad kann man die Standardzeichen des Bereichs 32 bis 127 der ASCII-Reihe auf der Tastatur oder per Alt/ASCII-Zahlenfeld eingeben, die Sonderzeichen des Bereichs 128 bis 255 hingegen nur teilweise auf der Tastatur, auf jeden Fall aber mit Hilfe des Alt/ASCII-Blocks, allerdings auch nur insoweit, als es sich um "Schrift-Zeichen" handelt. Die Gestaltungszeichen für Tabellen und Schaubilder zwischen ASCII 176 und 223, die typischen MS-DOS-Graphik-Bausteine also, sind gestrichen. Zu den Zeichen und Funktionen 0 bis 31 siehe die Angaben in der Abteilung 1 unter den einzelnen Editoren. Dort wird auch auf Ungereimtes hingewiesen. Unten in der großen Tabelle geben die Rubriken "ASCII/OEM (Codeseite 850) Eingabe Zahlenblock: Alt ohne 0" und "ASCII/OEM (Codeseite 850) Eingabeergebnis Zahlenblock: Alt ohne 0" für die Wirkungsweise des ASCII ein Beispielbild ab.
Literatur
Peter Norten, Inside the IBM PC, Revised and Enlarged
Microsoft Corporation, Microsoft® MS-DOS®,
Eine Einführung in das Betriebssystem MS-DOS, Version 5.0 [Titel der Titelseite]
Microsoft Corporation (Support), INFO: Windows, Code Pages, and Character Sets (Article ID: 75435, einst: Q75435), 1991, Last Review: February 11, 2005,
Revision: 1.1 Die abstrakten Begriffe ASCII, erweitertes ASCII und ASCII/OEM, alle drei spielen auch in der Abteilung 1 im Zusammenhang mit den Editoren eine Hauptrolle, haben nun, so hoffe ich, etwas Gestalt angenommen. Knüpfen wir nun an das weiter oben angeschnittene Problem an, daß man mit ASCII Codeseite 850 die Zeichen und nicht darstellen kann. Zunächst eine Beichte: Nachdem wir jetzt wissen, was eine Codeseite ist, kann ich auch verraten, daß es für diese beiden Zeichen wohl gar keinen Sinn gehabt hätte, nach der Möglichkeit einer Zeichensatzumstellung zu suchen. Die französische Codeseite enthält nämlich die beiden Buchstaben auch nicht. Diese raren Zeichen scheinen also damals im PC-Geschäft, im Industriestandard, nicht existiert zu haben. Die Sonderzeichen-(Rest)Probleme galt es, in den Griff zu bekommen. Man revidierte den Teil ASCII 128 bis 255 und schuf den erweiterten ASCII-Code "ANSI" (American National Standards Institute), der im allgemeinen nicht ASCII/ANSI, sondern schlicht und einfach nur ANSI genannt wird. Diese Reihe gibt nun mit seinen wiederum ingesamt 256 Zeichen und Funktionen klarer als bisher die Zeichendarstellung der amerikanischen und westeuropäischen Sprachenwelt wieder. Außerdem kam im Zuge des Web-Aufbaus mit der Entwicklung des HTML-Zeichencodes eine weitere Neuerung größter Tragweite hinzu. Sie, die HTML-Zeichenreihe, auch Unicode bezeichnet, besteht aus dem ANSI-Code, im Internet-Getümmel gelegentlich auch zu "Web ASCII" umgetauft, und einer langen, schier endlosen Erweiterung, die ab 256 die osteuropäischen Sprachen einleiten. Man erkennt auch hier, wie sehr die PC-Welt international zu denken sich angewöhnt hat. ASCII, das waren einst 128 Zeichen und Funktionen, zugeschnitten auf den englisch-amerikanischen Sprachraum. Dieser Rahmen erwies sich sehr schnell als zu klein: Es entand ein zweiter, der erweiterte Teil, der, auf eine Vielzahl von Codepages verteilt, eine geographisch weitreichende Zeichenvielfalt wiederzugeben versuchte. Da die magische Zahl 255 (mit 0 = 256 Einheiten) die Grenze vorgab, waren wohl immer Kompromisse das notwendige Übel. Mit ANSI, das man, auf unsere Bedürfnisse bezogen, schon eher als einen USA- und (!) Westeuropa-Zeichensatz bezeichnen kann, begann sich die Perspektive grundlegend zu ändern. Die HTML-Zeichendarstellung schließlich hat, obwohl sie nur noch eine einzige Reihe ist, wohl alle Sprachen im Focus. Wie weit man schon ist, weiß ich im einzelnen nicht, aber Sie können sich hier über alles informieren: www.unicode.org und www.iso.ch, vorausgesetzt, Sie haben viel, viel Zeit. Auch den ANSI-Code gibt man in einem Editor (wie Notepad) mit der Kombination Alt-Taste/Zahlenblock ein, und zwar derart, daß man vor die Zahl, die bis 127 dasselbe Zeichen wie die jeweilige ASCII-Zahl liefert, eine Null setzt, also Alt + 055 ergibt die Zahl 7. Das ist natürlich nicht so aufregend. Interessant wird es erst ab ANSI 128. Auch hier beginnt man die Zahleneinabe mit einer Null. Eine Sache ist allerdings sehr seltsam: Die meisten Zeichen zwischen ANSI 128 (also 0128) und 159 (also 0159) werden, falls die Positionen überhaupt besetzt sind, bei der Eingabe nur maskiert angezeigt (schwarzes Rechteck, Fragezeichen o.ä.). Erst nach der Aktualisierung eines HTML-Quellcodes zu einer Web-Seite wird das Ziel angezeigt (Beispiel: ™ = Alt + 0153). Diese beschriebene Seltsamkeit galt für ältere Notepad-Versionen, es ist zu prüfen, ob dies auch noch bei neueren Fassungen diverser Text-Editioren gilt (demnächst mehr). Das Notepad der Windows Version XP 6.0 SP3 hat diese Merkürdigkeiten nicht mehr. Ob jemand dem reichsten (mittlerweile ja nur noch zweitreichsten) Mann unseres Planeten höchstpersönlich gesteckt hat, daß diese "hochintelligente Regelung" endlich geändert gehört? Die Eingabe der untenstehenden (problematischen = offiziell nicht fixierten) Zahlencodes per Alt + 0128 bis 0159 im Notepad des Windows XP SP3 wird sowohl von diesem Notepad als auch vom Internet Explorer 6.0 und 8.0 (7.0 nicht getestet) einer (inoffiziellen) "Web-ASCII"-Liste entsprechend wiedergegeben. Der Firefox-Browser zeigt das Gleiche an, allerdings mit der Ausnahme, daß er bei einigen Codes statt leerer Rechtecke solche hexadezimale Codes beinhaltend darstellt, so jedenfalls bei der aktuellen Fassung (zu dieser siehe oben). Frühe Firefox-Fassungen zeigten eine durch Blindfenster etwas verkorkste Tabelle an, die der Nachbesserung bedurfte: Man mußte per Hand das im Notepad angezeigte Rechteck durch ersetzen. Man konnte aber auch anders vorgehen: Umgab man den jeweiligen das Rechteck erzeugenden Code mit , dann war in beiden Browsern die äußere Tabellenform gewahrt (also: Code ). Daß die Umrahmungen und Streben der Windows-Tabellen bzw. -Tafeln ein frisches, lebendiges Layout haben, ein sinnvolleres als diejenigen des Firefox, ist nicht zu übersehen. Die Firefox-Form ist in diesen einfachen Gestaltungsmöglichkeiten wirklich erbärmlich trist: lauter karge Kriegsfenster. Es gibt unrealistische HTML-Code-Validatoren. Der Prüfer allerdings, den Firefox seit einiger Zeit zur Verfügung stellt, scheint, soweit bis jetzt zu sehen, einen Fortschritt zu bilden. Ihm liegt offenbar die Konzeption zugrunde, den zukünftigen Umfang der HTML-Ziele zu berücksichtigen. Dies bedeutet u.a., auch ältere Befehle, die in den letzten Jahren von sturen, übereifrigen HTML-Puristen als "deprecated" verschrienen worden waren, sollen erhalten bleiben. Interessant ist nun, daß der Firefox-Prüfer bei seiner Anzeige des Quelltexts die Codes zwischen ANSI 128 und 159 rot anzeigt, doch nicht nur das, ganze Absätze können durch die Verwendung dieser Codes in roter Schrift erscheinen (siehe den Quellcode zu dieser Seite). Fährt man nun mit dem Curser über die rote Schrift, wird auf computerchinesisch angezeigt: "Eine numerische Zeichenreferenz wird auf den C1-Kontrollbereich aufgelöst [Geprüft 25.11.2012]." Abhilfe ergibt sich hierbei sofort, wenn der gewählte Code aus der Reihe ANSI 128 bis 159 durch einen entsprechenden "offiziellen" (meist höheren) Code ersetzt wird. Es verschwindet die rote Einfärbung und natürlich auch der kryptische Hinweis. Zu den Angaben in der nachfolgenden Liste vergleiche auch die entsprechenden Angaben in der großen Liste weiter unten. Tabelle I (Editor: Notepad, Windows XP SP3)
Randbemerkung zur Zeicheneingabe mit dem numerischen Zahlenblock: Da es nicht wenige Web-Programmier-Freaks gibt (ich zum Beispiel), die sehr oft noch mit dem von fast jedermann für tot erklärten Microsoft Disk Operating System - MS-DOS - arbeiten (in Windows XP, wenn's recht ist), scheint es angebracht, im Rahmen des hier anstehenden Themas einen kleinen Schlenker einzufügen. Bei der Eingabe Alt-Taste + Zahlencodes sollte man das oben Ausgeführte nicht vergessen: Die Zeichenreihe 128 bis 255 im Disk Operating System (DOS, MS-DOS, PC-DOS usw.) unterscheidet sich von jener erheblich, die dem flächendeckend verbreiteten Windows zu Grunde liegt (ANSI). Vergleiche hierzu unten in der Tabelle die Rubriken "ANSI[-Code] ("Web ASCII") Eingabe" und "ASCII/OEM (Codeseite 850) Eingabe". Die Sonderzeichen der Codeseite 850 kann man bei simuliertem oder tatsächlich geladenem DOS mit ausgereiften "MS-DOS-Texteditoren" wie Edit (Microsoft) und PC-Write 2.55 (ein ehemals berühmtes Shareware-Programm) ohne weiteres eingeben, z. B. Alt + 132 oder Alt + 0132 für ä. Aber die ANSI-Codes von 128 bis 255 sind von der Eingabe ausgeschlosssen. Das ist ja auch verständlich, es gäbe sonst einen unbeschreiblichen Wirrwarr. Beispiel: ASCII 226 bzw. 0226 steht für Ô und ANSI 0226 für â. Beachte auch: Ein mit einem MS-DOS-Editor eingegebener Text muß vor der Verwendung im ANSI-Bereich (Windows) umgewandelt werden. Viele "ANSI-Texteditoren" können bei "NORMALEM" (und nicht formatiertem) Text als Wandler dienen, z. B. UltraEdit-32 und WordPad (Windows), siehe hierzu die Anmerkungen zu den Editoren in der Abteilung 1. Die beiden eben genannten wandeln in beide Richtungen um. Geschrieben wird in ASCII/OEM (unter DOS) oder ANSI (unter Windows); die Umsetzung geschieht nach dem Laden bzw. vor dem Abspeichern. Der sicherlich verworrene und verwirrende Sachverhalt "spezielles Zahlenfeld" oder "ASCII-Block" (der ja im Laufe der Jahre auch ein "ANSI-Block" wurde!) sei hier noch einmal wie eine Denksportaufgabe rekapituliert: Der Zahlenblock funktioniert unter DOS (MS-DOS usw.) NUR als "ASCII/OEM-Block" und zwar OHNE und MIT einer Null vor den Zahlen 1 - 255 (0 ist wirklich null = im allgemeinen nicht darstellbar), unter Windows als "ASCII/OEM-Block" OHNE null vor den Zahlen (zwischen 1 und 31 ergeben sich nur wenige Reaktionen, 20 und 21 beispielsweise sind die Zeichen: ¶ §, die graphischen Gestaltungszeichen zwischen 176 und 223 sind gestrichen) und als "ANSI-Block" MIT einer führenden Null (032 bis 0255), 01 - 031 ergeben hierbei keine bildlichen Zeichen und die meisten Eingaben im Bereich 0128 bis 0159 (soweit überhaupt mit Zeichen besetzt) werden nur als Ergebnis auf einer Web-Seite angezeigt. Für einen ANSI-Editor, wie Notepad, mag die folgende kleine Tafel als kurzgefaßte "Eingabe-Eselsbrücke" dienen:
Wie wir oben sahen, kann die Schreibarbeit in einem Editor, falls sie sich um Textdarstellung am PC etwas bemüht, auf einige Komplexität stoßen. Noch komplexer und widersinnigerweise doch klarer wird die Situation, wenn wir uns nun der tatsächlichen Quellcode-Programmierung zuwenden. Hier treffen wir, wie schon erwähnt, auf einen riesigen, scheinbar endlos erweiterbaren Fundus an Zeichen, deren Codes weltweit verbindlich und auch relativ einfach anzuwenden sind. Wäre das nicht so, wäre das Chaos perfekt und das Internet keine globale Einrichtung. Wie faßt man nun für's WWW Texte mit seltenen Zeichen bzw. Sonderzeichen ab? Bedeutende Eingabeverfahren sind schon oben angesprochen worden: Die ASCII- bzw. ANSI-Eingaben mittels des speziellen Zahlenblocks. Doch es gilt dabei einiges zu bedenken. Auf nationaler Ebene dürften auf dem traditionellen Schreibmaschinenentastaturfeld und mit der Alt/Zahlenblock-Funktion eingegebene Texte nicht so problematisch sein. Wie aber wird ein deutsches oder französisches Schriftstück in den USA wiedergegeben? Manches wird richtig sein (denn dort arbeitet man, genau wie bei uns, mit einer erweiterten Tastaturbelegung), manches mag aber auch falsch sein. Wir alle wissen es: aus ä wird oft a, aus ß unter Umständen sogar B usw. Als Lösungen bieten sich zwei Wege an:
Wie man in der Tabelle unten sieht, existieren für Zeichen zwei HTML-Code-Arten: ein textartiger und ein zählender Code. Bei der Programmierung sollten man sich vielleicht nicht unnötig mit den numerischen Codes belasten, sondern, soweit vorhanden, die Text-Codes verwenden. Sie sind nicht so kryptisch, wie sie aussehen. Die meisten von ihnen unterliegen einer leicht faßlichen Struktur. (Beichte: Nachdem man so etwas schreibt, entdeckt man plötzlich etwas. Ich verwende allen meinen guten Ratschlägen zum Trotz sehr oft NICHT den Text-Code. Dem Vernehmen nach soll in vielen Fällen, insbesondere ab Unicode 256, der numerische der ältere und demnach auch der sichere sein!? Das werden wir bei Gelegenheit zu prüfen versuchen, siehe hierzu auch weiter unten und beachte zudem die Pseudo-Vertauschung der Alpha-Codes der Zeichen § und ¶, siehe Tabelle Fußnote 4.) Zum Aufbau der HTML-Zeichen-Codes
Zur besonderen Funktion und Anwendung des Leerzeichens siehe Abteilung 2. Zur Eingabe der HTML-Befehle: Die Eingabe der HTML-Befehle bringt sicherlich einigen Aufwand mit sich. Will man sich dem auch bei gängigen Sonderzeichen - und dazu gehören z. B. die deutschen Umlaute - aus einem gewichtigen Grund nicht entziehen, kommt es im Quelltext zu der für viele so rätselhaften, "verkodierten" Sprache, die manche schon als Graffiti Außerirdischer gedeutet haben sollen (vergleiche das nachfolgende Beispiel). Quellcode (nur mit deutschen Sonderzeichen): Läg Münster näher bei Kölle, äßen die Münsteraner öfters süße Küchelchen. Ergebnis: Des Rätsels Lösung? Rechte Maustaste: Quelltext.
Man kann die Sonderzeicheneingaberiffs etwas umschiffen, indem man die betreffenden Zeichen unverschlüsselt per Schreib- oder Zahlenfeld in den Text eingibt und sie später mit einem Editor, wie NT-Notepad, WordPad oder UltraEdit-32, bequem en bloc durch die HTML-Codes ersetzt (Funktion: Suchen/Alles ersetzen). Auch die maskierten Zeichen, z. B. Alt + 0128 (= €), kann man so suchen und ersetzen. Marginalie: Eigenartigerweise wird in Suchformularen älterer Notpad-Versionen € (= Alt + 0128) bildlich angezeigt, ™ (= Alt + 0153) aber zum Beispiel nicht. Das wird so manchen Fluch "What the hell Bill..." hervorgerufen haben (vielleicht noch hervorrufen). Im Windows XP (Testfassung: mit Service Pack 2) hat die Anzeige im Notepad-Suchfeld diesen Fehler nicht mehr.
Quellcode vis à vis Anzeige: Zum Nachschlagen, Vergleichen und Testen Ein paar erläuternde Worte zur Tabelle: In der ersten Spalte erscheint das Ergebnis des tatsächlichen HTML-Befehls; soweit existent, wurde nur der Alpha-Code der rechten Nachbar-Kolonne verwendet (Achtung bei § und ¶, siehe Fußnote 4). Dieser Spalte folgt die Kolumne mit den begrifflichen Quellen, an sie schließt sich der numerische Code an. Beide Codes, der Alpha-Code und der numerische, sind im Einsatz prinzipiell gleichwertig. Der Alpha-Code dürfte aber wohl nicht nur leichter zu handhaben sein, er ist auch im Quelltext (mit etwas Übung) sicherlich der lesbarere (allerdings wie oben schon vermerkt: Achtung bei § und ¶, siehe Fußnote 4). Man beachte auch, daß frühe Browser viele Alpha-Codes nicht lesen können. Dies gilt insbesondere für Codes jenseits der 255er Marke. Da es wegen der Vielfalt der Browsertypen und -versionen von dieser vertrackten Situation kein klares Bild gibt, vielleicht auch nicht geben kann, ist man weitgehend auf eigene Beobachtungen angewiesen. Die nächste Spalte gilt dem ANSI-Code; die Zahlen sind identisch mit denen des Numeric Code. Er wird mit Alt und auf dem Zahlenblock mit einer führenden Null eingegeben, doch manchmal herrscht dann Geisterstunde (siehe oben und auch die Fußnote 2 zur Tabelle). Die beiden letzten Kolumnen sind für Vergleichstests wichtig. Die Zeichen unter "ANSI Eingabe Schreibfeld Ergebnis" wurden mit meinen Tastaturen eingegeben und zwar, abgesehen von den HTML-Codezeichen >, < und &, strikt nur mit dem Schreibfeld. Die an sich gängigen Zeichen >, < und & kann man zwar, wie wir wissen, auch per Tastatur eingeben, doch auf eine solche unkaschierte Darstellung der Zeichen reagiert der Browser in seiner Eigenschaft als Programm-Interpreter: Für ihn sind das Programmierzeichen. Diese Funktion aber wollen wir hier nicht, und da sie zu allem Überfluß auch noch durch Unvollständigkeit glänzen (es fehlen ja die HTML-Fortführungen), entsteht kaum etwas anderes als Unsinn. Kurz: Diese Zeichen müssen hier im Quelltext per HTML-Umschrift eingetragen werden, und zwar so: gt; (= greater than), lt; (= less than) und amp; (= ampersand), jeweils eingeleitet durch ein: & Analog zum vorher Gesagten wurde für die Wiedergabe, für das "Eingabeergebnis" der Zahlen-Codes vorgegangen, die in der Kolumne "ASCII/OEM ... Eingabe Zahlenblock: Alt ohne 0" angegeben sind. Es wurden also, wiederum abgesehen von >, < und &, die Endergebnisse nur mit Alt/Zahlenblock und nur mit den unter "ASCII/OEM (Codeseite 850) Eingabe Zahlenblock" angegebenen Zahlen-Codes erreicht. War in den Ergebnisspalten (den letzten beiden Spalten) keine Eingabe möglich, steht "nein". Wo "(?)" hinzugefügt wurde, heißt das, daß in der Praxis die Taste oft fehlt oder daß, wie beim Euro, das Zeichen weitverbreitet zur Verfügung steht, nur meine Tastaturen bringen es eben nicht. Generell bedeutet "nein": 1. Existiert nicht, so in den Code-Kolumnen; 2. geht mit dem Schreibfeld nicht, so in der Kolumne "ANSI ("Web ASCII") Eingabe"; 3. geht mit dem Zahlenblock in der Funktion als "ASCII/OEM-Block" nicht, letzte Kolumne. Was gibt Ihre Anzeige wieder? Hoffentlich Erfreuliches. Niemand wird behaupten wollen, daß das, was die Tabelle an Quellcode- und Anzeige-Wirrwarr wiedergibt, besonderes aufmunternd wirkt. Auch ist dies nur ein kleiner, ein einigermaßen verdaulicher Ausschnitt. Dazu kommt noch der Zeichensatz-Dschungel, den Microsoft seinen Betriebssystemen unter der Anzeige "Zeichentabelle" beigibt (Programme/Zubehör/Zeichentabelle). Das ist samt dem dort vorfindbaren Befehlskuntertbunt eine wirklich köstliche Lektüre. Je nach Schrift- oder Zeichenart (für Text-Homepages ist vor allem die Vorgabe MS-DOS/OEM Codepage 850 und natürlich ANSI wichtig) folgen die Eingabevorschläge seltsamen Pfaden. Die Zeichen können je nach Fall per Tastatur, Klick, Shortcut oder per Alt/Zahlenblock-Eingabe eingefügt werden. Irgendeine Hilfestellung, wann eigentlich was geht oder sinnvoll einzusetzen ist, fehlt. Einem Laien muß das wie eine mysterienvolle Alchemie erscheinen. Wir wollen das Durcheinander hier fürs erste verlassen, aber irgenwann einmal doch noch die Dinge etwas zu sortieren versuchen. Doch für eine gründliche Untersuchung, die gleichzeitig eine Aktualisierung des hier dargestellten Stoffes im Auge hat, und dazu gehören auch die Ausführungen zu den Editoren in Abteilung 1, benötigt man Windows XP, das ich mittlerweile habe. Irgendwann, so ist zu hoffen, kommt dann auch eine Überarbeitung. À l'attaque, mes amis, olé! Tabelle II (Editor: Notepad, Windows XP SP3)
A) Alan Wood’s Unicode Resources (Index: Alan Wood's Web Site)
www.alanwood.net/unicode,
Unicode and Multilingual Support in HTML, Fonts, Web Browsers and Other Applications B) ASCII, ASCII/OEM Codeseite 437 (= "OEM Extended ASCII"), ANSI www.cplusplus.com/doc/ascii.html C) ASCII Codes, HTML Codes, Conversion, References, Control Characters D) HTML Ein Hinweis auf SELFHTML (HTML-Zeichenreferenz) darf nicht fehlen. www.visibone.com, drei ausführliche Listen:
HTML hat meines Wissens bislang nur sieben Musikzeichen. Sie alle gehören einer extrem hohen Nummernebene an (9800) und sind somit wohl nur etwas für neuere Browser. Bei dreien, ♩, ♬ und ♮, muß womöglich an der Größe etwas nachgeholfen werden, hier z.B. mit <big>. Beachte die andere Form der Tastatur-Raute.
Quellcode:
Tempo I<sup>ọ</sup>
Variatione II<sup>ạ</sup>
All<sup><u>tto</u></sup> Ergebnis:
Tempo Iọ
Variatione IIạ
Alltto (= Allegretto) Ein Hilfsmittel bzw. Behelf, den Zeilenabstand gleich zu halten, ist die unten angegebene Programmierung; mit ihr ändert sich aber das Schriftbild (ich experimentiere derzeit, bei Gelegenheit mehr). Achtung: Bei diesen Tricks ergaben sich einst erhebliche Unterschiede zwischen MSIE und Firefox! Der Firefox machte hier, wie so oft, nicht oder nur bedingt mit. Er benötigte u.a. andere size-Zahlen. Doch spätestens seit der Fassung 3.6.2 hat der Firefox Boden gut gemacht. Die Ergebnisse sind in Ordnung, sie gleichen denen des MSIE (6.0, 8.0). Doch im Ganzen gesehen, ist die Gestaltung des Firefox mit HTML (z.B. bei Schrift, Tafeln und Tabellen) dem MSIE unterlegen. Ihm fehlt hier Feinschliff, Ästhetik; ein typisches, logistisches, stures Programmierer-Produkt! Quellcode:
Tempo I<tt><sup><font size="3">ọ</font></sup></tt> Ergebnis:
Gleicher Zeilenabstand (MSIE, Ff spätestens ab Fassung 3.6.2 ) CSS statt HTML: Quellcode: <span style="vertical-align:super; font-size: 80%;">ọ</span> Ergebnis:
Auch mit CSS font-size: 80% verändert sich der Zeilenabstand. Quellcode: <span style="vertical-align:super; font-size: 50%;">ọ</span> Ergebnis:
Mit CSS font-size:50% verändert sich der Zeilenabstand nicht, aber das hochgestellte Zeichen ist zu klein.
Schriftart: <font face="Schriftbezeichnung", color="#xxxxx", size="x"> ... </font>
Schriftgröße: <font size="1" ="2" ="3" ="4" ="5" ="6" ="7"> ... </font>
Schriftgröße 1
Relative Schriftgrößen: <basefont size="x"> ... <font size="+x", "-y"> ... </font></basefont> [<basefont> /]
Beachte: Der MSIE (Stand: Fassung 8.0) benötigt ein </basefont>. Der Ff hingegen
(Stand: Fassung 16.0.1) benötigt es nicht. Beeinflußt wird bei ihm der Text bis zum
nächsten Absatz. Dementsprechend bezeichnet der Ff-Quelltextprüfer ein </basefont>
als "verirrtes End-Tag 'basefont'". In der konsultierten HTML-Literatur werden
über die Anwendung des </basefont> sehr unterschiedliche
Meinungen geäußert. Es ist also Vorsicht angebracht. Denn die ursprüngliche Funktion,
die sich auf eine ganze Seite bezog (gleichgültig ob mit oder ohne Absätze), ist verloren
gegangen.
Der Austausch des <basefont> durch <font> bringt andere Größenverhältnisse (siehe nachfolgend). Warum? Tip: Von welcher Größe geht <font size="+x", ="-y"> aus?. Der bloße Austausch bringt also nicht die gleichen Größenverhältnisse, es ist eine Anpassung erforderlich.
Dieser Text hat die Größe 2,
Größere, kleinere Schrift: <big> ... </big>, <small> ... </small> Hier ist "größer" größer und "kleiner" kleiner geschrieben.
Schreibmaschinenschrift: <tt> ... </tt> Schreibmaschinenschrift (Rasterschrift): Alle Buchstaben haben die gleiche Breite, gleiche Schrittweite. Dies ist dick, unterstrichen, dick und unterstrichen, kursiv. Der Gegensatz dazu heißt Proportionalschrift: dick, unterstrichen, dick und unterstrichen, kursiv.
Auch Schreibmaschinenschrift (?): <code> ... </code> | <kbd> ... </kbd> | <samp> ... </samp>
Prüfen Sie, wie Ihr Browser <code>, <kbd>, <samp> und <tt> darstellt. In www + text wird bei Quellcode-Stellen, wenn nicht anders vermerkt, nur <tt>, also Schreibmaschinenschrift, verwendet. Ein Sonderfall ist <pre>. Dieses Tag schert sich nicht um den Satzverband, es formatiert als Block-Tag die äußere Anlage nach seinem Gusto. Quellcode:
Dies ist wohl <code>Rasterschrift</code> und dies <b><code>dicke
Rasterschrift</code></b>. Ergebnis:
Dies ist wohl Rasterschriftund dies dicke Rasterschrift. Beachte, wo der Punkt sitzt. Setzt man ihn vor </pre>, kommt er zwar an die richtige Stelle, aber er ist dick. Zu </pre> siehe Abteilung "Blockformate u.ä.".
Tiefgestellte Schrift: <sub> ... </sub> Beachte die resultierenden Zeilenabstände. Unter <sub> bzw. über <sup> bleibt der Zeilenabstand bestehen. Doch der Firefox stellt mit <sub> weniger tief, als er mit <sup> hochstellt!
Schrift nicht tiefgestellt.
Hochgestellte Schrift: <sup> ... </sup>
Schrift nicht hochgestellt.
|