mirror of
				https://github.com/bellard/quickjs.git
				synced 2025-05-29 01:49:18 +08:00 
			
		
		
		
	updated to unicode 16.0.0 (bnoordhuis) - updated test262
This commit is contained in:
		
							parent
							
								
									29630bcea6
								
							
						
					
					
						commit
						b31bb20666
					
				
							
								
								
									
										5
									
								
								TODO
									
									
									
									
									
								
							
							
						
						
									
										5
									
								
								TODO
									
									
									
									
									
								
							@ -62,5 +62,6 @@ Optimization ideas:
 | 
				
			|||||||
Test262o:   0/11262 errors, 463 excluded
 | 
					Test262o:   0/11262 errors, 463 excluded
 | 
				
			||||||
Test262o commit: 7da91bceb9ce7613f87db47ddd1292a2dda58b42 (es5-tests branch)
 | 
					Test262o commit: 7da91bceb9ce7613f87db47ddd1292a2dda58b42 (es5-tests branch)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Result: 8/76947 errors, 1497 excluded, 8117 skipped
 | 
					Result: 169/76838 errors, 3112 excluded, 7010 skipped
 | 
				
			||||||
Test262 commit: 6cbb6da9473c56d95358d8e679c5a6d2b4574efb
 | 
					Test262 commit: 56e77d6325067a545ea7e8ff5be5d9284334e33c
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										3411
									
								
								libunicode-table.h
									
									
									
									
									
								
							
							
						
						
									
										3411
									
								
								libunicode-table.h
									
									
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										38
									
								
								test262.conf
									
									
									
									
									
								
							
							
						
						
									
										38
									
								
								test262.conf
									
									
									
									
									
								
							@ -61,7 +61,6 @@ Array.fromAsync=skip
 | 
				
			|||||||
Array.prototype.at
 | 
					Array.prototype.at
 | 
				
			||||||
Array.prototype.flat
 | 
					Array.prototype.flat
 | 
				
			||||||
Array.prototype.flatMap
 | 
					Array.prototype.flatMap
 | 
				
			||||||
Array.prototype.flatten
 | 
					 | 
				
			||||||
Array.prototype.includes
 | 
					Array.prototype.includes
 | 
				
			||||||
Array.prototype.values
 | 
					Array.prototype.values
 | 
				
			||||||
ArrayBuffer
 | 
					ArrayBuffer
 | 
				
			||||||
@ -70,9 +69,11 @@ arrow-function
 | 
				
			|||||||
async-functions
 | 
					async-functions
 | 
				
			||||||
async-iteration
 | 
					async-iteration
 | 
				
			||||||
Atomics
 | 
					Atomics
 | 
				
			||||||
 | 
					Atomics.pause=skip
 | 
				
			||||||
Atomics.waitAsync=skip
 | 
					Atomics.waitAsync=skip
 | 
				
			||||||
BigInt
 | 
					BigInt
 | 
				
			||||||
caller
 | 
					caller
 | 
				
			||||||
 | 
					canonical-tz=skip
 | 
				
			||||||
change-array-by-copy
 | 
					change-array-by-copy
 | 
				
			||||||
class
 | 
					class
 | 
				
			||||||
class-fields-private
 | 
					class-fields-private
 | 
				
			||||||
@ -83,7 +84,6 @@ class-static-block
 | 
				
			|||||||
class-static-fields-private
 | 
					class-static-fields-private
 | 
				
			||||||
class-static-fields-public
 | 
					class-static-fields-public
 | 
				
			||||||
class-static-methods-private
 | 
					class-static-methods-private
 | 
				
			||||||
cleanupSome=skip
 | 
					 | 
				
			||||||
coalesce-expression
 | 
					coalesce-expression
 | 
				
			||||||
computed-property-names
 | 
					computed-property-names
 | 
				
			||||||
const
 | 
					const
 | 
				
			||||||
@ -103,11 +103,12 @@ destructuring-assignment
 | 
				
			|||||||
destructuring-binding
 | 
					destructuring-binding
 | 
				
			||||||
dynamic-import
 | 
					dynamic-import
 | 
				
			||||||
error-cause
 | 
					error-cause
 | 
				
			||||||
 | 
					Error.isError=skip
 | 
				
			||||||
 | 
					explicit-resource-management=skip
 | 
				
			||||||
exponentiation
 | 
					exponentiation
 | 
				
			||||||
export-star-as-namespace-from-module
 | 
					export-star-as-namespace-from-module
 | 
				
			||||||
FinalizationGroup=skip
 | 
					 | 
				
			||||||
FinalizationRegistry.prototype.cleanupSome=skip
 | 
					 | 
				
			||||||
FinalizationRegistry=skip
 | 
					FinalizationRegistry=skip
 | 
				
			||||||
 | 
					Float16Array=skip
 | 
				
			||||||
Float32Array
 | 
					Float32Array
 | 
				
			||||||
Float64Array
 | 
					Float64Array
 | 
				
			||||||
for-in-order
 | 
					for-in-order
 | 
				
			||||||
@ -118,12 +119,31 @@ hashbang
 | 
				
			|||||||
host-gc-required=skip
 | 
					host-gc-required=skip
 | 
				
			||||||
import-assertions=skip
 | 
					import-assertions=skip
 | 
				
			||||||
import-attributes=skip
 | 
					import-attributes=skip
 | 
				
			||||||
 | 
					import-defer=skip
 | 
				
			||||||
import.meta
 | 
					import.meta
 | 
				
			||||||
Int16Array
 | 
					Int16Array
 | 
				
			||||||
Int32Array
 | 
					Int32Array
 | 
				
			||||||
Int8Array
 | 
					Int8Array
 | 
				
			||||||
 | 
					Intl-enumeration=skip
 | 
				
			||||||
 | 
					intl-normative-optional=skip
 | 
				
			||||||
 | 
					Intl.DateTimeFormat-datetimestyle=skip
 | 
				
			||||||
 | 
					Intl.DateTimeFormat-dayPeriod=skip
 | 
				
			||||||
 | 
					Intl.DateTimeFormat-extend-timezonename=skip
 | 
				
			||||||
 | 
					Intl.DateTimeFormat-formatRange=skip
 | 
				
			||||||
 | 
					Intl.DateTimeFormat-fractionalSecondDigits=skip
 | 
				
			||||||
 | 
					Intl.DisplayNames-v2=skip
 | 
				
			||||||
 | 
					Intl.DisplayNames=skip
 | 
				
			||||||
 | 
					Intl.DurationFormat=skip
 | 
				
			||||||
 | 
					Intl.ListFormat=skip
 | 
				
			||||||
 | 
					Intl.Locale-info=skip
 | 
				
			||||||
 | 
					Intl.Locale=skip
 | 
				
			||||||
 | 
					Intl.NumberFormat-unified=skip
 | 
				
			||||||
 | 
					Intl.NumberFormat-v3=skip
 | 
				
			||||||
 | 
					Intl.RelativeTimeFormat=skip
 | 
				
			||||||
 | 
					Intl.Segmenter=skip
 | 
				
			||||||
IsHTMLDDA
 | 
					IsHTMLDDA
 | 
				
			||||||
iterator-helpers=skip
 | 
					iterator-helpers=skip
 | 
				
			||||||
 | 
					iterator-sequencing=skip
 | 
				
			||||||
json-modules=skip
 | 
					json-modules=skip
 | 
				
			||||||
json-parse-with-source=skip
 | 
					json-parse-with-source=skip
 | 
				
			||||||
json-superset
 | 
					json-superset
 | 
				
			||||||
@ -131,6 +151,7 @@ legacy-regexp=skip
 | 
				
			|||||||
let
 | 
					let
 | 
				
			||||||
logical-assignment-operators
 | 
					logical-assignment-operators
 | 
				
			||||||
Map
 | 
					Map
 | 
				
			||||||
 | 
					Math.sumPrecise=skip
 | 
				
			||||||
new.target
 | 
					new.target
 | 
				
			||||||
numeric-separator-literal
 | 
					numeric-separator-literal
 | 
				
			||||||
object-rest
 | 
					object-rest
 | 
				
			||||||
@ -141,6 +162,7 @@ Object.is
 | 
				
			|||||||
optional-catch-binding
 | 
					optional-catch-binding
 | 
				
			||||||
optional-chaining
 | 
					optional-chaining
 | 
				
			||||||
Promise
 | 
					Promise
 | 
				
			||||||
 | 
					promise-try=skip
 | 
				
			||||||
promise-with-resolvers
 | 
					promise-with-resolvers
 | 
				
			||||||
Promise.allSettled
 | 
					Promise.allSettled
 | 
				
			||||||
Promise.any
 | 
					Promise.any
 | 
				
			||||||
@ -155,15 +177,19 @@ regexp-dotall
 | 
				
			|||||||
regexp-duplicate-named-groups=skip
 | 
					regexp-duplicate-named-groups=skip
 | 
				
			||||||
regexp-lookbehind
 | 
					regexp-lookbehind
 | 
				
			||||||
regexp-match-indices
 | 
					regexp-match-indices
 | 
				
			||||||
 | 
					regexp-modifiers=skip
 | 
				
			||||||
regexp-named-groups
 | 
					regexp-named-groups
 | 
				
			||||||
regexp-unicode-property-escapes
 | 
					regexp-unicode-property-escapes
 | 
				
			||||||
regexp-v-flag=skip
 | 
					regexp-v-flag=skip
 | 
				
			||||||
 | 
					RegExp.escape=skip
 | 
				
			||||||
resizable-arraybuffer=skip
 | 
					resizable-arraybuffer=skip
 | 
				
			||||||
rest-parameters
 | 
					rest-parameters
 | 
				
			||||||
Set
 | 
					Set
 | 
				
			||||||
set-methods=skip
 | 
					set-methods=skip
 | 
				
			||||||
ShadowRealm=skip
 | 
					ShadowRealm=skip
 | 
				
			||||||
SharedArrayBuffer
 | 
					SharedArrayBuffer
 | 
				
			||||||
 | 
					source-phase-imports-module-source=skip
 | 
				
			||||||
 | 
					source-phase-imports=skip
 | 
				
			||||||
string-trimming
 | 
					string-trimming
 | 
				
			||||||
String.fromCodePoint
 | 
					String.fromCodePoint
 | 
				
			||||||
String.prototype.at
 | 
					String.prototype.at
 | 
				
			||||||
@ -202,6 +228,7 @@ u180e
 | 
				
			|||||||
Uint16Array
 | 
					Uint16Array
 | 
				
			||||||
Uint32Array
 | 
					Uint32Array
 | 
				
			||||||
Uint8Array
 | 
					Uint8Array
 | 
				
			||||||
 | 
					uint8array-base64=skip
 | 
				
			||||||
Uint8ClampedArray
 | 
					Uint8ClampedArray
 | 
				
			||||||
WeakMap
 | 
					WeakMap
 | 
				
			||||||
WeakRef=skip
 | 
					WeakRef=skip
 | 
				
			||||||
@ -223,5 +250,8 @@ test262/test/built-ins/ThrowTypeError/unique-per-realm-function-proto.js
 | 
				
			|||||||
#test262/test/built-ins/RegExp/CharacterClassEscapes/
 | 
					#test262/test/built-ins/RegExp/CharacterClassEscapes/
 | 
				
			||||||
#test262/test/built-ins/RegExp/property-escapes/
 | 
					#test262/test/built-ins/RegExp/property-escapes/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# frequently broken, sometimes contain engine-dependent tests
 | 
				
			||||||
 | 
					test262/test/staging/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[tests]
 | 
					[tests]
 | 
				
			||||||
# list test files or use config.testdir
 | 
					# list test files or use config.testdir
 | 
				
			||||||
 | 
				
			|||||||
@ -22,7 +22,7 @@ index 9828b15..4a5919d 100644
 | 
				
			|||||||
 
 | 
					 
 | 
				
			||||||
 /**
 | 
					 /**
 | 
				
			||||||
diff --git a/harness/regExpUtils.js b/harness/regExpUtils.js
 | 
					diff --git a/harness/regExpUtils.js b/harness/regExpUtils.js
 | 
				
			||||||
index b55f3c6..396bad4 100644
 | 
					index b397be0..c197ddc 100644
 | 
				
			||||||
--- a/harness/regExpUtils.js
 | 
					--- a/harness/regExpUtils.js
 | 
				
			||||||
+++ b/harness/regExpUtils.js
 | 
					+++ b/harness/regExpUtils.js
 | 
				
			||||||
@@ -6,27 +6,30 @@ description: |
 | 
					@@ -6,27 +6,30 @@ description: |
 | 
				
			||||||
@ -51,21 +51,20 @@ index b55f3c6..396bad4 100644
 | 
				
			|||||||
   const loneCodePoints = args.loneCodePoints;
 | 
					   const loneCodePoints = args.loneCodePoints;
 | 
				
			||||||
   const ranges = args.ranges;
 | 
					   const ranges = args.ranges;
 | 
				
			||||||
-  const CHUNK_SIZE = 10000;
 | 
					-  const CHUNK_SIZE = 10000;
 | 
				
			||||||
-  let result = Reflect.apply(String.fromCodePoint, null, loneCodePoints);
 | 
					   let result = String.fromCodePoint.apply(null, loneCodePoints);
 | 
				
			||||||
-  for (let i = 0; i < ranges.length; i++) {
 | 
					-  for (let i = 0; i < ranges.length; i++) {
 | 
				
			||||||
-    const range = ranges[i];
 | 
					-    let range = ranges[i];
 | 
				
			||||||
-    const start = range[0];
 | 
					-    let start = range[0];
 | 
				
			||||||
-    const end = range[1];
 | 
					-    let end = range[1];
 | 
				
			||||||
-    const codePoints = [];
 | 
					-    let codePoints = [];
 | 
				
			||||||
-    for (let length = 0, codePoint = start; codePoint <= end; codePoint++) {
 | 
					-    for (let length = 0, codePoint = start; codePoint <= end; codePoint++) {
 | 
				
			||||||
-      codePoints[length++] = codePoint;
 | 
					-      codePoints[length++] = codePoint;
 | 
				
			||||||
-      if (length === CHUNK_SIZE) {
 | 
					-      if (length === CHUNK_SIZE) {
 | 
				
			||||||
-        result += Reflect.apply(String.fromCodePoint, null, codePoints);
 | 
					-        result += String.fromCodePoint.apply(null, codePoints);
 | 
				
			||||||
-        codePoints.length = length = 0;
 | 
					-        codePoints.length = length = 0;
 | 
				
			||||||
-      }
 | 
					-      }
 | 
				
			||||||
-    }
 | 
					-    }
 | 
				
			||||||
-    result += Reflect.apply(String.fromCodePoint, null, codePoints);
 | 
					-    result += String.fromCodePoint.apply(null, codePoints);
 | 
				
			||||||
+  let result = String.fromCodePoint.apply(null, loneCodePoints);
 | 
					 | 
				
			||||||
+  for (const [start, end] of ranges) {
 | 
					+  for (const [start, end] of ranges) {
 | 
				
			||||||
+    result += codePointRange(start, end + 1);
 | 
					+    result += codePointRange(start, end + 1);
 | 
				
			||||||
   }
 | 
					   }
 | 
				
			||||||
 | 
				
			|||||||
@ -1,7 +1,7 @@
 | 
				
			|||||||
#!/bin/sh
 | 
					#!/bin/sh
 | 
				
			||||||
set -e
 | 
					set -e
 | 
				
			||||||
 | 
					
 | 
				
			||||||
url="ftp://ftp.unicode.org/Public/15.0.0/ucd"
 | 
					url="ftp://ftp.unicode.org/Public/16.0.0/ucd"
 | 
				
			||||||
emoji_url="${url}/emoji/emoji-data.txt"
 | 
					emoji_url="${url}/emoji/emoji-data.txt"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
files="CaseFolding.txt DerivedNormalizationProps.txt PropList.txt \
 | 
					files="CaseFolding.txt DerivedNormalizationProps.txt PropList.txt \
 | 
				
			||||||
 | 
				
			|||||||
@ -625,7 +625,7 @@ void parse_derived_core_properties(const char *filename)
 | 
				
			|||||||
            p++;
 | 
					            p++;
 | 
				
			||||||
            p += strspn(p, " \t");
 | 
					            p += strspn(p, " \t");
 | 
				
			||||||
            q = buf;
 | 
					            q = buf;
 | 
				
			||||||
            while (*p != '\0' && *p != ' ' && *p != '#' && *p != '\t') {
 | 
					            while (*p != '\0' && *p != ' ' && *p != '#' && *p != '\t' && *p != ';') {
 | 
				
			||||||
                if ((q - buf) < sizeof(buf) - 1)
 | 
					                if ((q - buf) < sizeof(buf) - 1)
 | 
				
			||||||
                    *q++ = *p;
 | 
					                    *q++ = *p;
 | 
				
			||||||
                p++;
 | 
					                p++;
 | 
				
			||||||
@ -1117,6 +1117,24 @@ void find_run_type(TableEntry *te, CCInfo *tab, int code)
 | 
				
			|||||||
            te->ext_data[1] = ci->u_data[1];
 | 
					            te->ext_data[1] = ci->u_data[1];
 | 
				
			||||||
            te->ext_data[2] = ci->u_data[2];
 | 
					            te->ext_data[2] = ci->u_data[2];
 | 
				
			||||||
            te->ext_len = 3;
 | 
					            te->ext_len = 3;
 | 
				
			||||||
 | 
					        } else if (ci->u_len == 2 && ci->l_len == 0 && ci->f_len == 1) {
 | 
				
			||||||
 | 
					            // U+FB05 LATIN SMALL LIGATURE LONG S T
 | 
				
			||||||
 | 
					            assert(code == 0xFB05);
 | 
				
			||||||
 | 
					            te->len = 1;
 | 
				
			||||||
 | 
					            te->type = RUN_TYPE_UF_EXT2;
 | 
				
			||||||
 | 
					            te->ext_data[0] = ci->u_data[0];
 | 
				
			||||||
 | 
					            te->ext_data[1] = ci->u_data[1];
 | 
				
			||||||
 | 
					            te->ext_len = 2;
 | 
				
			||||||
 | 
					        } else if (ci->u_len == 3 && ci->l_len == 0 && ci->f_len == 1) {
 | 
				
			||||||
 | 
					            // U+1FD3 GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA or
 | 
				
			||||||
 | 
					            // U+1FE3 GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND OXIA
 | 
				
			||||||
 | 
					            assert(code == 0x1FD3 || code == 0x1FE3);
 | 
				
			||||||
 | 
					            te->len = 1;
 | 
				
			||||||
 | 
					            te->type = RUN_TYPE_UF_EXT3;
 | 
				
			||||||
 | 
					            te->ext_data[0] = ci->u_data[0];
 | 
				
			||||||
 | 
					            te->ext_data[1] = ci->u_data[1];
 | 
				
			||||||
 | 
					            te->ext_data[2] = ci->u_data[2];
 | 
				
			||||||
 | 
					            te->ext_len = 3;
 | 
				
			||||||
        } else {
 | 
					        } else {
 | 
				
			||||||
            printf("unsupported encoding case:\n");
 | 
					            printf("unsupported encoding case:\n");
 | 
				
			||||||
            dump_cc_info(ci, code);
 | 
					            dump_cc_info(ci, code);
 | 
				
			||||||
 | 
				
			|||||||
@ -82,6 +82,7 @@ DEF(Egyptian_Hieroglyphs, "Egyp")
 | 
				
			|||||||
DEF(Elbasan, "Elba")
 | 
					DEF(Elbasan, "Elba")
 | 
				
			||||||
DEF(Elymaic, "Elym")
 | 
					DEF(Elymaic, "Elym")
 | 
				
			||||||
DEF(Ethiopic, "Ethi")
 | 
					DEF(Ethiopic, "Ethi")
 | 
				
			||||||
 | 
					DEF(Garay, "Gara")
 | 
				
			||||||
DEF(Georgian, "Geor")
 | 
					DEF(Georgian, "Geor")
 | 
				
			||||||
DEF(Glagolitic, "Glag")
 | 
					DEF(Glagolitic, "Glag")
 | 
				
			||||||
DEF(Gothic, "Goth")
 | 
					DEF(Gothic, "Goth")
 | 
				
			||||||
@ -90,6 +91,7 @@ DEF(Greek, "Grek")
 | 
				
			|||||||
DEF(Gujarati, "Gujr")
 | 
					DEF(Gujarati, "Gujr")
 | 
				
			||||||
DEF(Gunjala_Gondi, "Gong")
 | 
					DEF(Gunjala_Gondi, "Gong")
 | 
				
			||||||
DEF(Gurmukhi, "Guru")
 | 
					DEF(Gurmukhi, "Guru")
 | 
				
			||||||
 | 
					DEF(Gurung_Khema, "Gukh")
 | 
				
			||||||
DEF(Han, "Hani")
 | 
					DEF(Han, "Hani")
 | 
				
			||||||
DEF(Hangul, "Hang")
 | 
					DEF(Hangul, "Hang")
 | 
				
			||||||
DEF(Hanifi_Rohingya, "Rohg")
 | 
					DEF(Hanifi_Rohingya, "Rohg")
 | 
				
			||||||
@ -112,6 +114,7 @@ DEF(Khmer, "Khmr")
 | 
				
			|||||||
DEF(Khojki, "Khoj")
 | 
					DEF(Khojki, "Khoj")
 | 
				
			||||||
DEF(Khitan_Small_Script, "Kits")
 | 
					DEF(Khitan_Small_Script, "Kits")
 | 
				
			||||||
DEF(Khudawadi, "Sind")
 | 
					DEF(Khudawadi, "Sind")
 | 
				
			||||||
 | 
					DEF(Kirat_Rai, "Krai")
 | 
				
			||||||
DEF(Lao, "Laoo")
 | 
					DEF(Lao, "Laoo")
 | 
				
			||||||
DEF(Latin, "Latn")
 | 
					DEF(Latin, "Latn")
 | 
				
			||||||
DEF(Lepcha, "Lepc")
 | 
					DEF(Lepcha, "Lepc")
 | 
				
			||||||
@ -149,6 +152,7 @@ DEF(Nushu, "Nshu")
 | 
				
			|||||||
DEF(Nyiakeng_Puachue_Hmong, "Hmnp")
 | 
					DEF(Nyiakeng_Puachue_Hmong, "Hmnp")
 | 
				
			||||||
DEF(Ogham, "Ogam")
 | 
					DEF(Ogham, "Ogam")
 | 
				
			||||||
DEF(Ol_Chiki, "Olck")
 | 
					DEF(Ol_Chiki, "Olck")
 | 
				
			||||||
 | 
					DEF(Ol_Onal, "Onao")
 | 
				
			||||||
DEF(Old_Hungarian, "Hung")
 | 
					DEF(Old_Hungarian, "Hung")
 | 
				
			||||||
DEF(Old_Italic, "Ital")
 | 
					DEF(Old_Italic, "Ital")
 | 
				
			||||||
DEF(Old_North_Arabian, "Narb")
 | 
					DEF(Old_North_Arabian, "Narb")
 | 
				
			||||||
@ -180,6 +184,7 @@ DEF(Sogdian, "Sogd")
 | 
				
			|||||||
DEF(Sora_Sompeng, "Sora")
 | 
					DEF(Sora_Sompeng, "Sora")
 | 
				
			||||||
DEF(Soyombo, "Soyo")
 | 
					DEF(Soyombo, "Soyo")
 | 
				
			||||||
DEF(Sundanese, "Sund")
 | 
					DEF(Sundanese, "Sund")
 | 
				
			||||||
 | 
					DEF(Sunuwar, "Sunu")
 | 
				
			||||||
DEF(Syloti_Nagri, "Sylo")
 | 
					DEF(Syloti_Nagri, "Sylo")
 | 
				
			||||||
DEF(Syriac, "Syrc")
 | 
					DEF(Syriac, "Syrc")
 | 
				
			||||||
DEF(Tagalog, "Tglg")
 | 
					DEF(Tagalog, "Tglg")
 | 
				
			||||||
@ -197,7 +202,9 @@ DEF(Tibetan, "Tibt")
 | 
				
			|||||||
DEF(Tifinagh, "Tfng")
 | 
					DEF(Tifinagh, "Tfng")
 | 
				
			||||||
DEF(Tirhuta, "Tirh")
 | 
					DEF(Tirhuta, "Tirh")
 | 
				
			||||||
DEF(Tangsa, "Tnsa")
 | 
					DEF(Tangsa, "Tnsa")
 | 
				
			||||||
 | 
					DEF(Todhri, "Todr")
 | 
				
			||||||
DEF(Toto, "Toto")
 | 
					DEF(Toto, "Toto")
 | 
				
			||||||
 | 
					DEF(Tulu_Tigalari, "Tutg")
 | 
				
			||||||
DEF(Ugaritic, "Ugar")
 | 
					DEF(Ugaritic, "Ugar")
 | 
				
			||||||
DEF(Vai, "Vaii")
 | 
					DEF(Vai, "Vaii")
 | 
				
			||||||
DEF(Vithkuqi, "Vith")
 | 
					DEF(Vithkuqi, "Vith")
 | 
				
			||||||
@ -236,11 +243,13 @@ DEF(Deprecated, "Dep")
 | 
				
			|||||||
DEF(Diacritic, "Dia")
 | 
					DEF(Diacritic, "Dia")
 | 
				
			||||||
DEF(Extender, "Ext")
 | 
					DEF(Extender, "Ext")
 | 
				
			||||||
DEF(Hex_Digit, "Hex")
 | 
					DEF(Hex_Digit, "Hex")
 | 
				
			||||||
 | 
					DEF(IDS_Unary_Operator, "IDSU")
 | 
				
			||||||
DEF(IDS_Binary_Operator, "IDSB")
 | 
					DEF(IDS_Binary_Operator, "IDSB")
 | 
				
			||||||
DEF(IDS_Trinary_Operator, "IDST")
 | 
					DEF(IDS_Trinary_Operator, "IDST")
 | 
				
			||||||
DEF(Ideographic, "Ideo")
 | 
					DEF(Ideographic, "Ideo")
 | 
				
			||||||
DEF(Join_Control, "Join_C")
 | 
					DEF(Join_Control, "Join_C")
 | 
				
			||||||
DEF(Logical_Order_Exception, "LOE")
 | 
					DEF(Logical_Order_Exception, "LOE")
 | 
				
			||||||
 | 
					DEF(Modifier_Combining_Mark, "MCM")
 | 
				
			||||||
DEF(Noncharacter_Code_Point, "NChar")
 | 
					DEF(Noncharacter_Code_Point, "NChar")
 | 
				
			||||||
DEF(Pattern_Syntax, "Pat_Syn")
 | 
					DEF(Pattern_Syntax, "Pat_Syn")
 | 
				
			||||||
DEF(Pattern_White_Space, "Pat_WS")
 | 
					DEF(Pattern_White_Space, "Pat_WS")
 | 
				
			||||||
@ -279,6 +288,9 @@ DEF(Changes_When_Uppercased, "CWU")
 | 
				
			|||||||
DEF(Grapheme_Base, "Gr_Base")
 | 
					DEF(Grapheme_Base, "Gr_Base")
 | 
				
			||||||
DEF(Grapheme_Extend, "Gr_Ext")
 | 
					DEF(Grapheme_Extend, "Gr_Ext")
 | 
				
			||||||
DEF(ID_Continue, "IDC")
 | 
					DEF(ID_Continue, "IDC")
 | 
				
			||||||
 | 
					DEF(ID_Compat_Math_Start, "")
 | 
				
			||||||
 | 
					DEF(ID_Compat_Math_Continue, "")
 | 
				
			||||||
 | 
					DEF(InCB, "")
 | 
				
			||||||
DEF(Lowercase, "Lower")
 | 
					DEF(Lowercase, "Lower")
 | 
				
			||||||
DEF(Math, "")
 | 
					DEF(Math, "")
 | 
				
			||||||
DEF(Uppercase, "Upper")
 | 
					DEF(Uppercase, "Upper")
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user