------------------------------------------------------------------------------
--                                                                          --
--                         GNAT RUN-TIME COMPONENTS                         --
--                                                                          --
--     A D A . C H A R A C T E R S . W I D E _ W I D E _ L A T I N _ 1      --
--                                                                          --
--                                 S p e c                                  --
--                                                                          --
--          Copyright (C) 1992-2021, Free Software Foundation, Inc.         --
--                                                                          --
-- GNAT is free software;  you can  redistribute it  and/or modify it under --
-- terms of the  GNU General Public License as published  by the Free Soft- --
-- ware  Foundation;  either version 3,  or (at your option) any later ver- --
-- sion.  GNAT is distributed in the hope that it will be useful, but WITH- --
-- OUT ANY WARRANTY;  without even the  implied warranty of MERCHANTABILITY --
-- or FITNESS FOR A PARTICULAR PURPOSE.                                     --
--                                                                          --
-- As a special exception under Section 7 of GPL version 3, you are granted --
-- additional permissions described in the GCC Runtime Library Exception,   --
-- version 3.1, as published by the Free Software Foundation.               --
--                                                                          --
-- You should have received a copy of the GNU General Public License and    --
-- a copy of the GCC Runtime Library Exception along with this program;     --
-- see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see    --
-- <http://www.gnu.org/licenses/>.                                          --
--                                                                          --
-- GNAT was originally developed  by the GNAT team at  New York University. --
-- Extensive contributions were provided by Ada Core Technologies Inc.      --
--                                                                          --
------------------------------------------------------------------------------

--  This package provides definitions analogous to those in the RM defined
--  package Ada.Characters.Latin_1 except that the type of the constants
--  is Wide_Wide_Character instead of Character. The provision of this package
--  is in accordance with the implementation permission in RM (A.3.3(27)).

package Ada.Characters.Wide_Wide_Latin_1 is
   pragma Pure;

   ------------------------
   -- Control Characters --
   ------------------------

   NUL  : constant Wide_Wide_Character := Wide_Wide_Character'Val (0);
   SOH  : constant Wide_Wide_Character := Wide_Wide_Character'Val (1);
   STX  : constant Wide_Wide_Character := Wide_Wide_Character'Val (2);
   ETX  : constant Wide_Wide_Character := Wide_Wide_Character'Val (3);
   EOT  : constant Wide_Wide_Character := Wide_Wide_Character'Val (4);
   ENQ  : constant Wide_Wide_Character := Wide_Wide_Character'Val (5);
   ACK  : constant Wide_Wide_Character := Wide_Wide_Character'Val (6);
   BEL  : constant Wide_Wide_Character := Wide_Wide_Character'Val (7);
   BS   : constant Wide_Wide_Character := Wide_Wide_Character'Val (8);
   HT   : constant Wide_Wide_Character := Wide_Wide_Character'Val (9);
   LF   : constant Wide_Wide_Character := Wide_Wide_Character'Val (10);
   VT   : constant Wide_Wide_Character := Wide_Wide_Character'Val (11);
   FF   : constant Wide_Wide_Character := Wide_Wide_Character'Val (12);
   CR   : constant Wide_Wide_Character := Wide_Wide_Character'Val (13);
   SO   : constant Wide_Wide_Character := Wide_Wide_Character'Val (14);
   SI   : constant Wide_Wide_Character := Wide_Wide_Character'Val (15);

   DLE  : constant Wide_Wide_Character := Wide_Wide_Character'Val (16);
   DC1  : constant Wide_Wide_Character := Wide_Wide_Character'Val (17);
   DC2  : constant Wide_Wide_Character := Wide_Wide_Character'Val (18);
   DC3  : constant Wide_Wide_Character := Wide_Wide_Character'Val (19);
   DC4  : constant Wide_Wide_Character := Wide_Wide_Character'Val (20);
   NAK  : constant Wide_Wide_Character := Wide_Wide_Character'Val (21);
   SYN  : constant Wide_Wide_Character := Wide_Wide_Character'Val (22);
   ETB  : constant Wide_Wide_Character := Wide_Wide_Character'Val (23);
   CAN  : constant Wide_Wide_Character := Wide_Wide_Character'Val (24);
   EM   : constant Wide_Wide_Character := Wide_Wide_Character'Val (25);
   SUB  : constant Wide_Wide_Character := Wide_Wide_Character'Val (26);
   ESC  : constant Wide_Wide_Character := Wide_Wide_Character'Val (27);
   FS   : constant Wide_Wide_Character := Wide_Wide_Character'Val (28);
   GS   : constant Wide_Wide_Character := Wide_Wide_Character'Val (29);
   RS   : constant Wide_Wide_Character := Wide_Wide_Character'Val (30);
   US   : constant Wide_Wide_Character := Wide_Wide_Character'Val (31);

   -------------------------------------
   -- ISO 646 Graphic Wide_Wide_Characters --
   -------------------------------------

   Space                : constant Wide_Wide_Character := ' ';  -- WC'Val(32)
   Exclamation          : constant Wide_Wide_Character := '!';  -- WC'Val(33)
   Quotation            : constant Wide_Wide_Character := '"';  -- WC'Val(34)
   Number_Sign          : constant Wide_Wide_Character := '#';  -- WC'Val(35)
   Dollar_Sign          : constant Wide_Wide_Character := '$';  -- WC'Val(36)
   Percent_Sign         : constant Wide_Wide_Character := '%';  -- WC'Val(37)
   Ampersand            : constant Wide_Wide_Character := '&';  -- WC'Val(38)
   Apostrophe           : constant Wide_Wide_Character := ''';  -- WC'Val(39)
   Left_Parenthesis     : constant Wide_Wide_Character := '(';  -- WC'Val(40)
   Right_Parenthesis    : constant Wide_Wide_Character := ')';  -- WC'Val(41)
   Asterisk             : constant Wide_Wide_Character := '*';  -- WC'Val(42)
   Plus_Sign            : constant Wide_Wide_Character := '+';  -- WC'Val(43)
   Comma                : constant Wide_Wide_Character := ',';  -- WC'Val(44)
   Hyphen               : constant Wide_Wide_Character := '-';  -- WC'Val(45)
   Minus_Sign           : Wide_Wide_Character renames Hyphen;
   Full_Stop            : constant Wide_Wide_Character := '.';  -- WC'Val(46)
   Solidus              : constant Wide_Wide_Character := '/';  -- WC'Val(47)

   --  Decimal digits '0' though '9' are at positions 48 through 57

   Colon                : constant Wide_Wide_Character := ':';  -- WC'Val(58)
   Semicolon            : constant Wide_Wide_Character := ';';  -- WC'Val(59)
   Less_Than_Sign       : constant Wide_Wide_Character := '<';  -- WC'Val(60)
   Equals_Sign          : constant Wide_Wide_Character := '=';  -- WC'Val(61)
   Greater_Than_Sign    : constant Wide_Wide_Character := '>';  -- WC'Val(62)
   Question             : constant Wide_Wide_Character := '?';  -- WC'Val(63)

   Commercial_At        : constant Wide_Wide_Character := '@';  -- WC'Val(64)

   --  Letters 'A' through 'Z' are at positions 65 through 90

   Left_Square_Bracket  : constant Wide_Wide_Character := '[';  -- WC'Val (91)
   Reverse_Solidus      : constant Wide_Wide_Character := '\';  -- WC'Val (92)
   Right_Square_Bracket : constant Wide_Wide_Character := ']';  -- WC'Val (93)
   Circumflex           : constant Wide_Wide_Character := '^';  -- WC'Val (94)
   Low_Line             : constant Wide_Wide_Character := '_';  -- WC'Val (95)

   Grave                : constant Wide_Wide_Character := '`';  -- WC'Val (96)
   LC_A                 : constant Wide_Wide_Character := 'a';  -- WC'Val (97)
   LC_B                 : constant Wide_Wide_Character := 'b';  -- WC'Val (98)
   LC_C                 : constant Wide_Wide_Character := 'c';  -- WC'Val (99)
   LC_D                 : constant Wide_Wide_Character := 'd';  -- WC'Val (100)
   LC_E                 : constant Wide_Wide_Character := 'e';  -- WC'Val (101)
   LC_F                 : constant Wide_Wide_Character := 'f';  -- WC'Val (102)
   LC_G                 : constant Wide_Wide_Character := 'g';  -- WC'Val (103)
   LC_H                 : constant Wide_Wide_Character := 'h';  -- WC'Val (104)
   LC_I                 : constant Wide_Wide_Character := 'i';  -- WC'Val (105)
   LC_J                 : constant Wide_Wide_Character := 'j';  -- WC'Val (106)
   LC_K                 : constant Wide_Wide_Character := 'k';  -- WC'Val (107)
   LC_L                 : constant Wide_Wide_Character := 'l';  -- WC'Val (108)
   LC_M                 : constant Wide_Wide_Character := 'm';  -- WC'Val (109)
   LC_N                 : constant Wide_Wide_Character := 'n';  -- WC'Val (110)
   LC_O                 : constant Wide_Wide_Character := 'o';  -- WC'Val (111)
   LC_P                 : constant Wide_Wide_Character := 'p';  -- WC'Val (112)
   LC_Q                 : constant Wide_Wide_Character := 'q';  -- WC'Val (113)
   LC_R                 : constant Wide_Wide_Character := 'r';  -- WC'Val (114)
   LC_S                 : constant Wide_Wide_Character := 's';  -- WC'Val (115)
   LC_T                 : constant Wide_Wide_Character := 't';  -- WC'Val (116)
   LC_U                 : constant Wide_Wide_Character := 'u';  -- WC'Val (117)
   LC_V                 : constant Wide_Wide_Character := 'v';  -- WC'Val (118)
   LC_W                 : constant Wide_Wide_Character := 'w';  -- WC'Val (119)
   LC_X                 : constant Wide_Wide_Character := 'x';  -- WC'Val (120)
   LC_Y                 : constant Wide_Wide_Character := 'y';  -- WC'Val (121)
   LC_Z                 : constant Wide_Wide_Character := 'z';  -- WC'Val (122)
   Left_Curly_Bracket   : constant Wide_Wide_Character := '{';  -- WC'Val (123)
   Vertical_Line        : constant Wide_Wide_Character := '|';  -- WC'Val (124)
   Right_Curly_Bracket  : constant Wide_Wide_Character := '}';  -- WC'Val (125)
   Tilde                : constant Wide_Wide_Character := '~';  -- WC'Val (126)
   DEL                  : constant Wide_Wide_Character :=
                            Wide_Wide_Character'Val (127);

   --------------------------------------
   -- ISO 6429 Control Wide_Wide_Characters --
   --------------------------------------

   IS4 : Wide_Wide_Character renames FS;
   IS3 : Wide_Wide_Character renames GS;
   IS2 : Wide_Wide_Character renames RS;
   IS1 : Wide_Wide_Character renames US;

   Reserved_128
        : constant Wide_Wide_Character := Wide_Wide_Character'Val (128);
   Reserved_129
        : constant Wide_Wide_Character := Wide_Wide_Character'Val (129);
   BPH  : constant Wide_Wide_Character := Wide_Wide_Character'Val (130);
   NBH  : constant Wide_Wide_Character := Wide_Wide_Character'Val (131);
   Reserved_132
        : constant Wide_Wide_Character := Wide_Wide_Character'Val (132);
   NEL  : constant Wide_Wide_Character := Wide_Wide_Character'Val (133);
   SSA  : constant Wide_Wide_Character := Wide_Wide_Character'Val (134);
   ESA  : constant Wide_Wide_Character := Wide_Wide_Character'Val (135);
   HTS  : constant Wide_Wide_Character := Wide_Wide_Character'Val (136);
   HTJ  : constant Wide_Wide_Character := Wide_Wide_Character'Val (137);
   VTS  : constant Wide_Wide_Character := Wide_Wide_Character'Val (138);
   PLD  : constant Wide_Wide_Character := Wide_Wide_Character'Val (139);
   PLU  : constant Wide_Wide_Character := Wide_Wide_Character'Val (140);
   RI   : constant Wide_Wide_Character := Wide_Wide_Character'Val (141);
   SS2  : constant Wide_Wide_Character := Wide_Wide_Character'Val (142);
   SS3  : constant Wide_Wide_Character := Wide_Wide_Character'Val (143);

   DCS  : constant Wide_Wide_Character := Wide_Wide_Character'Val (144);
   PU1  : constant Wide_Wide_Character := Wide_Wide_Character'Val (145);
   PU2  : constant Wide_Wide_Character := Wide_Wide_Character'Val (146);
   STS  : constant Wide_Wide_Character := Wide_Wide_Character'Val (147);
   CCH  : constant Wide_Wide_Character := Wide_Wide_Character'Val (148);
   MW   : constant Wide_Wide_Character := Wide_Wide_Character'Val (149);
   SPA  : constant Wide_Wide_Character := Wide_Wide_Character'Val (150);
   EPA  : constant Wide_Wide_Character := Wide_Wide_Character'Val (151);

   SOS  : constant Wide_Wide_Character := Wide_Wide_Character'Val (152);
   Reserved_153
        : constant Wide_Wide_Character := Wide_Wide_Character'Val (153);
   SCI  : constant Wide_Wide_Character := Wide_Wide_Character'Val (154);
   CSI  : constant Wide_Wide_Character := Wide_Wide_Character'Val (155);
   ST   : constant Wide_Wide_Character := Wide_Wide_Character'Val (156);
   OSC  : constant Wide_Wide_Character := Wide_Wide_Character'Val (157);
   PM   : constant Wide_Wide_Character := Wide_Wide_Character'Val (158);
   APC  : constant Wide_Wide_Character := Wide_Wide_Character'Val (159);

   -----------------------------------
   -- Other Graphic Wide_Wide_Characters --
   -----------------------------------

   --  Wide_Wide_Character positions 160 (16#A0#) .. 175 (16#AF#)

   No_Break_Space
               : constant Wide_Wide_Character := Wide_Wide_Character'Val (160);
   NBSP        : Wide_Wide_Character renames No_Break_Space;
   Inverted_Exclamation
               : constant Wide_Wide_Character := Wide_Wide_Character'Val (161);
   Cent_Sign   : constant Wide_Wide_Character := Wide_Wide_Character'Val (162);
   Pound_Sign  : constant Wide_Wide_Character := Wide_Wide_Character'Val (163);
   Currency_Sign
               : constant Wide_Wide_Character := Wide_Wide_Character'Val (164);
   Yen_Sign    : constant Wide_Wide_Character := Wide_Wide_Character'Val (165);
   Broken_Bar  : constant Wide_Wide_Character := Wide_Wide_Character'Val (166);
   Section_Sign
               : constant Wide_Wide_Character := Wide_Wide_Character'Val (167);
   Diaeresis   : constant Wide_Wide_Character := Wide_Wide_Character'Val (168);
   Copyright_Sign
               : constant Wide_Wide_Character := Wide_Wide_Character'Val (169);
   Feminine_Ordinal_Indicator
               : constant Wide_Wide_Character := Wide_Wide_Character'Val (170);
   Left_Angle_Quotation
               : constant Wide_Wide_Character := Wide_Wide_Character'Val (171);
   Not_Sign    : constant Wide_Wide_Character := Wide_Wide_Character'Val (172);
   Soft_Hyphen : constant Wide_Wide_Character := Wide_Wide_Character'Val (173);
   Registered_Trade_Mark_Sign
               : constant Wide_Wide_Character := Wide_Wide_Character'Val (174);
   Macron      : constant Wide_Wide_Character := Wide_Wide_Character'Val (175);

   --  Wide_Wide_Character positions 176 (16#B0#) .. 191 (16#BF#)

   Degree_Sign : constant Wide_Wide_Character := Wide_Wide_Character'Val (176);
   Ring_Above  : Wide_Wide_Character renames Degree_Sign;
   Plus_Minus_Sign
               : constant Wide_Wide_Character := Wide_Wide_Character'Val (177);
   Superscript_Two
               : constant Wide_Wide_Character := Wide_Wide_Character'Val (178);
   Superscript_Three
               : constant Wide_Wide_Character := Wide_Wide_Character'Val (179);
   Acute       : constant Wide_Wide_Character := Wide_Wide_Character'Val (180);
   Micro_Sign  : constant Wide_Wide_Character := Wide_Wide_Character'Val (181);
   Pilcrow_Sign
               : constant Wide_Wide_Character := Wide_Wide_Character'Val (182);
   Paragraph_Sign
               : Wide_Wide_Character renames Pilcrow_Sign;
   Middle_Dot  : constant Wide_Wide_Character := Wide_Wide_Character'Val (183);
   Cedilla     : constant Wide_Wide_Character := Wide_Wide_Character'Val (184);
   Superscript_One
               : constant Wide_Wide_Character := Wide_Wide_Character'Val (185);
   Masculine_Ordinal_Indicator
               : constant Wide_Wide_Character := Wide_Wide_Character'Val (186);
   Right_Angle_Quotation
               : constant Wide_Wide_Character := Wide_Wide_Character'Val (187);
   Fraction_One_Quarter
               : constant Wide_Wide_Character := Wide_Wide_Character'Val (188);
   Fraction_One_Half
               : constant Wide_Wide_Character := Wide_Wide_Character'Val (189);
   Fraction_Three_Quarters
               : constant Wide_Wide_Character := Wide_Wide_Character'Val (190);
   Inverted_Question
               : constant Wide_Wide_Character := Wide_Wide_Character'Val (191);

   --  Wide_Wide_Character positions 192 (16#C0#) .. 207 (16#CF#)

   UC_A_Grave  : constant Wide_Wide_Character := Wide_Wide_Character'Val (192);
   UC_A_Acute  : constant Wide_Wide_Character := Wide_Wide_Character'Val (193);
   UC_A_Circumflex
               : constant Wide_Wide_Character := Wide_Wide_Character'Val (194);
   UC_A_Tilde  : constant Wide_Wide_Character := Wide_Wide_Character'Val (195);
   UC_A_Diaeresis
               : constant Wide_Wide_Character := Wide_Wide_Character'Val (196);
   UC_A_Ring   : constant Wide_Wide_Character := Wide_Wide_Character'Val (197);
   UC_AE_Diphthong
               : constant Wide_Wide_Character := Wide_Wide_Character'Val (198);
   UC_C_Cedilla
               : constant Wide_Wide_Character := Wide_Wide_Character'Val (199);
   UC_E_Grave  : constant Wide_Wide_Character := Wide_Wide_Character'Val (200);
   UC_E_Acute  : constant Wide_Wide_Character := Wide_Wide_Character'Val (201);
   UC_E_Circumflex
               : constant Wide_Wide_Character := Wide_Wide_Character'Val (202);
   UC_E_Diaeresis
               : constant Wide_Wide_Character := Wide_Wide_Character'Val (203);
   UC_I_Grave  : constant Wide_Wide_Character := Wide_Wide_Character'Val (204);
   UC_I_Acute  : constant Wide_Wide_Character := Wide_Wide_Character'Val (205);
   UC_I_Circumflex
               : constant Wide_Wide_Character := Wide_Wide_Character'Val (206);
   UC_I_Diaeresis
               : constant Wide_Wide_Character := Wide_Wide_Character'Val (207);

   --  Wide_Wide_Character positions 208 (16#D0#) .. 223 (16#DF#)

   UC_Icelandic_Eth
               : constant Wide_Wide_Character := Wide_Wide_Character'Val (208);
   UC_N_Tilde  : constant Wide_Wide_Character := Wide_Wide_Character'Val (209);
   UC_O_Grave  : constant Wide_Wide_Character := Wide_Wide_Character'Val (210);
   UC_O_Acute  : constant Wide_Wide_Character := Wide_Wide_Character'Val (211);
   UC_O_Circumflex
               : constant Wide_Wide_Character := Wide_Wide_Character'Val (212);
   UC_O_Tilde  : constant Wide_Wide_Character := Wide_Wide_Character'Val (213);
   UC_O_Diaeresis
               : constant Wide_Wide_Character := Wide_Wide_Character'Val (214);
   Multiplication_Sign
               : constant Wide_Wide_Character := Wide_Wide_Character'Val (215);
   UC_O_Oblique_Stroke
               : constant Wide_Wide_Character := Wide_Wide_Character'Val (216);
   UC_U_Grave  : constant Wide_Wide_Character := Wide_Wide_Character'Val (217);
   UC_U_Acute  : constant Wide_Wide_Character := Wide_Wide_Character'Val (218);
   UC_U_Circumflex
               : constant Wide_Wide_Character := Wide_Wide_Character'Val (219);
   UC_U_Diaeresis
               : constant Wide_Wide_Character := Wide_Wide_Character'Val (220);
   UC_Y_Acute  : constant Wide_Wide_Character := Wide_Wide_Character'Val (221);
   UC_Icelandic_Thorn
               : constant Wide_Wide_Character := Wide_Wide_Character'Val (222);
   LC_German_Sharp_S
               : constant Wide_Wide_Character := Wide_Wide_Character'Val (223);

   --  Wide_Wide_Character positions 224 (16#E0#) .. 239 (16#EF#)

   LC_A_Grave  : constant Wide_Wide_Character := Wide_Wide_Character'Val (224);
   LC_A_Acute  : constant Wide_Wide_Character := Wide_Wide_Character'Val (225);
   LC_A_Circumflex
               : constant Wide_Wide_Character := Wide_Wide_Character'Val (226);
   LC_A_Tilde  : constant Wide_Wide_Character := Wide_Wide_Character'Val (227);
   LC_A_Diaeresis
               : constant Wide_Wide_Character := Wide_Wide_Character'Val (228);
   LC_A_Ring   : constant Wide_Wide_Character := Wide_Wide_Character'Val (229);
   LC_AE_Diphthong
               : constant Wide_Wide_Character := Wide_Wide_Character'Val (230);
   LC_C_Cedilla
               : constant Wide_Wide_Character := Wide_Wide_Character'Val (231);
   LC_E_Grave  : constant Wide_Wide_Character := Wide_Wide_Character'Val (232);
   LC_E_Acute  : constant Wide_Wide_Character := Wide_Wide_Character'Val (233);
   LC_E_Circumflex
               : constant Wide_Wide_Character := Wide_Wide_Character'Val (234);
   LC_E_Diaeresis
               : constant Wide_Wide_Character := Wide_Wide_Character'Val (235);
   LC_I_Grave  : constant Wide_Wide_Character := Wide_Wide_Character'Val (236);
   LC_I_Acute  : constant Wide_Wide_Character := Wide_Wide_Character'Val (237);
   LC_I_Circumflex
               : constant Wide_Wide_Character := Wide_Wide_Character'Val (238);
   LC_I_Diaeresis
               : constant Wide_Wide_Character := Wide_Wide_Character'Val (239);

   --  Wide_Wide_Character positions 240 (16#F0#) .. 255 (16#FF)

   LC_Icelandic_Eth
               : constant Wide_Wide_Character := Wide_Wide_Character'Val (240);
   LC_N_Tilde  : constant Wide_Wide_Character := Wide_Wide_Character'Val (241);
   LC_O_Grave  : constant Wide_Wide_Character := Wide_Wide_Character'Val (242);
   LC_O_Acute  : constant Wide_Wide_Character := Wide_Wide_Character'Val (243);
   LC_O_Circumflex
               : constant Wide_Wide_Character := Wide_Wide_Character'Val (244);
   LC_O_Tilde  : constant Wide_Wide_Character := Wide_Wide_Character'Val (245);
   LC_O_Diaeresis
               : constant Wide_Wide_Character := Wide_Wide_Character'Val (246);
   Division_Sign
               : constant Wide_Wide_Character := Wide_Wide_Character'Val (247);
   LC_O_Oblique_Stroke
               : constant Wide_Wide_Character := Wide_Wide_Character'Val (248);
   LC_U_Grave  : constant Wide_Wide_Character := Wide_Wide_Character'Val (249);
   LC_U_Acute  : constant Wide_Wide_Character := Wide_Wide_Character'Val (250);
   LC_U_Circumflex
               : constant Wide_Wide_Character := Wide_Wide_Character'Val (251);
   LC_U_Diaeresis
               : constant Wide_Wide_Character := Wide_Wide_Character'Val (252);
   LC_Y_Acute  : constant Wide_Wide_Character := Wide_Wide_Character'Val (253);
   LC_Icelandic_Thorn
               : constant Wide_Wide_Character := Wide_Wide_Character'Val (254);
   LC_Y_Diaeresis
               : constant Wide_Wide_Character := Wide_Wide_Character'Val (255);

end Ada.Characters.Wide_Wide_Latin_1;
