An open API service indexing awesome lists of open source software.

https://github.com/jiro4989/mvtexteditor

RPGツクールMVのテキスト編集ツール
https://github.com/jiro4989/mvtexteditor

gui java javafx utility

Last synced: about 1 month ago
JSON representation

RPGツクールMVのテキスト編集ツール

Awesome Lists containing this project

README

        

= MVTextEditor
:toc: left
:sectnums:

image:https://github.com/jiro4989/MVTextEditor/workflows/build/badge.svg[build, link=https://github.com/jiro4989/MVTextEditor/actions]

image::./docs/demo.gif[]

== 概要

このソフトは、RPGツクールMVのイベントデータの内の、文章編集にのみ特化したテキス
ト編集ツールです。

外部エディタで作成したテキストファイルを本ソフトに読み込んで、ツクールMV側のデー
タファイルに出力する変換器としても利用出来ます。

また、ツクールMVの制御文字の入力をマウス操作から簡単に入力する機能や、
テキストの検索で特定の文章を絞り込む機能を提供します。

== インストール

https://github.com/jiro4989/MVTextEditor/releases[Releases]から各プラッ
トフォーム向けの圧縮ファイルをダウンロードして展開する。
圧縮ファイル内にはいくつかファイルがあるが、これらはセットで必要。任意のフォル
ダなどに移動したい場合は、展開したフォルダごと移動すること。

== 起動手順

. (Windows) mvte.batをダブルクリックする
.. このとき警告が出る場合があるけれど、許可する
.. 黒いウィンドウが表示されるが、閉じないで待つ
.. GUIの画面が表示される
. (Mac/Linux) mvteを実行する

== 使い方

=== テキストから開く

テキストファイルから本ソフトにデータを読み込みます。
拡張子はtxtである必要があります。
また、本ソフト独自の書式でテキストを記述している必要があります。

テキストファイルの書式の詳細は
[テキストファイルの書式・仕様](#テキストファイルの書式・仕様)を参照してくださ
い。

また、テキストファイルから本ソフトへ取り込むときの書式のサンプルとして、
usage.txtというファイルを用意しました。

書式についてよくわからなかった場合は、usage.txtを開いて中身を確認してみてくださ
い。

=== 編集する

読みこんだテキストを編集します。

作者が想定している使い方は、
1. 文章と発言者のみをテキストファイルから読み込む
2. 文章の装飾を本ソフトで行う
3. ツクールMVに出力する
というものです。

本ソフトは上記の「文章の装飾」に関する機能を幾つか用意しています。

==== アイコンの変更

画面中央で、変更したいデータをダブルクリック、またはEnterすると、アイコン画像選
択ウィンドウが開きます。

これは複数選択したデータに対しても変更を適用します。
つまり、複数のデータを一括で変更できます。

image::./docs/select_face_img01.gif[表情画像選択]

==== アイコンをキーボードから変更

アイコンを一度表示すると、キーボードの数字キーで変更を受け付けるようになりま
す。

データを選択して1 ~ 8のいずれかのキーを押すと、アイコンを変更します。

image::./docs/change_face_img01.gif[表情パネル変更]

==== データの一括変更

アイコンを一括変更できることと同様に、アクター名や文章を一括変更できます。

操作まず編集したいデータを選択し、画面下部の編集欄からテキストを入力することで適
用されます。

選択したデータの1つは、リアルタイムで変更がテーブルに反映されます。

この時、複数のデータを変更する時は、テキスト入力欄に隣接するボタンを押下しない
と、一括変更が適用されません。

image::./docs/change_text01.gif[テキスト変更]

==== データの切り取り-コピー-削除

複数データの一括削除、一括コピーをサポートします。
詳細は[ショートカットキー](#ショートカットキー)の項目を参照してください。

==== 色文字列の入力

文章の色を変更したい場合は、変更したい箇所にカーソルを移動し、文章入力欄の上部に
ある色パネルをダブルクリックしてください。

この時、テキストで範囲を選択していた場合、その選択部分のみを色制御文字でくくりま
す。
その場合、制御文字の閉じる部分は\i[0]が挿入されます。

image::./docs/change_color01.gif[色変更]

==== 制御文字の支援

ツクールのすべての制御文字の入力をボタンから行う事が可能です。

テキスト入力欄下部のボタンをクリックすることで、制御文字を挿入することが可能で
す。

この時、フォントサイズの変更、一瞬で文章を表示に関しては、色文字列の入力の場合と
同様に選択範囲にのみ適用できる様になっています。

==== 変数-アクター-アイコンの挿入

画面右側のパネルに、変数・アクター・アイコンの一覧パネルが存在します。

それぞれダブルクリック、あるいはEnterキーでカーソル位置に文章の挿入を可能としま
す。

image::./docs/var_actor_icon01.gif[表情パネル変更]

また、アクター名については、アクター名を選択した状態でSpaceをタイプすることで発
言者のテキスト入力欄にアクター名を入力できます。アクター名の入力の際に前後に幾つ
かの括弧で囲むことが可能です。

==== 文字列の折り返し

文章表示ウィンドウ内に収まりきらない場合に文章を折り返します。

画面解像度を変更するプラグインを適用している場合は、インポート設定から折り返す文
字数を変更することで、文字列の折り返しを最適化することができます。

だだし、ここで指定する数値は半角英数字の幅を基準にしている点に注意してください。
半角英数字を幅1として、全角文字を幅2として計算しています。
なので、全て全角文字の場合は27文字入力された時点で文章が折り返されます。

image::./docs/return01.gif[表情パネル変更]

image::./docs/return02.gif[表情パネル変更]

image::./docs/return03.gif[表情パネル変更]

==== 複数レコードの連結

複数のレコードを連結して1つのレコードにまとめます。

==== 複数レコードの一括編集

レコードの編集はリアルタイムで変更が適用されますが、複数のレコードを対象とした場
合、手動で適用する必要があります。

image::./docs/joining01.gif[表情パネル変更]

=== MVに出力する

メニューから「MapXXX.jsonを出力する」を実行してください。

正常に出力できた場合、お疲れ様ですウィンドウが表示されます。
お疲れ様です。

=== 確認する

ツクールMVで確認します。

幅1x1でイベントが1つ存在する新しいマップが生成されていることを確認してくださ
い。

生成されたイベントを確認して、必要に応じて修正したり、別の場所にコピペしてご利用
ください。

=== ショートカットキー

[options="header"]
|=========
| キー| 動作| 備考
| ファイル||
| Ctrl-N| 新規データの作成|
| Ctrl-O| ファイルを開く|
| Ctrl-S| ファイルの保存|
| Ctrl-Shift-S | ファイルの別名保存|
| Ctlr-Shift-T | テキストファイルを開く |
| Ctrl-Shift-M | MVに出力|
| 編集||
| Ctrl-R| ファイルの再読込|
| Ctrl-X| 切り取り| 複数可
| Ctrl-C| コピー| 複数可
| Ctrl-V| 貼り付け|
| Ctrl-D| 削除| 複数可
| Ctrl-G| 選択データの更新| 複数可
| Ctrl-I| 新規データの挿入|
| Ctrl-J| 下のデータを選択|
| Ctrl-K| 上のデータを選択|
| Ctrl-F| 文章の折り返し| 複数可
| Ctrl-M| 文章の連結| 複数可
| 1| 表情1に変更| 複数可
| 2| 表情2に変更| 複数可
| 3| 表情3に変更| 複数可
| 4| 表情4に変更| 複数可
| 5| 表情5に変更| 複数可
| 6| 表情6に変更| 複数可
| 7| 表情7に変更| 複数可
| 8| 表情8に変更| 複数可
| 選択||
| Ctrl-U| エディタを選択|
| Ctrl-Shift-J | 変数パネルを選択|
| Ctrl-Shift-K | アクターパネルを選択|
| Ctrl-Shift-L | アイコンパネルを選択|
| テーブル||
| J| 下のデータを選択|
| K| 上のデータを選択|
| Enter| アイコンの変更| 複数可
| Space| 発言者の変更| アクター
| F1| バージョン情報|
|=========

== テキストファイルの書式-仕様

- テキストファイルは文字コードがUTF-8、またはShift_JIS (ANSI)で保存されている必
要があります。
文字コードについてはお使いのテキストエディタ(テキストファイルを編集するために
使っているソフト)と文字コードでググってもらえるとすぐに情報が見つかるかと思い
ます。 +
参考までに、Windowsのメモ帳でしたら名前をつけて保存する時に、保存ボタンの横に
文字コードというプルダウンメニューがあります。
そこを選択して、UTF-8という項目を選択して保存したテキストファイルなら、正常に
読み込むことが可能です。

- # (ハッシュ記号)で始まる行で、#1文字で始まる行は、発言者の名前です。
発言者の名前、とはツクールMVの文章ウィンドウの1行目に表示されるセリフの発言者
を想定しています。

- ##で始まる行(#が2文字以上連続する行)はコメント行です。
コメント行とは、「データ読み込み時に無視される」行です。
これは、そのテキストファイルを読む人間に文章の分かりやすさを提供するための機能
です。

- 1つ以上連続する空白行(何も書いていない行)が文章の区切りになります。
文章が始まってから、次の空白行までを一つの段落と解釈し、本ソフトに取り込みま
す。

- 1行あたりの文章がツクールMVのウィンドウ内に収まりきらない場合、読み込み時に自
動で収まるように改行します。
この時、ウィンドウの幅をプラグインなどで変更している場合は、インポート設定の項
目から折り返す文字数を変更できます。

- 文章の開始と終わりを括弧でくくって本ソフトに読み込むことが可能です。
インポート設定の画面から、このオプションを変更することが可能です。
この設定はデフォルトでONになっています。

- 発言者が連続する場合、発言者の名前の記述を省略できます。
つまり、同じ人物のセリフは、最初の一つだけ記述するだけで良いのです。
発言者を切り替えたい場合は、再度#で名前を指定する必要があります。

- 文章ウィンドウ4行すべてを文章にしたい場合は、その段落の直前に#のみを記述し、
発言者名を何も入力しないことで実現できます。

- 文章ウィンドウの1行目を空白で残しておきたい場合は、#  (全角スペース)を入力
することで実現できます。

- 発言者と同じ名前をテキスト欄で表現する際に、@nameと記述することで、本ソフトに
読み込む時に発言者の名前に置換されます。

== Q & A

link:./docs/q_and_a.adoc[Q&A]

== アンインストール

フォルダごと削除する。

== 連絡先

バグ報告、機能要望、質問などがあれば、リポジトリのissuesに起票ください。

それ以外については、以下に連絡ください。

https://twitter.com/jiro_saburomaru[@jiro_saburomaru]

== LICENSE

GPL-2.0

=== 画像提供

ボタンアイコンは以下よりお借りしています。
画像の無断配布はお控えください。

* http://icooon-mono.com[icooon-mono]
* http://www.webiconset.com/[WebIconSet.com]

== 開発者向け

=== 前提条件

* Java 16
* Ubuntu 20.04

以下のインストールスクリプトを実行すると環境が整う。

[source,bash]
----
./script/install_java.sh
----

実行したら環境変数 `JAVA_HOME` を設定すること。

=== ビルド手順

以下のコマンドを実行する。

[source,bash]
----
./gradlew build
----

=== アプリ起動手順

前述のビルドコマンドを実行後に以下のコマンドを実行する。

実行する前提条件として、下記スクリプトにかかれている `module-path`
のパスにJavaFX SDKがインストールされている必要がある。 JavaFX SDKは
https://gluonhq.com/products/javafx/[JavaFXのサイト]
からSDKをダウンロードしてきて圧縮ファイルを展開して配置する。

[source,bash]
----
./gradlew clean build runApp
----

=== カスタムJREの作成手順

以下のコマンドを実行する。成果物としてjreディレクトリが作成される。

アプリが依存しているモジュールは `modules.txt`
に記載。ここに追記するとスクリプトにも反映される。

実行する前提条件として、前述のJavaFXのサイトにて配布されているJMODSが必要。
こちらをダウンロードしてきて、 `./jmods/javafx-jmods-11.0.2` に配置する。

配置後に以下のコマンドを実行する。

[source,bash]
----
./gradlew jlink
----

=== カスタムJREを使用してアプリを起動する手順

以下の手順を実施する。

* ビルド手順
* カスタムJRE作成手順

実施の後、以下のコマンドを実行する。

[source,bash]
----
./jre/bin/java -jar build/libs/mvte-dev.jar com.jiro4989.mvte.Main
----

これで起動しなければ何かがおかしい。

=== リリース手順

gitのタグを打つとリリースされる。
以下のコマンドを実行する。

[source,bash]
----
# タグを確認
git tag

# 新しいタグを付与
git tag {新しいタグ}
----