diff options
| author | Sam Varshavchik | 2015-01-20 08:34:36 -0500 | 
|---|---|---|
| committer | Sam Varshavchik | 2015-01-20 08:34:36 -0500 | 
| commit | da75938c6c857fa8a5290850e288fa64052feacb (patch) | |
| tree | 882258ec52c9bd645d5cd3c13040c02514d9d374 /unicode | |
| parent | f9d000cfabe83c219b6a035e0e08fdd2cacebc9e (diff) | |
| download | courier-libs-da75938c6c857fa8a5290850e288fa64052feacb.tar.bz2 | |
unicode: unicode_script() returns an enumerated value instead of a string.
Diffstat (limited to 'unicode')
| -rw-r--r-- | unicode/book.xml | 9 | ||||
| -rwxr-xr-x | unicode/mkscripts.pl | 31 | ||||
| -rw-r--r-- | unicode/scriptstab.h | 2477 | ||||
| -rw-r--r-- | unicode/scripttest.c | 2 | ||||
| -rw-r--r-- | unicode/unicode.h | 134 | ||||
| -rw-r--r-- | unicode/unicode_scripts.c | 16 | 
6 files changed, 1345 insertions, 1324 deletions
| diff --git a/unicode/book.xml b/unicode/book.xml index 2d3450b..6bbf691 100644 --- a/unicode/book.xml +++ b/unicode/book.xml @@ -818,7 +818,7 @@ See COPYING for distribution information.  	  <funcsynopsis>  	    <funcsynopsisinfo>#include <unicode.h></funcsynopsisinfo>  	    <funcprototype> -              <funcdef>const char *<function>unicode_script</function></funcdef> +              <funcdef>unicode_script_t <function>unicode_script</function></funcdef>                <paramdef>unicode_char <parameter>ch</parameter></paramdef>  	    </funcprototype>  	  </funcsynopsis> @@ -828,9 +828,10 @@ See COPYING for distribution information.  	  <para>  	    <function>unicode_script</function>() looks up the  	    <quote>script</quote> property of the specified unicode character, -	    and returns it. -	    <quote>Unknown</quote> gets returned for a unicode character -	    with an unknown script property. +	    and returns it. The <classname>unicode_script_t</classname> +	    enumeration encodes possible unicode script values. +	    <literal>unicode_script_unknown</literal> gets returned for a +	    unicode character  with an unknown script property.  	  </para>  	</refsect1> diff --git a/unicode/mkscripts.pl b/unicode/mkscripts.pl index c21ed92..d29a04d 100755 --- a/unicode/mkscripts.pl +++ b/unicode/mkscripts.pl @@ -60,17 +60,34 @@ while (defined($_=<F>))      $scriptnames{$s} //= ++$counter; -    push @table, [$f, $l, $scriptnames{$s} . "-1"]; +    push @table, [$f, $l, "unicode_script_" . lc($s)];  } -print "static const char * const scripts[]={\n"; +open(F, "<unicode.h") or die; -foreach (sort { $scriptnames{$a} <=> $scriptnames{$b}} keys %scriptnames) -{ -    print "\t\"$_\",\n"; -} +my @unicode_h=<F>; +close(F); + +my ($f, $l) = grep { $unicode_h[$_] =~ /UNICODE_SCRIPT_T/ } (0..$#unicode_h); + +die unless $f && $l; + +my @repl = map { +    "\tunicode_script_" . lc($_) . ",\n"; +} sort { +    $scriptnames{$a} <=> $scriptnames{$b}; +} keys %scriptnames; + +unshift @repl, "\tunicode_script_unknown,\n"; + +$repl[$#repl] =~ s/,//; + +splice @unicode_h, $f+1, $l-$f-2, @repl; -print "\t\"Unknown\"};\n"; +open(F, ">unicode.h.tmp") or die; +print F join("", @unicode_h); +close(F) or die; +rename("unicode.h.tmp", "unicode.h") or die;  grep { diff --git a/unicode/scriptstab.h b/unicode/scriptstab.h index add7e8e..07a5993 100644 --- a/unicode/scriptstab.h +++ b/unicode/scriptstab.h @@ -1,130 +1,3 @@ -static const char * const scripts[]={ -	"Common", -	"Latin", -	"Greek", -	"Cyrillic", -	"Armenian", -	"Hebrew", -	"Arabic", -	"Syriac", -	"Thaana", -	"Devanagari", -	"Bengali", -	"Gurmukhi", -	"Gujarati", -	"Oriya", -	"Tamil", -	"Telugu", -	"Kannada", -	"Malayalam", -	"Sinhala", -	"Thai", -	"Lao", -	"Tibetan", -	"Myanmar", -	"Georgian", -	"Hangul", -	"Ethiopic", -	"Cherokee", -	"Canadian_Aboriginal", -	"Ogham", -	"Runic", -	"Khmer", -	"Mongolian", -	"Hiragana", -	"Katakana", -	"Bopomofo", -	"Han", -	"Yi", -	"Old_Italic", -	"Gothic", -	"Deseret", -	"Inherited", -	"Tagalog", -	"Hanunoo", -	"Buhid", -	"Tagbanwa", -	"Limbu", -	"Tai_Le", -	"Linear_B", -	"Ugaritic", -	"Shavian", -	"Osmanya", -	"Cypriot", -	"Braille", -	"Buginese", -	"Coptic", -	"New_Tai_Lue", -	"Glagolitic", -	"Tifinagh", -	"Syloti_Nagri", -	"Old_Persian", -	"Kharoshthi", -	"Balinese", -	"Cuneiform", -	"Phoenician", -	"Phags_Pa", -	"Nko", -	"Sundanese", -	"Lepcha", -	"Ol_Chiki", -	"Vai", -	"Saurashtra", -	"Kayah_Li", -	"Rejang", -	"Lycian", -	"Carian", -	"Lydian", -	"Cham", -	"Tai_Tham", -	"Tai_Viet", -	"Avestan", -	"Egyptian_Hieroglyphs", -	"Samaritan", -	"Lisu", -	"Bamum", -	"Javanese", -	"Meetei_Mayek", -	"Imperial_Aramaic", -	"Old_South_Arabian", -	"Inscriptional_Parthian", -	"Inscriptional_Pahlavi", -	"Old_Turkic", -	"Kaithi", -	"Batak", -	"Brahmi", -	"Mandaic", -	"Chakma", -	"Meroitic_Cursive", -	"Meroitic_Hieroglyphs", -	"Miao", -	"Sharada", -	"Sora_Sompeng", -	"Takri", -	"Caucasian_Albanian", -	"Bassa_Vah", -	"Duployan", -	"Elbasan", -	"Grantha", -	"Pahawh_Hmong", -	"Khojki", -	"Linear_A", -	"Mahajani", -	"Manichaean", -	"Mende_Kikakui", -	"Modi", -	"Mro", -	"Old_North_Arabian", -	"Nabataean", -	"Palmyrene", -	"Pau_Cin_Hau", -	"Old_Permic", -	"Psalter_Pahlavi", -	"Siddham", -	"Khudawadi", -	"Tirhuta", -	"Warang_Citi", -	"Unknown"};  static const uint8_t unicode_rangetab[][2]={  	{0x0000 & 0xFF, 0x0040 & 0xFF},  	{0x0041 & 0xFF, 0x005a & 0xFF}, @@ -1303,1181 +1176,1181 @@ static const uint8_t unicode_rangetab[][2]={  	{0xe0100 & 0xFF, 0xe01ef & 0xFF}};  static const uint8_t unicode_classtab[]={ -	1-1, -	2-1, -	1-1, -	2-1, -	1-1, -	2-1, -	1-1, -	2-1, -	1-1, -	2-1, -	1-1, -	2-1, -	1-1, -	2-1, -	2-1, -	2-1, -	1-1, -	2-1, -	1-1, -	35-1, -	1-1, -	41-1, -	3-1, -	1-1, -	3-1, -	3-1, -	1-1, -	3-1, -	3-1, -	1-1, -	3-1, -	1-1, -	3-1, -	3-1, -	3-1, -	3-1, -	55-1, -	3-1, -	4-1, -	41-1, -	4-1, -	4-1, -	5-1, -	5-1, -	5-1, -	1-1, -	5-1, -	5-1, -	6-1, -	6-1, -	6-1, -	7-1, -	1-1, -	7-1, -	1-1, -	7-1, -	1-1, -	7-1, -	1-1, -	7-1, -	1-1, -	7-1, -	41-1, -	7-1, -	1-1, -	7-1, -	41-1, -	7-1, -	1-1, -	7-1, -	8-1, -	8-1, -	8-1, -	7-1, -	9-1, -	66-1, -	82-1, -	82-1, -	95-1, -	95-1, -	7-1, -	7-1, -	10-1, -	41-1, -	10-1, -	1-1, -	10-1, -	11-1, -	11-1, -	11-1, -	11-1, -	11-1, -	11-1, -	11-1, -	11-1, -	11-1, -	11-1, -	11-1, -	11-1, -	11-1, -	11-1, -	12-1, -	12-1, -	12-1, -	12-1, -	12-1, -	12-1, -	12-1, -	12-1, -	12-1, -	12-1, -	12-1, -	12-1, -	12-1, -	12-1, -	12-1, -	12-1, -	13-1, -	13-1, -	13-1, -	13-1, -	13-1, -	13-1, -	13-1, -	13-1, -	13-1, -	13-1, -	13-1, -	13-1, -	13-1, -	14-1, -	14-1, -	14-1, -	14-1, -	14-1, -	14-1, -	14-1, -	14-1, -	14-1, -	14-1, -	14-1, -	14-1, -	14-1, -	14-1, -	15-1, -	15-1, -	15-1, -	15-1, -	15-1, -	15-1, -	15-1, -	15-1, -	15-1, -	15-1, -	15-1, -	15-1, -	15-1, -	15-1, -	15-1, -	15-1, -	16-1, -	16-1, -	16-1, -	16-1, -	16-1, -	16-1, -	16-1, -	16-1, -	16-1, -	16-1, -	16-1, -	16-1, -	16-1, -	17-1, -	17-1, -	17-1, -	17-1, -	17-1, -	17-1, -	17-1, -	17-1, -	17-1, -	17-1, -	17-1, -	17-1, -	17-1, -	17-1, -	18-1, -	18-1, -	18-1, -	18-1, -	18-1, -	18-1, -	18-1, -	18-1, -	18-1, -	18-1, -	18-1, -	19-1, -	19-1, -	19-1, -	19-1, -	19-1, -	19-1, -	19-1, -	19-1, -	19-1, -	19-1, -	19-1, -	19-1, -	20-1, -	1-1, -	20-1, -	21-1, -	21-1, -	21-1, -	21-1, -	21-1, -	21-1, -	21-1, -	21-1, -	21-1, -	21-1, -	21-1, -	21-1, -	21-1, -	21-1, -	21-1, -	21-1, -	21-1, -	21-1, -	22-1, -	22-1, -	22-1, -	22-1, -	22-1, -	22-1, -	1-1, -	22-1, -	23-1, -	24-1, -	24-1, -	24-1, -	24-1, -	1-1, -	24-1, -	25-1, -	26-1, -	26-1, -	26-1, -	26-1, -	26-1, -	26-1, -	26-1, -	26-1, -	26-1, -	26-1, -	26-1, -	26-1, -	26-1, -	26-1, -	26-1, -	26-1, -	26-1, -	26-1, -	26-1, -	27-1, -	28-1, -	28-1, -	28-1, -	29-1, -	30-1, -	1-1, -	30-1, -	42-1, -	42-1, -	43-1, -	1-1, -	44-1, -	45-1, -	45-1, -	45-1, -	31-1, -	31-1, -	31-1, -	32-1, -	1-1, -	32-1, -	1-1, -	32-1, -	32-1, -	32-1, -	32-1, -	28-1, -	46-1, -	46-1, -	46-1, -	46-1, -	46-1, -	47-1, -	47-1, -	56-1, -	56-1, -	56-1, -	56-1, -	31-1, -	54-1, -	54-1, -	78-1, -	78-1, -	78-1, -	78-1, -	78-1, -	41-1, -	62-1, -	62-1, -	67-1, -	93-1, -	93-1, -	68-1, -	68-1, -	68-1, -	69-1, -	67-1, -	41-1, -	1-1, -	41-1, -	1-1, -	41-1, -	1-1, -	41-1, -	1-1, -	41-1, -	1-1, -	41-1, -	2-1, -	3-1, -	4-1, -	2-1, -	3-1, -	2-1, -	3-1, -	2-1, -	4-1, -	2-1, -	3-1, -	41-1, -	41-1, -	2-1, -	3-1, -	3-1, -	3-1, -	3-1, -	3-1, -	3-1, -	3-1, -	3-1, -	3-1, -	3-1, -	3-1, -	3-1, -	3-1, -	3-1, -	3-1, -	3-1, -	1-1, -	41-1, -	1-1, -	1-1, -	2-1, -	1-1, -	2-1, -	1-1, -	2-1, -	1-1, -	41-1, -	1-1, -	3-1, -	1-1, -	2-1, -	1-1, -	2-1, -	1-1, -	2-1, -	1-1, -	2-1, -	1-1, -	1-1, -	1-1, -	1-1, -	1-1, -	1-1, -	1-1, -	1-1, -	1-1, -	1-1, -	53-1, -	1-1, -	1-1, -	1-1, -	1-1, -	1-1, -	1-1, -	1-1, -	57-1, -	57-1, -	2-1, -	55-1, -	55-1, -	24-1, -	24-1, -	24-1, -	58-1, -	58-1, -	58-1, -	26-1, -	26-1, -	26-1, -	26-1, -	26-1, -	26-1, -	26-1, -	26-1, -	26-1, -	4-1, -	1-1, -	36-1, -	36-1, -	36-1, -	1-1, -	1-1, -	36-1, -	1-1, -	36-1, -	1-1, -	36-1, -	41-1, -	25-1, -	1-1, -	36-1, -	1-1, -	33-1, -	41-1, -	1-1, -	33-1, -	1-1, -	34-1, -	1-1, -	34-1, -	35-1, -	25-1, -	1-1, -	35-1, -	1-1, -	34-1, -	25-1, -	1-1, -	25-1, -	1-1, -	34-1, -	34-1, -	1-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	1-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	37-1, -	37-1, -	37-1, -	37-1, -	37-1, -	37-1, -	83-1, -	70-1, -	70-1, -	4-1, -	4-1, -	84-1, -	1-1, -	2-1, -	1-1, -	2-1, -	2-1, -	2-1, -	2-1, -	59-1, -	1-1, -	65-1, -	71-1, -	71-1, -	10-1, -	72-1, -	1-1, -	72-1, -	73-1, -	73-1, -	25-1, -	85-1, -	1-1, -	85-1, -	85-1, -	23-1, -	77-1, -	77-1, -	77-1, -	77-1, -	23-1, -	79-1, -	79-1, -	86-1, -	26-1, -	26-1, -	26-1, -	26-1, -	26-1, -	2-1, -	1-1, -	2-1, -	2-1, -	3-1, -	86-1, -	86-1, -	25-1, -	25-1, -	25-1, -	25-1, -	25-1, -	25-1, -	25-1, -	25-1, -	25-1, -	25-1, -	25-1, -	25-1, -	25-1, -	25-1, -	25-1, -	25-1, -	25-1, -	25-1, -	25-1, -	25-1, -	25-1, -	25-1, -	25-1, -	25-1, -	25-1, -	25-1, -	25-1, -	25-1, -	25-1, -	25-1, -	25-1, -	25-1, -	25-1, -	25-1, -	25-1, -	25-1, -	25-1, -	25-1, -	25-1, -	25-1, -	25-1, -	25-1, -	25-1, -	25-1, -	25-1, -	25-1, -	36-1, -	36-1, -	36-1, -	2-1, -	5-1, -	6-1, -	6-1, -	6-1, -	6-1, -	6-1, -	6-1, -	7-1, -	7-1, -	7-1, -	7-1, -	1-1, -	7-1, -	7-1, -	7-1, -	41-1, -	1-1, -	41-1, -	1-1, -	1-1, -	1-1, -	7-1, -	7-1, -	1-1, -	1-1, -	2-1, -	1-1, -	2-1, -	1-1, -	34-1, -	1-1, -	34-1, -	1-1, -	25-1, -	25-1, -	25-1, -	25-1, -	25-1, -	1-1, -	1-1, -	1-1, -	48-1, -	48-1, -	48-1, -	48-1, -	48-1, -	48-1, -	48-1, -	1-1, -	1-1, -	1-1, -	3-1, -	1-1, -	3-1, -	1-1, -	41-1, -	74-1, -	75-1, -	41-1, -	1-1, -	38-1, -	39-1, -	120-1, -	49-1, -	49-1, -	60-1, -	60-1, -	40-1, -	50-1, -	51-1, -	51-1, -	106-1, -	103-1, -	103-1, -	110-1, -	110-1, -	110-1, -	110-1, -	52-1, -	52-1, -	52-1, -	52-1, -	52-1, -	52-1, -	87-1, -	87-1, -	118-1, -	117-1, -	117-1, -	64-1, -	64-1, -	76-1, -	76-1, -	98-1, -	97-1, -	97-1, -	61-1, -	61-1, -	61-1, -	61-1, -	61-1, -	61-1, -	61-1, -	61-1, -	88-1, -	116-1, -	112-1, -	112-1, -	80-1, -	80-1, -	89-1, -	89-1, -	90-1, -	90-1, -	121-1, -	121-1, -	121-1, -	91-1, -	7-1, -	94-1, -	94-1, -	94-1, -	92-1, -	101-1, -	101-1, -	96-1, -	96-1, -	111-1, -	100-1, -	100-1, -	100-1, -	19-1, -	109-1, -	109-1, -	123-1, -	123-1, -	107-1, -	107-1, -	107-1, -	107-1, -	107-1, -	107-1, -	107-1, -	107-1, -	107-1, -	107-1, -	107-1, -	107-1, -	107-1, -	107-1, -	124-1, -	124-1, -	122-1, -	122-1, -	114-1, -	114-1, -	102-1, -	102-1, -	125-1, -	125-1, -	119-1, -	63-1, -	63-1, -	63-1, -	63-1, -	63-1, -	63-1, -	81-1, -	81-1, -	81-1, -	81-1, -	81-1, -	84-1, -	84-1, -	84-1, -	115-1, -	115-1, -	115-1, -	104-1, -	104-1, -	108-1, -	108-1, -	108-1, -	108-1, -	108-1, -	99-1, -	99-1, -	99-1, -	34-1, -	33-1, -	105-1, -	105-1, -	105-1, -	105-1, -	105-1, -	1-1, -	1-1, -	1-1, -	1-1, -	41-1, -	1-1, -	41-1, -	1-1, -	41-1, -	1-1, -	41-1, -	1-1, -	3-1, -	1-1, -	1-1, -	1-1, -	1-1, -	1-1, -	1-1, -	1-1, -	1-1, -	1-1, -	1-1, -	1-1, -	1-1, -	1-1, -	1-1, -	1-1, -	1-1, -	1-1, -	1-1, -	1-1, -	1-1, -	1-1, -	1-1, -	1-1, -	1-1, -	1-1, -	1-1, -	113-1, -	113-1, -	7-1, -	7-1, -	7-1, -	7-1, -	7-1, -	7-1, -	7-1, -	7-1, -	7-1, -	7-1, -	7-1, -	7-1, -	7-1, -	7-1, -	7-1, -	7-1, -	7-1, -	7-1, -	7-1, -	7-1, -	7-1, -	7-1, -	7-1, -	7-1, -	7-1, -	7-1, -	7-1, -	7-1, -	7-1, -	7-1, -	7-1, -	7-1, -	7-1, -	7-1, -	1-1, -	1-1, -	1-1, -	1-1, -	1-1, -	1-1, -	1-1, -	1-1, -	1-1, -	1-1, -	1-1, -	33-1, -	1-1, -	1-1, -	1-1, -	1-1, -	1-1, -	1-1, -	1-1, -	1-1, -	1-1, -	1-1, -	1-1, -	1-1, -	1-1, -	1-1, -	1-1, -	1-1, -	1-1, -	1-1, -	1-1, -	1-1, -	1-1, -	1-1, -	1-1, -	1-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	36-1, -	1-1, -	1-1, -	41-1}; +	unicode_script_common, +	unicode_script_latin, +	unicode_script_common, +	unicode_script_latin, +	unicode_script_common, +	unicode_script_latin, +	unicode_script_common, +	unicode_script_latin, +	unicode_script_common, +	unicode_script_latin, +	unicode_script_common, +	unicode_script_latin, +	unicode_script_common, +	unicode_script_latin, +	unicode_script_latin, +	unicode_script_latin, +	unicode_script_common, +	unicode_script_latin, +	unicode_script_common, +	unicode_script_bopomofo, +	unicode_script_common, +	unicode_script_inherited, +	unicode_script_greek, +	unicode_script_common, +	unicode_script_greek, +	unicode_script_greek, +	unicode_script_common, +	unicode_script_greek, +	unicode_script_greek, +	unicode_script_common, +	unicode_script_greek, +	unicode_script_common, +	unicode_script_greek, +	unicode_script_greek, +	unicode_script_greek, +	unicode_script_greek, +	unicode_script_coptic, +	unicode_script_greek, +	unicode_script_cyrillic, +	unicode_script_inherited, +	unicode_script_cyrillic, +	unicode_script_cyrillic, +	unicode_script_armenian, +	unicode_script_armenian, +	unicode_script_armenian, +	unicode_script_common, +	unicode_script_armenian, +	unicode_script_armenian, +	unicode_script_hebrew, +	unicode_script_hebrew, +	unicode_script_hebrew, +	unicode_script_arabic, +	unicode_script_common, +	unicode_script_arabic, +	unicode_script_common, +	unicode_script_arabic, +	unicode_script_common, +	unicode_script_arabic, +	unicode_script_common, +	unicode_script_arabic, +	unicode_script_common, +	unicode_script_arabic, +	unicode_script_inherited, +	unicode_script_arabic, +	unicode_script_common, +	unicode_script_arabic, +	unicode_script_inherited, +	unicode_script_arabic, +	unicode_script_common, +	unicode_script_arabic, +	unicode_script_syriac, +	unicode_script_syriac, +	unicode_script_syriac, +	unicode_script_arabic, +	unicode_script_thaana, +	unicode_script_nko, +	unicode_script_samaritan, +	unicode_script_samaritan, +	unicode_script_mandaic, +	unicode_script_mandaic, +	unicode_script_arabic, +	unicode_script_arabic, +	unicode_script_devanagari, +	unicode_script_inherited, +	unicode_script_devanagari, +	unicode_script_common, +	unicode_script_devanagari, +	unicode_script_bengali, +	unicode_script_bengali, +	unicode_script_bengali, +	unicode_script_bengali, +	unicode_script_bengali, +	unicode_script_bengali, +	unicode_script_bengali, +	unicode_script_bengali, +	unicode_script_bengali, +	unicode_script_bengali, +	unicode_script_bengali, +	unicode_script_bengali, +	unicode_script_bengali, +	unicode_script_bengali, +	unicode_script_gurmukhi, +	unicode_script_gurmukhi, +	unicode_script_gurmukhi, +	unicode_script_gurmukhi, +	unicode_script_gurmukhi, +	unicode_script_gurmukhi, +	unicode_script_gurmukhi, +	unicode_script_gurmukhi, +	unicode_script_gurmukhi, +	unicode_script_gurmukhi, +	unicode_script_gurmukhi, +	unicode_script_gurmukhi, +	unicode_script_gurmukhi, +	unicode_script_gurmukhi, +	unicode_script_gurmukhi, +	unicode_script_gurmukhi, +	unicode_script_gujarati, +	unicode_script_gujarati, +	unicode_script_gujarati, +	unicode_script_gujarati, +	unicode_script_gujarati, +	unicode_script_gujarati, +	unicode_script_gujarati, +	unicode_script_gujarati, +	unicode_script_gujarati, +	unicode_script_gujarati, +	unicode_script_gujarati, +	unicode_script_gujarati, +	unicode_script_gujarati, +	unicode_script_oriya, +	unicode_script_oriya, +	unicode_script_oriya, +	unicode_script_oriya, +	unicode_script_oriya, +	unicode_script_oriya, +	unicode_script_oriya, +	unicode_script_oriya, +	unicode_script_oriya, +	unicode_script_oriya, +	unicode_script_oriya, +	unicode_script_oriya, +	unicode_script_oriya, +	unicode_script_oriya, +	unicode_script_tamil, +	unicode_script_tamil, +	unicode_script_tamil, +	unicode_script_tamil, +	unicode_script_tamil, +	unicode_script_tamil, +	unicode_script_tamil, +	unicode_script_tamil, +	unicode_script_tamil, +	unicode_script_tamil, +	unicode_script_tamil, +	unicode_script_tamil, +	unicode_script_tamil, +	unicode_script_tamil, +	unicode_script_tamil, +	unicode_script_tamil, +	unicode_script_telugu, +	unicode_script_telugu, +	unicode_script_telugu, +	unicode_script_telugu, +	unicode_script_telugu, +	unicode_script_telugu, +	unicode_script_telugu, +	unicode_script_telugu, +	unicode_script_telugu, +	unicode_script_telugu, +	unicode_script_telugu, +	unicode_script_telugu, +	unicode_script_telugu, +	unicode_script_kannada, +	unicode_script_kannada, +	unicode_script_kannada, +	unicode_script_kannada, +	unicode_script_kannada, +	unicode_script_kannada, +	unicode_script_kannada, +	unicode_script_kannada, +	unicode_script_kannada, +	unicode_script_kannada, +	unicode_script_kannada, +	unicode_script_kannada, +	unicode_script_kannada, +	unicode_script_kannada, +	unicode_script_malayalam, +	unicode_script_malayalam, +	unicode_script_malayalam, +	unicode_script_malayalam, +	unicode_script_malayalam, +	unicode_script_malayalam, +	unicode_script_malayalam, +	unicode_script_malayalam, +	unicode_script_malayalam, +	unicode_script_malayalam, +	unicode_script_malayalam, +	unicode_script_sinhala, +	unicode_script_sinhala, +	unicode_script_sinhala, +	unicode_script_sinhala, +	unicode_script_sinhala, +	unicode_script_sinhala, +	unicode_script_sinhala, +	unicode_script_sinhala, +	unicode_script_sinhala, +	unicode_script_sinhala, +	unicode_script_sinhala, +	unicode_script_sinhala, +	unicode_script_thai, +	unicode_script_common, +	unicode_script_thai, +	unicode_script_lao, +	unicode_script_lao, +	unicode_script_lao, +	unicode_script_lao, +	unicode_script_lao, +	unicode_script_lao, +	unicode_script_lao, +	unicode_script_lao, +	unicode_script_lao, +	unicode_script_lao, +	unicode_script_lao, +	unicode_script_lao, +	unicode_script_lao, +	unicode_script_lao, +	unicode_script_lao, +	unicode_script_lao, +	unicode_script_lao, +	unicode_script_lao, +	unicode_script_tibetan, +	unicode_script_tibetan, +	unicode_script_tibetan, +	unicode_script_tibetan, +	unicode_script_tibetan, +	unicode_script_tibetan, +	unicode_script_common, +	unicode_script_tibetan, +	unicode_script_myanmar, +	unicode_script_georgian, +	unicode_script_georgian, +	unicode_script_georgian, +	unicode_script_georgian, +	unicode_script_common, +	unicode_script_georgian, +	unicode_script_hangul, +	unicode_script_ethiopic, +	unicode_script_ethiopic, +	unicode_script_ethiopic, +	unicode_script_ethiopic, +	unicode_script_ethiopic, +	unicode_script_ethiopic, +	unicode_script_ethiopic, +	unicode_script_ethiopic, +	unicode_script_ethiopic, +	unicode_script_ethiopic, +	unicode_script_ethiopic, +	unicode_script_ethiopic, +	unicode_script_ethiopic, +	unicode_script_ethiopic, +	unicode_script_ethiopic, +	unicode_script_ethiopic, +	unicode_script_ethiopic, +	unicode_script_ethiopic, +	unicode_script_ethiopic, +	unicode_script_cherokee, +	unicode_script_canadian_aboriginal, +	unicode_script_canadian_aboriginal, +	unicode_script_canadian_aboriginal, +	unicode_script_ogham, +	unicode_script_runic, +	unicode_script_common, +	unicode_script_runic, +	unicode_script_tagalog, +	unicode_script_tagalog, +	unicode_script_hanunoo, +	unicode_script_common, +	unicode_script_buhid, +	unicode_script_tagbanwa, +	unicode_script_tagbanwa, +	unicode_script_tagbanwa, +	unicode_script_khmer, +	unicode_script_khmer, +	unicode_script_khmer, +	unicode_script_mongolian, +	unicode_script_common, +	unicode_script_mongolian, +	unicode_script_common, +	unicode_script_mongolian, +	unicode_script_mongolian, +	unicode_script_mongolian, +	unicode_script_mongolian, +	unicode_script_canadian_aboriginal, +	unicode_script_limbu, +	unicode_script_limbu, +	unicode_script_limbu, +	unicode_script_limbu, +	unicode_script_limbu, +	unicode_script_tai_le, +	unicode_script_tai_le, +	unicode_script_new_tai_lue, +	unicode_script_new_tai_lue, +	unicode_script_new_tai_lue, +	unicode_script_new_tai_lue, +	unicode_script_khmer, +	unicode_script_buginese, +	unicode_script_buginese, +	unicode_script_tai_tham, +	unicode_script_tai_tham, +	unicode_script_tai_tham, +	unicode_script_tai_tham, +	unicode_script_tai_tham, +	unicode_script_inherited, +	unicode_script_balinese, +	unicode_script_balinese, +	unicode_script_sundanese, +	unicode_script_batak, +	unicode_script_batak, +	unicode_script_lepcha, +	unicode_script_lepcha, +	unicode_script_lepcha, +	unicode_script_ol_chiki, +	unicode_script_sundanese, +	unicode_script_inherited, +	unicode_script_common, +	unicode_script_inherited, +	unicode_script_common, +	unicode_script_inherited, +	unicode_script_common, +	unicode_script_inherited, +	unicode_script_common, +	unicode_script_inherited, +	unicode_script_common, +	unicode_script_inherited, +	unicode_script_latin, +	unicode_script_greek, +	unicode_script_cyrillic, +	unicode_script_latin, +	unicode_script_greek, +	unicode_script_latin, +	unicode_script_greek, +	unicode_script_latin, +	unicode_script_cyrillic, +	unicode_script_latin, +	unicode_script_greek, +	unicode_script_inherited, +	unicode_script_inherited, +	unicode_script_latin, +	unicode_script_greek, +	unicode_script_greek, +	unicode_script_greek, +	unicode_script_greek, +	unicode_script_greek, +	unicode_script_greek, +	unicode_script_greek, +	unicode_script_greek, +	unicode_script_greek, +	unicode_script_greek, +	unicode_script_greek, +	unicode_script_greek, +	unicode_script_greek, +	unicode_script_greek, +	unicode_script_greek, +	unicode_script_greek, +	unicode_script_common, +	unicode_script_inherited, +	unicode_script_common, +	unicode_script_common, +	unicode_script_latin, +	unicode_script_common, +	unicode_script_latin, +	unicode_script_common, +	unicode_script_latin, +	unicode_script_common, +	unicode_script_inherited, +	unicode_script_common, +	unicode_script_greek, +	unicode_script_common, +	unicode_script_latin, +	unicode_script_common, +	unicode_script_latin, +	unicode_script_common, +	unicode_script_latin, +	unicode_script_common, +	unicode_script_latin, +	unicode_script_common, +	unicode_script_common, +	unicode_script_common, +	unicode_script_common, +	unicode_script_common, +	unicode_script_common, +	unicode_script_common, +	unicode_script_common, +	unicode_script_common, +	unicode_script_common, +	unicode_script_braille, +	unicode_script_common, +	unicode_script_common, +	unicode_script_common, +	unicode_script_common, +	unicode_script_common, +	unicode_script_common, +	unicode_script_common, +	unicode_script_glagolitic, +	unicode_script_glagolitic, +	unicode_script_latin, +	unicode_script_coptic, +	unicode_script_coptic, +	unicode_script_georgian, +	unicode_script_georgian, +	unicode_script_georgian, +	unicode_script_tifinagh, +	unicode_script_tifinagh, +	unicode_script_tifinagh, +	unicode_script_ethiopic, +	unicode_script_ethiopic, +	unicode_script_ethiopic, +	unicode_script_ethiopic, +	unicode_script_ethiopic, +	unicode_script_ethiopic, +	unicode_script_ethiopic, +	unicode_script_ethiopic, +	unicode_script_ethiopic, +	unicode_script_cyrillic, +	unicode_script_common, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_common, +	unicode_script_common, +	unicode_script_han, +	unicode_script_common, +	unicode_script_han, +	unicode_script_common, +	unicode_script_han, +	unicode_script_inherited, +	unicode_script_hangul, +	unicode_script_common, +	unicode_script_han, +	unicode_script_common, +	unicode_script_hiragana, +	unicode_script_inherited, +	unicode_script_common, +	unicode_script_hiragana, +	unicode_script_common, +	unicode_script_katakana, +	unicode_script_common, +	unicode_script_katakana, +	unicode_script_bopomofo, +	unicode_script_hangul, +	unicode_script_common, +	unicode_script_bopomofo, +	unicode_script_common, +	unicode_script_katakana, +	unicode_script_hangul, +	unicode_script_common, +	unicode_script_hangul, +	unicode_script_common, +	unicode_script_katakana, +	unicode_script_katakana, +	unicode_script_common, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_common, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_yi, +	unicode_script_yi, +	unicode_script_yi, +	unicode_script_yi, +	unicode_script_yi, +	unicode_script_yi, +	unicode_script_lisu, +	unicode_script_vai, +	unicode_script_vai, +	unicode_script_cyrillic, +	unicode_script_cyrillic, +	unicode_script_bamum, +	unicode_script_common, +	unicode_script_latin, +	unicode_script_common, +	unicode_script_latin, +	unicode_script_latin, +	unicode_script_latin, +	unicode_script_latin, +	unicode_script_syloti_nagri, +	unicode_script_common, +	unicode_script_phags_pa, +	unicode_script_saurashtra, +	unicode_script_saurashtra, +	unicode_script_devanagari, +	unicode_script_kayah_li, +	unicode_script_common, +	unicode_script_kayah_li, +	unicode_script_rejang, +	unicode_script_rejang, +	unicode_script_hangul, +	unicode_script_javanese, +	unicode_script_common, +	unicode_script_javanese, +	unicode_script_javanese, +	unicode_script_myanmar, +	unicode_script_cham, +	unicode_script_cham, +	unicode_script_cham, +	unicode_script_cham, +	unicode_script_myanmar, +	unicode_script_tai_viet, +	unicode_script_tai_viet, +	unicode_script_meetei_mayek, +	unicode_script_ethiopic, +	unicode_script_ethiopic, +	unicode_script_ethiopic, +	unicode_script_ethiopic, +	unicode_script_ethiopic, +	unicode_script_latin, +	unicode_script_common, +	unicode_script_latin, +	unicode_script_latin, +	unicode_script_greek, +	unicode_script_meetei_mayek, +	unicode_script_meetei_mayek, +	unicode_script_hangul, +	unicode_script_hangul, +	unicode_script_hangul, +	unicode_script_hangul, +	unicode_script_hangul, +	unicode_script_hangul, +	unicode_script_hangul, +	unicode_script_hangul, +	unicode_script_hangul, +	unicode_script_hangul, +	unicode_script_hangul, +	unicode_script_hangul, +	unicode_script_hangul, +	unicode_script_hangul, +	unicode_script_hangul, +	unicode_script_hangul, +	unicode_script_hangul, +	unicode_script_hangul, +	unicode_script_hangul, +	unicode_script_hangul, +	unicode_script_hangul, +	unicode_script_hangul, +	unicode_script_hangul, +	unicode_script_hangul, +	unicode_script_hangul, +	unicode_script_hangul, +	unicode_script_hangul, +	unicode_script_hangul, +	unicode_script_hangul, +	unicode_script_hangul, +	unicode_script_hangul, +	unicode_script_hangul, +	unicode_script_hangul, +	unicode_script_hangul, +	unicode_script_hangul, +	unicode_script_hangul, +	unicode_script_hangul, +	unicode_script_hangul, +	unicode_script_hangul, +	unicode_script_hangul, +	unicode_script_hangul, +	unicode_script_hangul, +	unicode_script_hangul, +	unicode_script_hangul, +	unicode_script_hangul, +	unicode_script_hangul, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_latin, +	unicode_script_armenian, +	unicode_script_hebrew, +	unicode_script_hebrew, +	unicode_script_hebrew, +	unicode_script_hebrew, +	unicode_script_hebrew, +	unicode_script_hebrew, +	unicode_script_arabic, +	unicode_script_arabic, +	unicode_script_arabic, +	unicode_script_arabic, +	unicode_script_common, +	unicode_script_arabic, +	unicode_script_arabic, +	unicode_script_arabic, +	unicode_script_inherited, +	unicode_script_common, +	unicode_script_inherited, +	unicode_script_common, +	unicode_script_common, +	unicode_script_common, +	unicode_script_arabic, +	unicode_script_arabic, +	unicode_script_common, +	unicode_script_common, +	unicode_script_latin, +	unicode_script_common, +	unicode_script_latin, +	unicode_script_common, +	unicode_script_katakana, +	unicode_script_common, +	unicode_script_katakana, +	unicode_script_common, +	unicode_script_hangul, +	unicode_script_hangul, +	unicode_script_hangul, +	unicode_script_hangul, +	unicode_script_hangul, +	unicode_script_common, +	unicode_script_common, +	unicode_script_common, +	unicode_script_linear_b, +	unicode_script_linear_b, +	unicode_script_linear_b, +	unicode_script_linear_b, +	unicode_script_linear_b, +	unicode_script_linear_b, +	unicode_script_linear_b, +	unicode_script_common, +	unicode_script_common, +	unicode_script_common, +	unicode_script_greek, +	unicode_script_common, +	unicode_script_greek, +	unicode_script_common, +	unicode_script_inherited, +	unicode_script_lycian, +	unicode_script_carian, +	unicode_script_inherited, +	unicode_script_common, +	unicode_script_old_italic, +	unicode_script_gothic, +	unicode_script_old_permic, +	unicode_script_ugaritic, +	unicode_script_ugaritic, +	unicode_script_old_persian, +	unicode_script_old_persian, +	unicode_script_deseret, +	unicode_script_shavian, +	unicode_script_osmanya, +	unicode_script_osmanya, +	unicode_script_elbasan, +	unicode_script_caucasian_albanian, +	unicode_script_caucasian_albanian, +	unicode_script_linear_a, +	unicode_script_linear_a, +	unicode_script_linear_a, +	unicode_script_linear_a, +	unicode_script_cypriot, +	unicode_script_cypriot, +	unicode_script_cypriot, +	unicode_script_cypriot, +	unicode_script_cypriot, +	unicode_script_cypriot, +	unicode_script_imperial_aramaic, +	unicode_script_imperial_aramaic, +	unicode_script_palmyrene, +	unicode_script_nabataean, +	unicode_script_nabataean, +	unicode_script_phoenician, +	unicode_script_phoenician, +	unicode_script_lydian, +	unicode_script_lydian, +	unicode_script_meroitic_hieroglyphs, +	unicode_script_meroitic_cursive, +	unicode_script_meroitic_cursive, +	unicode_script_kharoshthi, +	unicode_script_kharoshthi, +	unicode_script_kharoshthi, +	unicode_script_kharoshthi, +	unicode_script_kharoshthi, +	unicode_script_kharoshthi, +	unicode_script_kharoshthi, +	unicode_script_kharoshthi, +	unicode_script_old_south_arabian, +	unicode_script_old_north_arabian, +	unicode_script_manichaean, +	unicode_script_manichaean, +	unicode_script_avestan, +	unicode_script_avestan, +	unicode_script_inscriptional_parthian, +	unicode_script_inscriptional_parthian, +	unicode_script_inscriptional_pahlavi, +	unicode_script_inscriptional_pahlavi, +	unicode_script_psalter_pahlavi, +	unicode_script_psalter_pahlavi, +	unicode_script_psalter_pahlavi, +	unicode_script_old_turkic, +	unicode_script_arabic, +	unicode_script_brahmi, +	unicode_script_brahmi, +	unicode_script_brahmi, +	unicode_script_kaithi, +	unicode_script_sora_sompeng, +	unicode_script_sora_sompeng, +	unicode_script_chakma, +	unicode_script_chakma, +	unicode_script_mahajani, +	unicode_script_sharada, +	unicode_script_sharada, +	unicode_script_sharada, +	unicode_script_sinhala, +	unicode_script_khojki, +	unicode_script_khojki, +	unicode_script_khudawadi, +	unicode_script_khudawadi, +	unicode_script_grantha, +	unicode_script_grantha, +	unicode_script_grantha, +	unicode_script_grantha, +	unicode_script_grantha, +	unicode_script_grantha, +	unicode_script_grantha, +	unicode_script_grantha, +	unicode_script_grantha, +	unicode_script_grantha, +	unicode_script_grantha, +	unicode_script_grantha, +	unicode_script_grantha, +	unicode_script_grantha, +	unicode_script_tirhuta, +	unicode_script_tirhuta, +	unicode_script_siddham, +	unicode_script_siddham, +	unicode_script_modi, +	unicode_script_modi, +	unicode_script_takri, +	unicode_script_takri, +	unicode_script_warang_citi, +	unicode_script_warang_citi, +	unicode_script_pau_cin_hau, +	unicode_script_cuneiform, +	unicode_script_cuneiform, +	unicode_script_cuneiform, +	unicode_script_cuneiform, +	unicode_script_cuneiform, +	unicode_script_cuneiform, +	unicode_script_egyptian_hieroglyphs, +	unicode_script_egyptian_hieroglyphs, +	unicode_script_egyptian_hieroglyphs, +	unicode_script_egyptian_hieroglyphs, +	unicode_script_egyptian_hieroglyphs, +	unicode_script_bamum, +	unicode_script_bamum, +	unicode_script_bamum, +	unicode_script_mro, +	unicode_script_mro, +	unicode_script_mro, +	unicode_script_bassa_vah, +	unicode_script_bassa_vah, +	unicode_script_pahawh_hmong, +	unicode_script_pahawh_hmong, +	unicode_script_pahawh_hmong, +	unicode_script_pahawh_hmong, +	unicode_script_pahawh_hmong, +	unicode_script_miao, +	unicode_script_miao, +	unicode_script_miao, +	unicode_script_katakana, +	unicode_script_hiragana, +	unicode_script_duployan, +	unicode_script_duployan, +	unicode_script_duployan, +	unicode_script_duployan, +	unicode_script_duployan, +	unicode_script_common, +	unicode_script_common, +	unicode_script_common, +	unicode_script_common, +	unicode_script_inherited, +	unicode_script_common, +	unicode_script_inherited, +	unicode_script_common, +	unicode_script_inherited, +	unicode_script_common, +	unicode_script_inherited, +	unicode_script_common, +	unicode_script_greek, +	unicode_script_common, +	unicode_script_common, +	unicode_script_common, +	unicode_script_common, +	unicode_script_common, +	unicode_script_common, +	unicode_script_common, +	unicode_script_common, +	unicode_script_common, +	unicode_script_common, +	unicode_script_common, +	unicode_script_common, +	unicode_script_common, +	unicode_script_common, +	unicode_script_common, +	unicode_script_common, +	unicode_script_common, +	unicode_script_common, +	unicode_script_common, +	unicode_script_common, +	unicode_script_common, +	unicode_script_common, +	unicode_script_common, +	unicode_script_common, +	unicode_script_common, +	unicode_script_common, +	unicode_script_mende_kikakui, +	unicode_script_mende_kikakui, +	unicode_script_arabic, +	unicode_script_arabic, +	unicode_script_arabic, +	unicode_script_arabic, +	unicode_script_arabic, +	unicode_script_arabic, +	unicode_script_arabic, +	unicode_script_arabic, +	unicode_script_arabic, +	unicode_script_arabic, +	unicode_script_arabic, +	unicode_script_arabic, +	unicode_script_arabic, +	unicode_script_arabic, +	unicode_script_arabic, +	unicode_script_arabic, +	unicode_script_arabic, +	unicode_script_arabic, +	unicode_script_arabic, +	unicode_script_arabic, +	unicode_script_arabic, +	unicode_script_arabic, +	unicode_script_arabic, +	unicode_script_arabic, +	unicode_script_arabic, +	unicode_script_arabic, +	unicode_script_arabic, +	unicode_script_arabic, +	unicode_script_arabic, +	unicode_script_arabic, +	unicode_script_arabic, +	unicode_script_arabic, +	unicode_script_arabic, +	unicode_script_arabic, +	unicode_script_common, +	unicode_script_common, +	unicode_script_common, +	unicode_script_common, +	unicode_script_common, +	unicode_script_common, +	unicode_script_common, +	unicode_script_common, +	unicode_script_common, +	unicode_script_common, +	unicode_script_common, +	unicode_script_hiragana, +	unicode_script_common, +	unicode_script_common, +	unicode_script_common, +	unicode_script_common, +	unicode_script_common, +	unicode_script_common, +	unicode_script_common, +	unicode_script_common, +	unicode_script_common, +	unicode_script_common, +	unicode_script_common, +	unicode_script_common, +	unicode_script_common, +	unicode_script_common, +	unicode_script_common, +	unicode_script_common, +	unicode_script_common, +	unicode_script_common, +	unicode_script_common, +	unicode_script_common, +	unicode_script_common, +	unicode_script_common, +	unicode_script_common, +	unicode_script_common, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_han, +	unicode_script_common, +	unicode_script_common, +	unicode_script_inherited};  static const size_t unicode_indextab[]={  	0, diff --git a/unicode/scripttest.c b/unicode/scripttest.c index 3009369..cdd182e 100644 --- a/unicode/scripttest.c +++ b/unicode/scripttest.c @@ -16,7 +16,7 @@ int main(int argc, char **argv)  {  	if (argc >= 2)  	{ -		printf("%s\n", unicode_script(strtol(argv[1], NULL, 0))); +		printf("%d\n", (int)unicode_script(strtol(argv[1], NULL, 0)));  	}  	return (0);  } diff --git a/unicode/unicode.h b/unicode/unicode.h index 715722a..a857fc3 100644 --- a/unicode/unicode.h +++ b/unicode/unicode.h @@ -92,12 +92,144 @@ extern uint8_t unicode_tab_lookup(unicode_char ch,  int unicode_grapheme_break(unicode_char a, unicode_char b); +typedef enum { +	/* UNICODE_SCRIPT_T */ +	unicode_script_unknown, +	unicode_script_common, +	unicode_script_latin, +	unicode_script_greek, +	unicode_script_cyrillic, +	unicode_script_armenian, +	unicode_script_hebrew, +	unicode_script_arabic, +	unicode_script_syriac, +	unicode_script_thaana, +	unicode_script_devanagari, +	unicode_script_bengali, +	unicode_script_gurmukhi, +	unicode_script_gujarati, +	unicode_script_oriya, +	unicode_script_tamil, +	unicode_script_telugu, +	unicode_script_kannada, +	unicode_script_malayalam, +	unicode_script_sinhala, +	unicode_script_thai, +	unicode_script_lao, +	unicode_script_tibetan, +	unicode_script_myanmar, +	unicode_script_georgian, +	unicode_script_hangul, +	unicode_script_ethiopic, +	unicode_script_cherokee, +	unicode_script_canadian_aboriginal, +	unicode_script_ogham, +	unicode_script_runic, +	unicode_script_khmer, +	unicode_script_mongolian, +	unicode_script_hiragana, +	unicode_script_katakana, +	unicode_script_bopomofo, +	unicode_script_han, +	unicode_script_yi, +	unicode_script_old_italic, +	unicode_script_gothic, +	unicode_script_deseret, +	unicode_script_inherited, +	unicode_script_tagalog, +	unicode_script_hanunoo, +	unicode_script_buhid, +	unicode_script_tagbanwa, +	unicode_script_limbu, +	unicode_script_tai_le, +	unicode_script_linear_b, +	unicode_script_ugaritic, +	unicode_script_shavian, +	unicode_script_osmanya, +	unicode_script_cypriot, +	unicode_script_braille, +	unicode_script_buginese, +	unicode_script_coptic, +	unicode_script_new_tai_lue, +	unicode_script_glagolitic, +	unicode_script_tifinagh, +	unicode_script_syloti_nagri, +	unicode_script_old_persian, +	unicode_script_kharoshthi, +	unicode_script_balinese, +	unicode_script_cuneiform, +	unicode_script_phoenician, +	unicode_script_phags_pa, +	unicode_script_nko, +	unicode_script_sundanese, +	unicode_script_lepcha, +	unicode_script_ol_chiki, +	unicode_script_vai, +	unicode_script_saurashtra, +	unicode_script_kayah_li, +	unicode_script_rejang, +	unicode_script_lycian, +	unicode_script_carian, +	unicode_script_lydian, +	unicode_script_cham, +	unicode_script_tai_tham, +	unicode_script_tai_viet, +	unicode_script_avestan, +	unicode_script_egyptian_hieroglyphs, +	unicode_script_samaritan, +	unicode_script_lisu, +	unicode_script_bamum, +	unicode_script_javanese, +	unicode_script_meetei_mayek, +	unicode_script_imperial_aramaic, +	unicode_script_old_south_arabian, +	unicode_script_inscriptional_parthian, +	unicode_script_inscriptional_pahlavi, +	unicode_script_old_turkic, +	unicode_script_kaithi, +	unicode_script_batak, +	unicode_script_brahmi, +	unicode_script_mandaic, +	unicode_script_chakma, +	unicode_script_meroitic_cursive, +	unicode_script_meroitic_hieroglyphs, +	unicode_script_miao, +	unicode_script_sharada, +	unicode_script_sora_sompeng, +	unicode_script_takri, +	unicode_script_caucasian_albanian, +	unicode_script_bassa_vah, +	unicode_script_duployan, +	unicode_script_elbasan, +	unicode_script_grantha, +	unicode_script_pahawh_hmong, +	unicode_script_khojki, +	unicode_script_linear_a, +	unicode_script_mahajani, +	unicode_script_manichaean, +	unicode_script_mende_kikakui, +	unicode_script_modi, +	unicode_script_mro, +	unicode_script_old_north_arabian, +	unicode_script_nabataean, +	unicode_script_palmyrene, +	unicode_script_pau_cin_hau, +	unicode_script_old_permic, +	unicode_script_psalter_pahlavi, +	unicode_script_siddham, +	unicode_script_khudawadi, +	unicode_script_tirhuta, +	unicode_script_warang_citi + +	/* UNICODE_SCRIPT_T */ +} unicode_script_t; +  /*  ** Look up the unicode script property, as per  ** http://www.unicode.org/reports/tr24/tr24-22.html  */ -const char *unicode_script(unicode_char a); +unicode_script_t unicode_script(unicode_char a);  /*  ** Implementation of line break rules, as per diff --git a/unicode/unicode_scripts.c b/unicode/unicode_scripts.c index 1b196b7..31aa4d8 100644 --- a/unicode/unicode_scripts.c +++ b/unicode/unicode_scripts.c @@ -8,14 +8,12 @@  #include	"unicode.h"  #include "scriptstab.h" -const char *unicode_script(unicode_char a) +unicode_script_t unicode_script(unicode_char a)  { -	uint8_t n=unicode_tab_lookup(a, unicode_indextab, -				     sizeof(unicode_indextab) -				     /sizeof(unicode_indextab[0]), -				     unicode_rangetab, -				     unicode_classtab, -				     sizeof(scripts)/sizeof(scripts[0])-1); - -	return scripts[n]; +	return unicode_tab_lookup(a, unicode_indextab, +				  sizeof(unicode_indextab) +				  /sizeof(unicode_indextab[0]), +				  unicode_rangetab, +				  unicode_classtab, +				  unicode_script_unknown);  } | 
