Compart bringt DocBridge® Communication Suite auf den Markt
Markteinführung der DocBridge® Communication Suite: Neue Maßstäbe in Flexibilität und Technologie im Kundenkommunikationsmanagement.
WeiterWerden DocBridge® Mill AFPDS-Dokumente, die von Dritt-Software erstellt wurden, konvertiert, kommt es gelegentlich vor, dass nach Text im Dokument nicht gesucht werden kann oder dass spezielle Zeichen nicht in die gewünschten Zeichen im Zieldokument konvertiert werden können.
Die Ursache dafür ist, dass die Dritt-Software keine Standard IBM GCGIDs benutzte. Um dieses Verhalten zu verstehen, ist etwas Grundlagenwissen über die Präsentation von AFP-Text hilfreich.
Innerhalb von AFP werden zur Darstellung von Zeichen benötigte Fonts durch eine Code-Page sowie einen Font-Zeichensatz definiert:
Bei der Formatierung und Darstellung von Text wird zu jedem Code-Point mittels der Code-Page die GCGID zugeordnet. Anschließend wird die Glyph-Charakterstik im entsprechenden Zeichensatz gelesen und der Text präsentiert.
DocBridge® Mill konvertiert intern alle Text-Items in Unicode, deshalb müssen die Unicode-Werte für alle Code-Points, die im Text vorhanden sind, bekannt sein. Falls die benutzen GCGID-Namen nicht mit den in den IBM Expanded Core Fonts definierten GCGID-Namen übereinstimmen, benötigt DocBridge® Mill die entsprechenden Informationen. In diesem Fall muss von den Anwendern im DocBridge® Mill AFP-Filter-Profil die GCGID-Unicode Encoding List definiert werden.
Falls die IBM Expanded Core Fonts zum Einsatz kommen, ist kein weiteres GCGID-Unicode-Mapping erforderlich.
afpdump -v <filename> >> <dumpoutput.txt>
0xDB: TRN Transparent Data [7]
Text: "25.03 A"
(hex:) F2 F5 4B F0 F3 40 41
0xF1: SCFL Set Coded Font Local [1]
CFLid: 0x02 (2)
T02: Fully Qualified Name [10]
FQNType: 0x85 (Code Page Name Reference)
FQNFmt: 0x00 (Character string)
FQName: "T1001000"
T02: Fully Qualified Name [10]
FQNType: 0x86 (Font Character Set Name Reference)
FQNFmt: 0x00 (Character string)
FQName: "C0040TPN"
T24: Resource Local ID [2]
ResType: 0x05 (Coded Font)
ResLID: 0x02 (2)
0xD3A8CE: BR Begin Resource [20] (Offset 279706)
"T1001000"
(hex:) E3 F1 F0 F0 F1 F0 F0 F0
Reserved: 00 00
T21: Resource Object Type (R) [8]
ObjType: 0x41 (Code Page object (retired))
ConData: 00 00 00 00 00 00 00
{
0xD3A887: BCP Begin Code Page [0] (Offset 279735)
065 "CPT00065" CodePoint: 0x41 (65)
0xD3A8CE: BR Begin Resource [20] (Offset 364352)
"C0TMPOST"
(hex:) C3 F0 E3 D4 D7 D6 E2 E3
Reserved: 00 00
T21: Resource Object Type (R) [8]
ObjType: 0x40 (Font Character Set object (retired))
ConData: 00 00 00 00 00 00 00
{
0xD3A889: BFN Begin Font [0] (Offset 364381)
GCGID: CHAR0065 14 17 842
......XXX......
......XXX......
.....XX.XX.....
.....XX.XX.....
.....XX.XX.....
....XX...XX....
....XX...XX....
...XXX...XXX...
...XX.....XX...
...XX.....XX...
..XXXXXXXXXXX..
..XXXXXXXXXXX..
..XX.......XX..
.XX.........XX.
.XX.........XX.
.XX.........XX.
XX...........XX
XX...........XX
"CPT00065" CodePoint: 0x41 = UNICODE 0041 = "A"
"encoding name" = Name der Code Page
"devname" = Character Name in der Code Page
"unc" = Unicode-Wert des Zeichens
<encoding name="T1001000">
<entry devname="CPT00000" unc="0000"/>
<entry devname="CPT00001" unc="0001"/>
<entry devname="CPT00002" unc="0002"/>
<entry devname="CPT00003" unc="0003"/>
<entry devname="CPT00004" unc="0004"/>
...
<entry devname="CHAR0065" unc="0041"/>
<entry devname="CHAR0066" unc="0042"/>
<entry devname="CHAR0067" unc="0043"/>
<entry devname="CHAR0068" unc="0044"/>
</encoding>