# TextTransformationConfig

interface

The configuration of the text transformation feature.

```typescript
ClassicEditor
	.create( {
		typing: {
			transformations: ... // Text transformation feature options.
		}
	} )
	.then( ... )
	.catch( ... );
```

By default, the feature comes pre-configured (via [`config.typing.transformations.include`](#member-include)) with the following groups of transformations:

* Typography (group name: `typography`)

  * `ellipsis`: transforms `...` to `…`
  * `enDash`: transforms `--` to `–`
  * `emDash`: transforms `---` to `—`

* Quotations (group name: `quotes`)

  * `quotesPrimary`: transforms `"Foo bar"` to `“Foo bar”`
  * `quotesSecondary`: transforms `'Foo bar'` to `‘Foo bar’`

* Symbols (group name: `symbols`)

  * `trademark`: transforms `(tm)` to `™`
  * `registeredTrademark`: transforms `(r)` to `®`
  * `copyright`: transforms `(c)` to `©`

* Mathematical (group name: `mathematical`)

  * `oneHalf`: transforms `1/2` to: `½`
  * `oneThird`: transforms `1/3` to: `⅓`
  * `twoThirds`: transforms `2/3` to: `⅔`
  * `oneForth`: transforms `1/4` to: `¼`
  * `threeQuarters`: transforms `3/4` to: `¾`
  * `lessThanOrEqual`: transforms `<=` to: `≤`
  * `greaterThanOrEqual`: transforms `>=` to: `≥`
  * `notEqual`: transforms `!=` to: `≠`
  * `arrowLeft`: transforms `<-` to: `←`
  * `arrowRight`: transforms `->` to: `→`

* Misc:

  * `quotesPrimaryEnGb`: transforms `'Foo bar'` to `‘Foo bar’`
  * `quotesSecondaryEnGb`: transforms `"Foo bar"` to `“Foo bar”`
  * `quotesPrimaryPl`: transforms `"Foo bar"` to `„Foo bar”`
  * `quotesSecondaryPl`: transforms `'Foo bar'` to `‚Foo bar’`

In order to load additional transformations, use the [`transformations.extra` option](#member-extra).

In order to narrow down the list of transformations, use the [`transformations.remove` option](#member-remove).

In order to completely override the supported transformations, use the [`transformations.include` option](#member-include).

Examples:

```typescript
const transformationsConfig = {
	include: [
		// Use only the 'quotes' and 'typography' groups.
		'quotes',
		'typography',

		// Plus, some custom transformation.
		{ from: 'CKE', to: 'CKEditor' }
	]
};

const transformationsConfig = {
	// Remove the 'ellipsis' transformation loaded by the 'typography' group.
	remove: [ 'ellipsis' ]
}
```

[See source](https://github.com/ckeditor/ckeditor5/blob/master/packages/ckeditor5-typing/src/typingconfig.ts#L117)

<a id="properties">

## Properties

<a id="member-extra">

### `extra?: Array<string | TextTypingTransformationDescription>`

Additional text transformations that are added to the transformations defined in [`transformations.include`](#member-include).

```typescript
const transformationsConfig = {
	extra: [
		{ from: 'CKE', to: 'CKEditor' }
	]
};
```

[See source](https://github.com/ckeditor/ckeditor5/blob/master/packages/ckeditor5-typing/src/typingconfig.ts#L140)

<a id="member-include">

### `include: Array<string | TextTypingTransformationDescription>`

The standard list of text transformations supported by the editor. By default it comes pre-configured with a couple dozen of them (see [`TextTransformationConfig`](module_typing_typingconfig-TextTransformationConfig.md) for the full list). You can override this list completely by setting this option or use the other two options ([`transformations.extra`](#member-extra), [`transformations.remove`](#member-remove)) to fine-tune the default list.

[See source](https://github.com/ckeditor/ckeditor5/blob/master/packages/ckeditor5-typing/src/typingconfig.ts#L126)

<a id="member-remove">

### `remove?: Array<string | TextTypingTransformationDescription>`

The text transformation names that are removed from transformations defined in [`transformations.include`](#member-include) or [`transformations.extra`](#member-extra).

```typescript
const transformationsConfig = {
	remove: [
		'ellipsis',	// Remove only 'ellipsis' from the 'typography' group.
		'mathematical' // Remove all transformations from the 'mathematical' group.
	]
}
```

[See source](https://github.com/ckeditor/ckeditor5/blob/master/packages/ckeditor5-typing/src/typingconfig.ts#L156)

---

Full index of the CKEditor 5 API reference: [llms.txt](llms.txt)
