PDA

View Full Version : Ungarische Zeichen



Andreas Herzfeldt
14-06-05, 16:53
Guten abend, ich habe Probleme mit dem drucken von ungarischen Sonderzeichen. Muß ich eine Sekundärsprache installieren, oder reicht es aus in der Druckerbeschreibung den Zeichensatz 959/870 einzutragen und den HP-Drucker auf den Zeichensatz 852 umzustellen. Trotzdem druckt er teilweise nur schrottige Zeichen aus !

Igendjemand eine Idee ?

Andreas

Fuerchau
14-06-05, 16:59
Die Sekundärsprache hat damit nix zu tun.
Wie immer gilt: Schrott rein, Schrott raus !

Kannst du sicher sein, dass die Quelldaten auch ungarisch sind ?
Der Spool muss zusätzlich mit CHRID(959) erstellt werden !

Andreas Herzfeldt
16-06-05, 09:07
Hallo Fuerchau,

als ich habe jetzt über MOCHA die Sache so hinbekommen, daß in Verbindung mit dem Windows Ungarisch/Windows Ungarisch Keyboard + einer Windowsschriftart die den Latin-2 kennt die Eingaben und Anzeigen am PC ok sind. Wie kann ich jetzt eine Druckerumsetzung mittles WSCST bauen, der mir z. B. den HEX Wert 273 FA (3 hochgestellt) in 870 9A (kleines l durchgestrichen) umsetzt ?

Andreas

Andreas Herzfeldt
16-06-05, 10:35
Habe einen anderen Lösungsweg gefunden : Da wir noch über den SNA-Server drucken und dieser bei uns auch unter W2K läuft, kann ich dort entsprechend den Font umsetzen. Jetzt malt der Drucker mit dem Windows Font die fehlenden Zeichen !

Andreas

Fuerchau
16-06-05, 10:35
Die Frage stellt sich nur indirekt !
Das Problem sind die CCSID's des Devices, des Job's und der Datenbank.

Wenn die Datenbank CCSID 273 enthält, kann laut Definition kein Ungarisch reinkommen, was aber in der Folge nichts macht.
Du musst sicherstellen, dass zwischen Device (DSPDEVD), Job und Datenbank KEINE Umsetzung passiert (bei anderen funktionierts ja auch).
CA kann eine DEVD erstellen, die dem Tastaturcode entspricht. Bei Mocha weiß ich nicht ob das passiert, schau per DSPDEVD welche Tastatur und Zeichen-ID generiert wurde.

Wenn dann keine Umsetzung erfolgt, müsste das Zeichen auch als X'9A' in deiner DB ankommen. Der Rest ist dann einfach: Die Spool mit ungarisch erstellen (CHRID), im WSCST eine Escapesequenz für Codepage 852.

Andreas Herzfeldt
20-06-05, 06:54
Hallo Furechau, nun habe ich mir diverse WSCST - Definitionen angeschaut -> toll. Nur wo finde ich ein Beispiel oder Beschreibung für den Syntax einer Escapesequenz um aus Codepage 273 FA eine Umsetzung für Codepage 870 9A zu erstellen !

Andreas

Fuerchau
20-06-05, 08:57
Hallo Andreas,
du hast mich falsch verstanden, aber seis drum.
Im WSCST gibt es mehrere Einträge:

CODEPAGE
Mittels dieser ESC wird die Umschaltung der CP im Drucker durchgeführt.
: CODEPAGE
CODEPAGE= 850
DATA ='1B28313255'X.

Du musst nur die passende für 852 ermitteln und im WSCST eintragen.

Alles was du brauchst, findest du hier:
http://publib.boulder.ibm.com/infocenter/iseries/v5r3/ic2924/books/sc415605.pdf

Mittels DFTASCCP kannst du eine generelle Umschaltung auf CP852 erreichen.
Eine Umsetzung von 273 nach 870 erfolgt nicht beim Drucken, sondern eine Übersetzung von EBCDIC nach ASCII. Sollte die Standardtabelle nicht reichen, musst du eine eigene EBCASC-Tabelle ins WSCST stellen.

Da aber andere bereits SOnderzeichen drucken (wenn es der Drucker kann), müsste es auch bei dir klappen.

raff
30-06-05, 11:37
Also mit PC-850 kommt man nicht weit (Multilingual 12U - kein osteurop Zeichensatz!), wenn schon, dann würde ich auf PC-858 den Drucker umschalten, da wenigstens das Euro-Zeichen dabei ist. Um die osteurop. Zeichen darstellen zu können bräuchte man PC-852 = 17U Zeichensatz, wie in der Antwort von FEUERCHAU. WSCST wird nicht benötigt, wenn die Spooldatei
z.B.:
Zeichen-ID:
Grafikzeichensatz . . . . . . . . . : 959
Zeichenumsetztabelle . . . . . . . . : 870
und die Outq folgendermassen angelegt wird:

CRTOUTQ OUTQ(QUSRSYS/PRTHPTEST)
RMTSYS(*INTNETADR)
RMTPRTQ('PASS')
CNNTYPE(*IP)
DESTTYPE(*OTHER)
MFRTYPMDL(*HP5)
INTNETADR('192.168.xxx.xxx')
DESTOPT('XAIX')
SEPPAGE(*NO)
TEXT('Testoutq für HP-Drucker')

Funktioniert bei mir einwandfrei. Das OS400 konvertiert 0870 EBCDIC auf 17U PC852 für HP PCL5 Druckerdatenstrom und wählt auch eine 17U Schriftart aus (über PCL5 Befehl). WSCST ist nicht nötig.

raff
30-06-05, 11:39
Also mit PC-850 kommt man nicht weit (Multilingual 12U - kein osteurop Zeichensatz!), wenn schon, dann würde ich auf PC-858 den Drucker umschalten, da wenigstens das Euro-Zeichen dabei ist. Um die osteurop. Zeichen darstellen zu können bräuchte man PC-852 = 17U Zeichensatz, wie in der Antwort von FEUERCHAU. WSCST wird nicht benötigt, wenn die Spooldatei
z.B.:
Zeichen-ID:
Grafikzeichensatz . . . . . . . . . : 959
Zeichenumsetztabelle . . . . . . . . : 870
und die Outq folgendermassen angelegt wird:

CRTOUTQ OUTQ(QUSRSYS/PRTHPTEST)
RMTSYS(*INTNETADR)
RMTPRTQ('PASS')
CNNTYPE(*IP)
DESTTYPE(*OTHER)
MFRTYPMDL(*HP5)
INTNETADR('192.168.xxx.xxx')
DESTOPT('XAIX')
SEPPAGE(*NO)
TEXT('Testoutq für HP-Drucker')

Funktioniert bei mir einwandfrei. Das OS400 konvertiert 0870 EBCDIC auf 17U PC852 für HP PCL5 Druckerdatenstrom und wählt auch eine 17U Schriftart aus (über PCL5 Befehl). WSCST ist nicht nötig.