Version 0.3.15
A Notepad++ plugin that automatically displays detailed character encoding information in the status bar for the character under the cursor.
GitHub: https://github.com/Ruberoid/npp_emoji_description
When you move the cursor through text, the plugin automatically displays for the current character:
- Unicode code point (U+XXXX format)
- Unicode character name (e.g.
EM DASH,NO-BREAK SPACE,GRINNING FACE) β handy for telling look-alike characters apart; covers the entire Unicode code space including emoji; off by default - Decimal value
- Hexadecimal value
- HTML entity (&#XXXX; format)
- UTF-8 byte sequence (hex bytes)
Each field can be toggled individually from the Plugins β Emoji Description
menu, so you can show just the information you care about. Your choices are
remembered between sessions.
- All ASCII characters
- All Unicode characters (including Cyrillic, Chinese, etc.)
- Emoji and other characters outside the Basic Multilingual Plane (BMP)
- Full support for multi-byte UTF-8 sequences
For character A:
U+0041 | Dec: 65 | Hex: 0x41 | HTML: A | UTF-8: 0x41
For emoji π:
U+1F600 | Dec: 128512 | Hex: 0x1F600 | HTML: 😀 | UTF-8: 0xF0 0x9F 0x98 0x80
For Cyrillic character Π―:
U+042F | Dec: 1071 | Hex: 0x42F | HTML: Я | UTF-8: 0xD0 0xAF
-
Download the latest release from Releases page
-
Choose the appropriate ZIP file for your Notepad++ version:
EmojiDescription_x64_*.zipfor 64-bit Notepad++EmojiDescription_x86_*.zipfor 32-bit Notepad++EmojiDescription_arm64_*.zipfor ARM64 Notepad++
-
Extract the DLL file
-
Copy it into a
EmojiDescriptionsubfolder of your Notepad++pluginsdirectory, so that the final path isplugins\EmojiDescription\EmojiDescription.dll. Thepluginsdirectory depends on how Notepad++ was installed:- Standard installer (e.g.
C:\Program Files\Notepad++):C:\Program Files\Notepad++\plugins\EmojiDescription\ - Per-user / "Don't use %APPDATA%" installs and portable builds:
%APPDATA%\Notepad++\plugins\EmojiDescription\
If unsure, check
Settings β Import β Import plugin(s)...or look at where your existing plugins live. You may need administrator rights to write intoC:\Program Files. - Standard installer (e.g.
-
Restart Notepad++
See Building from Source section below.
After installation, the plugin starts working automatically. Access plugin commands via Plugins β Emoji Description:
- Show Character Info - Toggle the whole display on/off (enabled by default)
- Show: Code Point / Character Name / Decimal / Hexadecimal / HTML Entity / UTF-8 Bytes - Toggle each field individually (Character Name is off by default)
- About - Plugin information
Simply move the cursor through text, and character information will be displayed in the status bar at the bottom of the Notepad++ window.
- Visual Studio 2017 or later with "Desktop development with C++" workload
- Windows SDK
- (Optional) CMake 3.15 or later for CMake-based builds
- Open
vs.proj\EmojiDescription.vcxprojin Visual Studio - Select
Releaseconfiguration andx64platform (orWin32for 32-bit) - Build β Build Solution (or press
Ctrl+Shift+B) - Compiled DLL will be in
bin64\(orbin\for x86)
- Open "Developer Command Prompt for VS 2022" (or your VS version)
- Navigate to project folder:
cd <path_to_project>- Build:
msbuild vs.proj\EmojiDescription.vcxproj /p:Configuration=Release /p:Platform=x64- Create build directory:
mkdir build
cd build- Open "Developer Command Prompt for VS 2022"
- Generate project:
cmake ..- Build:
cmake --build . --config ReleaseRepository: https://github.com/Ruberoid/npp_emoji_description
EmojiDescription/
βββ src/
β βββ PluginDefinition.h - Header with declarations
β βββ PluginDefinition.cpp - Main plugin logic
β βββ EmojiDescription.cpp - DLL entry point
β βββ EmojiDescription.rc - Resources (version, description)
β βββ PluginInterface.h - Notepad++ plugin interface
β βββ Scintilla.h - Scintilla API
β βββ ...
βββ vs.proj/
β βββ EmojiDescription.vcxproj - Visual Studio project
βββ .github/workflows/
β βββ CI_build.yml - CI for builds
β βββ release.yml - Automated releases
βββ CMakeLists.txt - CMake configuration
βββ README.md - This file
updateCharacterInfo()- Updates character info under cursor (src/PluginDefinition.cpp:194)decodeUtf8Char()- Decodes UTF-8 character to Unicode code point (src/PluginDefinition.cpp:91)formatCharacterCodes()- Formats all code representations (src/PluginDefinition.cpp:136)pluginBeNotified()- Handles notifications from Notepad++ and Scintilla (src/PluginDefinition.cpp:243)
The project uses GitHub Actions for automated builds and releases:
- CI Build: Runs on every commit to verify compilation for all platforms
- Release: Automatically creates releases with binaries when a version tag is pushed
See PUBLISHING.md for details on creating releases.
This plugin is distributed under the GPL v2 license, same as Notepad++.
See LICENSE file for details.
Contributions are welcome! Please feel free to submit a Pull Request.
If you encounter any issues or have suggestions, please open an issue on GitHub.
Ruberoid
- GitHub: @Ruberoid
- Repository: https://github.com/Ruberoid/npp_emoji_description
See CHANGELOG.md for version history and changes.