Capitolo 10 · Parte II · Il mestiere
Configurazione: fumetti
Le impostazioni dei fumetti: cornice e spazi tra le vignette delle tavole, stili delle vignette, lettering, stili delle nuvolette e personaggi
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.
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). |
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). |
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 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.
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