Terminal++ 3.1.0.4
A C++ library for interacting with ANSI terminal windows
Loading...
Searching...
No Matches
charset.hpp
1#pragma once
2
3#include "terminalpp/core.hpp"
4#include "terminalpp/detail/ascii.hpp"
5
6namespace terminalpp::ansi {
7
8// Note: For extended ASCII, both PuTTY and TeraTerm support SCO.
9// clang-format off
10inline constexpr byte charset_dec[] = {terminalpp::detail::ascii::zero};
11inline constexpr byte charset_dec_supplementary[] = {terminalpp::detail::ascii::less_than};
12inline constexpr byte charset_dec_supplementary_gr[] = {terminalpp::detail::ascii::percent,
13 terminalpp::detail::ascii::five};
14inline constexpr byte charset_dec_technical[] = {terminalpp::detail::ascii::greater_than};
15inline constexpr byte charset_uk[] = {terminalpp::detail::ascii::uppercase_a};
16inline constexpr byte charset_us_ascii[] = {terminalpp::detail::ascii::uppercase_b};
17inline constexpr byte charset_dutch[] = {terminalpp::detail::ascii::four};
18inline constexpr byte charset_finnish[] = {terminalpp::detail::ascii::uppercase_c};
19inline constexpr byte charset_finnish_alt[] = {terminalpp::detail::ascii::five};
20inline constexpr byte charset_french[] = {terminalpp::detail::ascii::uppercase_r};
21inline constexpr byte charset_french_alt[] = {terminalpp::detail::ascii::lowercase_f};
22inline constexpr byte charset_french_canadian[] = {terminalpp::detail::ascii::uppercase_q};
23inline constexpr byte charset_french_canadian_alt[] = {terminalpp::detail::ascii::nine};
24inline constexpr byte charset_german[] = {terminalpp::detail::ascii::uppercase_k};
25inline constexpr byte charset_italian[] = {terminalpp::detail::ascii::uppercase_y};
26inline constexpr byte charset_danish[] = {terminalpp::detail::ascii::grave};
27inline constexpr byte charset_danish_alt_1[] = {terminalpp::detail::ascii::uppercase_e};
28inline constexpr byte charset_danish_alt_2[] = {terminalpp::detail::ascii::six};
29inline constexpr byte charset_portuguese[] = {terminalpp::detail::ascii::percent,
30 terminalpp::detail::ascii::six};
31inline constexpr byte charset_spanish[] = {terminalpp::detail::ascii::uppercase_z};
32inline constexpr byte charset_swedish[] = {terminalpp::detail::ascii::uppercase_h};
33inline constexpr byte charset_swedish_alt[] = {terminalpp::detail::ascii::seven};
34inline constexpr byte charset_swiss[] = {terminalpp::detail::ascii::equals};
35inline constexpr byte charset_sco[] = {terminalpp::detail::ascii::uppercase_u};
36
37// Not defined by ANSI/VT100; just me bolting this on.
38inline constexpr byte charset_utf8[] = {terminalpp::detail::ascii::lowercase_u};
39
40// Some charsets (e.g. Portuguese) require an extender character
41inline constexpr byte charset_extender = terminalpp::detail::ascii::percent;
42
43// Commands for Charset Selection
44inline constexpr byte select_default_character_set[] = {terminalpp::detail::ascii::esc,
45 terminalpp::detail::ascii::percent,
46 terminalpp::detail::ascii::at};
47inline constexpr byte select_utf8_character_set[] = {terminalpp::detail::ascii::esc,
48 terminalpp::detail::ascii::percent,
49 terminalpp::detail::ascii::uppercase_g};
50// Command openers for Designate G? Character Set commands.
51inline constexpr byte set_charset_g0[] = {terminalpp::detail::ascii::esc,
52 terminalpp::detail::ascii::open_parenthesis};
53inline constexpr byte set_charset_g1[] = {terminalpp::detail::ascii::esc,
54 terminalpp::detail::ascii::close_parenthesis};
55inline constexpr byte set_charset_g2[] = {terminalpp::detail::ascii::esc,
56 terminalpp::detail::ascii::asterisk};
57inline constexpr byte set_charset_g3[] = {terminalpp::detail::ascii::esc,
58 terminalpp::detail::ascii::plus};
59inline constexpr byte set_charset_g1_alt[] = {terminalpp::detail::ascii::esc,
60 terminalpp::detail::ascii::minus};
61inline constexpr byte set_charset_g2_alt[] = {terminalpp::detail::ascii::esc,
62 terminalpp::detail::ascii::full_stop};
63inline constexpr byte set_charset_g3_alt[] = {terminalpp::detail::ascii::esc,
64 terminalpp::detail::ascii::slash};
65// clang-format on
66
67} // namespace terminalpp::ansi
Low-level ANSI terminal constants and operations.
Definition charset.hpp:6