File : a-cwila1.ads


   1 ------------------------------------------------------------------------------
   2 --                                                                          --
   3 --                         GNAT RUN-TIME COMPONENTS                         --
   4 --                                                                          --
   5 --          A D A . C H A R A C T E R S . W I D E _ L A T I N _ 1           --
   6 --                                                                          --
   7 --                                 S p e c                                  --
   8 --                                                                          --
   9 --          Copyright (C) 1992-2009, Free Software Foundation, Inc.         --
  10 --                                                                          --
  11 -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  12 -- terms of the  GNU General Public License as published  by the Free Soft- --
  13 -- ware  Foundation;  either version 3,  or (at your option) any later ver- --
  14 -- sion.  GNAT is distributed in the hope that it will be useful, but WITH- --
  15 -- OUT ANY WARRANTY;  without even the  implied warranty of MERCHANTABILITY --
  16 -- or FITNESS FOR A PARTICULAR PURPOSE.                                     --
  17 --                                                                          --
  18 --                                                                          --
  19 --                                                                          --
  20 --                                                                          --
  21 --                                                                          --
  22 -- You should have received a copy of the GNU General Public License and    --
  23 -- a copy of the GCC Runtime Library Exception along with this program;     --
  24 -- see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see    --
  25 -- <http://www.gnu.org/licenses/>.                                          --
  26 --                                                                          --
  27 -- GNAT was originally developed  by the GNAT team at  New York University. --
  28 -- Extensive contributions were provided by Ada Core Technologies Inc.      --
  29 --                                                                          --
  30 ------------------------------------------------------------------------------
  31 
  32 --  This package provides definitions analogous to those in the RM defined
  33 --  package Ada.Characters.Latin_1 except that the type of the constants
  34 --  is Wide_Character instead of Character. The provision of this package
  35 --  is in accordance with the implementation permission in RM (A.3.3(27)).
  36 
  37 package Ada.Characters.Wide_Latin_1 is
  38    pragma Pure;
  39 
  40    ------------------------
  41    -- Control Characters --
  42    ------------------------
  43 
  44    NUL                  : constant Wide_Character := Wide_Character'Val (0);
  45    SOH                  : constant Wide_Character := Wide_Character'Val (1);
  46    STX                  : constant Wide_Character := Wide_Character'Val (2);
  47    ETX                  : constant Wide_Character := Wide_Character'Val (3);
  48    EOT                  : constant Wide_Character := Wide_Character'Val (4);
  49    ENQ                  : constant Wide_Character := Wide_Character'Val (5);
  50    ACK                  : constant Wide_Character := Wide_Character'Val (6);
  51    BEL                  : constant Wide_Character := Wide_Character'Val (7);
  52    BS                   : constant Wide_Character := Wide_Character'Val (8);
  53    HT                   : constant Wide_Character := Wide_Character'Val (9);
  54    LF                   : constant Wide_Character := Wide_Character'Val (10);
  55    VT                   : constant Wide_Character := Wide_Character'Val (11);
  56    FF                   : constant Wide_Character := Wide_Character'Val (12);
  57    CR                   : constant Wide_Character := Wide_Character'Val (13);
  58    SO                   : constant Wide_Character := Wide_Character'Val (14);
  59    SI                   : constant Wide_Character := Wide_Character'Val (15);
  60 
  61    DLE                  : constant Wide_Character := Wide_Character'Val (16);
  62    DC1                  : constant Wide_Character := Wide_Character'Val (17);
  63    DC2                  : constant Wide_Character := Wide_Character'Val (18);
  64    DC3                  : constant Wide_Character := Wide_Character'Val (19);
  65    DC4                  : constant Wide_Character := Wide_Character'Val (20);
  66    NAK                  : constant Wide_Character := Wide_Character'Val (21);
  67    SYN                  : constant Wide_Character := Wide_Character'Val (22);
  68    ETB                  : constant Wide_Character := Wide_Character'Val (23);
  69    CAN                  : constant Wide_Character := Wide_Character'Val (24);
  70    EM                   : constant Wide_Character := Wide_Character'Val (25);
  71    SUB                  : constant Wide_Character := Wide_Character'Val (26);
  72    ESC                  : constant Wide_Character := Wide_Character'Val (27);
  73    FS                   : constant Wide_Character := Wide_Character'Val (28);
  74    GS                   : constant Wide_Character := Wide_Character'Val (29);
  75    RS                   : constant Wide_Character := Wide_Character'Val (30);
  76    US                   : constant Wide_Character := Wide_Character'Val (31);
  77 
  78    -------------------------------------
  79    -- ISO 646 Graphic Wide_Characters --
  80    -------------------------------------
  81 
  82    Space                : constant Wide_Character := ' ';  -- WC'Val(32)
  83    Exclamation          : constant Wide_Character := '!';  -- WC'Val(33)
  84    Quotation            : constant Wide_Character := '"';  -- WC'Val(34)
  85    Number_Sign          : constant Wide_Character := '#';  -- WC'Val(35)
  86    Dollar_Sign          : constant Wide_Character := '$';  -- WC'Val(36)
  87    Percent_Sign         : constant Wide_Character := '%';  -- WC'Val(37)
  88    Ampersand            : constant Wide_Character := '&';  -- WC'Val(38)
  89    Apostrophe           : constant Wide_Character := ''';  -- WC'Val(39)
  90    Left_Parenthesis     : constant Wide_Character := '(';  -- WC'Val(40)
  91    Right_Parenthesis    : constant Wide_Character := ')';  -- WC'Val(41)
  92    Asterisk             : constant Wide_Character := '*';  -- WC'Val(42)
  93    Plus_Sign            : constant Wide_Character := '+';  -- WC'Val(43)
  94    Comma                : constant Wide_Character := ',';  -- WC'Val(44)
  95    Hyphen               : constant Wide_Character := '-';  -- WC'Val(45)
  96    Minus_Sign           : Wide_Character renames Hyphen;
  97    Full_Stop            : constant Wide_Character := '.';  -- WC'Val(46)
  98    Solidus              : constant Wide_Character := '/';  -- WC'Val(47)
  99 
 100    --  Decimal digits '0' though '9' are at positions 48 through 57
 101 
 102    Colon                : constant Wide_Character := ':';  -- WC'Val(58)
 103    Semicolon            : constant Wide_Character := ';';  -- WC'Val(59)
 104    Less_Than_Sign       : constant Wide_Character := '<';  -- WC'Val(60)
 105    Equals_Sign          : constant Wide_Character := '=';  -- WC'Val(61)
 106    Greater_Than_Sign    : constant Wide_Character := '>';  -- WC'Val(62)
 107    Question             : constant Wide_Character := '?';  -- WC'Val(63)
 108 
 109    Commercial_At        : constant Wide_Character := '@';  -- WC'Val(64)
 110 
 111    --  Letters 'A' through 'Z' are at positions 65 through 90
 112 
 113    Left_Square_Bracket  : constant Wide_Character := '[';  -- WC'Val (91)
 114    Reverse_Solidus      : constant Wide_Character := '\';  -- WC'Val (92)
 115    Right_Square_Bracket : constant Wide_Character := ']';  -- WC'Val (93)
 116    Circumflex           : constant Wide_Character := '^';  -- WC'Val (94)
 117    Low_Line             : constant Wide_Character := '_';  -- WC'Val (95)
 118 
 119    Grave                : constant Wide_Character := '`';  -- WC'Val (96)
 120    LC_A                 : constant Wide_Character := 'a';  -- WC'Val (97)
 121    LC_B                 : constant Wide_Character := 'b';  -- WC'Val (98)
 122    LC_C                 : constant Wide_Character := 'c';  -- WC'Val (99)
 123    LC_D                 : constant Wide_Character := 'd';  -- WC'Val (100)
 124    LC_E                 : constant Wide_Character := 'e';  -- WC'Val (101)
 125    LC_F                 : constant Wide_Character := 'f';  -- WC'Val (102)
 126    LC_G                 : constant Wide_Character := 'g';  -- WC'Val (103)
 127    LC_H                 : constant Wide_Character := 'h';  -- WC'Val (104)
 128    LC_I                 : constant Wide_Character := 'i';  -- WC'Val (105)
 129    LC_J                 : constant Wide_Character := 'j';  -- WC'Val (106)
 130    LC_K                 : constant Wide_Character := 'k';  -- WC'Val (107)
 131    LC_L                 : constant Wide_Character := 'l';  -- WC'Val (108)
 132    LC_M                 : constant Wide_Character := 'm';  -- WC'Val (109)
 133    LC_N                 : constant Wide_Character := 'n';  -- WC'Val (110)
 134    LC_O                 : constant Wide_Character := 'o';  -- WC'Val (111)
 135    LC_P                 : constant Wide_Character := 'p';  -- WC'Val (112)
 136    LC_Q                 : constant Wide_Character := 'q';  -- WC'Val (113)
 137    LC_R                 : constant Wide_Character := 'r';  -- WC'Val (114)
 138    LC_S                 : constant Wide_Character := 's';  -- WC'Val (115)
 139    LC_T                 : constant Wide_Character := 't';  -- WC'Val (116)
 140    LC_U                 : constant Wide_Character := 'u';  -- WC'Val (117)
 141    LC_V                 : constant Wide_Character := 'v';  -- WC'Val (118)
 142    LC_W                 : constant Wide_Character := 'w';  -- WC'Val (119)
 143    LC_X                 : constant Wide_Character := 'x';  -- WC'Val (120)
 144    LC_Y                 : constant Wide_Character := 'y';  -- WC'Val (121)
 145    LC_Z                 : constant Wide_Character := 'z';  -- WC'Val (122)
 146    Left_Curly_Bracket   : constant Wide_Character := '{';  -- WC'Val (123)
 147    Vertical_Line        : constant Wide_Character := '|';  -- WC'Val (124)
 148    Right_Curly_Bracket  : constant Wide_Character := '}';  -- WC'Val (125)
 149    Tilde                : constant Wide_Character := '~';  -- WC'Val (126)
 150    DEL                  : constant Wide_Character := Wide_Character'Val (127);
 151 
 152    --------------------------------------
 153    -- ISO 6429 Control Wide_Characters --
 154    --------------------------------------
 155 
 156    IS4 : Wide_Character renames FS;
 157    IS3 : Wide_Character renames GS;
 158    IS2 : Wide_Character renames RS;
 159    IS1 : Wide_Character renames US;
 160 
 161    Reserved_128         : constant Wide_Character := Wide_Character'Val (128);
 162    Reserved_129         : constant Wide_Character := Wide_Character'Val (129);
 163    BPH                  : constant Wide_Character := Wide_Character'Val (130);
 164    NBH                  : constant Wide_Character := Wide_Character'Val (131);
 165    Reserved_132         : constant Wide_Character := Wide_Character'Val (132);
 166    NEL                  : constant Wide_Character := Wide_Character'Val (133);
 167    SSA                  : constant Wide_Character := Wide_Character'Val (134);
 168    ESA                  : constant Wide_Character := Wide_Character'Val (135);
 169    HTS                  : constant Wide_Character := Wide_Character'Val (136);
 170    HTJ                  : constant Wide_Character := Wide_Character'Val (137);
 171    VTS                  : constant Wide_Character := Wide_Character'Val (138);
 172    PLD                  : constant Wide_Character := Wide_Character'Val (139);
 173    PLU                  : constant Wide_Character := Wide_Character'Val (140);
 174    RI                   : constant Wide_Character := Wide_Character'Val (141);
 175    SS2                  : constant Wide_Character := Wide_Character'Val (142);
 176    SS3                  : constant Wide_Character := Wide_Character'Val (143);
 177 
 178    DCS                  : constant Wide_Character := Wide_Character'Val (144);
 179    PU1                  : constant Wide_Character := Wide_Character'Val (145);
 180    PU2                  : constant Wide_Character := Wide_Character'Val (146);
 181    STS                  : constant Wide_Character := Wide_Character'Val (147);
 182    CCH                  : constant Wide_Character := Wide_Character'Val (148);
 183    MW                   : constant Wide_Character := Wide_Character'Val (149);
 184    SPA                  : constant Wide_Character := Wide_Character'Val (150);
 185    EPA                  : constant Wide_Character := Wide_Character'Val (151);
 186 
 187    SOS                  : constant Wide_Character := Wide_Character'Val (152);
 188    Reserved_153         : constant Wide_Character := Wide_Character'Val (153);
 189    SCI                  : constant Wide_Character := Wide_Character'Val (154);
 190    CSI                  : constant Wide_Character := Wide_Character'Val (155);
 191    ST                   : constant Wide_Character := Wide_Character'Val (156);
 192    OSC                  : constant Wide_Character := Wide_Character'Val (157);
 193    PM                   : constant Wide_Character := Wide_Character'Val (158);
 194    APC                  : constant Wide_Character := Wide_Character'Val (159);
 195 
 196    -----------------------------------
 197    -- Other Graphic Wide_Characters --
 198    -----------------------------------
 199 
 200    --  Wide_Character positions 160 (16#A0#) .. 175 (16#AF#)
 201 
 202    No_Break_Space       : constant Wide_Character := Wide_Character'Val (160);
 203    NBSP                 : Wide_Character renames No_Break_Space;
 204    Inverted_Exclamation : constant Wide_Character := Wide_Character'Val (161);
 205    Cent_Sign            : constant Wide_Character := Wide_Character'Val (162);
 206    Pound_Sign           : constant Wide_Character := Wide_Character'Val (163);
 207    Currency_Sign        : constant Wide_Character := Wide_Character'Val (164);
 208    Yen_Sign             : constant Wide_Character := Wide_Character'Val (165);
 209    Broken_Bar           : constant Wide_Character := Wide_Character'Val (166);
 210    Section_Sign         : constant Wide_Character := Wide_Character'Val (167);
 211    Diaeresis            : constant Wide_Character := Wide_Character'Val (168);
 212    Copyright_Sign       : constant Wide_Character := Wide_Character'Val (169);
 213    Feminine_Ordinal_Indicator
 214                         : constant Wide_Character := Wide_Character'Val (170);
 215    Left_Angle_Quotation : constant Wide_Character := Wide_Character'Val (171);
 216    Not_Sign             : constant Wide_Character := Wide_Character'Val (172);
 217    Soft_Hyphen          : constant Wide_Character := Wide_Character'Val (173);
 218    Registered_Trade_Mark_Sign
 219                         : constant Wide_Character := Wide_Character'Val (174);
 220    Macron               : constant Wide_Character := Wide_Character'Val (175);
 221 
 222    --  Wide_Character positions 176 (16#B0#) .. 191 (16#BF#)
 223 
 224    Degree_Sign          : constant Wide_Character := Wide_Character'Val (176);
 225    Ring_Above           : Wide_Character renames Degree_Sign;
 226    Plus_Minus_Sign      : constant Wide_Character := Wide_Character'Val (177);
 227    Superscript_Two      : constant Wide_Character := Wide_Character'Val (178);
 228    Superscript_Three    : constant Wide_Character := Wide_Character'Val (179);
 229    Acute                : constant Wide_Character := Wide_Character'Val (180);
 230    Micro_Sign           : constant Wide_Character := Wide_Character'Val (181);
 231    Pilcrow_Sign         : constant Wide_Character := Wide_Character'Val (182);
 232    Paragraph_Sign       : Wide_Character renames Pilcrow_Sign;
 233    Middle_Dot           : constant Wide_Character := Wide_Character'Val (183);
 234    Cedilla              : constant Wide_Character := Wide_Character'Val (184);
 235    Superscript_One      : constant Wide_Character := Wide_Character'Val (185);
 236    Masculine_Ordinal_Indicator
 237                         : constant Wide_Character := Wide_Character'Val (186);
 238    Right_Angle_Quotation
 239                         : constant Wide_Character := Wide_Character'Val (187);
 240    Fraction_One_Quarter : constant Wide_Character := Wide_Character'Val (188);
 241    Fraction_One_Half    : constant Wide_Character := Wide_Character'Val (189);
 242    Fraction_Three_Quarters
 243                         : constant Wide_Character := Wide_Character'Val (190);
 244    Inverted_Question    : constant Wide_Character := Wide_Character'Val (191);
 245 
 246    --  Wide_Character positions 192 (16#C0#) .. 207 (16#CF#)
 247 
 248    UC_A_Grave           : constant Wide_Character := Wide_Character'Val (192);
 249    UC_A_Acute           : constant Wide_Character := Wide_Character'Val (193);
 250    UC_A_Circumflex      : constant Wide_Character := Wide_Character'Val (194);
 251    UC_A_Tilde           : constant Wide_Character := Wide_Character'Val (195);
 252    UC_A_Diaeresis       : constant Wide_Character := Wide_Character'Val (196);
 253    UC_A_Ring            : constant Wide_Character := Wide_Character'Val (197);
 254    UC_AE_Diphthong      : constant Wide_Character := Wide_Character'Val (198);
 255    UC_C_Cedilla         : constant Wide_Character := Wide_Character'Val (199);
 256    UC_E_Grave           : constant Wide_Character := Wide_Character'Val (200);
 257    UC_E_Acute           : constant Wide_Character := Wide_Character'Val (201);
 258    UC_E_Circumflex      : constant Wide_Character := Wide_Character'Val (202);
 259    UC_E_Diaeresis       : constant Wide_Character := Wide_Character'Val (203);
 260    UC_I_Grave           : constant Wide_Character := Wide_Character'Val (204);
 261    UC_I_Acute           : constant Wide_Character := Wide_Character'Val (205);
 262    UC_I_Circumflex      : constant Wide_Character := Wide_Character'Val (206);
 263    UC_I_Diaeresis       : constant Wide_Character := Wide_Character'Val (207);
 264 
 265    --  Wide_Character positions 208 (16#D0#) .. 223 (16#DF#)
 266 
 267    UC_Icelandic_Eth     : constant Wide_Character := Wide_Character'Val (208);
 268    UC_N_Tilde           : constant Wide_Character := Wide_Character'Val (209);
 269    UC_O_Grave           : constant Wide_Character := Wide_Character'Val (210);
 270    UC_O_Acute           : constant Wide_Character := Wide_Character'Val (211);
 271    UC_O_Circumflex      : constant Wide_Character := Wide_Character'Val (212);
 272    UC_O_Tilde           : constant Wide_Character := Wide_Character'Val (213);
 273    UC_O_Diaeresis       : constant Wide_Character := Wide_Character'Val (214);
 274    Multiplication_Sign  : constant Wide_Character := Wide_Character'Val (215);
 275    UC_O_Oblique_Stroke  : constant Wide_Character := Wide_Character'Val (216);
 276    UC_U_Grave           : constant Wide_Character := Wide_Character'Val (217);
 277    UC_U_Acute           : constant Wide_Character := Wide_Character'Val (218);
 278    UC_U_Circumflex      : constant Wide_Character := Wide_Character'Val (219);
 279    UC_U_Diaeresis       : constant Wide_Character := Wide_Character'Val (220);
 280    UC_Y_Acute           : constant Wide_Character := Wide_Character'Val (221);
 281    UC_Icelandic_Thorn   : constant Wide_Character := Wide_Character'Val (222);
 282    LC_German_Sharp_S    : constant Wide_Character := Wide_Character'Val (223);
 283 
 284    --  Wide_Character positions 224 (16#E0#) .. 239 (16#EF#)
 285 
 286    LC_A_Grave           : constant Wide_Character := Wide_Character'Val (224);
 287    LC_A_Acute           : constant Wide_Character := Wide_Character'Val (225);
 288    LC_A_Circumflex      : constant Wide_Character := Wide_Character'Val (226);
 289    LC_A_Tilde           : constant Wide_Character := Wide_Character'Val (227);
 290    LC_A_Diaeresis       : constant Wide_Character := Wide_Character'Val (228);
 291    LC_A_Ring            : constant Wide_Character := Wide_Character'Val (229);
 292    LC_AE_Diphthong      : constant Wide_Character := Wide_Character'Val (230);
 293    LC_C_Cedilla         : constant Wide_Character := Wide_Character'Val (231);
 294    LC_E_Grave           : constant Wide_Character := Wide_Character'Val (232);
 295    LC_E_Acute           : constant Wide_Character := Wide_Character'Val (233);
 296    LC_E_Circumflex      : constant Wide_Character := Wide_Character'Val (234);
 297    LC_E_Diaeresis       : constant Wide_Character := Wide_Character'Val (235);
 298    LC_I_Grave           : constant Wide_Character := Wide_Character'Val (236);
 299    LC_I_Acute           : constant Wide_Character := Wide_Character'Val (237);
 300    LC_I_Circumflex      : constant Wide_Character := Wide_Character'Val (238);
 301    LC_I_Diaeresis       : constant Wide_Character := Wide_Character'Val (239);
 302 
 303    --  Wide_Character positions 240 (16#F0#) .. 255 (16#FF)
 304 
 305    LC_Icelandic_Eth     : constant Wide_Character := Wide_Character'Val (240);
 306    LC_N_Tilde           : constant Wide_Character := Wide_Character'Val (241);
 307    LC_O_Grave           : constant Wide_Character := Wide_Character'Val (242);
 308    LC_O_Acute           : constant Wide_Character := Wide_Character'Val (243);
 309    LC_O_Circumflex      : constant Wide_Character := Wide_Character'Val (244);
 310    LC_O_Tilde           : constant Wide_Character := Wide_Character'Val (245);
 311    LC_O_Diaeresis       : constant Wide_Character := Wide_Character'Val (246);
 312    Division_Sign        : constant Wide_Character := Wide_Character'Val (247);
 313    LC_O_Oblique_Stroke  : constant Wide_Character := Wide_Character'Val (248);
 314    LC_U_Grave           : constant Wide_Character := Wide_Character'Val (249);
 315    LC_U_Acute           : constant Wide_Character := Wide_Character'Val (250);
 316    LC_U_Circumflex      : constant Wide_Character := Wide_Character'Val (251);
 317    LC_U_Diaeresis       : constant Wide_Character := Wide_Character'Val (252);
 318    LC_Y_Acute           : constant Wide_Character := Wide_Character'Val (253);
 319    LC_Icelandic_Thorn   : constant Wide_Character := Wide_Character'Val (254);
 320    LC_Y_Diaeresis       : constant Wide_Character := Wide_Character'Val (255);
 321 
 322 end Ada.Characters.Wide_Latin_1;