見出し画像

自動ルビ ティラノスクリプトプラグイン

はじめに

ルビ振りが辛い……
という個人的な理由で、ちょっとラクにルビを振れるプラグインを作りました。
簡単にですが、ここで使用方法を説明します。


概要

テキストにルビを付加するプラグインです。
最初に登録したルビを、同じ文字に自動で割り当てるので、何度もルビを振る必要がなくなります。

ダウンロード

下記から「auto_ruby{バージョン情報}.zip」をダウンロードしてください。
※ダウンロードファイルには、ティラノスクリプト用のファイルが含まれています。

BOOTHにて、無料版と有料版(投げ銭用)を公開していますので、こちらからもダウンロード可能です。

ソースコードと共にGitHubでも公開していますので、下記からでもダウンロード可能です。

準備

①data/others/plugin にauto_ruby{バージョン情報}.zipファイル内の「auto_ruby」フォルダをコピーてください。

下記構成で4ファイルがあるか確認してください。
data/others/plugin/auto_ruby/init.ks
data/others/plugin/auto_ruby/auto_ruby.js
data/others/plugin/auto_ruby/auto_ruby.css
data/others/plugin/auto_ruby/auto_ruby.json

②first.ksからプラグインを呼び出してください。

下記のタグを「first.ks」内に追加してください。
[plugin name=auto_ruby]

;一番最初に呼び出されるファイル

[title name="自動ルビの使い方"]

[stop_keyconfig]


;ティラノスクリプトが標準で用意している便利なライブラリ群
;コンフィグ、CG、回想モードを使う場合は必須
@call storage="tyrano.ks"

;ゲームで必ず必要な初期化処理はこのファイルに記述するのがオススメ

;自動ルビプラグイン読込 ← この辺に入れる
[plugin name=auto_ruby]

;メッセージボックスは非表示
@layopt layer="message" visible=false

;最初は右下のメニューボタンを非表示にする
[hidemenubutton]

;タイトル画面へ移動
@jump storage="title.ks"

[s]

使い方

ここでは、基本的な使い方について説明します。
各タグの詳細については、ダウンロードファイル内の「readme.txt」を参照してください。

①ルビの振り方

まずは最初に、ティラノスクリプト標準のルビの振り方です。

;従来のルビの振り方
さて、ゲームが[ruby text="かん"][ruby text ="たん"]単に作れるというから、来てみたものの[p]
従来のルビの振り方

これでも、良いのですが、標準だと、一文字ずつが基本になります。
上記の場合ですと、「簡」の前に「ruby」タグ、そして、「単」の前に「ruby」タグと、ちょっと手間がかかります……

そこで、まずは、こちらを解消したく、自動ルビプラグインでは、単語を指定する形にしました。
「srb」と「erb」タグを使って、ルビを振りたい文字列を囲みます。
そして、「text」に表示するルビを記入します。

;自動ルビプラグインでのルビの振り方
[srb text="じどう"]自動[erb]ルビプラグインでは、[srb text="かんたん"]簡単[erb][srb text="たんご"]単語[erb]をまとめて[srb text="せってい"]設定[erb]できます。[p]

;短い単語や長い単語の場合
[srb text="だいだいいろ"]橙色[erb]とか、[srb text="もず"]百舌鳥[erb]はこんな感じです。[p]
自動ルビプラグインでのルビの振り方
短い単語や長い単語の場合

ちなみに、「srb」は、Start Ruby の略で、「erb」は、End Ruby の略です。と、ここまでですと、標準のものと大差ないと思います。
が、この後の機能が、「自動」たる所以ゆえんです!!
(ところで、上記の所以、noteでのルビの振り方、初めて知りましたw)

②ルビの登録

自動ルビプラグインでは、予めルビを登録しておくことができます。
そして、この登録済みのルビを自動で検索し、ルビを呼び出します。
では、まずは、登録方法です。

;ルビを事前に登録
[arb ruby="誰" text="だれ"]
[arb ruby="帰" text="かえ"]

簡単ですね!
「arb」タグを使用して、ルビを振りたい文字列、そして、ルビの内容を設定します。
今回は、「誰」「帰」を登録しています。
ちなみに、「arb」は、Add Ruby の略です。

そして、登録したルビを呼び出す部分です。

;登録済みの文字であれば、ルビを入れたい文字列をタグで囲むだけ
;個別にルビの設定をする必要はありません
[srb][erb]もいねぇじゃねぇか。[p]
……[p]
[srb][erb]るか。。。[p]

[font  size="30"   ]
#?
ちょっとまったーーーーー[p]
[resetfont  ]

#
[srb][erb]だ!?[p]

基本的には、ルビを振るのと同じです。
「srb」と「erb」タグを使って、ルビを振りたい文字列を囲みます。
ただし、登録したルビを呼び出す場合は、「text」を指定しません!!
単純に開始(srb)と終了(erb)のタグで囲むだけです。
上記の場合は、「誰」「帰」の文字が囲まれていますね!

「誰」のルビ
「帰」のルビ
二度目の「誰」

登録済みのルビを検索し、自動でルビが振られましたね!!
わざわざ、毎回ルビを振らずとも、対象としたい文字を囲むだけです。
あとは、自動で検索し、ルビを振ってくれます!!

※登録済みのものでも、textを指定した場合は、textが優先されます。
局所的に、読み方を変えたい場合などは、textを利用してください。

③JSONファイルからのルビ登録

「arb」タグを利用して、1つずつ登録してもよいのですが、JSONファイルを使用すると、管理がラクになります。
ということで、まずは、JSONファイルの読み込みタグです。

;JSONファイルからルビを登録
[arb_json file="./data/others/plugin/auto_ruby/auto_ruby.json"]

非常にシンプルです。
「arb_json」タグに、fileを指定するだけです。
基本的には、プラグインと同一フォルダにJSONファイルを置いておくことをお勧めします。
そして、予めサンプルのJSONファイルを入れておきました。
プラグインと同一のフォルダに入っている「auto_ruby.json」ファイルがこれにあたります。

[
    {"ruby": "名前", "text": "なまえ"},
    {"ruby": "開発", "text": "かいはつ"},
    {"ruby": "興味", "text": "きょうみ"},
    {"ruby": "縦書", "text": "たてが"},
    {"ruby": "横書", "text": "よこが"}
]

auto_ruby.json

これも単純ですね!
1行1データとなっています。
ルビを振りたい文字列と、そのルビの内容を列挙していくだけです。
JSONファイルの注意点としては、最後のデータの最後の文字!
ここに、カンマを付けてしまうと、JSONのファイル形式としては、エラーとなってしまうので、気を付けましょう!
それ以外は、サンプルの行を増やして、自分に必要なものを随時追加していくだけです。
自分用のルビファイルが出来てしまえば、後は作品を越えても共用できるようになりますね!!
では、JSONファイルからの登録を確認していきましょう!

;キャラクター登場
[chara_show  name="akane"  ]
#?
こんにちは。[p]
私の[srb]名前[erb]はあかね。[p]
#あかね
もしかして、ノベルゲームの[srb]開発[erb][srb]興味[erb]があるの?[p]
「名前」のルビ
「開発」と「興味」のルビ

JSONファイルで定義していた、「名前」「開発」「興味」のルビが表示されました!

④ルビの削除

あまり、使うことはないかもしれませんが、登録したルビを削除することもできます。

;登録したルビを削除
[drb ruby="興味"]

[chara_mod  name="akane" face="happy"  ]

;ルビを削除したので表示されない
#あかね
わー。[srb]興味[erb]あるなんて、嬉しいなー。[p]

「drb」タグに削除したいルビを指定します。
上記の場合は、JSONファイルから登録した「興味」のルビを削除しています。

「興味」のルビを削除

ルビの登録が削除されているため、[srb]興味[erb]として囲んでいるのですが、ルビが表示されません。
ちなみに、「drb」は、Delete Ruby の略です。

⑤ルビのクリア

こちらも、あまり使うことはないかと思いますが、ルビの全削除です。
と、その前に、削除前のサンプルとして、縦書きも表示してみます。

;たて書きにする
[position vertical=true layer=message0 page=fore margint="45" marginl="0" marginr="70" marginb="60"]

このように[srb]縦書[erb]きで記述することもできます。[r][l]
[srb]縦書[erb]きでも、[srb]横書[erb]きの時と同じ機能を使うことができます。[r][l]
縦書きのルビ

問題なく表示されます。
ちなみに、これは先ほどのJSONファイルで定義していたルビになります。
そして、この後に、「crb」タグを使用して、ルビの登録をクリアします。

;横書きに戻す
[position vertical=false]

;登録したルビを全て削除(クリア)
[crb]

;ルビが表示されなくなる
[srb]横書[erb]きと[srb]縦書[erb]きをシーンによって使い分けることもできます[r][l]
じゃあ、アドベンチャー形式に戻しますね[p]
クリア後のルビ

クリア後は、「srb」と「erb」タグで囲んでいるのに、ルビが表示されなくなりました。
最後の「crb」は、Clear Ruby の略でした。

⑥おまけのCSS

ルビのサイズや位置を調整したいようでしたら、プラグインフォルダ内の「auto_ruby.css」ファイルをいじってみてください。

/********************************************************************************
* 自動ルビ設定
*********************************************************************************/
/* 自動ルビ */
ruby.auto_ruby {
    /* 上に表示 */
    ruby-position: over;
}

/* 自動ルビテキスト */
rt.auto_rt {
    text-align: match-parent;
    color: white;
    filter: brightness(1.0);
    font-size: 50%;
}

「ruby-position: under」とすれば、ルビが文字の下に表示されたり
「font-size」を変更すれば、ルビの文字サイズを変えてりもできます。
この辺は、お好みで調整してみてください。

おわりに

以上が、ティラノスクリプト用の自動ルビプラグインの説明となります。
ティラノビルダーでも使用できると思いますが、その辺りの説明は、また別の機会にしたいと思います。
初版ですので、不具合などあるかもしれません。
何かありましたら、ご連絡いただけると幸いです。


この記事が気に入ったらサポートをしてみませんか?