HP Laserjet druckt die Umlaute nicht

Von Ausgaben mit der Gra-Engine über Generatoren bis zum Export in diversen Formaten

Moderator: Moderatoren

Antworten
Daniel

HP Laserjet druckt die Umlaute nicht

Beitrag von Daniel »

Hallo

Ein ehemaliges Clipper-Programm läuft nach der Umstellung jetzt als XBase++ Hybrid zufriedenstellend.
Probleme macht nur HP, die erfinden immer mal was neues.

Das Programm druckt via "SET PRINTER TO LPT1"
Nun funktioniert das mit Matrix- und Inkjet-Druckern (auch von HP), aber der HP Laserjet bringt die Umlaute nicht, er schluckt sie ganz einfach.

Ich kann nun schlecht auf Windows-Druck umstellen, denn damit kann ich den grossen Epson-Formular-Matrixdrucker nicht mehr korrekt mit dem eingebauten Fastdraft-Font ansteuern.

Gruss, Daniel
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16508
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Beitrag von Martin Altmann »

Hallo Daniel,
hast Du denn den richtigen Initialisierungsstring an den Drucker gesendet bzw. die richtige Schriftart/Sprache ausgewählt?

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Daniel

Beitrag von Daniel »

Hallo Martin

Danke für die Rückfrage.
Ach so, nee, bisher ging's ohne, die konnten alle deutsch und français. ;)
Ich hab jeweils bloss Anzahl Zeilen, Anfangszeile, Margin gesetzt.
Und die Schriftart auf Grundeinstellung.

Da müsste man dann aber Einstellungen für jeden Drucker machen.
Vielleicht wäre dann doch eine Variante DOS/Epson oder Windows interessanter.
Oder gibt das wohl neue Probleme mit OEM / ANSI Zeichensatz?

Was meint der Fachmann?

Gruss Daniel
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16508
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Beitrag von Martin Altmann »

Hallo Daniel,
wie alt ist denn der Laserdrucker? Ich hatte damals einen HP LJ III, bei dem mußte ich die Sprache/Codepage einstellen.
Aber Du kannst sicherlich auch eine ESC-Sequenz vorneweg senden...
Aber wenn es vorher (Clipper) ging: hast Du mal versucht, mit ConvToOemCP(....) zu arbeiten?

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Rudolf
Programmier-Gott
Programmier-Gott
Beiträge: 1418
Registriert: Mo, 02. Jan 2006 23:03
Wohnort: Salzburg/Österreich
Kontaktdaten:

Beitrag von Rudolf »

Hallo,
probier mal convtooemcp(), hat bei mir geholfen.
Grüsse
Rudolf
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15695
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Beitrag von brandelh »

Hi,

hat der HP PC8 oder Roman8 als Codepage eingestellt ?
DOS-Druck braucht den PC8 Zeichensatz.
Gruß
Hubert
Daniel

Beitrag von Daniel »

Danke, Martin und Rudolf! :)

Der Laserjet ist ein neues Modell, früher mal hatte ich eine Emulation für den HP LJ II - glaube ich - aber das ist sehr, sehr lange her - das wird kaum mehr laufen.
Also, das mit ConvToOemCP() werde ich mal probieren!
Aber wie ist das genau? Win32 verwendet doch ANSI und XBase macht laut Doku "eine automatische Umwandlung" weil die Daten in ASCII / OEM gespeichert sind.
Macht das denn Sinn, diese wieder in OEM umzuwandeln?
Oder von OEM -> ANSI?

Das dauert nun etwas, da das Ding beim Kunden steht.
Mein HP Officejet macht wie alle andern HP Inkjet keine Probleme.
Schon seltsam, solche Differenzen. :?:

Grüsse
Daniel
Benutzeravatar
Rudolf
Programmier-Gott
Programmier-Gott
Beiträge: 1418
Registriert: Mo, 02. Jan 2006 23:03
Wohnort: Salzburg/Österreich
Kontaktdaten:

Beitrag von Rudolf »

Hallo Daniel,
wenns beim selben Programm auf anderen Druckern funktionert, brauchst convtooemcp() nicht versuchen, dann liegt es an den Druckereinstellungen.
Grüsse
Rudolf
Benutzeravatar
Wolfgang Ciriack
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2934
Registriert: Sa, 24. Sep 2005 9:37
Wohnort: Berlin
Hat sich bedankt: 13 Mal
Danksagung erhalten: 34 Mal
Kontaktdaten:

Beitrag von Wolfgang Ciriack »

Dann mach es so wie Hubert sagte, geh mal in das Menu beim Laserjet - falls er eines hat - und stell als Zeichensatz PC8 ein.
Viele Grüße
Wolfgang
Daniel

Beitrag von Daniel »

Hallo alle

danke für eure Antworten!

Dann werd' ich mal versuchen, den Zeichensatz umzustellen.
Darauf hin weist auch die Tatsache, dass er die Umlaute einfach verschluckt, nicht etwas anderes druckt.

Hat das keine unerwünschten Auswirkungen beim drucken aus Word und Excel?

Grüsse
Daniel
Daniel

Hat geklappt!

Beitrag von Daniel »

Rückmeldung:

Zeichensatz umstellen hat gewirkt:
Jetzt druckt auch der HP Laserjet die Umlaute in deutsch und français aus der XBase-Hybrid-Applikation (über LPT1), wie alle andern Drucker auch.

Warum gibt es eigentlich noch diese ollen 7-Bit-Zeichensätze, die keine sprachspezifischen Zeichen annehmen??

Danke für alle Tipps!
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16508
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: Hat geklappt!

Beitrag von Martin Altmann »

Hallo Daniel,
Daniel hat geschrieben:Warum gibt es eigentlich noch diese ollen 7-Bit-Zeichensätze, die keine sprachspezifischen Zeichen annehmen??
im englischen Raum gibt es keine Sonderzeichen und somit keine Notwendigkeit, mit 8Bit unnötig Speicher zu vershwenden. :D

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15695
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Beitrag von brandelh »

Hallo

der Roman8 ist kein 7 Bit Zeichensatz, nur hat er die Umlaute wo anders liegen als der PC8.

PS: Ich habe hier einen Samsung CLP-550N Farbdrucker mit PCLx und PS Unterstützung. Den habe ich per Display auf PC8 eingestellt, er verwendet beim Drucken dennoch den Roman8.

Frage beim Support, warum er sich nicht an die eingestellt Vorgabe hält, da das doch für Dos Ausdrucke wichtig ist ?
Antwort. Keine Ahnung zu DOS Ausdrucken liegen uns keine Infos vor, da dieser diese nicht mehr unterstützt ;)

Mit PCL könnte ich ihn bestimmt umschalten, dummerweise kenne ich diese Codes aber nicht :? Na ja, damit habe ich nun auch bei einfachen Listen einen Grund meine Druckerklasse zu nutzen :D
Gruß
Hubert
Antworten