# ClassicEditorFormatting

Connects marks and text-style extensions to product controls. Disabling textStyle also affects dependent typography and color capabilities.

Connects marks and text-style extensions to product controls. Disabling textStyle also affects dependent typography and color capabilities.

`@quirekit/classic-editor` · **AGPL-3.0-only**

## Editor compatibility
Layer：**Classic product integration**
| Editor | Status | Assembly and boundaries |
| --- | --- | --- |
| Classic | Supported | [classicEditorPreset](/en/plugins/reference/classic-editor-preset) — Use the product-neutral classicEditorPreset without duplicating installed capabilities. The Word preset replaces paragraphs, headings and container lists; do not stack generic structures onto that model. |
| Block | Unsupported | Block does not consume Classic product contributions, plugins or paginated assembly. Use shared capabilities and Block adapters instead of copying this entry's Classic configuration. |

“Supported” means the product assembly above exists; interaction, host services and file formats retain their own conditions. See [status and integration rules](/en/plugins/compatibility). Licensing is shown separately.

## Installation

```sh
pnpm add @quirekit/classic-editor@alpha
```

Use the [Classic kit](/en/plugins/reference/classic-editor-kit). Individual adapters support custom assembly or replacement without duplicate names.

```ts
import { ClassicEditorFormatting } from '@quirekit/classic-editor'
```

Use compatible versions available from your distribution source. This site uses the Alpha workspace. License labels come from package metadata; see [support and licensing](/en/support).

## Integration by editor

These snippets use an existing host element named element. The host owns container sizing and persistence; call instance.destroy() on teardown. Avoid duplicating preset capabilities and supply required host ports before installation.

### Classic

Use the product-neutral classicEditorPreset without duplicating installed capabilities. The Word preset replaces paragraphs, headings and container lists; do not stack generic structures onto that model.

[classicEditorPreset](/en/plugins/reference/classic-editor-preset)

```ts
import { createClassicEditor } from '@quirekit/classic-editor'
import '@quirekit/classic-editor/styles.css'

const instance = createClassicEditor({ element })
```

### Block

Block does not consume Classic product contributions, plugins or paginated assembly. Use shared capabilities and Block adapters instead of copying this entry's Classic configuration.

## Configuration

These are extension-level defaults. Presets can override them; they are distinct from current document attributes. See [configuration](/en/plugins/configuration).

### doubleStrike

Double-strike options, or false to omit the Word-compatible mark.

Type：`false | Partial<DoubleStrikeOptions>`

Default：`{}`

See [DoubleStrike](/en/plugins/reference/double-strike) for child settings. Only pass false when this field's type permits it.

### superscript

Superscript options, or false to omit the semantic mark.

Type：`false | Partial<ScriptPositionOptions>`

Default：`{}`

See [Superscript](/en/plugins/reference/superscript) for child settings. Only pass false when this field's type permits it.

### subscript

Subscript options, or false to omit the semantic mark.

Type：`false | Partial<ScriptPositionOptions>`

Default：`{}`

See [Subscript](/en/plugins/reference/subscript) for child settings. Only pass false when this field's type permits it.

### bold

Bold Mark options, or false to omit Bold from the formatting group.

Type：`StarterKitExtensionOption<BoldOptions> | undefined`

Default：`{}`

See [Bold](/en/plugins/reference/bold) for child settings. Only pass false when this field's type permits it.

### italic

Italic Mark options, or false to omit Italic from the formatting group.

Type：`StarterKitExtensionOption<ItalicOptions> | undefined`

Default：`{}`

See [Italic](/en/plugins/reference/italic) for child settings. Only pass false when this field's type permits it.

### highlight

Semantic Highlight options, or false to omit OOXML-compatible highlighting.

Type：`false | Partial<HighlightOptions>`

Default：`{}`

See [Highlight](/en/plugins/reference/highlight) for child settings. Only pass false when this field's type permits it.

### underline

Underline Mark options, or false to omit Underline from the formatting group.

Type：`StarterKitExtensionOption<UnderlineOptions> | undefined`

Default：`{}`

See [Underline](/en/plugins/reference/underline) for child settings. Only pass false when this field's type permits it.

### strike

Strike Mark options, or false to omit Strike from the formatting group.

Type：`StarterKitExtensionOption<StrikeOptions> | undefined`

Default：`{}`

See [Strike](/en/plugins/reference/strike) for child settings. Only pass false when this field's type permits it.

### textStyle

TextStyle Mark options, or false to omit direct text-style storage.

Type：`false | Partial<TextStyleOptions>`

Default：`{}`

See [TextStyle](/en/plugins/reference/text-style) for child settings. Only pass false when this field's type permits it.

### fontFamily

FontFamily options, or false to omit direct family commands and picker.

Type：`false | Partial<TextStyleAttributeExtensionOptions>`

Default：`{}`

See [FontFamily](/en/plugins/reference/font-family) for child settings. Only pass false when this field's type permits it.

### fontSize

FontSize options, or false to omit size commands and controls.

Type：`false | Partial<TextStyleAttributeExtensionOptions>`

Default：`{}`

See [FontSize](/en/plugins/reference/font-size) for child settings. Only pass false when this field's type permits it.

### letterSpacing

LetterSpacing options, or false to omit Word-compatible tracking commands.

Type：`false | Partial<TextStyleAttributeExtensionOptions>`

Default：`{}`

See [LetterSpacing](/en/plugins/reference/letter-spacing) for child settings. Only pass false when this field's type permits it.

### language

Run-language options, or false to omit Word-compatible language commands.

Type：`false | Partial<TextStyleAttributeExtensionOptions>`

Default：`{}`

See [Language](/en/plugins/reference/language) for child settings. Only pass false when this field's type permits it.

### color

Text Color options, or false to omit foreground color commands and controls.

Type：`false | Partial<TextStyleAttributeExtensionOptions>`

Default：`{}`

See [Color](/en/plugins/reference/color) for child settings. Only pass false when this field's type permits it.

### backgroundColor

BackgroundColor options, or false to omit character shading controls.

Type：`false | Partial<TextStyleAttributeExtensionOptions>`

Default：`{}`

See [BackgroundColor](/en/plugins/reference/background-color) for child settings. Only pass false when this field's type permits it.

## Commands and runtime

This entry declares no directly enumerable commands. Children supply bundle commands; product plugins use contributions or document services.

## Next steps

Return to [all plugins](/en/plugins), or read [configuration](/en/plugins/configuration) to distinguish options, attributes and commands.

Continue with [Classic quick start](/en/classic/quick-start) and [configuration/lifetime](/en/classic/configuration). See [product plugin development](/en/build/product-plugin) for your own UI and services.
