なろう正規傍点対応



小説家になろう!上で、同じようにルビ・傍点の書式に関してエッセイを書かれている方から感想でコメントを頂き、感謝しつつ。


なろうタイプの傍点形式が本来、正規であるとのことでそっちのプログラムも作ってみました。

大きな理由としては、半角等の対応とのことで。ウチの想定では半角は使用しない前提だったので、前回のやりかたでも特に問題はないですが。確かに、半角が混ざるとズレそうな感じ。


ってことで、表示差異確認しつつ、なろう正規Verの変換プログラムソースなど。


元 :これがぼうてんだ

簡易:これがぼうてんだ▽▽▽▽▽▽▽▽

正規:


元 :これが ぼうTenだ

簡易:これが ぼうTenだ▽▽▽▽▽▽▽▽▽▽

正規: Ten


元 :これがBou-Tenだ

簡易:これがBou-Tenだ▽▽▽▽▽▽▽▽▽▽▽

正規:Bou-Ten


これで見ると、やっぱり半角、スペース交じりだと簡易タイプは対応しきれない感じだねえ。

あと、正規版でも、半角スペースが混ざるとちょっと変w ここは後日対応かなぁ


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ここから

# クリップボードにコピーした文字列に、カクヨム&小説家になろうで表示できる傍点を付加してクリップボードに返すプログラムです。

SET Mt_Flag TO 0

LOOP WHILE (Mt_Flag) = (0)

# クリップボードからコピーした文字列と、その文字数を取得します。

Clipboard.GetText Text=> ClipboardText

SET Text_Length TO ClipboardText.Length

# 傍点の基本フォーマット(ルビ機能)を準備します

SET Default_Format TO $'''/テキスト<<おきかえもじ>>'''

# ※上記が傍点のフォーマットになるため、 /をパイプに、<<と>>をルビのコマンドに置き換えて下さい。

# ルビとして振る 記号 の一覧を準備します。 デフォルトは『・』(中黒)です。任意に異なる記号を選択できます。

Variables.CreateNewList List=> List

SET Default_Bouten TO $'''・﹅●ヽ△▲▽▼◇◆□■'''

SET Counter TO 0

LOOP WHILE (Counter) < (Default_Bouten.Length)

Variables.AddItemToList Item: Default_Bouten[Counter] List: List

Variables.IncreaseVariable Value: Counter IncrementValue: 1

END

Display.SelectFromListDialog.SelectFromList Title: $'''傍点を選ぼう!  傍点の種類を選んで下さい''' Message: $'''対象【%ClipboardText%】''' List: List IsTopMost: True AllowEmpty: False SelectedItem=> SelectedItem SelectedIndex=> SelectedIndex ButtonPressed=> ButtonPressed

# コピーした文字列=傍点を付けたい文字列の文字数分、傍点記号を複製して文字数をあわせます。

SET Counter TO 0

SET Bouten TO SelectedItem

# 傍点(ルビ)のフォーマットに、コピーした文字列の中の一文字と、作成した傍点記号の文字列をセットします。

SET Formated_Text TO NULL

LOOP WHILE (Counter) < (ClipboardText.Length)

Text.Replace Text: Default_Format TextToFind: $'''テキスト''' IsRegEx: False IgnoreCase: False ReplaceWith: ClipboardText[Counter] ActivateEscapeSequences: False Result=> Replaced

Text.Replace Text: Replaced TextToFind: $'''おきかえもじ''' IsRegEx: False IgnoreCase: False ReplaceWith: Bouten ActivateEscapeSequences: False Result=> Replaced

SET Formated_Text TO $'''%Formated_Text%%Replaced%'''

Variables.IncreaseVariable Value: Counter IncrementValue: 1

END

# 出来上がったテキストをクリップボードに逆コピーします。

Clipboard.SetText Text: Formated_Text

Display.ShowMessageDialog.ShowMessage Title: $'''傍点のフォーマットを完了。以下のテキストをクリップボードにコピー済み''' Message: $'''%Formated_Text%

※OKを押すと、次のクリップボードを処理します。キャンセルで終了します''' Icon: Display.Icon.Information Buttons: Display.Buttons.OKCancel DefaultButton: Display.DefaultButton.Button1 IsTopMost: False ButtonPressed=> ButtonPressed2

IF ButtonPressed2 = $'''Cancel''' THEN

# キャンセルボタンを押した場合、プログラムを終了します。OKボタンの場合、ループの最初に戻って処理を繰り返します。

SET Mt_Flag TO 99

END

END

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ここまで


取り急ぎ、以上!

  • Twitterで共有
  • Facebookで共有
  • はてなブックマークでブックマーク

作者を応援しよう!

ハートをクリックで、簡単に応援の気持ちを伝えられます。(ログインが必要です)

応援したユーザー

応援すると応援コメントも書けます

新規登録で充実の読書を

マイページ
読書の状況から作品を自動で分類して簡単に管理できる
小説の未読話数がひと目でわかり前回の続きから読める
フォローしたユーザーの活動を追える
通知
小説の更新や作者の新作の情報を受け取れる
閲覧履歴
以前読んだ小説が一覧で見つけやすい
新規ユーザー登録無料

アカウントをお持ちの方はログイン

カクヨムで可能な読書体験をくわしく知る