LeMEファイルの仕様

Ver.0.38からLeMEファイル(*.leme)の保存形式がJSON形式に変更されました。本ページではLeMEファイルの仕様を説明します。

従来の形式も引き続き読み込み可能ですが、上書き保存すると新しいJSON形式に変更され元には戻せません。0.42以降で変更した一部の項目名も同様です。

--leme-fileオプションでも使用できます。

仕様

ファイルエンコード

UTF-8です。

本の情報

項目内容
info.titlestringタイトル(必須)
info.titleKanastringタイトルのカナ
info.creator1string著者名1(必須)
info.creator1Kanastring著者名1のカナ
info.creator2string著者名2
info.creator2Kanastring著者名2のカナ
info.publisherstring出版社(必須)
info.publisherKanastring出版社のカナ
info.identifierstringコード(ISBNなど)
info.languageint言語
ja, enなど
詳細は選択可能な言語を参照してください。
contentsarrayコンテンツの情報」のリスト(必須)
リストに並んでいる順番に変換します。
ソートはしません。

本の仕様

項目内容
spec.pageProgressionDirectionstring綴じ方向
right : 右綴じ
left : 左綴じ
spec.textFlowDirectionstring書字方向
auto : 自動判定
vertical : 縦書き
horizontal : 横書き
spec.layoutstringレイアウト
reflowable : リフロー
prepaginated : 固定レイアウト
spec.allowSpreadstring見開き
true : 可
false : 不可
spec.primaryWritingModestringページ送り
horizontal-rl : 右上→左上→右下→左下(縦書きの漫画など)
horizontal-lr : 左上→右上→左下→右下(横書きの漫画など)
vertical-rl : 右上→右下→左上→左下(4コマ漫画など)
vertical-lr : 左上→左下→右上→右下

変換

項目内容
making.epubPathstring作成するepubファイルのパス
パスはLeMEファイルを基準とした相対パスです。
making.generateMobibooleanmobiファイルの作成要否
kindlegenの設定が必要です。
コマンドラインから実行するときは--kindlegenオプションを使用します。
true : 作成する
false : 作成しない
making.userCss.enablebooleanユーザーCSSの使用可否
true : 使用する
false : 使用しない
making.userCss.pathstring未使用
making.convertSpaceToEnspaceboolean半角スペースを ( )に変換
true : 変換する
false : 変換しない
making.enableHyperLinkboolean外部ハイパーリンクの変換
true : 変換する
false : 変換しない

変換(テキスト)

項目内容
making.format.text.eraseConsecutiveBlankLineboolean空行を詰める
true : 詰める
false : そのまま
making.format.text.firstLineHeadingbooleanファイルの最初の行を見出しに変換
true : 変換する
false : 変換しない
making.format.text.headingboolean見出しを変換
true : 変換する
false : 変換しない
making.format.text.paragraphAlignboolean段落の位置を変換(書式:!C, !B, !R)
true : 変換する
false : 変換しない
making.format.text.paragraphIndentbooleanインデントを変換(書式:!Im,n)
true : 変換する
false : 変換しない
making.format.text.borderboolean罫線を変換(書式:!BD,TBLRH)
true : 変換する
false : 変換しない
making.format.text.rubyAnglebooleanルビを変換(書式:!BODY《RUBY》)
true : 変換する
false : 変換しない
making.format.text.rubyParenbooleanルビを変換(書式:!BODY(RUBY))
true : 変換する
false : 変換しない
making.format.text.italicbooleanイタリックを変換(書式:*文字*)
true : 変換する
false : 変換しない
making.format.text.boldboolean太字を変換(書式:**文字**)
true : 変換する
false : 変換しない
making.format.text.emMarkboolean傍点(黒丸)を変換(書式:+文字+)
true : 変換する
false : 変換しない
making.format.text.emMark2boolean傍点(黒丸)を変換(書式:《《文字》》)
true : 変換する
false : 変換しない
making.format.text.emMarkCommaboolean傍点(ゴマ)を変換(書式:++文字++)
true : 変換する
false : 変換しない
making.format.text.tcyboolean縦中横を変換(書式:^文字^)
true : 変換する
false : 変換しない
making.format.text.imageboolean画像/リンクを変換
(書式:![メモ](パス), ![テキスト](URL))
true : 変換する
false : 変換しない
making.format.text.pageBreakboolean改ページを変換(書式:!PB)
true : 変換する
false : 変換しない
making.format.text.horizontalRuleboolean水平線を変換(書式:!HR)
true : 変換する
false : 変換しない
making.format.text.advanceModeboolean拡張モードで解釈(Markdownに近い変換)
true : 有効
false : 無効(従来通り)

変換(Markdown)

項目内容
making.format.markdown.pageBreakBeforeH1boolean見出しLv1の直前で改ページする
true : 改ページする
false : 改ページしない
making.format.markdown.convertCrlfToBrboolean改行を<br/>に変換する
true : 変換する
false : 変換しない
making.format.markdown.rubyAnglebooleanルビを変換(書式:!BODY《RUBY》)
true : 変換する
false : 変換しない
making.format.markdown.rubyParenbooleanルビを変換(書式:!BODY(RUBY))
true : 変換する
false : 変換しない
making.format.markdown.rubyCurlybooleanルビを変換(書式:{BODY|RUBY})
true : 変換する
false : 変換しない
making.format.markdown.emMarkboolean傍点(黒丸)を変換(書式:+文字+)
true : 変換する
false : 変換しない
making.format.markdown.emMark2boolean傍点(黒丸)を変換(書式:《《文字》》)
true : 変換する
false : 変換しない
making.format.markdown.emMarkCommaboolean傍点(ゴマ)を変換(書式:++文字++)
true : 変換する
false : 変換しない
making.format.markdown.tcyboolean縦中横を変換(書式:^文字^)
true : 変換する
false : 変換しない

変換(PDF)

項目内容
making.pdf.fixedImageSize.enablebooleanPDF変換時に画像サイズを指定する
true : 固定サイズ
false : 表紙画像に合わせる(デフォルト)
making.pdf.fixedImageSize.widthintPDF変換時の画像サイズ(幅)を指定する
enableがtrueのときのみ有効です
1000~10000
making.pdf.fixedImageSize.heightintPDF変換時の画像サイズ(高さ)を指定する
enableがtrueのときのみ有効です
1000~10000

幅(making.pdf.fixedImageSize.width)と高さ(making.pdf.fixedImageSize.height)が以下の組み合わせと異なる場合、GUIでPDFの画像サイズに関する設定は変更できません。

  • 0 : 910×1280
  • 1 : 1360×1920
  • 2 : 1815×2560
  • 3 : 1280×910
  • 4 : 1920×1360
  • 5 : 2560×1815

幅と高さが規定のサイズを超える場合は「1 : 1360×1920」になります。

コンテンツの情報

項目内容
coverboolean表紙にする。画像ファイルのときのみ使用します。
また、1ファイルのみtrueにできます。
true : 表紙にする
false : 通常のページ
firstPagePositionintPDFファイルの最初のページが奇数ページか偶数ページかを指定します。
PDFのときのみ使用します。
0 : 奇数ページ
1 : 偶数ページ
headingLevelint見出しレベル
0 : 本文
1~6 : 見出しレベル1~6
headingTextstring見出しテキスト
見出しレベルが1より大きいときのみ使用します。
imageHandlingint画像の取扱い
0 : 埋め込み
1 : 全画面
pathstringコンテンツファイルへのパス
パスはLeMEファイルを基準とした相対パスです。
コンテンツの種類が空白・目次のときは使用しません。
対象ファイル形式:*.docx, *.txt, *.md, *.jpg, *.png, *.pdf
tocHeadingLevelint目次にする見出しレベル
目次とPDFのときのみ使用します。
1~6 : 見出し1~6まで
typeintコンテンツの種類
0 : 空白
1 : Wordファイル(*.docx)
2 : テキストファイル(*.txt)
3 : 画像ファイル(*.jpg, *.png)
4 : 目次
5 : (未使用)
6 : Pdfファイル(*.pdf)
7 : Markdownファイル(*.md)

テキスト原稿(縦書き)の例

{
     "contents": [
         {
             "cover": true,
             "firstPagePosition": 0,
             "headingLevel": 0,
             "headingText": "",
             "imageHandling": 1,
             "path": "cover.jpg",
             "tocHeadingLevel": 1,
             "type": 3
         },
         {
             "cover": false,
             "firstPagePosition": 0,
             "headingLevel": 0,
             "headingText": "",
             "imageHandling": 0,
             "path": "目次",
             "tocHeadingLevel": 4,
             "type": 4
         },
         {
             "cover": false,
             "firstPagePosition": 0,
             "headingLevel": 0,
             "headingText": "",
             "imageHandling": 0,
             "path": "body.txt",
             "tocHeadingLevel": 1,
             "type": 2
         }
     ],
     "info.creator1": "Iori",
     "info.publisher": "Relog",
     "info.title": "Simple sample book",
     "making.epubPath": "Simple.epub",
     "spec.allowSpread": true,
     "spec.charactorLayoutDirection": "vertical",
     "spec.layout": "reflowable",
     "spec.pageProgressionDirection": "right",
     "spec.primaryWritingMode": "horizontal-rl"
 }