Non standard tags looking similar to ProfileDescriptionML in ICC_Profile::Main

Started by azhar0100, October 15, 2024, 04:35:03 PM

Previous topic - Next topic

azhar0100

Given this test file if I run the following command

exiftool -t -j exif-samples/tiff/Tless0.tiff
I get tags that appear like the following

"ProfileDescription": {
    "id": "desc",
    "table": "ICC_Profile::Main",
    "val": "Color LCD"
  },
  "ProfileDescriptionML-nb-NO": {
    "id": "dscm-nb-NO",
    "lang": "nb-NO",
    "table": "ICC_Profile::Main",
    "val": "Farge-LCD"
  },
  "ProfileDescriptionML-pt-PT": {
    "id": "dscm-pt-PT",
    "lang": "pt-PT",
    "table": "ICC_Profile::Main",
    "val": "LCD a Cores"
  },
  "ProfileDescriptionML-sv-SE": {
    "id": "dscm-sv-SE",
    "lang": "sv-SE",
    "table": "ICC_Profile::Main",
    "val": "Färg-LCD"
  },

I understand that using the -t option adds enough information in the response to map the tags from any given file to the "standard tags" in the tags db (output of exiftool -listx), and it has been successful for most files in the exif-samples repo. However, these tags (ProfileDescriptionML-nb-NO and others) do not appear in the tags db (-listx output).

Are they non standard?

I can understand that the ProfileDescriptionML might mean "Multilingual" and the appended strings might be language tags. Does exiftool represent the data from this tag in the form of appended language tags in the ids?

Another tag I suspect may have been non-standard is "ContTake" in exif-samples/jpg/exif-org/olympus-d320l.jpg.

The APP12 page seems to have "ConTake" but this file contains "ContTake".

  "ContTake": {
    "id": "ContTake",
    "table": "APP12::PictureInfo",
    "val": 0
  }

Does this typo make it a non-standard tag?

And in case it is, my larger question is about how exiftool -t -j assigns ids when some tag is not in the corresponding table. How does exiftool assign ids in that case?

Phil Harvey

Good point.  "ConTake" is a typo that I will fix.  But APP12 tags all non-standard as far as I am concerned because I have only added the ones that I have seen in the wild, and this list is not complete.

You are correct about the country-language added to ProfileDescptionML.  These language codes may be added for various types of metadata (currently XMP, QuickTime, Matroska, MXF, Font, PNG and ICC_Profile).

Any extensible metadata format (most notably XMP) may contain tags that aren't pre-defined by ExifTool (so don't show up in the -listx output) but that appear when reading the file.  In these cases, the ID is the actual ID stored in the file.  Note that adding the -u option may also cause tags with numerical ID's to be extracted, and these "Unknown" tags also don't appear in the -listx output.

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

azhar0100

Thank you for the response!

Some further questions:

Is there some sort of documentation about tags that may have country codes appended, or a particular part of the code that does this?

In addition, for extensible formats like XMP (and presumably APP12) the id's returned by -t are just the same as the tag name?

Phil Harvey

The language codes are usually mentioned in the tag name documentation if they are a possibility, but it seems I have missed doing this for some metadata formats.

The tag names are definitely derived from the ID's, but they often have to be changed to conform with the ExifTool tag name convention.

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).