Skip to content

Masa-tam/txt2odf

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

txt2odf

txt2odf は、Web小説などのプレーンテキストから、ワープロソフトなどで開ける ODT(OpenDocument Text)ファイルを生成するためのコマンドラインツールです。

カクヨム記法のルビや傍点に対応しており、見出しの構造化、縦書き・横書きのレイアウト設定、スマートフォン向けに特有の「空行の整理」などを自動で行い、書籍化やPDF出力の前段階となる綺麗な原稿ファイルを簡単に作成できます。

主な機能

  • カクヨム記法のサポート: |漢字《かんじ》(ルビ)や 《《強調》》(傍点)の自動解析・変換。
  • テンプレートによるスタイル制御: JSON形式のテンプレートで、ページサイズ(A4, A5など)、縦書き/横書き、フォント、行送り、傍点の表現方法(太字、ルビ、ODF標準プロパティ)を設定できます。
  • 空行の自動処理(書籍フォーマット化): スマホ向け小説によくある「段落ごとの単一の空行」のみを自動で削除し、シーン区切りのための複数空行は圧縮して残すなど、書籍向けのレイアウトへ自動で整理します。
  • 複数ファイルの結合と章立て: リストファイル(.txt)を用いることで、複数のテキストファイルを順番に結合し、大見出し・小見出しを自動で挿入できます。

動作環境

  • Python 3.9 以上 (標準的な機能のみを使用しているため、Python 3系であればほぼ動作しますが、一部の型アノテーションの仕様により 3.9 以上を推奨します)
  • odfpy >= 1.4.1

インストール

  1. リポジトリをクローンまたはダウンロードします。
  2. 以下のコマンドで依存ライブラリ(odfpy)をインストールしてください。
pip install -r requirements.txt

使い方

以下のコマンド形式で実行します。

python main.py -i <リストファイル.txt> -f <テンプレートファイル.json> -o <出力ファイル.odt>

実行例:

python main.py -i ./txt/list.txt -f ./template/a5_vertical.json -o ./output.odt

ドキュメント

各種設定ファイルの詳しい書き方については、docs/ フォルダ内のマニュアルを参照してください。

ライセンス

このソフトウェアは MIT License のもとで公開されています。

サードパーティライセンス

本プロジェクトは以下のサードパーティ製ライブラリを使用しています。

  • odfpy - Apache License 2.0 (GPL 2.0 とのデュアルライセンスから Apache 2.0 を選択して適用しています)

最後に

私のスタイルが行間を基本的に空けないスタイルのため blank_lines はほぼテストされていません😅

custom は当初いろんな空行除去ができたらいいかなくらいで正規表現にしていたんですが、副作用が強すぎるかも。いや、分かる人が触るからいいのかな、たぶん、きっと😅

縦書きは鬼門😥

About

Convert a standard web novel format to ODT.

Topics

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors

Languages