NeeRuler 1.1

アプリの概要

リーディング ルーラーです。文章の読みやすさをサポートするデスクトップ定規です。

動作環境

インストール・アンインストール方法

インストール不要です。ZIPを展開し、そのまま NeeRuler.exe を起動してください。
アンインストールはフォルダごと削除するだけです。

操作方法

マウスでドラッグして読みたいテキスト行に合わせます。

操作 説明
左ボタン 次の行に進む
右ボタン コンテキスト メニュー
中ボタン マウス追従モードの切り替え
マウス ホイール テキスト ライン上部の余白を増減する

ショートカット キーについてはプロファイル フォルダーの KeyConfig.json を確認してください。

自動ストライドについて

パネルを移動させるときにテキスト行を自動的に検出します。

テキスト行検出の仕組みは、ピクセル ラインをスキャンしてその明度の増減が多いものをテキストとみなすというもので、検出方法としては簡易的なものです。
仕組み上、パネルが不透明だと機能しなくなります。 また、文字以外に絵などが含まれていると正常に判定できなくなります。

設定について

設定は JSON ファイルを直接編集して行います。
コンテキストメニューの「プロファイル フォルダーを開く」に設定ファイルがあります。通常、Profiles フォルダーです。

ファイル名 説明
Settings.json 設定
KeyConfig.json ショートカットキー設定
Profile-*.json プロファイル

Settings.json

設定ファイルです。
アプリ起動時に読み込まれ、終了時に状態をこのファイルに保存します。

グループ 名前 説明
StorageLocationX 数値 記憶位置の X 座標
StorageLocationY 数値 記憶位置の Y 座標
Stride 数値 基本の移動量 (pixel)
AdjustStride 数値 調整用の移動量 (pixel)
IsAutoStride 真偽 自動ストライドを有効にする
AutoStride MinTextHeight 数値 自動ストライド用パラメータ。最小のテキスト行幅 (pixel)。ルビ等を認識させないために使用します
AutoStride TextLineComplexityThreshold 数値 自動ストライド用パラメータ。テキスト行とみなされる行の複雑さを示す値 (0.0-1.0)
Layout IsVertical 真偽 パネルを縦方向に配置する
Layout IsFlatPanel 真偽 背景色をテキスト ラインの色と同じにしてフラットなパネルにする
Layout Width 数値 パネルの横幅 (pixel)。横方向に配置したときの値です
Layout Height 数値 パネルの縦幅 (pixel)。横方向に配置したときの値です
Layout TextLineHeight 数値 テキスト ラインの縦幅 (pixel)
Layout TextLineTopMargin 数値 テキスト ライン上部の余白 (pixel)
Layout TextLineBottomMargin 数値 テキスト ライン下部の余白 (pixel)
Layout BaseLine 数値 ベースラインの位置 (pixel)。パネルの上端からベースラインまでの長さです
Layout BaseLineHeight 数値 ベースラインの縦幅 (pixel)
Layout BackgroundColor 背景色
Layout TextLineColor テキスト ラインの色
Layout BaseLineColor ベースラインの色
Layout InactiveWindowOpacity 数値 ウィンドウが非アクティブ時の不透明度 (0.0-1.0)
Layout IsFollowMouse 真偽 マウス追従モードにする

KeyConfig.json

コマンドのショートカット キーを定義するファイルです。
使用できるキー名は .NET の Key 列挙型 を参照してください。 Alt Shift Ctrl で修飾できます。

コマンド 既定 説明
StoreLocation Shift+Q 位置を記憶
RestoreLocation Q 位置を復元
ToggleIsVertical V 縦方向と横方向の切り替え
ToggleIsAutoStride E 自動ストライドの切り替え
ToggleIsFlatPanel F フラット パネルの切り替え
ToggleIsFollowMouse マウス追従モードの切り替え
MoveUp W Up 上に移動
MoveDown S Down 下に移動
MoveLeft A Left 左に移動
MoveRight D Right 右に移動
AdjustUp Shift+W Shift+Up 上に調整
AdjustDown Shift+S Shift+Down 下に調整
AdjustLeft Shift+A Shift+Left 左に調整
AdjustRight Shift+D Shift+Right 右に調整
Exit アプリを終了
OpenProfilesFolder プロファイル フォルダーを開く
Profile-1 1 Profile-1.json を適用する
Profile-2 2 Profile-2.json を適用する
Profile-3 3 Profile-3.json を適用する
Profile-* Profile-*.json を適用する。* はファイル名に依存します

Profile-*.json

設定の一部を切り替えるための定義ファイルです。 プロファイルは複数保持することができ、* は任意の文字列です。
フォーマットは Settings.json と同じです。 省略されたプロパティは現状のまま変更されません。

連絡先

不具合を見つけたら GitHub でチケットを作成してご報告ください。

他の連絡先

ライセンス

MIT License

Copyright (c) 2024 Ito Mitsuhiro (nee)

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.


(参考:日本語訳)

以下に定める条件に従い、本ソフトウェアおよび関連文書のファイル(以下「ソフトウェア」)の 複製を取得するすべての人に対し、ソフトウェアを無制限に扱うことを無償で許可します。 これには、ソフトウェアの複製を使用、複写、変更、結合、掲載、頒布、サブライセンス、 および/または販売する権利、およびソフトウェアを提供する相手に同じことを許可する権利も無制限に含まれます。

上記の著作権表示および本許諾表示を、ソフトウェアのすべての複製または重要な部分に記載するものとします。

ソフトウェアは「現状のまま」で、明示であるか暗黙であるかを問わず、何らの保証もなく提供されます。 ここでいう保証とは、商品性、特定の目的への適合性、および権利非侵害についての保証も含みますが、 それに限定されるものではありません。 作者または著作権者は、契約行為、不法行為、またはそれ以外であろうと、 ソフトウェアに起因または関連し、あるいはソフトウェアの使用またはその他の扱いによって生じる一切の請求、 損害、その他の義務について何らの責任も負わないものとします。

更新履歴

1.1

(2025-08-02)

追加