Richtige Libraries

Die Fontlibraries bestehen aus drei Teilen. Am Anfang der Library steht der Library-Kopf, dann kommt das Library-Directory und am Schluß die einzelnen Module.

Der Library-Kopf besteht aus zwei 32-Bit-Worten (Langworten). Das erste ist die ``magic number'', die aus den vier Buchstaben ``FLIB'' besteht. Danach kommt die Directory-Größe. Sie muß nicht unbedingt gleich der Anzahl der Module der Library sein. Es können auch Directory-Einträge als unbelegt gekennzeichnet werden.

Das Directory der Library besteht aus den einzelnen Directory-Einträgen. Die Anzahl wurde im zweiten Langwort festgelegt. Ein Directory-Eintrag sieht folgendermaßen aus: struct new_flib_dirent char mname[22]; /* module name */ unsigned short checksum; /* checksum */ long size; /* size in bytes */ long where; /* position */ ; Wobei mname der Modulname, checksum die Prüfsumme, size die Größe des Moduls und where die Position des Moduls innerhalb der Library ist. Wenn where gleich Null ist, so ist der Directory-Eintrag unbelegt.

Bei all diese Zahlangaben ist die Byte-Reihenfolge zu beachten. Verwendet wird das Format der 680x0 Prozessoren. Also zuerst immer das ``low significant byte'' und dann das ``high significant byte''. Die Ausgaberoutinen des Flib-Programms sind so geschrieben, daß sie auch auf anderen Prozessoren das geforderte Format erzeugen und lesen.

Der dritte und letzte (größte) Teil der Library sind die einzelnen Module, die einfach hintereinandergelegt sind.