jikji - Dynamisches Font-Rendering unter Linux

Bei der Webentwicklung von grafisch schönen Websites, die gerne mit bestimmten Schriftarten glänzen möchten, haben wir immer wieder feststellen müssen, dass vor allem kleine Schriften (wie sie häufig in Menüs auftreten) auf Linux-Webservern mit PHP schlecht gerendert werden. Der Font-Renderer von Microsoft Windows hingegen schien keine derartigen Probleme zu haben. Das linke Bild zeigt eine True-Type Font, wie man sie via PHP unter Linux rendern kann.


Via PHP gerenderte True-Type Font

Die Ursache liegt in den Zusatzinformationen (sog. Hints), die in einer True-Type Font enthalten sind. Diese Hints können insbesondere aus lizenzrechtlichen Gründen nicht effektiv von freier Software genutzt werden. Wir fanden jedoch heraus, dass die FreeType 2-Engine mit einigen Parametern trotz diesen Mangels an Informationen einen sehr guten Job beim Rendern solcher kleinen Schriften macht. Dummerweise erlaubt PHP keine ordentliche Parametrisierung von FreeType 2.

Daher haben wir jikji entwickelt (Namensgeber ist ein Buch in chinesischer Schriftsprache, welches laut Wikipedia bereits 1377 mit beweglichen Metalllettern gedruckt wurde). Bei unserer Entwicklung handelt es sich um ein in C++ geschriebenes CGI-Skript, welches die FreeType 2-Engine nutzt, um serverseitig Fonts zu rendern, sowie die Nutzung einer internen Font-Datenbank. Es folgt das Rendering des gleichen Schriftzugs wie oben, diesmal aber mit jikji.


Via jikji gerenderte True-Type Font

Gesteuert wird der Prozess über Font Style Sheets, welche Layouting-Informationen und Font-Parameter in einem XML-Format beschreiben. Diese Lösung eignet sich aufgrund der Flexibilität auch für komplizierte Menüs, ist aber für einen Webentwickler dennoch leicht zu benutzen. Wir sind somit nun in der Lage, jede beliebige Schriftart nicht nur irgendwie, sondern vor allem schön zu rendern. Natürlich sollte man damit nicht komplette Seiten erzeugen, aber für Menüs und den punktuellen Einsatz an anderen Orten ist jikji sehr gut geeignet.

Wenn Sie also einmal ein Projekt haben, dass sich durch extravagante Schriftarten auszeichnet, dann beauftragen Sie doch uns mit der Umsetzung und wir setzen dieses schöne Tool für Ihre Website ein.  Natürlich müssen Sie über die nötigen Schriftartlizenzen verfügen und – sofern wir diese selbst noch nicht besitzen – uns diese auch lizenziert zur Verfügung stellen. Aber da unser Schriftfundus stetig wächst, stehen die Chancen inzwischen schon ganz gut, das wir eine bestimmte Schriftart bereits haben. Fragen Sie uns also nach jikji, wir setzen es gern für Sie ein.