------------------------------------------------------------------------------ -- -- -- 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 _ 9 -- -- -- -- S p e c -- -- -- -- Copyright (C) 1992-2018, 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 -- -- . -- -- -- -- 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 GNAT package -- Ada.Characters.Latin_9 except that the type of the various 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_9 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); Euro_Sign : constant Wide_Wide_Character := Wide_Wide_Character'Val (164); Yen_Sign : constant Wide_Wide_Character := Wide_Wide_Character'Val (165); UC_S_Caron : constant Wide_Wide_Character := Wide_Wide_Character'Val (166); Section_Sign : constant Wide_Wide_Character := Wide_Wide_Character'Val (167); LC_S_Caron : 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); UC_Z_Caron : 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); LC_Z_Caron : 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); UC_Ligature_OE : constant Wide_Wide_Character := Wide_Wide_Character'Val (188); LC_Ligature_OE : constant Wide_Wide_Character := Wide_Wide_Character'Val (189); UC_Y_Diaeresis : 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); ------------------------------------------------ -- 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.Wide_Wide_Latin_9;