NAME
    Unicode::Block::Ascii - Ascii output of unicode block.

SYNOPSIS
     use Unicode::Block::Ascii;

     my $obj = Unicode::Block::Ascii->new(%parameters);
     my $output = $obj->get;
     my $item = $obj->next;

METHODS
  "new"
     my $obj = Unicode::Block::Ascii->new(%parameters);

    Constructor.

    *       "char_from"

            Character from.

            Default value is '0000'.

    *       "char_to"

            Character to.

            Default value is '007f'.

    *       "title"

            Title of block.

            Default value is undef.

    Returns instance of object.

  "get"
     my $output = $obj->get;

    Get output.

    Return string with ascii table of Unicode::Block object.

  "next"
     my $item = $obj->next;

    Get next character.

    Returns Unicode::Block::Item object for character, if character exists.
    Returns undef, if character doesn't exist.

ERRORS
     new():
             From Class::Utils::set_params_pub():
                     Unknown parameter '%s'.

     get():
             Long title.

EXAMPLE1
     use strict;
     use warnings;

     use Encode qw(encode_utf8);
     use Unicode::Block::Ascii;
     use Unicode::Block::List;

     # Arguments.
     if (@ARGV < 1) {
             print STDERR "Usage: $0 block_name\n";
             exit 1;
     }
     my $block_name = $ARGV[0];

     # List object.
     my $obj = Unicode::Block::List->new;

     # Get Unicode::Block for block name.
     my $block = $obj->block($block_name);

     # Get ASCII object.
     my $block_ascii = Unicode::Block::Ascii->new(%{$block});

     # Print to output.
     print encode_utf8($block_ascii->get)."\n";
 
     # Output:
     # Usage: /tmp/o1NG0vm_Wf block_name

     # Output with 'Block Elements' argument:
     # в”Њв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”ђ
     # в”‚             Block Elements             в”‚
     # ├────────┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┤
     # в”‚        в”‚0в”‚1в”‚2в”‚3в”‚4в”‚5в”‚6в”‚7в”‚8в”‚9в”‚Aв”‚Bв”‚Cв”‚Dв”‚Eв”‚Fв”‚
     # ├────────┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┤
     # в”‚ U+258x в”‚в–Ђв”‚в–Ѓв”‚в–‚в”‚в–ѓв”‚в–„в”‚в–…в”‚в–†в”‚в–‡в”‚в–€в”‚в–‰в”‚в–Љв”‚в–‹в”‚в–Њв”‚в–Ќв”‚в–Ћв”‚в–Џв”‚
     # ├────────┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┤
     # │ U+259x │▐│░│▒│▓│▔│▕│▖│▗│▘│▙│▚│▛│▜│▝│▞│▟│
     # └────────┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┘

EXAMPLE2
     use strict;
     use warnings;
 
     use Curses::UI;
     use Encode qw(encode_utf8);
     use Unicode::Block::Ascii;
     use Unicode::Block::List;
 
     # Get unicode block list.
     my $list = Unicode::Block::List->new;
     my @unicode_block_list = $list->list;
 
     # Window.
     my $cui = Curses::UI->new;
     my $win = $cui->add('window_id', 'Window');
     $win->set_binding(\&exit, "\cQ", "\cC");
 
     # Popup menu.
     my $popupbox = $win->add(
             'mypopupbox', 'Popupmenu',
             '-labels' => {
                     map { $_, $_ } @unicode_block_list,
             },
             '-onchange' => sub {
                     my $self = shift;
                     $cui->leave_curses;
                     my $block = $list->block($self->get);
                     my $block_ascii = Unicode::Block::Ascii->new(%{$block});
                     print encode_utf8($block_ascii->get)."\n";
                     exit 0;
             },
             '-values' => \@unicode_block_list,
     );
     $popupbox->focus;
 
     # Loop.
     $cui->mainloop;

     # Output after select 'Geometric Shapes' item:
     # в”Њв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”Ђв”ђ
     # в”‚                    Geometric Shapes                    в”‚
     # ├────────┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┤
     # в”‚        в”‚ 0в”‚ 1в”‚ 2в”‚ 3в”‚ 4в”‚ 5в”‚ 6в”‚ 7в”‚ 8в”‚ 9в”‚ Aв”‚ Bв”‚ Cв”‚ Dв”‚ Eв”‚ Fв”‚
     # ├────────┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
     # в”‚ U+25ax в”‚ в– в”‚ в–Ўв”‚ в–ўв”‚ в–Јв”‚ в–¤в”‚ в–Ґв”‚ в–¦в”‚ в–§в”‚ в–Ёв”‚ в–©в”‚ в–Єв”‚ в–«в”‚ в–¬в”‚ в–­в”‚ в–®в”‚ в–Їв”‚
     # ├────────┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
     # в”‚ U+25bx в”‚ в–°в”‚ в–±в”‚ в–Ів”‚ в–ів”‚ в–ґв”‚ в–µв”‚ в–¶в”‚ в–·в”‚ в–ёв”‚ в–№в”‚ в–єв”‚ в–»в”‚ в–јв”‚ в–Ѕв”‚ в–ѕв”‚ в–їв”‚
     # ├────────┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
     # в”‚ U+25cx в”‚ в—Ђв”‚ в—Ѓв”‚ в—‚в”‚ в—ѓв”‚ в—„в”‚ в—…в”‚ в—†в”‚ в—‡в”‚ в—€в”‚ в—‰в”‚ в—Љв”‚ в—‹в”‚ в—Њв”‚ в—Ќв”‚ в—Ћв”‚ в—Џв”‚
     # ├────────┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
     # │ U+25dx │ ◐│ ◑│ ◒│ ◓│ ◔│ ◕│ ◖│ ◗│ ◘│ ◙│ ◚│ ◛│ ◜│ ◝│ ◞│ ◟│
     # ├────────┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
     # в”‚ U+25ex в”‚ в— в”‚ в—Ўв”‚ в—ўв”‚ в—Јв”‚ в—¤в”‚ в—Ґв”‚ в—¦в”‚ в—§в”‚ в—Ёв”‚ в—©в”‚ в—Єв”‚ в—«в”‚ в—¬в”‚ в—­в”‚ в—®в”‚ в—Їв”‚
     # ├────────┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
     # в”‚ U+25fx в”‚ в—°в”‚ в—±в”‚ в—Ів”‚ в—ів”‚ в—ґв”‚ в—µв”‚ в—¶в”‚ в—·в”‚ в—ёв”‚ в—№в”‚ в—єв”‚ в—»в”‚ в—јв”‚в—Ѕв”‚в—ѕв”‚ в—їв”‚
     # └────────┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘

DEPENDENCIES
    Error::Pure, Readonly, Text::UnicodeBox, Text::UnicodeBox::Control,
    Unicode::Block.

REPOSITORY
    <https://github.com/michal-josef-spacek/Unicode-Block-Ascii>

AUTHOR
    Michal Josef Е paДЌek <mailto:skim@cpan.org>

    <http://skim.cz>

LICENSE AND COPYRIGHT
    В© 2013-2023 Michal Josef Е paДЌek

    BSD 2-Clause License

VERSION
    0.05