]>
Commit | Line | Data |
---|---|---|
d23b8f57 RK |
1 | ------------------------------------------------------------------------------ |
2 | -- -- | |
3084fecd | 3 | -- GNAT RUN-TIME COMPONENTS -- |
d23b8f57 RK |
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 | -- -- | |
4b490c1e | 9 | -- Copyright (C) 1992-2020, Free Software Foundation, Inc. -- |
d23b8f57 RK |
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- -- | |
748086b7 | 13 | -- ware Foundation; either version 3, or (at your option) any later ver- -- |
d23b8f57 RK |
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 -- | |
748086b7 JJ |
16 | -- or FITNESS FOR A PARTICULAR PURPOSE. -- |
17 | -- -- | |
18 | -- As a special exception under Section 7 of GPL version 3, you are granted -- | |
19 | -- additional permissions described in the GCC Runtime Library Exception, -- | |
20 | -- version 3.1, as published by the Free Software Foundation. -- | |
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/>. -- | |
d23b8f57 RK |
26 | -- -- |
27 | -- GNAT was originally developed by the GNAT team at New York University. -- | |
71ff80dc | 28 | -- Extensive contributions were provided by Ada Core Technologies Inc. -- |
d23b8f57 RK |
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 | |
009186e0 | 38 | pragma Pure; |
d23b8f57 RK |
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; |