Implementation
final ExifImageTags = <int, ExifTag>{
0x000B: ExifTag('ProcessingSoftware', ExifValueType.Ascii),
0x00FE: ExifTag('SubfileType', ExifValueType.Long),
0x00FF: ExifTag('OldSubfileType', ExifValueType.Long),
0x0100: ExifTag('ImageWidth', ExifValueType.Long),
0x0101: ExifTag('ImageLength', ExifValueType.Long),
0x0102: ExifTag('BitsPerSample', ExifValueType.Short),
0x0103: ExifTag('Compression', ExifValueType.Short),
0x0106: ExifTag('PhotometricInterpretation', ExifValueType.Short),
0x0107: ExifTag('Thresholding', ExifValueType.Short),
0x0108: ExifTag('CellWidth', ExifValueType.Short),
0x0109: ExifTag('CellLength', ExifValueType.Short),
0x010A: ExifTag('FillOrder', ExifValueType.Short),
0x010D: ExifTag('DocumentName', ExifValueType.Ascii),
0x010E: ExifTag('ImageDescription', ExifValueType.Ascii),
0x010F: ExifTag('Make', ExifValueType.Ascii),
0x0110: ExifTag('Model', ExifValueType.Ascii),
0x0111: ExifTag('StripOffsets', ExifValueType.Long),
0x0112: ExifTag('Orientation', ExifValueType.Short),
0x0115: ExifTag('SamplesPerPixel', ExifValueType.Short),
0x0116: ExifTag('RowsPerStrip', ExifValueType.Long),
0x0117: ExifTag('StripByteCounts', ExifValueType.Long),
0x0118: ExifTag('MinSampleValue', ExifValueType.Short),
0x0119: ExifTag('MaxSampleValue', ExifValueType.Short),
0x011A: ExifTag('XResolution', ExifValueType.Rational),
0x011B: ExifTag('YResolution', ExifValueType.Rational),
0x011C: ExifTag('PlanarConfiguration', ExifValueType.Short),
0x011D: ExifTag('PageName', ExifValueType.Ascii),
0x011E: ExifTag('XPosition', ExifValueType.Rational),
0x011F: ExifTag('YPosition', ExifValueType.Rational),
0x0122: ExifTag('GrayResponseUnit', ExifValueType.Short),
0x0123: ExifTag('GrayResponseCurve'),
0x0124: ExifTag('T4Options'),
0x0125: ExifTag('T6Options'),
0x0128: ExifTag('ResolutionUnit', ExifValueType.Short),
0x0129: ExifTag('PageNumber', ExifValueType.Short, 2),
0x012C: ExifTag('ColorResponseUnit'),
0x012D: ExifTag('TransferFunction', ExifValueType.Short, 768),
0x0131: ExifTag('Software', ExifValueType.Ascii),
0x0132: ExifTag('DateTime', ExifValueType.Ascii),
0x013B: ExifTag('Artist', ExifValueType.Ascii),
0x013C: ExifTag('HostComputer', ExifValueType.Ascii),
0x013D: ExifTag('Predictor', ExifValueType.Short),
0x013E: ExifTag('WhitePoint', ExifValueType.Rational, 2),
0x013F: ExifTag('PrimaryChromaticities', ExifValueType.Rational, 6),
0x0140: ExifTag('ColorMap'),
0x0141: ExifTag('HalftoneHints', ExifValueType.Short, 2),
0x0142: ExifTag('TileWidth', ExifValueType.Long),
0x0143: ExifTag('TileLength', ExifValueType.Long),
0x0144: ExifTag('TileOffsets'),
0x0145: ExifTag('TileByteCounts'),
0x0146: ExifTag('BadFaxLines'),
0x0147: ExifTag('CleanFaxData'),
0x0148: ExifTag('ConsecutiveBadFaxLines'),
0x014C: ExifTag('InkSet'),
0x014D: ExifTag('InkNames'),
0x014E: ExifTag('NumberofInks'),
0x0150: ExifTag('DotRange'),
0x0151: ExifTag('TargetPrinter', ExifValueType.Ascii),
0x0152: ExifTag('ExtraSamples'),
0x0153: ExifTag('SampleFormat'),
0x0154: ExifTag('SMinSampleValue'),
0x0155: ExifTag('SMaxSampleValue'),
0x0156: ExifTag('TransferRange'),
0x0157: ExifTag('ClipPath'),
0x0200: ExifTag('JPEGProc'),
0x0201: ExifTag('JPEGInterchangeFormat'),
0x0202: ExifTag('JPEGInterchangeFormatLength'),
0x0211: ExifTag('YCbCrCoefficients', ExifValueType.Rational, 3),
0x0212: ExifTag('YCbCrSubSampling', ExifValueType.Short),
0x0213: ExifTag('YCbCrPositioning', ExifValueType.Short),
0x0214: ExifTag('ReferenceBlackWhite', ExifValueType.Rational, 6),
0x02BC: ExifTag('ApplicationNotes', ExifValueType.Short), // XPM Info
0x4746: ExifTag('Rating', ExifValueType.Short),
0x828D: ExifTag('CFARepeatPatternDim'),
0x828E: ExifTag('CFAPattern'),
0x828F: ExifTag('BatteryLevel'),
0x8298: ExifTag('Copyright', ExifValueType.Ascii),
0x829A: ExifTag('ExposureTime', ExifValueType.Rational),
0x829D: ExifTag('FNumber', ExifValueType.Rational),
0x83BB: ExifTag('IPTC-NAA', ExifValueType.Long),
0x8769: ExifTag('ExifOffset'), // Exif Tags
0x8773: ExifTag('InterColorProfile'),
0x8822: ExifTag('ExposureProgram', ExifValueType.Short),
0x8824: ExifTag('SpectralSensitivity', ExifValueType.Ascii),
0x8825: ExifTag('GPSOffset'), // GPS tags
0x8827: ExifTag('ISOSpeed', ExifValueType.Long),
0x8828: ExifTag('OECF'),
0x8830: ExifTag('SensitivityType', ExifValueType.Short),
0x8832: ExifTag('RecommendedExposureIndex', ExifValueType.Long),
0x8833: ExifTag('ISOSpeed', ExifValueType.Long),
0x9000: ExifTag('ExifVersion', ExifValueType.Undefined),
0x9003: ExifTag('DateTimeOriginal', ExifValueType.Ascii),
0x9004: ExifTag('DateTimeDigitized', ExifValueType.Ascii),
0x9010: ExifTag('OffsetTime', ExifValueType.Ascii),
0x9011: ExifTag('OffsetTimeOriginal', ExifValueType.Ascii),
0x9012: ExifTag('OffsetTimeDigitized', ExifValueType.Ascii),
0x9101: ExifTag('ComponentsConfiguration', ),
0x9102: ExifTag('CompressedBitsPerPixel'),
0x9201: ExifTag('ShutterSpeedValue'),
0x9202: ExifTag('ApertureValue'),
0x9203: ExifTag('BrightnessValue'),
0x9204: ExifTag('ExposureBiasValue'),
0x9205: ExifTag('MaxApertureValue'),
0x9206: ExifTag('SubjectDistance'),
0x9207: ExifTag('MeteringMode'),
0x9208: ExifTag('LightSource'),
0x9209: ExifTag('Flash'),
0x920A: ExifTag('FocalLength'),
0x9214: ExifTag('SubjectArea'),
0x927C: ExifTag('MakerNote'),
0x9286: ExifTag('UserComment'),
0x9290: ExifTag('SubSecTime'),
0x9291: ExifTag('SubSecTimeOriginal'),
0x9292: ExifTag('SubSecTimeDigitized'),
0x9C9B: ExifTag('XPTitle'),
0x9C9C: ExifTag('XPComment'),
0x9C9D: ExifTag('XPAuthor'),
0x9C9E: ExifTag('XPKeywords'),
0x9C9F: ExifTag('XPSubject'),
0xA000: ExifTag('FlashPixVersion'),
0xA001: ExifTag('ColorSpace', ExifValueType.Short),
0xA002: ExifTag('ExifImageWidth', ExifValueType.Short),
0xA003: ExifTag('ExifImageLength', ExifValueType.Short),
0xA004: ExifTag('RelatedSoundFile'),
0xA005: ExifTag('InteroperabilityOffset'),
0xA20B: ExifTag('FlashEnergy'), // 0x920B in TIFF/EP
0xA20C: ExifTag('SpatialFrequencyResponse'),
0xA20E: ExifTag('FocalPlaneXResolution'),
0xA20F: ExifTag('FocalPlaneYResolution'),
0xA210: ExifTag('FocalPlaneResolutionUnit'),
0xA214: ExifTag('SubjectLocation'),
0xA215: ExifTag('ExposureIndex'),
0xA217: ExifTag('SensingMethod'),
0xA300: ExifTag('FileSource'),
0xA301: ExifTag('SceneType'),
0xA302: ExifTag('CVAPattern'),
0xA401: ExifTag('CustomRendered'),
0xA402: ExifTag('ExposureMode'),
0xA403: ExifTag('WhiteBalance'),
0xA404: ExifTag('DigitalZoomRatio'),
0xA405: ExifTag('FocalLengthIn35mmFilm'),
0xA406: ExifTag('SceneCaptureType'),
0xA407: ExifTag('GainControl'),
0xA408: ExifTag('Contrast'),
0xA409: ExifTag('Saturation'),
0xA40A: ExifTag('Sharpness'),
0xA40B: ExifTag('DeviceSettingDescription'),
0xA40C: ExifTag('SubjectDistanceRange'),
0xA420: ExifTag('ImageUniqueID'),
0xA430: ExifTag('CameraOwnerName', ExifValueType.Ascii),
0xA431: ExifTag('BodySerialNumber', ExifValueType.Ascii),
0xA432: ExifTag('LensSpecification'),
0xA433: ExifTag('LensMake', ExifValueType.Ascii),
0xA434: ExifTag('LensModel', ExifValueType.Ascii),
0xA435: ExifTag('LensSerialNumber', ExifValueType.Ascii),
0xA500: ExifTag('Gamma', ExifValueType.Rational),
0xC4A5: ExifTag('PrintIM'),
0xEA1C: ExifTag('Padding'),
0xEA1D: ExifTag('OffsetSchema'),
0xFDE8: ExifTag('OwnerName', ExifValueType.Ascii),
0xFDE9: ExifTag('SerialNumber', ExifValueType.Ascii),
};