===== Schriften nachladen ===== Es kommt immer wieder einmal vor, dass ein Anwender Schriften nutzen möchte. die nicht im Standardumfang von Prescribe enthalten sind, beispielsweise Schriften im Rahmen eines Corporate Designs. Einige der heute am Markt befindlich Drucker verfügen über Festplatten oder zumindest einen Flash-Speicher, auf dem sich solche Schriften ablegen lassen. Diese können dann quasi als druckerresidente Schriften über die entsprechenden Sequenzen in den Ressourcen **RF** und/oder **FC** angesprochen werden. Preiswertere Druckermodelle stellen allerdings solche Mechanismen mangels Speicher nicht zur Verfügung. In diesen Fällen lassen sich aber weitere Schriften durch den Prescribe-Emulator selbst nachladen. \\ \\ === Schriftformat === Voraussetzung dafür ist, dass die Schrift als ladbare Schrift im %%PCL%%-Format vorliegt - vorzugsweise, aber nicht zwingend, als skalierbare Schrift. Im Netz gibt es ein Programm mit dem Namen [[https://github.com/michaelknigge/pclparaphernalia|PCLParaphernalia]] ((Da der Autor von PCLParaphernalia, Chris Hutchinson, leider im Sommer 2018 verstorben ist, ist seine Domain nicht mehr online. Aber Dank Michael Knigge existiert inzwischen ein GitHub-Repository, aus dem PCLParaphernalia weiterhin geladen werden kann.)), das eine TrueType- oder OpenType-Schrift in das richtige Format zum Laden auf einen %%PCL%%-Drucker konvertiert. Bei diesem Verarbeitungsschritt muss auch ein numerischer Schrifttyp festgelegt werden, der später in der %%PCL%%-Sequenz zur Selektion der Schrift verwendet werden muss. Diese zu ladende Datei mit der Schrift darf (!) keine Nummer für die Schrift vergeben - die Verwaltung der Schriftnummern erfolgt durch den Prescribe-Emulator selbst. \\ \\ === Name der Schrift === Die Datei mit der zu ladenden Schrift sollte einen Namen ohne Leerstellen und Sonderzeichen bekommen, der sie eindeutig kennzeichnet. Genau unter diesem Namen wird die Schrift später dann auch aus Prescribe heraus angesprochen. Als Dateiendung ist in jedem Fall '.fnt' zu verwenden. Ein gültiger Dateiname wäre also etwa 'DejaVuSansMono.fnt'. Die Schrift hiese dann 'DejaVuSansMono'. \\ \\ === Speicherort der Schrift === Abhängig davon, ob die Schrift allen Prescribe-Emulatoren oder nur einem ganz spefischen Emulator zur Verfügung gestellt werden soll, wird die Schriftdatei entweder ins Arbeitsverzeichnis des (c4p)-Services oder dort in ein Unterverzeichnis mit der internen Kennung des jeweiligen Emulators kopiert. Das Arbeitsverzeichnis von (c4p) liegt in der Regel im öffentlichen Dokumentordner für Anwendungsdaten. Dort findet sich ein Ordner mit dem Namen 'SPE Systemhaus GmbH' und in diesem wiederum ein Ordner mit dem Namen 'convert4print'. Soll die Schrift für alle Prescribe-Emulatoren verfügbar sein, gehört sie in genau diesen Ordner. Soll nur ein einziger Emulator die Schrift nutzen, ist in diesem Ordner ein neuer Ordner mit dem internen Namen des Emulators, beispielsweise '583BF00D', zu erzeugen (wenn nicht schon vorhanden) und die Schrift dort abzulegen. \\ \\ === Integration der Schrift === Zu ladende Schriften können sowohl in die Ressource **RF** (Selektion über Kommando //FONT// oder //SFNT//) als auch in die Ressource **FC** (Selektion nur über Kommando //SFNT//) eingebunden werden. Der letzte Wert in jeder Gruppe gibt dem Prescribe-Emulator darüber Auskunft, ob es sich um eine druckerresidente Schrift im Zieldrucker oder um eine zu ladende Schrift handelt. Steht als letzter Wert eine 1, handelt es sich um eine zu ladende Schrift. \\ \\ ( FC /* Font by Characteristics */ /* font name, spacing, italic, bold, typeface, download */ ( "Courier", FFixed, FRegular, FRegular, 4099, 0 ), ( "Courier-Bd", FFixed, FRegular, FBold, 4099, 0 ), ( "Courier-It", FFixed, FOblique, FRegular, 4099, 0 ), ( "Courier-BdIt", FFixed, FOblique, FBold, 4099, 0 ), ... /* customer fonts */ ( "Swiss742SWC-Roman", FProp, FRegular, FRegular, 4148, 0 ), ( "Swiss742SWC-Bold", FProp, FRegular, FBold, 4148, 0 ), /* download fonts */ ( "DejaVuSansMono", FFixed, FRegular, FRegular, 8195, 1 ) ), \\ Als Schriftname ist der Dateiname einzusetzen. Die restlichen Parameter für die Schrift müssen auf die für die jeweilige Schrift notwendigen Werte gesetzt werden. Hier im Beispiel ist die Schrift keine Proportionalschrift, sie ist nicht kursiv, sie ist nicht fett und hat bei der Konvertierung (siehe oben) den Schrifttyp 8195 bekommen. Ganz analog ist auch zu verfahren, wenn die Schrift in die Ressource **RF** eingebaut werden soll. \\ \\ === Hinweise === * Der Prescribe-Emulator sucht eine Schrift immer zuerst im Arbeitsverzeichnis von (c4p). Wird er dort nicht fündig, prüft er, ob es ein Unterverzeichnis mit der Kennung des Emulators gibt, und wenn ja, sieht er dort nach. Auf diese Weise kann auch mit einem Mix aus allgemein und sehr speziell verfügbaren Schriften gearbeitet werden. * Die drei Punkte stehen für weitere Gruppen in der Ressource. * Es kann sein, dass an letzter Stelle innerhalb der Gruppe für eine Schrift auch andere Werte als 0 oder 1 auftauchen. Diese Werte haben dann eine andere Bedeutung und dürfen **nicht** für eigene Anpassungen verwendet werden. * Das Programm //PCLParaphernalia// (in der Version 2.7.0.0) erzeugt leider bei manchen TrueType-Schriften einen Header, der nicht von jedem %%PCL%%-Drucker klaglos verstanden wird. In diesen Fällen ist händische Nacharbeit am Header notwendig. Falls die Schrift vom Prescribe-Emulator geladen wird, aber offensichtlich trotzt richtiger %%PCL%%-Sequenz nicht auswählbar scheint, kann das möglicherweise die Ursache sein. //Sprechen Sie uns in so einem Fall bitte an.// \\ \\