EXIF - encoding - standard tags - add EXIF 3.0 compliance

Ideas for improvements and requests for new features in XnView MP

Moderator: xnview

User avatar
user0
XnThusiast
Posts: 3080
Joined: Sat May 09, 2015 9:37 am

EXIF - encoding - standard tags - add EXIF 3.0 compliance

Post by user0 »

XnViewMP 1.11.5
Windows11 (25H2), display resolution 3840x2160, dpi scale 150%


EXIF - encoding - standard text tags
XnViewMP uses Type 2 when writing UTF-8 data to EXIF standard text tags.
This is common practice in the real world under EXIF 2.x, but it is not compliant with the EXIF 3.0 specification, which introduced the new Type 129 for UTF-8 text.
exif_written_by_XnViewMP.jpg.png
report from KUSO EXIF Viewer for exif_written_by_XnViewMP.jpg from this post


Suggestion
  • maybe add an option to select Type (2 [02 00] or 129 [81 00]) when writing UTF-8 text to standard text tags
    to clearly indicate that byte payload contains UTF-8 text

    I would not use only Type 129, as there are not many apps that support it, if any.



ref
Field Group EXIF 2.x Specification EXIF 3.0 Specification Extended / Legacy Practice
Standard Text Tags (Artist, Copyright, ImageDescription, Software, etc.) Strictly 7-bit ASCII (Type 2). Multi-byte characters explicitly forbidden. Formally updated to ASCII or UTF-8 (Type 129). Native multi-byte support. Raw UTF-8 was widely injected informally by modern tools prior to EXIF 3.0.
Header-Encoded Tags (UserComment, GPSProcessingMethod, etc.) UNDEFINED (Type 7). Uses 8-byte header prefix (Unicode\0 for UTF-16, JIS\0, ASCII\0). Header mechanism retained for backward compatibility. Was the only official way to store international text in EXIF 2.x.
Windows XP Tags (XPKeywords, XPTitle, XPComment, etc.) BYTE (Type 1). Proprietary Microsoft extension using UTF-16LE / UCS-2. Not part of core EXIF spec (Microsoft proprietary extension). Native UTF-16LE support across Windows OS and file properties.
exif_spec_v2vs3_idf_structure_type.png
You do not have the required permissions to view the files attached to this post.