# Acro Color Layer

> Acro Color Layer: 1 components, 102 items.

- Product: Adobe PDF Library 21
- Language: Adobe C++
- Version: APDFL21.0.0PlusP1e
- HTML page: https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor
- Version index: https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/llms.txt

## acrocolor

### Functions (67)

#### ACApplyTransform

```cpp
AC_Error ACApplyTransform(AC_Transform transform, const void *srcData, void *dstData, ASUns32 count, AC_PackingCode srcPacking, AC_PackingCode dstPacking)
```

Header: `AcroColorProcs.h:741`

Applies a color conversion or gamut test transformation. It processes the number of colors specified by `count`, using the memory formats for the source and destination data specified in `srcPacking` and `dstPacking`. The source data and destination data can point to the same block of memory if the source and destination packing formats use the same number of bits per color.

**Parameters**

- `transform` ([`AC_Transform`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_Transform)): The color conversion or tranformation to apply.
- `srcData` (`const void *`): The source data to tranform.
- `dstData` (`void *`): The destination for the transformed data.
- `count` ([`ASUns32`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/aslayer.md#ASUns32)): The number of colors to transform.
- `srcPacking` ([`AC_PackingCode`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_PackingCode)): The packing type used in the source data.
- `dstPacking` ([`AC_PackingCode`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_PackingCode)): The packing type to use in the destination data.

**Returns:** [`AC_Error`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_Error)

`0` if successful, a non-zero error code otherwise.

**See also:** [`ACMakeColorTransform`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACMakeColorTransform)

#### ACEngineCount

```cpp
AC_Error ACEngineCount(ASUns32 *count)
```

Header: `AcroColorProcs.h:41`

Gets the number of Color Management System/Color Management Module (CMS/CMM) choices available for the AcroColor engine (ACE).

**Parameters**

- `count` ([`ASUns32 *`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/aslayer.md#ASUns32)): (Filled by the method) A pointer to the count value.

**Returns:** [`AC_Error`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_Error)

`0` if successful, a non-zero error code otherwise.

**See also:** [`ACEngineInfo`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACEngineInfo), [`ACSetEngine`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACSetEngine)

#### ACEngineInfo

```cpp
AC_Error ACEngineInfo(ASUns32 index, AC_String *name, ASUns32 *cmsID, ASUns32 *cmmID)
```

Header: `AcroColorProcs.h:62`

Gets information for a CMS/CMM in the AcroColor engine (ACE) by index. The CMS and CMM identifiers specify an engine to the ACE. Engine names should only be used as the text for popup menus. It is better to store the identifiers in settings files (rather than names), because they are independent of localization.

**Parameters**

- `index` ([`ASUns32`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/aslayer.md#ASUns32)): The zero-based index of the CMS/CMM. The highest legal value is `AC_EngineCount - 1`.
- `name` ([`AC_String *`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_String)): (Filled by the method) Optional. If it is not `NULL`, the parameter returns the name of the CMS/CMM.
- `cmsID` ([`ASUns32 *`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/aslayer.md#ASUns32)): (Filled by the method) Returns the CMS identifier.
- `cmmID` ([`ASUns32 *`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/aslayer.md#ASUns32)): (Filled by the method) Returns the CMM identifier.

**Returns:** [`AC_Error`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_Error)

`0` if successful, a non-zero error code otherwise.

**See also:** [`ACEngineCount`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACEngineCount), [`ACSetEngine`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACSetEngine)

#### ACGetBlackPointCompensation

```cpp
AC_Error ACGetBlackPointCompensation(ASUns32 *bpc)
```

Header: `AcroColorProcs.h:1137`

Get the black-point compensation flag.

**Parameters**

- `bpc` ([`ASUns32 *`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/aslayer.md#ASUns32)): It will receive the flag value, flag value equal to 1 implies black-point compensation is on , value 0 otherwise.

**Returns:** [`AC_Error`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_Error)

`0` if successful, a non-zero error code otherwise.

**See also:** [`ACGetBlackPointCompensation`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACGetBlackPointCompensation)

#### ACGetSettingsProfile

```cpp
AC_Error ACGetSettingsProfile(AC_Settings settings, AC_SettingsKey key, AC_Profile *profile)
```

Header: `AcroColorProcs.h:313`

Gets the current color profile for a given key from the AcroColor engine (ACE) `settings` object. • If the settings file contains a profile entry with the specified key, that profile is returned. • If the settings file contains a special `NULL` entry with the key, a `NULL` profile is returned. • If the settings file contains a string with this key rather than an embedded profile, this method returns an installed profile whose description matches the string, if found. • In all other cases, AC_Error_MissingKey is returned. The method does not check for known keys or legal key values. It is up to the client to write only legal key values, and to verify key values when reading.

**Parameters**

- `settings` ([`AC_Settings`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_Settings)): The `settings` object from which the profile is obtained.
- `key` ([`AC_SettingsKey`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_SettingsKey)): The value key constant.
- `profile` ([`AC_Profile *`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_Profile)): (Filled by the method) A pointer to the current color profile value of the given key.

**Returns:** [`AC_Error`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_Error)

`0` if successful, a non-zero error code otherwise.

**See also:** [`ACGetSettingsString`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACGetSettingsString), [`ACGetSettingsUnsigned32`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACGetSettingsUnsigned32), [`ACLoadSettings`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACLoadSettings), [`ACMakeSettings`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACMakeSettings), [`ACUnReferenceProfile`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACUnReferenceProfile), [`ACUnReferenceSettings`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACUnReferenceSettings)

#### ACGetSettingsString

```cpp
AC_Error ACGetSettingsString(AC_Settings settings, AC_SettingsKey key, AC_String *string)
```

Header: `AcroColorProcs.h:394`

Gets the current string value for a given key from the AcroColor engine (ACE) `settings` object. • If the settings file contains a string entry with the specified key, the method returns the entry. • If the settings file contains a special `NULL` entry with the key, the method returns a `NULL` string. • In all other cases, the method returns AC_Error_MissingKey.

**Parameters**

- `settings` ([`AC_Settings`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_Settings)): The `settings` object from which the string is obtained.
- `key` ([`AC_SettingsKey`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_SettingsKey)): The value key constant.
- `string` ([`AC_String *`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_String)): (Filled by the method) A pointer to the current string value of the given key.

**Returns:** [`AC_Error`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_Error)

`0` if successful, a non-zero error code otherwise.

**See also:** [`ACGetSettingsProfile`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACGetSettingsProfile), [`ACGetSettingsUnsigned32`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACGetSettingsUnsigned32), [`ACLoadSettings`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACLoadSettings), [`ACMakeSettings`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACMakeSettings), [`ACUnReferenceSettings`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACUnReferenceSettings), [`ACUnReferenceString`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACUnReferenceString)

#### ACGetSettingsUnsigned32

```cpp
AC_Error ACGetSettingsUnsigned32(AC_Settings settings, AC_SettingsKey key, ASUns32 *value)
```

Header: `AcroColorProcs.h:416`

Gets the current numeric value for a given key from the AcroColor engine (ACE) `settings` object. • If the settings file contains an unsigned 32-bit numeric entry with the specified key, the method returns the entry. • In all other cases, the method returns AC_Error_MissingKey.

**Parameters**

- `settings` ([`AC_Settings`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_Settings)): The `settings` object from which the value is obtained.
- `key` ([`AC_SettingsKey`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_SettingsKey)): The value key constant.
- `value` ([`ASUns32 *`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/aslayer.md#ASUns32)): (Filled by the method) A pointer to the current numeric value of the given key.

**Returns:** [`AC_Error`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_Error)

`0` if successful, a non-zero error code otherwise.

**See also:** [`ACGetSettingsProfile`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACGetSettingsProfile), [`ACGetSettingsString`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACGetSettingsString), [`ACLoadSettings`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACLoadSettings), [`ACMakeSettings`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACMakeSettings), [`ACUnReferenceSettings`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACUnReferenceSettings)

#### ACGetWorkingSpaceProfile

```cpp
AC_Error ACGetWorkingSpaceProfile(ACWorkingSpace space, AC_Profile *workingProfile)
```

Header: `AcroColorProcs.h:901`

Gets a working color profile in a specified color space.

**Parameters**

- `space` ([`ACWorkingSpace`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACWorkingSpace)): The type of color space of the profile to obtain.
- `workingProfile` ([`AC_Profile *`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_Profile)): (Filled by the method) A pointer to the working profile. When done with this object, dereference it using ACUnReferenceProfile().

**Returns:** [`AC_Error`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_Error)

`0` if successful, a non-zero error code otherwise.

**See also:** [`ACProfilesMatch`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACProfilesMatch), [`ACUnReferenceProfile`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACUnReferenceProfile)

#### ACLoadSettings

```cpp
AC_Error ACLoadSettings(AC_Settings settings, AC_FileSpec *file)
```

Header: `AcroColorProcs.h:360`

[DEPRECATED] Loads the AcroColor engine (ACE) settings from a file. This method reads the settings entries from the specified file and stores them in the `settings` object, including entries with unknown keys or data formats. As a general rule, the client should keep the `settings` object around so these unknown keys are preserved when the settings are saved out. The only time the client should start with a fresh `settings` object is when performing another settings load. **Note:** Platform: ((!MAC_PLATFORM || !AS_ARCH_64BIT)) && ((!MAC_PLATFORM))

**Parameters**

- `settings` ([`AC_Settings`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_Settings)): (Filled by the method) The `settings` object.
- `file` (`AC_FileSpec *`): A pointer to the file specification for the file containing the settings.

**Returns:** [`AC_Error`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_Error)

`0` if successful, a non-zero error code otherwise.

**See also:** [`ACGetSettingsProfile`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACGetSettingsProfile), [`ACGetSettingsString`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACGetSettingsString), [`ACGetSettingsUnsigned32`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACGetSettingsUnsigned32), [`ACMakeSettings`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACMakeSettings), [`ACPresetListItemFile`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACPresetListItemFile), [`ACUnReferenceSettings`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACUnReferenceSettings), `replacment ACLoadSettingsU`

#### ACLoadSettingsU

```cpp
AC_Error ACLoadSettingsU(AC_Settings settings, AC_String file)
```

Header: `AcroColorProcs.h:1114`

Reads the settings entries from the specified file. All entries are stored in the settings object, even entries with unknown keys or data formats. As a general rule, the client should keep the settings object around so these unknown keys are preserved when the settings are saved out. The only time the client should start with a fresh settings object is when performing another settings load.

**Parameters**

- `settings` ([`AC_Settings`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_Settings))
- `file` ([`AC_String`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_String))

**Returns:** [`AC_Error`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_Error)

**See also:** [`ACLoadSettings`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACLoadSettings)

#### ACMakeBufferProfile

```cpp
AC_Error ACMakeBufferProfile(AC_Profile *profile, void *data, ASUns32 dataSize)
```

Header: `AcroColorProcs.h:557`

Creates a device color profile object from a data buffer containing the raw ICC profile data. The method copies the data, so the client can dispose of the source data. The client should call ACUnReferenceProfile() when done with the profile.

**Parameters**

- `profile` ([`AC_Profile *`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_Profile)): (Filled by the method) The device profile.
- `data` (`void *`): The buffer containing the device profile data.
- `dataSize` ([`ASUns32`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/aslayer.md#ASUns32)): The size in bytes of the data buffer.

**Returns:** [`AC_Error`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_Error)

`0` if successful, a non-zero error code otherwise.

**See also:** [`ACGetSettingsProfile`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACGetSettingsProfile), [`ACGetWorkingSpaceProfile`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACGetWorkingSpaceProfile), [`ACMakeCalGray`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACMakeCalGray), [`ACMakeCalLab`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACMakeCalLab), [`ACMakeCalRGB`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACMakeCalRGB), [`ACMonitorProfile`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACMonitorProfile), [`ACProfileFromCode`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACProfileFromCode), [`ACProfileFromDescription`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACProfileFromDescription), [`ACUnReferenceProfile`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACUnReferenceProfile)

#### ACMakeCalGray

```cpp
AC_Error ACMakeCalGray(AC_Profile *profile, ACCalGray *spec, AC_RenderIntent intent, AC_String description)
```

Header: `AcroColorProcs.h:610`

Creates a device color profile object from a calibrated grayscale color space with the specified rendering intent and description string. The client should call ACUnReferenceProfile() when done with the profile.

**Parameters**

- `profile` ([`AC_Profile *`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_Profile)): (Filled by the method) A pointer to the new device color profile.
- `spec` (`ACCalGray *`): A pointer to the calibrated grayscale color space specification.
- `intent` ([`AC_RenderIntent`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_RenderIntent)): The rendering intent.
- `description` ([`AC_String`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_String)): The description of the new profile. If it is non-`NULL`, it must contain ASCII data, and may contain Unicode data also. If `NULL`, a hard-coded default description is used.

**Returns:** [`AC_Error`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_Error)

`0` if successful, a non-zero error code otherwise.

**See also:** [`ACGetSettingsProfile`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACGetSettingsProfile), [`ACGetWorkingSpaceProfile`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACGetWorkingSpaceProfile), [`ACMakeBufferProfile`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACMakeBufferProfile), [`ACMakeCalLab`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACMakeCalLab), [`ACMakeCalRGB`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACMakeCalRGB), [`ACMonitorProfile`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACMonitorProfile), [`ACProfileFromCode`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACProfileFromCode), [`ACProfileFromDescription`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACProfileFromDescription), [`ACUnReferenceProfile`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACUnReferenceProfile)

#### ACMakeCalLab

```cpp
AC_Error ACMakeCalLab(AC_Profile *profile, ACCalLab *spec, AC_RenderIntent intent, AC_String description)
```

Header: `AcroColorProcs.h:638`

Creates a device color profile object from a calibrated Lab color space with the specified rendering intent and description string. The client should call ACUnReferenceProfile() when done with the profile.

**Parameters**

- `profile` ([`AC_Profile *`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_Profile)): (Filled by the method) A pointer to the new device color profile.
- `spec` (`ACCalLab *`): The calibrated Lab color space specification.
- `intent` ([`AC_RenderIntent`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_RenderIntent)): The rendering intent.
- `description` ([`AC_String`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_String)): The description of the new profile. If it is non-`NULL`, it must contain ASCII data, and may contain Unicode data also. If it is `NULL`, a hard-coded default description is used.

**Returns:** [`AC_Error`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_Error)

`0` if successful, a non-zero error code otherwise.

**See also:** [`ACGetSettingsProfile`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACGetSettingsProfile), [`ACGetWorkingSpaceProfile`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACGetWorkingSpaceProfile), [`ACMakeBufferProfile`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACMakeBufferProfile), [`ACMakeCalGray`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACMakeCalGray), [`ACMakeCalRGB`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACMakeCalRGB), [`ACMonitorProfile`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACMonitorProfile), [`ACProfileFromCode`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACProfileFromCode), [`ACProfileFromDescription`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACProfileFromDescription), [`ACUnReferenceProfile`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACUnReferenceProfile)

#### ACMakeCalRGB

```cpp
AC_Error ACMakeCalRGB(AC_Profile *profile, ACCalRGB *spec, AC_RenderIntent intent, AC_String description)
```

Header: `AcroColorProcs.h:583`

Creates a device color profile object from a calibrated RGB color space, with the specified rendering intent and descriptive string. The client should call ACUnReferenceProfile() when done with the profile.

**Parameters**

- `profile` ([`AC_Profile *`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_Profile)): (Filled by the method) A pointer to the
  new device color profile.
- `spec` (`ACCalRGB *`): The calibrated RGB color space specification.
- `intent` ([`AC_RenderIntent`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_RenderIntent)): The rendering intent.
- `description` ([`AC_String`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_String)): The description of the new profile. If it is non-`NULL`, the
  description must contain ASCII data, and may contain Unicode data also. If it is `NULL`, a hard-coded default description is used.

**Returns:** [`AC_Error`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_Error)

`0` if successful, a non-zero error code otherwise.

**See also:** [`ACGetSettingsProfile`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACGetSettingsProfile), [`ACGetWorkingSpaceProfile`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACGetWorkingSpaceProfile), [`ACMakeBufferProfile`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACMakeBufferProfile), [`ACMakeCalGray`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACMakeCalGray), [`ACMakeCalLab`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACMakeCalLab), [`ACMonitorProfile`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACMonitorProfile), [`ACProfileFromCode`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACProfileFromCode), [`ACProfileFromDescription`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACProfileFromDescription), [`ACUnReferenceProfile`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACUnReferenceProfile)

#### ACMakeColorTransform

```cpp
AC_Error ACMakeColorTransform(AC_Transform *transform, AC_Profile srcProfile, AC_Profile dstProfile, AC_RenderIntent intent)
```

Header: `AcroColorProcs.h:717`

Creates a color transformation object. The client can dispose of the source and destination profiles as soon as the transform is created. If the source profile is a device link or abstract profile, then the destination profile must be `NULL`; otherwise it must be non-`NULL`.

**Parameters**

- `transform` ([`AC_Transform *`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_Transform)): (Filled by the method) A pointer to the new color transformation object.
- `srcProfile` ([`AC_Profile`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_Profile)): The source profile from which to transform color data.
- `dstProfile` ([`AC_Profile`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_Profile)): The destination profile to which to transform color data.
- `intent` ([`AC_RenderIntent`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_RenderIntent)): The rendering intent for colors outside the gamut of the destination profile.

**Returns:** [`AC_Error`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_Error)

`0` if successful, a non-zero error code otherwise.

**See also:** [`ACApplyTransform`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACApplyTransform), [`ACUnReferenceTransform`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACUnReferenceTransform)

#### ACMakePresetList

```cpp
AC_Error ACMakePresetList(AC_PresetList *list, AC_SettingsType type)
```

Header: `AcroColorProcs.h:193`

Creates a list of preset AcroColor engine (ACE) settings of the specified type. Clients should call ACUnReferencePresetList() when done with the preset list. A preset list is a list of predefined color settings that specifies the source and destination working color profiles to be used for color conversion.

**Parameters**

- `list` ([`AC_PresetList *`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_PresetList)): (Filled by the method) A pointer to the new preset list object.
- `type` ([`AC_SettingsType`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_SettingsType)): The settings type (AC_SettingsType_Color or AC_SettingsType_Proof).

**Returns:** [`AC_Error`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_Error)

`0` if successful, a non-zero error code otherwise.

**See also:** [`ACPresetListCount`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACPresetListCount), [`ACPresetListItemFile`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACPresetListItemFile), [`ACUnReferencePresetList`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACUnReferencePresetList)

#### ACMakeProfileList

```cpp
AC_Error ACMakeProfileList(AC_ProfileList *list, AC_SelectorCode selector)
```

Header: `AcroColorProcs.h:109`

Creates a list of device color profiles of a given type. Builds a list of those profiles from the database that meet the criterion of the specified selector. If the profile database has never been built, it will be automatically built without a progress callback. Clients should call ACUnReferenceProfileList() when done with the profile list.

**Parameters**

- `list` ([`AC_ProfileList *`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_ProfileList)): (Filled by the method) A pointer to the new profile list object.
- `selector` ([`AC_SelectorCode`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_SelectorCode)): The code for the type of device profile to include in the list.

**Returns:** [`AC_Error`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_Error)

`0` if successful, a non-zero error code otherwise.

**See also:** [`ACProfileListCount`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACProfileListCount), [`ACProfileListItemCode`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACProfileListItemCode), [`ACProfileListItemDescription`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACProfileListItemDescription), [`ACUnReferenceProfileList`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACUnReferenceProfileList)

#### ACMakeSettings

```cpp
AC_Error ACMakeSettings(AC_Settings *settings, AC_SettingsType type)
```

Header: `AcroColorProcs.h:329`

Creates an AcroColor engine (ACE) `settings` object of a given type, with no entries. When done with all operations, call ACUnReferenceSettings() to free the `settings` object.

**Parameters**

- `settings` ([`AC_Settings *`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_Settings)): (Filled by the method) A pointer to the new `settings` object.
- `type` ([`AC_SettingsType`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_SettingsType)): The settings type (AC_SettingsType_Color or AC_SettingsType_Proof).

**Returns:** [`AC_Error`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_Error)

`0` if successful, a non-zero error code otherwise.

**See also:** [`ACGetSettingsProfile`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACGetSettingsProfile), [`ACGetSettingsString`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACGetSettingsString), [`ACGetSettingsUnsigned32`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACGetSettingsUnsigned32), [`ACLoadSettings`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACLoadSettings), [`ACUnReferenceSettings`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACUnReferenceSettings)

#### ACMakeString

```cpp
AC_Error ACMakeString(AC_String *string, const char *ascii, const ASUTF16Val *unicode)
```

Header: `AcroColorProcs.h:786`

Creates an AcroColor string from a `NULL`-terminated ASCII string or a `NULL`-terminated Unicode string, or both. If both ASCII and Unicode data are specified, the AC_String object keeps track of both in parallel, returning the ASCII data when asked for ASCII, and the Unicode data when asked for Unicode. These dual-encoded strings are useful as description strings for ICC profiles, which can store both ASCII and Unicode data in their description tags. The ICC profile standard requires that the ASCII version of the description string be limited to 7-bit ASCII characters. The AcroColor engine requires only the Unicode descriptions to be unique among profile descriptions.

**Parameters**

- `string` ([`AC_String *`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_String)): (Filled by the method) A pointer to the new string object.
- `ascii` (`const char *`): The ASCII data. It should be limited to 7-bit ASCII characters for use in profile descriptions.
- `unicode` ([`const ASUTF16Val *`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/aslayer.md#ASUTF16Val)): The Unicode data. All Unicode characters are two byte characters, in native byte order, including the trailing `NULL`.

**Returns:** [`AC_Error`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_Error)

`0` if successful, a non-zero error code otherwise.

**See also:** [`ACProfileFromDescription`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACProfileFromDescription), [`ACProfileListItemDescription`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACProfileListItemDescription), [`ACStringASCII`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACStringASCII), [`ACStringLocalized`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACStringLocalized), [`ACStringUnicode`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACStringUnicode), [`ACUnReferenceString`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACUnReferenceString)

#### ACMonitorProfile

```cpp
AC_Error ACMonitorProfile(AC_Profile *profile, void *monitorID)
```

Header: `AcroColorProcs.h:525`

Gets a device color profile for a specific monitor device. The returned profile may be either RGB or grayscale. If no profile is specified by the system, the method returns a default platform profile (sRGB on Windows). The client should call ACUnReferenceProfile() when done with the returned profile. **Note:** Platform: ((!MAC_PLATFORM || !AS_ARCH_64BIT)) && ((!MAC_PLATFORM))

**Parameters**

- `profile` ([`AC_Profile *`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_Profile)): (Filled by the method) A pointer to the profile object.
- `monitorID` (`void *`): A pointer to the platform-specific monitor device identifier. On Windows, this is a `NULL`-terminated ASCII string containing the monitor's device name (for example, `"Display"`)

**Returns:** [`AC_Error`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_Error)

`0` if successful, a non-zero error code otherwise.

**See also:** [`ACGetSettingsProfile`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACGetSettingsProfile), [`ACGetWorkingSpaceProfile`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACGetWorkingSpaceProfile), [`ACMakeBufferProfile`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACMakeBufferProfile), [`ACMakeCalGray`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACMakeCalGray), [`ACMakeCalLab`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACMakeCalLab), [`ACMakeCalRGB`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACMakeCalRGB), [`ACProfileFromCode`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACProfileFromCode), [`ACProfileFromDescription`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACProfileFromDescription), [`ACUnReferenceProfile`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACUnReferenceProfile)

#### ACMonitorProfileN

```cpp
AC_Error ACMonitorProfileN(AC_Profile *profile, void *monitorID)
```

Header: `AcroColorProcs.h:1115`

**Parameters**

- `profile` ([`AC_Profile *`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_Profile))
- `monitorID` (`void *`)

**Returns:** [`AC_Error`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_Error)

#### ACPresetFileToName

```cpp
AC_Error ACPresetFileToName(const AC_FileSpec *file, AC_String *name)
```

Header: `AcroColorProcs.h:264`

[DEPRECATED] Translates a preset settings file specification to a name ready to be displayed in menus (with directory paths and file extensions removed). The client should call ACUnReferenceString() when done with the name.
- If the file contains an internal name tag, the returned string is created from the internal name.
- If the file does not contain an internal name tag, the returned string is built from the file name. In this case, the method assumes that the file name and the ASCII data of the returned string are in the local script code. **Note:** Platform: ((!MAC_PLATFORM || !AS_ARCH_64BIT)) && ((!MAC_PLATFORM))

**Parameters**

- `file` (`const AC_FileSpec *`): A pointer to the preset file specification.
- `name` ([`AC_String *`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_String)): (Filled by the method) A pointer to the display name string.

**Returns:** [`AC_Error`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_Error)

`0` if successful, a non-zero error code otherwise.

**See also:** [`ACPresetListItemFile`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACPresetListItemFile), [`ACUnReferenceString`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACUnReferenceString), `replacement ACPresetListItemFileAndNameU`

#### ACPresetListCount

```cpp
AC_Error ACPresetListCount(AC_PresetList list, ASUns32 *count)
```

Header: `AcroColorProcs.h:207`

Gets the number of predefined color settings, as listed in the color management settings in the Acrobat user interface.

**Parameters**

- `list` ([`AC_PresetList`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_PresetList)): The preset list object.
- `count` ([`ASUns32 *`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/aslayer.md#ASUns32)): (Filled by the method) A pointer to the number of settings in the list.

**Returns:** [`AC_Error`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_Error)

`0` if successful, a non-zero error code otherwise.

**See also:** [`ACMakePresetList`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACMakePresetList), [`ACPresetListItemFile`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACPresetListItemFile), [`ACUnReferencePresetList`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACUnReferencePresetList)

#### ACPresetListItemFile

```cpp
AC_Error ACPresetListItemFile(AC_PresetList list, ASUns32 index, AC_FileSpec *file)
```

Header: `AcroColorProcs.h:230`

[DEPRECATED] Gets the file specification for a preset settings item in a preset list. **Note:** Platform: ((!MAC_PLATFORM || !AS_ARCH_64BIT)) && ((!MAC_PLATFORM))

**Parameters**

- `list` ([`AC_PresetList`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_PresetList)): The preset list object.
- `index` ([`ASUns32`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/aslayer.md#ASUns32)): The item index in the list.
- `file` (`AC_FileSpec *`): (Filled by the method) A pointer to the file specification for the item.

**Returns:** [`AC_Error`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_Error)

`0` if successful, a non-zero error code otherwise.

**See also:** [`ACLoadSettings`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACLoadSettings), [`ACMakePresetList`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACMakePresetList), [`ACPresetFileToName`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACPresetFileToName), [`ACPresetListCount`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACPresetListCount), [`ACUnReferencePresetList`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACUnReferencePresetList), `replacement ACPresetListItemFileAndNameU`

#### ACPresetListItemFileAndNameU

```cpp
AC_Error ACPresetListItemFileAndNameU(AC_PresetList list, ASUns32 index, AC_String *file, AC_String *name)
```

Header: `AcroColorProcs.h:1102`

Returns the file specification and a display name of a specified preset in a list. The client should call ACE_UnReferenceString when done with the file and name. Either the file or name parameter can be NULL if the client does not need that value returned. It is an error if both parameters are NULL. Note: If the preset file contains an internal name tag, the returned string is created from the internal name. If the preset file does not contain an internal name tag, the returned string is built from the file name. Any leading path or trailing extension will be removed from the string.

**Parameters**

- `list` ([`AC_PresetList`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_PresetList))
- `index` ([`ASUns32`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/aslayer.md#ASUns32))
- `file` ([`AC_String *`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_String))
- `name` ([`AC_String *`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_String))

**Returns:** [`AC_Error`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_Error)

#### ACProfileColorSpace

```cpp
AC_Error ACProfileColorSpace(AC_Profile profile, AC_ColorSpace *space)
```

Header: `AcroColorProcs.h:649`

Gets the color space for a device profile.

**Parameters**

- `profile` ([`AC_Profile`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_Profile)): The device color profile.
- `space` ([`AC_ColorSpace *`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_ColorSpace)): (Filled by the method) A pointer to the color space.

**Returns:** [`AC_Error`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_Error)

`0` if successful, a non-zero error code otherwise.

**See also:** [`ACProfileData`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACProfileData), [`ACProfileDescription`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACProfileDescription)

#### ACProfileData

```cpp
AC_Error ACProfileData(AC_Profile profile, void *data)
```

Header: `AcroColorProcs.h:674`

Gets the data for a device profile. Copies the raw ICC profile data into a supplied buffer.

**Parameters**

- `profile` ([`AC_Profile`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_Profile)): The device color profile.
- `data` (`void *`): (Filled by the method) A pointer to the color profile data.

**Returns:** [`AC_Error`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_Error)

`0` if successful, a non-zero error code otherwise.

**See also:** [`ACProfileColorSpace`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACProfileColorSpace), [`ACProfileDescription`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACProfileDescription), [`ACProfileSize`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACProfileSize)

#### ACProfileDescription

```cpp
AC_Error ACProfileDescription(AC_Profile profile, AC_String *description)
```

Header: `AcroColorProcs.h:443`

Gets the description of a device profile. The returned description string contains both ASCII and Unicode data, even if the profile itself only contains ASCII data.

**Parameters**

- `profile` ([`AC_Profile`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_Profile)): The device color profile.
- `description` ([`AC_String *`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_String)): (Filled by the method) A pointer to the description string.

**Returns:** [`AC_Error`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_Error)

`0` if successful, a non-zero error code otherwise.

**See also:** [`ACMakeString`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACMakeString), [`ACProfileColorSpace`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACProfileColorSpace), [`ACProfileData`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACProfileData), [`ACProfileListItemDescription`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACProfileListItemDescription), [`ACProfileFromDescription`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACProfileFromDescription)

#### ACProfileFromCode

```cpp
AC_Error ACProfileFromCode(AC_Profile *profile, AC_ProfileCode code)
```

Header: `AcroColorProcs.h:496`

Creates a device profile from a device profile type code. The client should call ACUnReferenceProfile() when done with the profile.

**Parameters**

- `profile` ([`AC_Profile *`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_Profile)): (Filled by the method) A pointer to the device color profile object.
- `code` ([`AC_ProfileCode`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_ProfileCode)): The profile type code.

**Returns:** [`AC_Error`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_Error)

`0` if successful, a non-zero error code otherwise.

**See also:** [`ACGetSettingsProfile`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACGetSettingsProfile), [`ACGetWorkingSpaceProfile`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACGetWorkingSpaceProfile), [`ACMakeBufferProfile`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACMakeBufferProfile), [`ACMakeCalGray`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACMakeCalGray), [`ACMakeCalLab`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACMakeCalLab), [`ACMakeCalRGB`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACMakeCalRGB), [`ACMonitorProfile`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACMonitorProfile), [`ACProfileFromDescription`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACProfileFromDescription), [`ACUnReferenceProfile`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACUnReferenceProfile)

#### ACProfileFromDescription

```cpp
AC_Error ACProfileFromDescription(AC_Profile *profile, AC_String description)
```

Header: `AcroColorProcs.h:475`

Finds a profile matching the description string in the database. The client should call ACUnReferenceProfile() when done with the profile. • If the description string contains Unicode text, the Unicode text is used to find the profile. • If the description string contains only ASCII text, the method tries to find a match. However, the AcroColor engine requires only Unicode descriptions to be unique, so this might return the wrong profile is in some rare cases. Use ASCII-only description strings only when Unicode description string are unavailable.

**Parameters**

- `profile` ([`AC_Profile *`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_Profile)): (Filled by the method) A pointer to the device color profile object.
- `description` ([`AC_String`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_String)): The description string.

**Returns:** [`AC_Error`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_Error)

`0` if successful, a non-zero error code otherwise.

**See also:** [`ACGetSettingsProfile`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACGetSettingsProfile), [`ACGetWorkingSpaceProfile`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACGetWorkingSpaceProfile), [`ACMakeBufferProfile`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACMakeBufferProfile), [`ACMakeCalGray`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACMakeCalGray), [`ACMakeCalLab`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACMakeCalLab), [`ACMakeCalRGB`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACMakeCalRGB), [`ACMakeString`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACMakeString), [`ACMonitorProfile`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACMonitorProfile), [`ACProfileFromCode`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACProfileFromCode), [`ACProfileListItemDescription`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACProfileListItemDescription), [`ACUnReferenceProfile`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACUnReferenceProfile)

#### ACProfileListCount

```cpp
AC_Error ACProfileListCount(AC_ProfileList list, ASUns32 *count)
```

Header: `AcroColorProcs.h:123`

Gets the number of profiles in a device color profile list.

**Parameters**

- `list` ([`AC_ProfileList`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_ProfileList)): The profile list.
- `count` ([`ASUns32 *`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/aslayer.md#ASUns32)): (Filled by the method) A pointer to the number of profiles in the list.

**Returns:** [`AC_Error`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_Error)

`0` if successful, a non-zero error code otherwise.

**See also:** [`ACMakeProfileList`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACMakeProfileList), [`ACProfileListItemCode`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACProfileListItemCode), [`ACProfileListItemDescription`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACProfileListItemDescription)

#### ACProfileListItemCode

```cpp
AC_Error ACProfileListItemCode(AC_ProfileList list, ASUns32 index, AC_ProfileCode *code)
```

Header: `AcroColorProcs.h:164`

Gets the profile code of a specified profile in a profile list. While this routine is not absolutely required, since the description string is always a unique reference, profile codes have the advantage that they are localization-independent.

**Parameters**

- `list` ([`AC_ProfileList`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_ProfileList)): The profile list.
- `index` ([`ASUns32`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/aslayer.md#ASUns32)): The index for the profile in the list.
- `code` ([`AC_ProfileCode *`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_ProfileCode)): (Filled by the method) A pointer to the profile code. If the specified profile does not have a code, this method returns AC_Profile_Null.

**Returns:** [`AC_Error`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_Error)

`0` if successful, a non-zero error code otherwise.

**See also:** [`ACMakeProfileList`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACMakeProfileList), [`ACProfileListCount`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACProfileListCount), [`ACProfileListItemDescription`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACProfileListItemDescription)

#### ACProfileListItemDescription

```cpp
AC_Error ACProfileListItemDescription(AC_ProfileList list, ASUns32 index, AC_String *description)
```

Header: `AcroColorProcs.h:145`

Returns the description string of a specified profile in a list. The returned description string always contains both ASCII and Unicode data, even if the profile itself only contains an ASCII version. You can store only the Unicode data in settings files if you wish; the ACProfileFromDescription() method finds the correct profile when passed the Unicode-only string.

**Parameters**

- `list` ([`AC_ProfileList`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_ProfileList)): The profile list.
- `index` ([`ASUns32`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/aslayer.md#ASUns32)): The index for the profile in the list.
- `description` ([`AC_String *`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_String)): (Filled by the method) A pointer to the profile description string.

**Returns:** [`AC_Error`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_Error)

`0` if successful, a non-zero error code otherwise.

**See also:** [`ACMakeProfileList`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACMakeProfileList), [`ACMakeString`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACMakeString), [`ACProfileFromDescription`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACProfileFromDescription), [`ACProfileListCount`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACProfileListCount), [`ACProfileListItemCode`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACProfileListItemCode)

#### ACProfileSize

```cpp
AC_Error ACProfileSize(AC_Profile profile, ASUns32 *size)
```

Header: `AcroColorProcs.h:660`

Gets the size in bytes of the raw ICC profile data in a device profile.

**Parameters**

- `profile` ([`AC_Profile`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_Profile)): The device color profile object.
- `size` ([`ASUns32 *`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/aslayer.md#ASUns32)): (Filled by the method) A pointer to the profile data size.

**Returns:** [`AC_Error`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_Error)

`0` if successful, a non-zero error code otherwise.

**See also:** [`ACProfileData`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACProfileData)

#### ACProfilesMatch

```cpp
AC_Error ACProfilesMatch(AC_Profile workingProfile, AC_Profile documentProfile, ASBool *match)
```

Header: `AcroColorProcs.h:922`

Compares the working device profile with the document device profile to determine if they are the same. This comparison ignores rendering intents, and is *fuzzy*, allowing very close, but not exactly the same, profiles to match. Equivalent profiles always match, but some non-equivalent profiles may also match.

**Parameters**

- `workingProfile` ([`AC_Profile`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_Profile)): The working device color profile.
- `documentProfile` ([`AC_Profile`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_Profile)): The document's device color profile.
- `match` ([`ASBool *`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/plugins.md#ASBool)): (Filled by the method) A pointer to the result: `true` if the profiles match, `false` otherwise.

**Returns:** [`AC_Error`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_Error)

`0` if successful, a non-zero error code otherwise.

**See also:** [`ACGetSettingsProfile`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACGetSettingsProfile), [`ACGetWorkingSpaceProfile`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACGetWorkingSpaceProfile), [`ACUnReferenceProfile`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACUnReferenceProfile)

#### ACSetBlackPointCompensation

```cpp
AC_Error ACSetBlackPointCompensation(ASUns32 bpc)
```

Header: `AcroColorProcs.h:1149`

Sets the black-point compensation flag, which controls whether to adjust for differences in black points when converting colors between color spaces. When enabled, the full dynamic range of the source space is mapped into the full dynamic range of the destination space. When disabled, the dynamic range of the source space is simulated in the destination space (which can result in blocked or gray shadows).

**Parameters**

- `bpc` ([`ASUns32`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/aslayer.md#ASUns32)): `1` to enable black-point compensation, `0` otherwise.

**Returns:** [`AC_Error`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_Error)

`0` if successful, a non-zero error code otherwise.

**See also:** [`ACSetBlackPointCompensation`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACSetBlackPointCompensation)

#### ACSetEngine

```cpp
AC_Error ACSetEngine(ASUns32 cmsID, ASUns32 cmmID)
```

Header: `AcroColorProcs.h:87`

Sets the AcroColor engine (ACE) for the system, changing the global default CMS/CMM choice. This method rebuilds all existing transforms using the new engine. If the user aborts the process, or if the ACE runs out of resources during the rebuilding process, an error code is returned and some existing transforms may still use the previous engine choice. Everything will still work, since multiple engines can be used at once. Call the method again to restart the transform rebuilding process.

**Parameters**

- `cmsID` ([`ASUns32`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/aslayer.md#ASUns32)): The Color Management System identifier for the new engine default, as returned by ACEngineInfo().
- `cmmID` ([`ASUns32`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/aslayer.md#ASUns32)): The Color Management Module identifier for the new engine default, as returned by ACEngineInfo().

**Returns:** [`AC_Error`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_Error)

`0` if successful, a non-zero error code otherwise.

**See also:** [`ACEngineCount`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACEngineCount), [`ACEngineInfo`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACEngineInfo)

#### ACStringASCII

```cpp
AC_Error ACStringASCII(AC_String string, char *buffer, ASUns32 *count, ASUns32 maxCount)
```

Header: `AcroColorProcs.h:820`

Copies the ASCII version of a string into a supplied buffer. Either the `buffer` or the `count` can be `NULL`. The ICC profile standard requires that ASCII version of the profile description string be limited to 7-bit ASCII characters. Depending on the API, operating system, file contents, and so on, the method can return strings in the local script code (8 bit single byte or 8 bit encoded multi-byte). Clients should always assume that the ASCII data is in the local script code (of which the 7-bit ASCII characters are a subset).

**Parameters**

- `string` ([`AC_String`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_String)): The AcroColor string containing ASCII data. If the string does not contain an ASCII version, the method returns AC_Error_NoASCII.
- `buffer` (`char *`): (Filled by the method) A buffer to contain a copy of the ASCII data.
- `count` ([`ASUns32 *`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/aslayer.md#ASUns32)): (Filled by the method) A pointer to the size of `buffer` in bytes, including the trailing `NULL` character.
- `maxCount` ([`ASUns32`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/aslayer.md#ASUns32)): The maximum size of `buffer` in bytes. If the length of the string is longer than this value, the method copies a truncated string to the `buffer` and returns AC_Error_StringOverflow.

**Returns:** [`AC_Error`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_Error)

`0` if successful, a non-zero error code otherwise.

**See also:** [`ACMakeString`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACMakeString), [`ACStringLocalized`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACStringLocalized), [`ACStringUnicode`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACStringUnicode), [`ACUnReferenceString`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACUnReferenceString)

#### ACStringLocalized

```cpp
AC_Error ACStringLocalized(AC_String string, ASUTF16Val *buffer, ASUns32 *count, ASUns32 maxCount)
```

Header: `AcroColorProcs.h:854`

Copies the localized Unicode version of a string into a supplied buffer. Either the `buffer` or the `count` can be `NULL`. The settings file format and ICC profiles later than version 2 can contain text in multiple languages or countries. When the AcroColor engine (ACE) create strings from these files or profiles, it uses the current language and country codes to create strings with a third fork: a localized Unicode version. These localized versions are intended for user display only and should not be stored in preferences files or action scripts, since they vary from country to country and are not portable.

**Parameters**

- `string` ([`AC_String`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_String)): The AcroColor string containing localized Unicode data. If the string does not contain a localized Unicode version, the method returns AC_Error_NoLocalized.
- `buffer` ([`ASUTF16Val *`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/aslayer.md#ASUTF16Val)): (Filled by the method) A buffer to contain a copy of the localized Unicode data.
- `count` ([`ASUns32 *`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/aslayer.md#ASUns32)): (Filled by the method) A pointer to the size (in bytes) of the `buffer`, including the trailing `NULL` character.
- `maxCount` ([`ASUns32`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/aslayer.md#ASUns32)): The maximum size of the `buffer` in bytes. If the length of the string is longer than this value, the method copies a truncated string to the `buffer` and returns AC_Error_StringOverflow.

**Returns:** [`AC_Error`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_Error)

`0` if successful, a non-zero error code otherwise.

**See also:** [`ACMakeString`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACMakeString), [`ACStringASCII`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACStringASCII), [`ACStringUnicode`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACStringUnicode), [`ACUnReferenceString`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACUnReferenceString)

#### ACStringUnicode

```cpp
AC_Error ACStringUnicode(AC_String string, ASUTF16Val *buffer, ASUns32 *count, ASUns32 maxCount)
```

Header: `AcroColorProcs.h:877`

Copies the Unicode version of a string into a supplied buffer. Either the `buffer` or the `count` can be `NULL`.

**Parameters**

- `string` ([`AC_String`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_String)): The AcroColor string containing localized Unicode data. If the string does not contain a Unicode version, the method returns AC_Error_NoUnicode.
- `buffer` ([`ASUTF16Val *`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/aslayer.md#ASUTF16Val)): (Filled by the method) A buffer to contain a copy of the Unicode data.
- `count` ([`ASUns32 *`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/aslayer.md#ASUns32)): (Filled by the method) A pointer to the size of `buffer` in bytes, including the trailing `NULL` character.
- `maxCount` ([`ASUns32`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/aslayer.md#ASUns32)): The maximum size of `buffer` in bytes. If the length of the string is longer than this value, the method copies a truncated string to the `buffer` and returns AC_Error_StringOverflow.

**Returns:** [`AC_Error`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_Error)

`0` if successful, a non-zero error code otherwise.

**See also:** [`ACMakeString`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACMakeString), [`ACStringASCII`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACStringASCII), [`ACStringLocalized`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACStringLocalized), [`ACUnReferenceString`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACUnReferenceString)

#### ACSwatchBookColorSpace

```cpp
AC_ColorSpace ACSwatchBookColorSpace(ACSwatchBook bp)
```

Header: `AcroColorProcs.h:1064`

Retrieves the color space of the swatches in the swatchbook.

**Parameters**

- `bp` ([`ACSwatchBook`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACSwatchBook))

**Returns:** [`AC_ColorSpace`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_ColorSpace)

The color space of the swatchbook object (for example, all swatches are in this space).

#### ACSwatchBookCount

```cpp
ASUns32 ACSwatchBookCount(ACSwatchBookDB dbp)
```

Header: `AcroColorProcs.h:1005`

Retrieves the number of swatchbooks available in the swatchbook database that was returned by `ACSwatchBookFind()`.

**Parameters**

- `dbp` ([`ACSwatchBookDB`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACSwatchBookDB)): A pointer to the swatchbook database object.

**Returns:** [`ASUns32`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/aslayer.md#ASUns32)

The number of swatchbooks in the database.

#### ACSwatchBookDBDestroy

```cpp
void ACSwatchBookDBDestroy(ACSwatchBookDB dbp)
```

Header: `AcroColorProcs.h:1027`

Destroys the swatchbook database and frees any memory associated with it.

**Parameters**

- `dbp` ([`ACSwatchBookDB`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACSwatchBookDB)): A pointer to the swatchbook database object to be destroyed.

**Returns:** `void`

#### ACSwatchBookDescription

```cpp
ASText ACSwatchBookDescription(ACSwatchBookDB dbp, ASUns32 ix)
```

Header: `AcroColorProcs.h:1021`

Retrieves the description string for a swatchbook.

**Parameters**

- `dbp` ([`ACSwatchBookDB`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACSwatchBookDB)): A pointer to the swatchbook database object.
- `ix` ([`ASUns32`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/aslayer.md#ASUns32)): The index of the swatchbook item. Its value is in the range `[0, swatchBookCount-1]`.

**Returns:** [`ASText`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/aslayer.md#ASText)

The description string for the swatchbook.

#### ACSwatchBookDestroy

```cpp
void ACSwatchBookDestroy(ACSwatchBook bp)
```

Header: `AcroColorProcs.h:1050`

Destroys the swatchbook and frees any memory associated with it.

**Parameters**

- `bp` ([`ACSwatchBook`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACSwatchBook))

**Returns:** `void`

#### ACSwatchBookGetSwatchName

```cpp
ASText ACSwatchBookGetSwatchName(ACSwatchBook bp, ASUns32 ix)
```

Header: `AcroColorProcs.h:1079`

Retrieves the name of a color swatch.

**Parameters**

- `bp` ([`ACSwatchBook`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACSwatchBook))
- `ix` ([`ASUns32`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/aslayer.md#ASUns32)): The index of the swatch. Its value is in the range `[0, swatchCount-1]`.

**Returns:** [`ASText`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/aslayer.md#ASText)

The name of the color swatch.

#### ACSwatchBookGetSwatchValues

```cpp
void ACSwatchBookGetSwatchValues(ACSwatchBook bp, ASUns32 ix, float *values)
```

Header: `AcroColorProcs.h:1087`

Retrieves the color values associated with a color swatch.

**Parameters**

- `bp` ([`ACSwatchBook`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACSwatchBook))
- `ix` ([`ASUns32`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/aslayer.md#ASUns32)): The index of the swatch. Its value is in the range `[0, swatchCount-1]`.
- `values` (`float *`): Values that are filled in by this call.

**Returns:** `void`

#### ACSwatchBookIsProcess

```cpp
ASBool ACSwatchBookIsProcess(ACSwatchBook bp)
```

Header: `AcroColorProcs.h:1071`

Determines whether the swatchbook is for a process color mode.

**Parameters**

- `bp` ([`ACSwatchBook`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACSwatchBook))

**Returns:** [`ASBool`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/plugins.md#ASBool)

`true` if the swatchbook is for a process color mode, `false` if it is for spot.

#### ACSwatchBookLoad

```cpp
ACSwatchBook ACSwatchBookLoad(ACSwatchBookDB dbp, ASUns32 ix)
```

Header: `AcroColorProcs.h:1036`

Retrieves an opaque `ACSwatchBook` object for the nth swatchbook. This loads the swatchbook into memory. Zero will be returned if there was an error.

**Parameters**

- `dbp` ([`ACSwatchBookDB`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACSwatchBookDB)): The swatchbook database.
- `ix` ([`ASUns32`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/aslayer.md#ASUns32))

**Returns:** [`ACSwatchBook`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACSwatchBook)

The swatchbook object. Call `ACSwatchBookDestroy()` when it is no longer needed.

#### ACSwatchBookLoadFromPath

```cpp
ACSwatchBook ACSwatchBookLoadFromPath(ACSwatchBookDB dbp, ASPathName path)
```

Header: `AcroColorProcs.h:1044`

Retrieves an opaque `ACSwatchBook` object using the specified path. This loads the swatchbook into memory. Zero will be returned if there was an error.

**Parameters**

- `dbp` ([`ACSwatchBookDB`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACSwatchBookDB)): The swatchbook database.
- `path` ([`ASPathName`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/aslayer.md#ASPathName)): The path to the swatchbook file.

**Returns:** [`ACSwatchBook`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACSwatchBook)

The swatchbook object. Call `ACSwatchBookDestroy()` when it is no longer needed.

#### ACSwatchBookNumberOfColors

```cpp
ASUns32 ACSwatchBookNumberOfColors(ACSwatchBook bp)
```

Header: `AcroColorProcs.h:1057`

Retrieves the number of color swatches in the swatchbook.

**Parameters**

- `bp` ([`ACSwatchBook`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACSwatchBook))

**Returns:** [`ASUns32`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/aslayer.md#ASUns32)

The number of swatches in the swatchbook.

#### ACSwatchBookTitle

```cpp
ASText ACSwatchBookTitle(ACSwatchBookDB dbp, ASUns32 ix)
```

Header: `AcroColorProcs.h:1013`

Retrieves the title of a swatchbook.

**Parameters**

- `dbp` ([`ACSwatchBookDB`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACSwatchBookDB)): A pointer to the swatchbook database object.
- `ix` ([`ASUns32`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/aslayer.md#ASUns32)): The index of the swatchbook item. Its value is in the range `[0, swatchBookCount-1]`.

**Returns:** [`ASText`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/aslayer.md#ASText)

The title of the swatchbook.

#### ACSwatchBooksFind

```cpp
ACSwatchBookDB ACSwatchBooksFind(ASUns32 count, ASFileSys fs, ASPathName *folders)
```

Header: `AcroColorProcs.h:998`

Retrieves an `ACSwatchBookDB` database object, containing the swatchbooks found by searching the folders given. The folders are usually determined by using the `AVAcquireSpecialFolderPathName`. This always scans the swatchbook directories, so this should be called every time one is going to make a list of the swatchbooks, in case a user installed a swatchbook in the user directory while the application was open. PDF library clients must pass in whatever folder location is appropriate.

**Parameters**

- `count` ([`ASUns32`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/aslayer.md#ASUns32)): The number of folders in the folders array.
- `fs` ([`ASFileSys`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/aslayer.md#ASFileSys))
- `folders` ([`ASPathName *`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/aslayer.md#ASPathName)): A pointer to an array of path names for the folders to search.

**Returns:** [`ACSwatchBookDB`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACSwatchBookDB)

A swatchbook database object. Call `ACSwatchBookDBDestroy()` when this is no longer needed.

#### ACUnReferencePresetList

```cpp
AC_Error ACUnReferencePresetList(AC_PresetList list)
```

Header: `AcroColorProcs.h:282`

Decrements the reference count of a preset list object. If this causes the object's reference count to reach zero, the method deletes it.

**Parameters**

- `list` ([`AC_PresetList`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_PresetList)): The preset list object.

**Returns:** [`AC_Error`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_Error)

`0` if successful, a non-zero error code otherwise.

**See also:** [`ACMakePresetList`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACMakePresetList)

#### ACUnReferenceProfile

```cpp
AC_Error ACUnReferenceProfile(AC_Profile profile)
```

Header: `AcroColorProcs.h:694`

Decrements the reference count of a device color profile object. If this causes the object's reference count to reach zero, the method deletes it.

**Parameters**

- `profile` ([`AC_Profile`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_Profile)): The profile object.

**Returns:** [`AC_Error`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_Error)

`0` if successful, a non-zero error code otherwise.

**See also:** [`ACGetSettingsProfile`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACGetSettingsProfile), [`ACGetWorkingSpaceProfile`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACGetWorkingSpaceProfile), [`ACMakeBufferProfile`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACMakeBufferProfile), [`ACMakeCalGray`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACMakeCalGray), [`ACMakeCalLab`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACMakeCalLab), [`ACMakeCalRGB`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACMakeCalRGB), [`ACMonitorProfile`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACMonitorProfile), [`ACProfileFromCode`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACProfileFromCode), [`ACProfileFromDescription`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACProfileFromDescription)

#### ACUnReferenceProfileList

```cpp
AC_Error ACUnReferenceProfileList(AC_ProfileList list)
```

Header: `AcroColorProcs.h:174`

Decrements the reference count of a device color profile list object. If this causes the object's reference count to reach zero, the method deletes it.

**Parameters**

- `list` ([`AC_ProfileList`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_ProfileList)): The profile list object.

**Returns:** [`AC_Error`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_Error)

`0` if successful, a non-zero error code otherwise.

**See also:** [`ACMakeProfileList`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACMakeProfileList)

#### ACUnReferenceSettings

```cpp
AC_Error ACUnReferenceSettings(AC_Settings settings)
```

Header: `AcroColorProcs.h:427`

Decrements the reference count of an AcroColor engine `settings` object. If this causes the object's reference count to reach zero, the method deletes it.

**Parameters**

- `settings` ([`AC_Settings`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_Settings)): The `settings` object.

**Returns:** [`AC_Error`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_Error)

`0` if successful, a non-zero error code otherwise.

**See also:** [`ACMakeSettings`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACMakeSettings)

#### ACUnReferenceString

```cpp
AC_Error ACUnReferenceString(AC_String string)
```

Header: `AcroColorProcs.h:887`

Decrements the reference count of a string object. If this causes the object's reference count to reach zero, the method deletes it.

**Parameters**

- `string` ([`AC_String`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_String)): The string object.

**Returns:** [`AC_Error`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_Error)

`0` if successful, a non-zero error code otherwise.

**See also:** [`ACMakeString`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACMakeString)

#### ACUnReferenceTransform

```cpp
AC_Error ACUnReferenceTransform(AC_Transform transform)
```

Header: `AcroColorProcs.h:752`

Decrements the reference count of a color transformation object. If this causes the object's reference count to reach zero, the method deletes it.

**Parameters**

- `transform` ([`AC_Transform`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_Transform)): The tranform object.

**Returns:** [`AC_Error`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_Error)

`0` if successful, a non-zero error code otherwise.

**See also:** [`ACMakeColorTransform`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACMakeColorTransform)

#### PDColorConvertPDEElement

```cpp
PDEElement PDColorConvertPDEElement(PDDoc doc, PDEElement elem, AC_Profile targetProfile, AC_RenderIntent intent, ASBool embed)
```

Header: `AcroColorProcs.h:984`

Converts a PDEElement to the supplied color space.

**Parameters**

- `doc` ([`PDDoc`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/pdlayer.md#PDDoc)): The document in which the element is located.
- `elem` ([`PDEElement`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/pdelayer.md#PDEElement)): The element to convert.
- `targetProfile` ([`AC_Profile`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_Profile)): The ICC profile to which the color should be converted.
- `intent` ([`AC_RenderIntent`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_RenderIntent)): The rendering intent to use for the conversion. AC_UseProfileIntent can be passed in order to use the default intent. (Note that it is not actually using the profile intent, but is using the current intent in the PDF graphics state).
- `embed` ([`ASBool`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/plugins.md#ASBool)): If `true`, embed the color space and make the object calibrated. If it is `false` and the target profile is CMYK, RGB, or Gray, the colors space of the resulting object, after conversion, will be DeviceCMYK, DeviceRGB, or DeviceGray, respectively.

**Returns:** [`PDEElement`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/pdelayer.md#PDEElement)

A PDEElement containing the converted data. Note that the source element is copied and its reference count is not decremented, so the caller should decrement the source element's reference count if it is no longer needed. @see PDColorConvertPDEElementEx

#### PDColorConvertPDEElementEx

```cpp
PDEElement PDColorConvertPDEElementEx(PDDoc doc, PDEElement elem, PDColorConvertParamsEx params)
```

Header: `AcroColorProcs.h:1129`

Converts a PDEElement to the supplied color space.

**Parameters**

- `doc` ([`PDDoc`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/pdlayer.md#PDDoc)): The document in which the element is located.
- `elem` ([`PDEElement`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/pdelayer.md#PDEElement)): The element to convert.
- `params` ([`PDColorConvertParamsEx`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#PDColorConvertParamsEx)): The parameters block that describes how color conversions are to be performed.

**Returns:** [`PDEElement`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/pdelayer.md#PDEElement)

A PDEElement containing the converted data. Note that the source element is copied and its reference count is not decremented, so the caller should decrement the source element's reference count if it is no longer needed. @see PDColorConvertPDEElement

#### PDColorConvertPDEElementEx2

```cpp
PDEElement PDColorConvertPDEElementEx2(PDDoc doc, PDEElement elem, PDColorConvertParamsEx params, ASInt32 pageNum)
```

Header: `AcroColorProcs.h:1187`

Converts a PDEElement to the supplied color space.

**Parameters**

- `doc` ([`PDDoc`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/pdlayer.md#PDDoc)): The document in which the element is located.
- `elem` ([`PDEElement`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/pdelayer.md#PDEElement)): The element to convert.
- `params` ([`PDColorConvertParamsEx`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#PDColorConvertParamsEx)): The parameters block that describes how color conversions are to be performed.
- `pageNum` ([`ASInt32`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/aslayer.md#ASInt32)): The page on which the element is present.

**Returns:** [`PDEElement`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/pdelayer.md#PDEElement)

A PDEElement containing the converted data. Note that the source element is copied and its reference count is not decremented, so the caller should decrement the source element's reference count if it is no longer needed. @see PDColorConvertPDEElement

#### PDDocColorConvertEmbedOutputIntent

```cpp
void PDDocColorConvertEmbedOutputIntent(PDDoc doc, AC_Profile OIProfile)
```

Header: `AcroColorProcs.h:964`

Embeds an output intent into a document.

**Parameters**

- `doc` ([`PDDoc`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/pdlayer.md#PDDoc)): The document in which to embed the output intent.
- `OIProfile` ([`AC_Profile`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_Profile))

**Returns:** `void`

#### PDDocColorConvertEmbedOutputIntentEx

```cpp
void PDDocColorConvertEmbedOutputIntentEx(PDDoc doc, AC_Profile OIProfile, ASAtom subtype)
```

Header: `AcroColorProcs.h:1160`

Embeds an output intent into a document.

**Parameters**

- `doc` ([`PDDoc`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/pdlayer.md#PDDoc)): The document in which to embed the output intent.
- `OIProfile` ([`AC_Profile`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_Profile)): The parameter from which to get the output intent, described as the target space.
- `subtype` ([`ASAtom`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/aslayer.md#ASAtom)): The ASAtom for the name of output intent subtype created. The subtype must be one of the following: GTS_PDFX, GTS_PDFA1, or ISO_PDFE1.

**Returns:** `void`

#### PDDocColorConvertPage

```cpp
ASBool PDDocColorConvertPage(PDDoc doc, PDColorConvertParams params, ASInt32 pageNum, ASProgressMonitor progMon, void *progMonData, PDColorConvertReportProc reportProc, void *reportProcData, ASBool *changed)
```

Header: `AcroColorProcs.h:937`

Converts the colors (in place) on a page, as specified by the `params` block.

**Parameters**

- `doc` ([`PDDoc`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/pdlayer.md#PDDoc)): The document in which to convert a page.
- `params` ([`PDColorConvertParams`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#PDColorConvertParams)): The parameter block that describes how color conversions are to be performed.
- `pageNum` ([`ASInt32`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/aslayer.md#ASInt32)): The page number of the page to convert.
- `progMon` (`ASProgressMonitor`): The progress monitor callback. This call will set the duration of the monitor to the number of elements in the top-level content stream, and will update the value as the elements are converted. If this parameter is zero, no progress monitor callback is called.
- `progMonData` (`void *`): The data element to be passed into progress monitor calls.
- `reportProc` ([`PDColorConvertReportProc`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#PDColorConvertReportProc)): The reporting callback; it reports the attributes and action of each object converted to the callback. Passing in a zero reporting callback means that no reporting will be done.
- `reportProcData` (`void *`): The data element to be passed into `reportProc`.
- `changed` ([`ASBool *`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/plugins.md#ASBool))

**Returns:** [`ASBool`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/plugins.md#ASBool)

`true` if the conversion was aborted or failed.

**Exceptions**

- `asGenErrBadParm`: The `params` block is malformed (for example, a reference or alias to a non-existent ink, or a circular alias).

#### PDDocColorConvertPageEx

```cpp
ASBool PDDocColorConvertPageEx(PDDoc doc, PDColorConvertParamsEx paramsEx, ASInt32 pageNum, ASProgressMonitor progMon, void *progMonData, PDColorConvertReportProc reportProc, void *reportProcData, ASBool *changed)
```

Header: `AcroColorProcs.h:954`

Convert the colors (in place) in a page as specified by the `params` block. Takes an extended parameters block.

**Parameters**

- `doc` ([`PDDoc`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/pdlayer.md#PDDoc)): The document in which to convert a page.
- `paramsEx` ([`PDColorConvertParamsEx`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#PDColorConvertParamsEx))
- `pageNum` ([`ASInt32`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/aslayer.md#ASInt32)): The page number of the page to convert.
- `progMon` (`ASProgressMonitor`): The progress monitor callback. This call will set the duration of the monitor to the number of elements in the top-level content stream, and will update the value as the elements are converted. If this parameter is zero, no progress monitor callback is called.
- `progMonData` (`void *`): The data element to be passed into progress monitor calls.
- `reportProc` ([`PDColorConvertReportProc`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#PDColorConvertReportProc)): The reporting callback; it reports the attributes and action of each object converted to the callback. Passing in a zero reporting callback means that no reporting will be done.
- `reportProcData` (`void *`): The data element to be passed into `reportProc`.
- `changed` ([`ASBool *`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/plugins.md#ASBool))

**Returns:** [`ASBool`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/plugins.md#ASBool)

`true` if the conversion was aborted or failed.

**Exceptions**

- `asGenErrBadParm`: The `params` block is ill-formed (for example, a reference or alias to a non-existent ink, or a circular alias).

#### PDPageColorConvertEmbedOutputIntent

```cpp
void PDPageColorConvertEmbedOutputIntent(PDPage page, AC_Profile OIProfile, ASAtom subtype)
```

Header: `AcroColorProcs.h:1172`

Embeds an output intent into specified page.

**Parameters**

- `page` ([`PDPage`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/pdlayer.md#PDPage)): The page in which to embed the output intent.
- `OIProfile` ([`AC_Profile`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#AC_Profile)): The parameter from which to get the output intent, described as the target space.
- `subtype` ([`ASAtom`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/aslayer.md#ASAtom)): The ASAtom for the name of output intent subtype created. The subtype must be one of the following: GTS_PDFX, GTS_PDFA1, or ISO_PDFE1.

**Returns:** `void`

### Typedefs (5)

#### ACSwatchBook

```cpp
typedef void* ACSwatchBook
```

Header: `AcroColorExpT.h:1648`

Swatchbook object.

#### ACSwatchBookDB

```cpp
typedef void* ACSwatchBookDB
```

Header: `AcroColorExpT.h:1645`

Swatchbook database object.

#### PDColorConvertObjectAttributes

```cpp
typedef ASUns32 PDColorConvertObjectAttributes
```

Header: `AcroColorExpT.h:1307`

#### PDColorConvertSpaceType

```cpp
typedef ASUns32 PDColorConvertSpaceType
```

Header: `AcroColorExpT.h:1361`

#### PDColorConvertReportProc

```cpp
typedef void(*) PDColorConvertReportProc(PDColorConvertObjectAttributes objectType, PDColorConvertSpaceType colorSpaceType, PDColorConvertActionType action, PDCompletionCode completionCode, PDReasonCode reasonCode, void *userData)(PDColorConvertObjectAttributes objectType, PDColorConvertSpaceType colorSpaceType, PDColorConvertActionType action, PDCompletionCode completionCode, PDReasonCode reasonCode, void *userData)
```

Header: `AcroColorExpT.h:1637`

### Structures (10)

#### AC_PresetList

```cpp
typedef struct ACPresetList* AC_PresetList
```

Header: `AcroColorExpT.h:193`

#### AC_Profile

```cpp
typedef struct ACProfile* AC_Profile
```

Header: `AcroColorExpT.h:173`

#### AC_ProfileList

```cpp
typedef struct ACProfileList* AC_ProfileList
```

Header: `AcroColorExpT.h:104`

#### AC_Settings

```cpp
typedef struct ACSettings* AC_Settings
```

Header: `AcroColorExpT.h:142`

#### AC_String

```cpp
typedef struct ACString* AC_String
```

Header: `AcroColorExpT.h:85`

#### AC_Transform

```cpp
typedef struct ACTransform* AC_Transform
```

Header: `AcroColorExpT.h:121`

#### PDColorConvertAction

```cpp
typedef  struct PDColorConvertActionRec * PDColorConvertAction
```

Header: `AcroColorExpT.h:1441`

#### PDColorConvertActionEx

```cpp
typedef  struct PDColorConvertActionRecEx * PDColorConvertActionEx
```

Header: `AcroColorExpT.h:1545`

#### PDColorConvertParams

```cpp
typedef  struct PDColorConvertParamsRec * PDColorConvertParams
```

Header: `AcroColorExpT.h:1470`

#### PDColorConvertParamsEx

```cpp
typedef  struct PDColorConvertParamsRecEx * PDColorConvertParamsEx
```

Header: `AcroColorExpT.h:1611`

### Enums (14)

#### ACWorkingSpace

Header: `AcroColorExpT.h:1237`

Constants that specify the color space of working profiles. This enumeration is added for the purpose of ACGetWorkingSpaceProfile(). The profile returned by this function must be unreferenced by the caller.

**Values**

- `kACWorkingGray = 0`: Grayscale profile.
- `kACWorkingRGB = 1`: RGB profile.
- `kACWorkingCMYK = 2`: CMYK profile.
- `kACWorkingSpaces = 3`: Working spaces.

**See also:** [`ACGetWorkingSpaceProfile`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACGetWorkingSpaceProfile)

#### AC_ColorSpace

Header: `AcroColorExpT.h:1118`

Constant values for ICC color space signatures.

**Values**

- `AC_Space_XYZ = FOUR_CHAR_CODE('XYZ ')`
- `AC_Space_Lab = FOUR_CHAR_CODE('Lab ')`
- `AC_Space_RGB = FOUR_CHAR_CODE('RGB ')`
- `AC_Space_Gray = FOUR_CHAR_CODE('GRAY')`
- `AC_Space_CMYK = FOUR_CHAR_CODE('CMYK')`
- `AC_Space_Luv = FOUR_CHAR_CODE('Luv ')`
- `AC_Space_YCbCr = FOUR_CHAR_CODE('YCbr')`
- `AC_Space_HSV = FOUR_CHAR_CODE('HSV ')`
- `AC_Space_HLS = FOUR_CHAR_CODE('HLS ')`
- `AC_Space_CMY = FOUR_CHAR_CODE('CMY ')`
- `AC_Space_2Component = FOUR_CHAR_CODE('2CLR')`
- `AC_Space_3Component = FOUR_CHAR_CODE('3CLR')`
- `AC_Space_4Component = FOUR_CHAR_CODE('4CLR')`
- `AC_Space_5Component = FOUR_CHAR_CODE('5CLR')`
- `AC_Space_6Component = FOUR_CHAR_CODE('6CLR')`
- `AC_Space_7Component = FOUR_CHAR_CODE('7CLR')`
- `AC_Space_8Component = FOUR_CHAR_CODE('8CLR')`
- `AC_Space_9Component = FOUR_CHAR_CODE('9CLR')`
- `AC_Space_10Component = FOUR_CHAR_CODE('ACLR')`
- `AC_Space_11Component = FOUR_CHAR_CODE('BCLR')`
- `AC_Space_12Component = FOUR_CHAR_CODE('CCLR')`
- `AC_Space_13Component = FOUR_CHAR_CODE('DCLR')`
- `AC_Space_14Component = FOUR_CHAR_CODE('ECLR')`
- `AC_Space_15Component = FOUR_CHAR_CODE('FCLR')`
- `AC_Space_PhotoYCC = AC_Space_3Component`: Kodak's PhotoYCC space is stored as a generic 3-component space.
- `AC_Space_Null = 0`: A null color space. Used to represent spot-only color spaces.
- `AC_Space_MaxEnum = 0x7FFFFFFF`: This constant forces the enum to be 32 bits wide.

**See also:** [`ACProfileColorSpace`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACProfileColorSpace)

#### AC_Error

Header: `AcroColorExpT.h:268`

Error codes returned by AcroColor functions.

**Values**

- `AC_Error_None = 0`: No error.
- `AC_Error_General = FOUR_CHAR_CODE('gen ')`: Other error.
- `AC_Error_Param = FOUR_CHAR_CODE('parm')`: Bad parameters to an API call.
- `AC_Error_Version = FOUR_CHAR_CODE('ver ')`: Application and ACE library mismatch.
- `AC_Error_UserAbort = FOUR_CHAR_CODE('abrt')`: The user aborted the operation. Returned by ACE when the client progress callback returns `false`.
- `AC_Error_Memory = FOUR_CHAR_CODE('memF')`: Out of memory.
- `AC_Error_StackFull = FOUR_CHAR_CODE('stkF')`: Out of stack space.
- `AC_Error_ScratchFull = FOUR_CHAR_CODE('scrF')`: Client callback ran out of scratch space.
- `AC_Error_StringOverflow = FOUR_CHAR_CODE('strO')`: String does not fit in supplied buffer.
- `AC_Error_NoASCII = FOUR_CHAR_CODE('noA ')`: String does not contain ASCII data.
- `AC_Error_NoUnicode = FOUR_CHAR_CODE('noU ')`: String does not contain Unicode data.
- `AC_Error_NoLocalized = FOUR_CHAR_CODE('noL ')`: String does not contain localized data.
- `AC_Error_BadAlignment = FOUR_CHAR_CODE('alig')`: Data is not correctly byte aligned.
- `AC_Error_BadDescription = FOUR_CHAR_CODE('bDes')`: Invalid profile description.
- `AC_Error_BadConcat = FOUR_CHAR_CODE('bCat')`: Unable to concatenate transforms.
- `AC_Error_BadMerge = FOUR_CHAR_CODE('bMrg')`: Unable to merge transforms.
- `AC_Error_BadProfile = FOUR_CHAR_CODE('bPro')`: Invalid profile.
- `AC_Error_UnsupCMS = FOUR_CHAR_CODE('uCMS')`: Unsupported CMS.
- `AC_Error_UnsupOption = FOUR_CHAR_CODE('uOpt')`: Unsupported ACE option.
- `AC_Error_UnsupPacking = FOUR_CHAR_CODE('uPac')`: Unsupported packing code.
- `AC_Error_UnsupProfile = FOUR_CHAR_CODE('uPro')`: Unsupported profile version.
- `AC_Error_UnsupProfileCode = FOUR_CHAR_CODE('uPrC')`: Unsupported profile code.
- `AC_Error_UnsupSpace = FOUR_CHAR_CODE('uSpc')`: Unsupported color space.
- `AC_Error_UnsupQuery = FOUR_CHAR_CODE('uQry')`: Unsupported query code.
- `AC_Error_MissingProfile = FOUR_CHAR_CODE('misP')`: A profile was missing from the disk.
- `AC_Error_ModifiedProfile = FOUR_CHAR_CODE('modP')`: The profile on disk has been modified.
- `AC_Error_FileNotFound = FOUR_CHAR_CODE('fnf ')`: File is missing from disk.
- `AC_Error_EOF = FOUR_CHAR_CODE('eof ')`: End of file error.
- `AC_Error_FileLocked = FOUR_CHAR_CODE('flck')`: File locked error.
- `AC_Error_DiskIO = FOUR_CHAR_CODE('io ')`: Disk I/O error.
- `AC_Error_ColorSync = FOUR_CHAR_CODE('csE ')`: A problem using ColorSync.
- `AC_Error_ICM = FOUR_CHAR_CODE('icmE')`: A problem using ICM.
- `AC_Error_MissingKey = FOUR_CHAR_CODE('mKey')`: The color settings does not contain this key.
- `AC_Error_InvalidSettings = FOUR_CHAR_CODE('iSet')`: The color settings file is invalid.
- `AC_Error_SettingsVersion = FOUR_CHAR_CODE('vSet')`: The color settings file is an incompatible version.
- `AC_Error_NotImplemented = FOUR_CHAR_CODE('nImp')`: The function is not implemented (subsetted library).
- `AC_Error_MaxEnum = 0x7FFFFFFF`: This constant forces the `enum` to be 32 bits wide.

#### AC_PackingCode

Header: `AcroColorExpT.h:492`

Constants that specify the packing used in a color transformation.

**Values**

- `AC_Packing_pRGB8 = FOUR_CHAR_CODE('prgb')`: 8-bit RGB (or grayscale destination), with a leading pad byte. When grayscale is output in this format, the gray value is replicated into to the R, G, and B values.

  `R, G, B = 0` is black.

  `R, G, B = 255` is white.

  Data must be 32-bit aligned.
- `AC_Packing_RGB8 = FOUR_CHAR_CODE('rgb ')`: Same as AC_Packing_pRGB8, without the leading pad byte. Data need only be 8-bit aligned.
- `AC_Packing_pRGB15 = FOUR_CHAR_CODE('PRGB')`: 15+ bit RGB (or grayscale destination), with a leading pad word. When grayscale is output in this format, the gray value is replicated into to the R, G, and B values.

  `R, G, B = 0` is black.

  `R, G, B = 32768` is white.

  Values greater than `32768` are invalid.

  Data must be 64-bit aligned.
- `AC_Packing_CMYK8_Black0 = FOUR_CHAR_CODE('cmyk')`: 8-bit CMYK.

  `C, M, Y, K = 0` is 100% ink.

  `C, M, Y, K = 255` is 0% ink.

  Data must be 32-bit aligned.
- `AC_Packing_CMYK8_White0 = FOUR_CHAR_CODE('cmyw')`: Same as AC_Packing_CMYK8_Black0 with inverse encoding.
- `AC_Packing_CMYK15_Black0 = FOUR_CHAR_CODE('CMYK')`: 15+ bit CMYK.

  `C, M, Y, K = 0` is 100% ink.

  `C, M, Y, K = 32768` is 0% ink.

  Values greater than `32768` are invalid.

  Data must be 64-bit aligned.
- `AC_Packing_pLab8 = FOUR_CHAR_CODE('plab')`: 8-bit LAB, with a leading pad byte.

  `L = 0` means `L* = 0.0`

  `L = 255` means `L* = 100.0`

  `a, b = 0` means `a*, b* = -128.0`

  `a, b = 128` means `a*, b* = 0.0`

  `a, b = 255` means `a*, b* = +127.0`

  Data must be 32-bit aligned.
- `AC_Packing_Lab8 = FOUR_CHAR_CODE('lab ')`: Same as AC_Packing_pLab8, without the leading pad byte.

  Data need only be 8-bit aligned.
- `AC_Packing_pLab15 = FOUR_CHAR_CODE('PLAB')`: 15+ bit LAB, with a leading pad word.

  `L = 0` means `L* = 0.0`

  `L = 32768` means `L* = 100.0`

  `a, b = 0` means `a*, b* = -128.0`

  `a, b = 16384` means `a*, b* = 0.0`

  `a, b = 32768` means `a*, b* = +128.0`

  Values greater than `32768` are invalid.

  Data must be 64-bit aligned.
- `AC_Packing_Gray8_Black0 = FOUR_CHAR_CODE('g8k0')`: 8-bit grayscale or gamut test results, no padding.

  `G = 0` is 100% ink or black or fully out of gamut.

  `G = 255` is 0% ink or white or fully in gamut.

  When used for gamut test results, any value greater than or equal to `128` should be considered to be in gamut.
- `AC_Packing_Gray8_White0 = FOUR_CHAR_CODE('g8w0')`: Same as AC_Packing_Gray8_Black0 with inverse encoding.
- `AC_Packing_Gray15_Black0 = FOUR_CHAR_CODE('G15K')`: 15+ bit grayscale or gamut test results, no padding.

  `G = 0` is 100% ink or black or fully out of gamut.

  `G = 32768` is 0% ink or white or fully in gamut.

  Values greater than `32768` are invalid.

  Data must be 16-bit aligned.
- `AC_Packing_pXYZ16 = FOUR_CHAR_CODE('PXYZ')`: 16-bit XYZ, with a leading pad word.

  `X, Y, Z = 0` means `X, Y, Z = 0.0`

  `X, Y, Z = 32768` means `X, Y, Z = 1.0`

  `X, Y, Z = 65535` means `X, Y, Z = 1.9999694824`.

  Data must be 64-bit aligned.
- `AC_Packing_pABC8 = FOUR_CHAR_CODE('pabc')`: Generic padded 3-component 8-bit packing. Data must be 32-bit aligned.
- `AC_Packing_ABC8 = FOUR_CHAR_CODE('abc ')`: Same as AC_Packing_pABC8, without the leading pad byte. Data need only be 8-bit aligned.
- `AC_Packing_pABC15 = FOUR_CHAR_CODE('pABC')`: Generic padded 3-component 15+ bit packing. Data must be 64-bit aligned.
- `AC_Packing_ABCD8 = FOUR_CHAR_CODE('abcd')`: Generic 4-component 8-bit packing. Data must be 32-bit aligned.
- `AC_Packing_ABCD15 = FOUR_CHAR_CODE('ABCD')`: Generic 4-component 15+ bit packing. Data must be 64-bit aligned.
- `AC_Packing_CS64_Gray = FOUR_CHAR_CODE('CS01')`: Packing codes for native 64-bit (gray) ColorSync formats (type "CMColor"). ICM2 also uses these packings formats (type "COLOR"). See the Apple ColorSync documentation for the details of these formats. These are mostly intended for internal use by ACE, and are not intended for use by most ACE clients. Data must be 16-bit aligned.
- `AC_Packing_CS64_RGB = FOUR_CHAR_CODE('CS02')`: Packing codes for native 64-bit (RGB) ColorSync formats (type "CMColor"). ICM2 also uses these packings formats (type "COLOR"). See the Apple ColorSync documentation for the details of these formats. These are mostly intended for internal use by ACE, and are not intended for use by most ACE clients. Data must be 16-bit aligned.
- `AC_Packing_CS64_CMYK = FOUR_CHAR_CODE('CS03')`: Packing codes for native 64-bit (CMYK) ColorSync formats (type "CMColor"). ICM2 also uses these packings formats (type "COLOR"). See the Apple ColorSync documentation for the details of these formats. These are mostly intended for internal use by ACE, and are not intended for use by most ACE clients. Data must be 16-bit aligned.
- `AC_Packing_CS64_Lab = FOUR_CHAR_CODE('CS04')`: Packing codes for native 64-bit (Lab) ColorSync formats (type "CMColor"). ICM2 also uses these packings formats (type "COLOR"). See the Apple ColorSync documentation for the details of these formats. These are mostly intended for internal use by ACE, and are not intended for use by most ACE clients. Data must be 16-bit aligned.
- `AC_Packing_CS64_XYZ = FOUR_CHAR_CODE('CS05')`: Packing codes for native 64-bit (xyz) ColorSync formats (type "CMColor"). ICM2 also uses these packings formats (type "COLOR"). See the Apple ColorSync documentation for the details of these formats. These are mostly intended for internal use by ACE, and are not intended for use by most ACE clients. Data must be 16-bit aligned.
- `AC_Packing_CS64_ABC = FOUR_CHAR_CODE('CS06')`: Packing codes for native 64-bit (abc) ColorSync formats (type "CMColor"). ICM2 also uses these packings formats (type "COLOR"). See the Apple ColorSync documentation for the details of these formats. These are mostly intended for internal use by ACE, and are not intended for use by most ACE clients. Data must be 16-bit aligned.
- `AC_Packing_CS64_ABCD = FOUR_CHAR_CODE('CS07')`: Packing codes for native 64-bit (abcd)ColorSync formats (type "CMColor"). ICM2 also uses these packings formats (type "COLOR"). See the Apple ColorSync documentation for the details of these formats. These are mostly intended for internal use by ACE, and are not intended for use by most ACE clients. Data must be 16-bit aligned.
- `AC_Packing_Null = FOUR_CHAR_CODE('null')`: `NULL` data, for use with data in AC_Space_Null.
- `AC_Packing_General = 0`: None of the above; use the general packing specification.
- `AC_Packing_MaxEnum = 0x7FFFFFFF`: This constant forces the `enum` to be 32 bits wide.

#### AC_ProfileCode

Header: `AcroColorExpT.h:389`

Constants that describe the type of a device color profile.

**Values**

- `AC_Profile_Null = 0`: A `NULL` result, indication that a profile is not a built-in profile.
- `AC_Profile_Lab_D50 = FOUR_CHAR_CODE('LD50')`: Adobe's standard Lab profile. It has a white point of D50, and exactly matches the ICC's Lab PCS space.
- `AC_Profile_PCS_XYZ = FOUR_CHAR_CODE('pXYZ')`: An XYZ profile that exactly matches the ICC's XYZ PCS space.
- `AC_Profile_Flat_XYZ = FOUR_CHAR_CODE('fXYZ')`: An XYZ profile with a flat white point encoding (`X = Y = Z = 1.0`). Photoshop uses this as an intermediate space in its display loop.
- `AC_Profile_sRGB = FOUR_CHAR_CODE('sRGB')`: HP's sRGB profile. The default Windows monitor profile.
- `AC_Profile_AppleRGB = FOUR_CHAR_CODE('aRGB')`: Default RGB space using by Photoshop 4.0 and earlier. The default Mac OS monitor profile.
- `AC_Profile_AdobeRGB1998 = FOUR_CHAR_CODE('AS98')`: A wider gamut RGB space recommended by Adobe.
- `AC_Profile_ColorMatchRGB = FOUR_CHAR_CODE('cmat')`: A simplified version of Radius' ColorMatch RGB space, without Radius' non-zero black point.
- `AC_Profile_Gamma18 = FOUR_CHAR_CODE('GG18')`: Grayscale display profile with a gamma of 18.
- `AC_Profile_Gamma22 = FOUR_CHAR_CODE('GG22')`: Grayscale display profile with a gamma of 22.
- `AC_Profile_DotGain10 = FOUR_CHAR_CODE('DG10')`: Grayscale printer profile with a dot gain of 10.
- `AC_Profile_DotGain15 = FOUR_CHAR_CODE('DG15')`: Grayscale printer profile with a dot gain of 15.
- `AC_Profile_DotGain20 = FOUR_CHAR_CODE('DG20')`: Grayscale printer profile with a dot gain of 20.
- `AC_Profile_DotGain25 = FOUR_CHAR_CODE('DG25')`: Grayscale printer profile with a dot gain of 25.
- `AC_Profile_DotGain30 = FOUR_CHAR_CODE('DG30')`: Grayscale printer profile with a dot gain of 30.
- `AC_Profile_MonitorRGB = FOUR_CHAR_CODE('mRGB')`: The system "Monitor RGB" profile, which is the same profile as that returned by AC_MainMonitorProfile.
- `AC_Profile_SystemRGB = FOUR_CHAR_CODE('sysR')`: The system default profiles for RGB color space. (Currently a ColorSync 3.0 only feature.)
- `AC_Profile_SystemCMYK = FOUR_CHAR_CODE('sysC')`: The system default profiles for CMYK color space. (Currently a ColorSync 3.0 only feature.)
- `AC_Profile_SystemGray = FOUR_CHAR_CODE('sysG')`: The system default profiles for Gray color space. (Currently a ColorSync 3.0 only feature.)
- `AC_Profile_SystemInput = FOUR_CHAR_CODE('sysI')`: The system default profiles for input device type. (Currently a ColorSync 3.0 only feature.)
- `AC_Profile_SystemOutput = FOUR_CHAR_CODE('sysO')`: The system default profiles for output device type. (Currently a ColorSync 3.0 only feature.)
- `AC_Profile_SystemProofer = FOUR_CHAR_CODE('sysP')`: The system default profiles for proofer device type. (Currently a ColorSync 3.0 only feature.)
- `AC_Profile_WorkingRGB = FOUR_CHAR_CODE('wRGB')`: The application working (RGB) color space profiles. (For use as abstact values only, since ACE does not keep track of these profiles, and thus cannot make profiles from these codes.)
- `AC_Profile_WorkingCMYK = FOUR_CHAR_CODE('wCMY')`: The application working (CMYK) color space profiles. (For use as abstact values only, since ACE does not keep track of these profiles, and thus cannot make profiles from these codes.)
- `AC_Profile_WorkingGray = FOUR_CHAR_CODE('wGry')`: The application working (gray) color space profiles. (For use as abstact values only, since ACE does not keep track of these profiles, and thus cannot make profiles from these codes.)
- `AC_Profile_Acrobat5_CMYK = FOUR_CHAR_CODE('acr5')`
- `AC_Profile_Acrobat9_CMYK = FOUR_CHAR_CODE('acr9')`
- `AC_Profile_MaxEnum = 0x7FFFFFFF`: This constant forces the enum to be 32 bits wide.

**See also:** [`ACProfileFromCode`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACProfileFromCode), [`ACProfileListItemCode`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACProfileListItemCode)

#### AC_RenderIntent

Header: `AcroColorExpT.h:673`

Constants that specify a standard ICC rendering intent for a device color profile. The rendering intent specifies the color translation method for colors that are outside the gamut of the color profile.

**Values**

- `AC_Perceptual = 0`: Tries to preserve the visual relationship between colors in a way that is perceived as natural to the human eye, although the color values themselves may change. This is the same as the Image intent in Adobe PageMaker and Illustrator. This option is suitable for photographic, continuous tone images.
- `AC_RelColorimetric = 1`: The same as absolute colorimetric, except that it compares the white point of the source color space to that of the destination color space and shifts all other colors accordingly, rather than comparing individual colors.
- `AC_Saturation = 2`: Tries to create vivid color at the expense of accurate color. It scales the source gamut to the destination gamut, but preserves relative saturation instead of hue, so that when scaling to a smaller gamut, hues may shift. This is the same as the Graphics intent in Adobe PageMaker and Illustrator. This option is suitable for business graphics and charts, where the exact relationship between colors is not as important as having bright saturated colors.
- `AC_AbsColorimetric = 3`: Tries to maintain color accuracy at the expense of preserving relationships between colors. It leaves colors that fall inside the destination gamut unchanged. When translating to a smaller gamut, two colors that are distinct in the source space may be mapped to the same color in the destination space. This type of rendering can be more accurate than AC_RelColorimetric if the color profile of the image contains correct white point (extreme highlight) information.
- `AC_UseProfileIntent = 4`: Use the source profile's rendering intent.
- `AC_UseGStateIntent = 5`: This intent can be used ONLY in PDPageDrawContentsToMemoryWithParams. When it is used, the destination intent will be set to the same as the source intent
- `AC_RenderIntentSize = 0x7FFFFFFF`

**See also:** [`ACMakeCalGray`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACMakeCalGray), [`ACMakeCalLab`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACMakeCalLab), [`ACMakeCalRGB`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACMakeCalRGB)

#### AC_SelectorCode

Header: `AcroColorExpT.h:200`

Constants that specify the types of device profiles to include in a profile list.

**Values**

- `AC_Selector_RGB_Standard = FOUR_CHAR_CODE('rStd')`: Standard (recommended) RGB profiles. These profiles are always bidirectional.
- `AC_Selector_RGB_OtherInputCapable = FOUR_CHAR_CODE('rInp')`: RGB profiles that can be used as a source. These profiles may or may not be usable as a destination. This constant does not include profiles selected by AC_Selector_RGB_Standard.
- `AC_Selector_RGB_OtherOutputCapable = FOUR_CHAR_CODE('rOut')`: RGB profiles that can be used as a destination. These profiles are also usable as a source. This constant does not include profiles selected by AC_Selector_RGB_Standard.
- `AC_Selector_CMYK_StandardInput = FOUR_CHAR_CODE('cSIn')`: Standard (recommended) CMYK profiles that can be used as a source. These profiles may or may not be usable as a destination.
- `AC_Selector_CMYK_StandardOutput = FOUR_CHAR_CODE('cStd')`: Standard (recommended) CMYK profiles that can be used as a destination. These profiles are also usable as a source.
- `AC_Selector_CMYK_OtherInputCapable = FOUR_CHAR_CODE('cInp')`: CMYK profiles that can be used as a source. These profiles may or may not be usable as a destination. This constant does not include profiles selected by AC_Selector_CMYK_StandardInput or AC_Selector_CMYK_StandardOutput.
- `AC_Selector_CMYK_OtherOutputCapable = FOUR_CHAR_CODE('cOut')`: CMYK profiles that can be used as a destination. These profiles are also usable as a source. This constant does not include profiles selected by AC_Selector_CMYK_StandardOutput.
- `AC_Selector_Gray_Standard = FOUR_CHAR_CODE('gStd')`: Standard (recommended) grayscale profiles. These profiles are always bidirectional.
- `AC_Selector_Gray_OtherInputCapable = FOUR_CHAR_CODE('gInp')`: Grayscale profiles that can be used as a source. These profiles may or may not be usable as a destination. This constant does not include profiles selected by AC_Selector_Gray_Standard.
- `AC_Selector_Gray_OtherOutputCapable = FOUR_CHAR_CODE('gOut')`: Grayscale profiles that can be used as a destination. These profiles are also usable as a source. This constant does not include profiles selected by AC_Selector_Gray_Standard.
- `AC_Selector_DotGain_Standard = FOUR_CHAR_CODE('dStd')`: Standard dot gain profiles. This constant is used by Photoshop to represent a single ink's dot gain curve, and is stored as an ICC gray output profile.
- `AC_Selector_DotGain_Other = FOUR_CHAR_CODE('dOth')`: Other grayscale printer profiles. This constant does not include profiles selected by AC_Selector_DotGain_Standard, and does not include grayscale display profiles.
- `AC_Selector_PhotoYCC_InputCapable = FOUR_CHAR_CODE('iYCC')`: PhotoYCC profiles that can be used as a source.
- `AC_Selector_MaxEnum = 0x7FFFFFFF`: This constant forces the enum to be 32 bits wide.

**See also:** [`ACMakeProfileList`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACMakeProfileList)

#### AC_SettingsKey

Header: `AcroColorExpT.h:1015`

Constant key values for an `AC_Settings` object.

**Values**

- `AC_Key_Name = FOUR_CHAR_CODE('name')`: Settings file name string (if different than the file name).
- `AC_Key_Description = FOUR_CHAR_CODE('desc')`: Settings file description string.
- `AC_Key_WriterName = FOUR_CHAR_CODE('wNam')`: Name of application to write this settings file.
- `AC_Key_WorkingRGB = FOUR_CHAR_CODE('wRGB')`: Working RGB profile.
- `AC_Key_WorkingCMYK = FOUR_CHAR_CODE('wCMY')`: Working CMYK profile.
- `AC_Key_WorkingGray = FOUR_CHAR_CODE('wGry')`: Working gray profile.
- `AC_Key_WorkingSpot = FOUR_CHAR_CODE('wSpt')`: Working spot profile.
- `AC_Key_PolicyRGB = FOUR_CHAR_CODE('pRGB')`: RGB color management policy (AC_Policy `enum`).
- `AC_Key_PolicyCMYK = FOUR_CHAR_CODE('pCMY')`: CMYK color management policy (AC_Policy `enum`).
- `AC_Key_PolicyGray = FOUR_CHAR_CODE('pGry')`: Gray color management policy (AC_Policy `enum`).
- `AC_Key_MismatchAskOpening = FOUR_CHAR_CODE('mAsk')`: Ask about profile mismatches when opening (`0` = no, `1` = yes).
- `AC_Key_MismatchAskPasting = FOUR_CHAR_CODE('pAsk')`: Ask about profile mismatches when pasting (`0` = no, `1` = yes).
- `AC_Key_MissingAskOpening = FOUR_CHAR_CODE('misA')`: Ask about missing profile when opening (`0` = no, `1` = yes).
- `AC_Key_EngineCMS = FOUR_CHAR_CODE('eCMS')`: Conversion engine CMS code (4-char code, stored as `unsigned32`).
- `AC_Key_EngineCMM = FOUR_CHAR_CODE('eCMM')`: Conversion engine CMM code (4-char code, stored as `unsigned32`).
- `AC_Key_Intent = FOUR_CHAR_CODE('cInt')`: Conversion intent (standard ICC integer encoding).
- `AC_Key_KPC = FOUR_CHAR_CODE('kpc ')`: Conversion black point compensation (`0` = no, `1` = yes).
- `AC_Key_Dither = FOUR_CHAR_CODE('dith')`: Dither conversions between 8-bit color spaces (`0` = no, `1` = yes).
- `AC_Key_CompressionEnabled = FOUR_CHAR_CODE('mce ')`: Enable or disable monitor compression (`0` = off, `1` = on).
- `AC_Key_CompressionPercent = FOUR_CHAR_CODE('mcp ')`: Monitor compression percent (in percent).
- `AC_Key_BlendGammaEnabled = FOUR_CHAR_CODE('bge ')`: Enable or disable RGB blending gamma (`0` = off, `1` = on).
- `AC_Key_BlendGammaValue = FOUR_CHAR_CODE('bgv ')`: RGB blending gamma value (`100` = gamma 1.00).
- `AC_Key_ProofType = FOUR_CHAR_CODE('pTyp')`: Proof type (AC_ProofType `enum`).
- `AC_Key_ProofProfile = FOUR_CHAR_CODE('pPrf')`: Proof profile.
- `AC_Key_Simulate = FOUR_CHAR_CODE('dSim')`: Display simulation (AC_Simulate `enum`).
- `AC_Key_MaxEnum = 0x7FFFFFFF`: This constant forces the `enum` to be 32 bits wide.

**See also:** [`ACGetSettingsProfile`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACGetSettingsProfile), [`ACGetSettingsString`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACGetSettingsString), [`ACGetSettingsUnsigned32`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACGetSettingsUnsigned32)

#### AC_SettingsType

Header: `AcroColorExpT.h:1101`

Constant values that determine the type of an AC_Settings object.

**Values**

- `AC_SettingsType_Color = FOUR_CHAR_CODE('AsCs')`: Used to hold global color settings, such as working spaces.
- `AC_SettingsType_Proof = FOUR_CHAR_CODE('AsPs')`: Used to specify the parameters for proofing a document. The Proof Setup Files generally control a per-window setting.
- `AC_SettingsType_MaxEnum = 0x7FFFFFFF`: This constant forces the `enum` to be 32 bits wide.

**See also:** [`ACMakePresetList`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACMakePresetList), [`ACMakeSettings`](https://docs.datalogics.com/apdfl21/AdobeCPlusCPlus/APDFL21.0.0PlusP1e/acrocolor.md#ACMakeSettings)

#### PDColorConvertActionType

Header: `AcroColorExpT.h:1364`

Action types: these specify what to do when an object is matched.

**Values**

- `kColorConvPreserve = 0`: Do nothing but handle ink aliases.
- `kColorConvConvert = 1`: Convert to target space.
- `kColorConvDecalibrate = 2`: Convert calibrated space to device space.
- `kColorConvDownConvert = 3`: Convert NChannel space to DeviceN space.
- `kColorConvToAltSpace = 4`: Convert spot to Alternate Space
- `kColorConvMaxEnum = 0x7FFFFFFF`: Maximum enum value.

#### PDColorConvertObjectAttributeFlags

Header: `AcroColorExpT.h:1263`

Object attributes: these are arranged as a bitmap.

**Values**

- `kColorConvObj_Image = _FLG(0)`: Object is an image.
- `kColorConvObj_JPEG = _FLG(1)`: Object is a JPEG image.
- `kColorConvObj_JPEG2000 = _FLG(2)`: Object is a JPEG2000 image.
- `kColorConvObj_Lossy = _FLG(3)`: Image is in a lossy space.
- `kColorConvObj_Lossless = _FLG(4)`: Image is in a non-lossy space.
- `kColorConvObj_Text = _FLG(5)`: Object is text.
- `kColorConvObj_LineArt = _FLG(6)`: Object is line-art (fill, stroke).
- `kColorConvObj_Shade = _FLG(7)`: Object is a smooth shade.
- `kColorConvObj_Transparent = _FLG(8)`: Object is not opaque.
- `kColorConvObj_Overprinting = _FLG(9)`: Object overprints.
- `kColorConvObj_OverprintMode = _FLG(10)`: Overprint mode (OPM) is set to `1`.
- `kColorConvObj_AnyObject = (_FLG(0) | _FLG(5) | _FLG(6) | _FLG(7))`: Any object.
- `kColorConvObj_MaxEnum = ASMAXInt32`: Maximum enum value.

#### PDColorConvertSpaceTypeFlags

Header: `AcroColorExpT.h:1310`

Color Space attributes: these are arranged as a bitmap.

**Values**

- `kColorConvDeviceSpace = _FLG(0)`: Device color space.
- `kColorConvCalibratedSpace = _FLG(1)`: Calibrated color space.
- `kColorConvAlternateSpace = _FLG(3)`: Alternate color space.
- `kColorConvBaseSpace = _FLG(4)`: Base of an indexed space.
- `kColorConvIndexedSpace = _FLG(5)`: Indexed color space.
- `kColorConvSeparationSpace = _FLG(6)`: Separation color space.
- `kColorConvDeviceNSpace = _FLG(7)`: DeviceN color space.
- `kColorConvNChannelSpace = _FLG(8)`: NChannel color space.
- `kColorConvRGBSpace = _FLG(9)`: RGB color space. This should only be set if either Device space (unless Lab) or Calibrated space is set.
- `kColorConvCMYKSpace = _FLG(10)`: CMYK color space. This should only be set if either Device space (unless Lab) or Calibrated space is set.
- `kColorConvGraySpace = _FLG(11)`: Gray color space. This should only be set if either Device space (unless Lab) or Calibrated space is set.
- `kColorConvLabSpace = _FLG(12)`: Lab color space.
- `kColorConvertMatchProfile = _FLG(13)`: Match Specified Profile. This action should only be take if it is a decalibration, and the specified profile matches the color profile of the current color
- `kColorConvAnySpace = (_FLG(0) | _FLG(1) | _FLG(2) | _FLG(3) | _FLG(4) | _FLG(5) | _FLG(6) |&#10; _FLG(7) | _FLG(8) | _FLG(9) | _FLG(10) | _FLG(11) | _FLG(12))`: Any color space.
- `kColorConvSpace_MaxEnum = ASMAXInt32`: Maximum enum value.

#### PDCompletionCode

Header: `AcroColorExpT.h:1616`

Callback completion code.

**Values**

- `PDCompletionSuccess = 0`: Success.
- `PDCompletionContinue = 1`: Continue.
- `PDCompletionAbort = 2`: Abort.

#### PDReasonCode

Header: `AcroColorExpT.h:1628`

Callback reason code.

**Values**

- `PDReasonNone = 0`: None.
- `PDReasonNotImplemented = 1`: None implemented.

### Definitions (6)

#### FOUR_CHAR_CODE

Header: `AcroColorExpT.h:50`

Value: `(x)`

#### _FLG

Header: `AcroColorExpT.h:1260`

Value: `(1 << n)`

#### kACEMaxPathLength

Header: `AcroColorExpT.h:1249`

Value: `260`

#### kACEMaxPathLength

Header: `AcroColorExpT.h:1251`

Value: `256`

#### kACMaxPathLength

Header: `AcroColorExpT.h:733`

Value: `260`

#### kACMaxPathLength

Header: `AcroColorExpT.h:735`

Value: `256`
