Symbolbeschreibungen

Schrift- und Symboldateien (SHX) werden aus Symboldefinitionsdateien (SHP) kompiliert. Sie können Symboldefinitionsdateien mit einem Texteditor oder Textverarbeitungsprogramm, das die Speicherung von Dateien im ASCII-Format ermöglicht, erstellen oder modifizieren.

Die Syntax der Symbolbeschreibung ist für jedes Symbol oder Zeichen in der Symboldefinitionsdatei gleich, unabhängig von der Verwendung (Symbol oder Schrift) dieser Symbolbeschreibung. Wird eine Symboldefinitionsdatei als Schriftdatei verwendet, beschreibt der erste Eintrag in der Datei anstatt eines Symbols in der Datei die Schrift selbst. Beschreibt dieser erste Eintrag ein Symbol, wird die Datei als Symboldatei verwendet.

Jede Zeile in einer Symboldefinitionsdatei kann bis zu 128 Zeichen enthalten. Längere Zeilen können nicht kompiliert werden. Das Programm ignoriert Leerzeilen und Text rechts neben einem Semikolon, sodass Sie Kommentare in Symboldefinitionsdateien einbetten können.

Die einzelnen Symbolbeschreibungen bestehen aus einer Kopfzeile, gefolgt von mindestens einer weiteren Zeile mit Spezifikationsbyte, die durch Kommas voneinander getrennt sind und auf 0 enden.

*shapenumber,defbytes,shapenamespecbyte1,specbyte2,specbyte3,...,0

In der folgenden Liste werden die Felder einer Symbolbeschreibung erläutert:

shapenumber

Hierbei handelt es sich um eine in der Datei eindeutige Nummer zwischen 1 und 258 (und bis zu 32768 für Unicode-Schriften), der ein Sternchen (*) vorangestellt ist. In Dateien, die keine Unicode-Schriftdateien sind, werden die Symbolnummern 256, 257 und 258 als Symbolbezeichner Degree_Sign, Plus_or_Minus_Sign und Diameter_Symbol verwendet. Für Unicode-Schriften erscheinen diese Schriftzeichen in den Symbolnummern U+00B0, U+00B1 und U+2205 und sind Teil der „Latin Extended-A“ Teilmenge.

Schriften für Text (Dateien, die Symboldefinitionen für jedes Zeichen enthalten) müssen festgelegte Nummern tragen, die dem Wert jedes Zeichens in ASCII-Code entsprechen; allen anderen Symbolen kann jede beliebige Nummer zugeordnet werden.

defbytes

Dies ist die Anzahl der Datenbyte ( specbytes ), die zur Beschreibung eines Symbols nötig sind, die 0 am Ende eingeschlossen. Die Obergrenze liegt bei 2.000 Byte pro Symbol.

shapename

Dies ist der Name des Symbols. Symbolnamen müssen in Großbuchstaben geschrieben sein, um erkannt zu werden. Namen mit Kleinbuchstaben werden ignoriert und normalerweise zur Beschriftung von Schriftsymboldefinitionen verwendet.

specbyte

Dies ist ein Symbol-Spezifikationsbyte. Jedes Spezifikationsbyte ist ein Code, der entweder Länge und Richtung eines Vektors definiert, oder aber er ist ein Code aus einer Reihe von speziellen Codes. Ein Spezifikationsbyte kann in der Symboldefinitionsdatei entweder als Dezimal- oder als Hexadezimalwert ausgedrückt werden. Wenn das erste Zeichen eines Spezifikationsbytes eine 0 (Null) ist, werden die beiden folgenden Zeichen als Hexadezimalwerte ausgelegt.