AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi PostScript-Druck Helvetica unterstrichen - wie?
Thema durchsuchen
Ansicht
Themen-Optionen

PostScript-Druck Helvetica unterstrichen - wie?

Ein Thema von s-off · begonnen am 21. Jun 2007 · letzter Beitrag vom 26. Jun 2007
Antwort Antwort
s-off
(Gast)

n/a Beiträge
 
#1

PostScript-Druck Helvetica unterstrichen - wie?

  Alt 21. Jun 2007, 15:11
Hallo,

ich ordne Druckfragen jetzt einfach mal in den Multimediabereich ein; sollte ich hier falsch liegen, bitte bescheid sagen.

Also, folgendes Problem.

Ich stelle gerade unser Drucksystem um, und zwar von PCL auf PostScript.
Unter PCL haben wir schön mit der Schriftart UNIVERS gearbeitet - hier konnte man locker mit PCL-Befehlen den Fettdruck ein- und ausschalten.

Das Pendant zu UNIVERS heisst unter PostScript HELVETICA. Hier ist die Umstellung der Schriftattribute nicht so einfach, sprich hier muss ich den Font direkt mit dem Attribut aufrufen, bspw. so für Fettdruck:
Helvetica-Bold findfont Tja, für den Fettdruck funktioniert das so auch schön; auch Kursivdruck bekomme ich mit
Helvetica-Oblique findfont bestens hin.

Nur beim unterstreichen haperts;
Helvetica-Underline findfont funktioniert leider nicht. Der Interpreter meckert an, dass er diesen Schriftstil nicht finden kann und ersetzt ihn plump durch HELVETICA.

Weiss einfach nicht mehr weiter.
  Mit Zitat antworten Zitat
Benutzerbild von Flocke
Flocke

Registriert seit: 9. Jun 2005
Ort: Unna
1.172 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#2

Re: PostScript-Druck Helvetica unterstrichen - wie?

  Alt 21. Jun 2007, 15:41
Ich kenne mich mit PostScript jetzt nicht 100%-ig aus, aber Unterstrichen ist auf jeden Fall nicht die Eigenschaft einer Schriftart - du erwartest dabei ja auch nicht wirklich ein anderes Schriftbild. Statt dessen ist in jeder Type-1-Schriftart normalerweise die Position und Dicke des Unterstrichs angegeben. Es sollte also entweder die Möglichkeit geben, Unterstreichung ein- und auszuschalten oder du musst den Strich tatsächlich von Hand zeichnen.

Vielleicht druckst du einfach einmal unterstrichenen Text über einen Postscript-Druckertreiber in eine Datei und siehst dir dann an, wie die es machen.
Volker
Besucht meine Garage
Aktuell: RtfLabel 1.3d, PrintToFile 1.4
  Mit Zitat antworten Zitat
s-off
(Gast)

n/a Beiträge
 
#3

Re: PostScript-Druck Helvetica unterstrichen - wie?

  Alt 22. Jun 2007, 08:01
Huhu,

danke für die Antwort.
Habe leider nichts gefunden, was den Fettdruck dynamisch ein- bzw. ausschalten kann.

Zeichne den Unterstrich nun selber.
  Mit Zitat antworten Zitat
kalmi01
(Gast)

n/a Beiträge
 
#4

Re: PostScript-Druck Helvetica unterstrichen - wie?

  Alt 22. Jun 2007, 13:13
Zitat:
Habe leider nichts gefunden, was den Fettdruck dynamisch ein- bzw. ausschalten kann.
gibt es auch nicht, da der von Dir gewünschte Font ja erst zur Laufzeit generiert wird.
Was Du machen kannst wäre:
Delphi-Quellcode:
/Normal /Helvetica findfont 12 scalefont def
/Fett /Helvetica-Bold findfont 12 scalefont def

10 10 moveto
Normal setfont (Dies ist ein ) show
Fett setfont (fetter ) show
Normal setfont (Text) show
[delphi]

Zitat:
Zeichne den Unterstrich nun selber.
So sieht es die PS-Font-Machinerie auch vor.
Es gibt normalerweise keine unterstrichenen Zeichen.
Die Font-Machinerie liefert lediglich die Position der Baseline, sowie die Strichstärke für Underline.
Malen sollst Du selber.
  Mit Zitat antworten Zitat
s-off
(Gast)

n/a Beiträge
 
#5

Re: PostScript-Druck Helvetica unterstrichen - wie?

  Alt 22. Jun 2007, 15:14
Hi,

Zitat von kalmi01:
So sieht es die PS-Font-Machinerie auch vor.
ist mir dann nach einiger Sucherei auch plausibel geworden.

Mache es nun so, dass ich mir in meiner Textdruck-Funktion standardmässig den Start- und den Endpunkt des Textes merke.
Dann hole ich mir die benötigten Infos aus der Schriftart, also die Größe der Schrift sowie Position und Stärke des Unterstrichs, passe die Y-Koordinate an und zeichne den Strich drunter; funktioniert super

Das mit dem dynamischen Ein- und Ausschalten der Attribute war unter PCL allerdings schon schön. Einmal Schriftart aktivieren, und bequem für jedes Zeichen fett oder nicht fett, wenn gewünscht.
  Mit Zitat antworten Zitat
kalmi01
(Gast)

n/a Beiträge
 
#6

Re: PostScript-Druck Helvetica unterstrichen - wie?

  Alt 22. Jun 2007, 15:36
Zitat von s-off:
Mache es nun so, dass ich mir in meiner Textdruck-Funktion standardmässig den Start- und den Endpunkt des Textes merke.
Ich weiss nicht wo Du das machst, kannste aber direkt in PostScript.
currentpoint gibt die aktuelle x + y Koordinate auf dem Stack zurück.

Könntest also in Deinem PS-Code die Startkoordinaten merken
Delphi-Quellcode:
/Xs 10 def
/Ys 10 def
dann mit show den text ausgeben und mit
Delphi-Quellcode:
currentpoint
/Xe exch def
/Ye exch def

Xs Ys moveto
Xe Ye linteo
stroke
Endkoordinate holen und Strich zeichnen.
Natürlich vorher die Strichstärke gemäss Font-Machinerie und aktueller Skalierung gesetzt.

Das geht natürlich noch eleganter und kompakter, aber es sollen ja auch "nicht UPN"-ler verstehen

Zitat:
Das mit dem dynamischen Ein- und Ausschalten der Attribute war unter PCL allerdings schon schön
PCL ist ja auch eine Seitenbeschreibungssprache.
Postscript hingegen ist eine vollständige, ausgewachsene Programmiersprache, mit ausgefeilten Möglichkeiten zur Seitenbeschreibung.
Was in PCL nich drin ist, ist halt nicht drin !
In PostScript kann man sich Fehlendes auch selbst programmieren.
  Mit Zitat antworten Zitat
s-off
(Gast)

n/a Beiträge
 
#7

Re: PostScript-Druck Helvetica unterstrichen - wie?

  Alt 26. Jun 2007, 09:39
Hi,

danke nochmal für Deine Antwort; genau das ist der Weg, den ich gehe.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:35 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz