NAME
App::Greple::charcode - greple module to annotate unicode character data
SYNOPSIS
greple -Mcharcode ...
greple -Mcharcode [ module option ] -- [ greple option ] ...
MODULE OPTIONS
--[no-]col display column number
--[no-]char display character itself
--[no-]width display width
--[no-]code display character code
--[no-]name display character name
--[no-]align align annotation
--config KEY[=VALUE],... (KEY: col, char, width, code, name, align)
VERSION
Version 0.99
DESCRIPTION
App::Greple::charcode displays Unicode information about the
matched characters. It can also visualize zero-width combining or
hidden characters, which can be useful for examining text containing
such characters.
The following output, retrieved from this document for non-ASCII
characters (\P{ASCII}), shows that the character \N{VARIATION SELECTOR-15} is included after the copyright character. The same
character, presumably left over from editing, is also included after a
normal ASCII t character.
$ greple -Mcharcode '\P{ASCII}' charcode.pm
┌─── 12 \x{fe0e} \N{VARIATION SELECTOR-15}
│ ┌─ 14 \x{a9} \N{COPYRIGHT SIGN}
│ ├─ 14 \x{fe0e} \N{VARIATION SELECTOR-15}
Copyright︎ ©︎ 2025 Kazumasa Utashiro.
The nasal sound of the K line (カ行) in Japanese is sometimes represented by adding a semivoiced dot to the K line character, and since Unicode does not define a corresponding character, it is represented by combining the original character with a combining character. This module allows you to see how it is done.
┌───────── 0 \x{30ab} \N{KATAKANA LETTER KA}
├───────── 0 \x{309a} \N{COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK}
│ ┌─────── 2 \x{30ad} \N{KATAKANA LETTER KI}
│ ├─────── 2 \x{309a} \N{COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK}
│ │ ┌───── 4 \x{30af} \N{KATAKANA LETTER KU}
│ │ ├───── 4 \x{309a} \N{COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK}
│ │ │ ┌─── 6 \x{30b1} \N{KATAKANA LETTER KE}
│ │ │ ├─── 6 \x{309a} \N{COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK}
│ │ │ │ ┌─ 8 \x{30b3} \N{KATAKANA LETTER KO}
│ │ │ │ ├─ 8 \x{309a} \N{COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK}
カ゚キ゚ク゚ケ゚コ゚
CONFIGURATION
Configuration parameters can be set in several ways.
MODULE START FUNCTION
The start function of a module can be specified at the same time as the module declaration.
greple -Mcharcode::config(width,name=0)
greple -Mcharcode::config=width,name=0
MODULE PRIVATE OPTION
Module-specific options are specified between -Mcharcode and --.
greple -Mcharcode --config width,name=0 -- ...
COMMAND LINE OPTION
Command line option --charcode::config and --config can be used.
The long option is to avoid option name conflicts when multiple
modules are used.
greple -Mcharcode --charcode::config width,name=0
greple -Mcharcode --config width,name=0
CONFIGURATION PARAMETERS
-
col
(default 1) Show column number.
-
char
(default 0) Show the character itself.
-
width
(default 0) Show the width.
-
code
(default 1) Show the character code in hex.
-
name
(default 1) Show the Unicode name of the character.
-
align
(default 1) Align the description on the same column.
MODULE OPTIONS
The configuration parameters above have corresponding module options.
For example, the name parameter can be switched by the --name and
--no-name options.
- --col, --no-col
- --char, --no-char
- --width, --no-width
- --code, --no-code
- --name, --no-name
- --align, --no-align
INSTALL
cpanm -n App::Greple::charcode
SEE ALSO
LICENSE
Copyright︎ ©︎ 2025 Kazumasa Utashiro.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
AUTHOR
Kazumasa Utashiro