Aller au contenu principal

Chapitre 10 · Partie II · Le métier

Configuration : bande dessinée

Les réglages de bande dessinée : cadre et gouttières des planches, styles de case, lettrage, styles de bulles et distribution

Mis à jour 2026-10-103 minenescafrptzhjaar

En bref

Cette page présente les réglages des planches de bande dessinée. Vous fixez le cadre de la page et l’espace entre les cases. Vous choisissez la police et la taille du lettrage. Vous définissez la façon dont sont dessinés les bulles, les récitatifs et les onomatopées. Vous pouvez aussi énumérer les personnages, pour que chacun parle dans son propre style. Le guide Bande dessinée explique comment écrire les planches elles-mêmes.

#Bande dessinée

La propriété comics configure les planches (:::page), les strips (:::strip) et les doubles pages : le cadre et les gouttières dans lesquels les cases sont découpées, les styles de case, le lettrage, les styles de bulles et la distribution. Seuls les documents qui contiennent de la bande dessinée la lisent ; un document sans BD se compose exactement comme avant, et un document avec BD mais sans section comics prend les valeurs par défaut de sa langue. Le balisage et la façon dont les planches sont lettrées sont expliqués dans Bande dessinée.

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' }],
  },
};
PropriétéTypePar défautDescription
readingDirection'auto' | 'ltr' | 'rtl''auto'L’ordre des cases dans une bande. 'auto' lit de droite à gauche dans un document de droite à gauche, dans un document vertical et en japonais et en chinois traditionnel, et dans le sens d’artDirection sinon (chinois simplifié et coréen compris). L’attribut direction d’une planche a la priorité. Avec page.binding: 'auto', un livre dont la BD se lit de droite à gauche est relié à droite.
artDirection'ltr' | 'rtl''ltr'Le sens de lecture pour lequel le dessin a été fait : 'rtl' pour le manga.
mirrorArtbooleanfalseRetourner les dessins d’une planche lue dans le sens opposé à artDirection. Une case garde son dessin tel qu’il a été dessiné avec mirror=false.
frame.marginsPageMarginsles marges de la pageDes marges propres aux planches (top, bottom, left, right, mirror). Les cases sont découpées dans la boîte qu’elles laissent ; sans ce réglage, dans le bloc de texte de la page.
gutter.horizontalDimension4mmL’espace entre les bandes. L’attribut gutter d’une planche a la priorité.
gutter.verticalDimension2mmL’espace entre les cases côte à côte dans une bande.
panelPanelStyleConfigvoir ci-dessousLe style de case par défaut.
panelStylesNamedPanelStyleConfig[][]Des styles de case nommés, choisis avec :::page{style=…} ou ::panel{style=…}. Chacun a un id, un name facultatif (pour les interfaces d’édition seulement) et les champs d’un style de case ; les champs non définis suivent panel.
letteringLetteringConfigvoir ci-dessousLe caractère, le corps et les règles maison de toutes les bulles du livre.
balloonStylesBalloonStyleConfig[]les neuf styles prédéfinisLes styles de bulles par type. Les styles prédéfinis sont toujours présents ; une entrée qui porte l’un de leurs ids le modifie, une entrée avec un nouvel id ajoute un style superposé à speech.
castComicCastMember[][]Les personnages (voir Distribution).
runningHeadsbooleanfalseImprimer les titres courants et les folios sur les planches. Désactivé, une planche n’est faite que de cases et son numéro compte quand même.
viewerLeafComicViewerLeafConfignon définiPour les hôtes dont les pages ne sont pas des feuillets : met les planches en page sur un feuillet imprimé (width, height, margins) mis à l’échelle sur fitWidth px (et au plus fitHeight px de haut) en haut de la page. La visionneuse HTML du Sandbox le définit ; il n’est jamais enregistré avec un document.

#Styles de case

comics.panel et chaque entrée de comics.panelStyles :

PropriétéTypePar défautDescription
borderWidthDimension1ptÉpaisseur de la bordure ; 0 n’en trace aucune. La bordure est tracée sur le contour de la case.
borderColorColorValuenoirCouleur de la bordure (peut être liée à la palette).
borderRadiusDimension0Rayon des coins d’une case rectangulaire, limité à la moitié de son plus petit côté. Une case coupée par une ligne oblique garde des coins vifs.
borderStyle'solid' | 'rough' | 'none''solid'Un trait net, un trait à main levée qui tremble un peu (tiré d’une graine propre à la case, donc identique à chaque génération), ou aucun trait.
backgroundColorValueblancLe fond sous le dessin : la couleur d’une case vide et des bandes autour d’un dessin montré en entier.
fit'cover' | 'contain''cover'cover recadre le dessin pour remplir la case, sans jamais entamer sa zone de sécurité ; contain le montre en entier.
bleedbooleanfalseLes cases de ce style dépassent le cadre jusqu’à la coupe et au fond perdu, de chaque côté qui touche le cadre.

#Lettrage

comics.lettering règle toutes les bulles du livre. Il n’y a qu’un seul corps : un style de bulle peut le mettre à l’échelle (fontScale), et le texte n’est jamais réduit pour tenir dans une bulle.

PropriétéTypePar défautDescription
fontFamilystringselon la langueLe caractère de lettrage. Par défaut : Comic Neue ; Zen Antique en japonais, Noto Sans SC en chinois simplifié, LXGW WenKai TC en chinois traditionnel, Playpen Sans Arabic en arabe, en persan et en ourdou (defaultComicFont(locale)).
fontSizeDimension7.5ptLe corps du texte des bulles. La bande dessinée est en général lettrée entre 7 et 9 pt sur la page imprimée.
lineHeightnumber1.15Distance entre les lignes, en multiple du corps. Laissée à sa valeur par défaut, les bulles verticales, chinoises et japonaises prennent 1,5 et les bulles arabes 1,45.
colorColorValuenoirCouleur du texte.
bold, italicbooleanfalseComposer tout le lettrage en gras ou en italique. Le lettrage chinois, japonais et arabe n’est jamais incliné.
letterSpacingDimension0Espace supplémentaire entre les lettres ; em est relatif au corps du texte. Jamais appliqué à l’arabe. Il ne modifie pas les glyphes : les ligatures restent.
writingMode'auto' | 'horizontal' | 'vertical''auto''auto' lettre le japonais et le chinois traditionnel, ainsi que tout document composé en écriture verticale, en colonnes verticales, et tout le reste horizontalement. L’indicateur vertical ou horizontal d’une ligne de script compose cette ligne autrement (voir Bande dessinée › Lettrage).
textTransform'none' | 'uppercase''none'Tout en capitales, l’aspect classique du lettrage américain et européen. Les écritures sans casse restent telles quelles.
dropFinalStop'auto' | boolean'auto'Omettre le point qui termine une bulle (。 dans le manga). 'auto' : en japonais et en chinois seulement.
doubleDashbooleanfalseLettrer un tiret cadratin en --, une habitude du lettrage américain.
insetDimension1.5mmEspace laissé entre une bulle et la bordure de sa case. Un récitatif collé contre la bordure l’ignore.
joinSameSpeaker'butt' | 'connector' | 'none''butt'Deux bulles à la suite du même locuteur : corps fusionnés en un seul contour, reliés par un col étroit, ou gardés séparés. Une ligne de script demande son propre comportement avec join ou join=false.
maxColumnCharsnumber8Lettrage vertical : le nombre maximal de caractères dans une colonne d’une bulle. Les onomatopées passent à la colonne suivante après cinq.
strictPlacementbooleantrueUne bulle redessinée pour tenir dans sa case ne sépare pas pour autant un mot chinois : chaque mot que coupent ses nouvelles lignes, et que sa forme préférée laisse entier, coûte plus cher qu’une bulle lue dans le désordre, de sorte que le placement déplace d’abord la bulle ou change l’ordre. Le lettrage japonais, coupé par groupes de mots, n’est pas concerné. false lettre comme le faisait postext 1.27 ; un document enregistré avant la 1.28 qui contient une BD est lu avec cette valeur.

#Styles de bulles

Chaque entrée de comics.balloonStyles se superpose au style prédéfini de même id (speech, thought, whisper, shout, radio, caption, inner, note, sfx), ou à speech pour un nouvel id. Les valeurs par défaut ci-dessous sont celles de speech ; la page Bande dessinée indique ce que change chaque style prédéfini. Les longueurs en em sont relatives au corps du texte de la bulle.

PropriétéTypePar défautDescription
idstringobligatoireLe mot par lequel une ligne de script nomme le style : ben{whisper}: … ou style=whisper.
namestringidNom lisible, pour les interfaces d’édition seulement.
shape'oval' | 'rounded' | 'rectangle' | 'cloud' | 'burst' | 'wavy' | 'electric' | 'none''oval'Le contour autour du texte. 'none' compose le texte directement sur le dessin.
fillColorValueblancRemplissage de la bulle.
strokeColorValuenoirCouleur du contour.
strokeWidthDimension0.6ptÉpaisseur du contour.
dashbooleanfalseUn contour en tirets (un chuchotement).
doublebooleanfalseUn contour double.
wobblenumber0Tremblement à main levée du contour, de 0 à 1, tiré d’une graine propre à la bulle pour ne jamais changer d’une génération à l’autre.
roundnessnumber2.2L’exposant de superellipse d’un ovale : 2 donne une ellipse, des valeurs plus élevées une forme plus carrée.
burstPointsnumber14Les pointes d’une explosion ; 0 les compte d’après le périmètre.
burstDepthnumber0.22La profondeur des pointes d’une explosion, en fraction du rayon du corps.
paddingDimension0.55emLe blanc entre le texte et le contour.
aspectnumber1.6Le rapport largeur sur hauteur que vise la coupure des lignes pour le bloc de texte (lettrage horizontal).
tail'curved' | 'wedge' | 'bubbles' | 'zigzag' | 'none''curved'L’appendice.
tailWidthDimension0.9emLa largeur de l’appendice là où il quitte le contour.
tailReachnumber0.55Jusqu’où l’appendice s’avance vers son locuteur, en fraction de l’écart entre le contour et la bouche.
target'mouth' | 'head''mouth'Ce que vise l’appendice : la bouche de l’ancre, ou sa tête (bulles de pensée).
position'auto' | 'top-start' | 'top-end' | 'bottom-start' | 'bottom-end' | 'top' | 'bottom''auto'L’endroit où va la bulle quand la ligne ne l’épingle pas : placée par le lettrage, ou dans un coin ou contre un bord de la case.
buttbooleanfalseColler une bulle de coin ou de bord contre la bordure de la case (récitatifs).
fontFamilystringle caractère de lettrageLe caractère de ce style. sfx prend par défaut le caractère d’onomatopées de la langue : Bangers, Dela Gothic One en japonais, ZCOOL KuaiLe en chinois simplifié, LXGW WenKai TC en chinois traditionnel, Lalezar en arabe (defaultComicSfxFont(locale)).
fontScalenumber1Le corps du texte, en multiple du corps du lettrage.
bold, italicbooleanceux du lettrageTexte en gras ou en italique.
colorColorValuecelle du lettrageCouleur du texte.
textTransform'none' | 'uppercase'celui du lettrageTout en capitales pour ce style.
letterSpacingDimensioncelui du lettrageEspace supplémentaire entre les lettres.
align'center' | 'start''center'Alignement des lignes dans la bulle.
haloDimensionaucunUn contour tracé autour des lettres, ici son épaisseur, pour que le texte se lise sur le dessin (onomatopées).
haloColorColorValueblancLa couleur du halo.
rotatenumber0Rotation en degrés, dans le sens des aiguilles d’une montre. L’attribut rotate d’une ligne l’emporte.

#Distribution

Chaque entrée de comics.cast décrit un personnage :

PropriétéTypePar défautDescription
idstringobligatoireLa clé de locuteur du script et des ancres des dessins.
namestringidLe nom que la sortie HTML et l’EPUB recomposable impriment avant les répliques du personnage, et que les éditeurs affichent.
balloonStylestringspeechLe style des répliques du personnage qui n’en nomment aucun.
colorColorValuecelle du styleCouleur du texte des bulles du personnage.
fillColorValuecelui du styleRemplissage des bulles du personnage.
fontFamilystringcelui du styleLe caractère des bulles du personnage.

La color et la font propres à une ligne l’emportent sur la distribution, et la distribution sur le style de bulle. Toute couleur de BD peut être une entrée de la palette, qui suit alors la palette comme n’importe quelle couleur liée.

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