------------------------------------------------------------------------------
--                                                                          --
--                         GNAT RUN-TIME COMPONENTS                         --
--                                                                          --
--               A D A . C H A R A C T E R S . L A T I N _ 9                --
--                                                                          --
--                                 S p e c                                  --
--                                                                          --
--          Copyright (C) 2002-2009, Free Software Foundation, Inc.         --
--                                                                          --
-- This specification is derived from the Ada Reference Manual for use with --
-- GNAT. The copyright notice above, and the license provisions that follow --
-- apply solely to the modifications made to Ada.Characters.Latin_1,  noted --
-- in the text, to derive the equivalent Latin-9 package.                   --
--                                                                          --
-- 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 for Latin-9 (ISO-8859-15) analogous to
--  those defined in the standard package Ada.Characters.Latin_1 for Latin-1.

package Ada.Characters.Latin_9 is
   pragma Pure;

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

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

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

   --------------------------------
   -- ISO 646 Graphic Characters --
   --------------------------------

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

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

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

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

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

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

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

   ---------------------------------
   -- ISO 6429 Control Characters --
   ---------------------------------

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

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

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

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

   ------------------------------
   -- Other Graphic Characters --
   ------------------------------

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

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

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

   Degree_Sign                 : constant Character := Character'Val (176);
   Ring_Above                  : Character renames Degree_Sign;
   Plus_Minus_Sign             : constant Character := Character'Val (177);
   Superscript_Two             : constant Character := Character'Val (178);
   Superscript_Three           : constant Character := Character'Val (179);
   UC_Z_Caron                  : constant Character := Character'Val (180);
   Micro_Sign                  : constant Character := Character'Val (181);
   Pilcrow_Sign                : constant Character := Character'Val (182);
   Paragraph_Sign              : Character renames Pilcrow_Sign;
   Middle_Dot                  : constant Character := Character'Val (183);
   LC_Z_Caron                  : constant Character := Character'Val (184);
   Superscript_One             : constant Character := Character'Val (185);
   Masculine_Ordinal_Indicator : constant Character := Character'Val (186);
   Right_Angle_Quotation       : constant Character := Character'Val (187);
   UC_Ligature_OE              : constant Character := Character'Val (188);
   LC_Ligature_OE              : constant Character := Character'Val (189);
   UC_Y_Diaeresis              : constant Character := Character'Val (190);
   Inverted_Question           : constant Character := Character'Val (191);

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

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

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

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

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

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

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

   ------------------------------------------------
   -- Summary of Changes from Latin-1 => Latin-9 --
   ------------------------------------------------

   --   164     Currency                => Euro_Sign
   --   166     Broken_Bar              => UC_S_Caron
   --   168     Diaeresis               => LC_S_Caron
   --   180     Acute                   => UC_Z_Caron
   --   184     Cedilla                 => LC_Z_Caron
   --   188     Fraction_One_Quarter    => UC_Ligature_OE
   --   189     Fraction_One_Half       => LC_Ligature_OE
   --   190     Fraction_Three_Quarters => UC_Y_Diaeresis

end Ada.Characters.Latin_9;
