1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

なろう傍点を簡単に入力するスクリプト

Last updated at Posted at 2019-12-23

なろう傍点記法の入力はめんどい

めんどい

小説家になろうの(リッチエディタで入力される)傍点は、一文字ごとに「・」を青空文庫記法のルビで付与したものだからだ。
HTML+CSSにはちゃんとtext-emphasisプロパティがあるというのに、カクヨムはそれに置換される独自記法を用意してくれているというのに、なろうでは未だにルビしか使えない。

ころす

TextExpander(未完成)

TextExpander 5.1.5前提

仕方がないので、フィルインでフレーズを入力し、それに傍点を付与した上で出力するスクリプトを書いてみる。

コード

# !/bin/bash
echo '%filltext%' | sed -e 's/./|&《・》/g' | xargs echo -n

はいかんたん。

なにが問題かというと、フィルイン時の表示がおかしい。

img

なんでかソースコード表示されるんですな。

なんとかしたい。

Typinator

TextExpanderから乗り換えたので。
シェルスクリプトの文字コードがデフォルトでUTF-8になっていないようで、文字化けして焦った。ちゃんと文字コード指定してやれば問題なし。UIがおかしくなったりもせず快適。

{{filltext=?傍点部}}{/Shell
export LANG=ja_JP.UTF-8
echo ${filltext} | sed -e 's/./|&《・》/g' | xargs echo -n
}

AutoHotKey

こっちはGUIもきれいだし、正規表現置換関数が用意されてるのでもっと簡単だった。

コード

::od::
    PasteString(RegExReplace(InputBox("なろう傍点テキスト"),".","|$0《・》"))
    return

; テキストをペーストする関数
PasteString(String)
{
    OnClipboardChange("ClipChanged",0)
    Backup := ClipboardAll
    Clipboard := String
    Sleep, 100 ; 削除が間に合わないので
    Send, ^v ; sendplayがwin10の大半のアプリで機能せず
    Sleep, 200 ; 元のクリップボードをペーストしてしまうことがある
    Clipboard := Backup
    OnClipboardChange("ClipChanged",1)
}

; 入力フィールドを表示して入力内容を返り値とする関数
InputBox(Prompt,DefaultText="テキストを入力",vW=600)
{
    Gui, Margin, 0, 0
    Gui, Color, , d0d0d0
    ; vW = 600

    Gui, Font, Q5 s10 W550, Meiryo UI ; UIフォントの指定
    Gui, Add, Text, w%vW% -Wrap, %Prompt%
    ; テキストを中央寄せする場合は幅の指定も必要(そうでないとテキスト幅=コントロール幅になるので)

    Gui, Font, Q5 s11 W550, Cica ; editフォントの指定
    static InputText
    Gui, Add, Edit, X0 Y+3 w%vW% vInputText -Multi, %DefaultText% ; %InputText%

    Gui, Font, Q5 s10 W550, Meiryo UI ; ボタンフォントの指定
    vX := vW - 120
    vX2 := vX - 125
    Gui, Add, Button, Y+3 w120 x%vX% Default, OK
    ; Gui, Add, Button, w120 x+5 GCancel, Esc(&C)

    Gui, Show, Center AutoSize, %A_ScriptName%
    WinWaitClose, %A_scriptname% ahk_class AutoHotkeyGUI, %Prompt%
    return, InputText

    ButtonOK:
        Gui, Submit
        ; Clipboard := InputText
    GuiClose:
    GuiEscape:
        Gui, Destroy
    Return
}
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?