WPIPTC befüllt diesen Eintrag automatisch, wenn Du den entsprechenden schreibenden Zeichensatz auswählst. Du brauchst dazu die Version 1.26 oder 1.27.
Wenn Du Dir die WPIPTC-Zeichensätze in der IPTC.ini ansiehst, sind dort für die gängigen Zeichensätze alle Daten notiert:
Code:
Code:
DefaultIn=0
DefaultOut=0
;Code(0).CodePage=0
;Code(0).ShortName=PC
;Code(0).Name=PC-Codepage
;Code(0).Escape=
Code(1).CodePage=20127
Code(1).ShortName=US-ASCII
Code(1).Name=US-ASCII
Code(1).Escape=2/8,4/2
Code(2).CodePage=28591
Code(2).ShortName=ISO-8859-1
Code(2).Name=Westeuropäisch (ISO-8859-1)
Code(2).Escape="2/12,4/1;2/13,4/1;2/14,4/1;2/15,4/1"
Code(3).CodePage=28605
Code(3).ShortName=ISO-8859-15
Code(3).Name=Westeuropäisch (ISO-8859-15)
Code(3).Escape="2/12,6/2;2/13,6/2;2/14,6/2;2/15,6/2"
Code(4).CodePage=10000
Code(4).ShortName=MacRoman
Code(4).Name=Westeuropäisch (Macintosh)
Code(4).Escape=2/5,7/3
Code(5).CodePage=65001
Code(5).ShortName=UTF-8
Code(5).Name=Unicode (UTF-8)
Code(5).Escape=2/5,4/7
Dies ist ein erweitertes INI-Format. Wenn das Semikolon im Wert vorkommt, bekommt der Wert Anführungszeichen, da auch Kommentar nach dem Wert geschrieben werden können, eingeleitet durch ";". Kommt das Anführungszeichen im Wert vor, so muss es gedoppelt werden. Das nur zur Info der INI-Einträge.
Für einige Zeichensätze (ISO-Zeichensätze) sind mehrere Codes notiert, die zum Lesen unterstützt werden müssen. Diese sind mit Semikolon ";" in den Definitionen getrennt. Beim Schreiben verwende ich den 1. Eintrag. Bei ISO-8859-15: ESC 2/12 4/1 in IPTC-Schreibweise
Beispiel für UTF-8:
Name = Unicode (UTF-8) ' Es gibt auch UTF-16
CodePage = 65001 ' Für Map 65001 -> 0
ShortName = UTF-8 'Nehme ich als Anzeigename her
Escape = 2/5,4/7 'IPTC-Schreibweise für Codepages
Die Escapesequenz, die benötigt wird um UTF-8 anzuzeigen ist nun:
20h, 25h, 47h oder dezimal 27, 37, 71 oder Klartext Chr(27) & "%G".
Mit Hex-Schreibweise tut man sich etwas leichter da z. B. 2/5 zu 25h wird. Ich habe diese Schreibweise bewusst gewählt, weil sämtliche offziziellen IPTC-Dokumente bzw. die Zeichensätze diese Schreibweise verwenden und sie "überall" im Internet so zu finden sind.
Schreibweise beim Mappen:
Schreiben: FF_SetIPTC(Tag, FF_MapCodePage(Text, 0, 65001))
Lesen: Text = FF_MapCodePage(FF_GetIPTC(Tag), 65001, 0)
Wenn keine Escape-Sequenz angegeben wird, sollte man eigentlich 7Bit US-ASCII verwenden. Dies macht jedoch kaum eine Software. Daher findet man im Internet meist Dateien des jeweiligen System-Zeichensatzes: MacRoman, ISO-8859-1 oder Windows CP1252 (ISO-8859-1 und CP1252 sind sich sehr ähnlich) werden gern in West-Europa verwendet. Griechenland verwendet dann wieder einen anderen Zeichensatz usw.
Weil das kunterbunte Treiben zu viel wurde und das Rankommen an echte Codepage-Informationen sehr schwer war hat man um 2005 beschlossen, nach Möglichkeit nur einen eindeutigen Zeichensatz zu verwenden: UTF-8. Die Sequenz dazu ist absolut eindeutig und sollte jedes moderne Programm kennen: ESC%G