Ich bastele seit einiger Zeit an zwei Programmen, die Text Chunks in PNG Dateien bearbeiten. Einmal geht es nur um Kommentare (editieren oder erzeugen), aber das andere handhabt fast alle Text Chunks (z.B. in Vorschaudateien), erzeugt aber nur einige davon.
Bisher hatte ich in vorhandenen Dateien alle komprimierten Text-Chunks ignoriert. Aber jetzt bin ich einer PNG Datei begegnet, die komprimierte Text Daten enthält und, laut exiftool, von Gimp erzeugt wurde. Allerdings war das kein Kommentar, den ich anzeigen müsste. Ich spiele jetzt aber doch mit dem Gedanken komprimierte Texte, zumindest lesend, zu unterstützen.
Meine Internet Recherchen dazu waren bisher allerdings nicht ermutigend. Die gefundenen Beispiele fand ich eher diffus. Andererseits fand ich auch:
[manfred@noir ~]$ apropos zlib
BIO_f_zlib (3ssl) - Compression support
COMP_zlib (3ssl) - Compression support
COMP_zlib_oneshot (3ssl) - Compression support
Compress::Raw::Zlib (3perl) - Low-Level Interface to zlib or zlib-ng compress...
Compress::Zlib (3perl) - Interface to zlib compression library
IO::Uncompress::AnyInflate (3perl) - Uncompress zlib-based (zip, gzip) file/b...
IO::Zlib (3perl) - IO:: style interface to Compress::Zlib
zlib (3) - compression/decompression library
zlib-flate (1) - raw zlib compression program
[manfred@noir ~]$
und:
[manfred@noir ~]$ which zlib-flate
/usr/bin/zlib-flate
[manfred@noir ~]$
Da stellt sich mir die Frage ob ich dafür ein externes Tool verwenden sollte oder doch besser direkt mit der Lib (wo ich noch nicht herausgefunden habe, wie das geht). Also externe Programme einzubinden habe ich schon gemacht (ffmpeg, ffprobe), finde das aber immer etwas umständlich und mit Fehlergefahr verbunden).
Ich bin da jetzt etwas unsicher, welchen Weg ich weiter verfolgen sollte. Was meint Ihr dazu?