Actions Status MetaCPAN Release

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

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.

INSTALL

cpanm -n App::Greple::charcode

SEE ALSO

App::Greple

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