Argyll_Printer_Profiler.command — User Guide
Version: 1.0
Platform: macOS
Based on: Simple script by Jintak Han (https://github.com/jintakhan/AutomatedArgyllPrinter)
Author: Knut Larsson
Argyll_Printer_Profiler.command is an interactive Bash script that automates a complete ArgyllCMS printer profiling workflow on macOS, from target generation to ICC installation.
📑 Table of Contents
- Overview
- Requirements
- Installation on macOS
- Setup File: Argyll_Printer_Profiler_setup.ini
- General Workflow
- Main Menu Actions Explained
- Files and Folder Structure
- ArgyllCMS Commands and Defaults
- ICC Profile Installation
- Logs and Debugging
- Important Notes and Best Practices
- Troubleshooting
Overview
This script provides a guided, menu-driven interface for creating printer ICC profiles using ArgyllCMS. It is designed for:
- Inkjet and laser printers
- X-Rite ColorMunki / i1Studio and compatible instruments
- Users who want reproducible, well-documented profiles without memorizing ArgyllCMS commands
The script:
- Generates optimized color targets
- Assists with printing targets correctly
- Reads measurements
- Builds ICC profiles
- Performs sanity checks
- Installs profiles into macOS local profiles folder
Requirements
- macOS 10.13 or later (Intel or Apple Silicon)
- ArgyllCMS installed and available in Terminal (checked by script)
- Supported measurement device (ColorMunki, i1Pro, etc.)
- Terminal access
- ColorSync Utility (included with macOS)
Installation on macOS
ArgyllCMS Installation
The recommended way is Homebrew:
brew install argyll-cms
Verify installation:
targen -?
Script Placement
You may place Argyll_Printer_Profiler.command in any folder:
- Desktop
- Documents
- External drive
- Project-specific folder
All generated files are stored relative to the script’s location.
Execution Permissions (Important)
On modern macOS versions, a script must have the execute bit set.
- Open Terminal
- Navigate to the script folder
- Run:
chmod +x Argyll_Printer_Profiler.command
Verify:
ls -l Argyll_Printer_Profiler.command
Expected output:
-rwxr-xr-x@ Argyll_Printer_Profiler.command
You can now run the script by:
- Double-clicking it in Finder
- Or running
./Argyll_Printer_Profiler.commandfrom Terminal
Setup File: Argyll_Printer_Profiler_setup.ini
The setup file must be located in the same folder as the script:
Argyll_Printer_Profiler.command
Argyll_Printer_Profiler_setup.ini
Key Parameters
-
PRINTER_ICC_PATHPath to the RGB/CMYK colorspace profile used as reference (e.g. sRGB, AdobeRGB). -
PRINTER_PROFILES_PATHDestination folder for installed ICC profiles Example (recommended):$HOME/Library/ColorSync/Profiles -
STRIP_PATCH_CONSISTENSY_TOLERANCEUsed bychartread -TDefault recommendation: 0.6 -
INK_LIMITTotal ink limit used bytargenandcolprofTypical values:
- Inkjet: 220–300
- Laser: 180–260
-
PAPER_SIZEA4orLetter -
PROFILE_SMOOTINGArgument -r incolprofaverage deviation, affecting accuracy and smooting of profile. Argyll-default 0.5. 1.0 makes smoother profile without much reduction in accuracy. -
TARGET_RESOLUTIONDPI for generated TIFF targets
The script validates that all required parameters exist before running.
General Workflow
- Choose an action from the main menu
- Specify or select a profile name
- Generate or reuse color targets
- Print targets with no color management
- Measure patches with the instrument
- Create ICC profile
- Perform sanity check
- Install profile into local profiles folder
Main Menu Actions Explained
1. Create printer profile from scratch
- Define profile name
- Generate new targets (menu-selected)
- Measure patches
- Create ICC profile
- Sanity check
- Install profile into local profile folder
2. Re-read or resume partly read chart
- Continue from an existing
.ti3. Useful if measurement was interrupted - Measure patches
- Create new or overwrite existing profile
ti3/icc - Sanity check
- Install profile into local profile folder
3. Create profile from existing .ti2
- Reuse printed targets
- Measure again
- Create new or overwrite existing profile
ti3/icc - Sanity check
- Install profile into local profile folder
4. Create profile from existing .ti3
- Skip measurement
- Direct ICC generation in selected folder
- Make sure
.ti3file selected has unique name. - Overwrites existing
.iccwith same name, if exists
- Make sure
- Sanity check
- Install profile into local profile folder
5. Perform sanity check only
- Runs
profcheckon existing.ti3+.icc - File created is named:
profile name + _sanity_check.txt - If run several times, results are appended into same file.
6. Change setup parameters
- Edit selected values in the
.inifile interactively
Files and Folder Structure
For each profile, a dedicated folder is created:
Folder Created_Profiles is created if missing.
Script_Location
└── Created_Profiles/
└── ProfileName/
├── ProfileName.ti1
├── ProfileName.ti2
├── ProfileName.ti3
├── ProfileName.tif / _01.tif / _02.tif
├── ProfileName.icc
├── ProfileName_sanity_check.txt
└── Argyll_Printer_Profiler_YYYYMMDD_HHMMSS.log
All work is performed inside this folder once created.
ArgyllCMS Commands and Defaults
targen
Used to generate color values:
- Device class: Printer (
-d2) - Includes gray ramp, black & white patches
- Ink limit from setup file
- Patch count selected interactively
printtarg
- Instrument-specific layout
- User-selected paper size
- Resolution from setup file
- Optimized for ColorMunki/i1Studio
chartread
- Strip reading mode
- Consistency tolerance:
-T - Resume supported
colprof
- High quality (
-qh) - PCS reference profile via
-S - Perceptual intent (
-dpp) - Uses measurement-defined ink limit
profcheck
- Generates human-readable sanity check
- Flags excessive ΔE values
ICC Profile Installation
After successful creation:
.iccfile is copied toPRINTER_PROFILES_PATH- Typically:
~/Library/ColorSync/Profiles
macOS applications must be restarted to see the new profile.
Logs and Debugging
- A timestamped log file is created at script start
- Log is automatically moved into the profile folder
- All stdout/stderr is captured
Log files are essential for:
- Diagnosing ArgyllCMS errors
- Reproducing command lines
- Support requests
Important Notes and Best Practices
- Always print targets with Color Management disabled
- Use consistent paper, ink, and printer settings
- Use same basename for all files, as script does.
- Keep profile names free of trailing whitespace
- Large targets improve neutrality and gray accuracy
Troubleshooting
Script won’t run
- Ensure execute bit is set (
chmod +x) - macOS Gatekeeper may require right-click → Open
ICC not copied
- Ensure
PRINTER_PROFILES_PATHis an absolute path - Do not use
~unless expanded to$HOME
colprof gray-axis errors
- Check measurement quality
- Reduce profile quality (
-qm) - Increase target size
- Re-measure gray patches
End of documentation.