Skip to content

Commit ebbe735

Browse files
committed
Support XMP date aliases and portable property shapes
Add support for emitting XMP date aliases (xmp:ModifyDate / xmp:CreateDate) derived from EXIF tags and normalize EXIF date text when producing XMP portable output. Introduce PortablePropertyShape (Scalar/Indexed) and a claim map to track both owner and shape of portable properties, plus helpers to compute indexed container kinds and to collect generated portable keys. Add an ExifXmpAlias pass and refactor portable EXIF handling into reusable functions to avoid duplication. Update emission/canonicalization logic so managed standard namespaces are canonicalized only when a replacement is actually generated. Add/adjust unit tests to cover date aliases, canonicalization behavior, and indexed-vs-scalar shape precedence.
1 parent 3fd06e5 commit ebbe735

4 files changed

Lines changed: 833 additions & 70 deletions

File tree

src/include/openmeta/xmp_dump.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,7 @@ dump_xmp_lossless(const MetaStore& store, std::span<std::byte> out,
179179
* This mode is intended for interoperability (e.g. XMP sidecars alongside RAW/JPEG files).
180180
* It emits a best-effort mapping from decoded EXIF/TIFF/GPS/IPTC-IIM fields
181181
* to standard XMP properties (e.g. `tiff:Make`, `exif:ExposureTime`,
182-
* `exif:GPSLatitude`, `dc:subject`, `photoshop:City`,
182+
* `xmp:ModifyDate`, `xmp:CreateDate`, `exif:GPSLatitude`, `dc:subject`, `photoshop:City`,
183183
* `Iptc4xmpCore:Location`).
184184
*/
185185
XmpDumpResult

0 commit comments

Comments
 (0)