[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Jan 2010
    Beiträge
    31

    ucs2 prtf chinesisch drucken

    Hallo,

    ich versuche ein Printerfile zu erstellen, dass die Felder aus einer Datei in CCSID13488 ausdrucken soll. Ich habe in der PRTF die jeweiligen FElder als G mit CSSID(13488) definiert und mache einen crtprtf als *AFPDS.
    Wenn ich dann das pgm ausführe, dann druckt er mir die Texte der FElder die keine chinesischen zeichen sind ganz normal aus, aber die chinesischen Zeichen druckt er mir nicht aus, sondern lässt das Feld leer. Generell kann der Drucker chinesische Zeichen drucken.
    Spreche ich den Drucker falsch an? oder habe ich die Felder falsch definiert? vielleicht unvollständig? denn ich habe keinen Fontname oder Fntchrset angewandt, weil ich den unterschied der beiden nicht wirklich verstehe und weil ich nicht weiß welche parameter ich am besten übergib.

    ich bin für jede Information dankbar.

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    UCS2 kann native gar nicht gedruckt werden.
    Hierfür sind OpenType/TrueType-Fonts im IFS erforderlich, sowie die Angabe des DDS-Schlüsselwortes FONTNAME.
    FONTNAME (Font name) keyword in printer files
    Unterstützt wird das dann allerdings nur von Hosttransform mit PCL5/6-kompatiblen Druckern oder PSF/400 mit PDF-Ausgabe.

    Ansonsten:
    FONT übergibt eine ID, die per WSCST eine Druckerschrift auswählt (nur AFPDS mit SBCS).
    FNTCHRSET gilt nur für originäre IBM-IPDS-Drucker und bestimmt eine Fontressource (WRKFNTRSC).
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  3. #3
    Registriert seit
    Jan 2010
    Beiträge
    31
    Danke für die schnelle und tolle erklärung.

    jetzt habe ich das problem, dass ich nicht weiss wie ich nachschauen kann, ob im IFS die OpenType-trueType Fonts vorhanden sind.
    und mein zweites Problem ist, dass ich nicht weiss welchen Font ich brauche. IBM-Erklärung listet ja einige TrueTypeFonts auf, jedoch sagen mir die namen nichts, so weiss ich nicht mit welchem von denen ich chinesische zeichen drucken kann.

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Stimmt, darüber schweigt sich die Literatur leider aus, bleibt wohl nur auszuprobieren und ggf. Fonts auf dem Markt zu kaufen (ggf. funktionieren auch die Windows-Fonts, wenn du da einen chinsischen hast).

    Hier die Links:
    TrueType and OpenType fonts

    TrueType fonts on OS/400 V5R2
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  5. #5
    Registriert seit
    Jan 2010
    Beiträge
    31
    danke nochmal.
    es hat geklappt.

    PS: hier habe ich gefunden welche TTFs für Chinesisch sind. Google-Ergebnis für http://support.sas.com/documentation/cdl/en/lrcon/61722/HTML/default/images/freetype4a.gif

  6. #6
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Jetzt weiß ich endlich, was dieses SC im Fontnamen heißt (Monotype Sans WT SC).

    Kannst du mal einen Auszug deiner PRTF hier posten ?
    Bisher wusste ich nur in der Theorie, wie es funktioniert. Real habe ich das noch nicht gesehen.
    Das würde auch anderen helfen.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  7. #7
    Registriert seit
    Jan 2010
    Beiträge
    31
    ARTESTF1
    Akontante1 15G 1
    A FONTNAME('Monotype Sans WT SC' +
    A (*POINTSIZE 12.0)) +
    A CCSID(13488 *NOCONVERT)
    ASPACEB(001)
    ASPACEA(001)
    Akonstante2 5G 1
    AFONTNAME('Monotype Sans WT SC' +
    A(*POINTSIZE 12.0)) +
    ACCSID(13488 *NOCONVERT)
    ASPACEA(001)
    A 1'SEITE'
    A 7PAGNBR EDTCDE(Z) SPACEA(1

  8. #8
    Registriert seit
    Jan 2010
    Beiträge
    31
    Hallo Fuerchau,
    gibt es Möglichkeiten, die prtf sprachunabhängig aufzubauen mit unicode utf16.
    also, wenn ich eine datei mit ccsid 1200 habe, einen fähigen Drucker, und eine prtf, die die Inhalte der datei ausgeben soll. Der Inhalt kann sowohl chinesische zeichen als auch arabische enthalten, Schwedisch, Englich,Russisch oder Deutsch sein.
    Wie gehe ich das in meinem programm an?
    gibt es da einen font der die meisten Sprachen abdeckt? oder hilft mir da das cdrcvrt? PS: diese API verstehe ich nicht.

    bin weiterhin für jede Idee oder Information dankbar

  9. #9
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Fonts unterstützen leider kein UTF16 sondern nur UCS2, da max. 65.000 Schriftzeichen in einem Font möglich sind.
    Nur für asiatische Schriften gibt es leider mehrere Varianten.

    In den meisten Unicode-Schriften ist fast alles enthalten.

    In der PRTF kann man aber die Fontnamen auch als Variable übergeben (P-Feld).
    Dadurch kann man natürlich sehr flexibel drucken und je nach Kunden die Schriftart über Parameter einstellen.
    Diese sollten natürlich auch installiert sein.
    Man kann auch eigene Schriften in /QIBM/UserData/OS400/Fonts/TTFonts installieren.

    In den asiatischen Schriften sind die westeuropäischen enthalten.
    Wie es mit baltisch, russisch, kyrillisch usw. aussieht kommt halt auf den jeweiligen Font an.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  10. #10
    Registriert seit
    Jan 2010
    Beiträge
    31
    Danke,

    was ist eigentlich mit dem prtf-keyword UNISCRIPT, kann ich nicht auch damit arbeiten.
    Ich habe bisher nirgends einen Beitrag zu uniscript gesehen?

  11. #11
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Die Doku findest du hier:
    UNISCRIPT (Unicode Text Layout) keyword in printer files

    Im wesentlichen gehts hier nur um Left to Right (die meisten) bzw. Right to Left (hebräisch, arabisch) drucken.

    Allerdings wird's hier tatsächlich kompliziert, da man ja die Spalten-Position normalerweise in Zeichenposition angibt, die "alternative Position" für *RL aber in UOM (also Inch oder CM) angeben muss.
    Zusätzlich gib's da noch das Problem, dass die UOM per OVRPRTF geändert werden kann, so dass konstante Positionierung hier für den Müll sind.
    Man muss dann per API herausfinden, welche aktuelle UOM gilt und seine Positionsberechnungen per Programm und P-Feldern gestalten.

    Also für RL-Ausdrucke würde ich persönlich eigene PRTF's erstellen.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

Similar Threads

  1. Drucken und Heften
    By Karo in forum NEWSboard Drucker
    Antworten: 14
    Letzter Beitrag: 28-07-09, 14:48
  2. Logos Farbig drucken AFP300
    By bechert in forum NEWSboard Drucker
    Antworten: 3
    Letzter Beitrag: 06-01-07, 10:57
  3. Barcode in externe PRTF
    By Jump4738 in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 06-10-06, 15:08
  4. Query's drucken
    By dino in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 03-07-06, 10:44
  5. CA Anzeige drucken
    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
  •