TTF Symbol in Windows – Zahlencodes

Von Walter Riemer

Der Autor stand vor dem Problem, das Zeichen ³ in eine Grafik zu bringen. Paint Shop Pro ermöglicht problemlos das Einsetzen von True Type Fonts, gibt jedoch keine etwa Microsoft Word vergleichbare Hilfestellung für die Auswahl eines Symbols, wie zum Beispiel die folgende:


Über die Systematik dieser Tabelle läßt sich trefflich streiten: Bis zum Ende des 7-Bit-ASCII-Codes (Position (11,3), das heißt Koordinate 11 nach rechts, Koordinate 3 nach unten, alle Koordinaten ab 0 gerechnet) ist alles recht vernünftig („straightforward“). Hier liegen insbesondere die griechischen Buchstaben, meist in engem Zusammenhang zu gleichlautenden lateinischen:

Beispiele einiger Symbole (erste Spalte Font Symbol, zweite der Zahlencode (dezimal), dritte Font Arial):

d           100       d
e           101       e
f           102       f
g           103       g
h          104       h
usw.

x           120       x
y          121       y
z           122       z
{          123       {
|           124       |

}          125       }
~          126       ~
          127       

Ab Zahlencode 128 beginnt der erweiterte  (8-Bit-) Code. Die sicherlich extrem wichtigen Spielkartensymbole (§¨©ª) wie auch die diversen Pfeile (¬­®¯) springen ins Auge, aber so unbedeutende und selten verwendete Symbole wie ³, ¹, £ liegen gut versteckt und überhaupt nicht zusammenhängend.

Um das ³-Zeichen in die Grafik einzufügen, wäre es gut gewesen, den Zahlencode (252) zu kennen, sodaß das Zeichen mit ALT-252 und Auswahl des Symbol-Fonts schreibbar gewesen wäre. Das Zeichen ³ befindet sich auf Position (7,5) in der Word-Tabelle. Nachdem überraschenderweise die Tabelle nicht etwa das Format 16 x 16 oder meinetwegen 32 x 8 hat, sondern 28 x 8, bedurfte es einiger Denk- und Rechenarbeit, um den vermuteten Zahlencode festzustellen, nämlich unter der Annahme, daß die Tabelle nach aufsteigenden Zahlencodes geordnet sei. Da sich Position (11,3) ~ mit dem Zahlencode 127 habwegs leicht finden ließ, wurde einfach gerechnet: 127 + 2 x 28 - 3 = 180 (zwei Zeilen nach unten, 3 Stellen nach links). Bedauerlicherweise war jedoch 180 das im konkreten Fall gar nicht gewünschte forte-Zeichen ¦ .

Darauf wurde ein einfacher Winword-Text mit etlichen Sonderzeichen in Symbol-Font geschrieben und versucht, aus der Analyse eines Dumps die Zahlencodes für £¤¥¦§¨©ª«¬­®¯°±²³´µ·¹º» zu entnehmen:

18e0  00 18 00 a3  f0 a4 f0 a5  f0 a6 f0 a7  f0 a8 f0 a9  úúú£ð¤ð¥ ð¦ð§ð¨ð©
18f0  f0 aa f0 ab  f0 ac f0 ad  f0 ae f0 af  f0 b0 f0 b1  ðªð«ð¬ð­ ð®ð¯ð°ð±
1900  f0 b2 f0 b3  f0 b4 f0 b5  f0 b6 f0 b7  f0 b9 f0 ba  ð²ð³ð´ðµ ð¶ð·ð¹ðº

Offensichtlich ist jeder Code mit zwei Bytes dargestellt, deren erster ein Zahlencode ist, der von 0xf0 (F0 hex) gefolgt ist. Zum Beispiel gilt für das erste eingegebene Zeichen £ auf Position 18e3 der Zahlencode a3, gefolgt von f0. Diese Zahlencodes scheinen auch tatsächlich der Position der Zeichen in der Word-Auswahltabelle (wie vorstehend abgebildet) zu entsprechen, da sie im Dump aufsteigend angeordnet sind. Nur haben diese Codes leider überhaupt nichts mit den tatsächlichen Zahlencodes der Sonderzeichen zu tun, sondern sind nur Koordinaten in der Auswahltabelle; und die gibt es nur in Word!

Nach einigen Versuchen, die mancherlei lieferten, nur nicht das gesuchte ³-Zeichen (das unglücklicherweise fast ganz am Ende der Zahlencodes liegt!), wurde beschlossen, das Problem systematisch zu lösen. Da das Ergebnis auch anderen Usern nützlich sein mag, wird es hier veröffentlicht (die erste Spalte in jeder Dreier-Kolonne ist das Symbol-Zeichen, dann folgt der Zahlencode, und danach das Arial-Zeichen):

 

Ç         128       Ç
ü          129       ü
é           130       é
â         131       â
ä         132       ä
à          133       à
å         134       å
ç           135       ç
ê           136       ê
ë           137       ë
è           138       è
ï           139       ï
î          140       î
ì          141       ì
Ä         142       Ä
Å         143       Å

É          144       É
æ           145       æ
Æ         146       Æ
ô          147       ô
ö           148       ö
ò           149       ò
û           150       û
ù           151       ù
ÿ          151       ÿ
Ö          153       Ö
Ü         154       Ü
ø           155       ø
£          156       £
Ø          157       Ø
×           158       ×
ƒ          159       ƒ

á           160       á
í          161       í
ó          162       ó
ú           163       ú
ñ           164       ñ
Ñ          165       Ñ
ª         166       ª
º          167       º
¿          168       ¿
®         169       ®
¬         170       ¬
½          171       ½
¼         172       ¼
¡          173       ¡
«        174       «
»          175       »

_          176       _
_             177       _
_
          178       _
¦          179       ¦
¦          180       ¦
Á          181       Á
          182       Â
À         183       À
©         184       ©
¦          185       ¦
¦          186       ¦
+          187       +
+          188       +
¢           189       ¢
¥          190       ¥
+          191       +

 

+          192       +
-           193       -
-           194       -
+          195       +
-          196       -
+          197       +
ã         198       ã
à        199       Ã
+          200       +
Ê         201       +
-          202       -
-          203       -
¦          204       ¦
-          205       -
+          206       +
¤           207       ¹

ð          208       ð
Р        209       Ð
Ê         210       Ê
Ë          211       Ë
È         212       È
i           213       i
Í         214       Í
Π         215       Î
Ï          216       Ï
+          217       +
+          218       +
_          219       _
_          220       _
¦          221       ¦
Ì          222       Ì
_          223       _

Ó         224       Ó
ß          225       ß
Ô         226       Ô
Ò         227       Ò
õ          228       õ
Õ         229       Õ
µ          230       µ
þ          231       þ
Þ         232       Þ
Ú          233       Ú
Û        234       Û
Ù          235       Ù
ý          236       ý
Ý          237       Ý
¯          238       ¯
´          239       ´

­          240       ­
±          241       ±
_          242       _
¾         243       ¾
          244      
§          245       §
÷           246       ÷
¸          247       ¸
°           248       °
¨         248       ¨
·          250       ·
¹          251       ¹
³          252       ³
²          253       ²
_          254       _
            255      

Einige wichtigere Zeichen sind durch Fettschrift hervorgehoben.

Erstaunlicherweise wiederholen sich etliche Zeichen mehrmals, andererseits gibt es auch Lücken (nicht definierte Zeichen).

Sollte jemand darüber Bescheid wissen, wie die „Unsystematik“ in diesen Codes zustandegekommen ist und ob überhaupt eine Logik dahintersteckt, wäre der Autor für eine diesbezügliche Information dankbar!