aboutsummaryrefslogtreecommitdiff
path: root/src/strconv
diff options
context:
space:
mode:
authorweebney <weebney@gmail.com>2022-12-12 19:10:54 +0000
committerRob Pike <r@golang.org>2023-02-06 04:29:53 +0000
commitdef0be5e34d6657c84407c8afe4ace05d10d1848 (patch)
tree6d82a8c7b7e2280849645b5a294d2b6c08b31f94 /src/strconv
parent2da8a55584aa65ce1b67431bb8ecebf66229d462 (diff)
downloadgo-def0be5e34d6657c84407c8afe4ace05d10d1848.tar.gz
go-def0be5e34d6657c84407c8afe4ace05d10d1848.zip
all: upgrade Unicode from 13.0.0 to 15.0.0
Update unicode/tables.go to reflect changes in the Unicode Standard up to Unicode 15.0.0, released 13 Sept 2022. In order to accommodate this update, strconv/isPrint has been updated to reflect changes in printable characters. Also changed is template/exec_test.go for both text and html packages- in the test "TestJSEscaping", rune U+FDFF was used as a placeholder for an unprintable character. This codepoint was assigned and made printable in Unicode 14.0.0, breaking this test. It has been replaced with the assigned and never-printable U+FFFE to fix the test and provide resiliency in the future. This upgrade bypasses Unicode 14.0.0, but is compatible. Updates https://github.com/golang/go/issues/48621 Fixes https://github.com/golang/go/issues/55079 Change-Id: I40efd097eb746db0727ebf7437280916d1242e47 GitHub-Last-Rev: c8885cab7a0c23632e1e5a433b1e8d5634a45a30 GitHub-Pull-Request: golang/go#57265 Reviewed-on: https://go-review.googlesource.com/c/go/+/456837 Reviewed-by: Robert Griesemer <gri@google.com> Run-TryBot: Rob Pike <r@golang.org> TryBot-Result: Gopher Robot <gobot@golang.org> Run-TryBot: Robert Griesemer <gri@google.com> Reviewed-by: Cherry Mui <cherryyz@google.com> Reviewed-by: Rob Pike <r@golang.org>
Diffstat (limited to 'src/strconv')
-rw-r--r--src/strconv/isprint.go157
1 files changed, 95 insertions, 62 deletions
diff --git a/src/strconv/isprint.go b/src/strconv/isprint.go
index 994a8e423c..baa14a65bd 100644
--- a/src/strconv/isprint.go
+++ b/src/strconv/isprint.go
@@ -6,7 +6,7 @@
package strconv
-// (434+132+95)*2 + (468)*4 = 3194 bytes
+// (424+133+112)*2 + (508)*4 = 3370 bytes
var isPrint16 = []uint16{
0x0020, 0x007e,
@@ -17,16 +17,15 @@ var isPrint16 = []uint16{
0x058d, 0x05c7,
0x05d0, 0x05ea,
0x05ef, 0x05f4,
- 0x0606, 0x061b,
- 0x061e, 0x070d,
+ 0x0606, 0x070d,
0x0710, 0x074a,
0x074d, 0x07b1,
0x07c0, 0x07fa,
0x07fd, 0x082d,
0x0830, 0x085b,
0x085e, 0x086a,
- 0x08a0, 0x08c7,
- 0x08d3, 0x098c,
+ 0x0870, 0x088e,
+ 0x0898, 0x098c,
0x098f, 0x0990,
0x0993, 0x09b2,
0x09b6, 0x09b9,
@@ -71,15 +70,16 @@ var isPrint16 = []uint16{
0x0bd7, 0x0bd7,
0x0be6, 0x0bfa,
0x0c00, 0x0c39,
- 0x0c3d, 0x0c4d,
+ 0x0c3c, 0x0c4d,
0x0c55, 0x0c5a,
+ 0x0c5d, 0x0c5d,
0x0c60, 0x0c63,
0x0c66, 0x0c6f,
0x0c77, 0x0cb9,
0x0cbc, 0x0ccd,
0x0cd5, 0x0cd6,
- 0x0cde, 0x0ce3,
- 0x0ce6, 0x0cf2,
+ 0x0cdd, 0x0ce3,
+ 0x0ce6, 0x0cf3,
0x0d00, 0x0d4f,
0x0d54, 0x0d63,
0x0d66, 0x0d96,
@@ -92,8 +92,7 @@ var isPrint16 = []uint16{
0x0e01, 0x0e3a,
0x0e3f, 0x0e5b,
0x0e81, 0x0ebd,
- 0x0ec0, 0x0ecd,
- 0x0ed0, 0x0ed9,
+ 0x0ec0, 0x0ed9,
0x0edc, 0x0edf,
0x0f00, 0x0f6c,
0x0f71, 0x0fda,
@@ -112,15 +111,14 @@ var isPrint16 = []uint16{
0x13f8, 0x13fd,
0x1400, 0x169c,
0x16a0, 0x16f8,
- 0x1700, 0x1714,
- 0x1720, 0x1736,
+ 0x1700, 0x1715,
+ 0x171f, 0x1736,
0x1740, 0x1753,
0x1760, 0x1773,
0x1780, 0x17dd,
0x17e0, 0x17e9,
0x17f0, 0x17f9,
- 0x1800, 0x180d,
- 0x1810, 0x1819,
+ 0x1800, 0x1819,
0x1820, 0x1878,
0x1880, 0x18aa,
0x18b0, 0x18f5,
@@ -137,10 +135,9 @@ var isPrint16 = []uint16{
0x1a7f, 0x1a89,
0x1a90, 0x1a99,
0x1aa0, 0x1aad,
- 0x1ab0, 0x1ac0,
- 0x1b00, 0x1b4b,
- 0x1b50, 0x1b7c,
- 0x1b80, 0x1bf3,
+ 0x1ab0, 0x1ace,
+ 0x1b00, 0x1b4c,
+ 0x1b50, 0x1bf3,
0x1bfc, 0x1c37,
0x1c3b, 0x1c49,
0x1c4d, 0x1c88,
@@ -159,7 +156,7 @@ var isPrint16 = []uint16{
0x2030, 0x205e,
0x2070, 0x2071,
0x2074, 0x209c,
- 0x20a0, 0x20bf,
+ 0x20a0, 0x20c0,
0x20d0, 0x20f0,
0x2100, 0x218b,
0x2190, 0x2426,
@@ -171,21 +168,20 @@ var isPrint16 = []uint16{
0x2d30, 0x2d67,
0x2d6f, 0x2d70,
0x2d7f, 0x2d96,
- 0x2da0, 0x2e52,
+ 0x2da0, 0x2e5d,
0x2e80, 0x2ef3,
0x2f00, 0x2fd5,
0x2ff0, 0x2ffb,
0x3001, 0x3096,
0x3099, 0x30ff,
0x3105, 0x31e3,
- 0x31f0, 0x9ffc,
- 0xa000, 0xa48c,
+ 0x31f0, 0xa48c,
0xa490, 0xa4c6,
0xa4d0, 0xa62b,
0xa640, 0xa6f7,
- 0xa700, 0xa7bf,
- 0xa7c2, 0xa7ca,
- 0xa7f5, 0xa82c,
+ 0xa700, 0xa7ca,
+ 0xa7d0, 0xa7d9,
+ 0xa7f2, 0xa82c,
0xa830, 0xa839,
0xa840, 0xa877,
0xa880, 0xa8c5,
@@ -211,12 +207,11 @@ var isPrint16 = []uint16{
0xfa70, 0xfad9,
0xfb00, 0xfb06,
0xfb13, 0xfb17,
- 0xfb1d, 0xfbc1,
- 0xfbd3, 0xfd3f,
- 0xfd50, 0xfd8f,
+ 0xfb1d, 0xfbc2,
+ 0xfbd3, 0xfd8f,
0xfd92, 0xfdc7,
- 0xfdf0, 0xfdfd,
- 0xfe00, 0xfe19,
+ 0xfdcf, 0xfdcf,
+ 0xfdf0, 0xfe19,
0xfe20, 0xfe6b,
0xfe70, 0xfefc,
0xff01, 0xffbe,
@@ -235,10 +230,10 @@ var isNotPrint16 = []uint16{
0x03a2,
0x0530,
0x0590,
+ 0x061c,
0x06dd,
0x083f,
0x085f,
- 0x08b5,
0x08e2,
0x0984,
0x09a9,
@@ -301,6 +296,7 @@ var isNotPrint16 = []uint16{
0x0ea6,
0x0ec5,
0x0ec7,
+ 0x0ecf,
0x0f48,
0x0f98,
0x0fbd,
@@ -316,12 +312,12 @@ var isNotPrint16 = []uint16{
0x12d7,
0x1311,
0x1680,
- 0x170d,
0x176d,
0x1771,
+ 0x180e,
0x191f,
0x1a5f,
- 0x1dfa,
+ 0x1b7f,
0x1f58,
0x1f5a,
0x1f5c,
@@ -332,8 +328,6 @@ var isNotPrint16 = []uint16{
0x1ff5,
0x208f,
0x2b96,
- 0x2c2f,
- 0x2c5f,
0x2d26,
0x2da7,
0x2daf,
@@ -348,6 +342,8 @@ var isNotPrint16 = []uint16{
0x3130,
0x318f,
0x321f,
+ 0xa7d2,
+ 0xa7d4,
0xa9ce,
0xa9ff,
0xab27,
@@ -386,10 +382,11 @@ var isPrint32 = []uint32{
0x0104d8, 0x0104fb,
0x010500, 0x010527,
0x010530, 0x010563,
- 0x01056f, 0x01056f,
+ 0x01056f, 0x0105bc,
0x010600, 0x010736,
0x010740, 0x010755,
0x010760, 0x010767,
+ 0x010780, 0x0107ba,
0x010800, 0x010805,
0x010808, 0x010838,
0x01083c, 0x01083c,
@@ -422,19 +419,20 @@ var isPrint32 = []uint32{
0x010d30, 0x010d39,
0x010e60, 0x010ead,
0x010eb0, 0x010eb1,
- 0x010f00, 0x010f27,
+ 0x010efd, 0x010f27,
0x010f30, 0x010f59,
+ 0x010f70, 0x010f89,
0x010fb0, 0x010fcb,
0x010fe0, 0x010ff6,
0x011000, 0x01104d,
- 0x011052, 0x01106f,
- 0x01107f, 0x0110c1,
+ 0x011052, 0x011075,
+ 0x01107f, 0x0110c2,
0x0110d0, 0x0110e8,
0x0110f0, 0x0110f9,
0x011100, 0x011147,
0x011150, 0x011176,
0x011180, 0x0111f4,
- 0x011200, 0x01123e,
+ 0x011200, 0x011241,
0x011280, 0x0112a9,
0x0112b0, 0x0112ea,
0x0112f0, 0x0112f9,
@@ -456,11 +454,11 @@ var isPrint32 = []uint32{
0x011600, 0x011644,
0x011650, 0x011659,
0x011660, 0x01166c,
- 0x011680, 0x0116b8,
+ 0x011680, 0x0116b9,
0x0116c0, 0x0116c9,
0x011700, 0x01171a,
0x01171d, 0x01172b,
- 0x011730, 0x01173f,
+ 0x011730, 0x011746,
0x011800, 0x01183b,
0x0118a0, 0x0118f2,
0x0118ff, 0x011906,
@@ -473,7 +471,8 @@ var isPrint32 = []uint32{
0x0119da, 0x0119e4,
0x011a00, 0x011a47,
0x011a50, 0x011aa2,
- 0x011ac0, 0x011af8,
+ 0x011ab0, 0x011af8,
+ 0x011b00, 0x011b09,
0x011c00, 0x011c45,
0x011c50, 0x011c6c,
0x011c70, 0x011c8f,
@@ -484,16 +483,20 @@ var isPrint32 = []uint32{
0x011d60, 0x011d98,
0x011da0, 0x011da9,
0x011ee0, 0x011ef8,
+ 0x011f00, 0x011f3a,
+ 0x011f3e, 0x011f59,
0x011fb0, 0x011fb0,
0x011fc0, 0x011ff1,
0x011fff, 0x012399,
0x012400, 0x012474,
0x012480, 0x012543,
- 0x013000, 0x01342e,
+ 0x012f90, 0x012ff2,
+ 0x013000, 0x01342f,
+ 0x013440, 0x013455,
0x014400, 0x014646,
0x016800, 0x016a38,
0x016a40, 0x016a69,
- 0x016a6e, 0x016a6f,
+ 0x016a6e, 0x016ac9,
0x016ad0, 0x016aed,
0x016af0, 0x016af5,
0x016b00, 0x016b45,
@@ -508,8 +511,10 @@ var isPrint32 = []uint32{
0x017000, 0x0187f7,
0x018800, 0x018cd5,
0x018d00, 0x018d08,
- 0x01b000, 0x01b11e,
+ 0x01aff0, 0x01b122,
+ 0x01b132, 0x01b132,
0x01b150, 0x01b152,
+ 0x01b155, 0x01b155,
0x01b164, 0x01b167,
0x01b170, 0x01b2fb,
0x01bc00, 0x01bc6a,
@@ -517,11 +522,15 @@ var isPrint32 = []uint32{
0x01bc80, 0x01bc88,
0x01bc90, 0x01bc99,
0x01bc9c, 0x01bc9f,
+ 0x01cf00, 0x01cf2d,
+ 0x01cf30, 0x01cf46,
+ 0x01cf50, 0x01cfc3,
0x01d000, 0x01d0f5,
0x01d100, 0x01d126,
0x01d129, 0x01d172,
- 0x01d17b, 0x01d1e8,
+ 0x01d17b, 0x01d1ea,
0x01d200, 0x01d245,
+ 0x01d2c0, 0x01d2d3,
0x01d2e0, 0x01d2f3,
0x01d300, 0x01d356,
0x01d360, 0x01d378,
@@ -534,15 +543,21 @@ var isPrint32 = []uint32{
0x01d6a8, 0x01d7cb,
0x01d7ce, 0x01da8b,
0x01da9b, 0x01daaf,
+ 0x01df00, 0x01df1e,
+ 0x01df25, 0x01df2a,
0x01e000, 0x01e018,
0x01e01b, 0x01e02a,
+ 0x01e030, 0x01e06d,
+ 0x01e08f, 0x01e08f,
0x01e100, 0x01e12c,
0x01e130, 0x01e13d,
0x01e140, 0x01e149,
0x01e14e, 0x01e14f,
+ 0x01e290, 0x01e2ae,
0x01e2c0, 0x01e2f9,
0x01e2ff, 0x01e2ff,
- 0x01e800, 0x01e8c4,
+ 0x01e4d0, 0x01e4f9,
+ 0x01e7e0, 0x01e8c4,
0x01e8c7, 0x01e8d6,
0x01e900, 0x01e94b,
0x01e950, 0x01e959,
@@ -568,11 +583,12 @@ var isPrint32 = []uint32{
0x01f250, 0x01f251,
0x01f260, 0x01f265,
0x01f300, 0x01f6d7,
- 0x01f6e0, 0x01f6ec,
+ 0x01f6dc, 0x01f6ec,
0x01f6f0, 0x01f6fc,
- 0x01f700, 0x01f773,
- 0x01f780, 0x01f7d8,
+ 0x01f700, 0x01f776,
+ 0x01f77b, 0x01f7d9,
0x01f7e0, 0x01f7eb,
+ 0x01f7f0, 0x01f7f0,
0x01f800, 0x01f80b,
0x01f810, 0x01f847,
0x01f850, 0x01f859,
@@ -581,22 +597,22 @@ var isPrint32 = []uint32{
0x01f8b0, 0x01f8b1,
0x01f900, 0x01fa53,
0x01fa60, 0x01fa6d,
- 0x01fa70, 0x01fa74,
- 0x01fa78, 0x01fa7a,
- 0x01fa80, 0x01fa86,
- 0x01fa90, 0x01faa8,
- 0x01fab0, 0x01fab6,
- 0x01fac0, 0x01fac2,
- 0x01fad0, 0x01fad6,
+ 0x01fa70, 0x01fa7c,
+ 0x01fa80, 0x01fa88,
+ 0x01fa90, 0x01fac5,
+ 0x01face, 0x01fadb,
+ 0x01fae0, 0x01fae8,
+ 0x01faf0, 0x01faf8,
0x01fb00, 0x01fbca,
0x01fbf0, 0x01fbf9,
- 0x020000, 0x02a6dd,
- 0x02a700, 0x02b734,
+ 0x020000, 0x02a6df,
+ 0x02a700, 0x02b739,
0x02b740, 0x02b81d,
0x02b820, 0x02cea1,
0x02ceb0, 0x02ebe0,
0x02f800, 0x02fa1d,
0x030000, 0x03134a,
+ 0x031350, 0x0323af,
0x0e0100, 0x0e01ef,
}
@@ -607,6 +623,15 @@ var isNotPrint32 = []uint16{ // add 0x10000 to each entry
0x003e,
0x018f,
0x039e,
+ 0x057b,
+ 0x058b,
+ 0x0593,
+ 0x0596,
+ 0x05a2,
+ 0x05b2,
+ 0x05ba,
+ 0x0786,
+ 0x07b1,
0x0809,
0x0836,
0x0856,
@@ -644,10 +669,15 @@ var isNotPrint32 = []uint16{ // add 0x10000 to each entry
0x1d69,
0x1d8f,
0x1d92,
+ 0x1f11,
0x246f,
0x6a5f,
+ 0x6abf,
0x6b5a,
0x6b62,
+ 0xaff4,
+ 0xaffc,
+ 0xafff,
0xd455,
0xd49d,
0xd4ad,
@@ -665,6 +695,10 @@ var isNotPrint32 = []uint16{ // add 0x10000 to each entry
0xe007,
0xe022,
0xe025,
+ 0xe7e7,
+ 0xe7ec,
+ 0xe7ef,
+ 0xe7ff,
0xee04,
0xee20,
0xee23,
@@ -693,8 +727,7 @@ var isNotPrint32 = []uint16{ // add 0x10000 to each entry
0xeeaa,
0xf0c0,
0xf0d0,
- 0xf979,
- 0xf9cc,
+ 0xfabe,
0xfb93,
}