]> git.saurik.com Git - apple/icu.git/blobdiff - icuSources/common/uscript_props.cpp
ICU-59117.0.1.tar.gz
[apple/icu.git] / icuSources / common / uscript_props.cpp
index 40b684e8a804dde538655c15558bffb41465715f..f8ec5e361d222ba4b6fc178b23c67a2dad66de29 100644 (file)
@@ -1,10 +1,12 @@
+// © 2016 and later: Unicode, Inc. and others.
+// License & terms of use: http://www.unicode.org/copyright.html
 /*
 *******************************************************************************
-*   Copyright (C) 2013, International Business Machines
+*   Copyright (C) 2013-2016, International Business Machines
 *   Corporation and others.  All Rights Reserved.
 *******************************************************************************
 *   file name:  uscript_props.cpp
-*   encoding:   US-ASCII
+*   encoding:   UTF-8
 *   tab size:   8 (not used)
 *   indentation:4
 *
@@ -17,8 +19,7 @@
 #include "unicode/uscript.h"
 #include "unicode/utf16.h"
 #include "ustr_imp.h"
-
-#define LENGTHOF(array) (int32_t)(sizeof(array)/sizeof((array)[0]))
+#include "cmemory.h"
 
 namespace {
 
@@ -43,13 +44,13 @@ const int32_t CASED = 1 << 26;
 const int32_t SCRIPT_PROPS[] = {
     // Begin copy-paste output from
     // tools/trunk/unicode/py/parsescriptmetadata.py
-    0x0040 | UNKNOWN,  // Zyyy
-    0x0308 | UNKNOWN,  // Zinh
+    0x0040 | RECOMMENDED,  // Zyyy
+    0x0308 | RECOMMENDED,  // Zinh
     0x0628 | RECOMMENDED | RTL,  // Arab
     0x0531 | RECOMMENDED | CASED,  // Armn
     0x0995 | RECOMMENDED,  // Beng
     0x3105 | RECOMMENDED | LB_LETTERS,  // Bopo
-    0x13C4 | LIMITED_USE,  // Cher
+    0x13C4 | LIMITED_USE | CASED,  // Cher
     0x03E2 | EXCLUSION | CASED,  // Copt
     0x042F | RECOMMENDED | CASED,  // Cyrl
     0x10414 | EXCLUSION | CASED,  // Dsrt
@@ -89,7 +90,7 @@ const int32_t SCRIPT_PROPS[] = {
     0x1723 | EXCLUSION,  // Hano
     0x1743 | EXCLUSION,  // Buhd
     0x1763 | EXCLUSION,  // Tagb
-    0x2800 | UNKNOWN,  // Brai
+    0x280E | UNKNOWN,  // Brai
     0x10800 | EXCLUSION | RTL,  // Cprt
     0x1900 | LIMITED_USE,  // Limb
     0x10000 | EXCLUSION,  // Linb
@@ -105,7 +106,7 @@ const int32_t SCRIPT_PROPS[] = {
     0x1980 | LIMITED_USE | LB_LETTERS,  // Talu
     0x2D30 | ASPIRATIONAL,  // Tfng
     0x103A0 | EXCLUSION,  // Xpeo
-    0x1B05 | LIMITED_USE | LB_LETTERS,  // Bali
+    0x1B05 | LIMITED_USE,  // Bali
     0x1BC0 | LIMITED_USE,  // Batk
     0,
     0x11005 | EXCLUSION,  // Brah
@@ -118,21 +119,21 @@ const int32_t SCRIPT_PROPS[] = {
     0,
     0x5B57 | RECOMMENDED | LB_LETTERS,  // Hans
     0x5B57 | RECOMMENDED | LB_LETTERS,  // Hant
+    0x16B1C | EXCLUSION,  // Hmng
+    0x10CA1 | EXCLUSION | RTL | CASED,  // Hung
     0,
-    0,
-    0,
-    0xA984 | LIMITED_USE | LB_LETTERS,  // Java
+    0xA984 | LIMITED_USE,  // Java
     0xA90A | LIMITED_USE,  // Kali
     0,
     0,
     0x1C00 | LIMITED_USE,  // Lepc
-    0,
+    0x10647 | EXCLUSION,  // Lina
     0x0840 | LIMITED_USE | RTL,  // Mand
     0,
     0x10980 | EXCLUSION | RTL,  // Mero
     0x07CA | LIMITED_USE | RTL,  // Nkoo
     0x10C00 | EXCLUSION | RTL,  // Orkh
-    0,
+    0x1036B | EXCLUSION,  // Perm
     0xA840 | EXCLUSION,  // Phag
     0x10900 | EXCLUSION | RTL,  // Phnx
     0x16F00 | ASPIRATIONAL,  // Plrd
@@ -155,7 +156,7 @@ const int32_t SCRIPT_PROPS[] = {
     0x1C5A | LIMITED_USE,  // Olck
     0xA930 | EXCLUSION,  // Rjng
     0xA882 | LIMITED_USE,  // Saur
-    0,
+    0x1D850 | EXCLUSION,  // Sgnw
     0x1B83 | LIMITED_USE,  // Sund
     0,
     0xABC0 | LIMITED_USE,  // Mtei
@@ -164,9 +165,9 @@ const int32_t SCRIPT_PROPS[] = {
     0x11103 | LIMITED_USE,  // Cakm
     0xAC00 | RECOMMENDED,  // Kore
     0x11083 | EXCLUSION,  // Kthi
-    0,
+    0x10AD8 | EXCLUSION | RTL,  // Mani
     0x10B60 | EXCLUSION | RTL,  // Phli
-    0,
+    0x10B8F | EXCLUSION | RTL,  // Phlp
     0,
     0x10B40 | EXCLUSION | RTL,  // Prti
     0x0800 | EXCLUSION | RTL,  // Samr
@@ -177,38 +178,52 @@ const int32_t SCRIPT_PROPS[] = {
     0xA4D0 | LIMITED_USE,  // Lisu
     0,
     0x10A60 | EXCLUSION | RTL,  // Sarb
+    0x16AE6 | EXCLUSION,  // Bass
+    0x1BC20 | EXCLUSION,  // Dupl
+    0x10500 | EXCLUSION,  // Elba
+    0x11315 | EXCLUSION,  // Gran
     0,
     0,
-    0,
-    0,
-    0,
-    0,
-    0,
+    0x1E802 | EXCLUSION | RTL,  // Mend
     0x109A0 | EXCLUSION | RTL,  // Merc
+    0x10A95 | EXCLUSION | RTL,  // Narb
+    0x10896 | EXCLUSION | RTL,  // Nbat
+    0x10873 | EXCLUSION | RTL,  // Palm
+    0x112BE | EXCLUSION,  // Sind
+    0x118B4 | EXCLUSION | CASED,  // Wara
     0,
     0,
-    0,
-    0,
-    0,
-    0,
-    0,
-    0,
+    0x16A4F | EXCLUSION,  // Mroo
     0,
     0x11183 | EXCLUSION,  // Shrd
     0x110D0 | EXCLUSION,  // Sora
     0x11680 | EXCLUSION,  // Takr
-    0,
-    0,
-    0,
-    0,
-    0,
-    0,
+    0x18229 | EXCLUSION | LB_LETTERS,  // Tang
+    0,
+    0x14400 | EXCLUSION,  // Hluw
+    0x11208 | EXCLUSION,  // Khoj
+    0x11484 | EXCLUSION,  // Tirh
+    0x10537 | EXCLUSION,  // Aghb
+    0x11152 | EXCLUSION,  // Mahj
+    0x11717 | EXCLUSION | LB_LETTERS,  // Ahom
+    0x108F4 | EXCLUSION | RTL,  // Hatr
+    0x1160E | EXCLUSION,  // Modi
+    0x1128F | EXCLUSION,  // Mult
+    0x11AC0 | EXCLUSION,  // Pauc
+    0x1158E | EXCLUSION,  // Sidd
+    0x1E909 | LIMITED_USE | RTL | CASED,  // Adlm
+    0x11C0E | EXCLUSION,  // Bhks
+    0x11C72 | EXCLUSION,  // Marc
+    0x11412 | LIMITED_USE,  // Newa
+    0x104B5 | LIMITED_USE | CASED,  // Osge
+    0x5B57 | RECOMMENDED | LB_LETTERS,  // Hanb
+    0x1112 | RECOMMENDED,  // Jamo
     0,
     // End copy-paste from parsescriptmetadata.py
 };
 
 int32_t getScriptProps(UScriptCode script) {
-    if (0 <= script && script < LENGTHOF(SCRIPT_PROPS)) {
+    if (0 <= script && script < UPRV_LENGTHOF(SCRIPT_PROPS)) {
         return SCRIPT_PROPS[script];
     } else {
         return 0;