# Configurazione: fumetti

> Le impostazioni dei fumetti: cornice e spazi tra le vignette delle tavole, stili delle vignette, lettering, stili delle nuvolette e personaggi

- Versione HTML: https://postext.dev/it/docs/configuration-comics
- Ultimo aggiornamento: 2026-10-10
- Tempo di lettura: 3 min
- Altre lingue: [en](https://postext.dev/en/docs/configuration-comics.md), [es](https://postext.dev/es/docs/configuration-comics.md), [ca](https://postext.dev/ca/docs/configuration-comics.md), [de](https://postext.dev/de/docs/configuration-comics.md), [fr](https://postext.dev/fr/docs/configuration-comics.md), [pt](https://postext.dev/pt/docs/configuration-comics.md), [zh](https://postext.dev/zh/docs/configuration-comics.md), [ja](https://postext.dev/ja/docs/configuration-comics.md), [ar](https://postext.dev/ar/docs/configuration-comics.md)

## In breve

Questa pagina presenta le impostazioni delle tavole a fumetti. Fissi la cornice della pagina e lo spazio tra le vignette. Scegli il font e la dimensione del lettering. Definisci come vengono disegnate le nuvolette, le didascalie e le onomatopee. Puoi anche elencare i personaggi, così che ognuno parli con il proprio stile. La guida Fumetti spiega come scrivere le tavole vere e proprie.

## Fumetti

La proprietà `comics` configura le tavole a fumetti (`:::page`), le strisce (`:::strip`) e le doppie pagine: la cornice e gli spazi da cui si ritagliano le vignette, gli stili delle vignette, il lettering, gli stili delle nuvolette e i personaggi. La leggono solo i documenti che contengono fumetti; un documento senza fumetti si impagina esattamente come prima, e un documento con fumetti ma senza una sezione `comics` prende i valori predefiniti della sua lingua. Il markup e il modo in cui si letterano le tavole sono spiegati in [Fumetti](https://postext.dev/it/docs/comics.md).

```ts
const config: PostextConfig = {
  comics: {
    readingDirection: 'auto',
    gutter: { horizontal: { value: 5, unit: 'mm' }, vertical: { value: 2.5, unit: 'mm' } },
    panel: { borderWidth: { value: 0.8, unit: 'pt' }, borderStyle: 'rough' },
    panelStyles: [{ id: 'night', background: { hex: '#14142b', model: 'hex' }, borderColor: { hex: '#ffffff', model: 'hex' } }],
    lettering: { fontSize: { value: 8.5, unit: 'pt' }, textTransform: 'uppercase' },
    balloonStyles: [{ id: 'eerie', shape: 'wavy', italic: true }],
    cast: [{ id: 'maya', name: 'Maya' }, { id: 'tomas', name: 'Grandpa Tomás' }],
  },
};
```

| Proprietà | Tipo | Predefinito | Descrizione |
| --- | --- | --- | --- |
| `readingDirection` | `'auto' \| 'ltr' \| 'rtl'` | `'auto'` | L’ordine delle vignette in una fila. `'auto'` legge da destra a sinistra in un documento da destra a sinistra, in uno verticale e in giapponese e cinese tradizionale, e altrimenti nella direzione di `artDirection` (cinese semplificato e coreano compresi). L’attributo `direction` di una tavola ha la precedenza. Con `page.binding: 'auto'`, un libro i cui fumetti si leggono da destra a sinistra viene rilegato a destra. |
| `artDirection` | `'ltr' \| 'rtl'` | `'ltr'` | Il verso di lettura per cui sono stati disegnati i disegni: `'rtl'` per i manga. |
| `mirrorArt` | `boolean` | `false` | Rovescia specularmente i disegni di una tavola letta nel verso opposto ad `artDirection`. Con `mirror=false` una vignetta mantiene il disegno così com’è stato disegnato. |
| `frame.margins` | `PageMargins` | i margini della pagina | Margini propri per le tavole a fumetti (`top`, `bottom`, `left`, `right`, `mirror`). Le vignette si ritagliano dal riquadro che lasciano; se non sono impostati, dalla gabbia del testo della pagina. |
| `gutter.horizontal` | `Dimension` | `4mm` | Lo spazio tra le file. L’attributo `gutter` di una tavola ha la precedenza. |
| `gutter.vertical` | `Dimension` | `2mm` | Lo spazio tra vignette affiancate nella stessa fila. |
| `panel` | `PanelStyleConfig` | vedi sotto | Lo stile predefinito delle vignette. |
| `panelStyles` | `NamedPanelStyleConfig[]` | `[]` | Stili di vignetta con nome, scelti con `:::page{style=…}` o `::panel{style=…}`. Ognuno ha un `id`, un `name` facoltativo (solo per le interfacce degli editor) e i campi di uno stile di vignetta; i campi non impostati seguono `panel`. |
| `lettering` | `LetteringConfig` | vedi sotto | Il carattere, la dimensione e le regole redazionali di tutte le nuvolette del libro. |
| `balloonStyles` | `BalloonStyleConfig[]` | i nove stili predefiniti | Stili delle nuvolette per tipo. Quelli predefiniti ci sono sempre; una voce con uno dei loro id lo modifica, una voce con un id nuovo aggiunge uno stile sovrapposto a `speech`. |
| `cast` | `ComicCastMember[]` | `[]` | I personaggi (vedi [Personaggi](https://postext.dev/it/docs/configuration-comics.md#personaggi)). |
| `runningHeads` | `boolean` | `false` | Stampa le testatine e i folio sulle tavole a fumetti. Se è disattivato, una tavola è fatta solo di vignette e il suo numero conta comunque. |
| `viewerLeaf` | `ComicViewerLeafConfig` | non impostato | Per gli ambienti le cui pagine non sono fogli: impagina le tavole su un foglio di stampa (`width`, `height`, `margins`) scalato a `fitWidth` px (e alto al massimo `fitHeight` px) in cima alla pagina. Lo imposta il visualizzatore HTML della Sandbox; non viene mai salvato con un documento. |

### Stili delle vignette

`comics.panel` e ogni voce di `comics.panelStyles`:

| Proprietà | Tipo | Predefinito | Descrizione |
| --- | --- | --- | --- |
| `borderWidth` | `Dimension` | `1pt` | Spessore del bordo; `0` non ne disegna nessuno. Il bordo è tracciato sul contorno della vignetta. |
| `borderColor` | `ColorValue` | nero | Colore del bordo (collegabile alla palette). |
| `borderRadius` | `Dimension` | `0` | Raggio degli angoli di una vignetta rettangolare, limitato alla metà del lato più corto. Una vignetta tagliata da una linea obliqua mantiene gli angoli vivi. |
| `borderStyle` | `'solid' \| 'rough' \| 'none'` | `'solid'` | Una linea netta, una linea tracciata a mano che ondeggia un poco (con un seme ricavato dalla vignetta, quindi uguale a ogni build) oppure nessuna. |
| `background` | `ColorValue` | bianco | Il riempimento sotto il disegno: il colore di una vignetta vuota e delle fasce attorno a un disegno mostrato per intero. |
| `fit` | `'cover' \| 'contain'` | `'cover'` | `cover` ritaglia il disegno per riempire la vignetta, senza mai entrare nella sua zona sicura; `contain` lo mostra per intero. |
| `bleed` | `boolean` | `false` | Le vignette con questo stile oltrepassano la cornice fino al rifilo e all’abbondanza su ogni lato che tocca la cornice. |

### Lettering

`comics.lettering` imposta tutte le nuvolette del libro. La dimensione è una sola: uno stile di nuvoletta può scalarla (`fontScale`), e il testo non viene mai rimpicciolito per farlo entrare in una nuvoletta.

| Proprietà | Tipo | Predefinito | Descrizione |
| --- | --- | --- | --- |
| `fontFamily` | `string` | secondo la lingua | Il carattere del lettering. Se non è impostato: `Comic Neue`; `Zen Antique` in giapponese, `Noto Sans SC` in cinese semplificato, `LXGW WenKai TC` in cinese tradizionale, `Playpen Sans Arabic` in arabo, persiano e urdu (`defaultComicFont(locale)`). |
| `fontSize` | `Dimension` | `7.5pt` | La dimensione del testo delle nuvolette. Sulla pagina stampata i fumetti si letterano di solito tra 7 e 9 pt. |
| `lineHeight` | `number` | `1.15` | Distanza tra le righe, come multiplo della dimensione. Se resta al valore predefinito, le nuvolette verticali, cinesi e giapponesi prendono 1,5 e quelli arabi 1,45. |
| `color` | `ColorValue` | nero | Colore del testo. |
| `bold`, `italic` | `boolean` | `false` | Mette tutto il lettering in grassetto o in corsivo. Il lettering cinese, giapponese e arabo non viene mai inclinato. |
| `letterSpacing` | `Dimension` | `0` | Spazio aggiuntivo tra le lettere; `em` è relativo alla dimensione del testo. Non si applica mai all’arabo. Non cambia i glifi: le legature restano. |
| `writingMode` | `'auto' \| 'horizontal' \| 'vertical'` | `'auto'` | `'auto'` dispone in colonne verticali il lettering del giapponese, del cinese tradizionale e di qualsiasi documento composto in scrittura verticale, e tutto il resto in orizzontale. Il flag `vertical` o `horizontal` di una battuta della sceneggiatura imposta diversamente quella battuta (vedi [Fumetti › Lettering](https://postext.dev/it/docs/comics.md#lettering)). |
| `textTransform` | `'none' \| 'uppercase'` | `'none'` | Tutto in maiuscolo, l’aspetto classico del lettering americano ed europeo. Le scritture senza maiuscole e minuscole restano come sono. |
| `dropFinalStop` | `'auto' \| boolean` | `'auto'` | Omette il punto che chiude una nuvoletta (`。` nei manga). `'auto'`: solo in giapponese e in cinese. |
| `doubleDash` | `boolean` | `false` | Lettera una lineetta lunga come `--`, un’abitudine del lettering americano. |
| `inset` | `Dimension` | `1.5mm` | Spazio lasciato tra una nuvoletta e il bordo della sua vignetta. Una didascalia accostata al bordo lo ignora. |
| `joinSameSpeaker` | `'butt' \| 'connector' \| 'none'` | `'butt'` | Due nuvolette consecutive dello stesso personaggio: corpi fusi in un unico contorno, uniti da un collo stretto o tenuti separati. Una battuta della sceneggiatura chiede il proprio con `join` o `join=false`. |
| `maxColumnChars` | `number` | `8` | Lettering verticale: il numero massimo di caratteri in una colonna di una nuvoletta. Le onomatopee vanno a capo dopo cinque. |
| `strictPlacement` | `boolean` | `true` | Una nuvoletta rimodellata per entrare nella sua vignetta non spezza per farlo una parola cinese: ogni parola tagliata dalle sue nuove righe, che la forma preferita lascia intera, costa più di una nuvoletta letta fuori ordine, quindi il posizionamento sposta prima la nuvoletta o cambia l’ordine. Il lettering giapponese, diviso per sintagmi, non viene toccato. Con `false` il lettering funziona come in postext 1.27; un documento salvato prima della 1.28 che contiene un fumetto viene letto con questo valore. |

### Stili delle nuvolette

Ogni voce di `comics.balloonStyles` si sovrappone allo stile predefinito con lo stesso id (`speech`, `thought`, `whisper`, `shout`, `radio`, `caption`, `inner`, `note`, `sfx`), oppure a `speech` per un id nuovo. I valori predefiniti qui sotto sono quelli di `speech`; la [pagina Fumetti](https://postext.dev/it/docs/comics.md#stili-delle-nuvolette) elenca che cosa cambia ogni stile predefinito. Le lunghezze in `em` sono relative alla dimensione del testo della nuvoletta.

| Proprietà | Tipo | Predefinito | Descrizione |
| --- | --- | --- | --- |
| `id` | `string` | obbligatorio | La parola con cui una battuta della sceneggiatura nomina lo stile: `ben{whisper}: …` o `style=whisper`. |
| `name` | `string` | `id` | Nome leggibile, solo per le interfacce degli editor. |
| `shape` | `'oval' \| 'rounded' \| 'rectangle' \| 'cloud' \| 'burst' \| 'wavy' \| 'electric' \| 'none'` | `'oval'` | Il contorno attorno al testo. `'none'` mette il testo direttamente sul disegno. |
| `fill` | `ColorValue` | bianco | Riempimento della nuvoletta. |
| `stroke` | `ColorValue` | nero | Colore del contorno. |
| `strokeWidth` | `Dimension` | `0.6pt` | Spessore del contorno. |
| `dash` | `boolean` | `false` | Un contorno tratteggiato (un sussurro). |
| `double` | `boolean` | `false` | Un contorno doppio. |
| `wobble` | `number` | `0` | Ondeggiamento a mano libera del contorno, da 0 a 1, con un seme ricavato dalla nuvoletta, così non cambia mai tra una build e l’altra. |
| `roundness` | `number` | `2.2` | L’esponente della superellisse di un ovale: 2 è un’ellisse, valori più alti sono più squadrati. |
| `burstPoints` | `number` | `14` | Le punte di un’esplosione; `0` le conta a partire dal perimetro. |
| `burstDepth` | `number` | `0.22` | La profondità delle punte di un’esplosione, come frazione del raggio del corpo. |
| `padding` | `Dimension` | `0.55em` | L’aria tra il testo e il contorno. |
| `aspect` | `number` | `1.6` | Il rapporto tra larghezza e altezza a cui la divisione in righe punta per il blocco di testo (lettering orizzontale). |
| `tail` | `'curved' \| 'wedge' \| 'bubbles' \| 'zigzag' \| 'none'` | `'curved'` | La codina. |
| `tailWidth` | `Dimension` | `0.9em` | La larghezza della codina nel punto in cui lascia il contorno. |
| `tailReach` | `number` | `0.55` | Quanto si allunga la codina verso chi parla, come frazione della distanza tra il contorno e la bocca. |
| `target` | `'mouth' \| 'head'` | `'mouth'` | Dove punta la codina: la bocca dell’ancora o la sua testa (nuvolette di pensiero). |
| `position` | `'auto' \| 'top-start' \| 'top-end' \| 'bottom-start' \| 'bottom-end' \| 'top' \| 'bottom'` | `'auto'` | Dove va la nuvoletta quando la battuta non ne fissa nessuna: collocata dal lettering, oppure in un angolo o lungo un lato della vignetta. |
| `butt` | `boolean` | `false` | Accosta al bordo della vignetta una nuvoletta d’angolo o di lato (didascalie). |
| `fontFamily` | `string` | il carattere del lettering | Il carattere di questo stile. Per `sfx` il predefinito è il carattere per onomatopee della lingua: `Bangers`, `Dela Gothic One` in giapponese, `ZCOOL KuaiLe` in cinese semplificato, `LXGW WenKai TC` in cinese tradizionale, `Lalezar` in arabo (`defaultComicSfxFont(locale)`). |
| `fontScale` | `number` | `1` | La dimensione del testo, come multiplo della dimensione del lettering. |
| `bold`, `italic` | `boolean` | quello del lettering | Testo in grassetto o in corsivo. |
| `color` | `ColorValue` | quello del lettering | Colore del testo. |
| `textTransform` | `'none' \| 'uppercase'` | quello del lettering | Tutto in maiuscolo per questo stile. |
| `letterSpacing` | `Dimension` | quello del lettering | Spazio aggiuntivo tra le lettere. |
| `align` | `'center' \| 'start'` | `'center'` | Allineamento delle righe dentro la nuvoletta. |
| `halo` | `Dimension` | nessuno | Un contorno tracciato attorno alle lettere, di cui indica lo spessore, perché il testo si legga sopra il disegno (onomatopee). |
| `haloColor` | `ColorValue` | bianco | Il colore dell’alone. |
| `rotate` | `number` | `0` | Rotazione in gradi, in senso orario. Prevale l’attributo `rotate` di una battuta. |

### Personaggi

Ogni voce di `comics.cast` descrive un personaggio:

| Proprietà | Tipo | Predefinito | Descrizione |
| --- | --- | --- | --- |
| `id` | `string` | obbligatorio | La chiave di chi parla nella sceneggiatura e nelle ancore dei disegni. |
| `name` | `string` | `id` | Il nome che l’output HTML e l’EPUB a layout fluido stampano prima delle battute del personaggio, e che gli editor mostrano. |
| `balloonStyle` | `string` | `speech` | Lo stile delle battute del personaggio che non ne indicano nessuno. |
| `color` | `ColorValue` | quello dello stile | Colore del testo delle nuvolette del personaggio. |
| `fill` | `ColorValue` | quello dello stile | Riempimento delle nuvolette del personaggio. |
| `fontFamily` | `string` | quello dello stile | Il carattere delle nuvolette del personaggio. |

`color` e `font` propri di una battuta prevalgono sui personaggi, e i personaggi sullo stile della nuvoletta. Ogni colore dei fumetti può essere una voce della palette, che segue la palette come qualsiasi colore collegato.

```ts
const resolved = resolveComicsConfig(config.comics, 'ja');
// => every field filled; Zen Antique and Dela Gothic One as the faces

const minimal = stripComicsDefaults(config.comics, 'ja');
// => undefined when everything is a default

const shout = pickBalloonStyle(resolved, 'shout'); // the built-in shout with the book's changes
const night = pickPanelStyle(resolved, 'night');   // a named panel style, else the default panel
```
