Unicode-Bereich: Ermittlung der Sprachblöcke des Fonts

Die Idee hinter dem Unicodebereich ist die, alle Zeichen eines Fonts anzuzeigen. Häufig sind dies eine Unmenge von Zeichen. Eine Klassifizierung der einzelnen Code-Zeichen erscheint deshalb sinnvoll. PikaFont nimmt deshalb eine vom Unicode Konsortium (http://unicode.org/) bereitgestellten Datei als Grundlage. Speziell dient dazu die Datei "Scripts_9.0.0.txt". Ein Ausschnitt dieser Datei ist im Folgenden zu sehen:


...
...
...
F950..1F95E  ; Common # So  [15] CROISSANT..PANCAKES
1F980..1F991  ; Common # So  [18] CRAB..SQUID
1F9C0         ; Common # So       CHEESE WEDGE
E0001         ; Common # Cf       LANGUAGE TAG
E0020..E007F  ; Common # Cf  [96] TAG SPACE..CANCEL TAG

# Total code points: 7279

# ================================================

0041..005A    ; Latin # L&  [26] LATIN CAPITAL LETTER A..LATIN CAPITAL LETTER Z
0061..007A    ; Latin # L&  [26] LATIN SMALL LETTER A..LATIN SMALL LETTER Z
00AA          ; Latin # Lo       FEMININE ORDINAL INDICATOR
00BA          ; Latin # Lo       MASCULINE ORDINAL INDICATOR
00C0..00D6    ; Latin # L&  [23] LATIN CAPITAL LETTER A WITH GRAVE..LATIN CAPITAL LETTER O WITH
DIAERESIS
00D8..00F6    ; Latin # L&  [31] LATIN CAPITAL LETTER O WITH STROKE..LATIN SMALL LETTER O WITH
DIAERESIS
...
...
...

Für PikaFont sind die ersten beiden Spalteninformationen von Interesse. Die erste Spalte beschreibt entweder einen Codewert oder einen Codewertbereich für Unicode-Zeichen. Die zweite signifikante Spalte enthält eine Sprachbezeichnung. Im oben zu sehenden Abschnitt sind das "Common" und "Latin". Das sind die Ausgangsdaten für die Anzeigen im Unicode-Bereich von PikaFont.

PikaFont ermittelt nun an Hand dieser Informationen welches Zeichen aus dem Font welcher Sprache zugeordnet ist. Mehrfachzuordnungen eines Codes zu verschiedenen Sprachen sind dabei möglich.

Gleichzeitig werden die Code-Zeichen durch PikaFont in 256er Blöcke aufgeteilt. Damit erhöht sich die Übersicht erneut.

Aufgeklapptes Sprachblockverzeichnis
Beispielabbildung für ein aufgeklapptes Sprachblockverzeichnis

In der oben gezeigten Abbildung enthält der selektierte Font für die Sprache "Cyrillic" sieben Codeblöcke. Der Codeblock 4 enthält laut Festlegung in Pikafont die Zeichen von 4 * 256 bis 4 * 256 + 255 (= 5 * 256 - 1), also die Werte von 1024 ... 1279.