Photoshop Script Crop Center Head CHANGE LOG Version 2.8 (231208) a. Function 'mergeLayers' add unlock all layers. b. Return results from cropping function. c. Revise function 'mergeLayers' to handle vector masks correctly. d. Rebuild i18n. e. Miscellaneous. Version 2.7 (231017) a. Content-aware cropping make compatible with PS v25. b. Add version to error message. Version 2.6 (230822) a. Set 'folderXxxxxLastValid' once selected. b. Miscellaneous. Version 2.5 (230410) a. Add missing polyfill indexOf. Version 2.4 (230327) a. Replace '(+/-)' with '(-/+)'. b. Update function validateInteger. c. Add option center face. d. 'When image is less than crop' => 'Image less than crop'. e. Options content-aware fill and scale to fit mutually exclusive. f. Add check for RGB color space. g. Test for masked images; if so ignore less than crop. h. Add option image less than crop log. i. Rename var 'inpOffset' => 'inpCenterOffset'. j. Rename var 'cbUseCAFill' => 'cbLessContentAware'. k. Rename var 'cbScaleToFit' => 'cbLessScaleToFit'. l. Rename var 'grpSaveInSubfolder' => 'grpLessSubfolder' m. Rename var 'cbSaveInSubfolder' => 'cbLessSubfolder'. n. Rename var 'inpSaveInSubfolderName' => 'inpLessSubfolderName'. o. Rename associated settings properties to match new var names. p. Legacy settings set new properties and remove old properties. q. Remove temp masks before cropImage() otherwise content-aware ignored. r. Use background instead of dupe flat layer if doc not layers. s. Miscellaneous. t. Rebuild i18n. Version 2.3 (230306) a. Add option scale to fit. b. Change default center from eyes to head. c. Miscellaneous. d. Rebuild i18n. Version 2.2 (230306) a. Add function selectionBounds. b. Add function storeSelection. c. Update function selectFeature to match Auto Crop People. d. Remove debug function markFeature, and other debug. e. Add variable lessThanCrop. f. Add event handler listQuality.onChange. g. Add option when less than crop save to subfolder. h. Add polyfill String prototype 'trim'. i. Add option center subject. j. Miscellaneous. k. Rebuild i18n.Version 2.1 (230222) a. Fix language file fails to load. Version 2.0 (230209) a. Remove temp masks before cropImage() otherwise content-aware ignored. Version 1.9 (230126) a. Overhaul cropping logic to handle negative margins. b. Even when cropped out, still center on eyes or head. c. Miscellaneous. d. Internationalize. Version 1.8 (230116) a. Add debug code to verify feature selections. b. Update feature detection function. c. New liquify mesh for eye detection. d. Rename function 'processDocCrop' => 'processDoc'. e. Update function 'processDoc'; reorder operations sequence. f. PSD and TIF keep layers, channels, and spot colors. g. Add options center eyes or head. h. Add option center offset. i. Add format BMP. j. Add options Flatten, Single merged layer, Convert to profile. k. Add option JPG Quality. l. Rename function 'detectFeature' => 'selectFeature'. m. Get bounds outside function 'selectFeature'. Version 1.7 (230103) a. Revert last change; go back to contract 1. Version 1.6 (221207) a. Function detectFeature use smooth 2 instead of contract 1. Version 1.5 (221030) a. New function setFolder climb folder hierarchy until one exists. b. Add script variables 'folderXXXXLastValid'. c. Folder property 'fsName' use 'fullName' instead. d. Function getFiles add WEBP to known Photoshop extensions. Version 1.4 (221022) a. Include fullName of folderInput rather than rely on dynamic typing to string. Version 1.3 (221021) a. Select input folder add current location. b. Result when flatten only when process folder. c. Completely rework cropping function: Diminish subject selection when negative margins. Use eyes to get head bounds only when not outside diminished bounds. d. Log indexed color. e. No need for fullName of folderInput; same result without fullName. f. Remove path separator when combining pathOutput and subpath. g. Miscellaneous. Version 1.2 (221017) a. Add option process active image. b. Add zoom out after active image done. Version 1.1 (221017) a. Settings apply function setFolder remove excess return. b. Add option for content-aware fill. c. Add functions selectLayer and selectLayerHighestNormalVisible. d. Add code 'handle bottom layer'. Version 1.0 (221013)