unicode-input-toolconverter 0.2.0
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/.babelrc.json +3 -0
- package/.editorconfig +16 -0
- package/.nojekyll +0 -0
- package/.nyc_output/out.json +173804 -0
- package/.nyc_output/processinfo/index.json +1 -0
- package/CHANGES.md +11 -0
- package/COPYING.LESSER.txt +180 -0
- package/COPYING.txt +687 -0
- package/README.md +65 -0
- package/_locales/en-US/messages.json +3126 -0
- package/_locales/hu-HU/messages.json +3126 -0
- package/_locales/pt-BR/messages.json +3126 -0
- package/_locales/sv-SE/messages.json +3126 -0
- package/babel.config.json +5 -0
- package/browser_action/characterSelection.js +91 -0
- package/browser_action/charrefConverters.js +389 -0
- package/browser_action/chartBuild.js +155 -0
- package/browser_action/encodingBehaviors.js +72 -0
- package/browser_action/encodings.js +97 -0
- package/browser_action/entities.js +12 -0
- package/browser_action/entityBehaviors.js +96 -0
- package/browser_action/index-es.html +15 -0
- package/browser_action/index-instrumented.html +16 -0
- package/browser_action/index-pages.html +16 -0
- package/browser_action/index.html +16 -0
- package/browser_action/index.iife.min.js +2 -0
- package/browser_action/index.iife.min.js.map +1 -0
- package/browser_action/index.instrumented.iife.min.js +2 -0
- package/browser_action/index.instrumented.iife.min.js.map +1 -0
- package/browser_action/index.js +95 -0
- package/browser_action/preferences/prefDefaults.js +52 -0
- package/browser_action/service-worker/sw-activateCallback.js +53 -0
- package/browser_action/service-worker/sw-locales.json +6 -0
- package/browser_action/service-worker/sw-resources.json +73 -0
- package/browser_action/service-worker/sw-unicode-data.json +3 -0
- package/browser_action/styles/unicode-dialog.css +391 -0
- package/browser_action/templateUtils/elements.js +12 -0
- package/browser_action/templateUtils/fill.js +3 -0
- package/browser_action/templateUtils/validation.js +6 -0
- package/browser_action/templates/chartBuild.js +185 -0
- package/browser_action/templates/index.js +1304 -0
- package/browser_action/templatesElementCustomization/widgets.js +56 -0
- package/browser_action/unicode/UnicodeConverter.js +793 -0
- package/browser_action/unicode/charrefunicodeDb.js +258 -0
- package/browser_action/unicode/getScriptInfoForCodePoint.js +646 -0
- package/browser_action/unicode/hangul.js +253 -0
- package/browser_action/unicode/lastScriptNames.json +5 -0
- package/browser_action/unicode/parseUnihanFromTextFileStrings.js +56 -0
- package/browser_action/unicode/unicodeFieldInfo.js +120 -0
- package/browser_action/unicode/unicodeScripts.js +4912 -0
- package/browser_action/unicode/unihan.js +129 -0
- package/browser_action/unicode/unihanDbPopulate.js +26 -0
- package/browser_action/unicodecharref.js +1480 -0
- package/browser_action/utils/DOMUtils.js +122 -0
- package/browser_action/utils/FetchUtils.js +19 -0
- package/browser_action/utils/TextUtils.js +28 -0
- package/browser_action/utils/TypedArrayUtils.js +21 -0
- package/browser_action/utils/semicolonSeparatedToArray.js +12 -0
- package/browser_action/utils/setupServiceWorker.js +193 -0
- package/cypress.config.js +21 -0
- package/download/entities/copyright-software-20021231.html +70 -0
- package/download/entities/html5-uppercase.ent +54 -0
- package/download/entities/htmlmathml-f.ent +2164 -0
- package/download/entities/isoamsa.ent +201 -0
- package/download/entities/isoamsb.ent +177 -0
- package/download/entities/isoamsc.ent +77 -0
- package/download/entities/isoamsn.ent +148 -0
- package/download/entities/isoamso.ent +107 -0
- package/download/entities/isoamsr.ent +238 -0
- package/download/entities/isobox.ent +95 -0
- package/download/entities/isocyr1.ent +122 -0
- package/download/entities/isocyr2.ent +81 -0
- package/download/entities/isodia.ent +69 -0
- package/download/entities/isogrk1.ent +104 -0
- package/download/entities/isogrk2.ent +75 -0
- package/download/entities/isogrk3.ent +98 -0
- package/download/entities/isogrk4.ent +98 -0
- package/download/entities/isolat1.ent +117 -0
- package/download/entities/isolat2.ent +176 -0
- package/download/entities/isomfrk.ent +107 -0
- package/download/entities/isomopf.ent +81 -0
- package/download/entities/isomscr.ent +107 -0
- package/download/entities/isonum.ent +131 -0
- package/download/entities/isopub.ent +140 -0
- package/download/entities/isotech.ent +216 -0
- package/download/entities/mmlalias.ent +598 -0
- package/download/entities/mmlextra.ent +154 -0
- package/download/entities/predefined.ent +52 -0
- package/download/entities/w3centities-f.ent +2276 -0
- package/download/entities/xhtml1-lat1.ent +143 -0
- package/download/entities/xhtml1-special.ent +78 -0
- package/download/entities/xhtml1-symbol.ent +171 -0
- package/eslint.config.js +66 -0
- package/icons/openWindow16.png +0 -0
- package/icons/openWindow24.png +0 -0
- package/lgtm.yml +5 -0
- package/lib/background.html +11 -0
- package/lib/background.js +13 -0
- package/lib/overlay.css +6 -0
- package/manifest.json +37 -0
- package/package.json +121 -0
- package/polyfills/browser-polyfill.min.js +8 -0
- package/polyfills/browser-polyfill.min.js.map +1 -0
- package/server.js +61 -0
- package/sw.js +259 -0
- package/tools/entities-import.js +62 -0
- package/tools/findEsResources.js +30 -0
- package/tools/list-locales.js +17 -0
- package/tools/parseUnicodeCharts.js +428 -0
- package/tools/ucd-import.js +24 -0
- package/tools/unicode-charts.html +596 -0
- package/tools/unihan-import.js +72 -0
- package/unicode_copyright.txt +46 -0
- package/vendor/camelcase/index.js +110 -0
- package/vendor/fflate/esm/browser.js +2665 -0
- package/vendor/intl-dom/dist/index.esm.js +2962 -0
- package/vendor/jamilih/dist/jml-es.js +2359 -0
- package/vendor/jquery/dist/jquery.js +10716 -0
- package/vendor/json-6/dist/index.mjs +1783 -0
- package/vendor/miller-columns/dist/index-es.min.js +1 -0
- package/vendor/miller-columns/miller-columns.css +75 -0
- package/vendor/simple-prefs/dist/index.esm.js +286 -0
- package/web-ext-config.cjs +13 -0
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import {getHangulName} from './hangul.js';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* @param {PlainObject} cfg
|
|
5
|
+
* @param {string} cfg.khextemp
|
|
6
|
+
* @param {import('intl-dom').I18NCallback} cfg._
|
|
7
|
+
* @returns {{
|
|
8
|
+
* unihanType: boolean, hangul: boolean, cjkText: string,
|
|
9
|
+
* searchValue: string
|
|
10
|
+
* }}
|
|
11
|
+
*/
|
|
12
|
+
function getCJKTypeFromHexString ({khextemp, _}) {
|
|
13
|
+
let unihanType = false, hangul = false;
|
|
14
|
+
|
|
15
|
+
const kdectemp = Number.parseInt(khextemp, 16);
|
|
16
|
+
|
|
17
|
+
// \p{UIdeo=y}
|
|
18
|
+
if (
|
|
19
|
+
(kdectemp >= 0x3400 && kdectemp <= 0x4DB5) ||
|
|
20
|
+
(kdectemp >= 0x4E00 && kdectemp <= 0x9FC3) || // 0x9FBB
|
|
21
|
+
(kdectemp >= 0xF900 && kdectemp < 0xFB00) ||
|
|
22
|
+
// Miscategorized unified as compatibility
|
|
23
|
+
[
|
|
24
|
+
0xFA0E,
|
|
25
|
+
0xFA0F,
|
|
26
|
+
0xFA11,
|
|
27
|
+
0xFA13,
|
|
28
|
+
0xFA14,
|
|
29
|
+
0xFA1F,
|
|
30
|
+
0xFA21,
|
|
31
|
+
0xFA23,
|
|
32
|
+
0xFA24,
|
|
33
|
+
0xFA27,
|
|
34
|
+
0xFA29
|
|
35
|
+
].includes(kdectemp) ||
|
|
36
|
+
|
|
37
|
+
// If not using the 39.5MB updated file, these ranges will not be valid:
|
|
38
|
+
// (CJK Ideograph Extension B)
|
|
39
|
+
(kdectemp >= 0x20000 && kdectemp <= 0x2A6D6) ||
|
|
40
|
+
// (CJK Ideograph Extension C)
|
|
41
|
+
(kdectemp >= 0x2A700 && kdectemp <= 0x2B734) ||
|
|
42
|
+
// (CJK Ideograph Extension D)
|
|
43
|
+
(kdectemp >= 0x2B840 && kdectemp <= 0x2B81D) ||
|
|
44
|
+
|
|
45
|
+
// Compatibility
|
|
46
|
+
(kdectemp >= 0x2F800 && kdectemp < 0x2FA1F)
|
|
47
|
+
) {
|
|
48
|
+
// pattern = new RegExp('^U\\+(' + khextemp + ')\\t(.*)\\t(.*)$', 'mg');
|
|
49
|
+
// file = 'Unihan.txt';
|
|
50
|
+
unihanType = true;
|
|
51
|
+
// $('#pdflink').append(alink);
|
|
52
|
+
} else if (kdectemp >= 0xAC00 && kdectemp <= 0xD7A3) {
|
|
53
|
+
// pattern = new RegExp('^' + khextemp + '\\s*;\\s*(.*)$', 'm');
|
|
54
|
+
// file = 'HangulSyllableType.txt';
|
|
55
|
+
hangul = true;
|
|
56
|
+
// The following are some ranges in UnicodeData.txt which do not
|
|
57
|
+
// have their own description sheets as do the two above
|
|
58
|
+
/*
|
|
59
|
+
if (0xE000 <= kdectemp && kdectemp <= 0xF8FF) {// Private Use
|
|
60
|
+
}
|
|
61
|
+
// Plane 15 Private Use
|
|
62
|
+
else if (0xF0000 <= kdectemp && kdectemp <= 0xFFFFD) {
|
|
63
|
+
}
|
|
64
|
+
// Plane 16 Private Use
|
|
65
|
+
else if (0x100000 <= kdectemp && kdectemp <= 0x10FFFD) {
|
|
66
|
+
}
|
|
67
|
+
*/
|
|
68
|
+
}
|
|
69
|
+
// pattern = new RegExp('^' + khextemp + ';([^;]*);', 'm');
|
|
70
|
+
// file = 'UnicodeData.txt';
|
|
71
|
+
|
|
72
|
+
let search = false;
|
|
73
|
+
let cjkText;
|
|
74
|
+
|
|
75
|
+
if (kdectemp >= 0x3400 && kdectemp <= 0x4DB5) {
|
|
76
|
+
search = '3400';
|
|
77
|
+
if (kdectemp !== 0x3400 && kdectemp !== 0x4DB5) {
|
|
78
|
+
cjkText = _('CJK_Ideograph_Extension_A');
|
|
79
|
+
} else if (kdectemp === 0x4DB5) {
|
|
80
|
+
search = '4DB5';
|
|
81
|
+
}
|
|
82
|
+
} else if (kdectemp >= 0x4E00 && kdectemp <= 0x9FC3) {
|
|
83
|
+
search = '4E00';
|
|
84
|
+
if (kdectemp !== 0x4E00 && kdectemp !== 0x9FC3) {
|
|
85
|
+
cjkText = _('CJK_Ideograph');
|
|
86
|
+
} else if (kdectemp === 0x9FC3) {
|
|
87
|
+
search = '9FC3';
|
|
88
|
+
}
|
|
89
|
+
} else if (
|
|
90
|
+
kdectemp >= 0xF900 && kdectemp < 0xFB00
|
|
91
|
+
) { // Should have individual code point
|
|
92
|
+
search = true;
|
|
93
|
+
} else if (kdectemp >= 0x20000 && kdectemp <= 0x2A6D6) {
|
|
94
|
+
search = '20000';
|
|
95
|
+
if (kdectemp !== 0x20000 && kdectemp !== 0x2A6D6) {
|
|
96
|
+
cjkText = _('CJK_Ideograph_Extension_B');
|
|
97
|
+
} else if (kdectemp === 0x2A6D6) {
|
|
98
|
+
search = '2A6D6';
|
|
99
|
+
}
|
|
100
|
+
} else if (
|
|
101
|
+
kdectemp >= 0x2F800 && kdectemp < 0x2FA1F
|
|
102
|
+
) { // Should have individual code point
|
|
103
|
+
search = true;
|
|
104
|
+
} else if (hangul) {
|
|
105
|
+
// search = 'AC00';
|
|
106
|
+
// if (kdectemp != 0xAC00 && kdectemp != 0xD7A3) {
|
|
107
|
+
cjkText = _('Hangul_Syllable');
|
|
108
|
+
cjkText += ' ';
|
|
109
|
+
|
|
110
|
+
cjkText += getHangulName(kdectemp);
|
|
111
|
+
/* }
|
|
112
|
+
else if (kdectemp == 0xD7A3) {
|
|
113
|
+
search = 'D7A3';
|
|
114
|
+
} */
|
|
115
|
+
}
|
|
116
|
+
let searchValue;
|
|
117
|
+
if (search) {
|
|
118
|
+
if (search === true) {
|
|
119
|
+
search = khextemp;
|
|
120
|
+
}
|
|
121
|
+
searchValue = search;
|
|
122
|
+
} else {
|
|
123
|
+
searchValue = khextemp;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
return {unihanType, hangul, cjkText, searchValue};
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
export {getCJKTypeFromHexString};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import {UnihanDatabase} from './charrefunicodeDb.js';
|
|
2
|
+
|
|
3
|
+
// import {getText} from '../utils/FetchUtils.js';
|
|
4
|
+
// const unihanPath = `/download/unihan/unihan.json`;
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* @param {JSON} updateUnicodeData
|
|
8
|
+
* @returns {Promise<UnihanDatabase>}
|
|
9
|
+
*/
|
|
10
|
+
async function unihanDbPopulate (updateUnicodeData) {
|
|
11
|
+
const namespace = 'unicode-input-toolconverter-Unihan';
|
|
12
|
+
await indexedDB.deleteDatabase(namespace);
|
|
13
|
+
const unihanDatabase = new UnihanDatabase({
|
|
14
|
+
name: namespace,
|
|
15
|
+
// We don't peg to package major version as database version may vary
|
|
16
|
+
// independently
|
|
17
|
+
version: 1
|
|
18
|
+
});
|
|
19
|
+
await unihanDatabase.connect({
|
|
20
|
+
updateUnicodeData
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
return unihanDatabase;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export default unihanDbPopulate;
|