Zum Hauptinhalt springen

Kapitel 10 · Teil II · Das Handwerk

Konfiguration: Comics

Die Comic-Einstellungen: Rahmen und Zwischenräume von Comicseiten, Panelstile, Lettering, Sprechblasenstile und die Figurenliste

Aktualisiert 2026-10-103 minenescadefritptzhjaar

Kurz gesagt

Diese Seite behandelt die Einstellungen für Comicseiten. Sie legen den Rahmen der Seite und den Abstand zwischen den Panels fest. Sie wählen Schrift und Größe des Letterings. Sie bestimmen, wie Sprechblasen, Textkästen und Soundeffekte gezeichnet werden. Außerdem können Sie die Figuren auflisten, damit jede in ihrem eigenen Stil spricht. Der Leitfaden zu Comics erklärt, wie Sie die Seiten selbst schreiben.

#Comics

Die Eigenschaft comics konfiguriert Comicseiten (:::page), Strips (:::strip) und Doppelseiten: den Rahmen und die Zwischenräume, aus denen die Panels geschnitten werden, die Panelstile, das Lettering, die Sprechblasenstile und die Figurenliste. Nur Dokumente mit Comics lesen sie; ein Dokument ohne Comics wird genau wie zuvor umbrochen, und ein Dokument mit Comics und ohne Abschnitt comics übernimmt die Standardwerte seiner Sprache. Die Auszeichnung und die Art, wie Seiten gelettert werden, erklärt Comics.

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' }],
  },
};
EigenschaftTypStandardBeschreibung
readingDirection'auto' | 'ltr' | 'rtl''auto'Die Reihenfolge der Panels in einer Reihe. 'auto' liest von rechts nach links in einem Dokument mit Schreibrichtung von rechts nach links, in einem senkrechten Dokument sowie im Japanischen und im Chinesischen mit Langzeichen, sonst in der Richtung von artDirection (einschließlich Chinesisch mit Kurzzeichen und Koreanisch). Das Attribut direction einer Seite überschreibt das. Mit page.binding: 'auto' wird ein Buch, dessen Comics von rechts nach links lesen, rechts gebunden.
artDirection'ltr' | 'rtl''ltr'Die Leserichtung, für die die Bilder gezeichnet wurden: 'rtl' für Manga.
mirrorArtbooleanfalseDie Bilder einer Seite spiegeln, die in der anderen Richtung als artDirection gelesen wird. Mit mirror=false behält ein Panel sein Bild wie gezeichnet.
frame.marginsPageMarginsdie SeitenränderEigene Ränder für Comicseiten (top, bottom, left, right, mirror). Die Panels werden aus der Box geschnitten, die sie lassen; ohne Angabe aus dem Textbereich der Seite.
gutter.horizontalDimension4mmDer Zwischenraum zwischen den Reihen. Das Attribut gutter einer Seite überschreibt ihn.
gutter.verticalDimension2mmDer Zwischenraum zwischen nebeneinanderstehenden Panels einer Reihe.
panelPanelStyleConfigsiehe untenDer Standard-Panelstil.
panelStylesNamedPanelStyleConfig[][]Benannte Panelstile, gewählt mit :::page{style=…} oder ::panel{style=…}. Jeder hat eine id, einen optionalen name (nur für Editor-Oberflächen) und die Felder eines Panelstils; nicht gesetzte Felder folgen panel.
letteringLetteringConfigsiehe untenSchrift, Größe und Hausregeln jeder Sprechblase des Buchs.
balloonStylesBalloonStyleConfig[]die neun eingebauten StileSprechblasenstile nach Art. Die eingebauten sind immer vorhanden; ein Eintrag mit einer ihrer IDs verändert den betreffenden, ein Eintrag mit einer neuen ID fügt einen Stil hinzu, der über speech gelegt wird.
castComicCastMember[][]Die Figuren (siehe Figurenliste).
runningHeadsbooleanfalseKolumnentitel und Paginas auf Comicseiten drucken. Ausgeschaltet besteht eine Comicseite ganz aus Panels, und ihre Nummer zählt trotzdem mit.
viewerLeafComicViewerLeafConfignicht gesetztFür Hosts, deren Seiten keine Blätter sind: umbricht Comicseiten auf einem Druckblatt (width, height, margins), skaliert auf fitWidth px (und höchstens fitHeight px hoch), oben auf der Seite. Der HTML-Betrachter der Sandbox setzt es; es wird nie mit einem Dokument gespeichert.

#Panelstile

comics.panel und jeder Eintrag von comics.panelStyles:

EigenschaftTypStandardBeschreibung
borderWidthDimension1ptRahmenbreite; 0 zeichnet keinen. Der Rahmen wird auf dem Umriss des Panels gezogen.
borderColorColorValueschwarzRahmenfarbe (an die Palette koppelbar).
borderRadiusDimension0Eckenradius eines rechteckigen Panels, begrenzt auf die Hälfte seiner kürzeren Seite. Ein von einer schrägen Linie geschnittenes Panel behält spitze Ecken.
borderStyle'solid' | 'rough' | 'none''solid'Eine saubere Linie, eine handgezeichnete Linie, die leicht wackelt (aus dem Panel abgeleitet, also bei jedem Build gleich), oder keine.
backgroundColorValueweißDie Füllung unter dem Bild: die Farbe eines leeren Panels und der Streifen um ein ganz gezeigtes Bild.
fit'cover' | 'contain''cover'cover schneidet das Bild so zu, dass es das Panel füllt, nie in seinen Sicherheitsbereich hinein; contain zeigt es ganz.
bleedbooleanfalsePanels in diesem Stil laufen auf jeder Seite, die den Rahmen berührt, über den Rahmen hinaus bis zum Endformat und in den Anschnitt.

#Lettering

comics.lettering legt jede Sprechblase des Buchs fest. Es gibt eine einzige Größe: Ein Sprechblasenstil kann sie skalieren (fontScale), und Text wird nie verkleinert, damit er in eine Sprechblase passt.

EigenschaftTypStandardBeschreibung
fontFamilystringnach SpracheDie Lettering-Schrift. Ohne Angabe: Comic Neue; Zen Antique im Japanischen, Noto Sans SC im Chinesischen mit Kurzzeichen, LXGW WenKai TC im Chinesischen mit Langzeichen, Playpen Sans Arabic im Arabischen, Persischen und Urdu (defaultComicFont(locale)).
fontSizeDimension7.5ptDie Größe des Sprechblasentexts. Comics werden auf der gedruckten Seite meist in 7 bis 9 pt gelettert.
lineHeightnumber1.15Abstand zwischen den Zeilen, ein Vielfaches der Größe. Beim Standardwert erhalten senkrechte, chinesische und japanische Sprechblasen 1,5 und arabische 1,45.
colorColorValueschwarzTextfarbe.
bold, italicbooleanfalseDas gesamte Lettering fett oder kursiv setzen. Chinesisches, japanisches und arabisches Lettering wird nie geneigt.
letterSpacingDimension0Zusätzlicher Raum zwischen den Buchstaben; em bezieht sich auf die Textgröße. Nie auf Arabisch angewendet. Die Glyphen ändern sich nicht: Ligaturen bleiben erhalten.
writingMode'auto' | 'horizontal' | 'vertical''auto''auto' lettert Japanisch und Chinesisch mit Langzeichen sowie jedes senkrecht gesetzte Dokument in senkrechten Spalten und alles andere waagerecht. Die Markierung vertical oder horizontal einer Skriptzeile setzt diese Zeile anders (siehe Comics › Lettering).
textTransform'none' | 'uppercase''none'Nur Versalien, das klassische Aussehen des amerikanischen und europäischen Letterings. Schriften ohne Groß- und Kleinschreibung bleiben, wie sie sind.
dropFinalStop'auto' | boolean'auto'Den Punkt am Ende einer Sprechblase weglassen (。 in Manga). 'auto': nur im Japanischen und Chinesischen.
doubleDashbooleanfalseEinen Geviertstrich als -- lettern, eine Gewohnheit des amerikanischen Letterings.
insetDimension1.5mmAbstand zwischen einer Sprechblase und dem Rahmen ihres Panels. Ein an den Rahmen gestoßener Textkasten ignoriert ihn.
joinSameSpeaker'butt' | 'connector' | 'none''butt'Zwei aufeinanderfolgende Sprechblasen desselben Sprechers: Körper zu einem Umriss verschmolzen, durch einen schmalen Hals verbunden oder getrennt gehalten. Eine Skriptzeile verlangt mit join oder join=false ihr eigenes Verhalten.
maxColumnCharsnumber8Senkrechtes Lettering: die höchste Zahl von Zeichen in einer Spalte einer Sprechblase. Soundeffekte brechen nach fünf um.
strictPlacementbooleantrueEine Sprechblase, die umgeformt wird, damit sie in ihr Panel passt, trennt dafür kein chinesisches Wort: Jedes Wort, das ihre neuen Zeilen zerschneiden und das ihre bevorzugte Form ganz lässt, kostet mehr als eine außer der Reihe gelesene Sprechblase, also verschiebt die Platzierung zuerst die Sprechblase oder ändert die Reihenfolge. Japanisches Lettering, das nach Phrasen umbrochen wird, bleibt unberührt. false lettert wie postext 1.27; ein vor 1.28 gespeichertes Dokument mit einem Comic wird damit gelesen.

#Sprechblasenstile

Jeder Eintrag von comics.balloonStyles wird über den eingebauten Stil mit derselben ID gelegt (speech, thought, whisper, shout, radio, caption, inner, note, sfx) oder bei einer neuen ID über speech. Die Standardwerte unten sind die von speech; die Seite Comics führt auf, was jeder eingebaute Stil ändert. Längen in em beziehen sich auf die Textgröße der Sprechblase.

EigenschaftTypStandardBeschreibung
idstringerforderlichDas Wort, mit dem eine Skriptzeile den Stil benennt: ben{whisper}: … oder style=whisper.
namestringidLesbarer Name, nur für Editor-Oberflächen.
shape'oval' | 'rounded' | 'rectangle' | 'cloud' | 'burst' | 'wavy' | 'electric' | 'none''oval'Der Umriss um den Text. 'none' setzt den Text direkt auf das Bild.
fillColorValueweißFüllung der Sprechblase.
strokeColorValueschwarzFarbe des Umrisses.
strokeWidthDimension0.6ptBreite des Umrisses.
dashbooleanfalseEin gestrichelter Umriss (ein Flüstern).
doublebooleanfalseEin doppelter Umriss.
wobblenumber0Handgezeichnetes Zittern des Umrisses, 0 bis 1, aus der Sprechblase abgeleitet, sodass es sich zwischen Builds nie ändert.
roundnessnumber2.2Der Exponent der Superellipse eines Ovals: 2 ist eine Ellipse, höhere Werte sind eckiger.
burstPointsnumber14Die Zacken einer Zackenblase; 0 ermittelt ihre Zahl aus dem Umfang.
burstDepthnumber0.22Die Tiefe der Zacken einer Zackenblase, ein Bruchteil des Radius des Körpers.
paddingDimension0.55emDie Luft zwischen Text und Umriss.
aspectnumber1.6Das Verhältnis von Breite zu Höhe, das der Zeilenumbruch für den Textblock anstrebt (waagerechtes Lettering).
tail'curved' | 'wedge' | 'bubbles' | 'zigzag' | 'none''curved'Der Dorn.
tailWidthDimension0.9emDie Breite des Dorns dort, wo er den Umriss verlässt.
tailReachnumber0.55Wie weit der Dorn zu seinem Sprecher reicht, ein Bruchteil des Abstands vom Umriss zum Mund.
target'mouth' | 'head''mouth'Worauf der Dorn zeigt: auf den Mund des Ankers oder auf seinen Kopf (Gedankenblasen).
position'auto' | 'top-start' | 'top-end' | 'bottom-start' | 'bottom-end' | 'top' | 'bottom''auto'Wohin die Sprechblase kommt, wenn die Zeile keine Fixierung angibt: vom Lettering platziert oder an eine Ecke oder Kante des Panels.
buttbooleanfalseEine Sprechblase an einer Ecke oder Kante bündig an den Panelrahmen stoßen (Textkästen).
fontFamilystringdie Lettering-SchriftDie Schrift dieses Stils. sfx verwendet standardmäßig die Soundeffekt-Schrift der Sprache: Bangers, Dela Gothic One im Japanischen, ZCOOL KuaiLe im Chinesischen mit Kurzzeichen, LXGW WenKai TC im Chinesischen mit Langzeichen, Lalezar im Arabischen (defaultComicSfxFont(locale)).
fontScalenumber1Die Textgröße, ein Vielfaches der Lettering-Größe.
bold, italicbooleandie des LetteringsFetter oder kursiver Text.
colorColorValuedie des LetteringsTextfarbe.
textTransform'none' | 'uppercase'die des LetteringsNur Versalien für diesen Stil.
letterSpacingDimensiondie des LetteringsZusätzlicher Raum zwischen den Buchstaben.
align'center' | 'start''center'Zeilenausrichtung in der Sprechblase.
haloDimensionkeinerEin um die Buchstaben gezeichneter Umriss, seine Breite, damit sich der Text über dem Bild lesen lässt (Soundeffekte).
haloColorColorValueweißDie Farbe des Lichthofs.
rotatenumber0Drehung in Grad, im Uhrzeigersinn. Das Attribut rotate einer Zeile hat Vorrang.

#Figurenliste

Jeder Eintrag von comics.cast beschreibt eine Figur:

EigenschaftTypStandardBeschreibung
idstringerforderlichDer Sprecherschlüssel des Skripts und der Anker der Bilder.
namestringidDer Name, den die HTML-Ausgabe und das umfließende EPUB vor die Zeilen der Figur drucken und den Editoren anzeigen.
balloonStylestringspeechDer Stil der Zeilen der Figur, die keinen nennen.
colorColorValuedie des StilsTextfarbe der Sprechblasen der Figur.
fillColorValuedie des StilsFüllung der Sprechblasen der Figur.
fontFamilystringdie des StilsDie Schrift der Sprechblasen der Figur.

Das eigene color und font einer Zeile haben Vorrang vor der Figurenliste und die Figurenliste vor dem Sprechblasenstil. Jede Comic-Farbe kann ein Paletteneintrag sein, der wie jede gekoppelte Farbe der Palette folgt.

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