Module print_conv

Source
Expand description

PrintConv implementations for exif-oxide

This module contains manual implementations of ExifTool’s PrintConv functions. Each function converts a raw tag value to a human-readable string.

All implementations are direct translations from ExifTool source code, with comments pointing back to the original ExifTool references.

Functions§

colorspace_print_conv
EXIF ColorSpace PrintConv ExifTool: lib/Image/ExifTool/Exif.pm:2620-2638
composite_gps_gpsaltitude_print_conv
Composite GPS Altitude PrintConv ExifTool: lib/Image/ExifTool/GPS.pm:423-431 Formats GPS altitude with “Above/Below Sea Level” based on sign
exposureprogram_print_conv
EXIF ExposureProgram PrintConv ExifTool: lib/Image/ExifTool/Exif.pm:2082-2097 NOTE: Value 9 is not standard EXIF but used by some Canon models
exposuretime_print_conv
ExposureTime PrintConv - formats shutter speed ExifTool: lib/Image/ExifTool/Exif.pm:5595-5605 PrintExposureTime Converts decimal seconds to fractional notation (e.g., 0.0005 -> “1/2000”)
flash_print_conv
EXIF Flash PrintConv ExifTool: lib/Image/ExifTool/Exif.pm:164-197, tag definition lines 2379-2386 NOTE: This is NOT a bitmask conversion - ExifTool uses direct hash lookup for specific combined values
fnumber_print_conv
FNumber PrintConv - formats f-stop values ExifTool: lib/Image/ExifTool/Exif.pm PrintFNumber function (lines 5607-5615) Uses 2 decimal places for values < 1.0, 1 decimal place for values >= 1.0 NOTE: This returns a numeric TagValue to preserve JSON numeric serialization
focallength_in_35mm_format_print_conv
FocalLengthIn35mmFormat PrintConv - formats 35mm equivalent focal length ExifTool: lib/Image/ExifTool/Exif.pm lines 2827-2834 PrintConv => ‘“$val mm”’,
focallength_print_conv
FocalLength PrintConv - formats focal length with “mm” unit ExifTool: lib/Image/ExifTool/Exif.pm lines 2387-2393 Note: We normalize ExifTool’s inconsistent formatting to show integers without decimals
gpsaltitude_print_conv
GPS Altitude PrintConv ExifTool: lib/Image/ExifTool/GPS.pm:124 - ‘$val =~ /^(inf|undef)$/ ? $val : “$val m”’
gpsaltituderef_print_conv
GPS AltitudeRef PrintConv ExifTool: lib/Image/ExifTool/GPS.pm GPSAltitudeRef tag definition
gpslatituderef_print_conv
GPS LatitudeRef PrintConv ExifTool: lib/Image/ExifTool/GPS.pm GPSLatitudeRef tag definition
gpslongituderef_print_conv
GPS LongitudeRef PrintConv
ExifTool: lib/Image/ExifTool/GPS.pm GPSLongitudeRef tag definition
iso_print_conv
ISO PrintConv - passthrough numeric value ExifTool outputs ISO as a JSON number, not a string This is a simple passthrough that preserves the numeric type
lensinfo_print_conv
EXIF LensInfo PrintConv ExifTool: lib/Image/ExifTool/Exif.pm PrintLensInfo function Converts 4 rational values to form “12-20mm f/3.8-4.5” or “50mm f/1.4”
meteringmode_print_conv
EXIF MeteringMode PrintConv ExifTool: lib/Image/ExifTool/Exif.pm:2357-2371
orientation_print_conv
EXIF Orientation PrintConv ExifTool: lib/Image/ExifTool/Exif.pm:281-290 (%orientation hash) Generated table: src/generated/Exif_pm/mod.rs
resolutionunit_print_conv
EXIF ResolutionUnit PrintConv ExifTool: lib/Image/ExifTool/Exif.pm:2778-2782
whitebalance_print_conv
EXIF WhiteBalance PrintConv ExifTool: lib/Image/ExifTool/Exif.pm:2809-2821
ycbcrpositioning_print_conv
EXIF YCbCrPositioning PrintConv ExifTool: lib/Image/ExifTool/Exif.pm:2802-2805