Pular para o conteúdo principal

Capítulo 10 · Parte II · O ofício

Configuração: quadrinhos

Os ajustes de comics: o quadro e as sarjetas das páginas de quadrinhos, os estilos de requadro, o letreiramento, os estilos de balão e o elenco

Atualizado 2026-10-103 minenescaptzhjaar

Em poucas palavras

Esta página reúne os ajustes das páginas de quadrinhos. Você define a moldura da página e o espaço entre os quadros. Escolhe a fonte e o tamanho do letreiramento. Define como são desenhados os balões, os recordatórios e as onomatopeias. Também pode listar os personagens, para que cada um fale com seu próprio estilo. O guia de quadrinhos explica como escrever as páginas.

#Quadrinhos

A propriedade comics configura as páginas de quadrinhos (:::page), as tiras (:::strip) e as páginas duplas: a moldura e as sarjetas de onde os quadros são recortados, os estilos de quadro, o letreiramento, os estilos de balão e o elenco. Só os documentos com quadrinhos a leem; um documento sem eles é diagramado exatamente como antes, e um documento com quadrinhos e sem a seção comics usa os padrões do seu idioma. A marcação e a forma como as páginas são letreiradas estão explicadas em Quadrinhos.

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' }],
  },
};
PropriedadeTipoPadrãoDescrição
readingDirection'auto' | 'ltr' | 'rtl''auto'A ordem dos quadros numa fileira. 'auto' lê da direita para a esquerda num documento da direita para a esquerda, num documento vertical e em japonês e chinês tradicional e, nos demais casos, no sentido de artDirection (incluídos o chinês simplificado e o coreano). O atributo direction de uma página tem prioridade. Com page.binding: 'auto', um livro cujos quadrinhos são lidos da direita para a esquerda é encadernado à direita.
artDirection'ltr' | 'rtl''ltr'O sentido de leitura para o qual a arte foi desenhada: 'rtl' para mangá.
mirrorArtbooleanfalseEspelha os desenhos de uma página lida no sentido contrário ao de artDirection. Um quadro mantém o desenho como foi feito com mirror=false.
frame.marginsPageMarginsas margens da páginaMargens próprias para as páginas de quadrinhos (top, bottom, left, right, mirror). Os quadros são recortados da caixa que elas deixam; sem valor, da área de texto da página.
gutter.horizontalDimension4mmO espaço entre fileiras. O atributo gutter de uma página tem prioridade.
gutter.verticalDimension2mmO espaço entre quadros lado a lado numa fileira.
panelPanelStyleConfigveja abaixoO estilo de quadro padrão.
panelStylesNamedPanelStyleConfig[][]Estilos de quadro nomeados, escolhidos com :::page{style=…} ou ::panel{style=…}. Cada um tem um id, um name opcional (só nas interfaces de editor) e os campos de um estilo de quadro; os campos sem valor seguem panel.
letteringLetteringConfigveja abaixoA fonte, o corpo e as regras da casa de todos os balões do livro.
balloonStylesBalloonStyleConfig[]os nove estilos integradosEstilos de balão por tipo. Os integrados estão sempre presentes; uma entrada com o id de um deles o altera, e uma entrada com um id novo acrescenta um estilo aplicado sobre speech.
castComicCastMember[][]Os personagens (veja Elenco).
runningHeadsbooleanfalseImprime os cabeços e os fólios nas páginas de quadrinhos. Desligado, uma página de quadrinhos é só quadros, e o seu número continua contando.
viewerLeafComicViewerLeafConfigsem valorPara hosts cujas páginas não são folhas: diagrama as páginas de quadrinhos numa folha impressa (width, height, margins) escalada para fitWidth px (e no máximo fitHeight px de altura) no topo da página. O visualizador HTML do Sandbox a define; ela nunca é salva com um documento.

#Estilos de quadro

comics.panel e cada entrada de comics.panelStyles:

PropriedadeTipoPadrãoDescrição
borderWidthDimension1ptEspessura da borda; 0 não desenha nenhuma. A borda é traçada sobre o contorno do quadro.
borderColorColorValuepretoCor da borda (pode ser vinculada à paleta).
borderRadiusDimension0Raio dos cantos de um quadro retangular, limitado à metade do seu lado menor. Um quadro cortado por uma linha inclinada mantém os cantos vivos.
borderStyle'solid' | 'rough' | 'none''solid'Uma linha limpa, uma linha à mão que treme um pouco (com semente tirada do quadro, então sai igual em toda construção) ou nenhuma.
backgroundColorValuebrancoO preenchimento sob o desenho: a cor de um quadro vazio e das faixas em volta de um desenho mostrado inteiro.
fit'cover' | 'contain''cover'cover recorta o desenho para preencher o quadro, nunca dentro da área segura; contain o mostra inteiro.
bleedbooleanfalseOs quadros deste estilo passam da moldura até o refile e a sangria em todos os lados que tocam a moldura.

#Letreiramento

comics.lettering define todos os balões do livro. Há um único corpo: um estilo de balão pode escalá-lo (fontScale), e o texto nunca é reduzido para caber num balão.

PropriedadeTipoPadrãoDescrição
fontFamilystringconforme o idiomaA fonte do letreiramento. Sem valor: Comic Neue; Zen Antique em japonês, Noto Sans SC em chinês simplificado, LXGW WenKai TC em chinês tradicional, Playpen Sans Arabic em árabe, persa e urdu (defaultComicFont(locale)).
fontSizeDimension7.5ptO corpo do texto dos balões. Os quadrinhos costumam ser letreirados em 7 a 9 pt na página impressa.
lineHeightnumber1.15Distância entre as linhas, um múltiplo do corpo. Deixado no padrão, os balões verticais, chineses e japoneses usam 1,5 e os árabes 1,45.
colorColorValuepretoCor do texto.
bold, italicbooleanfalseCompõe todo o letreiramento em negrito ou em itálico. O letreiramento em chinês, japonês e árabe nunca é inclinado.
letterSpacingDimension0Espaço extra entre as letras; em é relativo ao corpo do texto. Nunca se aplica ao árabe.
writingMode'auto' | 'horizontal' | 'vertical''auto''auto' letreira o japonês e o chinês tradicional, e qualquer documento composto em escrita vertical, em colunas verticais, e todo o resto na horizontal. A marca vertical ou horizontal de uma linha do roteiro compõe essa linha de outro modo (veja Quadrinhos › Letreiramento).
textTransform'none' | 'uppercase''none'Tudo em maiúsculas, o visual clássico do letreiramento americano e europeu. As escritas sem caixa ficam como estão.
dropFinalStop'auto' | boolean'auto'Omite o ponto final que fecha um balão (。 no mangá). 'auto': só em japonês e chinês.
doubleDashbooleanfalseLetreira um travessão como --, um costume do letreiramento americano.
insetDimension1.5mmEspaço mantido entre um balão e a borda do seu quadro. Um recordatório encostado na borda o ignora.
joinSameSpeaker'butt' | 'connector' | 'none''butt'Dois balões seguidos do mesmo personagem: corpos fundidos num só contorno, ligados por um gargalo estreito, ou mantidos separados. Uma linha do roteiro pede o seu próprio comportamento com join ou join=false.
maxColumnCharsnumber8Letreiramento vertical: o máximo de caracteres numa coluna de um balão. As onomatopeias quebram depois de cinco.

#Estilos de balão

Cada entrada de comics.balloonStyles se sobrepõe ao estilo embutido de mesmo id (speech, thought, whisper, shout, radio, caption, inner, note, sfx), ou a speech quando o id é novo. Os valores padrão abaixo são os de speech; a página de Quadrinhos lista o que cada estilo embutido muda. Os comprimentos em em são relativos ao tamanho do texto do balão.

PropriedadeTipoPadrãoDescrição
idstringobrigatórioA palavra com que uma linha do roteiro nomeia o estilo: ben{whisper}: … ou style=whisper.
namestringidNome legível, só para as interfaces de edição.
shape'oval' | 'rounded' | 'rectangle' | 'cloud' | 'burst' | 'wavy' | 'electric' | 'none''oval'O contorno em volta do texto. 'none' põe o texto direto sobre o desenho.
fillColorValuebrancoPreenchimento do balão.
strokeColorValuepretoCor do contorno.
strokeWidthDimension0.6ptEspessura do contorno.
dashbooleanfalseUm contorno tracejado (um sussurro).
doublebooleanfalseUm contorno duplo.
wobblenumber0Tremor de traço feito à mão no contorno, de 0 a 1, com uma semente tirada do balão para que nunca mude de uma composição para outra.
roundnessnumber2.2O expoente de superelipse de um oval: 2 é uma elipse, e valores maiores o deixam mais quadrado.
burstPointsnumber14As pontas de uma explosão; 0 as conta a partir do perímetro.
burstDepthnumber0.22A profundidade das pontas de uma explosão, como fração do raio do corpo.
paddingDimension0.55emO respiro entre o texto e o contorno.
aspectnumber1.6A razão entre largura e altura que a quebra de linhas busca para o bloco de texto (letreiramento horizontal).
tail'curved' | 'wedge' | 'bubbles' | 'zigzag' | 'none''curved'O rabicho.
tailWidthDimension0.9emA largura do rabicho no ponto em que sai do contorno.
tailReachnumber0.55Até onde o rabicho avança em direção a quem fala, como fração da distância entre o contorno e a boca.
target'mouth' | 'head''mouth'Para onde o rabicho aponta: a boca da âncora ou a cabeça (balões de pensamento).
position'auto' | 'top-start' | 'top-end' | 'bottom-start' | 'bottom-end' | 'top' | 'bottom''auto'Onde fica o balão quando a linha não fixa nenhuma posição: onde o letreiramento o colocar, ou num canto ou numa borda do quadro.
buttbooleanfalseEncosta na borda do quadro um balão de canto ou de borda (recordatórios).
fontFamilystringa fonte do letreiramentoA fonte deste estilo. sfx usa por padrão a fonte de onomatopeias do idioma: Bangers, Dela Gothic One em japonês, ZCOOL KuaiLe em chinês simplificado, LXGW WenKai TC em chinês tradicional, Lalezar em árabe (defaultComicSfxFont(locale)).
fontScalenumber1O tamanho do texto, como múltiplo do tamanho do letreiramento.
bold, italicbooleanos do letreiramentoTexto em negrito ou em itálico.
colorColorValuea do letreiramentoCor do texto.
textTransform'none' | 'uppercase'o do letreiramentoTudo em maiúsculas neste estilo.
letterSpacingDimensiono do letreiramentoEspaço extra entre as letras.
align'center' | 'start''center'Alinhamento das linhas dentro do balão.
haloDimensionnenhumUm contorno traçado em volta das letras, com essa espessura, para que o texto se leia sobre o desenho (onomatopeias).
haloColorColorValuebrancoA cor do halo.
rotatenumber0Rotação em graus, no sentido horário. O atributo rotate da linha tem prioridade.

#Elenco

Cada entrada de comics.cast descreve um personagem:

PropriedadeTipoPadrãoDescrição
idstringobrigatórioA chave de quem fala no roteiro e nas âncoras dos desenhos.
namestringidO nome que a saída HTML e o EPUB refluível imprimem antes das falas do personagem, e que os editores mostram.
balloonStylestringspeechO estilo das falas do personagem que não nomeiam nenhum.
colorColorValuea do estiloCor do texto dos balões do personagem.
fillColorValueo do estiloPreenchimento dos balões do personagem.
fontFamilystringa do estiloA fonte dos balões do personagem.

A color e a font próprias de uma linha têm prioridade sobre o elenco, e o elenco sobre o estilo de balão. Qualquer cor dos quadrinhos pode ser uma entrada da paleta, que acompanha a paleta como qualquer cor vinculada.

const resolved = resolveComicsConfig(config.comics, 'ja');
// => todos os campos preenchidos; Zen Antique e Dela Gothic One como fontes
 
const minimal = stripComicsDefaults(config.comics, 'ja');
// => undefined quando tudo está no valor padrão
 
const shout = pickBalloonStyle(resolved, 'shout'); // o grito embutido com as mudanças do livro
const night = pickPanelStyle(resolved, 'night');   // um estilo de quadro com nome ou, se não houver, o quadro padrão