本文へスキップ

章 10 · 部 II · 技法

設定:漫画

comicsの設定:漫画のページの枠と間白、コマのスタイル、写植、吹き出しのスタイル、登場人物

更新日 2026-10-103分enescaptzhjaar

かんたんな説明

このページでは、漫画のページの設定を説明します。ページの枠と、コマとコマのあいだの空きを決めます。せりふの文字のフォントと大きさを選びます。吹き出し、ナレーション、描き文字の描き方を決めます。登場人物を並べておくと、人物ごとに決まったスタイルで話させることもできます。ページそのものの書き方は、漫画のガイドで説明しています。

#漫画

comicsプロパティは、漫画のページ(:::page)、帯漫画(:::strip)、見開きを設定します。コマを割り出す枠と間白、コマのスタイル、写植、吹き出しのスタイル、登場人物です。読むのは漫画のある文書だけです。漫画のない文書はこれまでとまったく同じに組まれ、漫画があって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: 'マヤ' }, { id: 'tomas', name: 'トマスじいさん' }],
  },
};
プロパティ型既定値説明
readingDirection'auto' | 'ltr' | 'rtl''auto'段の中のコマの順序です。'auto'は、右から左に書く文書、縦組みの文書、日本語と繁体字中国語の文書では右から左へ、それ以外では(簡体字中国語と韓国語を含め)artDirectionの方向へ読みます。ページのdirection属性が優先されます。page.binding: 'auto'のとき、コミックを右から左に読む本は右綴じになります。
artDirection'ltr' | 'rtl''ltr'絵が前提とする読む方向です。マンガなら'rtl'です。
mirrorArtbooleanfalseartDirectionと逆の方向に読むページの絵を左右反転します。mirror=falseを付けたコマは、絵を描いたままにします。
frame.marginsPageMarginsページの余白漫画のページ独自の余白です(top、bottom、left、right、mirror)。コマはその内側の箱から割り出します。未設定なら、ページの版面から割り出します。
gutter.horizontalDimension4mm段と段の間隔です。ページのgutter属性が優先されます。
gutter.verticalDimension2mm段の中で横に並ぶコマの間隔です。
panelPanelStyleConfig後述既定のコマのスタイルです。
panelStylesNamedPanelStyleConfig[][]名前付きのコマのスタイルで、:::page{style=…}か::panel{style=…}で選びます。それぞれid、任意のname(エディターの画面でだけ使います)、コマのスタイルの項目を持ち、設定していない項目はpanelに従います。
letteringLetteringConfig後述本のすべての吹き出しの書体、サイズ、表記の決まりです。
balloonStylesBalloonStyleConfig[]組み込みの9つのスタイル種類ごとの吹き出しのスタイルです。組み込みのスタイルは常にあり、そのIDを持つ項目はそのスタイルを変更し、新しいIDの項目はspeechに重ねたスタイルを加えます。
castComicCastMember[][]登場人物です(登場人物を参照)。
runningHeadsbooleanfalse漫画のページに柱とノンブルを入れます。オフのとき、漫画のページはコマだけになり、ページ番号は数えられます。
viewerLeafComicViewerLeafConfig未設定ページが紙面の形をしていないホストのためのものです。漫画のページを印刷用の紙面(width、height、margins)に組み、それをfitWidth pxの幅(高さは最大fitHeight px)に縮小してページの上端に置きます。SandboxのHTMLビューアーが設定し、文書とともに保存されることはありません。

#コマのスタイル

comics.panelと、comics.panelStylesの各項目は次の項目を持ちます。

プロパティ型既定値説明
borderWidthDimension1pt枠線の太さです。0で枠線を描きません。枠線はコマの輪郭の上に描きます。
borderColorColorValue黒枠線の色です(パレットにリンクできます)。
borderRadiusDimension0長方形のコマの角の半径で、短い辺の半分までに抑えます。斜めの線で切ったコマの角はとがったままです。
borderStyle'solid' | 'rough' | 'none''solid'きれいな線、少し揺れる手描きの線(揺れはコマから決まる値をシードにするので、何度組んでも同じ線になります)、または枠線なし。
backgroundColorValue白絵の下の塗りです。空のコマの色と、全体表示した絵の周りに残る帯の色になります。
fit'cover' | 'contain''cover'coverはコマを埋めるように絵をトリミングしますが、セーフエリアには食い込みません。containは絵全体を表示します。
bleedbooleanfalseこのスタイルのコマを断ち切りにします。枠に接するすべての辺を、枠の外の仕上がり線と裁ち落としまで伸ばします。

#写植

comics.letteringは、本のすべての吹き出しを決めます。サイズは1つだけです。吹き出しのスタイルはそれを倍率で変えられますが(fontScale)、吹き出しに収めるために文字を縮めることはありません。

プロパティ型既定値説明
fontFamilystring言語による写植の書体です。未設定のときはComic Neue、日本語ではZen Antique、簡体字中国語ではNoto Sans SC、繁体字中国語ではLXGW WenKai TC、アラビア語、ペルシア語、ウルドゥー語ではPlaypen Sans Arabicです(defaultComicFont(locale))。
fontSizeDimension7.5pt吹き出しの文字のサイズです。印刷されたページでは、漫画の写植は7〜9 ptにするのが普通です。
lineHeightnumber1.15行と行の間隔で、サイズの倍数です。既定のままにすると、縦書きの吹き出しと中国語・日本語の吹き出しは1.5、アラビア語の吹き出しは1.45になります。
colorColorValue黒文字の色です。
bold, italicbooleanfalseすべての写植をボールドかイタリックにします。中国語、日本語、アラビア語の写植は斜体にしません。
letterSpacingDimension0文字と文字の間に加える間隔です。emは文字サイズに対する値です。アラビア語には適用しません。
writingMode'auto' | 'horizontal' | 'vertical''auto''auto'は、日本語と繁体字中国語、そして縦組みの文書を縦書きで写植し、それ以外は横書きで写植します。台本の行にverticalかhorizontalを付けると、その行だけ組み方向を変えられます(漫画 › 写植を参照)。
textTransform'none' | 'uppercase''none'すべて大文字にします。アメリカやヨーロッパの写植の伝統的な見た目です。大文字と小文字の区別のない文字体系はそのままです。
dropFinalStop'auto' | boolean'auto'吹き出しを終える句点を省きます(マンガの。)。'auto':日本語と中国語でだけ省きます。
doubleDashbooleanfalse全角ダッシュを--で写植します。アメリカの写植の習慣です。
insetDimension1.5mm吹き出しとコマの枠線の間に空ける間隔です。枠線に付けたナレーションには適用しません。
joinSameSpeaker'butt' | 'connector' | 'none''butt'同じ話し手の吹き出しが2つ続くとき、本体を1つの輪郭にまとめるか、細い首でつなぐか、離しておくかです。台本の行ごとにjoinかjoin=falseで指定することもできます。
maxColumnCharsnumber8縦書きの写植で、吹き出しの1行に入れる最大の字数です。描き文字は5字で改行します。

#吹き出しのスタイル

comics.balloonStylesの各項目は、同じIDの組み込みのスタイル(speech、thought、whisper、shout、radio、caption、inner、note、sfx)に、新しいIDならspeechに重ねられます。下の既定値はspeechのものです。組み込みの各スタイルが変える点は漫画 › 吹き出しのスタイルに挙げています。emで表す長さは、吹き出しの文字サイズに対する値です。

プロパティ型既定値説明
idstring必須台本の行がスタイルを指定するときの語です。ben{whisper}: …またはstyle=whisper。
namestringid人が読むための名前で、エディターの画面でだけ使います。
shape'oval' | 'rounded' | 'rectangle' | 'cloud' | 'burst' | 'wavy' | 'electric' | 'none''oval'文字の周りの輪郭です。'none'は文字を絵の上に直接置きます。
fillColorValue白吹き出しの塗りです。
strokeColorValue黒輪郭の色です。
strokeWidthDimension0.6pt輪郭の太さです。
dashbooleanfalse破線の輪郭です(ささやき)。
doublebooleanfalse二重線の輪郭です。
wobblenumber0輪郭の手描きの揺れで、0〜1です。吹き出しから決まる値をシードにするので、ビルドごとに変わることはありません。
roundnessnumber2.2楕円の超楕円の指数です。2で楕円になり、値を大きくするほど四角に近づきます。
burstPointsnumber14ギザギザのとげの数です。0なら周の長さから数を決めます。
burstDepthnumber0.22ギザギザのとげの深さで、本体の半径に対する割合です。
paddingDimension0.55em文字と輪郭の間の余白です。
aspectnumber1.6改行で文字の塊に目指させる幅と高さの比です(横書きの写植)。
tail'curved' | 'wedge' | 'bubbles' | 'zigzag' | 'none''curved'しっぽです。
tailWidthDimension0.9em輪郭から出るところのしっぽの幅です。
tailReachnumber0.55しっぽが話し手に向かってどこまで伸びるかで、輪郭から口までの隔たりに対する割合です。
target'mouth' | 'head''mouth'しっぽが指すもので、アンカーの口か頭(思考の吹き出し)です。
position'auto' | 'top-start' | 'top-end' | 'bottom-start' | 'bottom-end' | 'top' | 'bottom''auto'行が位置を固定していないときの吹き出しの位置です。写植が配置するか、コマの角か辺に置きます。
buttbooleanfalse角や辺に置いた吹き出しを、コマの枠線にぴったり付けます(ナレーション)。
fontFamilystring写植の書体このスタイルの書体です。sfxの既定値は言語に合った描き文字の書体で、Bangers、日本語ではDela Gothic One、簡体字中国語ではZCOOL KuaiLe、繁体字中国語ではLXGW WenKai TC、アラビア語ではLalezarです(defaultComicSfxFont(locale))。
fontScalenumber1文字のサイズで、写植のサイズの倍数です。
bold, italicboolean写植の値ボールドまたはイタリックの文字です。
colorColorValue写植の値文字の色です。
textTransform'none' | 'uppercase'写植の値このスタイルをすべて大文字にします。
letterSpacingDimension写植の値文字と文字の間に加える間隔です。
align'center' | 'start''center'吹き出しの中の行のそろえ方です。
haloDimensionなし文字の周りに描く縁(袋文字)の太さで、絵の上でも文字が読めるようにします(描き文字)。
haloColorColorValue白縁の色です。
rotatenumber0時計回りの回転角(度)です。行のrotate属性が優先されます。

#登場人物

comics.castの各項目は、1人の登場人物を表します。

プロパティ型既定値説明
idstring必須台本と絵のアンカーで使う話し手のキーです。
namestringidHTMLの出力とリフロー型のEPUBが人物のセリフの前に印字し、エディターが表示する名前です。
balloonStylestringspeechスタイルを指定していない、その人物の行のスタイルです。
colorColorValueスタイルの値その人物の吹き出しの文字の色です。
fillColorValueスタイルの値その人物の吹き出しの塗りです。
fontFamilystringスタイルの値その人物の吹き出しの書体です。

行自身のcolorとfontは登場人物の設定に優先し、登場人物の設定は吹き出しのスタイルに優先します。漫画の色はどれもパレットの項目にでき、ほかのリンクした色と同じくパレットに従います。

const resolved = resolveComicsConfig(config.comics, 'ja');
// => すべての項目が埋まり、書体はZen AntiqueとDela Gothic One
 
const minimal = stripComicsDefaults(config.comics, 'ja');
// => すべてが既定値ならundefined
 
const shout = pickBalloonStyle(resolved, 'shout'); // 本の変更を加えた組み込みのshout
const night = pickPanelStyle(resolved, 'night');   // 名前付きのコマのスタイル、なければ既定のコマ