Server IP : 15.235.198.142 / Your IP : 216.73.216.208 Web Server : Apache/2.4.58 (Ubuntu) System : Linux ballsack 6.8.0-45-generic #45-Ubuntu SMP PREEMPT_DYNAMIC Fri Aug 30 12:02:04 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 8.3.6 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /var/www/rhodeworks/wp-content/plugins/nextgen-gallery/lib/pel-0.9.9/src/ |
Upload File : |
<?php /** * PEL: PHP Exif Library. * A library with support for reading and * writing all Exif headers in JPEG and TIFF images using PHP. * * Copyright (C) 2004, 2005, 2006 Martin Geisler. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program in the file COPYING; if not, write to the * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, * Boston, MA 02110-1301 USA */ namespace lsolesen\pel; /** * Classes used to hold shorts, both signed and unsigned. * * @author Martin Geisler <mgeisler@users.sourceforge.net> * @license http://www.gnu.org/licenses/gpl.html GNU General Public * License (GPL) * @package PEL */ /** * Class for holding signed shorts. * * This class can hold shorts, either just a single short or an array * of shorts. The class will be used to manipulate any of the Exif * tags which has format {@link PelFormat::SSHORT}. * * @author Martin Geisler <mgeisler@users.sourceforge.net> * @package PEL */ class PelEntrySShort extends PelEntryNumber { /** * Make a new entry that can hold a signed short. * * The method accept several integer arguments. The {@link * getValue} method will always return an array except for when a * single integer argument is given here. * * @param int $tag * the tag which this entry represents. This * should be one of the constants defined in {@link PelTag} * which has format {@link PelFormat::SSHORT}. * * @param int $value... * the signed short(s) that this entry will * represent. The argument passed must obey the same rules as the * argument to {@link setValue}, namely that it should be within * range of a signed short, that is between -32768 to 32767 * (inclusive). If not, then a {@link PelOverFlowException} will be * thrown. */ public function __construct($tag, $value = null) { $this->tag = $tag; $this->min = - 32768; $this->max = 32767; $this->format = PelFormat::SSHORT; $value = func_get_args(); array_shift($value); $this->setValueArray($value); } /** * Convert a number into bytes. * * @param int $number * the number that should be converted. * * @param boolean $order * one of {@link PelConvert::LITTLE_ENDIAN} and * {@link PelConvert::BIG_ENDIAN}, specifying the target byte order. * * @return string bytes representing the number given. */ public function numberToBytes($number, $order) { return PelConvert::sShortToBytes($number, $order); } /** * Get the value of an entry as text. * * The value will be returned in a format suitable for presentation, * e.g., instead of returning '2' for a {@link * PelTag::METERING_MODE} tag, 'Center-Weighted Average' is * returned. * * @param * boolean some values can be returned in a long or more * brief form, and this parameter controls that. * * @return string the value as text. */ public function getText($brief = false) { if ($this->ifd_type == PelIfd::CANON_FILE_INFO) { switch ($this->tag) { case PelTag::CANON_FI_BRACKET_MODE: // CC (e->components, 1, v); switch ($this->value[0]) { case 0: return Pel::tra('Off'); case 1: return Pel::tra('AEB'); case 2: return Pel::tra('FEB'); case 3: return Pel::tra('ISO'); case 4: return Pel::tra('WB'); default: return $this->value[0]; } break; case PelTag::CANON_FI_RAW_JPG_QUALITY: // CC (e->components, 1, v); switch ($this->value[0]) { case 1: return Pel::tra('Economy'); case 2: return Pel::tra('Normal'); case 3: return Pel::tra('Fine'); case 4: return Pel::tra('RAW'); case 5: return Pel::tra('Superfine'); case 130: return Pel::tra('Normal Movie'); case 131: return Pel::tra('Movie (2)'); default: return $this->value[0]; } break; case PelTag::CANON_FI_RAW_JPG_SIZE: // CC (e->components, 1, v); switch ($this->value[0]) { case 0: return Pel::tra('Large'); case 1: return Pel::tra('Medium'); case 2: return Pel::tra('Small'); case 5: return Pel::tra('Medium 1'); case 6: return Pel::tra('Medium 2'); case 7: return Pel::tra('Medium 3'); case 8: return Pel::tra('Postcard'); case 9: return Pel::tra('Widescreen'); case 10: return Pel::tra('Medium Widescreen'); case 14: return Pel::tra('Small 1'); case 15: return Pel::tra('Small 2'); case 16: return Pel::tra('Small 3'); case 128: return Pel::tra('640x480 Movie'); case 129: return Pel::tra('Medium Movie'); case 130: return Pel::tra('Small Movie'); case 137: return Pel::tra('1280x720 Movie'); case 142: return Pel::tra('1920x1080 Movie'); default: return $this->value[0]; } break; case PelTag::CANON_FI_NOISE_REDUCTION: // CC (e->components, 1, v); switch ($this->value[0]) { case 0: return Pel::tra('Off'); case 1: return Pel::tra('On (1D)'); case 3: return Pel::tra('On'); case 4: return Pel::tra('Auto'); default: return $this->value[0]; } break; case PelTag::CANON_FI_WB_BRACKET_MODE: // CC (e->components, 1, v); switch ($this->value[0]) { case 0: return Pel::tra('Off'); case 1: return Pel::tra('On (shift AB)'); case 2: return Pel::tra('On (shift GM)'); default: return $this->value[0]; } break; case PelTag::CANON_FI_FILTER_EFFECT: // CC (e->components, 1, v); switch ($this->value[0]) { case 0: return Pel::tra('None'); case 1: return Pel::tra('Yellow'); case 2: return Pel::tra('Orange'); case 3: return Pel::tra('Red'); case 4: return Pel::tra('Green'); default: return $this->value[0]; } break; case PelTag::CANON_FI_TONING_EFFECT: // CC (e->components, 1, v); switch ($this->value[0]) { case 0: return Pel::tra('None'); case 1: return Pel::tra('Sepia'); case 2: return Pel::tra('Blue'); case 3: return Pel::tra('Purple'); case 4: return Pel::tra('Green'); default: return $this->value[0]; } break; case PelTag::CANON_FI_LIVE_VIEW_SHOOTING: // CC (e->components, 1, v); switch ($this->value[0]) { case 0: return Pel::tra('Off'); case 1: return Pel::tra('On'); default: return $this->value[0]; } break; case PelTag::CANON_FI_FLASH_EXPOSURE_LOCK: // CC (e->components, 1, v); switch ($this->value[0]) { case 0: return Pel::tra('Off'); case 1: return Pel::tra('On'); default: return $this->value[0]; } break; default: return $this->value[0]; } } if ($this->ifd_type == PelIfd::CANON_CAMERA_SETTINGS) { switch ($this->tag) { case PelTag::CANON_CS_MACRO: // CC (e->components, 1, v); switch ($this->value[0]) { case 1: return Pel::tra('Macro'); case 2: return Pel::tra('Normal'); default: return $this->value[0]; } break; case PelTag::CANON_CS_QUALITY: // CC (e->components, 1, v); switch ($this->value[0]) { case 1: return Pel::tra('Economy'); case 2: return Pel::tra('Normal'); case 3: return Pel::tra('Fine'); case 4: return Pel::tra('RAW'); case 5: return Pel::tra('Superfine'); case 130: return Pel::tra('Normal Movie'); case 131: return Pel::tra('Movie (2)'); default: return $this->value[0]; } break; case PelTag::CANON_CS_FLASH_MODE: // CC (e->components, 1, v); switch ($this->value[0]) { case 0: return Pel::tra('Off'); case 1: return Pel::tra('Auto'); case 2: return Pel::tra('On'); case 3: return Pel::tra('Red-eye reduction'); case 4: return Pel::tra('Slow-sync'); case 5: return Pel::tra('Red-eye reduction (Auto)'); case 6: return Pel::tra('Red-eye reduction (On)'); case 16: return Pel::tra('External flash'); default: return $this->value[0]; } break; case PelTag::CANON_CS_DRIVE_MODE: // CC (e->components, 1, v); switch ($this->value[0]) { case 0: return Pel::tra('Single'); case 1: return Pel::tra('Continuous'); case 2: return Pel::tra('Movie'); case 3: return Pel::tra('Continuous, Speed Priority'); case 4: return Pel::tra('Continuous, Low'); case 5: return Pel::tra('Continuous, High'); case 6: return Pel::tra('Silent Single'); case 9: return Pel::tra('Single, Silent'); case 10: return Pel::tra('Continuous, Silent'); default: return $this->value[0]; } break; case PelTag::CANON_CS_FOCUS_MODE: // CC (e->components, 1, v); switch ($this->value[0]) { case 0: return Pel::tra('One-shot AF'); case 1: return Pel::tra('AI Servo AF'); case 2: return Pel::tra('AI Focus AF'); case 3: return Pel::tra('Manual Focus (3)'); case 4: return Pel::tra('Single'); case 5: return Pel::tra('Continuous'); case 6: return Pel::tra('Manual Focus (6)'); case 16: return Pel::tra('Pan Focus'); case 256: return Pel::tra('AF + MF'); case 512: return Pel::tra('Movie Snap Focus'); case 519: return Pel::tra('Movie Servo AF'); default: return $this->value[0]; } break; case PelTag::CANON_CS_RECORD_MODE: // CC (e->components, 1, v); switch ($this->value[0]) { case 1: return Pel::tra('JPEG'); case 2: return Pel::tra('CRW+THM'); case 3: return Pel::tra('AVI+THM'); case 4: return Pel::tra('TIF'); case 5: return Pel::tra('TIF+JPEG'); case 6: return Pel::tra('CR2'); case 7: return Pel::tra('CR2+JPEG'); case 9: return Pel::tra('MOV'); case 10: return Pel::tra('MP4'); default: return $this->value[0]; } break; case PelTag::CANON_CS_IMAGE_SIZE: // CC (e->components, 1, v); switch ($this->value[0]) { case 0: return Pel::tra('Large'); case 1: return Pel::tra('Medium'); case 2: return Pel::tra('Small'); case 5: return Pel::tra('Medium 1'); case 6: return Pel::tra('Medium 2'); case 7: return Pel::tra('Medium 3'); case 8: return Pel::tra('Postcard'); case 9: return Pel::tra('Widescreen'); case 10: return Pel::tra('Medium Widescreen'); case 14: return Pel::tra('Small 1'); case 15: return Pel::tra('Small 2'); case 16: return Pel::tra('Small 3'); case 128: return Pel::tra('640x480 Movie'); case 129: return Pel::tra('Medium Movie'); case 130: return Pel::tra('Small Movie'); case 137: return Pel::tra('1280x720 Movie'); case 142: return Pel::tra('1920x1080 Movie'); default: return $this->value[0]; } break; case PelTag::CANON_CS_EASY_MODE: // CC (e->components, 1, v); switch ($this->value[0]) { case 0: return Pel::tra('Full auto'); case 1: return Pel::tra('Manual'); case 2: return Pel::tra('Landscape'); case 3: return Pel::tra('Fast shutter'); case 4: return Pel::tra('Slow shutter'); case 5: return Pel::tra('Night'); case 6: return Pel::tra('Gray Scale'); case 7: return Pel::tra('Sepia'); case 8: return Pel::tra('Portrait'); case 9: return Pel::tra('Sports'); case 10: return Pel::tra('Macro'); case 11: return Pel::tra('Black & White'); case 12: return Pel::tra('Pan focus'); case 13: return Pel::tra('Vivid'); case 14: return Pel::tra('Neutral'); case 15: return Pel::tra('Flash Off'); case 16: return Pel::tra('Long Shutter'); case 17: return Pel::tra('Super Macro'); case 18: return Pel::tra('Foliage'); case 19: return Pel::tra('Indoor'); case 20: return Pel::tra('Fireworks'); case 21: return Pel::tra('Beach'); case 22: return Pel::tra('Underwater'); case 23: return Pel::tra('Snow'); case 24: return Pel::tra('Kids & Pets'); case 25: return Pel::tra('Night Snapshot'); case 26: return Pel::tra('Digital Macro'); case 27: return Pel::tra('My Colors'); case 28: return Pel::tra('Movie Snap'); case 29: return Pel::tra('Super Macro 2'); case 30: return Pel::tra('Color Accent'); case 31: return Pel::tra('Color Swap'); case 32: return Pel::tra('Aquarium'); case 33: return Pel::tra('ISO 3200'); case 34: return Pel::tra('ISO 6400'); case 35: return Pel::tra('Creative Light Effect'); case 36: return Pel::tra('Easy'); case 37: return Pel::tra('Quick Shot'); case 38: return Pel::tra('Creative Auto'); case 39: return Pel::tra('Zoom Blur'); case 40: return Pel::tra('Low Light'); case 41: return Pel::tra('Nostalgic'); case 42: return Pel::tra('Super Vivid'); case 43: return Pel::tra('Poster Effect'); case 44: return Pel::tra('Face Self-timer'); case 45: return Pel::tra('Smile'); case 46: return Pel::tra('Wink Self-timer'); case 47: return Pel::tra('Fisheye Effect'); case 48: return Pel::tra('Miniature Effect'); case 49: return Pel::tra('High-speed Burst'); case 50: return Pel::tra('Best Image Selection'); case 51: return Pel::tra('High Dynamic Range'); case 52: return Pel::tra('Handheld Night Scene'); case 53: return Pel::tra('Movie Digest'); case 54: return Pel::tra('Live View Control'); case 55: return Pel::tra('Discreet'); case 56: return Pel::tra('Blur Reduction'); case 57: return Pel::tra('Monochrome'); case 58: return Pel::tra('Toy Camera Effect'); case 59: return Pel::tra('Scene Intelligent Auto'); case 60: return Pel::tra('High-speed Burst HQ'); case 61: return Pel::tra('Smooth Skin'); case 62: return Pel::tra('Soft Focus'); case 257: return Pel::tra('Spotlight'); case 258: return Pel::tra('Night 2'); case 259: return Pel::tra('Night+'); case 260: return Pel::tra('Super Night'); case 261: return Pel::tra('Sunset'); case 263: return Pel::tra('Night Scene'); case 264: return Pel::tra('Surface'); case 265: return Pel::tra('Low Light 2'); default: return $this->value[0]; } break; case PelTag::CANON_CS_DIGITAL_ZOOM: // CC (e->components, 1, v); switch ($this->value[0]) { case 0: return Pel::tra('None'); case 1: return Pel::tra('2x'); case 2: return Pel::tra('4x'); case 3: return Pel::tra('Other'); default: return $this->value[0]; } break; case PelTag::CANON_CS_CONTRAST: // CC (e->components, 1, v); switch ($this->value[0]) { case 0: return Pel::tra('Normal'); default: return $this->value[0]; } break; case PelTag::CANON_CS_SATURATION: // CC (e->components, 1, v); switch ($this->value[0]) { case 0: return Pel::tra('Normal'); default: return $this->value[0]; } break; case PelTag::CANON_CS_METERING_MODE: // CC (e->components, 1, v); switch ($this->value[0]) { case 0: return Pel::tra('Default'); case 1: return Pel::tra('Spot'); case 2: return Pel::tra('Average'); case 3: return Pel::tra('Evaluative'); case 4: return Pel::tra('Partial'); case 5: return Pel::tra('Center-weighted average'); default: return $this->value[0]; } break; case PelTag::CANON_CS_FOCUS_TYPE: // CC (e->components, 1, v); switch ($this->value[0]) { case 0: return Pel::tra('Manual'); case 1: return Pel::tra('Auto'); case 2: return Pel::tra('Not Known'); case 3: return Pel::tra('Macro'); case 4: return Pel::tra('Very Close'); case 5: return Pel::tra('Close'); case 6: return Pel::tra('Middle Range'); case 7: return Pel::tra('Far Range'); case 8: return Pel::tra('Pan Focus'); case 9: return Pel::tra('Super Macro'); case 10: return Pel::tra('Infinity'); default: return $this->value[0]; } break; case PelTag::CANON_CS_AF_POINT: // CC (e->components, 1, v); switch ($this->value[0]) { case 0x2005: return Pel::tra('Manual AF point selection'); case 0x3000: return Pel::tra('None (MF)'); case 0x3001: return Pel::tra('Auto AF point selection'); case 0x3002: return Pel::tra('Right'); case 0x3003: return Pel::tra('Center'); case 0x3004: return Pel::tra('Left'); case 0x4001: return Pel::tra('Auto AF point selection'); case 0x4006: return Pel::tra('Face Detect'); default: return $this->value[0]; } break; case PelTag::CANON_CS_EXPOSURE_PROGRAM: // CC (e->components, 1, v); switch ($this->value[0]) { case 0: return Pel::tra('Easy'); case 1: return Pel::tra('Program AE'); case 2: return Pel::tra('Shutter speed priority AE'); case 3: return Pel::tra('Aperture-priority AE'); case 4: return Pel::tra('Manual'); case 5: return Pel::tra('Depth-of-field AE'); case 6: return Pel::tra('M-Dep'); case 7: return Pel::tra('Bulb'); default: return $this->value[0]; } break; case PelTag::CANON_CS_LENS_TYPE: // CC (e->components, 1, v); switch ($this->value[0]) { case 1: return Pel::tra('Canon EF 50mm f/1.8'); case 2: return Pel::tra('Canon EF 28mm f/2.8'); case 3: return Pel::tra('Canon EF 135mm f/2.8 Soft'); case 4: return Pel::tra('Canon EF 35-105mm f/3.5-4.5 or Sigma Lens'); case 4.1: return Pel::tra('Sigma UC Zoom 35-135mm f/4-5.6'); case 5: return Pel::tra('Canon EF 35-70mm f/3.5-4.5'); case 6: return Pel::tra('Canon EF 28-70mm f/3.5-4.5 or Sigma or Tokina Lens'); case 6.1: return Pel::tra('Sigma 18-50mm f/3.5-5.6 DC'); case 6.2: return Pel::tra('Sigma 18-125mm f/3.5-5.6 DC IF ASP'); case 6.3: return Pel::tra('Tokina AF 193-2 19-35mm f/3.5-4.5'); case 6.4: return Pel::tra('Sigma 28-80mm f/3.5-5.6 II Macro'); case 7: return Pel::tra('Canon EF 100-300mm f/5.6L'); case 8: return Pel::tra('Canon EF 100-300mm f/5.6 or Sigma or Tokina Lens'); case 8.1: return Pel::tra('Sigma 70-300mm f/4-5.6 [APO] DG Macro'); case 8.2: return Pel::tra('Tokina AT-X 242 AF 24-200mm f/3.5-5.6'); case 9: return Pel::tra('Canon EF 70-210mm f/4'); case 9.1: return Pel::tra('Sigma 55-200mm f/4-5.6 DC'); case 10: return Pel::tra('Canon EF 50mm f/2.5 Macro or Sigma Lens'); case 10.1: return Pel::tra('Sigma 50mm f/2.8 EX'); case 10.2: return Pel::tra('Sigma 28mm f/1.8'); case 10.3: return Pel::tra('Sigma 105mm f/2.8 Macro EX'); case 10.4: return Pel::tra('Sigma 70mm f/2.8 EX DG Macro EF'); case 11: return Pel::tra('Canon EF 35mm f/2'); case 13: return Pel::tra('Canon EF 15mm f/2.8 Fisheye'); case 14: return Pel::tra('Canon EF 50-200mm f/3.5-4.5L'); case 15: return Pel::tra('Canon EF 50-200mm f/3.5-4.5'); case 16: return Pel::tra('Canon EF 35-135mm f/3.5-4.5'); case 17: return Pel::tra('Canon EF 35-70mm f/3.5-4.5A'); case 18: return Pel::tra('Canon EF 28-70mm f/3.5-4.5'); case 20: return Pel::tra('Canon EF 100-200mm f/4.5A'); case 21: return Pel::tra('Canon EF 80-200mm f/2.8L'); case 22: return Pel::tra('Canon EF 20-35mm f/2.8L or Tokina Lens'); case 22.1: return Pel::tra('Tokina AT-X 280 AF Pro 28-80mm f/2.8 Aspherical'); case 23: return Pel::tra('Canon EF 35-105mm f/3.5-4.5'); case 24: return Pel::tra('Canon EF 35-80mm f/4-5.6 Power Zoom'); case 25: return Pel::tra('Canon EF 35-80mm f/4-5.6 Power Zoom'); case 26: return Pel::tra('Canon EF 100mm f/2.8 Macro or Other Lens'); case 26.1: return Pel::tra('Cosina 100mm f/3.5 Macro AF'); case 26.2: return Pel::tra('Tamron SP AF 90mm f/2.8 Di Macro'); case 26.3: return Pel::tra('Tamron SP AF 180mm f/3.5 Di Macro'); case 26.4: return Pel::tra('Carl Zeiss Planar T* 50mm f/1.4'); case 27: return Pel::tra('Canon EF 35-80mm f/4-5.6'); case 28: return Pel::tra('Canon EF 80-200mm f/4.5-5.6 or Tamron Lens'); case 28.1: return Pel::tra('Tamron SP AF 28-105mm f/2.8 LD Aspherical IF'); case 28.2: return Pel::tra('Tamron SP AF 28-75mm f/2.8 XR Di LD Aspherical [IF] Macro'); case 28.3: return Pel::tra('Tamron AF 70-300mm f/4-5.6 Di LD 1:2 Macro'); case 28.4: return Pel::tra('Tamron AF Aspherical 28-200mm f/3.8-5.6'); case 29: return Pel::tra('Canon EF 50mm f/1.8 II'); case 30: return Pel::tra('Canon EF 35-105mm f/4.5-5.6'); case 31: return Pel::tra('Canon EF 75-300mm f/4-5.6 or Tamron Lens'); case 31.1: return Pel::tra('Tamron SP AF 300mm f/2.8 LD IF'); case 32: return Pel::tra('Canon EF 24mm f/2.8 or Sigma Lens'); case 32.1: return Pel::tra('Sigma 15mm f/2.8 EX Fisheye'); case 33: return Pel::tra('Voigtlander or Carl Zeiss Lens'); case 33.1: return Pel::tra('Voigtlander Ultron 40mm f/2 SLII Aspherical'); case 33.2: return Pel::tra('Voigtlander Color Skopar 20mm f/3.5 SLII Aspherical'); case 33.3: return Pel::tra('Voigtlander APO-Lanthar 90mm f/3.5 SLII Close Focus'); case 33.4: return Pel::tra('Carl Zeiss Distagon T* 15mm f/2.8 ZE'); case 33.5: return Pel::tra('Carl Zeiss Distagon T* 18mm f/3.5 ZE'); case 33.6: return Pel::tra('Carl Zeiss Distagon T* 21mm f/2.8 ZE'); case 33.7: return Pel::tra('Carl Zeiss Distagon T* 25mm f/2 ZE'); case 33.8: return Pel::tra('Carl Zeiss Distagon T* 28mm f/2 ZE'); case 33.9: return Pel::tra('Carl Zeiss Distagon T* 35mm f/2 ZE'); case 33.10: return Pel::tra('Carl Zeiss Distagon T* 35mm f/1.4 ZE'); case 33.11: return Pel::tra('Carl Zeiss Planar T* 50mm f/1.4 ZE'); case 33.12: return Pel::tra('Carl Zeiss Makro-Planar T* 50mm f/2 ZE'); case 33.13: return Pel::tra('Carl Zeiss Makro-Planar T* 100mm f/2 ZE'); case 33.14: return Pel::tra('Carl Zeiss Apo-Sonnar T* 135mm f/2 ZE'); case 35: return Pel::tra('Canon EF 35-80mm f/4-5.6'); case 36: return Pel::tra('Canon EF 38-76mm f/4.5-5.6'); case 37: return Pel::tra('Canon EF 35-80mm f/4-5.6 or Tamron Lens'); case 37.1: return Pel::tra('Tamron 70-200mm f/2.8 Di LD IF Macro'); case 37.2: return Pel::tra('Tamron AF 28-300mm f/3.5-6.3 XR Di VC LD Aspherical [IF] Macro Model A20'); case 37.3: return Pel::tra('Tamron SP AF 17-50mm f/2.8 XR Di II VC LD Aspherical [IF]'); case 37.4: return Pel::tra('Tamron AF 18-270mm f/3.5-6.3 Di II VC LD Aspherical [IF] Macro'); case 38: return Pel::tra('Canon EF 80-200mm f/4.5-5.6'); case 39: return Pel::tra('Canon EF 75-300mm f/4-5.6'); case 40: return Pel::tra('Canon EF 28-80mm f/3.5-5.6'); case 41: return Pel::tra('Canon EF 28-90mm f/4-5.6'); case 42: return Pel::tra('Canon EF 28-200mm f/3.5-5.6 or Tamron Lens'); case 42.1: return Pel::tra('Tamron AF 28-300mm f/3.5-6.3 XR Di VC LD Aspherical [IF] Macro Model A20'); case 43: return Pel::tra('Canon EF 28-105mm f/4-5.6'); case 44: return Pel::tra('Canon EF 90-300mm f/4.5-5.6'); case 45: return Pel::tra('Canon EF-S 18-55mm f/3.5-5.6 [II]'); case 46: return Pel::tra('Canon EF 28-90mm f/4-5.6'); case 47: return Pel::tra('Zeiss Milvus 35mm f/2 or 50mm f/2'); case 47.1: return Pel::tra('Zeiss Milvus 50mm f/2 Makro'); case 48: return Pel::tra('Canon EF-S 18-55mm f/3.5-5.6 IS'); case 49: return Pel::tra('Canon EF-S 55-250mm f/4-5.6 IS'); case 50: return Pel::tra('Canon EF-S 18-200mm f/3.5-5.6 IS'); case 51: return Pel::tra('Canon EF-S 18-135mm f/3.5-5.6 IS'); case 52: return Pel::tra('Canon EF-S 18-55mm f/3.5-5.6 IS II'); case 53: return Pel::tra('Canon EF-S 18-55mm f/3.5-5.6 III'); case 54: return Pel::tra('Canon EF-S 55-250mm f/4-5.6 IS II'); case 60: return Pel::tra('Irix 11mm f/4'); case 94: return Pel::tra('Canon TS-E 17mm f/4L'); case 95: return Pel::tra('Canon TS-E 24.0mm f/3.5 L II'); case 124: return Pel::tra('Canon MP-E 65mm f/2.8 1-5x Macro Photo'); case 125: return Pel::tra('Canon TS-E 24mm f/3.5L'); case 126: return Pel::tra('Canon TS-E 45mm f/2.8'); case 127: return Pel::tra('Canon TS-E 90mm f/2.8'); case 129: return Pel::tra('Canon EF 300mm f/2.8L'); case 130: return Pel::tra('Canon EF 50mm f/1.0L'); case 131: return Pel::tra('Canon EF 28-80mm f/2.8-4L or Sigma Lens'); case 131.1: return Pel::tra('Sigma 8mm f/3.5 EX DG Circular Fisheye'); case 131.2: return Pel::tra('Sigma 17-35mm f/2.8-4 EX DG Aspherical HSM'); case 131.3: return Pel::tra('Sigma 17-70mm f/2.8-4.5 DC Macro'); case 131.4: return Pel::tra('Sigma APO 50-150mm f/2.8 [II] EX DC HSM'); case 131.5: return Pel::tra('Sigma APO 120-300mm f/2.8 EX DG HSM'); case 131.6: return Pel::tra('Sigma 4.5mm f/2.8 EX DC HSM Circular Fisheye'); case 131.7: return Pel::tra('Sigma 70-200mm f/2.8 APO EX HSM'); case 132: return Pel::tra('Canon EF 1200mm f/5.6L'); case 134: return Pel::tra('Canon EF 600mm f/4L IS'); case 135: return Pel::tra('Canon EF 200mm f/1.8L'); case 136: return Pel::tra('Canon EF 300mm f/2.8L'); case 137: return Pel::tra('Canon EF 85mm f/1.2L or Sigma or Tamron Lens'); case 137.1: return Pel::tra('Sigma 18-50mm f/2.8-4.5 DC OS HSM'); case 137.2: return Pel::tra('Sigma 50-200mm f/4-5.6 DC OS HSM'); case 137.3: return Pel::tra('Sigma 18-250mm f/3.5-6.3 DC OS HSM'); case 137.4: return Pel::tra('Sigma 24-70mm f/2.8 IF EX DG HSM'); case 137.5: return Pel::tra('Sigma 18-125mm f/3.8-5.6 DC OS HSM'); case 137.6: return Pel::tra('Sigma 17-70mm f/2.8-4 DC Macro OS HSM | C'); case 137.7: return Pel::tra('Sigma 17-50mm f/2.8 OS HSM'); case 137.8: return Pel::tra('Sigma 18-200mm f/3.5-6.3 DC OS HSM [II]'); case 137.9: return Pel::tra('Tamron AF 18-270mm f/3.5-6.3 Di II VC PZD'); case 137.10: return Pel::tra('Sigma 8-16mm f/4.5-5.6 DC HSM'); case 137.11: return Pel::tra('Tamron SP 17-50mm f/2.8 XR Di II VC'); case 137.12: return Pel::tra('Tamron SP 60mm f/2 Macro Di II'); case 137.13: return Pel::tra('Sigma 10-20mm f/3.5 EX DC HSM'); case 137.14: return Pel::tra('Tamron SP 24-70mm f/2.8 Di VC USD'); case 137.15: return Pel::tra('Sigma 18-35mm f/1.8 DC HSM'); case 137.16: return Pel::tra('Sigma 12-24mm f/4.5-5.6 DG HSM II'); case 138: return Pel::tra('Canon EF 28-80mm f/2.8-4L'); case 139: return Pel::tra('Canon EF 400mm f/2.8L'); case 140: return Pel::tra('Canon EF 500mm f/4.5L'); case 141: return Pel::tra('Canon EF 500mm f/4.5L'); case 142: return Pel::tra('Canon EF 300mm f/2.8L IS'); case 143: return Pel::tra('Canon EF 500mm f/4L IS or Sigma Lens'); case 143.1: return Pel::tra('Sigma 17-70mm f/2.8-4 DC Macro OS HSM'); case 144: return Pel::tra('Canon EF 35-135mm f/4-5.6 USM'); case 145: return Pel::tra('Canon EF 100-300mm f/4.5-5.6 USM'); case 146: return Pel::tra('Canon EF 70-210mm f/3.5-4.5 USM'); case 147: return Pel::tra('Canon EF 35-135mm f/4-5.6 USM'); case 148: return Pel::tra('Canon EF 28-80mm f/3.5-5.6 USM'); case 149: return Pel::tra('Canon EF 100mm f/2 USM'); case 150: return Pel::tra('Canon EF 14mm f/2.8L or Sigma Lens'); case 150.1: return Pel::tra('Sigma 20mm EX f/1.8'); case 150.2: return Pel::tra('Sigma 30mm f/1.4 DC HSM'); case 150.3: return Pel::tra('Sigma 24mm f/1.8 DG Macro EX'); case 150.4: return Pel::tra('Sigma 28mm f/1.8 DG Macro EX'); case 151: return Pel::tra('Canon EF 200mm f/2.8L'); case 152: return Pel::tra('Canon EF 300mm f/4L IS or Sigma Lens'); case 152.1: return Pel::tra('Sigma 12-24mm f/4.5-5.6 EX DG ASPHERICAL HSM'); case 152.2: return Pel::tra('Sigma 14mm f/2.8 EX Aspherical HSM'); case 152.3: return Pel::tra('Sigma 10-20mm f/4-5.6'); case 152.4: return Pel::tra('Sigma 100-300mm f/4'); case 153: return Pel::tra('Canon EF 35-350mm f/3.5-5.6L or Sigma or Tamron Lens'); case 153.1: return Pel::tra('Sigma 50-500mm f/4-6.3 APO HSM EX'); case 153.2: return Pel::tra('Tamron AF 28-300mm f/3.5-6.3 XR LD Aspherical [IF] Macro'); case 153.3: return Pel::tra('Tamron AF 18-200mm f/3.5-6.3 XR Di II LD Aspherical [IF] Macro Model A14'); case 153.4: return Pel::tra('Tamron 18-250mm f/3.5-6.3 Di II LD Aspherical [IF] Macro'); case 154: return Pel::tra('Canon EF 20mm f/2.8 USM or Zeiss Lens'); case 154.1: return Pel::tra('Zeiss Milvus 21mm f/2.8'); case 155: return Pel::tra('Canon EF 85mm f/1.8 USM'); case 156: return Pel::tra('Canon EF 28-105mm f/3.5-4.5 USM or Tamron Lens'); case 156.1: return Pel::tra('Tamron SP 70-300mm f/4.0-5.6 Di VC USD'); case 156.2: return Pel::tra('Tamron SP AF 28-105mm f/2.8 LD Aspherical IF'); case 160: return Pel::tra('Canon EF 20-35mm f/3.5-4.5 USM or Tamron or Tokina Lens'); case 160.1: return Pel::tra('Tamron AF 19-35mm f/3.5-4.5'); case 160.2: return Pel::tra('Tokina AT-X 124 AF Pro DX 12-24mm f/4'); case 160.3: return Pel::tra('Tokina AT-X 107 AF DX 10-17mm f/3.5-4.5 Fisheye'); case 160.4: return Pel::tra('Tokina AT-X 116 AF Pro DX 11-16mm f/2.8'); case 160.5: return Pel::tra('Tokina AT-X 11-20 F2.8 PRO DX Aspherical 11-20mm f/2.8'); case 161: return Pel::tra('Canon EF 28-70mm f/2.8L or Sigma or Tamron Lens'); case 161.1: return Pel::tra('Sigma 24-70mm f/2.8 EX'); case 161.2: return Pel::tra('Sigma 28-70mm f/2.8 EX'); case 161.3: return Pel::tra('Sigma 24-60mm f/2.8 EX DG'); case 161.4: return Pel::tra('Tamron AF 17-50mm f/2.8 Di-II LD Aspherical'); case 161.5: return Pel::tra('Tamron 90mm f/2.8'); case 161.6: return Pel::tra('Tamron SP AF 17-35mm f/2.8-4 Di LD Aspherical IF'); case 161.7: return Pel::tra('Tamron SP AF 28-75mm f/2.8 XR Di LD Aspherical [IF] Macro'); case 162: return Pel::tra('Canon EF 200mm f/2.8L'); case 163: return Pel::tra('Canon EF 300mm f/4L'); case 164: return Pel::tra('Canon EF 400mm f/5.6L'); case 165: return Pel::tra('Canon EF 70-200mm f/2.8 L'); case 166: return Pel::tra('Canon EF 70-200mm f/2.8 L + 1.4x'); case 167: return Pel::tra('Canon EF 70-200mm f/2.8 L + 2x'); case 168: return Pel::tra('Canon EF 28mm f/1.8 USM or Sigma Lens'); case 168.1: return Pel::tra('Sigma 50-100mm f/1.8 DC HSM | A'); case 169: return Pel::tra('Canon EF 17-35mm f/2.8L or Sigma Lens'); case 169.1: return Pel::tra('Sigma 18-200mm f/3.5-6.3 DC OS'); case 169.2: return Pel::tra('Sigma 15-30mm f/3.5-4.5 EX DG Aspherical'); case 169.3: return Pel::tra('Sigma 18-50mm f/2.8 Macro'); case 169.4: return Pel::tra('Sigma 50mm f/1.4 EX DG HSM'); case 169.5: return Pel::tra('Sigma 85mm f/1.4 EX DG HSM'); case 169.6: return Pel::tra('Sigma 30mm f/1.4 EX DC HSM'); case 169.7: return Pel::tra('Sigma 35mm f/1.4 DG HSM'); case 170: return Pel::tra('Canon EF 200mm f/2.8L II'); case 171: return Pel::tra('Canon EF 300mm f/4L'); case 172: return Pel::tra('Canon EF 400mm f/5.6L or Sigma Lens'); case 172.1: return Pel::tra('Sigma 150-600mm f/5-6.3 DG OS HSM | S'); case 173: return Pel::tra('Canon EF 180mm Macro f/3.5L or Sigma Lens'); case 173.1: return Pel::tra('Sigma 180mm EX HSM Macro f/3.5'); case 173.2: return Pel::tra('Sigma APO Macro 150mm f/2.8 EX DG HSM'); case 174: return Pel::tra('Canon EF 135mm f/2L or Other Lens'); case 174.1: return Pel::tra('Sigma 70-200mm f/2.8 EX DG APO OS HSM'); case 174.2: return Pel::tra('Sigma 50-500mm f/4.5-6.3 APO DG OS HSM'); case 174.3: return Pel::tra('Sigma 150-500mm f/5-6.3 APO DG OS HSM'); case 174.4: return Pel::tra('Zeiss Milvus 100mm f/2 Makro'); case 175: return Pel::tra('Canon EF 400mm f/2.8L'); case 176: return Pel::tra('Canon EF 24-85mm f/3.5-4.5 USM'); case 177: return Pel::tra('Canon EF 300mm f/4L IS'); case 178: return Pel::tra('Canon EF 28-135mm f/3.5-5.6 IS'); case 179: return Pel::tra('Canon EF 24mm f/1.4L'); case 180: return Pel::tra('Canon EF 35mm f/1.4L or Other Lens'); case 180.1: return Pel::tra('Sigma 50mm f/1.4 DG HSM | A'); case 180.2: return Pel::tra('Sigma 24mm f/1.4 DG HSM | A'); case 180.3: return Pel::tra('Zeiss Milvus 50mm f/1.4'); case 180.4: return Pel::tra('Zeiss Milvus 85mm f/1.4'); case 180.5: return Pel::tra('Zeiss Otus 28mm f/1.4 ZE'); case 181: return Pel::tra('Canon EF 100-400mm f/4.5-5.6L IS + 1.4x or Sigma Lens'); case 181.1: return Pel::tra('Sigma 150-600mm f/5-6.3 DG OS HSM | S + 1.4x'); case 182: return Pel::tra('Canon EF 100-400mm f/4.5-5.6L IS + 2x or Sigma Lens'); case 182.1: return Pel::tra('Sigma 150-600mm f/5-6.3 DG OS HSM | S + 2x'); case 183: return Pel::tra('Canon EF 100-400mm f/4.5-5.6L IS or Sigma Lens'); case 183.1: return Pel::tra('Sigma 150mm f/2.8 EX DG OS HSM APO Macro'); case 183.2: return Pel::tra('Sigma 105mm f/2.8 EX DG OS HSM Macro'); case 183.3: return Pel::tra('Sigma 180mm f/2.8 EX DG OS HSM APO Macro'); case 183.4: return Pel::tra('Sigma 150-600mm f/5-6.3 DG OS HSM | C'); case 183.5: return Pel::tra('Sigma 150-600mm f/5-6.3 DG OS HSM | S'); case 183.6: return Pel::tra('Sigma 100-400mm f/5-6.3 DG OS HSM'); case 184: return Pel::tra('Canon EF 400mm f/2.8L + 2x'); case 185: return Pel::tra('Canon EF 600mm f/4L IS'); case 186: return Pel::tra('Canon EF 70-200mm f/4L'); case 187: return Pel::tra('Canon EF 70-200mm f/4L + 1.4x'); case 188: return Pel::tra('Canon EF 70-200mm f/4L + 2x'); case 189: return Pel::tra('Canon EF 70-200mm f/4L + 2.8x'); case 190: return Pel::tra('Canon EF 100mm f/2.8 Macro USM'); case 191: return Pel::tra('Canon EF 400mm f/4 DO IS'); case 193: return Pel::tra('Canon EF 35-80mm f/4-5.6 USM'); case 194: return Pel::tra('Canon EF 80-200mm f/4.5-5.6 USM'); case 195: return Pel::tra('Canon EF 35-105mm f/4.5-5.6 USM'); case 196: return Pel::tra('Canon EF 75-300mm f/4-5.6 USM'); case 197: return Pel::tra('Canon EF 75-300mm f/4-5.6 IS USM or Sigma Lens'); case 197.1: return Pel::tra('Sigma 18-300mm f/3.5-6.3 DC Macro OS HS'); case 198: return Pel::tra('Canon EF 50mm f/1.4 USM or Zeiss Lens'); case 198.1: return Pel::tra('Zeiss Otus 55mm f/1.4 ZE'); case 198.2: return Pel::tra('Zeiss Otus 85mm f/1.4 ZE'); case 199: return Pel::tra('Canon EF 28-80mm f/3.5-5.6 USM'); case 200: return Pel::tra('Canon EF 75-300mm f/4-5.6 USM'); case 201: return Pel::tra('Canon EF 28-80mm f/3.5-5.6 USM'); case 202: return Pel::tra('Canon EF 28-80mm f/3.5-5.6 USM IV'); case 208: return Pel::tra('Canon EF 22-55mm f/4-5.6 USM'); case 209: return Pel::tra('Canon EF 55-200mm f/4.5-5.6'); case 210: return Pel::tra('Canon EF 28-90mm f/4-5.6 USM'); case 211: return Pel::tra('Canon EF 28-200mm f/3.5-5.6 USM'); case 212: return Pel::tra('Canon EF 28-105mm f/4-5.6 USM'); case 213: return Pel::tra('Canon EF 90-300mm f/4.5-5.6 USM or Tamron Lens'); case 213.1: return Pel::tra('Tamron SP 150-600mm f/5-6.3 Di VC USD'); case 213.2: return Pel::tra('Tamron 16-300mm f/3.5-6.3 Di II VC PZD Macro'); case 213.3: return Pel::tra('Tamron SP 35mm f/1.8 Di VC USD'); case 213.4: return Pel::tra('Tamron SP 45mm f/1.8 Di VC USD'); case 214: return Pel::tra('Canon EF-S 18-55mm f/3.5-5.6 USM'); case 215: return Pel::tra('Canon EF 55-200mm f/4.5-5.6 II USM'); case 217: return Pel::tra('Tamron AF 18-270mm f/3.5-6.3 Di II VC PZD'); case 224: return Pel::tra('Canon EF 70-200mm f/2.8L IS'); case 225: return Pel::tra('Canon EF 70-200mm f/2.8L IS + 1.4x'); case 226: return Pel::tra('Canon EF 70-200mm f/2.8L IS + 2x'); case 227: return Pel::tra('Canon EF 70-200mm f/2.8L IS + 2.8x'); case 228: return Pel::tra('Canon EF 28-105mm f/3.5-4.5 USM'); case 229: return Pel::tra('Canon EF 16-35mm f/2.8L'); case 230: return Pel::tra('Canon EF 24-70mm f/2.8L'); case 231: return Pel::tra('Canon EF 17-40mm f/4L'); case 232: return Pel::tra('Canon EF 70-300mm f/4.5-5.6 DO IS USM'); case 233: return Pel::tra('Canon EF 28-300mm f/3.5-5.6L IS'); case 234: return Pel::tra('Canon EF-S 17-85mm f/4-5.6 IS USM or Tokina Lens'); case 234.1: return Pel::tra('Tokina AT-X 12-28 PRO DX 12-28mm f/4'); case 235: return Pel::tra('Canon EF-S 10-22mm f/3.5-4.5 USM'); case 236: return Pel::tra('Canon EF-S 60mm f/2.8 Macro USM'); case 237: return Pel::tra('Canon EF 24-105mm f/4L IS'); case 238: return Pel::tra('Canon EF 70-300mm f/4-5.6 IS USM'); case 239: return Pel::tra('Canon EF 85mm f/1.2L II'); case 240: return Pel::tra('Canon EF-S 17-55mm f/2.8 IS USM'); case 241: return Pel::tra('Canon EF 50mm f/1.2L'); case 242: return Pel::tra('Canon EF 70-200mm f/4L IS'); case 243: return Pel::tra('Canon EF 70-200mm f/4L IS + 1.4x'); case 244: return Pel::tra('Canon EF 70-200mm f/4L IS + 2x'); case 245: return Pel::tra('Canon EF 70-200mm f/4L IS + 2.8x'); case 246: return Pel::tra('Canon EF 16-35mm f/2.8L II'); case 247: return Pel::tra('Canon EF 14mm f/2.8L II USM'); case 248: return Pel::tra('Canon EF 200mm f/2L IS or Sigma Lens'); case 248.1: return Pel::tra('Sigma 24-35mm f/2 DG HSM | A'); case 249: return Pel::tra('Canon EF 800mm f/5.6L IS'); case 250: return Pel::tra('Canon EF 24mm f/1.4L II or Sigma Lens'); case 250.1: return Pel::tra('Sigma 20mm f/1.4 DG HSM | A'); case 251: return Pel::tra('Canon EF 70-200mm f/2.8L IS II USM'); case 252: return Pel::tra('Canon EF 70-200mm f/2.8L IS II USM + 1.4x'); case 253: return Pel::tra('Canon EF 70-200mm f/2.8L IS II USM + 2x'); case 254: return Pel::tra('Canon EF 100mm f/2.8L Macro IS USM'); case 255: return Pel::tra('Sigma 24-105mm f/4 DG OS HSM | A or Other Sigma Lens'); case 255.1: return Pel::tra('Sigma 180mm f/2.8 EX DG OS HSM APO Macro'); case 488: return Pel::tra('Canon EF-S 15-85mm f/3.5-5.6 IS USM'); case 489: return Pel::tra('Canon EF 70-300mm f/4-5.6L IS USM'); case 490: return Pel::tra('Canon EF 8-15mm f/4L Fisheye USM'); case 491: return Pel::tra('Canon EF 300mm f/2.8L IS II USM or Tamron Lens'); case 491.1: return Pel::tra('Tamron SP 70-200mm F/2.8 Di VC USD G2 (A025)'); case 491.2: return Pel::tra('Tamron 18-400mm F/3.5-6.3 Di II VC HLD (B028)'); case 492: return Pel::tra('Canon EF 400mm f/2.8L IS II USM'); case 493: return Pel::tra('Canon EF 500mm f/4L IS II USM or EF 24-105mm f4L IS USM'); case 493.1: return Pel::tra('Canon EF 24-105mm f/4L IS USM'); case 494: return Pel::tra('Canon EF 600mm f/4.0L IS II USM'); case 495: return Pel::tra('Canon EF 24-70mm f/2.8L II USM or Sigma Lens'); case 495.1: return Pel::tra('Sigma 24-70mm F2.8 DG OS HSM | A'); case 496: return Pel::tra('Canon EF 200-400mm f/4L IS USM'); case 499: return Pel::tra('Canon EF 200-400mm f/4L IS USM + 1.4x'); case 502: return Pel::tra('Canon EF 28mm f/2.8 IS USM'); case 503: return Pel::tra('Canon EF 24mm f/2.8 IS USM'); case 504: return Pel::tra('Canon EF 24-70mm f/4L IS USM'); case 505: return Pel::tra('Canon EF 35mm f/2 IS USM'); case 506: return Pel::tra('Canon EF 400mm f/4 DO IS II USM'); case 507: return Pel::tra('Canon EF 16-35mm f/4L IS USM'); case 508: return Pel::tra('Canon EF 11-24mm f/4L USM or Tamron Lens'); case 508.1: return Pel::tra('Tamron 10-24mm f/3.5-4.5 Di II VC HLD'); case 747: return Pel::tra('Canon EF 100-400mm f/4.5-5.6L IS II USM or Tamron Lens'); case 747.1: return Pel::tra('Tamron SP 150-600mm F5-6.3 Di VC USD G2'); case 748: return Pel::tra('Canon EF 100-400mm f/4.5-5.6L IS II USM + 1.4x'); case 750: return Pel::tra('Canon EF 35mm f/1.4L II USM'); case 751: return Pel::tra('Canon EF 16-35mm f/2.8L III USM'); case 752: return Pel::tra('Canon EF 24-105mm f/4L IS II USM'); case 4142: return Pel::tra('Canon EF-S 18-135mm f/3.5-5.6 IS STM'); case 4143: return Pel::tra('Canon EF-M 18-55mm f/3.5-5.6 IS STM or Tamron Lens'); case 4143.1: return Pel::tra('Tamron 18-200mm F/3.5-6.3 Di III VC'); case 4144: return Pel::tra('Canon EF 40mm f/2.8 STM'); case 4145: return Pel::tra('Canon EF-M 22mm f/2 STM'); case 4146: return Pel::tra('Canon EF-S 18-55mm f/3.5-5.6 IS STM'); case 4147: return Pel::tra('Canon EF-M 11-22mm f/4-5.6 IS STM'); case 4148: return Pel::tra('Canon EF-S 55-250mm f/4-5.6 IS STM'); case 4149: return Pel::tra('Canon EF-M 55-200mm f/4.5-6.3 IS STM'); case 4150: return Pel::tra('Canon EF-S 10-18mm f/4.5-5.6 IS STM'); case 4152: return Pel::tra('Canon EF 24-105mm f/3.5-5.6 IS STM'); case 4153: return Pel::tra('Canon EF-M 15-45mm f/3.5-6.3 IS STM'); case 4154: return Pel::tra('Canon EF-S 24mm f/2.8 STM'); case 4155: return Pel::tra('Canon EF-M 28mm f/3.5 Macro IS STM'); case 4156: return Pel::tra('Canon EF 50mm f/1.8 STM'); case 4157: return Pel::tra('Canon EF-M 18-150mm 1:3.5-6.3 IS STM'); case 4158: return Pel::tra('Canon EF-S 18-55mm f/4-5.6 IS STM'); case 4160: return Pel::tra('Canon EF-S 35mm f/2.8 Macro IS STM'); case 36910: return Pel::tra('Canon EF 70-300mm f/4-5.6 IS II USM'); case 36912: return Pel::tra('Canon EF-S 18-135mm f/3.5-5.6 IS USM'); case 61494: return Pel::tra('Canon CN-E 85mm T1.3 L F'); default: return $this->value[0]; } break; case PelTag::CANON_CS_FOCUS_CONTINUOUS: // CC (e->components, 1, v); switch ($this->value[0]) { case 0: return Pel::tra('Single'); case 1: return Pel::tra('Continuous'); case 8: return Pel::tra('Manual'); default: return $this->value[0]; } break; case PelTag::CANON_CS_AE_SETTING: // CC (e->components, 1, v); switch ($this->value[0]) { case 0: return Pel::tra('Normal AE'); case 1: return Pel::tra('Exposure Compensation'); case 2: return Pel::tra('AE Lock'); case 3: return Pel::tra('AE Lock + Exposure Comp.'); case 4: return Pel::tra('No AE'); default: return $this->value[0]; } break; case PelTag::CANON_CS_IMAGE_STABILIZATION: // CC (e->components, 1, v); switch ($this->value[0]) { case 0: return Pel::tra('Off'); case 1: return Pel::tra('On'); case 2: return Pel::tra('Shoot Only'); case 3: return Pel::tra('Panning'); case 4: return Pel::tra('Dynamic'); case 256: return Pel::tra('Off (2)'); case 257: return Pel::tra('On (2)'); case 258: return Pel::tra('Shoot Only (2)'); case 259: return Pel::tra('Panning (2)'); case 260: return Pel::tra('Dynamic (2)'); default: return $this->value[0]; } break; case PelTag::CANON_CS_SPOT_METERING_MODE: // CC (e->components, 1, v); switch ($this->value[0]) { case 0: return Pel::tra('Center'); case 1: return Pel::tra('AF Point'); default: return $this->value[0]; } break; case PelTag::CANON_CS_PHOTO_EFFECT: // CC (e->components, 1, v); switch ($this->value[0]) { case 0: return Pel::tra('Off'); case 1: return Pel::tra('Vivid'); case 2: return Pel::tra('Neutral'); case 3: return Pel::tra('Smooth'); case 4: return Pel::tra('Sepia'); case 5: return Pel::tra('B&W'); case 6: return Pel::tra('Custom'); case 100: return Pel::tra('My Color Data'); default: return $this->value[0]; } break; case PelTag::CANON_CS_MANUAL_FLASH_OUTPUT: // CC (e->components, 1, v); switch ($this->value[0]) { case 0x500: return Pel::tra('Full'); case 0x502: return Pel::tra('Medium'); case 0x504: return Pel::tra('Low'); default: return $this->value[0]; } break; case PelTag::CANON_CS_COLOR_TONE: // CC (e->components, 1, v); switch ($this->value[0]) { case 0: return Pel::tra('Normal'); default: return $this->value[0]; } break; case PelTag::CANON_CS_SRAW_QUALITY: // CC (e->components, 1, v); switch ($this->value[0]) { case 1: return Pel::tra('sRAW1 (mRAW)'); case 2: return Pel::tra('sRAW2 (sRAW)'); default: return $this->value[0]; } break; default: return parent::getText($brief); } } return parent::getText($brief); } }