Reading Ruler. A desktop ruler that supports the readability of text.
No installation is required, just extract the ZIP and run
NeeRuler.exe.
To uninstall, simply delete the entire folder.
Drag with the mouse to the line of text you want to read.
| Action | Description |
|---|---|
| Left button | Move on to the next line |
| Right button | Context menu |
| Middle button | Toggle mouse following |
| Mouse wheel | Increase or decrease the margin above the text line |
Check KeyConfig.json in the profile folder for shortcut
keys.
Automatically detects text lines as you move panels.
The text line detection mechanism is a simple detection method that
scans pixel lines and considers those with a large increase or decrease
in brightness to be text.
Due to the way it works, if the panel is opaque, it will not function.
In addition, if a picture or other element is included in addition to
the text, it will not be judged correctly.
Configuration is done by editing the JSON file directly.
You will find the configuration files in the context menu “Open Profiles
Folder”. Usually, this is the Profiles folder.
| File name | Description |
|---|---|
| Settings.json | Settings |
| KeyConfig.json | Shortcut key setting |
| Profile-*.json | Profile |
Configuration file.
It is loaded when the application starts and the status is saved to this
file when it exits.
| Group | Name | Type | Description |
|---|---|---|---|
| StorageLocationX | Number | X-coordinate of storage location | |
| StorageLocationY | Number | Y-coordinate of storage location | |
| Stride | Number | Basic movement amount (pixel) | |
| AdjustStride | Number | Adjustment amount (pixel) | |
| IsAutoStride | Boolean | Enable auto stride | |
| AutoStride | MinTextHeight | Number | Parameters for auto stride. Minimum text line height (pixel).Used to prevent recognition of ruby, etc. |
| AutoStride | TextLineComplexityThreshold | Number | Parameters for auto stride. Value indicating the complexity of the line considered to be a text line (0.0-1.0) |
| Layout | IsVertical | Boolean | Place panels vertically |
| Layout | IsFlatPanel | Boolean | Make the background color the same as the color of the text lines to create a flat panel |
| Layout | Width | Number | Panel width (pixel). Value when placed horizontally |
| Layout | Height | Number | Panel height (pixel). Value when placed horizontally |
| Layout | TextLineHeight | Number | Text line height (pixel) |
| Layout | TextLineTopMargin | Number | Margin above text line (pixel) |
| Layout | TextLineBottomMargin | Number | Margin below text line (pixel) |
| Layout | BaseLine | Number | Baseline position (pixel). The length from the top of the panel to the baseline |
| Layout | BaseLineHeight | Number | Baseline height (pixel) |
| Layout | BackgroundColor | Color | Background color |
| Layout | TextLineColor | Color | Text line color |
| Layout | BaseLineColor | Color | Baseline color |
| Layout | InactiveWindowOpacity | Number | Opacity when window is inactive (0.0-1.0) |
| Layout | IsFollowMouse | Boolean | Follow mouse |
This file defines shortcut keys for commands.
See .NET
Key Enum for available key names. Can be modified with
Alt Shift Ctrl.
| Command | Default | Description |
|---|---|---|
| StoreLocation | Shift+Q |
Memorize location |
| RestoreLocation | Q |
Restore location |
| ToggleIsVertical | V |
Switching between vertical and horizontal orientation |
| ToggleIsAutoStride | E |
Auto stride switching |
| ToggleIsFlatPanel | F |
Flat panel switching |
| ToggleIsFollowMouse | Toggle mouse following | |
| MoveUp | W Up |
Move up |
| MoveDown | S Down |
Move down |
| MoveLeft | A Left |
Move left |
| MoveRight | D Right |
Move right |
| AdjustUp | Shift+W Shift+Up |
Adjust up |
| AdjustDown | Shift+S Shift+Down |
Adjust down |
| AdjustLeft | Shift+A Shift+Left |
Adjust left |
| AdjustRight | Shift+D Shift+Right |
Adjust right |
| Exit | Exit application | |
| OpenProfilesFolder | Open profiles folder | |
| Profile-1 | 1 |
Apply Profile-1.json |
| Profile-2 | 2 |
Apply Profile-2.json |
| Profile-3 | 3 |
Apply Profile-2.json |
| Profile-* | Apply Profile-*.json. * depends on the
filename |
Definition file for switching some of the settings. Multiple profiles
can be held, where * is an arbitrary string.
The format is the same as Settings.json. Omitted properties
remain unchanged in their current state.
If you find a bug, please create a ticket on GitHub and report it.
Other Contacts
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.
(2025-08-02)