1 {
2  *****************************************************************************
3   This file is part of the Lazarus Component Library (LCL)
4 
5   See the file COPYING.modifiedLGPL.txt, included in this distribution,
6   for details about the license.
7  *****************************************************************************
8 
9   Author: Theo Lustenberger
10 
11   Abstract:
12     Container for derived data from the Unicode data files.
13 
14  *****************************************************************************
15  *  This file contains derived data from a modified version of the
16  *  Unicode data files.
17  *
18  *  The original data files are available at
19  *  http://www.unicode.org/Public/UNIDATA/
20  *
21  *
22  *  COPYRIGHT AND PERMISSION NOTICE
23  *
24  *  Copyright (c) 1991-2007 Unicode, Inc. All rights reserved. Distributed
25  *  under the Terms of Use in http://www.unicode.org/copyright.html.
26  *
27  *  Permission is hereby granted, free of charge, to any person obtaining a
28  *  copy of the Unicode data files and any associated documentation (the "Data
29  *  Files") or Unicode software and any associated documentation (the
30  *  "Software") to deal in the Data Files or Software without restriction,
31  *  including without limitation the rights to use, copy, modify, merge,
32  *  publish, distribute, and/or sell copies of the Data Files or Software, and
33  *  to permit persons to whom the Data Files or Software are furnished to do
34  *  so, provided that (a) the above copyright notice(s) and this permission
35  *  notice appear with all copies of the Data Files or Software, (b) both the
36  *  above copyright notice(s) and this permission notice appear in associated
37  *  documentation, and (c) there is clear notice in each modified Data File or
38  *  in the Software as well as in the documentation associated with the Data
39  *  File(s) or Software that the data or software has been modified.
40  *
41  *  THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
42  *  KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
43  *  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF
44  *  THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS
45  *  INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR
46  *  CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF
47  *  USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
48  *  TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
49  *  PERFORMANCE OF THE DATA FILES OR SOFTWARE.
50  *
51  *  Except as contained in this notice, the name of a copyright holder shall
52  *  not be used in advertising or otherwise to promote the sale, use or other
53  *  dealings in these Data Files or Software without prior written
54  *  authorization of the copyright holder.
55  *****************************************************************************
56 
57 }
58 
59 unit LCLUnicodeData;
60 
61 {$mode objfpc}{$H+}
62 
63 interface
64 
65 type TUnicodeBlock = record
66     S: longint;
67     E: longint;
68     PG: string[50];
69   end;
70 
71 const
72   MaxUnicodeBlocks = 151; //Warning this is for charactermapdlg.pas. Full Range is 153. See last commented items
73   UnicodeBlocks: array[0..MaxUnicodeBlocks] of TUnicodeBlock = (
74     (S: $0020; E: $007F; PG: 'Basic Latin'),  //Warning this is for charactermapdlg.pas: Full range starts at $0000
75     (S: $00A0; E: $00FF; PG: 'Latin-1 Supplement'), //Warning this is for charactermapdlg.pas: Full range starts at $0080
76     (S: $0100; E: $017F; PG: 'Latin Extended-A'),
77     (S: $0180; E: $024F; PG: 'Latin Extended-B'),
78     (S: $0250; E: $02AF; PG: 'IPA Extensions'),
79     (S: $02B0; E: $02FF; PG: 'Spacing Modifier Letters'),
80     (S: $0300; E: $036F; PG: 'Combining Diacritical Marks'),
81     (S: $0370; E: $03FF; PG: 'Greek and Coptic'),
82     (S: $0400; E: $04FF; PG: 'Cyrillic'),
83     (S: $0500; E: $052F; PG: 'Cyrillic Supplement'),
84     (S: $0530; E: $058F; PG: 'Armenian'),
85     (S: $0590; E: $05FF; PG: 'Hebrew'),
86     (S: $0600; E: $06FF; PG: 'Arabic'),
87     (S: $0700; E: $074F; PG: 'Syriac'),
88     (S: $0750; E: $077F; PG: 'Arabic Supplement'),
89     (S: $0780; E: $07BF; PG: 'Thaana'),
90     (S: $07C0; E: $07FF; PG: 'NKo'),
91     (S: $0900; E: $097F; PG: 'Devanagari'),
92     (S: $0980; E: $09FF; PG: 'Bengali'),
93     (S: $0A00; E: $0A7F; PG: 'Gurmukhi'),
94     (S: $0A80; E: $0AFF; PG: 'Gujarati'),
95     (S: $0B00; E: $0B7F; PG: 'Oriya'),
96     (S: $0B80; E: $0BFF; PG: 'Tamil'),
97     (S: $0C00; E: $0C7F; PG: 'Telugu'),
98     (S: $0C80; E: $0CFF; PG: 'Kannada'),
99     (S: $0D00; E: $0D7F; PG: 'Malayalam'),
100     (S: $0D80; E: $0DFF; PG: 'Sinhala'),
101     (S: $0E00; E: $0E7F; PG: 'Thai'),
102     (S: $0E80; E: $0EFF; PG: 'Lao'),
103     (S: $0F00; E: $0FFF; PG: 'Tibetan'),
104     (S: $1000; E: $109F; PG: 'Myanmar'),
105     (S: $10A0; E: $10FF; PG: 'Georgian'),
106     (S: $1100; E: $11FF; PG: 'Hangul Jamo'),
107     (S: $1200; E: $137F; PG: 'Ethiopic'),
108     (S: $1380; E: $139F; PG: 'Ethiopic Supplement'),
109     (S: $13A0; E: $13FF; PG: 'Cherokee'),
110     (S: $1400; E: $167F; PG: 'Unified Canadian Aboriginal Syllabics'),
111     (S: $1680; E: $169F; PG: 'Ogham'),
112     (S: $16A0; E: $16FF; PG: 'Runic'),
113     (S: $1700; E: $171F; PG: 'Tagalog'),
114     (S: $1720; E: $173F; PG: 'Hanunoo'),
115     (S: $1740; E: $175F; PG: 'Buhid'),
116     (S: $1760; E: $177F; PG: 'Tagbanwa'),
117     (S: $1780; E: $17FF; PG: 'Khmer'),
118     (S: $1800; E: $18AF; PG: 'Mongolian'),
119     (S: $1900; E: $194F; PG: 'Limbu'),
120     (S: $1950; E: $197F; PG: 'Tai Le'),
121     (S: $1980; E: $19DF; PG: 'New Tai Lue'),
122     (S: $19E0; E: $19FF; PG: 'Khmer Symbols'),
123     (S: $1A00; E: $1A1F; PG: 'Buginese'),
124     (S: $1B00; E: $1B7F; PG: 'Balinese'),
125     (S: $1D00; E: $1D7F; PG: 'Phonetic Extensions'),
126     (S: $1D80; E: $1DBF; PG: 'Phonetic Extensions Supplement'),
127     (S: $1DC0; E: $1DFF; PG: 'Combining Diacritical Marks Supplement'),
128     (S: $1E00; E: $1EFF; PG: 'Latin Extended Additional'),
129     (S: $1F00; E: $1FFF; PG: 'Greek Extended'),
130     (S: $2000; E: $206F; PG: 'General Punctuation'),
131     (S: $2070; E: $209F; PG: 'Superscripts and Subscripts'),
132     (S: $20A0; E: $20CF; PG: 'Currency Symbols'),
133     (S: $20D0; E: $20FF; PG: 'Combining Diacritical Marks for Symbols'),
134     (S: $2100; E: $214F; PG: 'Letterlike Symbols'),
135     (S: $2150; E: $218F; PG: 'Number Forms'),
136     (S: $2190; E: $21FF; PG: 'Arrows'),
137     (S: $2200; E: $22FF; PG: 'Mathematical Operators'),
138     (S: $2300; E: $23FF; PG: 'Miscellaneous Technical'),
139     (S: $2400; E: $243F; PG: 'Control Pictures'),
140     (S: $2440; E: $245F; PG: 'Optical Character Recognition'),
141     (S: $2460; E: $24FF; PG: 'Enclosed Alphanumerics'),
142     (S: $2500; E: $257F; PG: 'Box Drawing'),
143     (S: $2580; E: $259F; PG: 'Block Elements'),
144     (S: $25A0; E: $25FF; PG: 'Geometric Shapes'),
145     (S: $2600; E: $26FF; PG: 'Miscellaneous Symbols'),
146     (S: $2700; E: $27BF; PG: 'Dingbats'),
147     (S: $27C0; E: $27EF; PG: 'Miscellaneous Mathematical Symbols-A'),
148     (S: $27F0; E: $27FF; PG: 'Supplemental Arrows-A'),
149     (S: $2800; E: $28FF; PG: 'Braille Patterns'),
150     (S: $2900; E: $297F; PG: 'Supplemental Arrows-B'),
151     (S: $2980; E: $29FF; PG: 'Miscellaneous Mathematical Symbols-B'),
152     (S: $2A00; E: $2AFF; PG: 'Supplemental Mathematical Operators'),
153     (S: $2B00; E: $2BFF; PG: 'Miscellaneous Symbols and Arrows'),
154     (S: $2C00; E: $2C5F; PG: 'Glagolitic'),
155     (S: $2C60; E: $2C7F; PG: 'Latin Extended-C'),
156     (S: $2C80; E: $2CFF; PG: 'Coptic'),
157     (S: $2D00; E: $2D2F; PG: 'Georgian Supplement'),
158     (S: $2D30; E: $2D7F; PG: 'Tifinagh'),
159     (S: $2D80; E: $2DDF; PG: 'Ethiopic Extended'),
160     (S: $2E00; E: $2E7F; PG: 'Supplemental Punctuation'),
161     (S: $2E80; E: $2EFF; PG: 'CJK Radicals Supplement'),
162     (S: $2F00; E: $2FDF; PG: 'Kangxi Radicals'),
163     (S: $2FF0; E: $2FFF; PG: 'Ideographic Description Characters'),
164     (S: $3000; E: $303F; PG: 'CJK Symbols and Punctuation'),
165     (S: $3040; E: $309F; PG: 'Hiragana'),
166     (S: $30A0; E: $30FF; PG: 'Katakana'),
167     (S: $3100; E: $312F; PG: 'Bopomofo'),
168     (S: $3130; E: $318F; PG: 'Hangul Compatibility Jamo'),
169     (S: $3190; E: $319F; PG: 'Kanbun'),
170     (S: $31A0; E: $31BF; PG: 'Bopomofo Extended'),
171     (S: $31C0; E: $31EF; PG: 'CJK Strokes'),
172     (S: $31F0; E: $31FF; PG: 'Katakana Phonetic Extensions'),
173     (S: $3200; E: $32FF; PG: 'Enclosed CJK Letters and Months'),
174     (S: $3300; E: $33FF; PG: 'CJK Compatibility'),
175     (S: $3400; E: $4DBF; PG: 'CJK Unified Ideographs Extension A'),
176     (S: $4DC0; E: $4DFF; PG: 'Yijing Hexagram Symbols'),
177     (S: $4E00; E: $9FFF; PG: 'CJK Unified Ideographs'),
178     (S: $A000; E: $A48F; PG: 'Yi Syllables'),
179     (S: $A490; E: $A4CF; PG: 'Yi Radicals'),
180     (S: $A700; E: $A71F; PG: 'Modifier Tone Letters'),
181     (S: $A720; E: $A7FF; PG: 'Latin Extended-D'),
182     (S: $A800; E: $A82F; PG: 'Syloti Nagri'),
183     (S: $A840; E: $A87F; PG: 'Phags-pa'),
184     (S: $AC00; E: $D7AF; PG: 'Hangul Syllables'),
185     (S: $D800; E: $DB7F; PG: 'High Surrogates'),
186     (S: $DB80; E: $DBFF; PG: 'High Private Use Surrogates'),
187     (S: $DC00; E: $DFFF; PG: 'Low Surrogates'),
188     (S: $E000; E: $F8FF; PG: 'Private Use Area'),
189     (S: $F900; E: $FAFF; PG: 'CJK Compatibility Ideographs'),
190     (S: $FB00; E: $FB4F; PG: 'Alphabetic Presentation Forms'),
191     (S: $FB50; E: $FDFF; PG: 'Arabic Presentation Forms-A'),
192     (S: $FE00; E: $FE0F; PG: 'Variation Selectors'),
193     (S: $FE10; E: $FE1F; PG: 'Vertical Forms'),
194     (S: $FE20; E: $FE2F; PG: 'Combining Half Marks'),
195     (S: $FE30; E: $FE4F; PG: 'CJK Compatibility Forms'),
196     (S: $FE50; E: $FE6F; PG: 'Small Form Variants'),
197     (S: $FE70; E: $FEFF; PG: 'Arabic Presentation Forms-B'),
198     (S: $FF00; E: $FFEF; PG: 'Halfwidth and Fullwidth Forms'),
199     (S: $FFF0; E: $FFFF; PG: 'Specials'),
200     (S: $10000; E: $1007F; PG: 'Linear B Syllabary'),
201     (S: $10080; E: $100FF; PG: 'Linear B Ideograms'),
202     (S: $10100; E: $1013F; PG: 'Aegean Numbers'),
203     (S: $10140; E: $1018F; PG: 'Ancient Greek Numbers'),
204     (S: $10300; E: $1032F; PG: 'Old Italic'),
205     (S: $10330; E: $1034F; PG: 'Gothic'),
206     (S: $10380; E: $1039F; PG: 'Ugaritic'),
207     (S: $103A0; E: $103DF; PG: 'Old Persian'),
208     (S: $10400; E: $1044F; PG: 'Deseret'),
209     (S: $10450; E: $1047F; PG: 'Shavian'),
210     (S: $10480; E: $104AF; PG: 'Osmanya'),
211     (S: $10800; E: $1083F; PG: 'Cypriot Syllabary'),
212     (S: $10900; E: $1091F; PG: 'Phoenician'),
213     (S: $10A00; E: $10A5F; PG: 'Kharoshthi'),
214     (S: $12000; E: $123FF; PG: 'Cuneiform'),
215     (S: $12400; E: $1247F; PG: 'Cuneiform Numbers and Punctuation'),
216     (S: $1D000; E: $1D0FF; PG: 'Byzantine Musical Symbols'),
217     (S: $1D100; E: $1D1FF; PG: 'Musical Symbols'),
218     (S: $1D200; E: $1D24F; PG: 'Ancient Greek Musical Notation'),
219     (S: $1D300; E: $1D35F; PG: 'Tai Xuan Jing Symbols'),
220     (S: $1D360; E: $1D37F; PG: 'Counting Rod Numerals'),
221     (S: $1D400; E: $1D7FF; PG: 'Mathematical Alphanumeric Symbols'),
222     (S: $20000; E: $2A6DF; PG: 'CJK Unified Ideographs Extension B'),
223     (S: $2F800; E: $2FA1F; PG: 'CJK Compatibility Ideographs Supplement'),
224     (S: $E0000; E: $E007F; PG: 'Tags'),
225     (S: $E0100; E: $E01EF; PG: 'Variation Selectors Supplement')
226     //(S: $F0000; E: $FFFFF; PG: 'Supplementary Private Use Area-A'),
227     //(S: $100000; E: $10FFFF; PG: 'Supplementary Private Use Area-B')
228     );
229 
230 implementation
231 
232 end.
233 
234