-
Leider ist es nicht so, wie du dir das vorgestellt hast.
Man kann in einer PRTF keine gemischten Zeichendaten ausgeben.
Der Zeichensatz wird durch die CHRID der PRTF bestimmt (CRTPRTF, OVRPRTF).
So lange man da nichts tut, gilt der Standard *DEV, also der Drucker entscheidet.
Möchtest du also kyrillisch drucken, kann das nur mit der gesamten PRTF gehen, nicht für einzelne Felder.
Die etwas schwierigere Variante ist Hosttransform mit AFPDS und dem Schlüsselwort FONTNAME.
Hier kann ein TrueType-Font gewählt werden (der vorher installiert werden muss), der wiederum auch Unicodefähig sein muss.
Dann wird dieser Font als Bitmap an den Drucker gesendet.
Soweit die Theorie, ausprobiert habe ich das noch nicht.
FONTNAME (Font name) keyword in printer files
Die CHRID für kyrillisch müsste 960 880 sein.
System i basic printing: CHRID values supported
-
Hallo Baldur,
danke für die Tipps.
Aber irgendwie krieg ichs nicht hin.
Ich habe versucht das *SCS Printerfile per CHGPRTF umzustellen auf CHRID(960 880) und CHRID(1150 1025).
Mein Feld ZPBEZ1 im Printerfile ist 30A und ich fülle es mit
Code:
eval ZPBEZ1=%char(azbzru)
AZBZRU ist wie oben schon geschrieben 200G mit CCSID 13488.
Wenn ich mir im Debugger das Feld ZPBEZ1 nach meinem eval oben angucke, sieht es so aus:
Code:
> EVAL ZPBEZ1 :x
00000 3F3F3F3F 3F3F3F3F 3F403F3F 3F3F3F3F - ......... ......
00010 40404040 40404040 40404040 4040.... - ..
Das sieht für mich aus, als würde der %char nicht funktionieren.
Ich brauch den aber, ansonsten krieg ich die Graphic Daten ja nicht in das Alpha Feld.
Das Problem scheint mit der CCSID meines Jobs zusammenzuhängen.
%char scheint diese für die Konvertierung zu nutzen.
Standardmässig hab ich:
ID des codierten Zeichensatzes (CCSID) . . . . . : 65535
Standard-ID des codierten Zeichensatzes . . . . . : 273
Wenn ich jetzt ein CHGJOB CCSID(1025) oder 880 mache, sieht der %char schon ganz anders aus.
Code:
> EVAL ZPBEZ1 :x
00000 EDDBFABC EBFBDAEF CC40BECB CEEEEADE - Òû³¯ÔÛ¹Õ¦ ´ôóÓ²ú
00010 40404040 40404040 40404040 4040.... - ..
Ein einfaches Eval im Debugger sagt mir:
Code:
ZPBEZ1 = 'VOZDUSNIJ FIL'TR '
Was ist eigentlich haben will ist ein: "ВОЗДУШНЫЙ ФИЛЬТР" (Fängt mit nem kyrillischen "BO3" an und hört mit "bTP" auf, ich denk das Forum kriegts hin.)
Auf dem Drucker kommt dann folgendes raus: http://bit.ly/UDzjQy
Anzahl Zeichen stimmt, Zeichensatz irgendwie nicht.
Könnte das am TRANSFORM(*NO) USRDTATFM(*LIBL/TSPRWPR) MFRTYPMDL(*HP6) der OUTQ liegen?
===
*AFPDS hab ich auch versucht, das funktioniert aber noch weniger.
Haben wir hier noch nie genutzt, scheint aber sinnvoll zu sein.
Ich kann jetzt zwar PDF drucken, Barcodes und Overlays machen, aber mit FONTNAME funktionierts dann nicht.
Der Spool wird erstellt, geht kurz auf SND und dann in HLD.
Ich hatte die OUTQUEUE mit TRANSFORM(*YES) MFRTYPMDL(*HP6) eingerichtet.
Code:
* POSITIONEN
A R D632102
A SPACEB(002)
A ZPPOSI 3S 0O 2
A EDTCDE(Z)
A SPACEB(001)
A ZPARTN 15A O +2
A ZPBEZ1 40G O +1FONTNAME('Monotype Sans WT' +
A (*POINTSIZE 10.0)) +
A CCSID(13488 *NOCONVERT)
A ZPZTEU 11A O +1
A ZPHELA 3A O +1
A ZPMENG 8S O +7
A ZPNGEW 8S 2O 85
A ZPTGEW 8S 2O 97
A ZPLTNO 10A O +4
A ZPPANO 10A O +2
A ZPBEZ2 30A O 23
A SPACEB(001)
A ZPZTRU 11A O +1
Im Programm dann einfach:
Das Zielfeld ist ja jetzt auch Graphic.
Wenn ich mir den Spool angucke, sind da auch nicht anzeigbare Zeichen drin.
Drucken geht dann halt nicht.
Ich glaube, die *SCS Methode verspricht eher Erfolg.
Gruß
Martin
-
Hier laufen verschiedene Sachen zusammen.
%CHAR wandelt natürlich falls möglich in die Job-CCSID um. Steht diese auf *HEX wird die Default-CCSID verwendet.
Fontname wird soweit ich nachgelesen habe nur mit AFPDS, Hosttransform bzw. IPDS-Druckern mit Rasterarchitektur oder PDF-Ausgabe unterstützt.
Die Fonts müssen aber korrekt installiert und vorhanden sein.
Bei der Umwandlung als *SCS werden dir ggf. Warnhinweise ausgegeben wenn Schlüsselworte ignoriert werden.
Klappt auf diesem Wege z.B. die PDF-Ausgabe und diese ist auch dann korrekt zu lesen, sollte es mit dem Drucker auch klappen.
Um mittels Unicode (CCSID 13488) ohne Fontname zu drucken ist *CONVERT erforderlich, da ja der Unicode in die Ziel-CCSID (CHRID) konvertiert werden muss.
Um also zur Laufzeit nicht noch andere Probleme zu bekommen (CCSID Kyrillisch ist nicht mit der CCSID der Datenbank kompatibel und beim Lesen/Open gibts CPF-Abbrüche), kann der Job also passend zur DB auf 273 stehen.
Die CHRID des Spools sollte dann auf Kyrillisch überschrieben werden.
Durch den Unicode werden die Daten korrekt durchgereicht.
Dass du im Debugger die kyrillischen Zeichen nicht lesen kannst ist ganz normal.
Wenn du dir dann aber den Inhalt mit Hex "eval Field:x" ansiehst kannst du den 2-Byte-Code prüfen.
Hierzu kannst du dir die "Zeichentabelle" aus Windows heranziehen. In der wählst du eine Unicode-Schrift aus (z.B. Arial).
In der erweiterten Ansicht kannst du den Zeichensatz für Kyrillisch auswählen.
Beim anclicken eines Zeichens wird dir in der Statuszeile der Hexcode "U+XXXX" angzeigt der mit deinen Zeichen im Programm übereinstimmen sollte.
Nun kommt es noch auf den Drucker an.
Ohne Hosttransform kann Fontname nicht funktionieren da der Font als Grafik gesendet wird (wie in Windows).
Über die CHRID wird eine ESC-Sequenz für die kyrillische Codepage gesendet.
Das heißt nun schlussendlich, dass der Drucker selber einen residenten Schriftsatz für kyrillisch haben muss!
Mittels Hosttransform und Fontname kannst du das ja auch mal ausprobieren.
-
Danke für deine Tipps, aber ich geb auf.
Das hat keinen Sinn hier.
Falls irgendwer das am laufen hat und ein Howto postet, guck ichs mir gerne nochmal an.
Aber nach 1 Woche rumfrickeln hab ich keine Lust mehr auf das Thema.
Gruß
Martin
-
Vielleicht ist das ja so, dass dein Drucker einfach kein kyrillisch kann.
Frag mal den Lieferanten.
Windows-Druck gilt hier nicht, da hier immer grafisch ausgegeben wird (TrueType).
Similar Threads
-
By Karo in forum NEWSboard Drucker
Antworten: 14
Letzter Beitrag: 28-07-09, 14:48
-
By bechert in forum NEWSboard Drucker
Antworten: 3
Letzter Beitrag: 06-01-07, 10:57
-
By dino in forum IBM i Hauptforum
Antworten: 3
Letzter Beitrag: 03-07-06, 10:44
-
By horni in forum NEWSboard Drucker
Antworten: 8
Letzter Beitrag: 29-05-06, 11:32
-
By Joe in forum IBM i Hauptforum
Antworten: 4
Letzter Beitrag: 27-04-06, 08:50
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks