@mavogel/awscdk-rootmail 0.1.38 → 0.1.39
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.jsii +8 -8
- package/lib/rootmail.js +1 -1
- package/lib/ses-receive.js +1 -1
- package/node_modules/@aws-sdk/checksums/package.json +2 -2
- package/node_modules/@aws-sdk/client-cloudwatch-logs/dist-cjs/index.js +3 -2
- package/node_modules/@aws-sdk/client-cloudwatch-logs/dist-es/runtimeConfig.js +2 -1
- package/node_modules/@aws-sdk/client-cloudwatch-logs/dist-types/runtimeConfig.d.ts +1 -0
- package/node_modules/@aws-sdk/client-cloudwatch-logs/dist-types/ts3.4/runtimeConfig.d.ts +1 -0
- package/node_modules/@aws-sdk/client-cloudwatch-logs/package.json +3 -3
- package/node_modules/@aws-sdk/client-route-53/dist-cjs/index.js +3 -2
- package/node_modules/@aws-sdk/client-route-53/dist-es/runtimeConfig.js +2 -1
- package/node_modules/@aws-sdk/client-route-53/dist-types/runtimeConfig.d.ts +1 -0
- package/node_modules/@aws-sdk/client-route-53/dist-types/ts3.4/runtimeConfig.d.ts +1 -0
- package/node_modules/@aws-sdk/client-route-53/package.json +3 -3
- package/node_modules/@aws-sdk/client-s3/dist-cjs/index.js +1 -1
- package/node_modules/@aws-sdk/client-s3/dist-types/S3Client.d.ts +1 -1
- package/node_modules/@aws-sdk/client-s3/dist-types/ts3.4/S3Client.d.ts +1 -1
- package/node_modules/@aws-sdk/client-s3/package.json +6 -6
- package/node_modules/@aws-sdk/client-ses/dist-cjs/index.js +3 -2
- package/node_modules/@aws-sdk/client-ses/dist-es/runtimeConfig.js +2 -1
- package/node_modules/@aws-sdk/client-ses/dist-types/runtimeConfig.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ses/dist-types/ts3.4/runtimeConfig.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ses/package.json +3 -3
- package/node_modules/@aws-sdk/client-ssm/dist-cjs/index.js +3 -2
- package/node_modules/@aws-sdk/client-ssm/dist-es/runtimeConfig.js +2 -1
- package/node_modules/@aws-sdk/client-ssm/dist-types/runtimeConfig.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/dist-types/ts3.4/runtimeConfig.d.ts +1 -0
- package/node_modules/@aws-sdk/client-ssm/package.json +3 -3
- package/node_modules/@aws-sdk/core/dist-cjs/submodules/client/index.js +12 -0
- package/node_modules/@aws-sdk/core/dist-es/submodules/client/getDefaultSocketTimeout.js +10 -0
- package/node_modules/@aws-sdk/core/dist-es/submodules/client/index.browser.js +1 -0
- package/node_modules/@aws-sdk/core/dist-es/submodules/client/index.js +1 -0
- package/node_modules/@aws-sdk/core/dist-es/submodules/client/index.native.js +1 -0
- package/node_modules/@aws-sdk/core/dist-types/submodules/client/getDefaultSocketTimeout.d.ts +11 -0
- package/node_modules/@aws-sdk/core/dist-types/submodules/client/index.browser.d.ts +1 -0
- package/node_modules/@aws-sdk/core/dist-types/submodules/client/index.d.ts +1 -0
- package/node_modules/@aws-sdk/core/dist-types/submodules/client/index.native.d.ts +1 -0
- package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/getDefaultSocketTimeout.d.ts +4 -0
- package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/index.browser.d.ts +1 -0
- package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/index.d.ts +1 -0
- package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/index.native.d.ts +1 -0
- package/node_modules/@aws-sdk/core/package.json +1 -1
- package/node_modules/@aws-sdk/credential-provider-env/package.json +2 -2
- package/node_modules/@aws-sdk/credential-provider-http/package.json +2 -2
- package/node_modules/@aws-sdk/credential-provider-ini/package.json +9 -9
- package/node_modules/@aws-sdk/credential-provider-login/package.json +3 -3
- package/node_modules/@aws-sdk/credential-provider-node/package.json +7 -7
- package/node_modules/@aws-sdk/credential-provider-process/package.json +2 -2
- package/node_modules/@aws-sdk/credential-provider-sso/package.json +4 -4
- package/node_modules/@aws-sdk/credential-provider-web-identity/package.json +3 -3
- package/node_modules/@aws-sdk/middleware-sdk-s3/package.json +2 -2
- package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/cognito-identity/index.js +3 -2
- package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/signin/index.js +3 -2
- package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso/index.js +3 -2
- package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso-oidc/index.js +3 -2
- package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sts/index.js +3 -2
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/cognito-identity/runtimeConfig.js +2 -1
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/runtimeConfig.js +2 -1
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/runtimeConfig.js +2 -1
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/runtimeConfig.js +2 -1
- package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/runtimeConfig.js +2 -1
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/cognito-identity/runtimeConfig.d.ts +1 -0
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/signin/runtimeConfig.d.ts +1 -0
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso/runtimeConfig.d.ts +1 -0
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso-oidc/runtimeConfig.d.ts +1 -0
- package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sts/runtimeConfig.d.ts +1 -0
- package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/cognito-identity/runtimeConfig.d.ts +1 -0
- package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/signin/runtimeConfig.d.ts +1 -0
- package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sso/runtimeConfig.d.ts +1 -0
- package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sso-oidc/runtimeConfig.d.ts +1 -0
- package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sts/runtimeConfig.d.ts +1 -0
- package/node_modules/@aws-sdk/nested-clients/package.json +2 -2
- package/node_modules/@aws-sdk/token-providers/package.json +3 -3
- package/node_modules/@zone-eu/mailsplit/package.json +5 -5
- package/node_modules/encoding-japanese/README.md +10 -5
- package/node_modules/encoding-japanese/encoding.js +761 -3168
- package/node_modules/encoding-japanese/encoding.min.js +3 -3
- package/node_modules/encoding-japanese/index.d.ts +39 -25
- package/node_modules/encoding-japanese/package.json +6 -6
- package/node_modules/encoding-japanese/src/config.js +7 -33
- package/node_modules/encoding-japanese/src/encoding-convert.js +332 -279
- package/node_modules/encoding-japanese/src/encoding-table.js +108 -5
- package/node_modules/encoding-japanese/src/index.js +61 -49
- package/node_modules/encoding-japanese/src/utf8-to-jis-alias-table.js +3 -1
- package/node_modules/encoding-japanese/src/utf8-to-jis-table.js +91 -1492
- package/node_modules/encoding-japanese/src/utf8-to-jisx0212-table.js +76 -1220
- package/node_modules/encoding-japanese/src/util.js +70 -62
- package/node_modules/libmime/CHANGELOG.md +7 -0
- package/node_modules/libmime/package.json +6 -6
- package/node_modules/mailparser/CHANGELOG.md +7 -0
- package/node_modules/mailparser/package.json +8 -5
- package/package.json +7 -7
- package/node_modules/encoding-japanese/src/jis-to-utf8-table.js +0 -5
- package/node_modules/encoding-japanese/src/jisx0212-to-utf8-table.js +0 -5
|
@@ -1,5 +1,108 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Conversion tables between UTF-8 and JIS
|
|
3
|
+
*
|
|
4
|
+
* The tables are stored in a compressed text format
|
|
5
|
+
* (see `src/utf8-to-jis-table.js`) and expanded into the *_TABLE objects.
|
|
6
|
+
*/
|
|
7
|
+
var jisTableData = require('./utf8-to-jis-table');
|
|
8
|
+
var jisx0212TableData = require('./utf8-to-jisx0212-table');
|
|
9
|
+
var UTF8_TO_JIS_ALIAS_TABLE = require('./utf8-to-jis-alias-table');
|
|
10
|
+
|
|
11
|
+
var UTF8_TO_JIS_TABLE = {};
|
|
12
|
+
var JIS_TO_UTF8_TABLE = {};
|
|
13
|
+
var UTF8_TO_JISX0212_TABLE = {};
|
|
14
|
+
var JISX0212_TO_UTF8_TABLE = {};
|
|
15
|
+
|
|
16
|
+
// Unicode code point (BMP only) -> UTF-8 bytes packed into a number
|
|
17
|
+
// Same encoding as UNICODEToUTF8, but returns a number instead of an array
|
|
18
|
+
function toUTF8(c) {
|
|
19
|
+
if (c < 0x80) {
|
|
20
|
+
return c;
|
|
21
|
+
}
|
|
22
|
+
if (c < 0x800) {
|
|
23
|
+
return (0xC0 | (c >> 6)) << 8 |
|
|
24
|
+
(0x80 | (c & 0x3F));
|
|
25
|
+
}
|
|
26
|
+
return (0xE0 | (c >> 12)) << 16 |
|
|
27
|
+
(0x80 | ((c >> 6) & 0x3F)) << 8 |
|
|
28
|
+
(0x80 | (c & 0x3F));
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Expand the compressed table data into the forward and reverse tables.
|
|
33
|
+
*
|
|
34
|
+
* Tokens are separated by ",":
|
|
35
|
+
* "LB=" start of lead byte 0xLB (hex): the trail byte restarts at 0x21
|
|
36
|
+
* "UUUU" Unicode code point (hex) for the current trail byte
|
|
37
|
+
* "UUUU+N" N consecutive code points starting at UUUU
|
|
38
|
+
* "-N" skip N trail bytes (unassigned)
|
|
39
|
+
*
|
|
40
|
+
* Example of compressed table data:
|
|
41
|
+
* '21=3000+3,ff0c,ff0e,30fb, ...' : lead byte 0x21
|
|
42
|
+
* '22=25c6,25a1,25a0,25b3,25b2, ...' : lead byte 0x22
|
|
43
|
+
* '23=-15,ff10+10,-7,ff21+26,-6, ...' : lead byte 0x23
|
|
44
|
+
*/
|
|
45
|
+
function expandTable(data, utf8ToJisTable, jisToUtf8Table) {
|
|
46
|
+
var tokens = data.split(',');
|
|
47
|
+
var lead, trail, token, pos, cp, n, jis, utf8;
|
|
48
|
+
|
|
49
|
+
for (var i = 0, len = tokens.length; i < len; i++) {
|
|
50
|
+
token = tokens[i];
|
|
51
|
+
|
|
52
|
+
// The first token always contains "LB="
|
|
53
|
+
pos = token.indexOf('=');
|
|
54
|
+
if (pos !== -1) {
|
|
55
|
+
lead = parseInt(token.slice(0, pos), 16);
|
|
56
|
+
trail = 0x21; // the trail byte restarts at 0x21
|
|
57
|
+
token = token.slice(pos + 1);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
if (token.charAt(0) === '-') {
|
|
61
|
+
// skip N trail bytes (e.g., "23=-15,ff10+10,-7, ...")
|
|
62
|
+
trail += parseInt(token.slice(1), 10);
|
|
63
|
+
continue;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
// "UUUU" or "UUUU+N"
|
|
67
|
+
pos = token.indexOf('+');
|
|
68
|
+
if (pos === -1) {
|
|
69
|
+
cp = parseInt(token, 16);
|
|
70
|
+
n = 1;
|
|
71
|
+
} else {
|
|
72
|
+
cp = parseInt(token.slice(0, pos), 16);
|
|
73
|
+
n = parseInt(token.slice(pos + 1), 10);
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
while (n-- > 0) {
|
|
77
|
+
jis = (lead << 8) | trail++;
|
|
78
|
+
utf8 = toUTF8(cp++);
|
|
79
|
+
utf8ToJisTable[utf8] = jis;
|
|
80
|
+
jisToUtf8Table[jis] = utf8;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
var expanded = false;
|
|
86
|
+
|
|
87
|
+
function initConversionTables() {
|
|
88
|
+
if (expanded) {
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
expandTable(jisTableData, UTF8_TO_JIS_TABLE, JIS_TO_UTF8_TABLE);
|
|
93
|
+
expandTable(jisx0212TableData, UTF8_TO_JISX0212_TABLE, JISX0212_TO_UTF8_TABLE);
|
|
94
|
+
|
|
95
|
+
// Add Half-width katakana (not stored in the compressed data)
|
|
96
|
+
// U+FF61..U+FF9F -> 0x21..0x5F (forward table only)
|
|
97
|
+
for (var kana = 0xFF61, jisKana = 0x21; jisKana <= 0x5F; kana++, jisKana++) {
|
|
98
|
+
UTF8_TO_JIS_TABLE[toUTF8(kana)] = jisKana;
|
|
99
|
+
}
|
|
100
|
+
expanded = true;
|
|
101
|
+
}
|
|
102
|
+
exports.initConversionTables = initConversionTables;
|
|
103
|
+
|
|
104
|
+
exports.UTF8_TO_JIS_TABLE = UTF8_TO_JIS_TABLE;
|
|
105
|
+
exports.UTF8_TO_JIS_ALIAS_TABLE = UTF8_TO_JIS_ALIAS_TABLE;
|
|
106
|
+
exports.UTF8_TO_JISX0212_TABLE = UTF8_TO_JISX0212_TABLE;
|
|
107
|
+
exports.JIS_TO_UTF8_TABLE = JIS_TO_UTF8_TABLE;
|
|
108
|
+
exports.JISX0212_TO_UTF8_TABLE = JISX0212_TO_UTF8_TABLE;
|
|
@@ -6,6 +6,7 @@ var KanaCaseTable = require('./kana-case-table');
|
|
|
6
6
|
var version = require('../package.json').version;
|
|
7
7
|
|
|
8
8
|
var hasOwnProperty = Object.prototype.hasOwnProperty;
|
|
9
|
+
var HEX_CHARS = util.stringToCode('0123456789ABCDEF');
|
|
9
10
|
|
|
10
11
|
var Encoding = {
|
|
11
12
|
version: version,
|
|
@@ -125,7 +126,7 @@ var Encoding = {
|
|
|
125
126
|
result = EncodingConvert[method](data, options);
|
|
126
127
|
} else {
|
|
127
128
|
// Returns the raw data if the method is undefined
|
|
128
|
-
result = data;
|
|
129
|
+
result = util.isArray(data) ? data.slice() : data;
|
|
129
130
|
}
|
|
130
131
|
|
|
131
132
|
switch (('' + type).toLowerCase()) {
|
|
@@ -149,8 +150,8 @@ var Encoding = {
|
|
|
149
150
|
data = util.stringToBuffer(data);
|
|
150
151
|
}
|
|
151
152
|
|
|
152
|
-
var alpha = util.stringToCode('0123456789ABCDEF');
|
|
153
153
|
var results = [];
|
|
154
|
+
var n = 0;
|
|
154
155
|
var i = 0;
|
|
155
156
|
var len = data && data.length;
|
|
156
157
|
var b;
|
|
@@ -173,15 +174,15 @@ var Encoding = {
|
|
|
173
174
|
b === 0x2D /*-*/ || b === 0x2E /*.*/ ||
|
|
174
175
|
b === 0x5F /*_*/ || b === 0x7E /*~*/
|
|
175
176
|
) {
|
|
176
|
-
results[
|
|
177
|
+
results[n++] = b;
|
|
177
178
|
} else {
|
|
178
|
-
results[
|
|
179
|
+
results[n++] = 0x25; /*%*/
|
|
179
180
|
if (b < 0x10) {
|
|
180
|
-
results[
|
|
181
|
-
results[
|
|
181
|
+
results[n++] = 0x30; /*0*/
|
|
182
|
+
results[n++] = HEX_CHARS[b];
|
|
182
183
|
} else {
|
|
183
|
-
results[
|
|
184
|
-
results[
|
|
184
|
+
results[n++] = HEX_CHARS[b >> 4 & 0xF];
|
|
185
|
+
results[n++] = HEX_CHARS[b & 0xF];
|
|
185
186
|
}
|
|
186
187
|
}
|
|
187
188
|
}
|
|
@@ -197,21 +198,22 @@ var Encoding = {
|
|
|
197
198
|
* @return {Array.<number>} The decoded array
|
|
198
199
|
*/
|
|
199
200
|
urlDecode: function(string) {
|
|
200
|
-
var results = [];
|
|
201
201
|
var i = 0;
|
|
202
|
-
var len = string && string.length;
|
|
202
|
+
var len = (string && string.length) || 0;
|
|
203
|
+
var results = new Array(len);
|
|
204
|
+
var n = 0;
|
|
203
205
|
var c;
|
|
204
206
|
|
|
205
207
|
while (i < len) {
|
|
206
208
|
c = string.charCodeAt(i++);
|
|
207
209
|
if (c === 0x25 /*%*/) {
|
|
208
|
-
results[
|
|
209
|
-
string.charAt(i++) + string.charAt(i++), 16);
|
|
210
|
+
results[n++] = parseInt(string.charAt(i++) + string.charAt(i++), 16);
|
|
210
211
|
} else {
|
|
211
|
-
results[
|
|
212
|
+
results[n++] = c;
|
|
212
213
|
}
|
|
213
214
|
}
|
|
214
215
|
|
|
216
|
+
results.length = n;
|
|
215
217
|
return results;
|
|
216
218
|
},
|
|
217
219
|
|
|
@@ -274,8 +276,9 @@ var Encoding = {
|
|
|
274
276
|
data = util.stringToBuffer(data);
|
|
275
277
|
}
|
|
276
278
|
|
|
277
|
-
var
|
|
278
|
-
var
|
|
279
|
+
var len = (data && data.length) || 0;
|
|
280
|
+
var results = new Array(len);
|
|
281
|
+
var n = 0;
|
|
279
282
|
var i = 0;
|
|
280
283
|
var c;
|
|
281
284
|
|
|
@@ -284,7 +287,7 @@ var Encoding = {
|
|
|
284
287
|
if (c >= 0xFF01 && c <= 0xFF5E) {
|
|
285
288
|
c -= 0xFEE0;
|
|
286
289
|
}
|
|
287
|
-
results[
|
|
290
|
+
results[n++] = c;
|
|
288
291
|
}
|
|
289
292
|
|
|
290
293
|
return asString ? util.codeToString_fast(results) : results;
|
|
@@ -310,8 +313,9 @@ var Encoding = {
|
|
|
310
313
|
data = util.stringToBuffer(data);
|
|
311
314
|
}
|
|
312
315
|
|
|
313
|
-
var
|
|
314
|
-
var
|
|
316
|
+
var len = (data && data.length) || 0;
|
|
317
|
+
var results = new Array(len);
|
|
318
|
+
var n = 0;
|
|
315
319
|
var i = 0;
|
|
316
320
|
var c;
|
|
317
321
|
|
|
@@ -320,7 +324,7 @@ var Encoding = {
|
|
|
320
324
|
if (c >= 0x21 && c <= 0x7E) {
|
|
321
325
|
c += 0xFEE0;
|
|
322
326
|
}
|
|
323
|
-
results[
|
|
327
|
+
results[n++] = c;
|
|
324
328
|
}
|
|
325
329
|
|
|
326
330
|
return asString ? util.codeToString_fast(results) : results;
|
|
@@ -345,8 +349,9 @@ var Encoding = {
|
|
|
345
349
|
data = util.stringToBuffer(data);
|
|
346
350
|
}
|
|
347
351
|
|
|
348
|
-
var
|
|
349
|
-
var
|
|
352
|
+
var len = (data && data.length) || 0;
|
|
353
|
+
var results = new Array(len);
|
|
354
|
+
var n = 0;
|
|
350
355
|
var i = 0;
|
|
351
356
|
var c;
|
|
352
357
|
|
|
@@ -356,22 +361,22 @@ var Encoding = {
|
|
|
356
361
|
c -= 0x0060;
|
|
357
362
|
// 「ワ゛」 => 「わ」 + 「゛」
|
|
358
363
|
} else if (c === 0x30F7) {
|
|
359
|
-
results[
|
|
364
|
+
results[n++] = 0x308F;
|
|
360
365
|
c = 0x309B;
|
|
361
366
|
// 「ヰ゛」 => 「ゐ」 + 「゛」
|
|
362
367
|
} else if (c === 0x30F8) {
|
|
363
|
-
results[
|
|
368
|
+
results[n++] = 0x3090;
|
|
364
369
|
c = 0x309B;
|
|
365
370
|
// 「ヱ゛」 => 「ゑ」 + 「゛」
|
|
366
371
|
} else if (c === 0x30F9) {
|
|
367
|
-
results[
|
|
372
|
+
results[n++] = 0x3091;
|
|
368
373
|
c = 0x309B;
|
|
369
374
|
// 「ヲ゛」 => 「を」 + 「゛」
|
|
370
375
|
} else if (c === 0x30FA) {
|
|
371
|
-
results[
|
|
376
|
+
results[n++] = 0x3092;
|
|
372
377
|
c = 0x309B;
|
|
373
378
|
}
|
|
374
|
-
results[
|
|
379
|
+
results[n++] = c;
|
|
375
380
|
}
|
|
376
381
|
|
|
377
382
|
return asString ? util.codeToString_fast(results) : results;
|
|
@@ -396,8 +401,9 @@ var Encoding = {
|
|
|
396
401
|
data = util.stringToBuffer(data);
|
|
397
402
|
}
|
|
398
403
|
|
|
399
|
-
var
|
|
400
|
-
var
|
|
404
|
+
var len = (data && data.length) || 0;
|
|
405
|
+
var results = new Array(len);
|
|
406
|
+
var n = 0;
|
|
401
407
|
var i = 0;
|
|
402
408
|
var c;
|
|
403
409
|
|
|
@@ -417,9 +423,10 @@ var Encoding = {
|
|
|
417
423
|
c += 0x0060;
|
|
418
424
|
}
|
|
419
425
|
}
|
|
420
|
-
results[
|
|
426
|
+
results[n++] = c;
|
|
421
427
|
}
|
|
422
428
|
|
|
429
|
+
results.length = n;
|
|
423
430
|
return asString ? util.codeToString_fast(results) : results;
|
|
424
431
|
},
|
|
425
432
|
|
|
@@ -442,8 +449,9 @@ var Encoding = {
|
|
|
442
449
|
data = util.stringToBuffer(data);
|
|
443
450
|
}
|
|
444
451
|
|
|
445
|
-
var
|
|
446
|
-
var
|
|
452
|
+
var len = (data && data.length) || 0;
|
|
453
|
+
var results = new Array(len);
|
|
454
|
+
var n = 0;
|
|
447
455
|
var i = 0;
|
|
448
456
|
var c, d, t;
|
|
449
457
|
|
|
@@ -452,27 +460,27 @@ var Encoding = {
|
|
|
452
460
|
|
|
453
461
|
if (c >= 0x3001 && c <= 0x30FC) {
|
|
454
462
|
t = KanaCaseTable.HANKANA_TABLE[c];
|
|
455
|
-
if (t
|
|
456
|
-
results[
|
|
463
|
+
if (t != null) {
|
|
464
|
+
results[n++] = t;
|
|
457
465
|
continue;
|
|
458
466
|
}
|
|
459
467
|
}
|
|
460
468
|
|
|
461
469
|
// 「ヴ」, 「ワ」+「゛」, 「ヲ」+「゛」
|
|
462
470
|
if (c === 0x30F4 || c === 0x30F7 || c === 0x30FA) {
|
|
463
|
-
results[
|
|
464
|
-
results[
|
|
471
|
+
results[n++] = KanaCaseTable.HANKANA_SONANTS[c];
|
|
472
|
+
results[n++] = 0xFF9E;
|
|
465
473
|
// 「カ」 - 「ド」
|
|
466
474
|
} else if (c >= 0x30AB && c <= 0x30C9) {
|
|
467
|
-
results[
|
|
468
|
-
results[
|
|
475
|
+
results[n++] = KanaCaseTable.HANKANA_TABLE[c - 1];
|
|
476
|
+
results[n++] = 0xFF9E;
|
|
469
477
|
// 「ハ」 - 「ポ」
|
|
470
478
|
} else if (c >= 0x30CF && c <= 0x30DD) {
|
|
471
479
|
d = c % 3;
|
|
472
|
-
results[
|
|
473
|
-
results[
|
|
480
|
+
results[n++] = KanaCaseTable.HANKANA_TABLE[c - d];
|
|
481
|
+
results[n++] = KanaCaseTable.HANKANA_MARKS[d - 1];
|
|
474
482
|
} else {
|
|
475
|
-
results[
|
|
483
|
+
results[n++] = c;
|
|
476
484
|
}
|
|
477
485
|
}
|
|
478
486
|
|
|
@@ -498,8 +506,9 @@ var Encoding = {
|
|
|
498
506
|
data = util.stringToBuffer(data);
|
|
499
507
|
}
|
|
500
508
|
|
|
501
|
-
var
|
|
502
|
-
var
|
|
509
|
+
var len = (data && data.length) || 0;
|
|
510
|
+
var results = new Array(len);
|
|
511
|
+
var n = 0;
|
|
503
512
|
var i = 0;
|
|
504
513
|
var c, code, next;
|
|
505
514
|
|
|
@@ -537,9 +546,10 @@ var Encoding = {
|
|
|
537
546
|
}
|
|
538
547
|
c = code;
|
|
539
548
|
}
|
|
540
|
-
results[
|
|
549
|
+
results[n++] = c;
|
|
541
550
|
}
|
|
542
551
|
|
|
552
|
+
results.length = n;
|
|
543
553
|
return asString ? util.codeToString_fast(results) : results;
|
|
544
554
|
},
|
|
545
555
|
|
|
@@ -556,8 +566,9 @@ var Encoding = {
|
|
|
556
566
|
return data.replace(/\u3000/g, ' ');
|
|
557
567
|
}
|
|
558
568
|
|
|
559
|
-
var
|
|
560
|
-
var
|
|
569
|
+
var len = (data && data.length) || 0;
|
|
570
|
+
var results = new Array(len);
|
|
571
|
+
var n = 0;
|
|
561
572
|
var i = 0;
|
|
562
573
|
var c;
|
|
563
574
|
|
|
@@ -566,7 +577,7 @@ var Encoding = {
|
|
|
566
577
|
if (c === 0x3000) {
|
|
567
578
|
c = 0x20;
|
|
568
579
|
}
|
|
569
|
-
results[
|
|
580
|
+
results[n++] = c;
|
|
570
581
|
}
|
|
571
582
|
|
|
572
583
|
return results;
|
|
@@ -585,8 +596,9 @@ var Encoding = {
|
|
|
585
596
|
return data.replace(/\u0020/g, '\u3000');
|
|
586
597
|
}
|
|
587
598
|
|
|
588
|
-
var
|
|
589
|
-
var
|
|
599
|
+
var len = (data && data.length) || 0;
|
|
600
|
+
var results = new Array(len);
|
|
601
|
+
var n = 0;
|
|
590
602
|
var i = 0;
|
|
591
603
|
var c;
|
|
592
604
|
|
|
@@ -595,7 +607,7 @@ var Encoding = {
|
|
|
595
607
|
if (c === 0x20) {
|
|
596
608
|
c = 0x3000;
|
|
597
609
|
}
|
|
598
|
-
results[
|
|
610
|
+
results[n++] = c;
|
|
599
611
|
}
|
|
600
612
|
|
|
601
613
|
return results;
|
|
@@ -10,5 +10,7 @@ module.exports = {
|
|
|
10
10
|
0xE28892: 0x215D, // − U+2212 MINUS SIGN same cell as - U+FF0D (0xEFBC8D) -> SJIS 0x817C
|
|
11
11
|
0xE3809C: 0x2141, // 〜 U+301C WAVE DASH same cell as ~ U+FF5E (0xEFBD9E) -> SJIS 0x8160
|
|
12
12
|
0xC2A2: 0x2171, // ¢ U+00A2 CENT SIGN same cell as ¢ U+FFE0 (0xEFBFA0) -> SJIS 0x8191
|
|
13
|
-
0xC2A3: 0x2172
|
|
13
|
+
0xC2A3: 0x2172, // £ U+00A3 POUND SIGN same cell as £ U+FFE1 (0xEFBFA1) -> SJIS 0x8192
|
|
14
|
+
0xC2AC: 0x224C, // ¬ U+00AC NOT SIGN same cell as ¬ U+FFE2 (0xEFBFA2) -> SJIS 0x81CA
|
|
15
|
+
0xE28096: 0x2142 // ‖ U+2016 DOUBLE VERTICAL LINE same cell as ∥ U+2225 (0xE288A5) -> SJIS 0x8161
|
|
14
16
|
};
|