exiftool_vendored 13.38.0 → 13.41.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -992,6 +992,8 @@ my %tagLookup = (
992
992
  'aggregationtype' => { 554 => 'aggregationType' },
993
993
  'agreement' => { 557 => 'agreement' },
994
994
  'ah2greeninterpolationthreshold' => { 155 => 0xe4e },
995
+ 'aipromptinformation' => { 548 => 'AIPromptInformation' },
996
+ 'aipromptwritername' => { 548 => 'AIPromptWriterName' },
995
997
  'airplanemode' => { 260 => 0x9c0, 263 => 0x722, 264 => 0x782, 265 => 0x624, 266 => 0x654, 267 => 0x6bc },
996
998
  'aiservocontinuousshooting' => { 89 => 0x15 },
997
999
  'aiservofirstimage' => { 2 => 0x5 },
@@ -1002,6 +1004,8 @@ my %tagLookup = (
1002
1004
  'aiservotrackingmethod' => { 90 => 0x504 },
1003
1005
  'aiservotrackingsensitivity' => { 89 => 0x14, 90 => 0x502 },
1004
1006
  'aisubjecttrackingmode' => { 345 => 0x309 },
1007
+ 'aisystemused' => { 548 => 'AISystemUsed' },
1008
+ 'aisystemversionused' => { 548 => 'AISystemVersionUsed' },
1005
1009
  'album' => { 427 => ['albm',"\xa9alb"], 429 => 'album', 435 => ['albm',"\xa9alb"], 564 => 'album' },
1006
1010
  'albumartist' => { 196 => 'WM/AlbumArtist', 427 => 'aART', 435 => 'albr' },
1007
1011
  'albumcoverurl' => { 196 => 'WM/AlbumCoverURL' },
@@ -8981,6 +8985,11 @@ my %tagExists = (
8981
8985
  'creatoros' => 1,
8982
8986
  'creatorsoftware' => 1,
8983
8987
  'creatorversion' => 1,
8988
+ 'creditclass' => 1,
8989
+ 'creditdir' => 1,
8990
+ 'creditname' => 1,
8991
+ 'creditrole' => 1,
8992
+ 'crediturl' => 1,
8984
8993
  'crgbtoerimm0spline' => 1,
8985
8994
  'crgbtoerimm1spline' => 1,
8986
8995
  'crgbtoerimm2spline' => 1,
@@ -9201,7 +9210,9 @@ my %tagExists = (
9201
9210
  'depthswheight' => 1,
9202
9211
  'depthswwidth' => 1,
9203
9212
  'derivedimageref' => 1,
9213
+ 'desc' => 1,
9204
9214
  'descender' => 1,
9215
+ 'descriptionurl' => 1,
9205
9216
  'designer' => 1,
9206
9217
  'designerurl' => 1,
9207
9218
  'desiredreproductions' => 1,
@@ -9464,6 +9475,8 @@ my %tagExists = (
9464
9475
  'entrypoint' => 1,
9465
9476
  'entrytype' => 1,
9466
9477
  'environmentmap' => 1,
9478
+ 'environmenttarget' => 1,
9479
+ 'environmenttargetunicode' => 1,
9467
9480
  'envvardata' => 1,
9468
9481
  'eppim' => 1,
9469
9482
  'eprint' => 1,
@@ -9555,6 +9568,10 @@ my %tagExists = (
9555
9568
  'extensionclassid' => 1,
9556
9569
  'extensioncreatedate' => 1,
9557
9570
  'extensiondescription' => 1,
9571
+ 'extensionid' => 1,
9572
+ 'extensionitemid' => 1,
9573
+ 'extensionitemname' => 1,
9574
+ 'extensionitemvalue' => 1,
9558
9575
  'extensionmodifydate' => 1,
9559
9576
  'extensionname' => 1,
9560
9577
  'extensionpersistence' => 1,
@@ -10128,6 +10145,7 @@ my %tagExists = (
10128
10145
  'highisomode' => 1,
10129
10146
  'highlightdata' => 1,
10130
10147
  'highlightendpoints' => 1,
10148
+ 'highlightmarkers' => 1,
10131
10149
  'highnote' => 1,
10132
10150
  'highvelocity' => 1,
10133
10151
  'hindsightsettings' => 1,
@@ -10187,6 +10205,7 @@ my %tagExists = (
10187
10205
  'icingdetected' => 1,
10188
10206
  'icondir' => 1,
10189
10207
  'iconenvdata' => 1,
10208
+ 'iconfile' => 1,
10190
10209
  'iconfilename' => 1,
10191
10210
  'iconindex' => 1,
10192
10211
  'ics' => 1,
@@ -10205,6 +10224,7 @@ my %tagExists = (
10205
10224
  'idependentanddisposablesamples' => 1,
10206
10225
  'idlesequence' => 1,
10207
10226
  'idletiming' => 1,
10227
+ 'idlist' => 1,
10208
10228
  'idsbasevalue' => 1,
10209
10229
  'idstring' => 1,
10210
10230
  'ifd0' => 1,
@@ -10692,7 +10712,10 @@ my %tagExists = (
10692
10712
  'levelinfok3iii' => 1,
10693
10713
  'libraryid' => 1,
10694
10714
  'libraryname' => 1,
10715
+ 'licenseeclass' => 1,
10716
+ 'licenseedir' => 1,
10695
10717
  'licenseinfourl' => 1,
10718
+ 'licenseurl' => 1,
10696
10719
  'lightingopt' => 1,
10697
10720
  'lightness' => 1,
10698
10721
  'lightroomworkflow' => 1,
@@ -10807,6 +10830,7 @@ my %tagExists = (
10807
10830
  'maininfoifd' => 1,
10808
10831
  'makeandmodel' => 1,
10809
10832
  'makemodel' => 1,
10833
+ 'makernotebyteorder' => 1,
10810
10834
  'makernotepentax5a' => 1,
10811
10835
  'makernotepentax5b' => 1,
10812
10836
  'makernotepentax5c' => 1,
@@ -11156,6 +11180,7 @@ my %tagExists = (
11156
11180
  'modenumber' => 1,
11157
11181
  'modificationnumber' => 1,
11158
11182
  'modificationpermissions' => 1,
11183
+ 'modified' => 1,
11159
11184
  'modifiedby' => 1,
11160
11185
  'modifiedinfo' => 1,
11161
11186
  'moiversion' => 1,
@@ -12211,6 +12236,7 @@ my %tagExists = (
12211
12236
  'rjmd' => 1,
12212
12237
  'rmeta' => 1,
12213
12238
  'rnoiselines' => 1,
12239
+ 'roamed' => 1,
12214
12240
  'robots' => 1,
12215
12241
  'rocinfo' => 1,
12216
12242
  'roidescription' => 1,
@@ -12505,6 +12531,7 @@ my %tagExists = (
12505
12531
  'shotinfoz9' => 1,
12506
12532
  'shotlogdatatext' => 1,
12507
12533
  'shotparamstext' => 1,
12534
+ 'showcommand' => 1,
12508
12535
  'showmode' => 1,
12509
12536
  'showobjects' => 1,
12510
12537
  'shutterangle' => 1,
@@ -13229,6 +13256,8 @@ my %tagExists = (
13229
13256
  'vddimdacnominalvalues' => 1,
13230
13257
  'vegasversionmajor' => 1,
13231
13258
  'vegasversionminor' => 1,
13259
+ 'vendorclass' => 1,
13260
+ 'vendordir' => 1,
13232
13261
  'vendorid' => 1,
13233
13262
  'vendorname' => 1,
13234
13263
  'vendorurl' => 1,
@@ -13410,6 +13439,7 @@ my %tagExists = (
13410
13439
  'webpage' => 1,
13411
13440
  'weight' => 1,
13412
13441
  'what3words' => 1,
13442
+ 'whatsnew' => 1,
13413
13443
  'whitebalancematching' => 1,
13414
13444
  'whitebalancergb' => 1,
13415
13445
  'whitebalancetable' => 1,
@@ -13454,6 +13484,7 @@ my %tagExists = (
13454
13484
  'wmcontentid' => 1,
13455
13485
  'wmshadowfilesourcedrmtype' => 1,
13456
13486
  'wmshadowfilesourcefiletype' => 1,
13487
+ 'woffversion' => 1,
13457
13488
  'word97' => 1,
13458
13489
  'worddocument' => 1,
13459
13490
  'words' => 1,
@@ -12,7 +12,7 @@ meta information extracted from or written to a file.
12
12
  =head1 TAG TABLES
13
13
 
14
14
  The tables listed below give the names of all tags recognized by ExifTool.
15
- They contain a total of 28760 tags, with 17891 unique tag names.
15
+ They contain a total of 28858 tags, with 17929 unique tag names.
16
16
 
17
17
  B<Tag ID>, B<Index#> or B<Sequence> is given in the first column of each
18
18
  table. A B<Tag ID> is the computer-readable equivalent of a tag name, and
@@ -4711,8 +4711,9 @@ These tags belong to the ExifTool XMP-iptcCore family 1 group.
4711
4711
  =head3 XMP iptcExt Tags
4712
4712
 
4713
4713
  This table contains tags defined by the IPTC Extension schema version 1.7
4714
- and IPTC Video Metadata version 1.3. The actual namespace prefix is
4715
- "Iptc4xmpExt", but ExifTool shortens this for the family 1 group name. (See
4714
+ and IPTC Video Metadata version 1.3, plus the AI additions. The actual
4715
+ namespace prefix is "Iptc4xmpExt", but ExifTool shortens this for the family
4716
+ 1 group name. (See
4716
4717
  L<http://www.iptc.org/standards/photo-metadata/iptc-standard/> and
4717
4718
  L<https://iptc.org/standards/video-metadata-hub/>.)
4718
4719
 
@@ -4726,6 +4727,10 @@ These tags belong to the ExifTool XMP-iptcExt family 1 group.
4726
4727
  AboutCvTermName lang-alt_+
4727
4728
  AboutCvTermRefinedAbout string_+
4728
4729
  AdditionalModelInformation string
4730
+ AIPromptInformation string
4731
+ AIPromptWriterName string
4732
+ AISystemUsed string
4733
+ AISystemVersionUsed string
4729
4734
  ArtworkOrObject ArtworkOrObjectDetails Struct+
4730
4735
  ArtworkCircaDateCreated string!_+
4731
4736
  ArtworkContentDescription lang-alt_+
@@ -9536,7 +9541,7 @@ These tags are used by the R5, R5 and EOS 1DXmkIII.
9536
9541
 
9537
9542
  =head3 Canon ColorData11 Tags
9538
9543
 
9539
- These tags are used by the EOS R3, R7 and R6mkII
9544
+ These tags are used by the EOS R3, R7, R50 and R6mkII
9540
9545
 
9541
9546
  Index2 Tag Name Writable
9542
9547
  ------ -------- --------
@@ -9625,7 +9630,7 @@ These tags are used by the EOS R3, R7 and R6mkII
9625
9630
 
9626
9631
  =head3 Canon ColorData12 Tags
9627
9632
 
9628
- These tags are used by the EOS R1 and R5mkII
9633
+ These tags are used by the EOS R1, R5mkII and R50V
9629
9634
 
9630
9635
  Index2 Tag Name Writable
9631
9636
  ------ -------- --------
@@ -11068,7 +11073,10 @@ ExifTool currently extracts timed GPS plus a few other tags from DJI devices
11068
11073
  which use the following protocols: dvtm_AVATA2.proto (Avata 2),
11069
11074
  dvtm_ac203.proto (Osmo Action 4), dvtm_ac204.proto (Osmo Action 5),
11070
11075
  dvtm_wm265e.proto (Mavic 3), dvtm_pm320.proto (Matrice 30),
11071
- dvtm_Mini4_Pro.proto (Mini 4 Pro) and dvtm_dji_neo.proto (DJI Neo).
11076
+ dvtm_Mini4_Pro.proto (Mini 4 Pro), dvtm_dji_neo.proto (DJI Neo),
11077
+ dvtm_Air3.proto (Air 3), dvtm_Air3s.proto (Air 3s), dvtm_PP-101.proto (Osmo
11078
+ Pocket 3), dvtm_oq101.proto (Osmo 360), dvtm_wa345e.proto (Matrice 4E) and
11079
+ dvtm_wm261.proto (Mavic Pro 3).
11072
11080
 
11073
11081
  Note that with the protobuf format, numerical tags missing from the output
11074
11082
  for a given protocol should be considered to have the default value of 0.
@@ -11089,6 +11097,30 @@ for a given protocol should be considered to have the default value of 0.
11089
11097
  'dvtm_AVATA2_3-4-4-1' GPSInfo DJI GPSInfo
11090
11098
  'dvtm_AVATA2_3-4-4-2' AbsoluteAltitude no
11091
11099
  'dvtm_AVATA2_3-4-5-1' RelativeAltitude no
11100
+ 'dvtm_Air3_1-1-5' SerialNumber no
11101
+ 'dvtm_Air3_2-3' FrameInfo DJI FrameInfo
11102
+ 'dvtm_Air3_3-1-2' TimeStamp no
11103
+ 'dvtm_Air3_3-2-7-1' ISO no
11104
+ 'dvtm_Air3_3-2-10-1' ShutterSpeed no
11105
+ 'dvtm_Air3_3-2-11-1' FNumber no
11106
+ 'dvtm_Air3_3-2-32-1' ColorTemperature no
11107
+ 'dvtm_Air3_3-3-3' DroneInfo DJI DroneInfo
11108
+ 'dvtm_Air3_3-3-4-1' GPSInfo DJI GPSInfo
11109
+ 'dvtm_Air3_3-3-4-2' AbsoluteAltitude no
11110
+ 'dvtm_Air3_3-3-5-1' RelativeAltitude no
11111
+ 'dvtm_Air3_3-4-3' GimbalInfo DJI GimbalInfo
11112
+ 'dvtm_Air3s_1-1-5' SerialNumber no
11113
+ 'dvtm_Air3s_2-3' FrameInfo DJI FrameInfo
11114
+ 'dvtm_Air3s_3-1-2' TimeStamp no
11115
+ 'dvtm_Air3s_3-2-7-1' ISO no
11116
+ 'dvtm_Air3s_3-2-10-1' ShutterSpeed no
11117
+ 'dvtm_Air3s_3-2-11-1' FNumber no
11118
+ 'dvtm_Air3s_3-2-32-1' ColorTemperature no
11119
+ 'dvtm_Air3s_3-3-3' DroneInfo DJI DroneInfo
11120
+ 'dvtm_Air3s_3-3-4-1' GPSInfo DJI GPSInfo
11121
+ 'dvtm_Air3s_3-3-4-2' AbsoluteAltitude no
11122
+ 'dvtm_Air3s_3-3-5-1' RelativeAltitude no
11123
+ 'dvtm_Air3s_3-4-3' GimbalInfo DJI GimbalInfo
11092
11124
  'dvtm_Mini4_Pro_1-1-5' SerialNumber no
11093
11125
  'dvtm_Mini4_Pro_1-1-10' Model no
11094
11126
  'dvtm_Mini4_Pro_2-3' FrameInfo DJI FrameInfo
@@ -11101,6 +11133,13 @@ for a given protocol should be considered to have the default value of 0.
11101
11133
  'dvtm_Mini4_Pro_3-2-10-1' ShutterSpeed no
11102
11134
  'dvtm_Mini4_Pro_3-2-11-1' FNumber no
11103
11135
  'dvtm_Mini4_Pro_3-2-32-1' ColorTemperature no
11136
+ 'dvtm_PP-101_1-1-5' SerialNumber no
11137
+ 'dvtm_PP-101_1-1-10' Model no
11138
+ 'dvtm_PP-101_2-3' FrameInfo DJI FrameInfo
11139
+ 'dvtm_PP-101_3-1-2' TimeStamp no
11140
+ 'dvtm_PP-101_3-2-9-1' ISO no
11141
+ 'dvtm_PP-101_3-2-10-1' ShutterSpeed no
11142
+ 'dvtm_PP-101_3-2-24-1' ColorTemperature no
11104
11143
  'dvtm_ac203_1-1-5' SerialNumber no
11105
11144
  'dvtm_ac203_1-1-10' Model no
11106
11145
  'dvtm_ac203_2-3' FrameInfo DJI FrameInfo
@@ -11136,6 +11175,19 @@ for a given protocol should be considered to have the default value of 0.
11136
11175
  'dvtm_dji_neo_3-4-3' DroneInfo DJI DroneInfo
11137
11176
  'dvtm_dji_neo_3-4-4-1' GPSInfo DJI GPSInfo
11138
11177
  'dvtm_dji_neo_3-4-4-2' AbsoluteAltitude no
11178
+ 'dvtm_oq101_1-1-5' SerialNumber no
11179
+ 'dvtm_oq101_1-1-10' Model no
11180
+ 'dvtm_oq101_1-14-1' FNumber no
11181
+ 'dvtm_oq101_3-1-2' TimeStamp no
11182
+ 'dvtm_oq101_3-2-3-1' ISO no
11183
+ 'dvtm_oq101_3-2-4-1' ShutterSpeed no
11184
+ 'dvtm_oq101_3-2-6-1' ColorTemperature no
11185
+ 'dvtm_oq101_3-2-10-2' AccelerometerX no
11186
+ 'dvtm_oq101_3-2-10-3' AccelerometerY no
11187
+ 'dvtm_oq101_3-2-10-4' AccelerometerZ no
11188
+ 'dvtm_oq101_3-4-2-1' GPSInfo DJI GPSInfo
11189
+ 'dvtm_oq101_3-4-2-2' AbsoluteAltitude no
11190
+ 'dvtm_oq101_3-4-2-6-1' GPSDateTime no
11139
11191
  'dvtm_pm320_1-1-5' SerialNumber no
11140
11192
  'dvtm_pm320_1-1-10' Model no
11141
11193
  'dvtm_pm320_2-2' FrameInfo DJI FrameInfo
@@ -11148,6 +11200,29 @@ for a given protocol should be considered to have the default value of 0.
11148
11200
  'dvtm_pm320_3-3-4-2' AbsoluteAltitude no
11149
11201
  'dvtm_pm320_3-3-5-1' RelativeAltitude no
11150
11202
  'dvtm_pm320_3-4-3' GimbalInfo DJI GimbalInfo
11203
+ 'dvtm_wa345e_1-1-5' SerialNumber no
11204
+ 'dvtm_wa345e_1-1-10' Model no
11205
+ 'dvtm_wa345e_2-2' FrameInfo DJI FrameInfo
11206
+ 'dvtm_wa345e_3-1-2' TimeStamp no
11207
+ 'dvtm_wa345e_3-3-3' DroneInfo DJI DroneInfo
11208
+ 'dvtm_wa345e_3-3-4-1' GPSInfo DJI GPSInfo
11209
+ 'dvtm_wa345e_3-3-4-2' AbsoluteAltitude no
11210
+ 'dvtm_wa345e_3-3-4-6-1' GPSDateTime no
11211
+ 'dvtm_wa345e_3-3-5-1' RelativeAltitude no
11212
+ 'dvtm_wa345e_3-4-3' GimbalInfo DJI GimbalInfo
11213
+ 'dvtm_wm261_1-1-5' SerialNumber no
11214
+ 'dvtm_wm261_1-1-10' Model no
11215
+ 'dvtm_wm261_2-3' FrameInfo DJI FrameInfo
11216
+ 'dvtm_wm261_3-1-2' TimeStamp no
11217
+ 'dvtm_wm261_3-2-9-1' ISO no
11218
+ 'dvtm_wm261_3-2-10-1' ShutterSpeed no
11219
+ 'dvtm_wm261_3-2-11-1' FNumber no
11220
+ 'dvtm_wm261_3-3-3' DroneInfo DJI DroneInfo
11221
+ 'dvtm_wm261_3-3-4-1' GPSInfo DJI GPSInfo
11222
+ 'dvtm_wm261_3-3-4-2' AbsoluteAltitude no
11223
+ 'dvtm_wm261_3-3-4-6-1' GPSDateTime no
11224
+ 'dvtm_wm261_3-3-5-1' RelativeAltitude no
11225
+ 'dvtm_wm261_3-4-3' GimbalInfo DJI GimbalInfo
11151
11226
  'dvtm_wm265e_1-1-5' SerialNumber no
11152
11227
  'dvtm_wm265e_1-1-10' Model no
11153
11228
  'dvtm_wm265e_2-2' FrameInfo DJI FrameInfo
@@ -30645,6 +30720,7 @@ for the official QuickTime specification.
30645
30720
  'free' KodakFree Kodak Free
30646
30721
  Pittasoft QuickTime Pittasoft
30647
30722
  ThumbnailImage no
30723
+ HighlightMarkers no
30648
30724
  Free? no
30649
30725
  'ftyp' FileType QuickTime FileType
30650
30726
  'gdat' GPSData QuickTime Stream
@@ -30695,7 +30771,7 @@ for the official QuickTime specification.
30695
30771
  The tags below are extracted from timed metadata in QuickTime and other
30696
30772
  formats of video files when the ExtractEmbedded option is used. Although
30697
30773
  most of these tags are combined into the single table below, ExifTool
30698
- currently reads 111 different types of timed GPS metadata from video files.
30774
+ currently reads 116 different types of timed GPS metadata from video files.
30699
30775
 
30700
30776
  Tag ID Tag Name Writable
30701
30777
  ------ -------- --------
@@ -36367,6 +36443,7 @@ Tags extracted from Redcode R3D video files.
36367
36443
  0x1096 Filter no
36368
36444
  0x10a0 Brain no
36369
36445
  0x10a1 Sensor no
36446
+ 0x10be Quality no
36370
36447
  0x200d ColorTemperature no
36371
36448
  0x204b RGBCurves no
36372
36449
  0x2066 OriginalFrameRate no
@@ -40621,7 +40698,7 @@ Information extracted from MS Shell Link (Windows shortcut) files.
40621
40698
  0x30020 CommandLineArguments no
40622
40699
  0x30040 IconFileName no
40623
40700
  0xa0000000 UnknownData LNK UnknownData
40624
- 0xa0000001 EnvVarData LNK UnknownData
40701
+ 0xa0000001 EnvVarData LNK EnvVarData
40625
40702
  0xa0000002 ConsoleData LNK ConsoleData
40626
40703
  0xa0000003 TrackerData LNK TrackerData
40627
40704
  0xa0000004 ConsoleFEData LNK ConsoleFEData
@@ -40666,6 +40743,13 @@ Information extracted from MS Shell Link (Windows shortcut) files.
40666
40743
  ------ -------- --------
40667
40744
  [no tags known]
40668
40745
 
40746
+ =head3 LNK EnvVarData Tags
40747
+
40748
+ Index1 Tag Name Writable
40749
+ ------ -------- --------
40750
+ 8 EnvironmentTarget no
40751
+ 268 EnvironmentTargetUnicode no
40752
+
40669
40753
  =head3 LNK ConsoleData Tags
40670
40754
 
40671
40755
  Index1 Tag Name Writable
@@ -40700,6 +40784,26 @@ Information extracted from MS Shell Link (Windows shortcut) files.
40700
40784
  ------ -------- --------
40701
40785
  8 CodePage no
40702
40786
 
40787
+ =head3 LNK INI Tags
40788
+
40789
+ Tags found in INI-format Windows .URL files.
40790
+
40791
+ Tag Name Writable
40792
+ -------- --------
40793
+ Author no
40794
+ Comment no
40795
+ Desc no
40796
+ HotKey no
40797
+ IDList no
40798
+ IconFile no
40799
+ IconIndex no
40800
+ Modified no
40801
+ Roamed no
40802
+ ShowCommand no
40803
+ URL no
40804
+ WhatsNew no
40805
+ WorkingDirectory no
40806
+
40703
40807
  =head2 PCAP Tags
40704
40808
 
40705
40809
  Tags extracted from CAP, PCAP and PCAPNG Packet Capture files.
@@ -40740,18 +40844,20 @@ Tags extracted from CAP, PCAP and PCAPNG Packet Capture files.
40740
40844
 
40741
40845
  This table contains a collection of tags found in font files of various
40742
40846
  formats. ExifTool current recognizes OTF, TTF, TTC, DFONT, PFA, PFB, PFM,
40743
- AFM, ACFM and AMFM font files.
40847
+ AFM, ACFM, AMFM, WOFF and WOFF2 font files.
40744
40848
 
40745
- Tag ID Tag Name Writable
40746
- ------ -------- --------
40747
- 'AFM' AFM Font AFM
40748
- 'C2PA' C2PA Jpeg2000
40749
- 'PFM' PFMHeader Font PFM
40750
- 'PSInfo' PSFontInfo Font PSInfo
40751
- 'fontname' FontName no
40752
- 'name' Name Font Name
40753
- 'numfonts' NumFonts no
40754
- 'postfont' PostScriptFontName no
40849
+ Tag ID Tag Name Writable
40850
+ ------ -------- --------
40851
+ 'AFM' AFM Font AFM
40852
+ 'C2PA' C2PA Jpeg2000
40853
+ 'PFM' PFMHeader Font PFM
40854
+ 'PSInfo' PSFontInfo Font PSInfo
40855
+ 'WOFFVersion' WOFFVersion no
40856
+ 'XML' XML Font XML
40857
+ 'fontname' FontName no
40858
+ 'name' Name Font Name
40859
+ 'numfonts' NumFonts no
40860
+ 'postfont' PostScriptFontName no
40755
40861
 
40756
40862
  =head3 Font AFM Tags
40757
40863
 
@@ -40829,13 +40935,46 @@ Tags extracted from PostScript font files (PFA and PFB).
40829
40935
  'isFixedPitch' IsFixedPitch no
40830
40936
  'version' Version no
40831
40937
 
40938
+ =head3 Font XML Tags
40939
+
40940
+ Tags found in WOFF and WOFF2 XML metadata.
40941
+
40942
+ Tag ID Tag Name Writable
40943
+ ------ -------- --------
40944
+ 'copyrightText' Copyright no
40945
+ 'creditsCreditClass' CreditClass no
40946
+ 'creditsCreditDir' CreditDir no
40947
+ 'creditsCreditName' CreditName no
40948
+ 'creditsCreditRole' CreditRole no
40949
+ 'creditsCreditUrl' CreditURL no
40950
+ 'descriptionText' Description no
40951
+ 'descriptionUrl' DescriptionUrl no
40952
+ 'extensionId' ExtensionID no
40953
+ 'extensionItemId' ExtensionItemID no
40954
+ 'extensionItemName' ExtensionItemName no
40955
+ 'extensionItemValue' ExtensionItemValue no
40956
+ 'extensionName' ExtensionName no
40957
+ 'licenseId' LicenseID no
40958
+ 'licenseText' License no
40959
+ 'licenseUrl' LicenseURL no
40960
+ 'licenseeClass' LicenseeClass no
40961
+ 'licenseeDir' LicenseeDir no
40962
+ 'licenseeName' LicenseeName no
40963
+ 'trademarkText' Trademark no
40964
+ 'uniqueidId' UniqueID no
40965
+ 'vendorClass' VendorClass no
40966
+ 'vendorDir' VendorDir no
40967
+ 'vendorName' VendorName no
40968
+ 'vendorUrl' VendorURL no
40969
+ 'version' Version no
40970
+
40832
40971
  =head3 Font Name Tags
40833
40972
 
40834
40973
  The following tags are extracted from the TrueType font "name" table found
40835
- in OTF, TTF, TTC and DFONT files. These tags support localized languages by
40836
- adding a hyphen followed by a language code to the end of the tag name (eg.
40837
- "Copyright-fr" or "License-en-US"). Tags with no language code use the
40838
- default language of "en".
40974
+ in OTF, TTF, TTC, DFONT, WOFF and WOFF2 files. These tags support localized
40975
+ languages by adding a hyphen followed by a language code to the end of the
40976
+ tag name (eg. "Copyright-fr" or "License-en-US"). Tags with no language
40977
+ code use the default language of "en".
40839
40978
 
40840
40979
  Tag ID Tag Name Writable
40841
40980
  ------ -------- --------
@@ -41160,7 +41299,7 @@ specification.
41160
41299
  =head2 OOXML Tags
41161
41300
 
41162
41301
  The Office Open XML (OOXML) format was introduced with Microsoft Office 2007
41163
- and is used by file types such as DOCX, PPTX and XLSX. These are
41302
+ and is used by file types such as DOCX, PPTX, XLSX and VSDX. These are
41164
41303
  essentially ZIP archives containing XML files. The table below lists some
41165
41304
  tags which have been observed in OOXML documents, but ExifTool will extract
41166
41305
  any tags found from XML files of the OOXML document properties ("docProps")
@@ -41560,6 +41699,7 @@ FileName.
41560
41699
  JPEGQualityEstimate File no
41561
41700
  JUMBF JUMBF no
41562
41701
  MIMEType File no
41702
+ MakerNoteByteOrder File no
41563
41703
  MaxVal File no
41564
41704
  NewGUID ExifTool no
41565
41705
  Now ExifTool no
@@ -499,11 +499,12 @@ my %sImageRegion = ( # new in 1.5
499
499
  NAMESPACE => 'Iptc4xmpExt',
500
500
  TABLE_DESC => 'XMP IPTC Extension',
501
501
  NOTES => q{
502
- This table contains tags defined by the IPTC Extension schema version 1.7
503
- and IPTC Video Metadata version 1.3. The actual namespace prefix is
504
- "Iptc4xmpExt", but ExifTool shortens this for the family 1 group name. (See
505
- L<http://www.iptc.org/standards/photo-metadata/iptc-standard/> and
506
- L<https://iptc.org/standards/video-metadata-hub/>.)
502
+ This table contains tags defined by the IPTC Extension schema version 1.7
503
+ and IPTC Video Metadata version 1.3, plus the AI additions. The actual
504
+ namespace prefix is "Iptc4xmpExt", but ExifTool shortens this for the family
505
+ 1 group name. (See
506
+ L<http://www.iptc.org/standards/photo-metadata/iptc-standard/> and
507
+ L<https://iptc.org/standards/video-metadata-hub/>.)
507
508
  },
508
509
  AboutCvTerm => {
509
510
  Struct => \%sCVTermDetails,
@@ -769,6 +770,11 @@ my %sImageRegion = ( # new in 1.5
769
770
  ImageRegion => { Groups => { 2 => 'Image' }, List => 'Bag', Struct => \%sImageRegion },
770
771
  # new Extension 1.6 property
771
772
  EventId => { Name => 'EventID', List => 'Bag' },
773
+ # new AI tags
774
+ AISystemUsed => { },
775
+ AISystemVersionUsed => { },
776
+ AIPromptInformation => { },
777
+ AIPromptWriterName => { },
772
778
  );
773
779
 
774
780
  #------------------------------------------------------------------------------
@@ -29,7 +29,7 @@ use vars qw($VERSION $RELEASE @ISA @EXPORT_OK %EXPORT_TAGS $AUTOLOAD @fileTypes
29
29
  %jpegMarker %specialTags %fileTypeLookup $testLen $exeDir
30
30
  %static_vars $advFmtSelf $configFile @configFiles $noConfig);
31
31
 
32
- $VERSION = '13.38';
32
+ $VERSION = '13.41';
33
33
  $RELEASE = '';
34
34
  @ISA = qw(Exporter);
35
35
  %EXPORT_TAGS = (
@@ -155,7 +155,7 @@ sub ReadValue($$$;$$$);
155
155
  Real::Audio Real::Metafile Red RIFF AIFF ASF TNEF WTV DICOM FITS XISF MIE
156
156
  JSON HTML XMP::SVG Palm Palm::MOBI Palm::EXTH Torrent EXE EXE::PEVersion
157
157
  EXE::PEString EXE::DebugRSDS EXE::DebugNB10 EXE::Misc EXE::MachO EXE::PEF
158
- EXE::ELF EXE::AR EXE::CHM LNK PCAP Font VCard Text VCard::VCalendar
158
+ EXE::ELF EXE::AR EXE::CHM LNK LNK::INI PCAP Font VCard Text VCard::VCalendar
159
159
  VCard::VNote RSRC Rawzor ZIP ZIP::GZIP ZIP::RAR ZIP::RAR5 RTF OOXML iWork
160
160
  ISO FLIR::AFF FLIR::FPF MacOS MacOS::MDItem FlashPix::DocTable
161
161
  );
@@ -392,6 +392,7 @@ my %createTypes = map { $_ => 1 } qw(XMP ICC MIE VRD DR4 EXIF EXV);
392
392
  LFR => 'LFP', # (Light Field RAW)
393
393
  LIF => ['LIF', 'Leica Image File'],
394
394
  LNK => ['LNK', 'Windows shortcut'],
395
+ LRF => ['MOV', 'Low-Resolution video File'],
395
396
  LRI => ['LRI', 'Light RAW'],
396
397
  LRV => ['MOV', 'Low-Resolution Video'],
397
398
  M2T => 'M2TS',
@@ -544,6 +545,7 @@ my %createTypes = map { $_ => 1 } qw(XMP ICC MIE VRD DR4 EXIF EXV);
544
545
  TTF => ['Font', 'True Type Font'],
545
546
  TUB => 'PSP',
546
547
  TXT => ['TXT', 'Text file'],
548
+ URL => ['LNK', 'Windows shortcut URL'],
547
549
  VCARD=> ['VCard','Virtual Card'],
548
550
  VCF => 'VCARD',
549
551
  VOB => ['MPEG', 'Video Object'],
@@ -573,6 +575,7 @@ my %createTypes = map { $_ => 1 } qw(XMP ICC MIE VRD DR4 EXIF EXV);
573
575
  XLTM => [['ZIP','FPX'], 'Office Open XML Spreadsheet Template Macro-enabled'],
574
576
  XLTX => [['ZIP','FPX'], 'Office Open XML Spreadsheet Template'],
575
577
  XMP => ['XMP', 'Extensible Metadata Platform'],
578
+ VSDX => ['ZIP', 'Visio Diagram Document'],
576
579
  WOFF => ['Font', 'Web Open Font Format'],
577
580
  WOFF2=> ['Font', 'Web Open Font Format 2'],
578
581
  WPG => ['WPG', 'WordPerfect Graphics'],
@@ -814,6 +817,7 @@ my %fileDescription = (
814
817
  VCard=> 'text/vcard',
815
818
  VRD => 'application/octet-stream', #PH (NC)
816
819
  VSD => 'application/x-visio',
820
+ VSDX => 'application/vnd.ms-visio.drawing',
817
821
  WDP => 'image/vnd.ms-photo',
818
822
  WEBM => 'video/webm',
819
823
  WMA => 'audio/x-ms-wma',
@@ -974,7 +978,7 @@ $testLen = 1024; # number of bytes to read when testing for magic number
974
978
  JXL => '(\xff\x0a|\0\0\0\x0cJXL \x0d\x0a......ftypjxl )',
975
979
  LFP => '\x89LFP\x0d\x0a\x1a\x0a',
976
980
  LIF => '\x70\0{3}.{4}\x2a.{4}<\0',
977
- LNK => '.{4}\x01\x14\x02\0{5}\xc0\0{6}\x46',
981
+ LNK => '(.{4}\x01\x14\x02\0{5}\xc0\0{6}\x46|\[[InternetShortcut\][\x0d\x0a])',
978
982
  LRI => 'LELR \0',
979
983
  M2TS => '.{0,191}?\x47(.{187}|.{191})\x47(.{187}|.{191})\x47',
980
984
  MacOS=> '\0\x05\x16\x07\0.\0\0Mac OS X ',
@@ -1138,6 +1142,7 @@ my @availableOptions = (
1138
1142
  [ 'GeoMaxHDOP', undef, 'geotag maximum HDOP' ],
1139
1143
  [ 'GeoMaxPDOP', undef, 'geotag maximum PDOP' ],
1140
1144
  [ 'GeoMinSats', undef, 'geotag minimum satellites' ],
1145
+ [ 'GeoHPosErr', undef, 'geotag GPSHPositioningError based on $GPSDOP' ],
1141
1146
  [ 'GeoSpeedRef', undef, 'geotag GPSSpeedRef' ],
1142
1147
  [ 'GlobalTimeShift', undef, 'apply time shift to all extracted date/time values' ],
1143
1148
  [ 'GPSQuadrant', undef, 'quadrant for GPS if not otherwise known' ],
@@ -1814,6 +1819,13 @@ my %systemTagsNotes = (
1814
1819
  MM => 'Big-endian (Motorola, MM)',
1815
1820
  },
1816
1821
  },
1822
+ MakerNoteByteOrder => {
1823
+ Notes => 'byte order of maker notes. Generated only if different from ExifByteOrder',
1824
+ PrintConv => {
1825
+ II => 'Little-endian (Intel, II)',
1826
+ MM => 'Big-endian (Motorola, MM)',
1827
+ },
1828
+ },
1817
1829
  ExifUnicodeByteOrder => {
1818
1830
  Writable => 1,
1819
1831
  WriteOnly => 1,
@@ -2298,7 +2310,8 @@ sub CleanWarning(;$)
2298
2310
  return undef unless defined $evalWarning;
2299
2311
  $str = $evalWarning;
2300
2312
  }
2301
- $str = $1 if $str =~ /(.*) at /s;
2313
+ # truncate at first " at " for warnings like "syntax error at (eval 80) line 1, at EOF"
2314
+ $str = $1 if $str =~ /(.*?) at /s;
2302
2315
  $str =~ s/\s+$//s;
2303
2316
  return $str;
2304
2317
  }
@@ -8621,6 +8634,7 @@ sub DoProcessTIFF($$;$)
8621
8634
  my $ifdName = ($$dirInfo{DirName} and $$dirInfo{DirName} =~ /^(ExifIFD|GPS)$/) ? $1 : 'IFD0';
8622
8635
  if (not $tagTablePtr or $$tagTablePtr{GROUPS}{0} eq 'EXIF') {
8623
8636
  $self->FoundTag('ExifByteOrder', $byteOrder) unless $outfile;
8637
+ $$self{ExifByteOrder} = $byteOrder;
8624
8638
  } elsif ($$tagTablePtr{GROUPS}{0} eq 'MakerNotes') { # (for writing CR3 maker notes)
8625
8639
  $ifdName = $$tagTablePtr{GROUPS}{0};
8626
8640
  } else {
@@ -9680,10 +9694,10 @@ sub VPrint($$@)
9680
9694
  # Print verbose directory information
9681
9695
  # Inputs: 0) ExifTool object reference, 1) directory name or dirInfo ref
9682
9696
  # 2) number of entries in directory (or 0 if unknown)
9683
- # 3) optional size of directory in bytes
9684
- sub VerboseDir($$;$$)
9697
+ # 3) optional size of directory in bytes, 4) optional byte order for -v3 output
9698
+ sub VerboseDir($$;$$$)
9685
9699
  {
9686
- my ($self, $name, $entries, $size) = @_;
9700
+ my ($self, $name, $entries, $size, $byteOrder) = @_;
9687
9701
  return unless $$self{OPTIONS}{Verbose};
9688
9702
  if (ref $name eq 'HASH') {
9689
9703
  $size = $$name{DirLen} unless $size;
@@ -9693,6 +9707,9 @@ sub VerboseDir($$;$$)
9693
9707
  my $out = $$self{OPTIONS}{TextOut};
9694
9708
  my $str = ($entries or defined $entries and not $size) ? " with $entries entries" : '';
9695
9709
  $str .= ", $size bytes" if $size;
9710
+ if ($byteOrder and $$self{OPTIONS}{Verbose} > 2) {
9711
+ $str .= ', ' . (GetByteOrder() eq 'II' ? 'Little-endian' : 'Big-endian');
9712
+ }
9696
9713
  print $out "$indent+ [$name directory$str]\n";
9697
9714
  }
9698
9715
 
@@ -9815,7 +9832,7 @@ sub ProcessBinaryData($$$)
9815
9832
  # extract known tags in numerical order
9816
9833
  @tags = sort { ($a < 0 ? $a + 1e9 : $a) <=> ($b < 0 ? $b + 1e9 : $b) } TagTableKeys($tagTablePtr);
9817
9834
  }
9818
- $self->VerboseDir('BinaryData', undef, $size) if $verbose;
9835
+ $self->VerboseDir('BinaryData', undef, $size, GetByteOrder()) if $verbose;
9819
9836
  # avoid creating unknown tags for tags that fail condition if Unknown is 1
9820
9837
  $$self{NO_UNKNOWN} = 1 if $unknown < 2;
9821
9838
  my ($index, %val);