Hallo,
ich habe ein Postscript-File, welches mit Ragtime erstellt wurde. Darin gibt es ein Feld, welches bisher immer manuell via Ragtime gefüllt wurde. Danach wird das File ausgedruckt (Passt genau in ein vorbedrucktes Formular).
Nun soll der Schritt des manuellen Ausfüllen des Feldes automatisiert werden. Welche Möglichkeiten habe ich, den Inhalt des Feldes scriptgesteuert einzusetzen? Das Feld lies sich im Ps-code nicht lokalisieren, ich benötige sicher irgendwelche Tools dazu. Tipps?
Mit freundlichen Grüßen
Jens Puruckherr
Hallo,
ich gehe das Problem jetzt andersrum an. Das das Vorgabefile very very simple ist, schreibe ich es schnell nach. Aus 3,4MB wurden so 5 kurze Zeilen. Ist ja nicht schwer.
Den passenden Font habe ich auch installiert, allerdings bekomme ich Problem, wenn ich den einbinden will. Der Font heisst: 'linotype-tradegothic lt'
... /linotype-tradegothic lt findfont 20 scalefont setfont ...
Error: /undefined in lt"
gs scheint über das Leerzeichen zu stolpern. Wie bringe ichs ihm bei, dass das Leerzeichen zum Fontnamen gehört? Einfache und dopplete Anführungszeichen helfen da nicht weiter...
Mit freundlichen Grüßen
Jens Puruckherr
Hi!
Am 2004-05-17 13:31 +0200 schrieb Jens Puruckherr:
Den passenden Font habe ich auch installiert, allerdings bekomme ich Problem, wenn ich den einbinden will. Der Font heisst: 'linotype-tradegothic lt'
... /linotype-tradegothic lt findfont 20 scalefont setfont ...
Error: /undefined in lt"
gs scheint über das Leerzeichen zu stolpern. Wie bringe ichs ihm bei, dass das Leerzeichen zum Fontnamen gehört? Einfache und dopplete Anführungszeichen helfen da nicht weiter...
Normale Strings kapselt man in PostgreSQL in ( ) ein, kannst Du ja mal versuchen. Ansonsten gebe ich Fontnamen immer mit - als Trenner ein; geht linotype-tradegothic-lt nicht?
Nur'n Schuss ins Blaue...
Pitti
lug-dd@schlittermann.de schreibt:
Normale Strings kapselt man in PostgreSQL in ( ) ein, kannst Du ja mal versuchen. Ansonsten gebe ich Fontnamen immer mit - als Trenner ein; geht linotype-tradegothic-lt nicht?
Can't find (or can't open) font file /Resource/Font/linotype-tradegothic-lt
Can't find (or can't open) font file /Resource/Font/linotype-tradegothic lt
(Bevor jetzt jemand auf dumme Gedanken kommt: der Font ist richtig installiert und kann mittels xfontsel auch betrachtet werden)
Nur'n Schuss ins Blaue...
Knapp daneben ;-(
Mit freundlichen Grüßen
Jens Puruckherr
Jens Puruckherr schrieb:
Den passenden Font habe ich auch installiert, allerdings bekomme ich Problem, wenn ich den einbinden will.
Schau mal in den Kopf der pfb-Datei dieses Fonts. Da sollte der richtige Name stehen. AFAIK ist das auch case-sensitive in die (E)PS-Datei zu schreiben (zumindest schadet es nicht).
Stefan
.
lug-dd@schlittermann.de schreibt:
Schau mal in den Kopf der pfb-Datei dieses Fonts. Da sollte der richtige Name stehen.
Der Font besteht nur aus einer ttf-Datei. Diese habe ich mit mkfontdir in meine fonts.dir aufnehmen lassen.Dort stehts jetzt so drinne:
LTe51103.ttf -linotype-TradeGothic LT Extended-medium-r-normal--0-0-0-0-p-0-iso8859-15
AFAIK ist das auch case-sensitive in die (E)PS-Datei zu schreiben (zumindest schadet es nicht).
Stimmt, das macht einen Unterschied. Funktioniert aber immer noch nicht...
Mit freundlichen Grüßen
Jens Puruckherr
Hallo Jens,
wenn Du aber auch keine richtigen PostScript-Fonts benutzen willst :-) Versuche es mit Linotype-TradeGothic-LT.
Wenn nicht: Drucke aus OpenOffice unter Linux mit dem PostScript-Drucker oder unter WinDOS mit Hilfe des Adobe-Druckertreibers eine PS-Datei mit einem Text in dieser Schriftart aus. Bitte kein binaeres PostScript. In der PS-Datei sollte man den Namen dann auch finden. Oder versuche, diese Schriftart als pfb-Datei (also Type-1-Font) zu bekommen.
Stefan
.
lug-dd@schlittermann.de schreibt:
wenn Du aber auch keine richtigen PostScript-Fonts benutzen willst :-) Versuche es mit Linotype-TradeGothic-LT.
Can't find (or can't open) font file /Resource/Font/Linotype-TradeGothic-LT. Can't find (or can't open) font file Linotype-TradeGothic-LT. Substituting font Courier for Linotype-TradeGothic-LT.
Wenn nicht: Drucke aus OpenOffice unter Linux mit dem PostScript-Drucker oder unter WinDOS mit Hilfe des Adobe-Druckertreibers eine PS-Datei mit einem Text in dieser Schriftart aus. Bitte kein binaeres PostScript. In der PS-Datei sollte man den Namen dann auch finden.
Gute Idee. Das resultierende PS hat Einträge wie:
%%BeginResource: font TradeGothicLTHGSet2 %!PS-AdobeFont-1.0-2.0 % Creator: SunTypeTools-TT 1.0 gelf % Original font name: TradeGothicLT .... (TradeGothicLTHGSet2) cvn findfont 50 -50 matrix scale makefont setfont
und ein verwander Font:
%%EndResource %%BeginResource: font TradeGothicLT-BoldExtendedHGSet2 %!PS-AdobeFont-1.0-2.0 % Creator: SunTypeTools-TT 1.0 gelf % Original font name: TradeGothicLT-BoldExtended .... (TradeGothicLT-BoldExtendedHGSet2) cvn findfont 50 -50 matrix scale makefont setfont
Irgendwie nimmt OO hier den originalen Font und baut mächtig dran rum ...
Verwende ich % Original font name in meinem ps, hat er ihn aber trotzdem nicht und ersetzt ihm mit Courier...
Oder versuche, diese Schriftart als pfb-Datei (also Type-1-Font) zu bekommen.
Das kann ich versuchen. Ansonsten gibts eben einen Font, den ich habe. Basta!
Mit freundlichen Grüßen
Jens Puruckherr
Jens Puruckherr wrote:
Gute Idee. Das resultierende PS hat Einträge wie:
%%BeginResource: font TradeGothicLTHGSet2 %!PS-AdobeFont-1.0-2.0 % Creator: SunTypeTools-TT 1.0 gelf % Original font name: TradeGothicLT .... (TradeGothicLTHGSet2) cvn findfont 50 -50 matrix scale makefont setfont
Der Originalfontname interessiert eigentlich überhaupt nicht (OpenOffice scheint den aber zum Zugriff zu benutzen. Das eigentlich interessante steht in der Definition des Fonts etwas weiter hinten: /FontName ...
Irgendwie nimmt OO hier den originalen Font und baut mächtig dran rum ...
der wird nur in den schon erwähnten Postscriptfont-Container eingebaut und für das benutzte encoding umcodiert sonst nichts.
Verwende ich % Original font name in meinem ps, hat er ihn aber trotzdem nicht und ersetzt ihm mit Courier...
Hast du den Font denn auch in deine PS-Datei eingebettet? Wo soll der arme Postscript Interpreter die Fontbeschreibung denn sonst hernehmen. Und zwar brauchst du alles zwischen %%BeginResource: font ... ... %% EndResource und pappst das einfach irgendwo in deine PS Datei (da du dich mit Postscript nicht besonders auskennst, am besten an den Anfang, dann reißt du keine Befehle auseinander ...)
Gruß Uwe
Nachdem wir uns hier alle den Kopf zerbrochen haben, kommt unserer Marketing-Tante und meint, es ist doch nicht so schlimm, wenn ich einen anderen Font benutze. Ich habe ihr dann gegen das Schienbein getreten und ihren Kopf auf die Tischplatte geschlagen. Der Chef hats nicht gesehen, ich habe gesagt, sie ist auf der Treppe ausgerutscht. Selber konnte sie nicht mehr sprechen. Nun habe ich Bedenken, dass sich da vielleicht etwas überreagiert habe. Oder meint ihr, war schon Ok so?
Ich beisse jetzt auch erst mal in die Tischplatte ....
Mit freundlichen Grüßen
Jens Puruckherr
Jens Puruckherr said:
Nachdem wir uns hier alle den Kopf zerbrochen haben, kommt unserer Marketing-Tante und meint, es ist doch nicht so schlimm, wenn ich einen anderen Font benutze. Ich habe ihr dann gegen das Schienbein getreten und ihren Kopf auf die Tischplatte geschlagen. Der Chef hats nicht gesehen, ich habe gesagt, sie ist auf der Treppe ausgerutscht. Selber konnte sie nicht mehr sprechen. Nun habe ich Bedenken, dass sich da vielleicht etwas überreagiert habe. Oder meint ihr, war schon Ok so?
Nein, nein. Aber Du haettest das eher machen sollen, dann haett' man sich die Arbeit gespart...
Ich beisse jetzt auch erst mal in die Tischplatte ....
Guten Appetit.
K.
On Tue, 2004-05-18 at 15:35, Jens Puruckherr wrote:
Nachdem wir uns hier alle den Kopf zerbrochen haben, kommt unserer Marketing-Tante und meint, es ist doch nicht so schlimm, wenn ich einen anderen Font benutze. Ich habe ihr dann gegen das Schienbein getreten und ihren Kopf auf die Tischplatte geschlagen. Der Chef hats nicht gesehen, ich habe gesagt, sie ist auf der Treppe ausgerutscht. Selber konnte sie nicht mehr sprechen. Nun habe ich Bedenken, dass sich da vielleicht etwas überreagiert habe. Oder meint ihr, war schon Ok so?
Bist Du wahnsinnig? Willst Du im Knast landen? Wenn Dein Chef rauskriegt, wie Du firmeneigene Tischplatten behandelst...
Ich beisse jetzt auch erst mal in die Tischplatte ....
Oh Gott.Du solltest Dich freiwillig stellen, dann bekommst Du vielleicht nur 5 Jahre (Einzelzelle beim Windowshelpdesk)...
Eric
Da steht er nun, der arme Tor und ist so schlau als wie zuvor...
Es kommt, wie es kommen musste, es muss nun doch unser ExotenFont sein. Also habe ich mal wie von Uwe empfohlen, die ganze Fontdefinition in mein PS-File übernommen und ein wenig mit gs gespielt. Naja, das Ergebnis war ernüchternd. Darum versuche ich es mal andersrum. Ich nehme das OO-Ps-File und schreibe meine Platzhalter rein.
Hier der relevante Teil aus dem Original OO-Dokument nach dem ganzen Definitions-Kram:
(TradeGothicLT-BoldHGSet2) cvn findfont 58 -58 matrix scale makefont setfont <010101010101010101010101010101010101010101010101010101010101010101010101010101> [16 17 16 17 16 17 16 17 16 17 16 17 16 17 16 17 16 17 16 17 16 17 16 17 16 17 16 17 16 17 16 17 16 17 16 17 16 17 0] xshow 806 2472 moveto <0202030405060202> [32 33 29 30 41 30 32 0] xshow 162 2542 moveto <010101010101010101010101010101010101010101010101010101010101010101010101010101 01010101010101> [16 17 16 17 16 17 16 17 16 17 16 17 16 17 16 17 16 17 16 17 16 17 16 17 16 17 16 17 16 17 16 17 16 17 16 17 16 17 16 17 16 17 16 17 16 0] xshow 162 2613 moveto <010101010101010101010101010101010101010101010101010101010101010101010101010101> [16 17 16 17 16 17 16 17 16 17 16 17 16 17 16 17 16 17 16 17 16 17 16 17 16 17 16 17 16 17 16 17 16 17 16 17 16 17 0] xshow 806 2613 moveto <02020708030802020101010101010101010101010101010101010101010202090A030B0202> [32 33 29 29 30 29 33 33 17 16 17 16 17 16 17 16 17 16 17 16 17 16 17 16 17 16 17 16 17 32 32 29 27 29 19 33 0] xshow showpage
Ich staune schon mal, dass 4 movetos gemacht werden, wo ich doch nur 3 Wörter ausgebe, naja. Die 3 Wörte sind Platzhalter, die von einer Applikation dynamisch erstetz werden sollen. Bisher habe ich das so gemacht:
%! /Helvetica findfont 20 scalefont setfont 292 282 moveto (##kunu##) show 292 300 moveto (##name##) show 292 318 moveto (##gsnr##) show showpage
Leider geht das auch wieder nicht. Wenn ich die tollen Zahlenkolonnen mit meinem Kram ersetze wird einfach gar nix mehr angezeigt. Nur eine weisse Seite ...
Vielleicht bin ich auch komplett auf dem falschen Weg, letztenendlich will ich von einer interen Webanwendung ein paar Wörte in ein vorgedrucktes Formular schreiben (mit PHP). Es ist noch eine reichliche Woche Zeit.
Mit freundlichen Grüßen
Jens Puruckherr
Am Mittwoch, 2. Juni 2004 11:20 schrieb Jens Puruckherr:
Leider geht das auch wieder nicht. Wenn ich die tollen Zahlenkolonnen mit meinem Kram ersetze wird einfach gar nix mehr angezeigt. Nur eine weisse Seite ...
Das ersetzen geht doch. Zumindest hier. Schmeis die Zahlen und das xshow raus und dein Text rein. Zum Beispiel:
806 2613 moveto <02020708030802020101010101010101010101010101010101010101010202090A030B0202
[32 33 29 29 30 29 33 33 17 16 17 16 17 16 17 16 17 16 17 16 17 16 17 16
17 16 17 16 17 32 32 29 27 29 19 33 0] xshow showpage
806 2613 moveto (mal was anderes) show showpage
Hier der Link zum Buch "Thinking in Postscript" http://www.rightbrain.com/download/books/ThinkingInPostScript.pdf
Hier noch zwei praktische Links zum Thema. http://genome.imim.es/software/gfftools/gff2ps_docs/visualizing/ http://www.cs.indiana.edu/docproject/programming/postscript/postscript.html
Viel Spaß beim Fummeln wünscht Jens, der lieber die Finger vom Basteln in ps-files lässt
lug-dd@schlittermann.de schreibt:
Das ersetzen geht doch. Zumindest hier. Schmeis die Zahlen und das xshow raus und dein Text rein. Zum Beispiel:
Hier mein Original OO-File welches als Vorlage dient: http://pummel.de/oo_orig.ps gs zeigt nach der Ersetzung nur eine weisse Seite an.
Ok, dann also mit richtige PS-Fonts. Alos habe ich mir das Tool ttf2pt1 besorgt, welches aus meinen ttf pfa, pfb und afm - Files macht. Dummerweise will gs diese auch nocht nicht wissen, mkfontfir nimmt diese neuen Dateien einfach nicht ins fonts.dir auf. Na, ich schaue noch.
Danke für die Links...ich guck.
Viel Spaß beim Fummeln wünscht Jens, der lieber die Finger vom Basteln in ps-files lässt
Danke von Jens, der auch lieber wo anders fummeln würde
So, damit ihr auch was davon habt, hier die Auflösung des Rätsels (eine 8.0er Suse, die Pfade können abweichen)
Also, die gewünschten (kommerziellen) Fonts lagen als TrueType (ttf) bereit. Dann gehe man nach /usr/share/ghostscript/fonts oder wo `gs -h` auch meint, dass es seine Schriften sucht und mache ein beherztes:
1. /usr/local/bin/ttf2pt1 -aFb <fontfile.ttf > <neuer Name> z.B: /usr/local/bin/ttf2pt1 -aFb /usr/lib/X11/fonts/truetype/LTe50539.ttf tradegothic2 (ttf2pt1 musste erst installiert werden)
2. ' type1inst' eingeben. (musste vorher als Paket installiert werden) Dabei entsteht eine Fontmap- Datei im Verzeichnis
3. Den Inhalt der Fontmap-Datei (beziehungsweise die relevanten Zeilen, die sich auf unseren neuen Font beziehen) an die /usr/share/ghostscript/<version>/lib/Fontmap.GS hinten dranhängen.
Schon erkennt gs den neuen Font und wir sind Glücklich :-))
Danke für eure starken Nerven!
Mit freundlichen Grüßen
Jens Puruckherr
Jens Puruckherr wrote:
Der Font besteht nur aus einer ttf-Datei. Diese habe ich mit mkfontdir in meine fonts.dir aufnehmen lassen.Dort stehts jetzt so drinne:
LTe51103.ttf -linotype-TradeGothic LT Extended-medium-r-normal--0-0-0-0-p-0-iso8859-15
1. ist hier ein Zeilenumbruch und der Font heißt also richtig: TradeGothic LT Extended 2. hast du damit immer noch nicht den Postscriptnamen.
In einer Postscriptdatei kann kein TTF-Font direkt benutzt werden -- er muß in ein Postscriptkonstrukt gekapselt sein (ich weiß jetzt gerade nicht genau wie das heißt; irgendwas mit type42 oder so). Diese Kapsel enthält dann genau den Postscriptnamen, den du nachher zum Aufrufen brauchst. Probier mal ttf2pt1 http://ttf2pt1.sourceforge.net/
Gruß Uwe
lug-dd@mailman.schlittermann.de