@@ -1689,6 +1689,57 @@ const TagInfo* Nikon3MakerNote::tagListLd3() {
16891689 return tagInfoLd3_;
16901690}
16911691
1692+ // ! LensID, tag index 48
1693+ // see https://github.com/exiftool/exiftool/blob/13.16/lib/Image/ExifTool/Nikon.pm#L5668
1694+ constexpr TagDetails nikonZMountLensId[] = {
1695+ {0 , N_ (" n/a" )},
1696+ {1 , " Nikon Nikkor Z 24-70mm f/4 S" },
1697+ {2 , " Nikon Nikkor Z 14-30mm f/4 S" },
1698+ {4 , " Nikon Nikkor Z 35mm f/1.8 S" },
1699+ {8 , " Nikon Nikkor Z 58mm f/0.95 S Noct" }, // IB
1700+ {9 , " Nikon Nikkor Z 50mm f/1.8 S" },
1701+ {11 , " Nikon Nikkor Z DX 16-50mm f/3.5-6.3 VR" },
1702+ {12 , " Nikon Nikkor Z DX 50-250mm f/4.5-6.3 VR" },
1703+ {13 , " Nikon Nikkor Z 24-70mm f/2.8 S" },
1704+ {14 , " Nikon Nikkor Z 85mm f/1.8 S" },
1705+ {15 , " Nikon Nikkor Z 24mm f/1.8 S" }, // IB
1706+ {16 , " Nikon Nikkor Z 70-200mm f/2.8 VR S" }, // IB
1707+ {17 , " Nikon Nikkor Z 20mm f/1.8 S" }, // IB
1708+ {18 , " Nikon Nikkor Z 24-200mm f/4-6.3 VR" }, // IB
1709+ {21 , " Nikon Nikkor Z 50mm f/1.2 S" }, // IB
1710+ {22 , " Nikon Nikkor Z 24-50mm f/4-6.3" }, // IB
1711+ {23 , " Nikon Nikkor Z 14-24mm f/2.8 S" }, // IB
1712+ {24 , " Nikon Nikkor Z MC 105mm f/2.8 VR S" }, // IB
1713+ {25 , " Nikon Nikkor Z 40mm f/2" }, // 28
1714+ {26 , " Nikon Nikkor Z DX 18-140mm f/3.5-6.3 VR" }, // IB
1715+ {27 , " Nikon Nikkor Z MC 50mm f/2.8" }, // IB
1716+ {28 , " Nikon Nikkor Z 100-400mm f/4.5-5.6 VR S" }, // 28
1717+ {29 , " Nikon Nikkor Z 28mm f/2.8" }, // IB
1718+ {30 , " Nikon Nikkor Z 400mm f/2.8 TC VR S" }, // 28
1719+ {31 , " Nikon Nikkor Z 24-120mm f/4 S" }, // 28
1720+ {32 , " Nikon Nikkor Z 800mm f/6.3 VR S" }, // 28
1721+ {35 , " Nikon Nikkor Z 28-75mm f/2.8" }, // IB
1722+ {36 , " Nikon Nikkor Z 400mm f/4.5 VR S" }, // IB
1723+ {37 , " Nikon Nikkor Z 600mm f/4 TC VR S" }, // 28
1724+ {38 , " Nikon Nikkor Z 85mm f/1.2 S" }, // 28
1725+ {39 , " Nikon Nikkor Z 17-28mm f/2.8" }, // IB
1726+ {40 , " Nikon Nikkor Z 26mm f/2.8" },
1727+ {41 , " Nikon Nikkor Z DX 12-28mm f/3.5-5.6 PZ VR" },
1728+ {42 , " Nikon Nikkor Z 180-600mm f/5.6-6.3 VR" },
1729+ {43 , " Nikon Nikkor Z DX 24mm f/1.7" },
1730+ {44 , " Nikon Nikkor Z 70-180mm f/2.8" },
1731+ {45 , " Nikon Nikkor Z 600mm f/6.3 VR S" },
1732+ {46 , " Nikon Nikkor Z 135mm f/1.8 S Plena" },
1733+ {47 , " Nikon Nikkor Z 35mm f/1.2 S" },
1734+ {48 , " Nikon Nikkor Z 28-400mm f/4-8 VR" },
1735+ {49 , " Nikon Nikkor Z 28-135mm f/4 PZ" },
1736+ {51 , " Nikon Nikkor Z 35mm f/1.4" },
1737+ {52 , " Nikon Nikkor Z 50mm f/1.4" },
1738+ {2305 , " Laowa FFII 10mm F2.8 C&D Dreamer" },
1739+ {53251 , " Sigma 56mm F1.4 DC DN | C" },
1740+ {57346 , " Tamron 35-150mm F/2-2.8 Di III VXD" },
1741+ };
1742+
16921743// Nikon3 Lens Data 4 Tag Info
16931744// based on https://exiftool.org/TagNames/Nikon.html#LensData0800
16941745constexpr TagInfo Nikon3MakerNote::tagInfoLd4_[] = {
@@ -1721,7 +1772,7 @@ constexpr TagInfo Nikon3MakerNote::tagInfoLd4_[] = {
17211772 {20 , " EffectiveMaxAperture" , N_ (" Effective Max Aperture" ), N_ (" Effective max aperture" ), IfdId::nikonLd4Id,
17221773 SectionId::makerTags, unsignedByte, 1 , printAperture},
17231774 {48 , " LensID" , N_ (" LensID" ), N_ (" Lens ID" ), IfdId::nikonLd4Id, SectionId::makerTags, unsignedShort, 1 ,
1724- printLensId4ZMount },
1775+ EXV_PRINT_TAG (nikonZMountLensId) },
17251776 {54 , " MaxAperture" , N_ (" Max Aperture" ), N_ (" Max aperture" ), IfdId::nikonLd4Id, SectionId::makerTags, unsignedShort,
17261777 1 , printApertureLd4},
17271778 {56 , " FNumber" , N_ (" F-Number" ), N_ (" F-Number" ), IfdId::nikonLd4Id, SectionId::makerTags, unsignedShort, 1 ,
@@ -3849,67 +3900,6 @@ std::ostream& Nikon3MakerNote::print0x009e(std::ostream& os, const Value& value,
38493900 return os << s;
38503901}
38513902
3852- std::ostream& Nikon3MakerNote::printLensId4ZMount (std::ostream& os, const Value& value, const ExifData*) {
3853- if (value.count () != 1 || value.typeId () != unsignedShort) {
3854- return os << " (" << value << " )" ;
3855- }
3856-
3857- // cf. https://github.com/exiftool/exiftool/blob/13.16/lib/Image/ExifTool/Nikon.pm#L5668
3858- static constexpr std::tuple<uint16_t , const char *, const char *> zmountlens[] = {
3859- {1 , " Nikon" , " Nikkor Z 24-70mm f/4 S" },
3860- {2 , " Nikon" , " Nikkor Z 14-30mm f/4 S" },
3861- {4 , " Nikon" , " Nikkor Z 35mm f/1.8 S" },
3862- {8 , " Nikon" , " Nikkor Z 58mm f/0.95 S Noct" }, // IB
3863- {9 , " Nikon" , " Nikkor Z 50mm f/1.8 S" },
3864- {11 , " Nikon" , " Nikkor Z DX 16-50mm f/3.5-6.3 VR" },
3865- {12 , " Nikon" , " Nikkor Z DX 50-250mm f/4.5-6.3 VR" },
3866- {13 , " Nikon" , " Nikkor Z 24-70mm f/2.8 S" },
3867- {14 , " Nikon" , " Nikkor Z 85mm f/1.8 S" },
3868- {15 , " Nikon" , " Nikkor Z 24mm f/1.8 S" }, // IB
3869- {16 , " Nikon" , " Nikkor Z 70-200mm f/2.8 VR S" }, // IB
3870- {17 , " Nikon" , " Nikkor Z 20mm f/1.8 S" }, // IB
3871- {18 , " Nikon" , " Nikkor Z 24-200mm f/4-6.3 VR" }, // IB
3872- {21 , " Nikon" , " Nikkor Z 50mm f/1.2 S" }, // IB
3873- {22 , " Nikon" , " Nikkor Z 24-50mm f/4-6.3" }, // IB
3874- {23 , " Nikon" , " Nikkor Z 14-24mm f/2.8 S" }, // IB
3875- {24 , " Nikon" , " Nikkor Z MC 105mm f/2.8 VR S" }, // IB
3876- {25 , " Nikon" , " Nikkor Z 40mm f/2" }, // 28
3877- {26 , " Nikon" , " Nikkor Z DX 18-140mm f/3.5-6.3 VR" }, // IB
3878- {27 , " Nikon" , " Nikkor Z MC 50mm f/2.8" }, // IB
3879- {28 , " Nikon" , " Nikkor Z 100-400mm f/4.5-5.6 VR S" }, // 28
3880- {29 , " Nikon" , " Nikkor Z 28mm f/2.8" }, // IB
3881- {30 , " Nikon" , " Nikkor Z 400mm f/2.8 TC VR S" }, // 28
3882- {31 , " Nikon" , " Nikkor Z 24-120mm f/4 S" }, // 28
3883- {32 , " Nikon" , " Nikkor Z 800mm f/6.3 VR S" }, // 28
3884- {35 , " Nikon" , " Nikkor Z 28-75mm f/2.8" }, // IB
3885- {36 , " Nikon" , " Nikkor Z 400mm f/4.5 VR S" }, // IB
3886- {37 , " Nikon" , " Nikkor Z 600mm f/4 TC VR S" }, // 28
3887- {38 , " Nikon" , " Nikkor Z 85mm f/1.2 S" }, // 28
3888- {39 , " Nikon" , " Nikkor Z 17-28mm f/2.8" }, // IB
3889- {40 , " Nikon" , " Nikkor Z 26mm f/2.8" },
3890- {41 , " Nikon" , " Nikkor Z DX 12-28mm f/3.5-5.6 PZ VR" },
3891- {42 , " Nikon" , " Nikkor Z 180-600mm f/5.6-6.3 VR" },
3892- {43 , " Nikon" , " Nikkor Z DX 24mm f/1.7" },
3893- {44 , " Nikon" , " Nikkor Z 70-180mm f/2.8" },
3894- {45 , " Nikon" , " Nikkor Z 600mm f/6.3 VR S" },
3895- {46 , " Nikon" , " Nikkor Z 135mm f/1.8 S Plena" },
3896- {47 , " Nikon" , " Nikkor Z 35mm f/1.2 S" },
3897- {48 , " Nikon" , " Nikkor Z 28-400mm f/4-8 VR" },
3898- {49 , " Nikon" , " Nikkor Z 28-135mm f/4 PZ" },
3899- {51 , " Nikon" , " Nikkor Z 35mm f/1.4" },
3900- {52 , " Nikon" , " Nikkor Z 50mm f/1.4" },
3901- {2305 , " Laowa" , " FFII 10mm F2.8 C&D Dreamer" },
3902- {53251 , " Sigma" , " 56mm F1.4 DC DN | C" },
3903- {57346 , " Tamron" , " 35-150mm F/2-2.8 Di III VXD" },
3904- };
3905-
3906- auto lid = static_cast <uint16_t >(value.toInt64 ());
3907- for (auto && [l, manuf, lensname] : zmountlens)
3908- if (l == lid)
3909- return os << manuf << " " << lensname;
3910- return os << " (" << value << " )" ;
3911- }
3912-
39133903std::ostream& Nikon3MakerNote::printApertureLd4 (std::ostream& os, const Value& value, const ExifData*) {
39143904 if (value.count () != 1 || value.typeId () != unsignedShort) {
39153905 return os << " (" << value << " )" ;
0 commit comments