resync with mainline
[p5sagit/p5-mst-13.2.git] / lib / unicode / Bidirectional.pl
index e10210d..f2ff4e6 100644 (file)
@@ -1,7 +1,13 @@
 return <<'END';
-0000   0008    ON
+0000   0008    BN
 0009           S
-000a   001f    ON
+000a           B
+000b           S
+000c           WS
+000d           B
+000e   001b    BN
+001c   001e    B
+001f           S
 0020           WS
 0021   0022    ON
 0023   0025    ET
@@ -17,94 +23,140 @@ return <<'END';
 0041   005a    L
 005b   0060    ON
 0061   007a    L
-007b   009f    ON
-00a0           WS
+007b   007e    ON
+007f   0084    BN
+0085           B
+0086   009f    BN
+00a0           CS
 00a1           ON
 00a2   00a5    ET
-00a6   00af    ON
+00a6   00a9    ON
+00aa           L
+00ab   00af    ON
 00b0   00b1    ET
 00b2   00b3    EN
-00b4   00b8    ON
+00b4           ON
+00b5           L
+00b6   00b8    ON
 00b9           EN
-00ba   00bf    ON
+00ba           L
+00bb   00bf    ON
 00c0   00d6    L
 00d7           ON
 00d8   00f6    L
 00f7           ON
-00f8   01f5    L
-01fa   0217    L
-0250   02a8    L
-02b0   02de    L
-02e0   02e9    L
-0300   0345    L
-0360   0361    L
-0374   0375    L
+00f8   021f    L
+0222   0233    L
+0250   02ad    L
+02b0   02b8    L
+02b9   02ba    ON
+02bb   02c1    L
+02c2   02cf    ON
+02d0   02d1    L
+02d2   02df    ON
+02e0   02e4    L
+02e5   02ed    ON
+02ee           L
+0300   034e    NSM
+0360   0362    NSM
+0374   0375    ON
 037a           L
-037e           L
-0384   038a    L
+037e           ON
+0384   0385    ON
+0386           L
+0387           ON
+0388   038a    L
 038c           L
 038e   03a1    L
 03a3   03ce    L
-03d0   03d6    L
-03da           L
-03dc           L
-03de           L
-03e0           L
-03e2   03f3    L
-0401   040c    L
-040e   044f    L
-0451   045c    L
-045e   0486    L
-0490   04c4    L
+03d0   03d7    L
+03da   03f3    L
+0400   0482    L
+0483   0486    NSM
+0488   0489    NSM
+048c   04c4    L
 04c7   04c8    L
 04cb   04cc    L
-04d0   04eb    L
-04ee   04f5    L
+04d0   04f5    L
 04f8   04f9    L
 0531   0556    L
 0559   055f    L
 0561   0587    L
 0589           L
-0591   05a1    R
-05a3   05b9    R
-05bb   05c4    R
+058a           ON
+0591   05a1    NSM
+05a3   05b9    NSM
+05bb   05bd    NSM
+05be           R
+05bf           NSM
+05c0           R
+05c1   05c2    NSM
+05c3           R
+05c4           NSM
 05d0   05ea    R
 05f0   05f4    R
-060c           R
-061b           R
-061f           R
-0621   063a    R
-0640   0652    R
+060c           CS
+061b           AL
+061f           AL
+0621   063a    AL
+0640   064a    AL
+064b   0655    NSM
 0660   0669    AN
 066a           ET
 066b   066c    AN
-066d           R
-0670   06b7    R
-06ba   06be    R
-06c0   06ce    R
-06d0   06ed    R
+066d           AL
+0670           NSM
+0671   06d5    AL
+06d6   06e4    NSM
+06e5   06e6    AL
+06e7   06e8    NSM
+06e9           ON
+06ea   06ed    NSM
 06f0   06f9    EN
-0901   0903    L
+06fa   06fe    AL
+0700   070d    AL
+070f           BN
+0710           AL
+0711           NSM
+0712   072c    AL
+0730   074a    NSM
+0780   07a5    AL
+07a6   07b0    NSM
+0901   0902    NSM
+0903           L
 0905   0939    L
-093c   094d    L
-0950   0954    L
-0958   0970    L
-0981   0983    L
+093c           NSM
+093d   0940    L
+0941   0948    NSM
+0949   094c    L
+094d           NSM
+0950           L
+0951   0954    NSM
+0958   0961    L
+0962   0963    NSM
+0964   0970    L
+0981           NSM
+0982   0983    L
 0985   098c    L
 098f   0990    L
 0993   09a8    L
 09aa   09b0    L
 09b2           L
 09b6   09b9    L
-09bc           L
-09be   09c4    L
+09bc           NSM
+09be   09c0    L
+09c1   09c4    NSM
 09c7   09c8    L
-09cb   09cd    L
+09cb   09cc    L
+09cd           NSM
 09d7           L
 09dc   09dd    L
-09df   09e3    L
-09e6   09fa    L
-0a02           L
+09df   09e1    L
+09e2   09e3    NSM
+09e6   09f1    L
+09f2   09f3    ET
+09f4   09fa    L
+0a02           NSM
 0a05   0a0a    L
 0a0f   0a10    L
 0a13   0a28    L
@@ -112,14 +164,18 @@ return <<'END';
 0a32   0a33    L
 0a35   0a36    L
 0a38   0a39    L
-0a3c           L
-0a3e   0a42    L
-0a47   0a48    L
-0a4b   0a4d    L
+0a3c           NSM
+0a3e   0a40    L
+0a41   0a42    NSM
+0a47   0a48    NSM
+0a4b   0a4d    NSM
 0a59   0a5c    L
 0a5e           L
-0a66   0a74    L
-0a81   0a83    L
+0a66   0a6f    L
+0a70   0a71    NSM
+0a72   0a74    L
+0a81   0a82    NSM
+0a83           L
 0a85   0a8b    L
 0a8d           L
 0a8f   0a91    L
@@ -127,27 +183,39 @@ return <<'END';
 0aaa   0ab0    L
 0ab2   0ab3    L
 0ab5   0ab9    L
-0abc   0ac5    L
-0ac7   0ac9    L
-0acb   0acd    L
+0abc           NSM
+0abd   0ac0    L
+0ac1   0ac5    NSM
+0ac7   0ac8    NSM
+0ac9           L
+0acb   0acc    L
+0acd           NSM
 0ad0           L
 0ae0           L
 0ae6   0aef    L
-0b01   0b03    L
+0b01           NSM
+0b02   0b03    L
 0b05   0b0c    L
 0b0f   0b10    L
 0b13   0b28    L
 0b2a   0b30    L
 0b32   0b33    L
 0b36   0b39    L
-0b3c   0b43    L
+0b3c           NSM
+0b3d   0b3e    L
+0b3f           NSM
+0b40           L
+0b41   0b43    NSM
 0b47   0b48    L
-0b4b   0b4d    L
-0b56   0b57    L
+0b4b   0b4c    L
+0b4d           NSM
+0b56           NSM
+0b57           L
 0b5c   0b5d    L
 0b5f   0b61    L
 0b66   0b70    L
-0b82   0b83    L
+0b82           NSM
+0b83           L
 0b85   0b8a    L
 0b8e   0b90    L
 0b92   0b95    L
@@ -158,9 +226,12 @@ return <<'END';
 0ba8   0baa    L
 0bae   0bb5    L
 0bb7   0bb9    L
-0bbe   0bc2    L
+0bbe   0bbf    L
+0bc0           NSM
+0bc1   0bc2    L
 0bc6   0bc8    L
-0bca   0bcd    L
+0bca   0bcc    L
+0bcd           NSM
 0bd7           L
 0be7   0bf2    L
 0c01   0c03    L
@@ -169,10 +240,11 @@ return <<'END';
 0c12   0c28    L
 0c2a   0c33    L
 0c35   0c39    L
-0c3e   0c44    L
-0c46   0c48    L
-0c4a   0c4d    L
-0c55   0c56    L
+0c3e   0c40    NSM
+0c41   0c44    L
+0c46   0c48    NSM
+0c4a   0c4d    NSM
+0c55   0c56    NSM
 0c60   0c61    L
 0c66   0c6f    L
 0c82   0c83    L
@@ -181,9 +253,13 @@ return <<'END';
 0c92   0ca8    L
 0caa   0cb3    L
 0cb5   0cb9    L
-0cbe   0cc4    L
-0cc6   0cc8    L
-0cca   0ccd    L
+0cbe           L
+0cbf           NSM
+0cc0   0cc4    L
+0cc6           NSM
+0cc7   0cc8    L
+0cca   0ccb    L
+0ccc   0ccd    NSM
 0cd5   0cd6    L
 0cde           L
 0ce0   0ce1    L
@@ -193,14 +269,34 @@ return <<'END';
 0d0e   0d10    L
 0d12   0d28    L
 0d2a   0d39    L
-0d3e   0d43    L
+0d3e   0d40    L
+0d41   0d43    NSM
 0d46   0d48    L
-0d4a   0d4d    L
+0d4a   0d4c    L
+0d4d           NSM
 0d57           L
 0d60   0d61    L
 0d66   0d6f    L
-0e01   0e3a    L
-0e3f   0e5b    L
+0d82   0d83    L
+0d85   0d96    L
+0d9a   0db1    L
+0db3   0dbb    L
+0dbd           L
+0dc0   0dc6    L
+0dca           NSM
+0dcf   0dd1    L
+0dd2   0dd4    NSM
+0dd6           NSM
+0dd8   0ddf    L
+0df2   0df4    L
+0e01   0e30    L
+0e31           NSM
+0e32   0e33    L
+0e34   0e3a    NSM
+0e3f           ET
+0e40   0e46    L
+0e47   0e4e    NSM
+0e4f   0e5b    L
 0e81   0e82    L
 0e84           L
 0e87   0e88    L
@@ -212,21 +308,52 @@ return <<'END';
 0ea5           L
 0ea7           L
 0eaa   0eab    L
-0ead   0eb9    L
-0ebb   0ebd    L
+0ead   0eb0    L
+0eb1           NSM
+0eb2   0eb3    L
+0eb4   0eb9    NSM
+0ebb   0ebc    NSM
+0ebd           L
 0ec0   0ec4    L
 0ec6           L
-0ec8   0ecd    L
+0ec8   0ecd    NSM
 0ed0   0ed9    L
 0edc   0edd    L
-0f00   0f47    L
-0f49   0f69    L
-0f71   0f8b    L
-0f90   0f95    L
-0f97           L
-0f99   0fad    L
-0fb1   0fb7    L
-0fb9           L
+0f00   0f17    L
+0f18   0f19    NSM
+0f1a   0f34    L
+0f35           NSM
+0f36           L
+0f37           NSM
+0f38           L
+0f39           NSM
+0f3a   0f3d    ON
+0f3e   0f47    L
+0f49   0f6a    L
+0f71   0f7e    NSM
+0f7f           L
+0f80   0f84    NSM
+0f85           L
+0f86   0f87    NSM
+0f88   0f8b    L
+0f90   0f97    NSM
+0f99   0fbc    NSM
+0fbe   0fc5    L
+0fc6           NSM
+0fc7   0fcc    L
+0fcf           L
+1000   1021    L
+1023   1027    L
+1029   102a    L
+102c           L
+102d   1030    NSM
+1031           L
+1032           NSM
+1036   1037    NSM
+1038           L
+1039           NSM
+1040   1057    L
+1058   1059    NSM
 10a0   10c5    L
 10d0   10f6    L
 10fb           L
@@ -259,6 +386,28 @@ return <<'END';
 1320   1346    L
 1348   135a    L
 1361   137c    L
+13a0   13f4    L
+1401   1676    L
+1680           WS
+1681   169a    L
+169b   169c    ON
+16a0   16f0    L
+1780   17b6    L
+17b7   17bd    NSM
+17be   17c5    L
+17c6           NSM
+17c7   17c8    L
+17c9   17d3    NSM
+17d4   17da    L
+17db           ET
+17dc           L
+17e0   17e9    L
+1800   180a    ON
+180b   180e    BN
+1810   1819    L
+1820   1877    L
+1880   18a8    L
+18a9           NSM
 1e00   1e9b    L
 1ea0   1ef9    L
 1f00   1f15    L
@@ -271,50 +420,92 @@ return <<'END';
 1f5d           L
 1f5f   1f7d    L
 1f80   1fb4    L
-1fb6   1fc4    L
-1fc6   1fd3    L
+1fb6   1fbc    L
+1fbd           ON
+1fbe           L
+1fbf   1fc1    ON
+1fc2   1fc4    L
+1fc6   1fcc    L
+1fcd   1fcf    ON
+1fd0   1fd3    L
 1fd6   1fdb    L
-1fdd   1fef    L
+1fdd   1fdf    ON
+1fe0   1fec    L
+1fed   1fef    ON
 1ff2   1ff4    L
-1ff6   1ffe    L
-2000   2006    WS
-2007           CS
-2008   200b    WS
-200c   200d    ON
+1ff6   1ffc    L
+1ffd   1ffe    ON
+2000   200a    WS
+200b   200d    BN
 200e           L
 200f           R
 2010   2027    ON
-2028   2029    B
-202a   202e    ON
+2028           WS
+2029           B
+202a           LRE
+202b           RLE
+202c           PDF
+202d           LRO
+202e           RLO
+202f           WS
 2030   2034    ET
 2035   2046    ON
-206a   206f    ON
+2048   204d    ON
+206a   206f    BN
 2070           EN
 2074   2079    EN
 207a   207b    ET
-207c   207f    ON
+207c   207e    ON
+207f           L
 2080   2089    EN
 208a   208b    ET
 208c   208e    ON
-20a0   20ac    ET
-20d0   20e1    L
-2100   2138    ON
+20a0   20af    ET
+20d0   20e3    NSM
+2100   2101    ON
+2102           L
+2103   2106    ON
+2107           L
+2108   2109    ON
+210a   2113    L
+2114           ON
+2115           L
+2116   2118    ON
+2119   211d    L
+211e   2123    ON
+2124           L
+2125           ON
+2126           L
+2127           ON
+2128           L
+2129           ON
+212a   212d    L
+212e           ET
+212f   2131    L
+2132           ON
+2133   2139    L
+213a           ON
 2153   215f    ON
-2160   2182    L
-2190   21ea    ON
+2160   2183    L
+2190   21f3    ON
 2200   2211    ON
 2212   2213    ET
 2214   22f1    ON
-2300           ON
-2302   2335    ON
+2300   2335    ON
 2336   237a    L
-2400   2424    ON
+237b           ON
+237d   2394    ON
+2395           L
+2396   239a    ON
+2400   2426    ON
 2440   244a    ON
-2460   24ea    ON
+2460   249b    EN
+249c   24e9    L
+24ea           EN
 2500   2595    ON
-25a0   25ef    ON
+25a0   25f7    ON
 2600   2613    ON
-261a   266f    ON
+2619   2671    ON
 2701   2704    ON
 2706   2709    ON
 270c   2727    ON
@@ -327,17 +518,32 @@ return <<'END';
 2776   2794    ON
 2798   27af    ON
 27b1   27be    ON
+2800   28ff    ON
+2e80   2e99    ON
+2e9b   2ef3    ON
+2f00   2fd5    ON
+2ff0   2ffb    ON
 3000           WS
-3001   3020    ON
-3021   302f    L
-3030   3037    ON
-303f           ON
+3001   3004    ON
+3005   3007    L
+3008   3020    ON
+3021   3029    L
+302a   302f    NSM
+3030           ON
+3031   3035    L
+3036   3037    ON
+3038   303a    L
+303e   303f    ON
 3041   3094    L
-3099   309e    L
-30a1   30fe    L
+3099   309a    NSM
+309b   309c    ON
+309d   309e    L
+30a1   30fa    L
+30fb           ON
+30fc   30fe    L
 3105   312c    L
 3131   318e    L
-3190   319f    L
+3190   31b7    L
 3200   321c    L
 3220   3243    L
 3260   327b    L
@@ -347,7 +553,14 @@ return <<'END';
 3300   3376    L
 337b   33dd    L
 33e0   33fe    L
+3400   4db5    L
 4e00   9fa5    L
+a000   a48c    L
+a490   a4a1    ON
+a4a4   a4b3    ON
+a4b5   a4c0    ON
+a4c2   a4c4    ON
+a4c6           ON
 ac00   d7a3    L
 d800   db7f    L
 db80   dbff    L
@@ -356,40 +569,67 @@ e000      f8ff    L
 f900   fa2d    L
 fb00   fb06    L
 fb13   fb17    L
-fb1e   fb36    R
+fb1d           R
+fb1e           NSM
+fb1f   fb28    R
+fb29           ET
+fb2a   fb36    R
 fb38   fb3c    R
 fb3e           R
 fb40   fb41    R
 fb43   fb44    R
-fb46   fbb1    R
-fbd3   fd3d    R
+fb46   fb4f    R
+fb50   fbb1    AL
+fbd3   fd3d    AL
 fd3e   fd3f    ON
-fd50   fd8f    R
-fd92   fdc7    R
-fdf0   fdfb    R
-fe20   fe23    ON
+fd50   fd8f    AL
+fd92   fdc7    AL
+fdf0   fdfb    AL
+fe20   fe23    NSM
 fe30   fe44    ON
-fe49   fe52    ON
-fe54   fe66    ON
-fe68   fe6b    ON
-fe70   fe72    R
-fe74           R
-fe76   fefc    R
-feff           ON
-ff01   ff0f    ON
+fe49   fe4f    ON
+fe50           CS
+fe51           ON
+fe52           CS
+fe54           ON
+fe55           CS
+fe56   fe5e    ON
+fe5f           ET
+fe60   fe61    ON
+fe62   fe63    ET
+fe64   fe66    ON
+fe68           ON
+fe69   fe6a    ET
+fe6b           ON
+fe70   fe72    AL
+fe74           AL
+fe76   fefc    AL
+feff           BN
+ff01   ff02    ON
+ff03   ff05    ET
+ff06   ff0a    ON
+ff0b           ET
+ff0c           CS
+ff0d           ET
+ff0e           CS
+ff0f           ES
 ff10   ff19    EN
-ff1a   ff20    ON
+ff1a           CS
+ff1b   ff20    ON
 ff21   ff3a    L
 ff3b   ff40    ON
 ff41   ff5a    L
 ff5b   ff5e    ON
-ff61   ff64    ON
-ff65   ffbe    L
+ff61   ff65    ON
+ff66   ffbe    L
 ffc2   ffc7    L
 ffca   ffcf    L
 ffd2   ffd7    L
 ffda   ffdc    L
-ffe0   ffe6    ON
+ffe0   ffe1    ET
+ffe2   ffe4    ON
+ffe5   ffe6    ET
 ffe8   ffee    ON
+fff9   fffb    BN
 fffc   fffd    ON
 END