見出し画像

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

はじめに

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


概要

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

ダウンロード

下記から「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を利用してください。
※ルビ登録は、システム変数(auto_ruby_store)に追加されます。

③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 の略でした。

⑥ルビ設定(Ver 1.1.0追加機能)

ルビのフォントやサイズ、色の設定を行います。

; 色を変更
[rb_config color="0x00ff00"]
ルビの[srb text="いろ"]色[erb]や、

; 大きさを変更
[rb_config size="100%"]
[srb text="おお"]大[erb]きさ、

; フォントを変更
[rb_config font="HG創英角ポップ体" size="50%" color="salmon"]
[srb text="ふぉんと"]フォント[erb]も変更できます。[p]

; 設定継続
[srb text="せってい"]設定[erb]は[srb text="ふたた"]再[erb]び[srb text="へんこう"]変更[erb]するまで[srb text="ゆうこう"]有効[erb]です。[p]

; 「default」を指定すると初期値に戻ります。
; フォントは、Config.tjsのuserFaceになります。
; sizeとcolorはCSSの設定になります。 
[rb_config font="default" size="default" color="default"]

[rb_config]タグを利用して、各設定を行います。

色を変更する場合は、[rb_config  color="0x00ff00"]や
[rb_config  color="white"]など、color属性を指定してください。

サイズを変更する場合は、[rb_config  size="100%"]や
[rb_config  size="10px"]など、size属性を指定してください。

フォント自体を変更する場合は、[rb_config  font="HG創英角ポップ体"]など
font属性を指定してください。

ルビの設定

設定は、再度指定するまで有効です。

設定保持

[rb_config]タグは、属性をまとめて指定することも可能です。
[rb_config font="default" size="default" color="default"]
ちなみに、属性に"default"を指定すると、初期値になります。
※フォントの初期値は、Config.tjsに書かれているuserFaceになります。
サイズと色は、CSSの定義が初期値となります。

!!!!!追記!!!!!

それでもめんどい!!!!
ということで、「シナリオファイル」から漢字を抽出して「ルビファイル」を作るツールを用意しました。
GitHub Pagesで無料公開していますので、ご自由にお使いください。

https://kyusu0918.github.io/AutoRubyMaker/

この画像をクリックしても開けます

また、上記ツールの使用方法も書きましたので合わせてご確認ください。

おわりに

以上が、ティラノスクリプト用の自動ルビプラグインの説明となります。
追記しました「自動ルビファイル作成ツール」と合わせて使用すると
本当にルビ振りがラクになるかと思います。
是非、機会がありましたら使用してみてください。
ただし、初版ですので、不具合などあるかもしれません。
何かありましたら、ご連絡いただけると幸いです。

いいなと思ったら応援しよう!