diff --git a/.gitignore b/.gitignore index d95f48fb45..dc2f2edcc7 100644 --- a/.gitignore +++ b/.gitignore @@ -9,6 +9,7 @@ build.properties /js/package.json js/.ant-targets-build.xml **/localeinfo.json +**/*.stamp /node_modules/* js/node_modules/* !/node_modules/nodeunit/ diff --git a/.travis.yml b/.travis.yml index ef2b7f71cc..be9997e12c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,8 +1,8 @@ language: node_js node_js: - - "4" - "6" - "8" + - "9" env: - CXX=g++-4.8 before_install: @@ -15,6 +15,8 @@ install: - sudo apt-get -y install qt55[QTPACKAGE] - sudo apt-get -y install qmlscene qt5-default qtdeclarative5-dev qtbase5-dev - npm install + - export PATH=$PWD/node_modules/.bin:$PATH + - export NODE_OPTIONS="--max-old-space-size=3072" script: # [Error] module QtQuick is not installed - source /opt/qt55/bin/qt55-env.sh @@ -34,3 +36,4 @@ branches: - master - development sudo: required +dist: trusty diff --git a/Gruntfile.js b/Gruntfile.js new file mode 100644 index 0000000000..e8451f6c77 --- /dev/null +++ b/Gruntfile.js @@ -0,0 +1,335 @@ + +module.exports = function(grunt) { + grunt.initConfig({ + pkg: grunt.file.readJSON('package.json'), + mkdir: { + prepare: { + options: {create: ['js/locale', 'js/output', 'js/output/reports', 'js/output/js', 'js/output/dyncode', 'js/output/test', 'js/output/jsdoc'] + }}, + export: { + options: {create: ['export', 'export/docs', 'export/js', 'export/locale', 'export/qt', 'export/tools', 'dist'] + }}, + dist: { + options: {create: ['export/js/assembled','export/js/dyncode', 'export/js/dyncode', 'export/js/jsdoc', 'export/js/jsdoc', 'export/src/js', 'export/package/lib','export/package/locale', 'export/docs/jsdoc'] + }} + }, + copy: { + export_locale: { + files: [{cwd:"js/locale", src: ["**/*.json"], dest: 'export/locale/', expand: true}] + }, + export_js_assemble: { + files: [{cwd:"js/output/js", src: ["core-assembled-uncompiled-web/*.js","core-assembled-compiled-web/*.js", "standard-assembled-uncompiled-web/*.js", "standard-assembled-compiled-web/*.js", "full-assembled-uncompiled-web/*.js", "full-assembled-compiled-web/*.js", "core-dynamicdata-uncompiled-web/*.js", "core-dynamicdata-compiled-web/*.js", "standard-dynamicdata-uncompiled-web/*.js", "standard-dynamicdata-compiled-web/*.js", "full-dynamicdata-uncompiled-web/*.js", "full-dynamicdata-compiled-web/*.js"], dest: 'export/js/assembled/', expand: true}] + }, + export_dyncode: { + files: [{cwd:"js/output/dyncode", src: ["**/*.js"], dest: 'export/js/dyncode/', expand: true}] + }, + export_jsdoc: { + files: [{cwd:"js/output/jsdoc", src: ["**"], dest: 'export/docs/jsdoc/', expand: true}] + }, + export_package_lib: { + files: [{cwd:"export/js/dyncode", src: ["**", '!ilib-web.js', '!ilib-qt.js', '!ilib-rhino.js', '!ilib-enyo.js', '!QMLLoader.js', '!WebLoader.js'], dest: 'export/package/lib/', expand: true}] + }, + export_package_locale: { + files: [{cwd:"js/locale", src: ["**"], dest: 'export/package/locale/', expand: true}] + }, + export_package: { + files: [{cwd:"js", src: ["../README.md", 'package.json'], dest: 'export/package/', expand: true}] + }, + }, + shell: { + node_option: { + command: 'echo export NODE_OPTIONS="--max-old-space-size=3072"' + }, + copy_pkgJson: { + command: 'cp js/package.json .' + }, + mkli: { + command: 'cd js/data/locale; node ../../../tools/build/mkli.js' // create localeinfo.json + }, + touch_localeinfoStamp: { + command:'cd js/data/locale; touch localeinfo.stamp' + }, + compressJson: { + command: 'cd js/data/locale; node ../../../tools/build/jsoncompress.js . ../../../js/locale' + }, + touch_compressJsonStamp: { + command:'cd js/data/locale; touch jsoncompress.stamp' + }, + gen_manifest_locale: { + command:'cd js/locale; node ../../tools/build/mkmf.js' + }, + uglifyfile: { + command: 'node_modules/uglify-js/bin/uglifyjs js/output/js/ilib.js -o js/output/dyncode/ilib.js --no-mangle-functions' + }, + qmlizer: { + command: 'node tools/qmlizer/qmlizer.js js/output/dyncode/ilib.js js/output/dyncode/ilib.js' + }, + runNodeunitAll: { + command: options => './js/test/runNodeunit.sh ' + options, + }, + runNodeunit: { + command: options => './js/test/runNodeunit.sh ' + options, + }, + testRemote: { + command: 'cd js; ../node_modules/http-server/bin/http-server -p 9090 -o' + }, + run_webpack: { + /* + + + + + + + */ + command: options => './js/runWebpack.sh ' + options, + } + }, + compress: { + tgz: { + options: {archive: "dist/ilib.tgz"}, + files: [{expand:true, cwd: 'export', src: ["package/*"]}] + }, + fulltgz: { + options: {archive: "dist/ilib-<%= pkg.version %>.tgz"}, + files: [{expand:true, cwd: 'export', src: ["js/*", "java/*", "locale/*", "qt/*"]}] + }, + nodezip: { + options: {archive: 'dist/ilib-<%= pkg.version %>.zip'}, + files: [{expand:true, cwd: 'export', src: ['js/*', 'java/*', 'locale/*', 'qt/*']}] + }, + srczip: { + options: {archive: 'dist/ilib-<%= pkg.version %>-src.zip'}, + files: [ + {expand:true, cwd: 'export', src: ['js/*', 'tools/*', 'build.properties', 'build.xml']}, + {expand:true, src: ['build.properties', 'build.xml']} + ] + }, + srctgz: { + options: {archive: 'dist/ilib-<%= pkg.version %>-src.tgz'}, + files: [ + {expand:true, cwd: 'export', src: ['js/*', 'tools/*', 'build.properties', 'build.xml']}, + {expand:true, src: ['build.properties', 'build.xml']} + ] + }, + doczip: { + options: {archive: 'dist/ilib-<%= pkg.version %>-doc.zip'}, + files: [{expand:true, cwd: 'export/docs', src: ['jsdoc/*']}] + }, + doctgz: { + options: {archive: 'dist/ilib-<%= pkg.version %>-doc.tgz'}, + files: [{expand:true, cwd: 'export/docs', src: ['jsdoc/*']}] + } + }, + md5sum: { + build: { + files: [{ + cwd: "dist/", + src: ["*.{tgz,zip,jar}"], + dest: 'dist/checksum.md5' + }] + } + }, + clean: { + all : ['dist', 'export', 'js/output', 'js/locale', 'js/package.json', 'docs/demo/demo.tgz', 'docs/demo/scripts/ilib-demo.js' ], + rm_lijson : ['js/**/localeinfo.json'] + }, + replace: { + ilibVersion: { + src: ['js/lib/ilib.js'], + dest: 'js/output/js/', + replacements: [{ + from: '// !macro ilibVersion', + to: '"<%= pkg.version %>"' + }] + }, + pkgVersion: { + src: ['js/package.json.template'], + dest: 'js/package.json', + replacements: [{ + from: '"@fullversion@"', + to: '"<%= pkg.version %>"' + }] + } + }, + uglify: { + all: { + options: { + banner: '/*! <%= pkg.name %> - v<%= pkg.version %> - ' +'<%= grunt.template.today("yyyy-mm-dd") %> */', + mangle: false + }, + files: [ { + expand: true, + cwd: 'js/lib/', + src: ['*.js', '!ilib.js', '!ilib-*.js', '!externs.js', 'datefmtstr.js', '!ilib-node*.js','!ilib-stubs*','!ilib-web.js','!ilib-qt.js'], + dest: 'js/output/dyncode/', + }] + } + }, + jsdoc: { + api_doc: { + src: ['js/lib/*.js', 'README.md'], + options: { + ignoreWarnings: true, + destination: 'js/output/jsdoc', + private:true + } + } + }, + /*'closure-compiler': { + run: { + // Target-specific file lists and/or options go here. + closurePath: 'tools/google-closure-compiler.r20150920', + js: 'js/output/js/full-assembled-uncompiled-web/ilib-full.js', + jsOutputFile: 'js/output/js/full-assembled-uncompiled-web/ilib-full-closure.js', + maxBuffer: 1000, + options: { + compilation_level: 'SIMPLE_OPTIMIZATIONS' + } + }, + },*/ + watch: { + scripts: { + files: [], + taskes: [] + } + } + }); + grunt.loadNpmTasks('grunt-mkdir'); + grunt.loadNpmTasks('grunt-move'); + grunt.loadNpmTasks('grunt-md5sum'); + grunt.loadNpmTasks('grunt-shell'); + grunt.loadNpmTasks('grunt-text-replace'); + grunt.loadNpmTasks('grunt-jsdoc'); + + grunt.loadNpmTasks('grunt-contrib-clean'); + grunt.loadNpmTasks('grunt-contrib-copy'); + grunt.loadNpmTasks('grunt-contrib-compress'); + grunt.loadNpmTasks('grunt-contrib-uglify'); + + grunt.registerTask('build_jsonWork', ['mkdir:prepare', 'replace:pkgVersion','shell:copy_pkgJson','shell:mkli', 'shell:touch_localeinfoStamp', 'shell:compressJson', 'shell:touch_compressJsonStamp', 'shell:gen_manifest_locale']); + grunt.registerTask('build_copyJson', ['mkdir:export', 'copy:export_locale']); + grunt.registerTask('build_core', ['shell:node_option','webpack_assemble_core', 'webpack_assemble_core_compiled', 'webpack_assemble_core_dyndata', 'webpack_assemble_core_dyndata_compiled']); + grunt.registerTask('build_standard', ['webpack_assemble_standard', 'webpack_assemble_standard_compiled','webpack_assemble_standard_dyndata', 'webpack_assemble_standard_dyndata_compiled']); + grunt.registerTask('build_full', ['webpack_assemble_full', 'webpack_assemble_full_compiled','webpack_assemble_full_dyndata','webpack_assemble_full_dyndata_compiled' ]); + grunt.registerTask('build_uglify', ['uglifyFiles'/*, 'jsdoc:api_doc'*/]); + grunt.registerTask('build_export', ['mkdir:dist', 'copy:export_js_assemble','copy:export_dyncode', 'copy:export_jsdoc', 'copy:export_package','copy:export_package_lib', 'copy:export_package_locale']); + + grunt.registerTask('build_all', ['build_jsonWork', 'build_copyJson', 'build_core', 'build_standard', 'build_full', 'build_uglify', 'build_export']); + grunt.registerTask('dist', ['compress', 'md5sum']); + grunt.registerTask('uglifyFiles', ['replace:ilibVersion', 'shell:uglifyfile', 'shell:qmlizer', 'uglify:all']); + + grunt.registerTask('default', ['build_all']); + grunt.registerTask('unittest_build', ['webpack_assemble_unittest', 'webpack_assemble_unittest_compiled','webpack_assemble_unittest_dyndata','webpack_assemble_unittest_dyndata_compiled','webpack_assemble_unittest_node', 'webpack_assemble_unittest_node_compiled', 'webpack_assemble_unittest_dyndata_node', 'webpack_assemble_unittest_dyndata_node_compiled']); + + + // Webpack Run + /* + . default: assembled + + default:"uncompiled" + default: locales.default + default: target + + */ + grunt.registerTask('webpack_assemble_core', ['shell:run_webpack:assembly core uncompiled web locales_default']); + grunt.registerTask('webpack_assemble_core_compiled', ['shell:run_webpack:assembly core compiled web locales_default']); + grunt.registerTask('webpack_assemble_core_dyndata', ['shell:run_webpack:dynamicdata core uncompiled web locales_default']); + grunt.registerTask('webpack_assemble_core_dyndata_compiled', ['shell:run_webpack:dynamicdata core compiled web locales_default']); + + grunt.registerTask('webpack_assemble_standard', ['shell:run_webpack:assembly standard uncompiled web locales_default']); + grunt.registerTask('webpack_assemble_standard_compiled', ['shell:run_webpack:assembly standard compiled web locales_default']); + grunt.registerTask('webpack_assemble_standard_dyndata', ['shell:run_webpack:dynamicdata standard uncompiled web locales_default']); + grunt.registerTask('webpack_assemble_standard_dyndata_compiled', ['shell:run_webpack:dynamicdata standard compiled web locales_default']); + + grunt.registerTask('webpack_assemble_full', ['shell:run_webpack:assembly full uncompiled web locales_default']); + grunt.registerTask('webpack_assemble_full_compiled', ['shell:run_webpack:assembly full compiled web locales_default']); + grunt.registerTask('webpack_assemble_full_dyndata', ['shell:run_webpack:dynamicdata full uncompiled web locales_default']); + grunt.registerTask('webpack_assemble_full_dyndata_compiled', ['shell:run_webpack:dynamicdata full compiled web locales_default']); + + grunt.registerTask('webpack_assemble_unittest', ['shell:run_webpack:assembly ut uncompiled web locales_unittest']); + grunt.registerTask('webpack_assemble_unittest_compiled', ['shell:run_webpack:assembly ut compiled web locales_unittest']); + grunt.registerTask('webpack_assemble_unittest_dyndata', ['shell:run_webpack:dynamicdata ut uncompiled web locales_unittest']); + grunt.registerTask('webpack_assemble_unittest_dyndata_compiled', ['shell:run_webpack:dynamicdata ut compiled web locales_unittest']); + + grunt.registerTask('webpack_assemble_unittest_node', ['shell:run_webpack:assembly ut uncompiled node locales_unittest']); + grunt.registerTask('webpack_assemble_unittest_node_compiled', ['shell:run_webpack:assembly ut compiled node locales_unittest']); + grunt.registerTask('webpack_assemble_unittest_dyndata_node', ['shell:run_webpack:dynamicdata ut uncompiled node locales_unittest']); + grunt.registerTask('webpack_assemble_unittest_dyndata_node_compiled', ['shell:run_webpack:dynamicdata ut compiled node locales_unittest']); + + grunt.registerTask('webpack_assemble_demo', ['shell:run_webpack:asembly demo uncompiled node locales_demo']); + grunt.registerTask('webpack_assemble_demo_compiled', ['shell:run_webpack:assembly demo compiled node locales_demo']); + grunt.registerTask('webpack_assemble_demo_dyndata', ['shell:run_webpack:dynamicdata demo uncompiled node locales_demo']); + grunt.registerTask('webpack_assemble_demo_dyndata_compiled', ['shell:run_webpack:dynamicdata demo compiled node locales_demo']); + + // Test Run + + grunt.registerTask('test_all', ['test_dynamic_uncompiled_sync','test_dynamic_uncompiled_async','test_dynamic_compiled_sync','test_dynamic_compiled_async', 'test_assembled_uncompiled_sync', 'test_assembled_uncompiled_async', 'test_assembled_compiled_sync', 'test_assembled_compiled_async','test_dyndata_uncompiled_sync', 'test_dyndata_uncompiled_async', 'test_dyndata_compiled_sync', 'test_dyndata_compiled_async' ]) + grunt.registerTask('test_remote', ['shell:testRemote']); + + grunt.registerTask('test_dynamic_uncompiled_sync', ['shell:runNodeunitAll:all dynamic uncompiled sync']); + grunt.registerTask('test_dynamic_uncompiled_async', ['shell:runNodeunitAll:all dynamic uncompiled async']); + + grunt.registerTask('test_dynamic_compiled_sync', ['shell:runNodeunitAll:all dynamic compiled sync']); + grunt.registerTask('test_dynamic_compiled_async', ['shell:runNodeunitAll:all dynamic compiled async']); + + grunt.registerTask('test_assembled_uncompiled_sync', ['shell:runNodeunitAll:all assembled uncompiled sync']); + grunt.registerTask('test_assembled_uncompiled_async', ['shell:runNodeunitAll:all assembled uncompiled async']); + + grunt.registerTask('test_assembled_compiled_sync', ['shell:runNodeunitAll:all assembled compiled sync']); + grunt.registerTask('test_assembled_compiled_async', ['shell:runNodeunitAll:all assembled compiled async']); + + grunt.registerTask('test_dyndata_uncompiled_sync', ['shell:runNodeunitAll:all dynamicdata uncompiled sync']); + grunt.registerTask('test_dyndata_uncompiled_async', ['shell:runNodeunitAll:all dynamicdata uncompiled async']); + + grunt.registerTask('test_dyndata_compiled_sync', ['shell:runNodeunitAll:all dynamicdata compiled sync']); + grunt.registerTask('test_dyndata_compiled_async', ['shell:runNodeunitAll:all dynamicdata compiled async']); + + grunt.registerTask('test_address_sync', ['shell:runNodeunit:sync address']); + grunt.registerTask('test_calendar_sync', ['shell:runNodeunit:sync calendar']); + grunt.registerTask('test_collate_sync', ['shell:runNodeunit:sync collate']); + grunt.registerTask('test_ctype_sync', ['shell:runNodeunit:sync ctype']); + grunt.registerTask('test_date_sync', ['shell:runNodeunit:sync date']); + grunt.registerTask('test_daterange_sync', ['shell:runNodeunit:sync daterange']); + grunt.registerTask('test_durfmt_sync', ['shell:runNodeunit:sync durfmt']); + grunt.registerTask('test_name_sync', ['shell:runNodeunit:sync name']); + grunt.registerTask('testmber_sync', ['shell:runNodeunit:sync number']); + grunt.registerTask('test_maps_sync', ['shell:runNodeunit:sync maps']); + grunt.registerTask('test_phone_sync', ['shell:runNodeunit:sync phone']); + grunt.registerTask('test_root_sync', ['shell:runNodeunit:sync root']); + grunt.registerTask('test_strings-ext_sync', ['shell:runNodeunit:sync strings-ext']); + grunt.registerTask('test_units_sync', ['shell:runNodeunit:sync units']); + grunt.registerTask('test_util_sync', ['shell:runNodeunit:sync util']); + + grunt.registerTask('test_address_async', ['shell:runNodeunit:async address']); + grunt.registerTask('test_calendar_async', ['shell:runNodeunit:async calendar']); + grunt.registerTask('test_collate_async', ['shell:runNodeunit:async collate']); + grunt.registerTask('test_ctype_async', ['shell:runNodeunit:async ctype']); + grunt.registerTask('test_date_async', ['shell:runNodeunit:async date']); + grunt.registerTask('test_daterange_async', ['shell:runNodeunit:async daterange']); + grunt.registerTask('test_durfmt_async', ['shell:runNodeunit:async durfmt']); + grunt.registerTask('test_name_async', ['shell:runNodeunit:async name']); + grunt.registerTask('testmber_async', ['shell:runNodeunit:async number']); + grunt.registerTask('test_maps_async', ['shell:runNodeunit:async maps']); + grunt.registerTask('test_phone_async', ['shell:runNodeunit:async phone']); + grunt.registerTask('test_root_async', ['shell:runNodeunit:async root']); + grunt.registerTask('test_strings-ext_async', ['shell:runNodeunit:async strings-ext']); + grunt.registerTask('test_units_async', ['shell:runNodeunit:async units']); + grunt.registerTask('test_util_async', ['shell:runNodeunit:async util']); + + grunt.registerTask('test_address_debug', ['shell:runNodeunit:debug address']); + grunt.registerTask('test_calendar_debug', ['shell:runNodeunit:debug calendar']); + grunt.registerTask('test_collate_debug', ['shell:runNodeunit:debug collate']); + grunt.registerTask('test_ctype_debug', ['shell:runNodeunit:debug ctype']); + grunt.registerTask('test_date_debug', ['shell:runNodeunit:debug date']); + grunt.registerTask('test_daterange_debug', ['shell:runNodeunit:debug daterange']); + grunt.registerTask('test_durfmt_debug', ['shell:runNodeunit:debug durfmt']); + grunt.registerTask('test_name_debug', ['shell:runNodeunit:debug name']); + grunt.registerTask('testmber_debug', ['shell:runNodeunit:debug number']); + grunt.registerTask('test_maps_debug', ['shell:runNodeunit:debug maps']); + grunt.registerTask('test_phone_debug', ['shell:runNodeunit:debug phone']); + grunt.registerTask('test_root_debug', ['shell:runNodeunit:debug root']); + grunt.registerTask('test_strings-ext_debug', ['shell:runNodeunit:debug strings-ext']); + grunt.registerTask('test_units_debug', ['shell:runNodeunit:debug units']); + grunt.registerTask('test_util_debug', ['shell:runNodeunit:debug util']); +}; \ No newline at end of file diff --git a/build.properties b/build.properties index 539c8e9317..68dbfbc63c 100644 --- a/build.properties +++ b/build.properties @@ -13,4 +13,4 @@ # See the License for the specific language governing permissions and # limitations under the License. -version=13.3.1 +version=14.0.0 diff --git a/build.xml b/build.xml index d142a03239..5a45b35680 100644 --- a/build.xml +++ b/build.xml @@ -2,7 +2,7 @@ - - - -JEDLSoft iLib Demo - - - - - - - - - - - - - - - -
-
- -

JEDLSoft iLib Demo

- -
-
-

Locale & Format Settings:

-
- - -
- - - -
- - - - - - - - - - - - -
- - - - - - - - - - - - - - -
- - -
-
-
-

Executed command:

-
---
-
-
-
-
-
-
-
- - - + + + + + +JEDLSoft iLib Demo + + + + + + + + + + + + + + + +
+
+ +

JEDLSoft iLib Demo

+ +
+
+

Locale & Format Settings:

+
+ + +
+ + + +
+ + + + + + + + + + + + +
+ + + + + + + + + + + + + + +
+ + +
+
+
+

Executed command:

+
---
+
+
+
+
+
+
+
+ + + diff --git a/docs/demo/scripts/demo-date.js b/docs/demo/scripts/demo-date.js index bade11d4f4..19abd9bf29 100644 --- a/docs/demo/scripts/demo-date.js +++ b/docs/demo/scripts/demo-date.js @@ -1,7 +1,7 @@ /* * demo-date.js - define the scripts used by the demo * - * Copyright © 2012-2014, JEDLSoft + * Copyright © 2012-2014, 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -31,21 +31,23 @@ function setCalendarValues(cal) { }); }; -function setTimeZoneValues(element, tz) { - var tzs = TimeZone.getAvailableIds(); - - tzs.sort(); - - element.append($("").attr({ - value: "none", - "selected": true - }).text("none")); - - $.each(tzs, function(key, value) { - element.append($("").attr({ - value: value, - "selected": (value == tz) - }).text(value)); +function setTimeZoneValues(element, tz, cb) { + TimeZone.getAvailableIds(undefined, !ilib.isDynData(), function(tzs) { + tzs.sort(); + + element.append($("").attr({ + value: "", + "selected": true + }).text("none")); + + $.each(tzs, function(key, value) { + element.append($("").attr({ + value: value, + "selected": (value == tz) + }).text(value)); + }); + + if (typeof(cb) === "function") cb(); }); }; @@ -57,96 +59,130 @@ function setupFormatPicker() { $('#formatPane').show(); }; -function setMonthValues(element, month, year) { +function setMonthValues(element, month, year, cb) { var calName = $("#calendarName").val(), locale = $('#localeControl').val() || "en", - cal = CalendarFactory({ - type: calName, - locale: locale - }), - sysres = new ResBundle({ - name: "sysres", - locale: locale - }), - months = cal.getNumMonths(year), + sysres, + months, monthName, i; - - element.empty(); - for (i = 1; i <= months; i++) { - monthName = sysres.getString(undefined, "MMMM"+i+'-'+calName) || sysres.getString(undefined, "MMMM"+i); - element.append($("").attr({ - "value": i, - "selected": (i == month) - }).text(i + " - " + monthName)); - } + + CalendarFactory({ + type: calName, + locale: locale, + sync: !ilib.isDynData(), + onLoad: function(cal) { + new ResBundle({ + name: "sysres", + locale: locale, + sync: !ilib.isDynData(), + onLoad: function(sysres) { + months = cal.getNumMonths(year), + element.empty(); + for (i = 1; i <= months; i++) { + monthName = sysres.getString(undefined, "MMMM"+i+'-'+calName) || sysres.getString(undefined, "MMMM"+i); + element.append($("").attr({ + "value": i, + "selected": (i === month) + }).text(i + " - " + monthName)); + if (typeof(cb) === "function") cb(); + } + } + }); + } + }); + }; -function setDayValues(element, day, month, year) { +function setDayValues(element, day, month, year, cb) { var calName = $("#calendarName").val(), locale = $('#localeControl').val() || "en", - cal = CalendarFactory({ - type: calName, - locale: locale - }), - days = cal.getMonLength(month, year), - fmt = new DateFmt({ - calendar: calName, - locale: locale, - type: "date", - date: "d", - timezone: "Etc/UTC" - }), - date = DateFactory({ - calendar: calName, - locale: locale, - year: year, - month: month, - day: 1, - timezone: "Etc/UTC" - }); - - element.empty(); - for (var i = 1; i <= days; i++) { - date.setDays(i); - element.append($("").attr({ - "value": i, - "selected": (i == day) - }).text(fmt.format(date))); - } + cal, + days, + fmt, + date; + + CalendarFactory({ + type: calName, + locale: locale, + sync: !ilib.isDynData(), + onLoad: function(cal) { + days = cal.getMonLength(month, year); + new DateFmt({ + calendar: calName, + locale: locale, + type: "date", + date: "d", + timezone: "Etc/UTC", + sync: !ilib.isDynData(), + onLoad: function(fmt) { + DateFactory({ + calendar: calName, + locale: locale, + year: year, + month: month, + day: 1, + timezone: "Etc/UTC", + sync: !ilib.isDynData(), + onLoad: function(date) { + element.empty(); + for (var i = 1; i <= days; i++) { + date.setDays(i); + element.append($("").attr({ + "value": i, + "selected": (i == day) + }).text(fmt.format(date))); + if (typeof(cb) === "function") cb(); + } + } + }); + } + }); + } + }); }; -function setHourValues(element, hour) { +function setHourValues(element, hour, cb) { var locale = $('#localeControl').val() || "en", i, - calName = $("#calendarName").val(), - cal = CalendarFactory({ - type: calName, - locale: locale, - calendar: calName - }), - fmt = new DateFmt({ - calendar: calName, - locale: locale, - type: "time", - time: "ah", - timezone: "Etc/UTC" - }), - date = DateFactory({ - calendar: calName, - locale: locale, - hour: 0, - timezone: "Etc/UTC" - }); - - element.empty(); - for (i = 0; i < 24; i++) { - date.setHours(i); - element.append($("").attr({ - "value": i, - "selected": (i == hour) - }).text(fmt.format(date))); - } + calName = $("#calendarName").val(); + + CalendarFactory({ + type: calName, + locale: locale, + calendar: calName, + sync: !ilib.isDynData(), + onLoad: function(cal) { + new DateFmt({ + calendar: calName, + locale: locale, + type: "time", + time: "ah", + timezone: "Etc/UTC", + sync: !ilib.isDynData(), + onLoad: function(fmt) { + DateFactory({ + calendar: calName, + locale: locale, + hour: 0, + timezone: "Etc/UTC", + sync: !ilib.isDynData(), + onLoad: function(date) { + element.empty(); + for (i = 0; i < 24; i++) { + date.setHours(i); + element.append($("").attr({ + "value": i, + "selected": (i == hour) + }).text(fmt.format(date))); + } + if (typeof(cb) === "function") cb(); + } + }); + } + }); + } + }); } function setMinutesSecondsValues(minuteElement, secondElement, minute, second) { @@ -193,117 +229,133 @@ function setupCalendarPicker() { year, tzElement = $("#timezone"); - cal = CalendarFactory({ - locale: locale - }); - today = DateFactory({ - calendar: cal.getType() - }); - - setCalendarValues(cal.getType()); - calName.append($("").attr("value", "julianday").text("julianday")); - calName.append($("").attr("value", "unixtime").text("unixtime")); - - setMinutesSecondsValues(minuteElement, secondElement, today.minute, today.second); - year = parseInt(yearElement.val()); - - $('#localeControl').change(function () { - var month = parseInt(monthElement.val()), - hour = parseInt(hourElement.val()), - year = parseInt(yearElement.val()); - setMonthValues(monthElement, month, year); - setHourValues(hourElement, hour); - }); - - $('#year').change(function () { - var month = parseInt(monthElement.val()), - day = parseInt(dayElement.val()), - year = parseInt(yearElement.val()); - - $('#cycle').val(Math.floor((year - 1) / 60)); - $('#cycleYear').val(MathUtils.amod(year, 60)); - - setMonthValues(monthElement, month, year); - setDayValues(dayElement, day, month, year); - }); - - calName.change(function() { - var name = calName.val(), - locale = $('#localeControl').val() || "en"; - - if (name === "julianday") { - $('#yearMonthPicker').hide(); - $('#calendarPicker').hide(); - $('#jdpicker').show(); - $('#utpicker').hide(); - $('#chineseCyclesPicker').hide(); - } else if (name === "unixtime") { - $('#yearMonthPicker').hide(); - $('#calendarPicker').hide(); - $('#jdpicker').hide(); - $('#utpicker').show(); - $('#chineseCyclesPicker').hide(); - } else { - $('#jdpicker').hide(); - $('#utpicker').hide(); - $('#yearMonthPicker').show(); - $('#calendarPicker').show(); - if (name === "han") { - $('#chineseCyclesPicker').show(); - } else { - $('#chineseCyclesPicker').hide(); - } - cal = CalendarFactory({ - type: name, - locale: locale - }); - - var today = DateFactory({ - calendar: name, - locale: locale - }); - var yearElement = $('#year'); - - if (name === "han") { - $('#cycle').val(today.getCycles()); - $('#cycleYear').val(today.getCycleYears()); - } - - yearElement.val(today.year); - - setMonthValues(monthElement, today.month, today.year); - setDayValues(dayElement, today.day, today.month, today.year); - setHourValues(hourElement, today.hour); + CalendarFactory({ + locale: locale, + sync: !ilib.isDynData(), + onLoad: function(cal) { + DateFactory({ + calendar: cal.getType(), + sync: !ilib.isDynData(), + onLoad: function(today) { + setCalendarValues(cal.getType()); + calName.append($("").attr("value", "julianday").text("julianday")); + calName.append($("").attr("value", "unixtime").text("unixtime")); + + setMinutesSecondsValues(minuteElement, secondElement, today.minute, today.second); + year = parseInt(yearElement.val()); + + $('#localeControl').change(function () { + var month = parseInt(monthElement.val()), + hour = parseInt(hourElement.val()), + year = parseInt(yearElement.val()); + setMonthValues(monthElement, month, year, function() { + setHourValues(hourElement, hour); + }); + }); + + $('#year').change(function () { + var month = parseInt(monthElement.val()), + day = parseInt(dayElement.val()), + year = parseInt(yearElement.val()); + + $('#cycle').val(Math.floor((year - 1) / 60)); + $('#cycleYear').val(MathUtils.amod(year, 60)); + + setMonthValues(monthElement, month, year, function() { + setDayValues(dayElement, day, month, year); + }); + }); + + calName.change(function() { + var name = calName.val(), + locale = $('#localeControl').val() || "en"; + + if (name === "julianday") { + $('#yearMonthPicker').hide(); + $('#calendarPicker').hide(); + $('#jdpicker').show(); + $('#utpicker').hide(); + $('#chineseCyclesPicker').hide(); + } else if (name === "unixtime") { + $('#yearMonthPicker').hide(); + $('#calendarPicker').hide(); + $('#jdpicker').hide(); + $('#utpicker').show(); + $('#chineseCyclesPicker').hide(); + } else { + $('#jdpicker').hide(); + $('#utpicker').hide(); + $('#yearMonthPicker').show(); + $('#calendarPicker').show(); + if (name === "han") { + $('#chineseCyclesPicker').show(); + } else { + $('#chineseCyclesPicker').hide(); + } + CalendarFactory({ + type: name, + locale: locale, + sync: !ilib.isDynData(), + onLoad: function(cal) { + DateFactory({ + calendar: name, + locale: locale, + sync: !ilib.isDynData(), + onLoad: function(today) { + var yearElement = $('#year'); + + if (name === "han") { + $('#cycle').val(today.getCycles()); + $('#cycleYear').val(today.getCycleYears()); + } + + yearElement.val(today.year); + + setMonthValues(monthElement, today.month, today.year, function() { + setDayValues(dayElement, today.day, today.month, today.year, function() { + setHourValues(hourElement, today.hour); + }); + }); + } + }); + } + }); + } + }); + + $('#cycle,#cycleYear').change(function() { + var cycle = parseInt($('#cycle').val()); + var cycleYear = parseInt($('#cycleYear').val()); + var year = cycle * 60 + cycleYear; + + $('#year').val(year); + $('#cycle').val(Math.floor((year - 1) / 60)); + $('#cycleYear').val(MathUtils.amod(year, 60)); + }); + + monthElement.change(function() { + var day = parseInt(dayElement.val()); + month = parseInt(monthElement.val()), + year = parseInt(yearElement.val()); + setDayValues(dayElement, day, month, year); + }); + + yearElement.val(today.year); + setMonthValues(monthElement, today.month, today.year, function() { + setDayValues(dayElement, today.day, today.month, today.year, function() { + setHourValues(hourElement, today.hour, function() { + setTimeZoneValues(tzElement, undefined, function() { + $('#calendarPane').show(); + $('#yearMonthPicker').show(); + $('#calendarPicker').show(); + }); + }); + }); + }); + } + }); } }); - - $('#cycle,#cycleYear').change(function() { - var cycle = parseInt($('#cycle').val()); - var cycleYear = parseInt($('#cycleYear').val()); - var year = cycle * 60 + cycleYear; - - $('#year').val(year); - $('#cycle').val(Math.floor((year - 1) / 60)); - $('#cycleYear').val(MathUtils.amod(year, 60)); - }); - - monthElement.change(function() { - var day = parseInt(dayElement.val()); - month = parseInt(monthElement.val()), - year = parseInt(yearElement.val()); - setDayValues(dayElement, day, month, year); - }); - - yearElement.val(today.year); - setMonthValues(monthElement, today.month, today.year); - setDayValues(dayElement, today.day, today.month, today.year); - setHourValues(hourElement, today.hour); - - setTimeZoneValues(tzElement); - - $('#calendarPane').show(); - $('#yearMonthPicker').show(); - $('#calendarPicker').show(); }; function datePicker() { @@ -331,16 +383,18 @@ function datePicker() { var month = parseInt(monthElement.val()), hour = parseInt(hourElement.val()), year = parseInt(yearElement.val()); - setMonthValues(monthElement, month, year); - setHourValues(hourElement, hour); + setMonthValues(monthElement, month, year, function() { + setHourValues(hourElement, hour); + }); }); $('#year').change(function () { var month = parseInt(monthElement.val()), day = parseInt(dayElement.val()), year = parseInt(yearElement.val()); - setMonthValues(monthElement, month, year); - setDayValues(dayElement, day, month, year); + setMonthValues(monthElement, month, year, function() { + setDayValues(dayElement, day, month, year); + }); }); @@ -352,14 +406,12 @@ function datePicker() { }); yearElement.val(today.year); - setMonthValues(monthElement, today.month, today.year); - setDayValues(dayElement, today.day, today.month, today.year); - - - - $('#yearMonthPicker').show(); - $('#dayPicker').show(); - + setMonthValues(monthElement, today.month, today.year, function() { + setDayValues(dayElement, today.day, today.month, today.year, function() { + $('#yearMonthPicker').show(); + $('#dayPicker').show(); + }); + }); }; function setupRangePicker(startname, endname, jdname, utname) { diff --git a/java/build.xml b/java/build.xml index 9c837e59ee..9e5030253a 100644 --- a/java/build.xml +++ b/java/build.xml @@ -117,6 +117,8 @@ limitations under the License. + + @@ -130,8 +132,7 @@ limitations under the License. - - + @@ -234,16 +235,22 @@ limitations under the License. - + - + - + + + + + + + - + @@ -257,12 +264,6 @@ limitations under the License. - - - - - - @@ -362,7 +363,7 @@ limitations under the License. sourcepath="${build.src}" destdir="${build.javadoc}" defaultexcludes="yes" - excludepackagenames="**.tests" + excludepackagenames="**.tests" author="false" use="true" classPathRef="project.class.path.debug" diff --git a/js/build.properties b/js/build.properties index 2af3eca02b..4a3440321d 100644 --- a/js/build.properties +++ b/js/build.properties @@ -15,4 +15,6 @@ # JSDOCDIR=${basedir}/../tools/jsdoc_toolkit-2.4.0/jsdoc-toolkit CLOSURECOMP=${basedir}/../tools/google-closure-compiler.r20150920 +WEBPACKDIR=${basedir}/../node_modules/webpack uglify.location=${basedir}/../node_modules/uglify-js +webpack.command=${basedir}/../node_modules/.bin/webpack diff --git a/js/build.xml b/js/build.xml index eaa26e744e..f33dbea127 100644 --- a/js/build.xml +++ b/js/build.xml @@ -1,7 +1,7 @@ + + @@ -48,7 +50,12 @@ limitations under the License. + + + + + @@ -99,454 +106,260 @@ limitations under the License. + + - + + - - - + + + + + - - - - - - - - - - - - - + executing webpack + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - + - + - - - - - - - - - - - - - - - - - + + + - - + + + + + + - + + - + - + - - - - - - - - - - + + + + + + + + + - + - + - - - - - - - - - - - - - - - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + - - - - - - - - - - - - - - - - - - - - - - + + + + - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + - - + + + + + + - - + + - - - - - - - - + + + + + - - - - - + + - - + - + + + - - + + + + + + + + + + + + + + + - - + - + + + + + - - - - - - - - - - @@ -555,14 +368,6 @@ limitations under the License. - - - - - - - - @@ -572,10 +377,11 @@ limitations under the License. + - + @@ -627,24 +433,22 @@ limitations under the License. - + - - - - - - - - - - - - - - + + + + + + + + + + + + @@ -653,8 +457,8 @@ limitations under the License. - - + + @@ -662,7 +466,7 @@ limitations under the License. - + @@ -671,7 +475,7 @@ limitations under the License. - + @@ -685,14 +489,18 @@ limitations under the License. - - - + - + + + + + + + @@ -704,12 +512,80 @@ limitations under the License. - - - - - - + + + + + + + + Scanning demo dir for ilib classes ${env.PATH}:${nm.bin} + + + + + + + + + + + + + + + + + + + + + Scanning demo dir for ilib classes ${env.PATH}:${nm.bin} + + + + + + + + + + + + + + + + + + + + + Executing webpack + + + + + + + + + + + + + Executing webpack + + + + + + + + + + + @@ -729,6 +605,7 @@ limitations under the License. + @@ -736,11 +613,12 @@ limitations under the License. + - - + + @@ -751,16 +629,18 @@ limitations under the License. - + + - + + - - + + @@ -779,171 +659,170 @@ limitations under the License. + - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + + - - - - + + + + - - - - - - - + @@ -958,16 +837,13 @@ limitations under the License. - - - - - + + @@ -975,189 +851,62 @@ limitations under the License. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Benchmarking the code - - - - - - + - + + + - + Executing jsdoc ... - - - - - - - - - - + + + + + + + + + + + + @@ -1168,15 +917,16 @@ limitations under the License. depends="testinfo" description="generates the localeinfo.json files out of the *.jf files" unless="info.not.needed"> - - - - - - - - - + + + + + + + + + + @@ -1188,21 +938,20 @@ limitations under the License. depends="geninfo,testlocalejson" description="compresses the json files" unless="json.compress.not.needed"> - - - - - - - - - - - - - - - + + + + + + + + + + + + + + @@ -1214,30 +963,16 @@ limitations under the License. depends="compress.locale.json,test.locale.manifest" description="produces the ilibmanifest.json file" unless="locale.manifest.not.needed"> - - - - - - - - - - - - - - - - - + + + + + + + + + + - - - - + + @@ -1277,43 +1010,19 @@ limitations under the License. - - Testing if uglify is already installed. - - - - - - - - - - - - - - - - Uglify installed: ${uglify.installed} at location ${uglify.location} - - - Installing uglify - - Done. - - - - - - - - - - - - - + + + + + + + + + + + + @@ -1397,10 +1106,10 @@ limitations under the License. - + - + @@ -1409,17 +1118,21 @@ limitations under the License. - + - - - - - - - - - + + + + + + + + + + + + + diff --git a/js/data/locale/ccc.json b/js/data/locale/ccc.json new file mode 100644 index 0000000000..3d906de917 --- /dev/null +++ b/js/data/locale/ccc.json @@ -0,0 +1,828 @@ +{ + "̀": 230, + "́": 230, + "̂": 230, + "̃": 230, + "̄": 230, + "̅": 230, + "̆": 230, + "̇": 230, + "̈": 230, + "̉": 230, + "̊": 230, + "̋": 230, + "̌": 230, + "̍": 230, + "̎": 230, + "̏": 230, + "̐": 230, + "̑": 230, + "̒": 230, + "̓": 230, + "̔": 230, + "̕": 232, + "̖": 220, + "̗": 220, + "̘": 220, + "̙": 220, + "̚": 232, + "̛": 216, + "̜": 220, + "̝": 220, + "̞": 220, + "̟": 220, + "̠": 220, + "̡": 202, + "̢": 202, + "̣": 220, + "̤": 220, + "̥": 220, + "̦": 220, + "̧": 202, + "̨": 202, + "̩": 220, + "̪": 220, + "̫": 220, + "̬": 220, + "̭": 220, + "̮": 220, + "̯": 220, + "̰": 220, + "̱": 220, + "̲": 220, + "̳": 220, + "̴": 1, + "̵": 1, + "̶": 1, + "̷": 1, + "̸": 1, + "̹": 220, + "̺": 220, + "̻": 220, + "̼": 220, + "̽": 230, + "̾": 230, + "̿": 230, + "̀": 230, + "́": 230, + "͂": 230, + "̓": 230, + "̈́": 230, + "ͅ": 240, + "͆": 230, + "͇": 220, + "͈": 220, + "͉": 220, + "͊": 230, + "͋": 230, + "͌": 230, + "͍": 220, + "͎": 220, + "͐": 230, + "͑": 230, + "͒": 230, + "͓": 220, + "͔": 220, + "͕": 220, + "͖": 220, + "͗": 230, + "͘": 232, + "͙": 220, + "͚": 220, + "͛": 230, + "͜": 233, + "͝": 234, + "͞": 234, + "͟": 233, + "͠": 234, + "͡": 234, + "͢": 233, + "ͣ": 230, + "ͤ": 230, + "ͥ": 230, + "ͦ": 230, + "ͧ": 230, + "ͨ": 230, + "ͩ": 230, + "ͪ": 230, + "ͫ": 230, + "ͬ": 230, + "ͭ": 230, + "ͮ": 230, + "ͯ": 230, + "҃": 230, + "҄": 230, + "҅": 230, + "҆": 230, + "҇": 230, + "֑": 220, + "֒": 230, + "֓": 230, + "֔": 230, + "֕": 230, + "֖": 220, + "֗": 230, + "֘": 230, + "֙": 230, + "֚": 222, + "֛": 220, + "֜": 230, + "֝": 230, + "֞": 230, + "֟": 230, + "֠": 230, + "֡": 230, + "֢": 220, + "֣": 220, + "֤": 220, + "֥": 220, + "֦": 220, + "֧": 220, + "֨": 230, + "֩": 230, + "֪": 220, + "֫": 230, + "֬": 230, + "֭": 222, + "֮": 228, + "֯": 230, + "ְ": 10, + "ֱ": 11, + "ֲ": 12, + "ֳ": 13, + "ִ": 14, + "ֵ": 15, + "ֶ": 16, + "ַ": 17, + "ָ": 18, + "ֹ": 19, + "ֺ": 19, + "ֻ": 20, + "ּ": 21, + "ֽ": 22, + "ֿ": 23, + "ׁ": 24, + "ׂ": 25, + "ׄ": 230, + "ׅ": 220, + "ׇ": 18, + "ؐ": 230, + "ؑ": 230, + "ؒ": 230, + "ؓ": 230, + "ؔ": 230, + "ؕ": 230, + "ؖ": 230, + "ؗ": 230, + "ؘ": 30, + "ؙ": 31, + "ؚ": 32, + "ً": 27, + "ٌ": 28, + "ٍ": 29, + "َ": 30, + "ُ": 31, + "ِ": 32, + "ّ": 33, + "ْ": 34, + "ٓ": 230, + "ٔ": 230, + "ٕ": 220, + "ٖ": 220, + "ٗ": 230, + "٘": 230, + "ٙ": 230, + "ٚ": 230, + "ٛ": 230, + "ٜ": 220, + "ٝ": 230, + "ٞ": 230, + "ٟ": 220, + "ٰ": 35, + "ۖ": 230, + "ۗ": 230, + "ۘ": 230, + "ۙ": 230, + "ۚ": 230, + "ۛ": 230, + "ۜ": 230, + "۟": 230, + "۠": 230, + "ۡ": 230, + "ۢ": 230, + "ۣ": 220, + "ۤ": 230, + "ۧ": 230, + "ۨ": 230, + "۪": 220, + "۫": 230, + "۬": 230, + "ۭ": 220, + "ܑ": 36, + "ܰ": 230, + "ܱ": 220, + "ܲ": 230, + "ܳ": 230, + "ܴ": 220, + "ܵ": 230, + "ܶ": 230, + "ܷ": 220, + "ܸ": 220, + "ܹ": 220, + "ܺ": 230, + "ܻ": 220, + "ܼ": 220, + "ܽ": 230, + "ܾ": 220, + "ܿ": 230, + "݀": 230, + "݁": 230, + "݂": 220, + "݃": 230, + "݄": 220, + "݅": 230, + "݆": 220, + "݇": 230, + "݈": 220, + "݉": 230, + "݊": 230, + "߫": 230, + "߬": 230, + "߭": 230, + "߮": 230, + "߯": 230, + "߰": 230, + "߱": 230, + "߲": 220, + "߳": 230, + "ࠖ": 230, + "ࠗ": 230, + "࠘": 230, + "࠙": 230, + "ࠛ": 230, + "ࠜ": 230, + "ࠝ": 230, + "ࠞ": 230, + "ࠟ": 230, + "ࠠ": 230, + "ࠡ": 230, + "ࠢ": 230, + "ࠣ": 230, + "ࠥ": 230, + "ࠦ": 230, + "ࠧ": 230, + "ࠩ": 230, + "ࠪ": 230, + "ࠫ": 230, + "ࠬ": 230, + "࠭": 230, + "࡙": 220, + "࡚": 220, + "࡛": 220, + "ࣔ": 230, + "ࣕ": 230, + "ࣖ": 230, + "ࣗ": 230, + "ࣘ": 230, + "ࣙ": 230, + "ࣚ": 230, + "ࣛ": 230, + "ࣜ": 230, + "ࣝ": 230, + "ࣞ": 230, + "ࣟ": 230, + "࣠": 230, + "࣡": 230, + "ࣣ": 220, + "ࣤ": 230, + "ࣥ": 230, + "ࣦ": 220, + "ࣧ": 230, + "ࣨ": 230, + "ࣩ": 220, + "࣪": 230, + "࣫": 230, + "࣬": 230, + "࣭": 220, + "࣮": 220, + "࣯": 220, + "ࣰ": 27, + "ࣱ": 28, + "ࣲ": 29, + "ࣳ": 230, + "ࣴ": 230, + "ࣵ": 230, + "ࣶ": 220, + "ࣷ": 230, + "ࣸ": 230, + "ࣹ": 220, + "ࣺ": 220, + "ࣻ": 230, + "ࣼ": 230, + "ࣽ": 230, + "ࣾ": 230, + "ࣿ": 230, + "़": 7, + "्": 9, + "॑": 230, + "॒": 220, + "॓": 230, + "॔": 230, + "়": 7, + "্": 9, + "਼": 7, + "੍": 9, + "઼": 7, + "્": 9, + "଼": 7, + "୍": 9, + "்": 9, + "్": 9, + "ౕ": 84, + "ౖ": 91, + "಼": 7, + "್": 9, + "഻": 9, + "഼": 9, + "്": 9, + "්": 9, + "ุ": 103, + "ู": 103, + "ฺ": 9, + "่": 107, + "้": 107, + "๊": 107, + "๋": 107, + "ຸ": 118, + "ູ": 118, + "່": 122, + "້": 122, + "໊": 122, + "໋": 122, + "༘": 220, + "༙": 220, + "༵": 220, + "༷": 220, + "༹": 216, + "ཱ": 129, + "ི": 130, + "ུ": 132, + "ེ": 130, + "ཻ": 130, + "ོ": 130, + "ཽ": 130, + "ྀ": 130, + "ྂ": 230, + "ྃ": 230, + "྄": 9, + "྆": 230, + "྇": 230, + "࿆": 220, + "့": 7, + "္": 9, + "်": 9, + "ႍ": 220, + "፝": 230, + "፞": 230, + "፟": 230, + "᜔": 9, + "᜴": 9, + "្": 9, + "៝": 230, + "ᢩ": 228, + "᤹": 222, + "᤺": 230, + "᤻": 220, + "ᨗ": 230, + "ᨘ": 220, + "᩠": 9, + "᩵": 230, + "᩶": 230, + "᩷": 230, + "᩸": 230, + "᩹": 230, + "᩺": 230, + "᩻": 230, + "᩼": 230, + "᩿": 220, + "᪰": 230, + "᪱": 230, + "᪲": 230, + "᪳": 230, + "᪴": 230, + "᪵": 220, + "᪶": 220, + "᪷": 220, + "᪸": 220, + "᪹": 220, + "᪺": 220, + "᪻": 230, + "᪼": 230, + "᪽": 220, + "᬴": 7, + "᭄": 9, + "᭫": 230, + "᭬": 220, + "᭭": 230, + "᭮": 230, + "᭯": 230, + "᭰": 230, + "᭱": 230, + "᭲": 230, + "᭳": 230, + "᮪": 9, + "᮫": 9, + "᯦": 7, + "᯲": 9, + "᯳": 9, + "᰷": 7, + "᳐": 230, + "᳑": 230, + "᳒": 230, + "᳔": 1, + "᳕": 220, + "᳖": 220, + "᳗": 220, + "᳘": 220, + "᳙": 220, + "᳚": 230, + "᳛": 230, + "᳜": 220, + "᳝": 220, + "᳞": 220, + "᳟": 220, + "᳠": 230, + "᳢": 1, + "᳣": 1, + "᳤": 1, + "᳥": 1, + "᳦": 1, + "᳧": 1, + "᳨": 1, + "᳭": 220, + "᳴": 230, + "᳸": 230, + "᳹": 230, + "᷀": 230, + "᷁": 230, + "᷂": 220, + "᷃": 230, + "᷄": 230, + "᷅": 230, + "᷆": 230, + "᷇": 230, + "᷈": 230, + "᷉": 230, + "᷊": 220, + "᷋": 230, + "᷌": 230, + "᷍": 234, + "᷎": 214, + "᷏": 220, + "᷐": 202, + "᷑": 230, + "᷒": 230, + "ᷓ": 230, + "ᷔ": 230, + "ᷕ": 230, + "ᷖ": 230, + "ᷗ": 230, + "ᷘ": 230, + "ᷙ": 230, + "ᷚ": 230, + "ᷛ": 230, + "ᷜ": 230, + "ᷝ": 230, + "ᷞ": 230, + "ᷟ": 230, + "ᷠ": 230, + "ᷡ": 230, + "ᷢ": 230, + "ᷣ": 230, + "ᷤ": 230, + "ᷥ": 230, + "ᷦ": 230, + "ᷧ": 230, + "ᷨ": 230, + "ᷩ": 230, + "ᷪ": 230, + "ᷫ": 230, + "ᷬ": 230, + "ᷭ": 230, + "ᷮ": 230, + "ᷯ": 230, + "ᷰ": 230, + "ᷱ": 230, + "ᷲ": 230, + "ᷳ": 230, + "ᷴ": 230, + "᷵": 230, + "᷶": 232, + "᷷": 228, + "᷸": 228, + "᷹": 220, + "᷻": 230, + "᷼": 233, + "᷽": 220, + "᷾": 230, + "᷿": 220, + "⃐": 230, + "⃑": 230, + "⃒": 1, + "⃓": 1, + "⃔": 230, + "⃕": 230, + "⃖": 230, + "⃗": 230, + "⃘": 1, + "⃙": 1, + "⃚": 1, + "⃛": 230, + "⃜": 230, + "⃡": 230, + "⃥": 1, + "⃦": 1, + "⃧": 230, + "⃨": 220, + "⃩": 230, + "⃪": 1, + "⃫": 1, + "⃬": 220, + "⃭": 220, + "⃮": 220, + "⃯": 220, + "⃰": 230, + "⳯": 230, + "⳰": 230, + "⳱": 230, + "⵿": 9, + "ⷠ": 230, + "ⷡ": 230, + "ⷢ": 230, + "ⷣ": 230, + "ⷤ": 230, + "ⷥ": 230, + "ⷦ": 230, + "ⷧ": 230, + "ⷨ": 230, + "ⷩ": 230, + "ⷪ": 230, + "ⷫ": 230, + "ⷬ": 230, + "ⷭ": 230, + "ⷮ": 230, + "ⷯ": 230, + "ⷰ": 230, + "ⷱ": 230, + "ⷲ": 230, + "ⷳ": 230, + "ⷴ": 230, + "ⷵ": 230, + "ⷶ": 230, + "ⷷ": 230, + "ⷸ": 230, + "ⷹ": 230, + "ⷺ": 230, + "ⷻ": 230, + "ⷼ": 230, + "ⷽ": 230, + "ⷾ": 230, + "ⷿ": 230, + "〪": 218, + "〫": 228, + "〬": 232, + "〭": 222, + "〮": 224, + "〯": 224, + "゙": 8, + "゚": 8, + "꙯": 230, + "ꙴ": 230, + "ꙵ": 230, + "ꙶ": 230, + "ꙷ": 230, + "ꙸ": 230, + "ꙹ": 230, + "ꙺ": 230, + "ꙻ": 230, + "꙼": 230, + "꙽": 230, + "ꚞ": 230, + "ꚟ": 230, + "꛰": 230, + "꛱": 230, + "꠆": 9, + "꣄": 9, + "꣠": 230, + "꣡": 230, + "꣢": 230, + "꣣": 230, + "꣤": 230, + "꣥": 230, + "꣦": 230, + "꣧": 230, + "꣨": 230, + "꣩": 230, + "꣪": 230, + "꣫": 230, + "꣬": 230, + "꣭": 230, + "꣮": 230, + "꣯": 230, + "꣰": 230, + "꣱": 230, + "꤫": 220, + "꤬": 220, + "꤭": 220, + "꥓": 9, + "꦳": 7, + "꧀": 9, + "ꪰ": 230, + "ꪲ": 230, + "ꪳ": 230, + "ꪴ": 220, + "ꪷ": 230, + "ꪸ": 230, + "ꪾ": 230, + "꪿": 230, + "꫁": 230, + "꫶": 9, + "꯭": 9, + "ﬞ": 26, + "︠": 230, + "︡": 230, + "︢": 230, + "︣": 230, + "︤": 230, + "︥": 230, + "︦": 230, + "︧": 220, + "︨": 220, + "︩": 220, + "︪": 220, + "︫": 220, + "︬": 220, + "︭": 220, + "︮": 230, + "︯": 230, + "𐇽": 220, + "𐋠": 220, + "𐍶": 230, + "𐍷": 230, + "𐍸": 230, + "𐍹": 230, + "𐍺": 230, + "𐨍": 220, + "𐨏": 230, + "𐨸": 230, + "𐨹": 1, + "𐨺": 220, + "𐨿": 9, + "𐫥": 230, + "𐫦": 220, + "𑁆": 9, + "𑁿": 9, + "𑂹": 9, + "𑂺": 7, + "𑄀": 230, + "𑄁": 230, + "𑄂": 230, + "𑄳": 9, + "𑄴": 9, + "𑅳": 7, + "𑇀": 9, + "𑇊": 7, + "𑈵": 9, + "𑈶": 7, + "𑋩": 7, + "𑋪": 9, + "𑌼": 7, + "𑍍": 9, + "𑍦": 230, + "𑍧": 230, + "𑍨": 230, + "𑍩": 230, + "𑍪": 230, + "𑍫": 230, + "𑍬": 230, + "𑍰": 230, + "𑍱": 230, + "𑍲": 230, + "𑍳": 230, + "𑍴": 230, + "𑑂": 9, + "𑑆": 7, + "𑓂": 9, + "𑓃": 7, + "𑖿": 9, + "𑗀": 7, + "𑘿": 9, + "𑚶": 9, + "𑚷": 7, + "𑜫": 9, + "𑨴": 9, + "𑩇": 9, + "𑪙": 9, + "𑰿": 9, + "𑵂": 7, + "𑵄": 9, + "𑵅": 9, + "𖫰": 1, + "𖫱": 1, + "𖫲": 1, + "𖫳": 1, + "𖫴": 1, + "𖬰": 230, + "𖬱": 230, + "𖬲": 230, + "𖬳": 230, + "𖬴": 230, + "𖬵": 230, + "𖬶": 230, + "𛲞": 1, + "𝅥": 216, + "𝅦": 216, + "𝅧": 1, + "𝅨": 1, + "𝅩": 1, + "𝅭": 226, + "𝅮": 216, + "𝅯": 216, + "𝅰": 216, + "𝅱": 216, + "𝅲": 216, + "𝅻": 220, + "𝅼": 220, + "𝅽": 220, + "𝅾": 220, + "𝅿": 220, + "𝆀": 220, + "𝆁": 220, + "𝆂": 220, + "𝆅": 230, + "𝆆": 230, + "𝆇": 230, + "𝆈": 230, + "𝆉": 230, + "𝆊": 220, + "𝆋": 220, + "𝆪": 230, + "𝆫": 230, + "𝆬": 230, + "𝆭": 230, + "𝉂": 230, + "𝉃": 230, + "𝉄": 230, + "𞀀": 230, + "𞀁": 230, + "𞀂": 230, + "𞀃": 230, + "𞀄": 230, + "𞀅": 230, + "𞀆": 230, + "𞀈": 230, + "𞀉": 230, + "𞀊": 230, + "𞀋": 230, + "𞀌": 230, + "𞀍": 230, + "𞀎": 230, + "𞀏": 230, + "𞀐": 230, + "𞀑": 230, + "𞀒": 230, + "𞀓": 230, + "𞀔": 230, + "𞀕": 230, + "𞀖": 230, + "𞀗": 230, + "𞀘": 230, + "𞀛": 230, + "𞀜": 230, + "𞀝": 230, + "𞀞": 230, + "𞀟": 230, + "𞀠": 230, + "𞀡": 230, + "𞀣": 230, + "𞀤": 230, + "𞀦": 230, + "𞀧": 230, + "𞀨": 230, + "𞀩": 230, + "𞀪": 230, + "𞣐": 220, + "𞣑": 220, + "𞣒": 220, + "𞣓": 220, + "𞣔": 220, + "𞣕": 220, + "𞣖": 220, + "𞥄": 230, + "𞥅": 230, + "𞥆": 230, + "𞥇": 230, + "𞥈": 230, + "𞥉": 230, + "𞥊": 7 +} \ No newline at end of file diff --git a/js/data/locale/charset/ANSI_X3.110-1983.json b/js/data/locale/charset/ANSI_X3.110-1983.json index aa67ca2ed1..b8a53635ec 100644 --- a/js/data/locale/charset/ANSI_X3.110-1983.json +++ b/js/data/locale/charset/ANSI_X3.110-1983.json @@ -3,5 +3,6 @@ "min": 1, "max": 2, "scripts": ["Latn"], - "locales": ["en"] + "locales": ["en"], + "optional": true } \ No newline at end of file diff --git a/js/data/locale/charset/BOCU-1.json b/js/data/locale/charset/BOCU-1.json index 24404ad014..586f83223f 100644 --- a/js/data/locale/charset/BOCU-1.json +++ b/js/data/locale/charset/BOCU-1.json @@ -3,5 +3,6 @@ "min": 1, "max": 4, "scripts": ["*"], - "locales": ["*"] + "locales": ["*"], + "optional": true } \ No newline at end of file diff --git a/js/data/locale/charset/BS_4730.json b/js/data/locale/charset/BS_4730.json index cb0b4c5c8d..ac915b4230 100644 --- a/js/data/locale/charset/BS_4730.json +++ b/js/data/locale/charset/BS_4730.json @@ -3,5 +3,6 @@ "min": 1, "max": 1, "scripts": ["Latn"], - "locales": ["GB"] + "locales": ["GB"], + "optional": true } \ No newline at end of file diff --git a/js/data/locale/charset/BS_viewdata.json b/js/data/locale/charset/BS_viewdata.json index 483418d97f..4d58607758 100644 --- a/js/data/locale/charset/BS_viewdata.json +++ b/js/data/locale/charset/BS_viewdata.json @@ -3,5 +3,6 @@ "min": 1, "max": 1, "scripts": ["Latn"], - "locales": ["GB"] + "locales": ["GB"], + "optional": true } \ No newline at end of file diff --git a/js/data/locale/charset/Big5-HKSCS.json b/js/data/locale/charset/Big5-HKSCS.json index 75eb95fa08..27608f57cf 100644 --- a/js/data/locale/charset/Big5-HKSCS.json +++ b/js/data/locale/charset/Big5-HKSCS.json @@ -3,5 +3,6 @@ "min": 1, "max": 2, "scripts": ["Hant", "Hani", "Latn", "Grek", "Cyrl", "Bopo", "Hrkt", "Hira", "Kana", "Jpan"], - "locales": ["zh-Hant", "HK"] + "locales": ["zh-Hant"], + "optional": true } \ No newline at end of file diff --git a/js/data/locale/charset/Big5.json b/js/data/locale/charset/Big5.json index 00247e0de9..25fc150978 100644 --- a/js/data/locale/charset/Big5.json +++ b/js/data/locale/charset/Big5.json @@ -3,5 +3,5 @@ "min": 1, "max": 2, "scripts": ["Hans", "Hani", "Latn", "Grek", "Cyrl", "Bopo", "Hrkt", "Hira", "Kana", "Jpan"], - "locales": ["zh-Hant", "TW"] + "locales": ["zh-Hant"] } \ No newline at end of file diff --git a/js/data/locale/charset/CESU-8.json b/js/data/locale/charset/CESU-8.json index 05470de835..938f00f39a 100644 --- a/js/data/locale/charset/CESU-8.json +++ b/js/data/locale/charset/CESU-8.json @@ -3,5 +3,6 @@ "min": 1, "max": 6, "scripts": ["*"], - "locales": ["*"] + "locales": ["*"], + "optional": true } \ No newline at end of file diff --git a/js/data/locale/charset/CP50220.json b/js/data/locale/charset/CP50220.json index 4cb4711a89..14d27368a5 100644 --- a/js/data/locale/charset/CP50220.json +++ b/js/data/locale/charset/CP50220.json @@ -2,5 +2,6 @@ "min": 1, "max": 2, "scripts": ["Jpan","Kana","Hira","Latn"], - "locales": ["ja"] + "locales": ["ja"], + "optional": true } \ No newline at end of file diff --git a/js/data/locale/charset/CP51932.json b/js/data/locale/charset/CP51932.json index 4cb4711a89..14d27368a5 100644 --- a/js/data/locale/charset/CP51932.json +++ b/js/data/locale/charset/CP51932.json @@ -2,5 +2,6 @@ "min": 1, "max": 2, "scripts": ["Jpan","Kana","Hira","Latn"], - "locales": ["ja"] + "locales": ["ja"], + "optional": true } \ No newline at end of file diff --git a/js/data/locale/charset/EBCDIC-AT-DE-A.json b/js/data/locale/charset/EBCDIC-AT-DE-A.json index c2f72a06de..fc21faa51a 100644 --- a/js/data/locale/charset/EBCDIC-AT-DE-A.json +++ b/js/data/locale/charset/EBCDIC-AT-DE-A.json @@ -2,5 +2,6 @@ "min": 1, "max": 1, "scripts": ["Latn"], - "locales": ["AT"] + "locales": ["AT"], + "optional": true } \ No newline at end of file diff --git a/js/data/locale/charset/EBCDIC-AT-DE.json b/js/data/locale/charset/EBCDIC-AT-DE.json index 2d849546f1..4eeda82867 100644 --- a/js/data/locale/charset/EBCDIC-AT-DE.json +++ b/js/data/locale/charset/EBCDIC-AT-DE.json @@ -2,5 +2,6 @@ "min": 1, "max": 1, "scripts": ["Latn"], - "locales": ["DE"] + "locales": ["DE"], + "optional": true } \ No newline at end of file diff --git a/js/data/locale/charset/EBCDIC-CA-FR.json b/js/data/locale/charset/EBCDIC-CA-FR.json index 2328ec48d1..f2a5707680 100644 --- a/js/data/locale/charset/EBCDIC-CA-FR.json +++ b/js/data/locale/charset/EBCDIC-CA-FR.json @@ -2,5 +2,6 @@ "min": 1, "max": 1, "scripts": ["Latn"], - "locales": ["CA","FR"] + "locales": ["CA","FR"], + "optional": true } \ No newline at end of file diff --git a/js/data/locale/charset/EBCDIC-DK-NO-A.json b/js/data/locale/charset/EBCDIC-DK-NO-A.json index 0dd8fecf78..d8673f1430 100644 --- a/js/data/locale/charset/EBCDIC-DK-NO-A.json +++ b/js/data/locale/charset/EBCDIC-DK-NO-A.json @@ -2,5 +2,6 @@ "min": 1, "max": 1, "scripts": ["Latn"], - "locales": ["DK","NO"] + "locales": ["DK","NO"], + "optional": true } \ No newline at end of file diff --git a/js/data/locale/charset/EBCDIC-DK-NO.json b/js/data/locale/charset/EBCDIC-DK-NO.json index 0dd8fecf78..d8673f1430 100644 --- a/js/data/locale/charset/EBCDIC-DK-NO.json +++ b/js/data/locale/charset/EBCDIC-DK-NO.json @@ -2,5 +2,6 @@ "min": 1, "max": 1, "scripts": ["Latn"], - "locales": ["DK","NO"] + "locales": ["DK","NO"], + "optional": true } \ No newline at end of file diff --git a/js/data/locale/charset/EBCDIC-ES-A.json b/js/data/locale/charset/EBCDIC-ES-A.json index 81d03361f6..4adfb03f2e 100644 --- a/js/data/locale/charset/EBCDIC-ES-A.json +++ b/js/data/locale/charset/EBCDIC-ES-A.json @@ -2,5 +2,6 @@ "min": 1, "max": 1, "scripts": ["Latn"], - "locales": ["ES"] + "locales": ["ES"], + "optional": true } \ No newline at end of file diff --git a/js/data/locale/charset/EBCDIC-ES-S.json b/js/data/locale/charset/EBCDIC-ES-S.json index 81d03361f6..4adfb03f2e 100644 --- a/js/data/locale/charset/EBCDIC-ES-S.json +++ b/js/data/locale/charset/EBCDIC-ES-S.json @@ -2,5 +2,6 @@ "min": 1, "max": 1, "scripts": ["Latn"], - "locales": ["ES"] + "locales": ["ES"], + "optional": true } \ No newline at end of file diff --git a/js/data/locale/charset/EBCDIC-ES.json b/js/data/locale/charset/EBCDIC-ES.json index 81d03361f6..4adfb03f2e 100644 --- a/js/data/locale/charset/EBCDIC-ES.json +++ b/js/data/locale/charset/EBCDIC-ES.json @@ -2,5 +2,6 @@ "min": 1, "max": 1, "scripts": ["Latn"], - "locales": ["ES"] + "locales": ["ES"], + "optional": true } \ No newline at end of file diff --git a/js/data/locale/charset/EBCDIC-FI-SE-A.json b/js/data/locale/charset/EBCDIC-FI-SE-A.json index 3959b83d1d..c9a973e918 100644 --- a/js/data/locale/charset/EBCDIC-FI-SE-A.json +++ b/js/data/locale/charset/EBCDIC-FI-SE-A.json @@ -2,5 +2,6 @@ "min": 1, "max": 1, "scripts": ["Latn"], - "locales": ["FI","SE"] + "locales": ["FI","SE"], + "optional": true } \ No newline at end of file diff --git a/js/data/locale/charset/EBCDIC-FI-SE.json b/js/data/locale/charset/EBCDIC-FI-SE.json index 8569a72f03..873d33f677 100644 --- a/js/data/locale/charset/EBCDIC-FI-SE.json +++ b/js/data/locale/charset/EBCDIC-FI-SE.json @@ -2,5 +2,6 @@ "min": 1, "max": 1, "scripts": ["Latn"], - "locales": ["FI", "SE"] + "locales": ["FI", "SE"], + "optional": true } \ No newline at end of file diff --git a/js/data/locale/charset/EBCDIC-FR.json b/js/data/locale/charset/EBCDIC-FR.json index 6a4cea113f..948cb6cc86 100644 --- a/js/data/locale/charset/EBCDIC-FR.json +++ b/js/data/locale/charset/EBCDIC-FR.json @@ -2,5 +2,6 @@ "min": 1, "max": 1, "scripts": ["Latn"], - "locales": ["FR"] + "locales": ["FR"], + "optional": true } \ No newline at end of file diff --git a/js/data/locale/charset/EBCDIC-IS-FRISS.json b/js/data/locale/charset/EBCDIC-IS-FRISS.json index 3cd777a0c6..bfd5365ce2 100644 --- a/js/data/locale/charset/EBCDIC-IS-FRISS.json +++ b/js/data/locale/charset/EBCDIC-IS-FRISS.json @@ -2,5 +2,6 @@ "min": 1, "max": 1, "scripts": ["Latn"], - "locales": ["IS"] + "locales": ["IS"], + "optional": true } \ No newline at end of file diff --git a/js/data/locale/charset/EBCDIC-IT.json b/js/data/locale/charset/EBCDIC-IT.json index d3955621fe..e70d45ddd4 100644 --- a/js/data/locale/charset/EBCDIC-IT.json +++ b/js/data/locale/charset/EBCDIC-IT.json @@ -2,5 +2,6 @@ "min": 1, "max": 1, "scripts": ["Latn"], - "locales": ["IT"] + "locales": ["IT"], + "optional": true } \ No newline at end of file diff --git a/js/data/locale/charset/EBCDIC-PT.json b/js/data/locale/charset/EBCDIC-PT.json index ff0ddd4078..655147235f 100644 --- a/js/data/locale/charset/EBCDIC-PT.json +++ b/js/data/locale/charset/EBCDIC-PT.json @@ -2,5 +2,6 @@ "min": 1, "max": 1, "scripts": ["Latn"], - "locales": ["PT"] + "locales": ["PT"], + "optional": true } \ No newline at end of file diff --git a/js/data/locale/charset/EBCDIC-UK.json b/js/data/locale/charset/EBCDIC-UK.json index 71a8135351..357df6d4a1 100644 --- a/js/data/locale/charset/EBCDIC-UK.json +++ b/js/data/locale/charset/EBCDIC-UK.json @@ -2,5 +2,6 @@ "min": 1, "max": 1, "scripts": ["Latn"], - "locales": ["GB"] + "locales": ["GB"], + "optional": true } \ No newline at end of file diff --git a/js/data/locale/charset/EBCDIC-US.json b/js/data/locale/charset/EBCDIC-US.json index 6350feb95e..c2fc6500ef 100644 --- a/js/data/locale/charset/EBCDIC-US.json +++ b/js/data/locale/charset/EBCDIC-US.json @@ -2,5 +2,6 @@ "min": 1, "max": 1, "scripts": ["Latn"], - "locales": ["US"] + "locales": ["US"], + "optional": true } \ No newline at end of file diff --git a/js/data/locale/charset/ECMA-cyrillic.json b/js/data/locale/charset/ECMA-cyrillic.json index d1053b1506..b5da943c95 100644 --- a/js/data/locale/charset/ECMA-cyrillic.json +++ b/js/data/locale/charset/ECMA-cyrillic.json @@ -2,5 +2,6 @@ "min": 1, "max": 1, "scripts": ["Cyrl", "Latn"], - "locales": ["ru","be","uk","ba","be","bg","cv","kk","mk","mn","os","ro","se","sr","tg","tk","tt","ug","uz"] + "locales": ["ru","be","uk","ba","be","bg","cv","kk","mk","mn","os","ro","se","sr","tg","tk","tt","ug","uz"], + "optional": true } \ No newline at end of file diff --git a/js/data/locale/charset/ES.json b/js/data/locale/charset/ES.json index 81d03361f6..4adfb03f2e 100644 --- a/js/data/locale/charset/ES.json +++ b/js/data/locale/charset/ES.json @@ -2,5 +2,6 @@ "min": 1, "max": 1, "scripts": ["Latn"], - "locales": ["ES"] + "locales": ["ES"], + "optional": true } \ No newline at end of file diff --git a/js/data/locale/charset/ES2.json b/js/data/locale/charset/ES2.json index 81d03361f6..4adfb03f2e 100644 --- a/js/data/locale/charset/ES2.json +++ b/js/data/locale/charset/ES2.json @@ -2,5 +2,6 @@ "min": 1, "max": 1, "scripts": ["Latn"], - "locales": ["ES"] + "locales": ["ES"], + "optional": true } \ No newline at end of file diff --git a/js/data/locale/charset/EUC-JIS_X0213.json b/js/data/locale/charset/EUC-JIS_X0213.json index ceec3d135b..0c954774c4 100644 --- a/js/data/locale/charset/EUC-JIS_X0213.json +++ b/js/data/locale/charset/EUC-JIS_X0213.json @@ -2,5 +2,6 @@ "min": 1, "max": 3, "scripts": ["Jpan", "Hani", "Latn", "Hrkt", "Hira", "Kana"], - "locales": ["ja"] + "locales": ["ja"], + "optional": true } \ No newline at end of file diff --git a/js/data/locale/charset/EUC-JP-MS.json b/js/data/locale/charset/EUC-JP-MS.json index ceec3d135b..0c954774c4 100644 --- a/js/data/locale/charset/EUC-JP-MS.json +++ b/js/data/locale/charset/EUC-JP-MS.json @@ -2,5 +2,6 @@ "min": 1, "max": 3, "scripts": ["Jpan", "Hani", "Latn", "Hrkt", "Hira", "Kana"], - "locales": ["ja"] + "locales": ["ja"], + "optional": true } \ No newline at end of file diff --git a/js/data/locale/charset/GB_1988-80.json b/js/data/locale/charset/GB_1988-80.json index 310dc90b0c..de9d287d86 100644 --- a/js/data/locale/charset/GB_1988-80.json +++ b/js/data/locale/charset/GB_1988-80.json @@ -2,5 +2,6 @@ "min": 1, "max": 2, "scripts": ["Hans", "Hani", "Latn", "Grek", "Cyrl", "Bopo", "Hrkt", "Hira", "Kana", "Jpan"], - "locales": ["zh-Hans"] + "locales": ["zh-Hans"], + "optional": true } \ No newline at end of file diff --git a/js/data/locale/charset/GOST_19768-74.json b/js/data/locale/charset/GOST_19768-74.json index 4188d80a91..551cd52c80 100644 --- a/js/data/locale/charset/GOST_19768-74.json +++ b/js/data/locale/charset/GOST_19768-74.json @@ -2,5 +2,6 @@ "min": 1, "max": 1, "scripts": ["Cyrl", "Latn"], - "locales": ["ru"] + "locales": ["ru"], + "optional": true } \ No newline at end of file diff --git a/js/data/locale/charset/HZ-GB-2312.json b/js/data/locale/charset/HZ-GB-2312.json index 310dc90b0c..de9d287d86 100644 --- a/js/data/locale/charset/HZ-GB-2312.json +++ b/js/data/locale/charset/HZ-GB-2312.json @@ -2,5 +2,6 @@ "min": 1, "max": 2, "scripts": ["Hans", "Hani", "Latn", "Grek", "Cyrl", "Bopo", "Hrkt", "Hira", "Kana", "Jpan"], - "locales": ["zh-Hans"] + "locales": ["zh-Hans"], + "optional": true } \ No newline at end of file diff --git a/js/data/locale/charset/IBM-Thai.json b/js/data/locale/charset/IBM-Thai.json index 79c12e6228..927e09bf08 100644 --- a/js/data/locale/charset/IBM-Thai.json +++ b/js/data/locale/charset/IBM-Thai.json @@ -2,5 +2,6 @@ "min": 1, "max": 1, "scripts": ["Thai", "Latn"], - "locales": ["th"] + "locales": ["th"], + "optional": true } \ No newline at end of file diff --git a/js/data/locale/charset/IBM00858.json b/js/data/locale/charset/IBM00858.json index 5cf970989e..2db0007eeb 100644 --- a/js/data/locale/charset/IBM00858.json +++ b/js/data/locale/charset/IBM00858.json @@ -3,5 +3,5 @@ "min": 1, "max": 1, "scripts": ["Latn"], - "locales": ["en","de","fr","nl","es","it","ga","gl","da","no","nb","nn","sv","fi","ca","eu","pt","rm","roa"] + "locales": ["en","de","fr","nl","es","it","ga","gl","da","no","nb","nn","sv","fi","ca","eu","pt","ro","roa"] } \ No newline at end of file diff --git a/js/data/locale/charset/IBM01141.json b/js/data/locale/charset/IBM01141.json index 532fc877b1..a914736e23 100644 --- a/js/data/locale/charset/IBM01141.json +++ b/js/data/locale/charset/IBM01141.json @@ -3,5 +3,6 @@ "min": 1, "max": 1, "scripts": ["Latn"], - "locales": ["DE"] + "locales": ["DE"], + "optional": true } \ No newline at end of file diff --git a/js/data/locale/charset/IBM01142.json b/js/data/locale/charset/IBM01142.json index 6aad15370e..57626a5a7e 100644 --- a/js/data/locale/charset/IBM01142.json +++ b/js/data/locale/charset/IBM01142.json @@ -3,5 +3,6 @@ "min": 1, "max": 1, "scripts": ["Latn"], - "locales": ["DK","NO"] + "locales": ["DK","NO"], + "optional": true } \ No newline at end of file diff --git a/js/data/locale/charset/IBM01143.json b/js/data/locale/charset/IBM01143.json index e922261db3..4a6c04789c 100644 --- a/js/data/locale/charset/IBM01143.json +++ b/js/data/locale/charset/IBM01143.json @@ -3,5 +3,6 @@ "min": 1, "max": 1, "scripts": ["Latn"], - "locales": ["FI","SE"] + "locales": ["FI","SE"], + "optional": true } \ No newline at end of file diff --git a/js/data/locale/charset/IBM01144.json b/js/data/locale/charset/IBM01144.json index 9b2ccdb72a..6803cab27b 100644 --- a/js/data/locale/charset/IBM01144.json +++ b/js/data/locale/charset/IBM01144.json @@ -3,5 +3,6 @@ "min": 1, "max": 1, "scripts": ["Latn"], - "locales": ["IT"] + "locales": ["IT"], + "optional": true } \ No newline at end of file diff --git a/js/data/locale/charset/IBM01145.json b/js/data/locale/charset/IBM01145.json index 1067ce198e..894f060df1 100644 --- a/js/data/locale/charset/IBM01145.json +++ b/js/data/locale/charset/IBM01145.json @@ -3,5 +3,6 @@ "min": 1, "max": 1, "scripts": ["Latn"], - "locales": ["ES"] + "locales": ["ES"], + "optional": true } \ No newline at end of file diff --git a/js/data/locale/charset/IBM01146.json b/js/data/locale/charset/IBM01146.json index 35180953eb..439b3df66a 100644 --- a/js/data/locale/charset/IBM01146.json +++ b/js/data/locale/charset/IBM01146.json @@ -3,5 +3,6 @@ "min": 1, "max": 1, "scripts": ["Latn"], - "locales": ["GB"] + "locales": ["GB"], + "optional": true } \ No newline at end of file diff --git a/js/data/locale/charset/IBM01147.json b/js/data/locale/charset/IBM01147.json index 4f299a4b0d..0a310e10f6 100644 --- a/js/data/locale/charset/IBM01147.json +++ b/js/data/locale/charset/IBM01147.json @@ -3,5 +3,6 @@ "min": 1, "max": 1, "scripts": ["Latn"], - "locales": ["FR"] + "locales": ["FR"], + "optional": true } \ No newline at end of file diff --git a/js/data/locale/charset/IBM01149.json b/js/data/locale/charset/IBM01149.json index d86cfc833f..01e7a2f874 100644 --- a/js/data/locale/charset/IBM01149.json +++ b/js/data/locale/charset/IBM01149.json @@ -3,5 +3,6 @@ "min": 1, "max": 1, "scripts": ["Latn"], - "locales": ["IS"] + "locales": ["IS"], + "optional": true } \ No newline at end of file diff --git a/js/data/locale/charset/IBM1026.json b/js/data/locale/charset/IBM1026.json index f169da63ff..3f892fd66f 100644 --- a/js/data/locale/charset/IBM1026.json +++ b/js/data/locale/charset/IBM1026.json @@ -2,5 +2,6 @@ "min": 1, "max": 1, "scripts": ["Latn"], - "locales": ["TR"] + "locales": ["TR"], + "optional": true } \ No newline at end of file diff --git a/js/data/locale/charset/IBM1124.json b/js/data/locale/charset/IBM1124.json index 049b45e9e7..60b6abbe89 100644 --- a/js/data/locale/charset/IBM1124.json +++ b/js/data/locale/charset/IBM1124.json @@ -2,5 +2,6 @@ "min": 1, "max": 1, "scripts": ["Cyrl","Latn"], - "locales": ["uk"] + "locales": ["uk"], + "optional": true } \ No newline at end of file diff --git a/js/data/locale/charset/IBM1132.json b/js/data/locale/charset/IBM1132.json index e0adf1e5ce..5b24b4b3a0 100644 --- a/js/data/locale/charset/IBM1132.json +++ b/js/data/locale/charset/IBM1132.json @@ -3,5 +3,6 @@ "min": 1, "max": 1, "scripts": ["Laoo", "Latn"], - "locales": ["lo"] + "locales": ["lo"], + "optional": true } \ No newline at end of file diff --git a/js/data/locale/charset/IBM1133.json b/js/data/locale/charset/IBM1133.json index 668d7ea222..9a4bc4b7b5 100644 --- a/js/data/locale/charset/IBM1133.json +++ b/js/data/locale/charset/IBM1133.json @@ -3,5 +3,6 @@ "min": 1, "max": 1, "scripts": ["Laoo", "Latn"], - "locales": ["lo"] + "locales": ["lo"], + "optional": true } \ No newline at end of file diff --git a/js/data/locale/charset/IBM1160.json b/js/data/locale/charset/IBM1160.json index 040e7a53a4..abfcff0cf8 100644 --- a/js/data/locale/charset/IBM1160.json +++ b/js/data/locale/charset/IBM1160.json @@ -3,5 +3,6 @@ "min": 1, "max": 1, "scripts": ["Thai", "Latn"], - "locales": ["th"] + "locales": ["th"], + "optional": true } \ No newline at end of file diff --git a/js/data/locale/charset/IBM1162.json b/js/data/locale/charset/IBM1162.json index 79c12e6228..927e09bf08 100644 --- a/js/data/locale/charset/IBM1162.json +++ b/js/data/locale/charset/IBM1162.json @@ -2,5 +2,6 @@ "min": 1, "max": 1, "scripts": ["Thai", "Latn"], - "locales": ["th"] + "locales": ["th"], + "optional": true } \ No newline at end of file diff --git a/js/data/locale/charset/IBM1163.json b/js/data/locale/charset/IBM1163.json index ce7e4718d9..45fa3f1487 100644 --- a/js/data/locale/charset/IBM1163.json +++ b/js/data/locale/charset/IBM1163.json @@ -2,5 +2,6 @@ "min": 1, "max": 1, "scripts": ["Latn"], - "locales": ["vi"] + "locales": ["vi"], + "optional": true } \ No newline at end of file diff --git a/js/data/locale/charset/IBM1164.json b/js/data/locale/charset/IBM1164.json index de06bcfd3c..f3879ea560 100644 --- a/js/data/locale/charset/IBM1164.json +++ b/js/data/locale/charset/IBM1164.json @@ -3,5 +3,6 @@ "min": 1, "max": 1, "scripts": ["Latn"], - "locales": ["nl"] + "locales": ["nl"], + "optional": true } \ No newline at end of file diff --git a/js/data/locale/charset/IBM256.json b/js/data/locale/charset/IBM256.json index 310cd014fb..f2e2c48799 100644 --- a/js/data/locale/charset/IBM256.json +++ b/js/data/locale/charset/IBM256.json @@ -3,5 +3,6 @@ "min": 1, "max": 1, "scripts": ["Latn"], - "locales": ["vi"] + "locales": ["vi"], + "optional": true } \ No newline at end of file diff --git a/js/data/locale/charset/IBM437.json b/js/data/locale/charset/IBM437.json index 1a00f3bbe4..0bf1cdcff4 100644 --- a/js/data/locale/charset/IBM437.json +++ b/js/data/locale/charset/IBM437.json @@ -1,5 +1,6 @@ { "min": 1, "max": 1, - "scripts": ["Latn"] + "scripts": ["Latn"], + "locales": ["en","de","fr","nl","es","it","ga","gl","da","no","nb","nn","sv","fi","ca","eu","pt","ro","roa"] } \ No newline at end of file diff --git a/js/data/locale/charset/IBM850.json b/js/data/locale/charset/IBM850.json index a86ac8e73f..6e0e4719e7 100644 --- a/js/data/locale/charset/IBM850.json +++ b/js/data/locale/charset/IBM850.json @@ -2,5 +2,5 @@ "min": 1, "max": 1, "scripts": ["Latn"], - "locales": ["en","de","fr","nl","es","it","ga","gl","da","no","nb","nn","sv","fi","ca","eu","pt","rm","roa"] + "locales": ["en","de","fr","nl","es","it","ga","gl","da","no","nb","nn","sv","fi","ca","eu","pt","ro","roa"] } \ No newline at end of file diff --git a/js/data/locale/charset/IBM852.json b/js/data/locale/charset/IBM852.json index 1a00f3bbe4..33c85af08a 100644 --- a/js/data/locale/charset/IBM852.json +++ b/js/data/locale/charset/IBM852.json @@ -1,5 +1,6 @@ { "min": 1, "max": 1, - "scripts": ["Latn"] + "scripts": ["Latn"], + "locales": ["hr", "cz", "et", "hu", "lv", "lt", "pl", "ro", "sk", "sl"] } \ No newline at end of file diff --git a/js/data/locale/charset/IBM860.json b/js/data/locale/charset/IBM860.json index 1a00f3bbe4..0bf1cdcff4 100644 --- a/js/data/locale/charset/IBM860.json +++ b/js/data/locale/charset/IBM860.json @@ -1,5 +1,6 @@ { "min": 1, "max": 1, - "scripts": ["Latn"] + "scripts": ["Latn"], + "locales": ["en","de","fr","nl","es","it","ga","gl","da","no","nb","nn","sv","fi","ca","eu","pt","ro","roa"] } \ No newline at end of file diff --git a/js/data/locale/charset/IBM864.json b/js/data/locale/charset/IBM864.json index c2718ea8ce..243120df0c 100644 --- a/js/data/locale/charset/IBM864.json +++ b/js/data/locale/charset/IBM864.json @@ -1,5 +1,6 @@ { "min": 1, "max": 1, - "scripts": ["Arab","Latn"] + "scripts": ["Arab","Latn"], + "locales": ["ar","az","fa","ha","kk","ks","ku","ky","ms","pa","ps","sd","so","tg","tk","ug","ur","uz","wo"] } \ No newline at end of file diff --git a/js/data/locale/charset/IBM869.json b/js/data/locale/charset/IBM869.json index c8ac6f1149..72edbe907f 100644 --- a/js/data/locale/charset/IBM869.json +++ b/js/data/locale/charset/IBM869.json @@ -1,5 +1,6 @@ { "min": 1, "max": 1, - "scripts": ["Grek","Latn"] + "scripts": ["Grek","Latn"], + "locales": ["el"] } \ No newline at end of file diff --git a/js/data/locale/charset/ISIRI-3342.json b/js/data/locale/charset/ISIRI-3342.json index 06eb2d0efb..fefafccc10 100644 --- a/js/data/locale/charset/ISIRI-3342.json +++ b/js/data/locale/charset/ISIRI-3342.json @@ -2,5 +2,6 @@ "min": 1, "max": 1, "scripts": ["Arab","Latn"], - "locales": ["ar"] + "locales": ["ar"], + "optional": true } \ No newline at end of file diff --git a/js/data/locale/charset/ISO-2022-CN-EXT.json b/js/data/locale/charset/ISO-2022-CN-EXT.json index da54164438..7ce2646d2c 100644 --- a/js/data/locale/charset/ISO-2022-CN-EXT.json +++ b/js/data/locale/charset/ISO-2022-CN-EXT.json @@ -3,6 +3,7 @@ "max": 2, "scripts": ["Hans","Hani","Bopo","Latn"], "locales": ["zh-Hans"], + "optional": true, "escapes": { "shifts": { "to": { diff --git a/js/data/locale/charset/ISO-2022-CN.json b/js/data/locale/charset/ISO-2022-CN.json index 4a6a2873aa..1a952377b2 100644 --- a/js/data/locale/charset/ISO-2022-CN.json +++ b/js/data/locale/charset/ISO-2022-CN.json @@ -3,6 +3,7 @@ "max": 2, "scripts": ["Hans","Hani","Bopo","Latn"], "locales": ["zh-Hans"], + "optional": true, "escapes": { "shifts": { "to": { diff --git a/js/data/locale/charset/ISO-2022-JP-1.json b/js/data/locale/charset/ISO-2022-JP-1.json index ccd969acab..aad822caba 100644 --- a/js/data/locale/charset/ISO-2022-JP-1.json +++ b/js/data/locale/charset/ISO-2022-JP-1.json @@ -3,6 +3,7 @@ "max": 2, "scripts": ["Jpan","Kana","Hira","Latn","Hang","Kore","Grek","Hani"], "locales": ["ja"], + "optional": true, "escapes": { "to": { "US-ASCII": [27, 40, 66], diff --git a/js/data/locale/charset/ISO-2022-JP-2.json b/js/data/locale/charset/ISO-2022-JP-2.json index 724c1af46f..77421c7a0b 100644 --- a/js/data/locale/charset/ISO-2022-JP-2.json +++ b/js/data/locale/charset/ISO-2022-JP-2.json @@ -3,6 +3,7 @@ "max": 2, "scripts": ["Jpan","Kana","Hira","Latn","Hang","Kore","Grek","Hani"], "locales": ["ja"], + "optional": true, "escapes": { "to": { "US-ASCII": [27, 40, 66], diff --git a/js/data/locale/charset/ISO-2022-JP-2004.json b/js/data/locale/charset/ISO-2022-JP-2004.json index 67e27ab100..84fc98ab8a 100644 --- a/js/data/locale/charset/ISO-2022-JP-2004.json +++ b/js/data/locale/charset/ISO-2022-JP-2004.json @@ -3,6 +3,7 @@ "max": 2, "scripts": ["Jpan","Kana","Hira","Latn","Hang","Kore","Grek","Hani"], "locales": ["ja"], + "optional": true, "escapes": { "shifts": { "to": { diff --git a/js/data/locale/charset/ISO-2022-JP-3.json b/js/data/locale/charset/ISO-2022-JP-3.json index 278798c0ce..eada56e3c5 100644 --- a/js/data/locale/charset/ISO-2022-JP-3.json +++ b/js/data/locale/charset/ISO-2022-JP-3.json @@ -3,6 +3,7 @@ "max": 2, "scripts": ["Jpan","Kana","Hira","Latn","Hang","Kore","Grek","Hani"], "locales": ["ja"], + "optional": true, "escapes": { "to": { "US-ASCII": [27, 40, 66], diff --git a/js/data/locale/charset/ISO-2022-JP.json b/js/data/locale/charset/ISO-2022-JP.json index 8de239268c..e3e515ca47 100644 --- a/js/data/locale/charset/ISO-2022-JP.json +++ b/js/data/locale/charset/ISO-2022-JP.json @@ -3,6 +3,7 @@ "max": 2, "scripts": ["Jpan","Kana","Hira","Latn","Hani"], "locales": ["ja"], + "optional": true, "escapes": { "to": { "US-ASCII": [27, 40, 66], diff --git a/js/data/locale/charset/ISO-8859-1.json b/js/data/locale/charset/ISO-8859-1.json index 1a00f3bbe4..0bf1cdcff4 100644 --- a/js/data/locale/charset/ISO-8859-1.json +++ b/js/data/locale/charset/ISO-8859-1.json @@ -1,5 +1,6 @@ { "min": 1, "max": 1, - "scripts": ["Latn"] + "scripts": ["Latn"], + "locales": ["en","de","fr","nl","es","it","ga","gl","da","no","nb","nn","sv","fi","ca","eu","pt","ro","roa"] } \ No newline at end of file diff --git a/js/data/locale/charset/ISO-8859-13.json b/js/data/locale/charset/ISO-8859-13.json index 1a00f3bbe4..9d080f3039 100644 --- a/js/data/locale/charset/ISO-8859-13.json +++ b/js/data/locale/charset/ISO-8859-13.json @@ -1,5 +1,6 @@ { "min": 1, "max": 1, - "scripts": ["Latn"] + "scripts": ["Latn"], + "locales": ["et", "lv", "lt"] } \ No newline at end of file diff --git a/js/data/locale/charset/ISO-8859-15.json b/js/data/locale/charset/ISO-8859-15.json index 1a00f3bbe4..0bf1cdcff4 100644 --- a/js/data/locale/charset/ISO-8859-15.json +++ b/js/data/locale/charset/ISO-8859-15.json @@ -1,5 +1,6 @@ { "min": 1, "max": 1, - "scripts": ["Latn"] + "scripts": ["Latn"], + "locales": ["en","de","fr","nl","es","it","ga","gl","da","no","nb","nn","sv","fi","ca","eu","pt","ro","roa"] } \ No newline at end of file diff --git a/js/data/locale/charset/ISO-8859-2.json b/js/data/locale/charset/ISO-8859-2.json index 1a00f3bbe4..33c85af08a 100644 --- a/js/data/locale/charset/ISO-8859-2.json +++ b/js/data/locale/charset/ISO-8859-2.json @@ -1,5 +1,6 @@ { "min": 1, "max": 1, - "scripts": ["Latn"] + "scripts": ["Latn"], + "locales": ["hr", "cz", "et", "hu", "lv", "lt", "pl", "ro", "sk", "sl"] } \ No newline at end of file diff --git a/js/data/locale/charset/ISO-8859-4.json b/js/data/locale/charset/ISO-8859-4.json index 1a00f3bbe4..9d080f3039 100644 --- a/js/data/locale/charset/ISO-8859-4.json +++ b/js/data/locale/charset/ISO-8859-4.json @@ -1,5 +1,6 @@ { "min": 1, "max": 1, - "scripts": ["Latn"] + "scripts": ["Latn"], + "locales": ["et", "lv", "lt"] } \ No newline at end of file diff --git a/js/data/locale/charset/ISO-8859-5.json b/js/data/locale/charset/ISO-8859-5.json index 3a27e93a7b..0dcc346545 100644 --- a/js/data/locale/charset/ISO-8859-5.json +++ b/js/data/locale/charset/ISO-8859-5.json @@ -1,5 +1,6 @@ { "min": 1, "max": 1, - "scripts": ["Cyrl","Latn"] + "scripts": ["Cyrl","Latn"], + "locales": ["ru","be","uk","ba","be","bg","cv","kk","mk","mn","os","ro","se","sr","tg","tk","tt","ug","uz"] } \ No newline at end of file diff --git a/js/data/locale/charset/ISO-8859-6.json b/js/data/locale/charset/ISO-8859-6.json index c2718ea8ce..243120df0c 100644 --- a/js/data/locale/charset/ISO-8859-6.json +++ b/js/data/locale/charset/ISO-8859-6.json @@ -1,5 +1,6 @@ { "min": 1, "max": 1, - "scripts": ["Arab","Latn"] + "scripts": ["Arab","Latn"], + "locales": ["ar","az","fa","ha","kk","ks","ku","ky","ms","pa","ps","sd","so","tg","tk","ug","ur","uz","wo"] } \ No newline at end of file diff --git a/js/data/locale/charset/ISO-8859-7.json b/js/data/locale/charset/ISO-8859-7.json index c8ac6f1149..72edbe907f 100644 --- a/js/data/locale/charset/ISO-8859-7.json +++ b/js/data/locale/charset/ISO-8859-7.json @@ -1,5 +1,6 @@ { "min": 1, "max": 1, - "scripts": ["Grek","Latn"] + "scripts": ["Grek","Latn"], + "locales": ["el"] } \ No newline at end of file diff --git a/js/data/locale/charset/ISO-8859-8.json b/js/data/locale/charset/ISO-8859-8.json index 0b1689c379..9acb8d975a 100644 --- a/js/data/locale/charset/ISO-8859-8.json +++ b/js/data/locale/charset/ISO-8859-8.json @@ -1,5 +1,6 @@ { "min": 1, "max": 1, - "scripts": ["Hebr","Latn"] + "scripts": ["Hebr","Latn"], + "locales": ["he"] } \ No newline at end of file diff --git a/js/data/locale/charset/ISO-8859-9.json b/js/data/locale/charset/ISO-8859-9.json index 1a00f3bbe4..2fd60a6d3d 100644 --- a/js/data/locale/charset/ISO-8859-9.json +++ b/js/data/locale/charset/ISO-8859-9.json @@ -1,5 +1,6 @@ { "min": 1, "max": 1, - "scripts": ["Latn"] + "scripts": ["Latn"], + "locales": ["tr"] } \ No newline at end of file diff --git a/js/data/locale/charset/IT.json b/js/data/locale/charset/IT.json index d3955621fe..e70d45ddd4 100644 --- a/js/data/locale/charset/IT.json +++ b/js/data/locale/charset/IT.json @@ -2,5 +2,6 @@ "min": 1, "max": 1, "scripts": ["Latn"], - "locales": ["IT"] + "locales": ["IT"], + "optional": true } \ No newline at end of file diff --git a/js/data/locale/charset/JIS_C6229-1984-a.json b/js/data/locale/charset/JIS_C6229-1984-a.json index 978d11c3b4..baf2f45cea 100644 --- a/js/data/locale/charset/JIS_C6229-1984-a.json +++ b/js/data/locale/charset/JIS_C6229-1984-a.json @@ -2,5 +2,6 @@ "min": 1, "max": 1, "scripts": ["Latn"], - "locales": ["ja"] + "locales": ["ja"], + "optional": true } \ No newline at end of file diff --git a/js/data/locale/charset/JIS_C6229-1984-b-add.json b/js/data/locale/charset/JIS_C6229-1984-b-add.json index 978d11c3b4..baf2f45cea 100644 --- a/js/data/locale/charset/JIS_C6229-1984-b-add.json +++ b/js/data/locale/charset/JIS_C6229-1984-b-add.json @@ -2,5 +2,6 @@ "min": 1, "max": 1, "scripts": ["Latn"], - "locales": ["ja"] + "locales": ["ja"], + "optional": true } \ No newline at end of file diff --git a/js/data/locale/charset/JIS_C6229-1984-b.json b/js/data/locale/charset/JIS_C6229-1984-b.json index 978d11c3b4..baf2f45cea 100644 --- a/js/data/locale/charset/JIS_C6229-1984-b.json +++ b/js/data/locale/charset/JIS_C6229-1984-b.json @@ -2,5 +2,6 @@ "min": 1, "max": 1, "scripts": ["Latn"], - "locales": ["ja"] + "locales": ["ja"], + "optional": true } \ No newline at end of file diff --git a/js/data/locale/charset/JIS_C6229-1984-hand-add.json b/js/data/locale/charset/JIS_C6229-1984-hand-add.json index 978d11c3b4..baf2f45cea 100644 --- a/js/data/locale/charset/JIS_C6229-1984-hand-add.json +++ b/js/data/locale/charset/JIS_C6229-1984-hand-add.json @@ -2,5 +2,6 @@ "min": 1, "max": 1, "scripts": ["Latn"], - "locales": ["ja"] + "locales": ["ja"], + "optional": true } \ No newline at end of file diff --git a/js/data/locale/charset/JIS_C6229-1984-hand.json b/js/data/locale/charset/JIS_C6229-1984-hand.json index 978d11c3b4..baf2f45cea 100644 --- a/js/data/locale/charset/JIS_C6229-1984-hand.json +++ b/js/data/locale/charset/JIS_C6229-1984-hand.json @@ -2,5 +2,6 @@ "min": 1, "max": 1, "scripts": ["Latn"], - "locales": ["ja"] + "locales": ["ja"], + "optional": true } \ No newline at end of file diff --git a/js/data/locale/charset/JIS_C6229-1984-kana.json b/js/data/locale/charset/JIS_C6229-1984-kana.json index ef0c90dd68..eb75c7105d 100644 --- a/js/data/locale/charset/JIS_C6229-1984-kana.json +++ b/js/data/locale/charset/JIS_C6229-1984-kana.json @@ -2,5 +2,6 @@ "min": 1, "max": 1, "scripts": ["Kana","Latn"], - "locales": ["ja"] + "locales": ["ja"], + "optional": true } \ No newline at end of file diff --git a/js/data/locale/charset/JIS_Encoding.json b/js/data/locale/charset/JIS_Encoding.json index 3c2ca19044..52597b7198 100644 --- a/js/data/locale/charset/JIS_Encoding.json +++ b/js/data/locale/charset/JIS_Encoding.json @@ -2,5 +2,6 @@ "min": 1, "max": 2, "scripts": ["Jpan","Kana","Hira","Latn","Hani"], - "locales": ["ja"] + "locales": ["ja"], + "optional": true } \ No newline at end of file diff --git a/js/data/locale/charset/JIS_X0201-1969-ro.json b/js/data/locale/charset/JIS_X0201-1969-ro.json index 978d11c3b4..baf2f45cea 100644 --- a/js/data/locale/charset/JIS_X0201-1969-ro.json +++ b/js/data/locale/charset/JIS_X0201-1969-ro.json @@ -2,5 +2,6 @@ "min": 1, "max": 1, "scripts": ["Latn"], - "locales": ["ja"] + "locales": ["ja"], + "optional": true } \ No newline at end of file diff --git a/js/data/locale/charset/JIS_X0201-1969.json b/js/data/locale/charset/JIS_X0201-1969.json index 978d11c3b4..baf2f45cea 100644 --- a/js/data/locale/charset/JIS_X0201-1969.json +++ b/js/data/locale/charset/JIS_X0201-1969.json @@ -2,5 +2,6 @@ "min": 1, "max": 1, "scripts": ["Latn"], - "locales": ["ja"] + "locales": ["ja"], + "optional": true } \ No newline at end of file diff --git a/js/data/locale/charset/JIS_X0201.json b/js/data/locale/charset/JIS_X0201.json index ef0c90dd68..eb75c7105d 100644 --- a/js/data/locale/charset/JIS_X0201.json +++ b/js/data/locale/charset/JIS_X0201.json @@ -2,5 +2,6 @@ "min": 1, "max": 1, "scripts": ["Kana","Latn"], - "locales": ["ja"] + "locales": ["ja"], + "optional": true } \ No newline at end of file diff --git a/js/data/locale/charset/JIS_X0208-1978.json b/js/data/locale/charset/JIS_X0208-1978.json index b4631392f0..3e601c1d15 100644 --- a/js/data/locale/charset/JIS_X0208-1978.json +++ b/js/data/locale/charset/JIS_X0208-1978.json @@ -1,5 +1,6 @@ { "max": 2, "scripts": ["Jpan", "Hira", "Kana", "Hrkt", "Hani"], - "locales": ["ja"] + "locales": ["ja"], + "optional": true } \ No newline at end of file diff --git a/js/data/locale/charset/JIS_X0208-1983.json b/js/data/locale/charset/JIS_X0208-1983.json index b4631392f0..3e601c1d15 100644 --- a/js/data/locale/charset/JIS_X0208-1983.json +++ b/js/data/locale/charset/JIS_X0208-1983.json @@ -1,5 +1,6 @@ { "max": 2, "scripts": ["Jpan", "Hira", "Kana", "Hrkt", "Hani"], - "locales": ["ja"] + "locales": ["ja"], + "optional": true } \ No newline at end of file diff --git a/js/data/locale/charset/JIS_X0208-1990.json b/js/data/locale/charset/JIS_X0208-1990.json index b4631392f0..3e601c1d15 100644 --- a/js/data/locale/charset/JIS_X0208-1990.json +++ b/js/data/locale/charset/JIS_X0208-1990.json @@ -1,5 +1,6 @@ { "max": 2, "scripts": ["Jpan", "Hira", "Kana", "Hrkt", "Hani"], - "locales": ["ja"] + "locales": ["ja"], + "optional": true } \ No newline at end of file diff --git a/js/data/locale/charset/JIS_X0212-1990.json b/js/data/locale/charset/JIS_X0212-1990.json index 50ac39901a..3ca5122cf9 100644 --- a/js/data/locale/charset/JIS_X0212-1990.json +++ b/js/data/locale/charset/JIS_X0212-1990.json @@ -2,5 +2,6 @@ "min": 1, "max": 2, "scripts": ["Jpan","Kana","Hira","Grek","Cyrl","Latn","Hani"], - "locales": ["ja"] + "locales": ["ja"], + "optional": true } \ No newline at end of file diff --git a/js/data/locale/charset/JIS_X0213-2004.json b/js/data/locale/charset/JIS_X0213-2004.json index 50ac39901a..3ca5122cf9 100644 --- a/js/data/locale/charset/JIS_X0213-2004.json +++ b/js/data/locale/charset/JIS_X0213-2004.json @@ -2,5 +2,6 @@ "min": 1, "max": 2, "scripts": ["Jpan","Kana","Hira","Grek","Cyrl","Latn","Hani"], - "locales": ["ja"] + "locales": ["ja"], + "optional": true } \ No newline at end of file diff --git a/js/data/locale/charset/Johab.json b/js/data/locale/charset/Johab.json index bd20197398..2991d3353a 100644 --- a/js/data/locale/charset/Johab.json +++ b/js/data/locale/charset/Johab.json @@ -1,5 +1,6 @@ { "min": 1, "max": 2, - "scripts": ["Kore", "Hang", "Latn"] + "scripts": ["Kore", "Hang", "Latn"], + "locales": ["ko"] } \ No newline at end of file diff --git a/js/data/locale/charset/KOI-8.json b/js/data/locale/charset/KOI-8.json index 3a27e93a7b..0dcc346545 100644 --- a/js/data/locale/charset/KOI-8.json +++ b/js/data/locale/charset/KOI-8.json @@ -1,5 +1,6 @@ { "min": 1, "max": 1, - "scripts": ["Cyrl","Latn"] + "scripts": ["Cyrl","Latn"], + "locales": ["ru","be","uk","ba","be","bg","cv","kk","mk","mn","os","ro","se","sr","tg","tk","tt","ug","uz"] } \ No newline at end of file diff --git a/js/data/locale/charset/KOI8-R.json b/js/data/locale/charset/KOI8-R.json index 3a27e93a7b..b5a1db2268 100644 --- a/js/data/locale/charset/KOI8-R.json +++ b/js/data/locale/charset/KOI8-R.json @@ -1,5 +1,7 @@ { "min": 1, "max": 1, - "scripts": ["Cyrl","Latn"] + "scripts": ["Cyrl","Latn"], + "locales": ["bg", "be", "mk", "ru", "sr", "uk"], + "optional": true } \ No newline at end of file diff --git a/js/data/locale/charset/KOI8-RU.json b/js/data/locale/charset/KOI8-RU.json index 3a27e93a7b..b5a1db2268 100644 --- a/js/data/locale/charset/KOI8-RU.json +++ b/js/data/locale/charset/KOI8-RU.json @@ -1,5 +1,7 @@ { "min": 1, "max": 1, - "scripts": ["Cyrl","Latn"] + "scripts": ["Cyrl","Latn"], + "locales": ["bg", "be", "mk", "ru", "sr", "uk"], + "optional": true } \ No newline at end of file diff --git a/js/data/locale/charset/KOI8-T.json b/js/data/locale/charset/KOI8-T.json index 3a27e93a7b..b5a1db2268 100644 --- a/js/data/locale/charset/KOI8-T.json +++ b/js/data/locale/charset/KOI8-T.json @@ -1,5 +1,7 @@ { "min": 1, "max": 1, - "scripts": ["Cyrl","Latn"] + "scripts": ["Cyrl","Latn"], + "locales": ["bg", "be", "mk", "ru", "sr", "uk"], + "optional": true } \ No newline at end of file diff --git a/js/data/locale/charset/KOI8-U.json b/js/data/locale/charset/KOI8-U.json index 3a27e93a7b..b5a1db2268 100644 --- a/js/data/locale/charset/KOI8-U.json +++ b/js/data/locale/charset/KOI8-U.json @@ -1,5 +1,7 @@ { "min": 1, "max": 1, - "scripts": ["Cyrl","Latn"] + "scripts": ["Cyrl","Latn"], + "locales": ["bg", "be", "mk", "ru", "sr", "uk"], + "optional": true } \ No newline at end of file diff --git a/js/data/locale/charset/KSC5636.json b/js/data/locale/charset/KSC5636.json index bd20197398..2991d3353a 100644 --- a/js/data/locale/charset/KSC5636.json +++ b/js/data/locale/charset/KSC5636.json @@ -1,5 +1,6 @@ { "min": 1, "max": 2, - "scripts": ["Kore", "Hang", "Latn"] + "scripts": ["Kore", "Hang", "Latn"], + "locales": ["ko"] } \ No newline at end of file diff --git a/js/data/locale/charset/KS_C_5601-1987.json b/js/data/locale/charset/KS_C_5601-1987.json index bd20197398..2991d3353a 100644 --- a/js/data/locale/charset/KS_C_5601-1987.json +++ b/js/data/locale/charset/KS_C_5601-1987.json @@ -1,5 +1,6 @@ { "min": 1, "max": 2, - "scripts": ["Kore", "Hang", "Latn"] + "scripts": ["Kore", "Hang", "Latn"], + "locales": ["ko"] } \ No newline at end of file diff --git a/js/data/locale/charset/KZ-1048.json b/js/data/locale/charset/KZ-1048.json index af0d7df914..43f3280bb6 100644 --- a/js/data/locale/charset/KZ-1048.json +++ b/js/data/locale/charset/KZ-1048.json @@ -3,5 +3,6 @@ "min": 1, "max": 1, "scripts": ["Cyrl", "Latn"], - "locales": ["KZ"] + "locales": ["KZ"], + "optional": true } \ No newline at end of file diff --git a/js/data/locale/charset/Latin-greek-1.json b/js/data/locale/charset/Latin-greek-1.json index 3701293ccd..032dab8f9b 100644 --- a/js/data/locale/charset/Latin-greek-1.json +++ b/js/data/locale/charset/Latin-greek-1.json @@ -2,5 +2,6 @@ "min": 1, "max": 1, "scripts": ["Grek", "Latn"], - "locales": ["GR"] + "locales": ["GR"], + "optional": true } \ No newline at end of file diff --git a/js/data/locale/charset/Mac-Roman.json b/js/data/locale/charset/Mac-Roman.json index 1a00f3bbe4..0bf1cdcff4 100644 --- a/js/data/locale/charset/Mac-Roman.json +++ b/js/data/locale/charset/Mac-Roman.json @@ -1,5 +1,6 @@ { "min": 1, "max": 1, - "scripts": ["Latn"] + "scripts": ["Latn"], + "locales": ["en","de","fr","nl","es","it","ga","gl","da","no","nb","nn","sv","fi","ca","eu","pt","ro","roa"] } \ No newline at end of file diff --git a/js/data/locale/charset/PC8-Turkish.json b/js/data/locale/charset/PC8-Turkish.json index f169da63ff..3f892fd66f 100644 --- a/js/data/locale/charset/PC8-Turkish.json +++ b/js/data/locale/charset/PC8-Turkish.json @@ -2,5 +2,6 @@ "min": 1, "max": 1, "scripts": ["Latn"], - "locales": ["TR"] + "locales": ["TR"], + "optional": true } \ No newline at end of file diff --git a/js/data/locale/charset/PT.json b/js/data/locale/charset/PT.json index ff0ddd4078..655147235f 100644 --- a/js/data/locale/charset/PT.json +++ b/js/data/locale/charset/PT.json @@ -2,5 +2,6 @@ "min": 1, "max": 1, "scripts": ["Latn"], - "locales": ["PT"] + "locales": ["PT"], + "optional": true } \ No newline at end of file diff --git a/js/data/locale/charset/PT2.json b/js/data/locale/charset/PT2.json index ff0ddd4078..655147235f 100644 --- a/js/data/locale/charset/PT2.json +++ b/js/data/locale/charset/PT2.json @@ -2,5 +2,6 @@ "min": 1, "max": 1, "scripts": ["Latn"], - "locales": ["PT"] + "locales": ["PT"], + "optional": true } \ No newline at end of file diff --git a/js/data/locale/charset/PTCP154.json b/js/data/locale/charset/PTCP154.json index 137a56f7a1..e54210c8dc 100644 --- a/js/data/locale/charset/PTCP154.json +++ b/js/data/locale/charset/PTCP154.json @@ -3,5 +3,6 @@ "min": 1, "max": 1, "scripts": ["Cyrl"], - "locales": ["MN","KZ","RU","UZ"] + "locales": ["MN","KZ","RU","UZ"], + "optional": true } diff --git a/js/data/locale/charset/SCSU.json b/js/data/locale/charset/SCSU.json index 063042ae1b..03fbec80aa 100644 --- a/js/data/locale/charset/SCSU.json +++ b/js/data/locale/charset/SCSU.json @@ -3,5 +3,6 @@ "min": 1, "max": 6, "scripts": ["*"], - "locales": ["*"] + "locales": ["*"], + "optional": true } \ No newline at end of file diff --git a/js/data/locale/charset/SEN_850200_B.json b/js/data/locale/charset/SEN_850200_B.json index e62d189fc4..d0c82eda1d 100644 --- a/js/data/locale/charset/SEN_850200_B.json +++ b/js/data/locale/charset/SEN_850200_B.json @@ -2,5 +2,6 @@ "min": 1, "max": 1, "scripts": ["Latn"], - "locales": ["SE"] + "locales": ["SE"], + "optional": true } \ No newline at end of file diff --git a/js/data/locale/charset/SEN_850200_C.json b/js/data/locale/charset/SEN_850200_C.json index e62d189fc4..d0c82eda1d 100644 --- a/js/data/locale/charset/SEN_850200_C.json +++ b/js/data/locale/charset/SEN_850200_C.json @@ -2,5 +2,6 @@ "min": 1, "max": 1, "scripts": ["Latn"], - "locales": ["SE"] + "locales": ["SE"], + "optional": true } \ No newline at end of file diff --git a/js/data/locale/charset/Sami-WS2.json b/js/data/locale/charset/Sami-WS2.json index 3ae954872d..ad3b9e0bb2 100644 --- a/js/data/locale/charset/Sami-WS2.json +++ b/js/data/locale/charset/Sami-WS2.json @@ -2,5 +2,6 @@ "min": 1, "max": 1, "scripts": ["Latn"], - "locales": ["se"] + "locales": ["se"], + "optional": true } \ No newline at end of file diff --git a/js/data/locale/charset/Shift_JIS_X0213.json b/js/data/locale/charset/Shift_JIS_X0213.json index b4631392f0..3e601c1d15 100644 --- a/js/data/locale/charset/Shift_JIS_X0213.json +++ b/js/data/locale/charset/Shift_JIS_X0213.json @@ -1,5 +1,6 @@ { "max": 2, "scripts": ["Jpan", "Hira", "Kana", "Hrkt", "Hani"], - "locales": ["ja"] + "locales": ["ja"], + "optional": true } \ No newline at end of file diff --git a/js/data/locale/charset/UNICODE-1-1-UTF-7.json b/js/data/locale/charset/UNICODE-1-1-UTF-7.json index 445f2b2511..570d198a1e 100644 --- a/js/data/locale/charset/UNICODE-1-1-UTF-7.json +++ b/js/data/locale/charset/UNICODE-1-1-UTF-7.json @@ -2,5 +2,6 @@ "min": 1, "max": 6, "scripts": ["*"], - "locales": ["*"] + "locales": ["*"], + "optional": true } \ No newline at end of file diff --git a/js/data/locale/charset/UNICODE-1-1.json b/js/data/locale/charset/UNICODE-1-1.json index 445f2b2511..570d198a1e 100644 --- a/js/data/locale/charset/UNICODE-1-1.json +++ b/js/data/locale/charset/UNICODE-1-1.json @@ -2,5 +2,6 @@ "min": 1, "max": 6, "scripts": ["*"], - "locales": ["*"] + "locales": ["*"], + "optional": true } \ No newline at end of file diff --git a/js/data/locale/charset/UTF-32.json b/js/data/locale/charset/UTF-32.json index 815bb56667..5294003013 100644 --- a/js/data/locale/charset/UTF-32.json +++ b/js/data/locale/charset/UTF-32.json @@ -2,5 +2,6 @@ "min": 4, "max": 4, "scripts": ["*"], - "locales": ["*"] + "locales": ["*"], + "optional": true } \ No newline at end of file diff --git a/js/data/locale/charset/UTF-32BE.json b/js/data/locale/charset/UTF-32BE.json index 815bb56667..5294003013 100644 --- a/js/data/locale/charset/UTF-32BE.json +++ b/js/data/locale/charset/UTF-32BE.json @@ -2,5 +2,6 @@ "min": 4, "max": 4, "scripts": ["*"], - "locales": ["*"] + "locales": ["*"], + "optional": true } \ No newline at end of file diff --git a/js/data/locale/charset/UTF-32LE.json b/js/data/locale/charset/UTF-32LE.json index cf30435b27..0ee55c09ce 100644 --- a/js/data/locale/charset/UTF-32LE.json +++ b/js/data/locale/charset/UTF-32LE.json @@ -3,5 +3,6 @@ "max": 4, "bigendian": false, "scripts": ["*"], - "locales": ["*"] + "locales": ["*"], + "optional": true } \ No newline at end of file diff --git a/js/data/locale/charset/UTF-7.json b/js/data/locale/charset/UTF-7.json index 14a1e673b9..ea3c878816 100644 --- a/js/data/locale/charset/UTF-7.json +++ b/js/data/locale/charset/UTF-7.json @@ -2,5 +2,6 @@ "min": 1, "max": 8, "scripts": ["*"], - "locales": ["*"] + "locales": ["*"], + "optional": true } \ No newline at end of file diff --git a/js/data/locale/charset/VIQR.json b/js/data/locale/charset/VIQR.json index ce7e4718d9..45fa3f1487 100644 --- a/js/data/locale/charset/VIQR.json +++ b/js/data/locale/charset/VIQR.json @@ -2,5 +2,6 @@ "min": 1, "max": 1, "scripts": ["Latn"], - "locales": ["vi"] + "locales": ["vi"], + "optional": true } \ No newline at end of file diff --git a/js/data/locale/charset/greek-ccitt.json b/js/data/locale/charset/greek-ccitt.json index ecbe944de8..6ba3414b4b 100644 --- a/js/data/locale/charset/greek-ccitt.json +++ b/js/data/locale/charset/greek-ccitt.json @@ -2,5 +2,6 @@ "min": 1, "max": 1, "scripts": ["Grek","Latn"], - "locales": ["el"] + "locales": ["el"], + "optional": true } \ No newline at end of file diff --git a/js/data/locale/charset/greek7-old.json b/js/data/locale/charset/greek7-old.json index ecbe944de8..6ba3414b4b 100644 --- a/js/data/locale/charset/greek7-old.json +++ b/js/data/locale/charset/greek7-old.json @@ -2,5 +2,6 @@ "min": 1, "max": 1, "scripts": ["Grek","Latn"], - "locales": ["el"] + "locales": ["el"], + "optional": true } \ No newline at end of file diff --git a/js/data/locale/charset/greek7.json b/js/data/locale/charset/greek7.json index ecbe944de8..6ba3414b4b 100644 --- a/js/data/locale/charset/greek7.json +++ b/js/data/locale/charset/greek7.json @@ -2,5 +2,6 @@ "min": 1, "max": 1, "scripts": ["Grek","Latn"], - "locales": ["el"] + "locales": ["el"], + "optional": true } \ No newline at end of file diff --git a/js/data/locale/charset/hp-thai8.json b/js/data/locale/charset/hp-thai8.json index 79c12e6228..927e09bf08 100644 --- a/js/data/locale/charset/hp-thai8.json +++ b/js/data/locale/charset/hp-thai8.json @@ -2,5 +2,6 @@ "min": 1, "max": 1, "scripts": ["Thai", "Latn"], - "locales": ["th"] + "locales": ["th"], + "optional": true } \ No newline at end of file diff --git a/js/data/locale/charset/latin-greek.json b/js/data/locale/charset/latin-greek.json index 3701293ccd..032dab8f9b 100644 --- a/js/data/locale/charset/latin-greek.json +++ b/js/data/locale/charset/latin-greek.json @@ -2,5 +2,6 @@ "min": 1, "max": 1, "scripts": ["Grek", "Latn"], - "locales": ["GR"] + "locales": ["GR"], + "optional": true } \ No newline at end of file diff --git a/js/data/locale/charset/mac-cyrillic.json b/js/data/locale/charset/mac-cyrillic.json index 08e22c3266..48b27b1eaa 100644 --- a/js/data/locale/charset/mac-cyrillic.json +++ b/js/data/locale/charset/mac-cyrillic.json @@ -1,5 +1,6 @@ { "min": 1, "max": 1, - "scripts": ["Cyrl", "Latn"] + "scripts": ["Cyrl", "Latn"], + "locales": ["bg", "be", "mk", "ru", "sr", "uk"] } \ No newline at end of file diff --git a/js/data/locale/charset/windows-1250.json b/js/data/locale/charset/windows-1250.json index a86ac8e73f..33c85af08a 100644 --- a/js/data/locale/charset/windows-1250.json +++ b/js/data/locale/charset/windows-1250.json @@ -2,5 +2,5 @@ "min": 1, "max": 1, "scripts": ["Latn"], - "locales": ["en","de","fr","nl","es","it","ga","gl","da","no","nb","nn","sv","fi","ca","eu","pt","rm","roa"] + "locales": ["hr", "cz", "et", "hu", "lv", "lt", "pl", "ro", "sk", "sl"] } \ No newline at end of file diff --git a/js/data/locale/charset/windows-1252.json b/js/data/locale/charset/windows-1252.json index a86ac8e73f..a4803553fd 100644 --- a/js/data/locale/charset/windows-1252.json +++ b/js/data/locale/charset/windows-1252.json @@ -2,5 +2,5 @@ "min": 1, "max": 1, "scripts": ["Latn"], - "locales": ["en","de","fr","nl","es","it","ga","gl","da","no","nb","nn","sv","fi","ca","eu","pt","rm","roa"] -} \ No newline at end of file + "locales": ["en","de","fr","nl","es","it","ga","gl","da","no","nb","nn","sv","fi","ca","eu","pt","ro","roa"] +} diff --git a/js/data/locale/charset/windows-1254.json b/js/data/locale/charset/windows-1254.json index 1a00f3bbe4..2fd60a6d3d 100644 --- a/js/data/locale/charset/windows-1254.json +++ b/js/data/locale/charset/windows-1254.json @@ -1,5 +1,6 @@ { "min": 1, "max": 1, - "scripts": ["Latn"] + "scripts": ["Latn"], + "locales": ["tr"] } \ No newline at end of file diff --git a/js/data/locale/charset/windows-1257.json b/js/data/locale/charset/windows-1257.json index 1a00f3bbe4..9d080f3039 100644 --- a/js/data/locale/charset/windows-1257.json +++ b/js/data/locale/charset/windows-1257.json @@ -1,5 +1,6 @@ { "min": 1, "max": 1, - "scripts": ["Latn"] + "scripts": ["Latn"], + "locales": ["et", "lv", "lt"] } \ No newline at end of file diff --git a/js/data/locale/charset/windows-1258.json b/js/data/locale/charset/windows-1258.json index 1a00f3bbe4..ca49422c9d 100644 --- a/js/data/locale/charset/windows-1258.json +++ b/js/data/locale/charset/windows-1258.json @@ -1,5 +1,6 @@ { "min": 1, "max": 1, - "scripts": ["Latn"] + "scripts": ["Latn"], + "locales": ["vi"] } \ No newline at end of file diff --git a/js/data/locale/charset/windows-31J.json b/js/data/locale/charset/windows-31J.json index fefdea40fe..3e601c1d15 100644 --- a/js/data/locale/charset/windows-31J.json +++ b/js/data/locale/charset/windows-31J.json @@ -1,5 +1,6 @@ { "max": 2, "scripts": ["Jpan", "Hira", "Kana", "Hrkt", "Hani"], - "locales": ["jp"] + "locales": ["ja"], + "optional": true } \ No newline at end of file diff --git a/js/data/locale/charset/windows-874.json b/js/data/locale/charset/windows-874.json index 79c12e6228..927e09bf08 100644 --- a/js/data/locale/charset/windows-874.json +++ b/js/data/locale/charset/windows-874.json @@ -2,5 +2,6 @@ "min": 1, "max": 1, "scripts": ["Thai", "Latn"], - "locales": ["th"] + "locales": ["th"], + "optional": true } \ No newline at end of file diff --git a/js/data/locale/charsetaliases.json b/js/data/locale/charsetaliases.json index bedcc8d137..3fd940d3be 100644 --- a/js/data/locale/charsetaliases.json +++ b/js/data/locale/charsetaliases.json @@ -658,7 +658,6 @@ "ISO115481": "ISO-11548-1", "ISO2022CNEXT": "ISO-2022-CN-EXT", "ISO2022CN": "ISO-2022-CN", - "ISO2022JP2": "ISO-2022-JP-2", "ISO2022JP": "ISO-2022-JP", "ISO2022JP1": "ISO-2022-JP-1", "ISO2022JP2": "ISO-2022-JP-2", @@ -666,7 +665,6 @@ "ISO2022JP2004": "ISO-2022-JP-2004", "ISO2022KR": "ISO-2022-KR", "ISO20331983": "ISO-2033-1983", - "ISO20331983": "ISO-2033-1983", "ISO54271981": "ISO-5427_1981", "ISO5427CYRILLIC1981": "ISO-5427_1981", "ISO5427EXT": "ISO-5427-EXT", @@ -705,8 +703,6 @@ "ISO646US": "US-ASCII", "ISO646YU": "JUS_I.B1.002", "ISO6937225": "ISO-6937-2-25", - "ISO6937225": "ISO-6937-2-25", - "ISO69372ADD": "ISO-6937-2-add", "ISO69372ADD": "ISO-6937-2-add", "ISO6937": "ISO-6937", "ISO8859101992": "ISO-8859-10", @@ -718,12 +714,10 @@ "ISO885911": "TIS-620", "ISO8859131998": "ISO-8859-13_1998", "ISO885913": "ISO-8859-13", - "ISO8859141998": "ISO-8859-14", - "ISO8859141998": "ISO-8859-14_1998", "ISO885914": "ISO-8859-14", + "ISO8859141998": "ISO-8859-14_1998", "ISO8859151999": "ISO-8859-15_1999", "ISO885915": "ISO-8859-15", - "ISO8859162001": "ISO-8859-16", "ISO8859162001": "ISO-8859-16_2001", "ISO885916": "ISO-8859-16", "ISO88591": "ISO-8859-1", @@ -764,7 +758,6 @@ "ISO88599WINDOWSLATIN5": "ISO-8859-9-Windows-Latin-5", "ISO8859": "ISO-8859-1", "ISO8859SUPP": "ISO-8859-supp", - "ISO8859SUPP": "ISO-8859-supp", "ISO9036": "ASMO_449", "ISOCELTIC": "ISO-8859-14", "ISOIR100": "ISO-8859-1", diff --git a/js/data/locale/lang2charset.json b/js/data/locale/lang2charset.json new file mode 100644 index 0000000000..5f70969d6f --- /dev/null +++ b/js/data/locale/lang2charset.json @@ -0,0 +1,648 @@ +{ + "ar": [ + "ASMO_449", + "IBM864", + "ISIRI-3342", + "ISO-8859-6", + "windows-1256" + ], + "az": [ + "ASMO_449", + "IBM864", + "ISO-8859-6", + "windows-1256" + ], + "ba": [ + "ECMA-cyrillic", + "ISO-8859-5", + "KOI-8", + "windows-1251" + ], + "be": [ + "ECMA-cyrillic", + "ISO-8859-5", + "KOI-8", + "KOI8-R", + "KOI8-RU", + "KOI8-T", + "KOI8-U", + "mac-cyrillic", + "windows-1251" + ], + "bg": [ + "ECMA-cyrillic", + "ISO-8859-5", + "KOI-8", + "KOI8-R", + "KOI8-RU", + "KOI8-T", + "KOI8-U", + "mac-cyrillic", + "windows-1251" + ], + "ca": [ + "IBM00858", + "IBM437", + "IBM850", + "IBM860", + "ISO-8859-1", + "ISO-8859-15", + "Mac-Roman", + "windows-1252" + ], + "cv": [ + "ECMA-cyrillic", + "ISO-8859-5", + "KOI-8", + "windows-1251" + ], + "cz": [ + "IBM852", + "ISO-8859-2", + "windows-1250" + ], + "da": [ + "EBCDIC-DK-NO-A", + "EBCDIC-DK-NO", + "IBM00858", + "IBM01142", + "IBM437", + "IBM850", + "IBM860", + "ISO-8859-1", + "ISO-8859-15", + "Mac-Roman", + "windows-1252" + ], + "de": [ + "EBCDIC-AT-DE-A", + "EBCDIC-AT-DE", + "IBM00858", + "IBM01141", + "IBM437", + "IBM850", + "IBM860", + "ISO-8859-1", + "ISO-8859-15", + "Mac-Roman", + "windows-1252" + ], + "el": [ + "IBM869", + "ISO-8859-7", + "Latin-greek-1", + "greek-ccitt", + "greek7-old", + "greek7", + "latin-greek", + "windows-1253" + ], + "en": [ + "ANSI_X3.110-1983", + "IBM00858", + "IBM437", + "IBM850", + "IBM860", + "ISO-8859-1", + "ISO-8859-15", + "Mac-Roman", + "windows-1252" + ], + "es": [ + "EBCDIC-ES-A", + "EBCDIC-ES-S", + "EBCDIC-ES", + "ES", + "ES2", + "IBM00858", + "IBM01145", + "IBM437", + "IBM850", + "IBM860", + "ISO-8859-1", + "ISO-8859-15", + "Mac-Roman", + "windows-1252" + ], + "et": [ + "IBM852", + "IBM922", + "ISO-8859-13", + "ISO-8859-2", + "ISO-8859-4", + "windows-1250", + "windows-1257" + ], + "eu": [ + "IBM00858", + "IBM437", + "IBM850", + "IBM860", + "ISO-8859-1", + "ISO-8859-15", + "Mac-Roman", + "windows-1252" + ], + "fa": [ + "ASMO_449", + "IBM864", + "ISO-8859-6", + "windows-1256" + ], + "fi": [ + "EBCDIC-FI-SE-A", + "EBCDIC-FI-SE", + "IBM00858", + "IBM01143", + "IBM437", + "IBM850", + "IBM860", + "ISO-8859-1", + "ISO-8859-15", + "Mac-Roman", + "windows-1252" + ], + "fr": [ + "EBCDIC-CA-FR", + "EBCDIC-FR", + "IBM00858", + "IBM01147", + "IBM437", + "IBM850", + "IBM860", + "ISO-8859-1", + "ISO-8859-15", + "Mac-Roman", + "windows-1252" + ], + "ga": [ + "IBM00858", + "IBM437", + "IBM850", + "IBM860", + "ISO-8859-1", + "ISO-8859-15", + "Mac-Roman", + "windows-1252" + ], + "gl": [ + "IBM00858", + "IBM437", + "IBM850", + "IBM860", + "ISO-8859-1", + "ISO-8859-15", + "Mac-Roman", + "windows-1252" + ], + "ha": [ + "ASMO_449", + "IBM864", + "ISO-8859-6", + "windows-1256" + ], + "he": [ + "IBM737", + "IBM875", + "ISO-8859-8", + "windows-1255" + ], + "hr": [ + "IBM852", + "ISO-8859-2", + "windows-1250" + ], + "hu": [ + "IBM852", + "ISO-8859-2", + "windows-1250" + ], + "hy": [ + "ARMSCII-8" + ], + "is": [ + "EBCDIC-IS-FRISS", + "IBM01149", + "mac-is" + ], + "it": [ + "EBCDIC-IT", + "IBM00858", + "IBM01144", + "IBM437", + "IBM850", + "IBM860", + "ISO-8859-1", + "ISO-8859-15", + "IT", + "Mac-Roman", + "windows-1252" + ], + "ja": [ + "CP50220", + "CP51932", + "EUC-JIS_X0213", + "EUC-JP-MS", + "EUC-JP", + "Extended_UNIX_Code_Fixed_Width_for_Japanese", + "ISO-2022-JP-1", + "ISO-2022-JP-2", + "ISO-2022-JP-2004", + "ISO-2022-JP-3", + "ISO-2022-JP", + "JIS_C6229-1984-a", + "JIS_C6229-1984-b-add", + "JIS_C6229-1984-b", + "JIS_C6229-1984-hand-add", + "JIS_C6229-1984-hand", + "JIS_C6229-1984-kana", + "JIS_Encoding", + "JIS_X0201-1969-ro", + "JIS_X0201-1969", + "JIS_X0201", + "JIS_X0208-1978", + "JIS_X0208-1983", + "JIS_X0208-1990", + "JIS_X0212-1990", + "JIS_X0213-2004", + "Shift_JIS", + "Shift_JIS_X0213", + "windows-31J" + ], + "kk": [ + "ASMO_449", + "ECMA-cyrillic", + "IBM864", + "ISO-8859-5", + "ISO-8859-6", + "KOI-8", + "windows-1251", + "windows-1256" + ], + "ko": [ + "EUC-KR", + "IBM949", + "Johab", + "KSC5636", + "KS_C_5601-1987" + ], + "ks": [ + "ASMO_449", + "IBM864", + "ISO-8859-6", + "windows-1256" + ], + "ku": [ + "ASMO_449", + "IBM864", + "ISO-8859-6", + "windows-1256" + ], + "ky": [ + "ASMO_449", + "IBM864", + "ISO-8859-6", + "windows-1256" + ], + "lo": [ + "IBM1132", + "IBM1133" + ], + "lt": [ + "IBM852", + "ISO-8859-13", + "ISO-8859-2", + "ISO-8859-4", + "windows-1250", + "windows-1257" + ], + "lv": [ + "IBM852", + "ISO-8859-13", + "ISO-8859-2", + "ISO-8859-4", + "windows-1250", + "windows-1257" + ], + "mk": [ + "ECMA-cyrillic", + "ISO-8859-5", + "KOI-8", + "KOI8-R", + "KOI8-RU", + "KOI8-T", + "KOI8-U", + "MIK", + "mac-cyrillic", + "windows-1251" + ], + "mn": [ + "ECMA-cyrillic", + "ISO-8859-5", + "KOI-8", + "PTCP154", + "windows-1251" + ], + "ms": [ + "ASMO_449", + "IBM864", + "ISO-8859-6", + "windows-1256" + ], + "nb": [ + "EBCDIC-DK-NO-A", + "EBCDIC-DK-NO", + "IBM00858", + "IBM01142", + "IBM437", + "IBM850", + "IBM860", + "ISO-8859-1", + "ISO-8859-15", + "Mac-Roman", + "windows-1252" + ], + "nl": [ + "IBM00858", + "IBM1164", + "IBM437", + "IBM850", + "IBM860", + "ISO-8859-1", + "ISO-8859-15", + "Mac-Roman", + "windows-1252" + ], + "nn": [ + "IBM00858", + "IBM437", + "IBM850", + "IBM860", + "ISO-8859-1", + "ISO-8859-15", + "Mac-Roman", + "windows-1252" + ], + "no": [ + "IBM00858", + "IBM437", + "IBM850", + "IBM860", + "ISO-8859-1", + "ISO-8859-15", + "Mac-Roman", + "windows-1252" + ], + "os": [ + "ECMA-cyrillic", + "ISO-8859-5", + "KOI-8", + "windows-1251" + ], + "pa": [ + "ASMO_449", + "IBM864", + "ISO-8859-6", + "windows-1256" + ], + "pl": [ + "IBM852", + "ISO-8859-2", + "windows-1250" + ], + "ps": [ + "ASMO_449", + "IBM864", + "ISO-8859-6", + "windows-1256" + ], + "pt": [ + "EBCDIC-PT", + "IBM00858", + "IBM437", + "IBM850", + "IBM860", + "ISO-8859-1", + "ISO-8859-15", + "Mac-Roman", + "PT", + "PT2", + "windows-1252" + ], + "ro": [ + "ECMA-cyrillic", + "IBM00858", + "IBM437", + "IBM850", + "IBM852", + "IBM860", + "ISO-8859-1", + "ISO-8859-15", + "ISO-8859-2", + "ISO-8859-5", + "KOI-8", + "Mac-Roman", + "windows-1250", + "windows-1251", + "windows-1252" + ], + "roa": [ + "IBM00858", + "IBM437", + "IBM850", + "IBM860", + "ISO-8859-1", + "ISO-8859-15", + "Mac-Roman", + "windows-1252" + ], + "ru": [ + "ECMA-cyrillic", + "GOST_19768-74", + "ISO-8859-5", + "KOI-8", + "KOI8-R", + "KOI8-RU", + "KOI8-T", + "KOI8-U", + "KZ-1048", + "PTCP154", + "mac-cyrillic", + "windows-1251" + ], + "sd": [ + "ASMO_449", + "IBM864", + "ISO-8859-6", + "windows-1256" + ], + "se": [ + "ECMA-cyrillic", + "ISO-8859-5", + "KOI-8", + "Sami-WS2", + "Sami", + "mac-sami", + "windows-1251" + ], + "sk": [ + "IBM852", + "ISO-8859-2", + "windows-1250" + ], + "sl": [ + "IBM852", + "ISO-8859-2", + "windows-1250" + ], + "so": [ + "ASMO_449", + "IBM864", + "ISO-8859-6", + "windows-1256" + ], + "sr": [ + "ECMA-cyrillic", + "ISO-8859-5", + "KOI-8", + "KOI8-R", + "KOI8-RU", + "KOI8-T", + "KOI8-U", + "mac-cyrillic", + "windows-1251" + ], + "sv": [ + "EBCDIC-FI-SE-A", + "EBCDIC-FI-SE", + "IBM00858", + "IBM01143", + "IBM437", + "IBM850", + "IBM860", + "ISO-8859-1", + "ISO-8859-15", + "Mac-Roman", + "SEN_850200_B", + "SEN_850200_C", + "windows-1252" + ], + "ta": [ + "TSCII" + ], + "tg": [ + "ASMO_449", + "ECMA-cyrillic", + "IBM864", + "ISO-8859-5", + "ISO-8859-6", + "KOI-8", + "windows-1251", + "windows-1256" + ], + "th": [ + "IBM-Thai", + "IBM1160", + "IBM1162", + "IBM874", + "TIS-620", + "hp-thai8", + "windows-874" + ], + "tk": [ + "ASMO_449", + "ECMA-cyrillic", + "IBM864", + "ISO-8859-5", + "ISO-8859-6", + "KOI-8", + "windows-1251", + "windows-1256" + ], + "tr": [ + "IBM1026", + "ISO-8859-9", + "PC8-Turkish", + "windows-1254" + ], + "tt": [ + "ECMA-cyrillic", + "ISO-8859-5", + "KOI-8", + "windows-1251" + ], + "ug": [ + "ASMO_449", + "ECMA-cyrillic", + "IBM864", + "ISO-8859-5", + "ISO-8859-6", + "KOI-8", + "windows-1251", + "windows-1256" + ], + "uk": [ + "ECMA-cyrillic", + "IBM1124", + "ISO-8859-5", + "KOI-8", + "KOI8-R", + "KOI8-RU", + "KOI8-T", + "KOI8-U", + "mac-cyrillic", + "mac-uk", + "windows-1251" + ], + "ur": [ + "ASMO_449", + "IBM864", + "ISO-8859-6", + "windows-1256" + ], + "uz": [ + "ASMO_449", + "ECMA-cyrillic", + "IBM864", + "ISO-8859-5", + "ISO-8859-6", + "KOI-8", + "PTCP154", + "windows-1251", + "windows-1256" + ], + "vi": [ + "IBM1163", + "IBM256", + "TCVN-5712-1", + "VIQR", + "VISCII", + "windows-1258" + ], + "wo": [ + "ASMO_449", + "IBM864", + "ISO-8859-6", + "windows-1256" + ], + "zh-Hans": [ + "GB18030", + "GB2312", + "GBK", + "GB_1988-80", + "GB_2312-80", + "HZ-GB-2312", + "ISO-2022-CN-EXT", + "ISO-2022-CN" + ], + "zh-Hant": [ + "Big5-HKSCS", + "Big5" + ], + "*": [ + "UTF-8", + "UTF-16", + "UTF-16BE", + "UTF-16LE" + ] +} \ No newline at end of file diff --git a/js/data/locale/nfc/Arab.json b/js/data/locale/nfc/Arab.json new file mode 100644 index 0000000000..50b0722c99 --- /dev/null +++ b/js/data/locale/nfc/Arab.json @@ -0,0 +1,10 @@ +{ + "آ": "آ", + "أ": "أ", + "ؤ": "ؤ", + "إ": "إ", + "ئ": "ئ", + "ۀ": "ۀ", + "ۂ": "ۂ", + "ۓ": "ۓ" +} \ No newline at end of file diff --git a/js/data/locale/nfc/Bali.json b/js/data/locale/nfc/Bali.json new file mode 100644 index 0000000000..ebba07d4fa --- /dev/null +++ b/js/data/locale/nfc/Bali.json @@ -0,0 +1,13 @@ +{ + "ᬆ": "ᬆ", + "ᬈ": "ᬈ", + "ᬊ": "ᬊ", + "ᬌ": "ᬌ", + "ᬎ": "ᬎ", + "ᬒ": "ᬒ", + "ᬻ": "ᬻ", + "ᬽ": "ᬽ", + "ᭀ": "ᭀ", + "ᭁ": "ᭁ", + "ᭃ": "ᭃ" +} \ No newline at end of file diff --git a/js/data/locale/nfc/Beng.json b/js/data/locale/nfc/Beng.json new file mode 100644 index 0000000000..eef149d11c --- /dev/null +++ b/js/data/locale/nfc/Beng.json @@ -0,0 +1,4 @@ +{ + "ো": "ো", + "ৌ": "ৌ" +} \ No newline at end of file diff --git a/js/data/locale/nfc/Cakm.json b/js/data/locale/nfc/Cakm.json new file mode 100644 index 0000000000..759b3fd6b4 --- /dev/null +++ b/js/data/locale/nfc/Cakm.json @@ -0,0 +1,4 @@ +{ + "𑄮": "𑄮", + "𑄯": "𑄯" +} \ No newline at end of file diff --git a/js/data/locale/nfc/Cyrl.json b/js/data/locale/nfc/Cyrl.json new file mode 100644 index 0000000000..af8e797627 --- /dev/null +++ b/js/data/locale/nfc/Cyrl.json @@ -0,0 +1,54 @@ +{ + "Ѐ": "Ѐ", + "Ё": "Ё", + "Ѓ": "Ѓ", + "Ї": "Ї", + "Ќ": "Ќ", + "Ѝ": "Ѝ", + "Ў": "Ў", + "Й": "Й", + "й": "й", + "ѐ": "ѐ", + "ё": "ё", + "ѓ": "ѓ", + "ї": "ї", + "ќ": "ќ", + "ѝ": "ѝ", + "ў": "ў", + "Ѷ": "Ѷ", + "ѷ": "ѷ", + "Ӂ": "Ӂ", + "ӂ": "ӂ", + "Ӑ": "Ӑ", + "ӑ": "ӑ", + "Ӓ": "Ӓ", + "ӓ": "ӓ", + "Ӗ": "Ӗ", + "ӗ": "ӗ", + "Ӛ": "Ӛ", + "ӛ": "ӛ", + "Ӝ": "Ӝ", + "ӝ": "ӝ", + "Ӟ": "Ӟ", + "ӟ": "ӟ", + "Ӣ": "Ӣ", + "ӣ": "ӣ", + "Ӥ": "Ӥ", + "ӥ": "ӥ", + "Ӧ": "Ӧ", + "ӧ": "ӧ", + "Ӫ": "Ӫ", + "ӫ": "ӫ", + "Ӭ": "Ӭ", + "ӭ": "ӭ", + "Ӯ": "Ӯ", + "ӯ": "ӯ", + "Ӱ": "Ӱ", + "ӱ": "ӱ", + "Ӳ": "Ӳ", + "ӳ": "ӳ", + "Ӵ": "Ӵ", + "ӵ": "ӵ", + "Ӹ": "Ӹ", + "ӹ": "ӹ" +} \ No newline at end of file diff --git a/js/data/locale/nfc/Deva.json b/js/data/locale/nfc/Deva.json new file mode 100644 index 0000000000..86d0f0b693 --- /dev/null +++ b/js/data/locale/nfc/Deva.json @@ -0,0 +1,5 @@ +{ + "ऩ": "ऩ", + "ऱ": "ऱ", + "ऴ": "ऴ" +} \ No newline at end of file diff --git a/js/data/locale/nfc/Gran.json b/js/data/locale/nfc/Gran.json new file mode 100644 index 0000000000..cdaa1eb68e --- /dev/null +++ b/js/data/locale/nfc/Gran.json @@ -0,0 +1,4 @@ +{ + "𑍋": "𑍋", + "𑍌": "𑍌" +} \ No newline at end of file diff --git a/js/data/locale/nfc/Grek.json b/js/data/locale/nfc/Grek.json new file mode 100644 index 0000000000..29685b2493 --- /dev/null +++ b/js/data/locale/nfc/Grek.json @@ -0,0 +1,231 @@ +{ + "Ά": "Ά", + "Έ": "Έ", + "Ή": "Ή", + "Ί": "Ί", + "Ό": "Ό", + "Ύ": "Ύ", + "Ώ": "Ώ", + "ΐ": "ΐ", + "Ϊ": "Ϊ", + "Ϋ": "Ϋ", + "ά": "ά", + "έ": "έ", + "ή": "ή", + "ί": "ί", + "ΰ": "ΰ", + "ϊ": "ϊ", + "ϋ": "ϋ", + "ό": "ό", + "ύ": "ύ", + "ώ": "ώ", + "ϓ": "ϓ", + "ϔ": "ϔ", + "ἀ": "ἀ", + "ἁ": "ἁ", + "ἂ": "ἂ", + "ἃ": "ἃ", + "ἄ": "ἄ", + "ἅ": "ἅ", + "ἆ": "ἆ", + "ἇ": "ἇ", + "Ἀ": "Ἀ", + "Ἁ": "Ἁ", + "Ἂ": "Ἂ", + "Ἃ": "Ἃ", + "Ἄ": "Ἄ", + "Ἅ": "Ἅ", + "Ἆ": "Ἆ", + "Ἇ": "Ἇ", + "ἐ": "ἐ", + "ἑ": "ἑ", + "ἒ": "ἒ", + "ἓ": "ἓ", + "ἔ": "ἔ", + "ἕ": "ἕ", + "Ἐ": "Ἐ", + "Ἑ": "Ἑ", + "Ἒ": "Ἒ", + "Ἓ": "Ἓ", + "Ἔ": "Ἔ", + "Ἕ": "Ἕ", + "ἠ": "ἠ", + "ἡ": "ἡ", + "ἢ": "ἢ", + "ἣ": "ἣ", + "ἤ": "ἤ", + "ἥ": "ἥ", + "ἦ": "ἦ", + "ἧ": "ἧ", + "Ἠ": "Ἠ", + "Ἡ": "Ἡ", + "Ἢ": "Ἢ", + "Ἣ": "Ἣ", + "Ἤ": "Ἤ", + "Ἥ": "Ἥ", + "Ἦ": "Ἦ", + "Ἧ": "Ἧ", + "ἰ": "ἰ", + "ἱ": "ἱ", + "ἲ": "ἲ", + "ἳ": "ἳ", + "ἴ": "ἴ", + "ἵ": "ἵ", + "ἶ": "ἶ", + "ἷ": "ἷ", + "Ἰ": "Ἰ", + "Ἱ": "Ἱ", + "Ἲ": "Ἲ", + "Ἳ": "Ἳ", + "Ἴ": "Ἴ", + "Ἵ": "Ἵ", + "Ἶ": "Ἶ", + "Ἷ": "Ἷ", + "ὀ": "ὀ", + "ὁ": "ὁ", + "ὂ": "ὂ", + "ὃ": "ὃ", + "ὄ": "ὄ", + "ὅ": "ὅ", + "Ὀ": "Ὀ", + "Ὁ": "Ὁ", + "Ὂ": "Ὂ", + "Ὃ": "Ὃ", + "Ὄ": "Ὄ", + "Ὅ": "Ὅ", + "ὐ": "ὐ", + "ὑ": "ὑ", + "ὒ": "ὒ", + "ὓ": "ὓ", + "ὔ": "ὔ", + "ὕ": "ὕ", + "ὖ": "ὖ", + "ὗ": "ὗ", + "Ὑ": "Ὑ", + "Ὓ": "Ὓ", + "Ὕ": "Ὕ", + "Ὗ": "Ὗ", + "ὠ": "ὠ", + "ὡ": "ὡ", + "ὢ": "ὢ", + "ὣ": "ὣ", + "ὤ": "ὤ", + "ὥ": "ὥ", + "ὦ": "ὦ", + "ὧ": "ὧ", + "Ὠ": "Ὠ", + "Ὡ": "Ὡ", + "Ὢ": "Ὢ", + "Ὣ": "Ὣ", + "Ὤ": "Ὤ", + "Ὥ": "Ὥ", + "Ὦ": "Ὦ", + "Ὧ": "Ὧ", + "ὰ": "ὰ", + "ὲ": "ὲ", + "ὴ": "ὴ", + "ὶ": "ὶ", + "ὸ": "ὸ", + "ὺ": "ὺ", + "ὼ": "ὼ", + "ᾀ": "ᾀ", + "ᾁ": "ᾁ", + "ᾂ": "ᾂ", + "ᾃ": "ᾃ", + "ᾄ": "ᾄ", + "ᾅ": "ᾅ", + "ᾆ": "ᾆ", + "ᾇ": "ᾇ", + "ᾈ": "ᾈ", + "ᾉ": "ᾉ", + "ᾊ": "ᾊ", + "ᾋ": "ᾋ", + "ᾌ": "ᾌ", + "ᾍ": "ᾍ", + "ᾎ": "ᾎ", + "ᾏ": "ᾏ", + "ᾐ": "ᾐ", + "ᾑ": "ᾑ", + "ᾒ": "ᾒ", + "ᾓ": "ᾓ", + "ᾔ": "ᾔ", + "ᾕ": "ᾕ", + "ᾖ": "ᾖ", + "ᾗ": "ᾗ", + "ᾘ": "ᾘ", + "ᾙ": "ᾙ", + "ᾚ": "ᾚ", + "ᾛ": "ᾛ", + "ᾜ": "ᾜ", + "ᾝ": "ᾝ", + "ᾞ": "ᾞ", + "ᾟ": "ᾟ", + "ᾠ": "ᾠ", + "ᾡ": "ᾡ", + "ᾢ": "ᾢ", + "ᾣ": "ᾣ", + "ᾤ": "ᾤ", + "ᾥ": "ᾥ", + "ᾦ": "ᾦ", + "ᾧ": "ᾧ", + "ᾨ": "ᾨ", + "ᾩ": "ᾩ", + "ᾪ": "ᾪ", + "ᾫ": "ᾫ", + "ᾬ": "ᾬ", + "ᾭ": "ᾭ", + "ᾮ": "ᾮ", + "ᾯ": "ᾯ", + "ᾰ": "ᾰ", + "ᾱ": "ᾱ", + "ᾲ": "ᾲ", + "ᾳ": "ᾳ", + "ᾴ": "ᾴ", + "ᾶ": "ᾶ", + "ᾷ": "ᾷ", + "Ᾰ": "Ᾰ", + "Ᾱ": "Ᾱ", + "Ὰ": "Ὰ", + "ᾼ": "ᾼ", + "ῂ": "ῂ", + "ῃ": "ῃ", + "ῄ": "ῄ", + "ῆ": "ῆ", + "ῇ": "ῇ", + "Ὲ": "Ὲ", + "Ὴ": "Ὴ", + "ῌ": "ῌ", + "῍": "῍", + "῎": "῎", + "῏": "῏", + "ῐ": "ῐ", + "ῑ": "ῑ", + "ῒ": "ῒ", + "ῖ": "ῖ", + "ῗ": "ῗ", + "Ῐ": "Ῐ", + "Ῑ": "Ῑ", + "Ὶ": "Ὶ", + "῝": "῝", + "῞": "῞", + "῟": "῟", + "ῠ": "ῠ", + "ῡ": "ῡ", + "ῢ": "ῢ", + "ῤ": "ῤ", + "ῥ": "ῥ", + "ῦ": "ῦ", + "ῧ": "ῧ", + "Ῠ": "Ῠ", + "Ῡ": "Ῡ", + "Ὺ": "Ὺ", + "Ῥ": "Ῥ", + "ῲ": "ῲ", + "ῳ": "ῳ", + "ῴ": "ῴ", + "ῶ": "ῶ", + "ῷ": "ῷ", + "Ὸ": "Ὸ", + "Ὼ": "Ὼ", + "ῼ": "ῼ" +} \ No newline at end of file diff --git a/js/data/locale/nfc/Hira.json b/js/data/locale/nfc/Hira.json new file mode 100644 index 0000000000..45a00ecdaf --- /dev/null +++ b/js/data/locale/nfc/Hira.json @@ -0,0 +1,29 @@ +{ + "が": "が", + "ぎ": "ぎ", + "ぐ": "ぐ", + "げ": "げ", + "ご": "ご", + "ざ": "ざ", + "じ": "じ", + "ず": "ず", + "ぜ": "ぜ", + "ぞ": "ぞ", + "だ": "だ", + "ぢ": "ぢ", + "づ": "づ", + "で": "で", + "ど": "ど", + "ば": "ば", + "ぱ": "ぱ", + "び": "び", + "ぴ": "ぴ", + "ぶ": "ぶ", + "ぷ": "ぷ", + "べ": "べ", + "ぺ": "ぺ", + "ぼ": "ぼ", + "ぽ": "ぽ", + "ゔ": "ゔ", + "ゞ": "ゞ" +} \ No newline at end of file diff --git a/js/data/locale/nfc/Kana.json b/js/data/locale/nfc/Kana.json new file mode 100644 index 0000000000..bdd853ac6a --- /dev/null +++ b/js/data/locale/nfc/Kana.json @@ -0,0 +1,33 @@ +{ + "ガ": "ガ", + "ギ": "ギ", + "グ": "グ", + "ゲ": "ゲ", + "ゴ": "ゴ", + "ザ": "ザ", + "ジ": "ジ", + "ズ": "ズ", + "ゼ": "ゼ", + "ゾ": "ゾ", + "ダ": "ダ", + "ヂ": "ヂ", + "ヅ": "ヅ", + "デ": "デ", + "ド": "ド", + "バ": "バ", + "パ": "パ", + "ビ": "ビ", + "ピ": "ピ", + "ブ": "ブ", + "プ": "プ", + "ベ": "ベ", + "ペ": "ペ", + "ボ": "ボ", + "ポ": "ポ", + "ヴ": "ヴ", + "ヷ": "ヷ", + "ヸ": "ヸ", + "ヹ": "ヹ", + "ヺ": "ヺ", + "ヾ": "ヾ" +} \ No newline at end of file diff --git a/js/data/locale/nfc/Knda.json b/js/data/locale/nfc/Knda.json new file mode 100644 index 0000000000..2d5257e2eb --- /dev/null +++ b/js/data/locale/nfc/Knda.json @@ -0,0 +1,7 @@ +{ + "ೀ": "ೀ", + "ೇ": "ೇ", + "ೈ": "ೈ", + "ೊ": "ೊ", + "ೋ": "ೋ" +} \ No newline at end of file diff --git a/js/data/locale/nfc/Kthi.json b/js/data/locale/nfc/Kthi.json new file mode 100644 index 0000000000..293efe4c19 --- /dev/null +++ b/js/data/locale/nfc/Kthi.json @@ -0,0 +1,5 @@ +{ + "𑂚": "𑂚", + "𑂜": "𑂜", + "𑂫": "𑂫" +} \ No newline at end of file diff --git a/js/data/locale/nfc/Latn.json b/js/data/locale/nfc/Latn.json new file mode 100644 index 0000000000..2215ed6b28 --- /dev/null +++ b/js/data/locale/nfc/Latn.json @@ -0,0 +1,499 @@ +{ + "À": "À", + "Á": "Á", + "Â": "Â", + "Ã": "Ã", + "Ä": "Ä", + "Å": "Å", + "Ç": "Ç", + "È": "È", + "É": "É", + "Ê": "Ê", + "Ë": "Ë", + "Ì": "Ì", + "Í": "Í", + "Î": "Î", + "Ï": "Ï", + "Ñ": "Ñ", + "Ò": "Ò", + "Ó": "Ó", + "Ô": "Ô", + "Õ": "Õ", + "Ö": "Ö", + "Ù": "Ù", + "Ú": "Ú", + "Û": "Û", + "Ü": "Ü", + "Ý": "Ý", + "à": "à", + "á": "á", + "â": "â", + "ã": "ã", + "ä": "ä", + "å": "å", + "ç": "ç", + "è": "è", + "é": "é", + "ê": "ê", + "ë": "ë", + "ì": "ì", + "í": "í", + "î": "î", + "ï": "ï", + "ñ": "ñ", + "ò": "ò", + "ó": "ó", + "ô": "ô", + "õ": "õ", + "ö": "ö", + "ù": "ù", + "ú": "ú", + "û": "û", + "ü": "ü", + "ý": "ý", + "ÿ": "ÿ", + "Ā": "Ā", + "ā": "ā", + "Ă": "Ă", + "ă": "ă", + "Ą": "Ą", + "ą": "ą", + "Ć": "Ć", + "ć": "ć", + "Ĉ": "Ĉ", + "ĉ": "ĉ", + "Ċ": "Ċ", + "ċ": "ċ", + "Č": "Č", + "č": "č", + "Ď": "Ď", + "ď": "ď", + "Ē": "Ē", + "ē": "ē", + "Ĕ": "Ĕ", + "ĕ": "ĕ", + "Ė": "Ė", + "ė": "ė", + "Ę": "Ę", + "ę": "ę", + "Ě": "Ě", + "ě": "ě", + "Ĝ": "Ĝ", + "ĝ": "ĝ", + "Ğ": "Ğ", + "ğ": "ğ", + "Ġ": "Ġ", + "ġ": "ġ", + "Ģ": "Ģ", + "ģ": "ģ", + "Ĥ": "Ĥ", + "ĥ": "ĥ", + "Ĩ": "Ĩ", + "ĩ": "ĩ", + "Ī": "Ī", + "ī": "ī", + "Ĭ": "Ĭ", + "ĭ": "ĭ", + "Į": "Į", + "į": "į", + "İ": "İ", + "Ĵ": "Ĵ", + "ĵ": "ĵ", + "Ķ": "Ķ", + "ķ": "ķ", + "Ĺ": "Ĺ", + "ĺ": "ĺ", + "Ļ": "Ļ", + "ļ": "ļ", + "Ľ": "Ľ", + "ľ": "ľ", + "Ń": "Ń", + "ń": "ń", + "Ņ": "Ņ", + "ņ": "ņ", + "Ň": "Ň", + "ň": "ň", + "Ō": "Ō", + "ō": "ō", + "Ŏ": "Ŏ", + "ŏ": "ŏ", + "Ő": "Ő", + "ő": "ő", + "Ŕ": "Ŕ", + "ŕ": "ŕ", + "Ŗ": "Ŗ", + "ŗ": "ŗ", + "Ř": "Ř", + "ř": "ř", + "Ś": "Ś", + "ś": "ś", + "Ŝ": "Ŝ", + "ŝ": "ŝ", + "Ş": "Ş", + "ş": "ş", + "Š": "Š", + "š": "š", + "Ţ": "Ţ", + "ţ": "ţ", + "Ť": "Ť", + "ť": "ť", + "Ũ": "Ũ", + "ũ": "ũ", + "Ū": "Ū", + "ū": "ū", + "Ŭ": "Ŭ", + "ŭ": "ŭ", + "Ů": "Ů", + "ů": "ů", + "Ű": "Ű", + "ű": "ű", + "Ų": "Ų", + "ų": "ų", + "Ŵ": "Ŵ", + "ŵ": "ŵ", + "Ŷ": "Ŷ", + "ŷ": "ŷ", + "Ÿ": "Ÿ", + "Ź": "Ź", + "ź": "ź", + "Ż": "Ż", + "ż": "ż", + "Ž": "Ž", + "ž": "ž", + "Ơ": "Ơ", + "ơ": "ơ", + "Ư": "Ư", + "ư": "ư", + "Ǎ": "Ǎ", + "ǎ": "ǎ", + "Ǐ": "Ǐ", + "ǐ": "ǐ", + "Ǒ": "Ǒ", + "ǒ": "ǒ", + "Ǔ": "Ǔ", + "ǔ": "ǔ", + "Ǖ": "Ǖ", + "ǖ": "ǖ", + "Ǘ": "Ǘ", + "ǘ": "ǘ", + "Ǚ": "Ǚ", + "ǚ": "ǚ", + "Ǜ": "Ǜ", + "ǜ": "ǜ", + "Ǟ": "Ǟ", + "ǟ": "ǟ", + "Ǡ": "Ǡ", + "ǡ": "ǡ", + "Ǣ": "Ǣ", + "ǣ": "ǣ", + "Ǧ": "Ǧ", + "ǧ": "ǧ", + "Ǩ": "Ǩ", + "ǩ": "ǩ", + "Ǫ": "Ǫ", + "ǫ": "ǫ", + "Ǭ": "Ǭ", + "ǭ": "ǭ", + "Ǯ": "Ǯ", + "ǯ": "ǯ", + "ǰ": "ǰ", + "Ǵ": "Ǵ", + "ǵ": "ǵ", + "Ǹ": "Ǹ", + "ǹ": "ǹ", + "Ǻ": "Ǻ", + "ǻ": "ǻ", + "Ǽ": "Ǽ", + "ǽ": "ǽ", + "Ǿ": "Ǿ", + "ǿ": "ǿ", + "Ȁ": "Ȁ", + "ȁ": "ȁ", + "Ȃ": "Ȃ", + "ȃ": "ȃ", + "Ȅ": "Ȅ", + "ȅ": "ȅ", + "Ȇ": "Ȇ", + "ȇ": "ȇ", + "Ȉ": "Ȉ", + "ȉ": "ȉ", + "Ȋ": "Ȋ", + "ȋ": "ȋ", + "Ȍ": "Ȍ", + "ȍ": "ȍ", + "Ȏ": "Ȏ", + "ȏ": "ȏ", + "Ȑ": "Ȑ", + "ȑ": "ȑ", + "Ȓ": "Ȓ", + "ȓ": "ȓ", + "Ȕ": "Ȕ", + "ȕ": "ȕ", + "Ȗ": "Ȗ", + "ȗ": "ȗ", + "Ș": "Ș", + "ș": "ș", + "Ț": "Ț", + "ț": "ț", + "Ȟ": "Ȟ", + "ȟ": "ȟ", + "Ȧ": "Ȧ", + "ȧ": "ȧ", + "Ȩ": "Ȩ", + "ȩ": "ȩ", + "Ȫ": "Ȫ", + "ȫ": "ȫ", + "Ȭ": "Ȭ", + "ȭ": "ȭ", + "Ȯ": "Ȯ", + "ȯ": "ȯ", + "Ȱ": "Ȱ", + "ȱ": "ȱ", + "Ȳ": "Ȳ", + "ȳ": "ȳ", + "Ḁ": "Ḁ", + "ḁ": "ḁ", + "Ḃ": "Ḃ", + "ḃ": "ḃ", + "Ḅ": "Ḅ", + "ḅ": "ḅ", + "Ḇ": "Ḇ", + "ḇ": "ḇ", + "Ḉ": "Ḉ", + "ḉ": "ḉ", + "Ḋ": "Ḋ", + "ḋ": "ḋ", + "Ḍ": "Ḍ", + "ḍ": "ḍ", + "Ḏ": "Ḏ", + "ḏ": "ḏ", + "Ḑ": "Ḑ", + "ḑ": "ḑ", + "Ḓ": "Ḓ", + "ḓ": "ḓ", + "Ḕ": "Ḕ", + "ḕ": "ḕ", + "Ḗ": "Ḗ", + "ḗ": "ḗ", + "Ḙ": "Ḙ", + "ḙ": "ḙ", + "Ḛ": "Ḛ", + "ḛ": "ḛ", + "Ḝ": "Ḝ", + "ḝ": "ḝ", + "Ḟ": "Ḟ", + "ḟ": "ḟ", + "Ḡ": "Ḡ", + "ḡ": "ḡ", + "Ḣ": "Ḣ", + "ḣ": "ḣ", + "Ḥ": "Ḥ", + "ḥ": "ḥ", + "Ḧ": "Ḧ", + "ḧ": "ḧ", + "Ḩ": "Ḩ", + "ḩ": "ḩ", + "Ḫ": "Ḫ", + "ḫ": "ḫ", + "Ḭ": "Ḭ", + "ḭ": "ḭ", + "Ḯ": "Ḯ", + "ḯ": "ḯ", + "Ḱ": "Ḱ", + "ḱ": "ḱ", + "Ḳ": "Ḳ", + "ḳ": "ḳ", + "Ḵ": "Ḵ", + "ḵ": "ḵ", + "Ḷ": "Ḷ", + "ḷ": "ḷ", + "Ḹ": "Ḹ", + "ḹ": "ḹ", + "Ḻ": "Ḻ", + "ḻ": "ḻ", + "Ḽ": "Ḽ", + "ḽ": "ḽ", + "Ḿ": "Ḿ", + "ḿ": "ḿ", + "Ṁ": "Ṁ", + "ṁ": "ṁ", + "Ṃ": "Ṃ", + "ṃ": "ṃ", + "Ṅ": "Ṅ", + "ṅ": "ṅ", + "Ṇ": "Ṇ", + "ṇ": "ṇ", + "Ṉ": "Ṉ", + "ṉ": "ṉ", + "Ṋ": "Ṋ", + "ṋ": "ṋ", + "Ṍ": "Ṍ", + "ṍ": "ṍ", + "Ṏ": "Ṏ", + "ṏ": "ṏ", + "Ṑ": "Ṑ", + "ṑ": "ṑ", + "Ṓ": "Ṓ", + "ṓ": "ṓ", + "Ṕ": "Ṕ", + "ṕ": "ṕ", + "Ṗ": "Ṗ", + "ṗ": "ṗ", + "Ṙ": "Ṙ", + "ṙ": "ṙ", + "Ṛ": "Ṛ", + "ṛ": "ṛ", + "Ṝ": "Ṝ", + "ṝ": "ṝ", + "Ṟ": "Ṟ", + "ṟ": "ṟ", + "Ṡ": "Ṡ", + "ṡ": "ṡ", + "Ṣ": "Ṣ", + "ṣ": "ṣ", + "Ṥ": "Ṥ", + "ṥ": "ṥ", + "Ṧ": "Ṧ", + "ṧ": "ṧ", + "Ṩ": "Ṩ", + "ṩ": "ṩ", + "Ṫ": "Ṫ", + "ṫ": "ṫ", + "Ṭ": "Ṭ", + "ṭ": "ṭ", + "Ṯ": "Ṯ", + "ṯ": "ṯ", + "Ṱ": "Ṱ", + "ṱ": "ṱ", + "Ṳ": "Ṳ", + "ṳ": "ṳ", + "Ṵ": "Ṵ", + "ṵ": "ṵ", + "Ṷ": "Ṷ", + "ṷ": "ṷ", + "Ṹ": "Ṹ", + "ṹ": "ṹ", + "Ṻ": "Ṻ", + "ṻ": "ṻ", + "Ṽ": "Ṽ", + "ṽ": "ṽ", + "Ṿ": "Ṿ", + "ṿ": "ṿ", + "Ẁ": "Ẁ", + "ẁ": "ẁ", + "Ẃ": "Ẃ", + "ẃ": "ẃ", + "Ẅ": "Ẅ", + "ẅ": "ẅ", + "Ẇ": "Ẇ", + "ẇ": "ẇ", + "Ẉ": "Ẉ", + "ẉ": "ẉ", + "Ẋ": "Ẋ", + "ẋ": "ẋ", + "Ẍ": "Ẍ", + "ẍ": "ẍ", + "Ẏ": "Ẏ", + "ẏ": "ẏ", + "Ẑ": "Ẑ", + "ẑ": "ẑ", + "Ẓ": "Ẓ", + "ẓ": "ẓ", + "Ẕ": "Ẕ", + "ẕ": "ẕ", + "ẖ": "ẖ", + "ẗ": "ẗ", + "ẘ": "ẘ", + "ẙ": "ẙ", + "ẛ": "ẛ", + "Ạ": "Ạ", + "ạ": "ạ", + "Ả": "Ả", + "ả": "ả", + "Ấ": "Ấ", + "ấ": "ấ", + "Ầ": "Ầ", + "ầ": "ầ", + "Ẩ": "Ẩ", + "ẩ": "ẩ", + "Ẫ": "Ẫ", + "ẫ": "ẫ", + "Ậ": "Ậ", + "ậ": "ậ", + "Ắ": "Ắ", + "ắ": "ắ", + "Ằ": "Ằ", + "ằ": "ằ", + "Ẳ": "Ẳ", + "ẳ": "ẳ", + "Ẵ": "Ẵ", + "ẵ": "ẵ", + "Ặ": "Ặ", + "ặ": "ặ", + "Ẹ": "Ẹ", + "ẹ": "ẹ", + "Ẻ": "Ẻ", + "ẻ": "ẻ", + "Ẽ": "Ẽ", + "ẽ": "ẽ", + "Ế": "Ế", + "ế": "ế", + "Ề": "Ề", + "ề": "ề", + "Ể": "Ể", + "ể": "ể", + "Ễ": "Ễ", + "ễ": "ễ", + "Ệ": "Ệ", + "ệ": "ệ", + "Ỉ": "Ỉ", + "ỉ": "ỉ", + "Ị": "Ị", + "ị": "ị", + "Ọ": "Ọ", + "ọ": "ọ", + "Ỏ": "Ỏ", + "ỏ": "ỏ", + "Ố": "Ố", + "ố": "ố", + "Ồ": "Ồ", + "ồ": "ồ", + "Ổ": "Ổ", + "ổ": "ổ", + "Ỗ": "Ỗ", + "ỗ": "ỗ", + "Ộ": "Ộ", + "ộ": "ộ", + "Ớ": "Ớ", + "ớ": "ớ", + "Ờ": "Ờ", + "ờ": "ờ", + "Ở": "Ở", + "ở": "ở", + "Ỡ": "Ỡ", + "ỡ": "ỡ", + "Ợ": "Ợ", + "ợ": "ợ", + "Ụ": "Ụ", + "ụ": "ụ", + "Ủ": "Ủ", + "ủ": "ủ", + "Ứ": "Ứ", + "ứ": "ứ", + "Ừ": "Ừ", + "ừ": "ừ", + "Ử": "Ử", + "ử": "ử", + "Ữ": "Ữ", + "ữ": "ữ", + "Ự": "Ự", + "ự": "ự", + "Ỳ": "Ỳ", + "ỳ": "ỳ", + "Ỵ": "Ỵ", + "ỵ": "ỵ", + "Ỷ": "Ỷ", + "ỷ": "ỷ", + "Ỹ": "Ỹ", + "ỹ": "ỹ" +} \ No newline at end of file diff --git a/js/data/locale/nfc/Mlym.json b/js/data/locale/nfc/Mlym.json new file mode 100644 index 0000000000..941e081db5 --- /dev/null +++ b/js/data/locale/nfc/Mlym.json @@ -0,0 +1,5 @@ +{ + "ൊ": "ൊ", + "ോ": "ോ", + "ൌ": "ൌ" +} \ No newline at end of file diff --git a/js/data/locale/nfc/Mymr.json b/js/data/locale/nfc/Mymr.json new file mode 100644 index 0000000000..ba9a82b312 --- /dev/null +++ b/js/data/locale/nfc/Mymr.json @@ -0,0 +1,3 @@ +{ + "ဦ": "ဦ" +} \ No newline at end of file diff --git a/js/data/locale/nfc/Orya.json b/js/data/locale/nfc/Orya.json new file mode 100644 index 0000000000..55b0bfe4b7 --- /dev/null +++ b/js/data/locale/nfc/Orya.json @@ -0,0 +1,5 @@ +{ + "ୈ": "ୈ", + "ୋ": "ୋ", + "ୌ": "ୌ" +} \ No newline at end of file diff --git a/js/data/locale/nfc/Sidd.json b/js/data/locale/nfc/Sidd.json new file mode 100644 index 0000000000..745abbd2a5 --- /dev/null +++ b/js/data/locale/nfc/Sidd.json @@ -0,0 +1,4 @@ +{ + "𑖺": "𑖺", + "𑖻": "𑖻" +} \ No newline at end of file diff --git a/js/data/locale/nfc/Sinh.json b/js/data/locale/nfc/Sinh.json new file mode 100644 index 0000000000..624b4350c9 --- /dev/null +++ b/js/data/locale/nfc/Sinh.json @@ -0,0 +1,6 @@ +{ + "ේ": "ේ", + "ො": "ො", + "ෝ": "ෝ", + "ෞ": "ෞ" +} \ No newline at end of file diff --git a/js/data/locale/nfc/Taml.json b/js/data/locale/nfc/Taml.json new file mode 100644 index 0000000000..88804e233f --- /dev/null +++ b/js/data/locale/nfc/Taml.json @@ -0,0 +1,6 @@ +{ + "ஔ": "ஔ", + "ொ": "ொ", + "ோ": "ோ", + "ௌ": "ௌ" +} \ No newline at end of file diff --git a/js/data/locale/nfc/Telu.json b/js/data/locale/nfc/Telu.json new file mode 100644 index 0000000000..89e22191cd --- /dev/null +++ b/js/data/locale/nfc/Telu.json @@ -0,0 +1,3 @@ +{ + "ై": "ై" +} \ No newline at end of file diff --git a/js/data/locale/nfc/Tirh.json b/js/data/locale/nfc/Tirh.json new file mode 100644 index 0000000000..9aeb22d892 --- /dev/null +++ b/js/data/locale/nfc/Tirh.json @@ -0,0 +1,5 @@ +{ + "𑒻": "𑒻", + "𑒼": "𑒼", + "𑒾": "𑒾" +} \ No newline at end of file diff --git a/js/data/locale/nfc/Zyyy.json b/js/data/locale/nfc/Zyyy.json new file mode 100644 index 0000000000..ae45419b94 --- /dev/null +++ b/js/data/locale/nfc/Zyyy.json @@ -0,0 +1,49 @@ +{ + "΅": "΅", + "῁": "῁", + "῭": "῭", + "↚": "↚", + "↛": "↛", + "↮": "↮", + "⇍": "⇍", + "⇎": "⇎", + "⇏": "⇏", + "∄": "∄", + "∉": "∉", + "∌": "∌", + "∤": "∤", + "∦": "∦", + "≁": "≁", + "≄": "≄", + "≇": "≇", + "≉": "≉", + "≠": "≠", + "≢": "≢", + "≭": "≭", + "≮": "≮", + "≯": "≯", + "≰": "≰", + "≱": "≱", + "≴": "≴", + "≵": "≵", + "≸": "≸", + "≹": "≹", + "⊀": "⊀", + "⊁": "⊁", + "⊄": "⊄", + "⊅": "⊅", + "⊈": "⊈", + "⊉": "⊉", + "⊬": "⊬", + "⊭": "⊭", + "⊮": "⊮", + "⊯": "⊯", + "⋠": "⋠", + "⋡": "⋡", + "⋢": "⋢", + "⋣": "⋣", + "⋪": "⋪", + "⋫": "⋫", + "⋬": "⋬", + "⋭": "⋭" +} \ No newline at end of file diff --git a/js/data/locale/nfc/all.json b/js/data/locale/nfc/all.json new file mode 100644 index 0000000000..64e353ea01 --- /dev/null +++ b/js/data/locale/nfc/all.json @@ -0,0 +1,942 @@ +{ + "À": "À", + "Á": "Á", + "Â": "Â", + "Ã": "Ã", + "Ä": "Ä", + "Å": "Å", + "Ç": "Ç", + "È": "È", + "É": "É", + "Ê": "Ê", + "Ë": "Ë", + "Ì": "Ì", + "Í": "Í", + "Î": "Î", + "Ï": "Ï", + "Ñ": "Ñ", + "Ò": "Ò", + "Ó": "Ó", + "Ô": "Ô", + "Õ": "Õ", + "Ö": "Ö", + "Ù": "Ù", + "Ú": "Ú", + "Û": "Û", + "Ü": "Ü", + "Ý": "Ý", + "à": "à", + "á": "á", + "â": "â", + "ã": "ã", + "ä": "ä", + "å": "å", + "ç": "ç", + "è": "è", + "é": "é", + "ê": "ê", + "ë": "ë", + "ì": "ì", + "í": "í", + "î": "î", + "ï": "ï", + "ñ": "ñ", + "ò": "ò", + "ó": "ó", + "ô": "ô", + "õ": "õ", + "ö": "ö", + "ù": "ù", + "ú": "ú", + "û": "û", + "ü": "ü", + "ý": "ý", + "ÿ": "ÿ", + "Ā": "Ā", + "ā": "ā", + "Ă": "Ă", + "ă": "ă", + "Ą": "Ą", + "ą": "ą", + "Ć": "Ć", + "ć": "ć", + "Ĉ": "Ĉ", + "ĉ": "ĉ", + "Ċ": "Ċ", + "ċ": "ċ", + "Č": "Č", + "č": "č", + "Ď": "Ď", + "ď": "ď", + "Ē": "Ē", + "ē": "ē", + "Ĕ": "Ĕ", + "ĕ": "ĕ", + "Ė": "Ė", + "ė": "ė", + "Ę": "Ę", + "ę": "ę", + "Ě": "Ě", + "ě": "ě", + "Ĝ": "Ĝ", + "ĝ": "ĝ", + "Ğ": "Ğ", + "ğ": "ğ", + "Ġ": "Ġ", + "ġ": "ġ", + "Ģ": "Ģ", + "ģ": "ģ", + "Ĥ": "Ĥ", + "ĥ": "ĥ", + "Ĩ": "Ĩ", + "ĩ": "ĩ", + "Ī": "Ī", + "ī": "ī", + "Ĭ": "Ĭ", + "ĭ": "ĭ", + "Į": "Į", + "į": "į", + "İ": "İ", + "Ĵ": "Ĵ", + "ĵ": "ĵ", + "Ķ": "Ķ", + "ķ": "ķ", + "Ĺ": "Ĺ", + "ĺ": "ĺ", + "Ļ": "Ļ", + "ļ": "ļ", + "Ľ": "Ľ", + "ľ": "ľ", + "Ń": "Ń", + "ń": "ń", + "Ņ": "Ņ", + "ņ": "ņ", + "Ň": "Ň", + "ň": "ň", + "Ō": "Ō", + "ō": "ō", + "Ŏ": "Ŏ", + "ŏ": "ŏ", + "Ő": "Ő", + "ő": "ő", + "Ŕ": "Ŕ", + "ŕ": "ŕ", + "Ŗ": "Ŗ", + "ŗ": "ŗ", + "Ř": "Ř", + "ř": "ř", + "Ś": "Ś", + "ś": "ś", + "Ŝ": "Ŝ", + "ŝ": "ŝ", + "Ş": "Ş", + "ş": "ş", + "Š": "Š", + "š": "š", + "Ţ": "Ţ", + "ţ": "ţ", + "Ť": "Ť", + "ť": "ť", + "Ũ": "Ũ", + "ũ": "ũ", + "Ū": "Ū", + "ū": "ū", + "Ŭ": "Ŭ", + "ŭ": "ŭ", + "Ů": "Ů", + "ů": "ů", + "Ű": "Ű", + "ű": "ű", + "Ų": "Ų", + "ų": "ų", + "Ŵ": "Ŵ", + "ŵ": "ŵ", + "Ŷ": "Ŷ", + "ŷ": "ŷ", + "Ÿ": "Ÿ", + "Ź": "Ź", + "ź": "ź", + "Ż": "Ż", + "ż": "ż", + "Ž": "Ž", + "ž": "ž", + "Ơ": "Ơ", + "ơ": "ơ", + "Ư": "Ư", + "ư": "ư", + "Ǎ": "Ǎ", + "ǎ": "ǎ", + "Ǐ": "Ǐ", + "ǐ": "ǐ", + "Ǒ": "Ǒ", + "ǒ": "ǒ", + "Ǔ": "Ǔ", + "ǔ": "ǔ", + "Ǖ": "Ǖ", + "ǖ": "ǖ", + "Ǘ": "Ǘ", + "ǘ": "ǘ", + "Ǚ": "Ǚ", + "ǚ": "ǚ", + "Ǜ": "Ǜ", + "ǜ": "ǜ", + "Ǟ": "Ǟ", + "ǟ": "ǟ", + "Ǡ": "Ǡ", + "ǡ": "ǡ", + "Ǣ": "Ǣ", + "ǣ": "ǣ", + "Ǧ": "Ǧ", + "ǧ": "ǧ", + "Ǩ": "Ǩ", + "ǩ": "ǩ", + "Ǫ": "Ǫ", + "ǫ": "ǫ", + "Ǭ": "Ǭ", + "ǭ": "ǭ", + "Ǯ": "Ǯ", + "ǯ": "ǯ", + "ǰ": "ǰ", + "Ǵ": "Ǵ", + "ǵ": "ǵ", + "Ǹ": "Ǹ", + "ǹ": "ǹ", + "Ǻ": "Ǻ", + "ǻ": "ǻ", + "Ǽ": "Ǽ", + "ǽ": "ǽ", + "Ǿ": "Ǿ", + "ǿ": "ǿ", + "Ȁ": "Ȁ", + "ȁ": "ȁ", + "Ȃ": "Ȃ", + "ȃ": "ȃ", + "Ȅ": "Ȅ", + "ȅ": "ȅ", + "Ȇ": "Ȇ", + "ȇ": "ȇ", + "Ȉ": "Ȉ", + "ȉ": "ȉ", + "Ȋ": "Ȋ", + "ȋ": "ȋ", + "Ȍ": "Ȍ", + "ȍ": "ȍ", + "Ȏ": "Ȏ", + "ȏ": "ȏ", + "Ȑ": "Ȑ", + "ȑ": "ȑ", + "Ȓ": "Ȓ", + "ȓ": "ȓ", + "Ȕ": "Ȕ", + "ȕ": "ȕ", + "Ȗ": "Ȗ", + "ȗ": "ȗ", + "Ș": "Ș", + "ș": "ș", + "Ț": "Ț", + "ț": "ț", + "Ȟ": "Ȟ", + "ȟ": "ȟ", + "Ȧ": "Ȧ", + "ȧ": "ȧ", + "Ȩ": "Ȩ", + "ȩ": "ȩ", + "Ȫ": "Ȫ", + "ȫ": "ȫ", + "Ȭ": "Ȭ", + "ȭ": "ȭ", + "Ȯ": "Ȯ", + "ȯ": "ȯ", + "Ȱ": "Ȱ", + "ȱ": "ȱ", + "Ȳ": "Ȳ", + "ȳ": "ȳ", + "΅": "΅", + "Ά": "Ά", + "Έ": "Έ", + "Ή": "Ή", + "Ί": "Ί", + "Ό": "Ό", + "Ύ": "Ύ", + "Ώ": "Ώ", + "ΐ": "ΐ", + "Ϊ": "Ϊ", + "Ϋ": "Ϋ", + "ά": "ά", + "έ": "έ", + "ή": "ή", + "ί": "ί", + "ΰ": "ΰ", + "ϊ": "ϊ", + "ϋ": "ϋ", + "ό": "ό", + "ύ": "ύ", + "ώ": "ώ", + "ϓ": "ϓ", + "ϔ": "ϔ", + "Ѐ": "Ѐ", + "Ё": "Ё", + "Ѓ": "Ѓ", + "Ї": "Ї", + "Ќ": "Ќ", + "Ѝ": "Ѝ", + "Ў": "Ў", + "Й": "Й", + "й": "й", + "ѐ": "ѐ", + "ё": "ё", + "ѓ": "ѓ", + "ї": "ї", + "ќ": "ќ", + "ѝ": "ѝ", + "ў": "ў", + "Ѷ": "Ѷ", + "ѷ": "ѷ", + "Ӂ": "Ӂ", + "ӂ": "ӂ", + "Ӑ": "Ӑ", + "ӑ": "ӑ", + "Ӓ": "Ӓ", + "ӓ": "ӓ", + "Ӗ": "Ӗ", + "ӗ": "ӗ", + "Ӛ": "Ӛ", + "ӛ": "ӛ", + "Ӝ": "Ӝ", + "ӝ": "ӝ", + "Ӟ": "Ӟ", + "ӟ": "ӟ", + "Ӣ": "Ӣ", + "ӣ": "ӣ", + "Ӥ": "Ӥ", + "ӥ": "ӥ", + "Ӧ": "Ӧ", + "ӧ": "ӧ", + "Ӫ": "Ӫ", + "ӫ": "ӫ", + "Ӭ": "Ӭ", + "ӭ": "ӭ", + "Ӯ": "Ӯ", + "ӯ": "ӯ", + "Ӱ": "Ӱ", + "ӱ": "ӱ", + "Ӳ": "Ӳ", + "ӳ": "ӳ", + "Ӵ": "Ӵ", + "ӵ": "ӵ", + "Ӹ": "Ӹ", + "ӹ": "ӹ", + "آ": "آ", + "أ": "أ", + "ؤ": "ؤ", + "إ": "إ", + "ئ": "ئ", + "ۀ": "ۀ", + "ۂ": "ۂ", + "ۓ": "ۓ", + "ऩ": "ऩ", + "ऱ": "ऱ", + "ऴ": "ऴ", + "ো": "ো", + "ৌ": "ৌ", + "ୈ": "ୈ", + "ୋ": "ୋ", + "ୌ": "ୌ", + "ஔ": "ஔ", + "ொ": "ொ", + "ோ": "ோ", + "ௌ": "ௌ", + "ై": "ై", + "ೀ": "ೀ", + "ೇ": "ೇ", + "ೈ": "ೈ", + "ೊ": "ೊ", + "ೋ": "ೋ", + "ൊ": "ൊ", + "ോ": "ോ", + "ൌ": "ൌ", + "ේ": "ේ", + "ො": "ො", + "ෝ": "ෝ", + "ෞ": "ෞ", + "ဦ": "ဦ", + "ᬆ": "ᬆ", + "ᬈ": "ᬈ", + "ᬊ": "ᬊ", + "ᬌ": "ᬌ", + "ᬎ": "ᬎ", + "ᬒ": "ᬒ", + "ᬻ": "ᬻ", + "ᬽ": "ᬽ", + "ᭀ": "ᭀ", + "ᭁ": "ᭁ", + "ᭃ": "ᭃ", + "Ḁ": "Ḁ", + "ḁ": "ḁ", + "Ḃ": "Ḃ", + "ḃ": "ḃ", + "Ḅ": "Ḅ", + "ḅ": "ḅ", + "Ḇ": "Ḇ", + "ḇ": "ḇ", + "Ḉ": "Ḉ", + "ḉ": "ḉ", + "Ḋ": "Ḋ", + "ḋ": "ḋ", + "Ḍ": "Ḍ", + "ḍ": "ḍ", + "Ḏ": "Ḏ", + "ḏ": "ḏ", + "Ḑ": "Ḑ", + "ḑ": "ḑ", + "Ḓ": "Ḓ", + "ḓ": "ḓ", + "Ḕ": "Ḕ", + "ḕ": "ḕ", + "Ḗ": "Ḗ", + "ḗ": "ḗ", + "Ḙ": "Ḙ", + "ḙ": "ḙ", + "Ḛ": "Ḛ", + "ḛ": "ḛ", + "Ḝ": "Ḝ", + "ḝ": "ḝ", + "Ḟ": "Ḟ", + "ḟ": "ḟ", + "Ḡ": "Ḡ", + "ḡ": "ḡ", + "Ḣ": "Ḣ", + "ḣ": "ḣ", + "Ḥ": "Ḥ", + "ḥ": "ḥ", + "Ḧ": "Ḧ", + "ḧ": "ḧ", + "Ḩ": "Ḩ", + "ḩ": "ḩ", + "Ḫ": "Ḫ", + "ḫ": "ḫ", + "Ḭ": "Ḭ", + "ḭ": "ḭ", + "Ḯ": "Ḯ", + "ḯ": "ḯ", + "Ḱ": "Ḱ", + "ḱ": "ḱ", + "Ḳ": "Ḳ", + "ḳ": "ḳ", + "Ḵ": "Ḵ", + "ḵ": "ḵ", + "Ḷ": "Ḷ", + "ḷ": "ḷ", + "Ḹ": "Ḹ", + "ḹ": "ḹ", + "Ḻ": "Ḻ", + "ḻ": "ḻ", + "Ḽ": "Ḽ", + "ḽ": "ḽ", + "Ḿ": "Ḿ", + "ḿ": "ḿ", + "Ṁ": "Ṁ", + "ṁ": "ṁ", + "Ṃ": "Ṃ", + "ṃ": "ṃ", + "Ṅ": "Ṅ", + "ṅ": "ṅ", + "Ṇ": "Ṇ", + "ṇ": "ṇ", + "Ṉ": "Ṉ", + "ṉ": "ṉ", + "Ṋ": "Ṋ", + "ṋ": "ṋ", + "Ṍ": "Ṍ", + "ṍ": "ṍ", + "Ṏ": "Ṏ", + "ṏ": "ṏ", + "Ṑ": "Ṑ", + "ṑ": "ṑ", + "Ṓ": "Ṓ", + "ṓ": "ṓ", + "Ṕ": "Ṕ", + "ṕ": "ṕ", + "Ṗ": "Ṗ", + "ṗ": "ṗ", + "Ṙ": "Ṙ", + "ṙ": "ṙ", + "Ṛ": "Ṛ", + "ṛ": "ṛ", + "Ṝ": "Ṝ", + "ṝ": "ṝ", + "Ṟ": "Ṟ", + "ṟ": "ṟ", + "Ṡ": "Ṡ", + "ṡ": "ṡ", + "Ṣ": "Ṣ", + "ṣ": "ṣ", + "Ṥ": "Ṥ", + "ṥ": "ṥ", + "Ṧ": "Ṧ", + "ṧ": "ṧ", + "Ṩ": "Ṩ", + "ṩ": "ṩ", + "Ṫ": "Ṫ", + "ṫ": "ṫ", + "Ṭ": "Ṭ", + "ṭ": "ṭ", + "Ṯ": "Ṯ", + "ṯ": "ṯ", + "Ṱ": "Ṱ", + "ṱ": "ṱ", + "Ṳ": "Ṳ", + "ṳ": "ṳ", + "Ṵ": "Ṵ", + "ṵ": "ṵ", + "Ṷ": "Ṷ", + "ṷ": "ṷ", + "Ṹ": "Ṹ", + "ṹ": "ṹ", + "Ṻ": "Ṻ", + "ṻ": "ṻ", + "Ṽ": "Ṽ", + "ṽ": "ṽ", + "Ṿ": "Ṿ", + "ṿ": "ṿ", + "Ẁ": "Ẁ", + "ẁ": "ẁ", + "Ẃ": "Ẃ", + "ẃ": "ẃ", + "Ẅ": "Ẅ", + "ẅ": "ẅ", + "Ẇ": "Ẇ", + "ẇ": "ẇ", + "Ẉ": "Ẉ", + "ẉ": "ẉ", + "Ẋ": "Ẋ", + "ẋ": "ẋ", + "Ẍ": "Ẍ", + "ẍ": "ẍ", + "Ẏ": "Ẏ", + "ẏ": "ẏ", + "Ẑ": "Ẑ", + "ẑ": "ẑ", + "Ẓ": "Ẓ", + "ẓ": "ẓ", + "Ẕ": "Ẕ", + "ẕ": "ẕ", + "ẖ": "ẖ", + "ẗ": "ẗ", + "ẘ": "ẘ", + "ẙ": "ẙ", + "ẛ": "ẛ", + "Ạ": "Ạ", + "ạ": "ạ", + "Ả": "Ả", + "ả": "ả", + "Ấ": "Ấ", + "ấ": "ấ", + "Ầ": "Ầ", + "ầ": "ầ", + "Ẩ": "Ẩ", + "ẩ": "ẩ", + "Ẫ": "Ẫ", + "ẫ": "ẫ", + "Ậ": "Ậ", + "ậ": "ậ", + "Ắ": "Ắ", + "ắ": "ắ", + "Ằ": "Ằ", + "ằ": "ằ", + "Ẳ": "Ẳ", + "ẳ": "ẳ", + "Ẵ": "Ẵ", + "ẵ": "ẵ", + "Ặ": "Ặ", + "ặ": "ặ", + "Ẹ": "Ẹ", + "ẹ": "ẹ", + "Ẻ": "Ẻ", + "ẻ": "ẻ", + "Ẽ": "Ẽ", + "ẽ": "ẽ", + "Ế": "Ế", + "ế": "ế", + "Ề": "Ề", + "ề": "ề", + "Ể": "Ể", + "ể": "ể", + "Ễ": "Ễ", + "ễ": "ễ", + "Ệ": "Ệ", + "ệ": "ệ", + "Ỉ": "Ỉ", + "ỉ": "ỉ", + "Ị": "Ị", + "ị": "ị", + "Ọ": "Ọ", + "ọ": "ọ", + "Ỏ": "Ỏ", + "ỏ": "ỏ", + "Ố": "Ố", + "ố": "ố", + "Ồ": "Ồ", + "ồ": "ồ", + "Ổ": "Ổ", + "ổ": "ổ", + "Ỗ": "Ỗ", + "ỗ": "ỗ", + "Ộ": "Ộ", + "ộ": "ộ", + "Ớ": "Ớ", + "ớ": "ớ", + "Ờ": "Ờ", + "ờ": "ờ", + "Ở": "Ở", + "ở": "ở", + "Ỡ": "Ỡ", + "ỡ": "ỡ", + "Ợ": "Ợ", + "ợ": "ợ", + "Ụ": "Ụ", + "ụ": "ụ", + "Ủ": "Ủ", + "ủ": "ủ", + "Ứ": "Ứ", + "ứ": "ứ", + "Ừ": "Ừ", + "ừ": "ừ", + "Ử": "Ử", + "ử": "ử", + "Ữ": "Ữ", + "ữ": "ữ", + "Ự": "Ự", + "ự": "ự", + "Ỳ": "Ỳ", + "ỳ": "ỳ", + "Ỵ": "Ỵ", + "ỵ": "ỵ", + "Ỷ": "Ỷ", + "ỷ": "ỷ", + "Ỹ": "Ỹ", + "ỹ": "ỹ", + "ἀ": "ἀ", + "ἁ": "ἁ", + "ἂ": "ἂ", + "ἃ": "ἃ", + "ἄ": "ἄ", + "ἅ": "ἅ", + "ἆ": "ἆ", + "ἇ": "ἇ", + "Ἀ": "Ἀ", + "Ἁ": "Ἁ", + "Ἂ": "Ἂ", + "Ἃ": "Ἃ", + "Ἄ": "Ἄ", + "Ἅ": "Ἅ", + "Ἆ": "Ἆ", + "Ἇ": "Ἇ", + "ἐ": "ἐ", + "ἑ": "ἑ", + "ἒ": "ἒ", + "ἓ": "ἓ", + "ἔ": "ἔ", + "ἕ": "ἕ", + "Ἐ": "Ἐ", + "Ἑ": "Ἑ", + "Ἒ": "Ἒ", + "Ἓ": "Ἓ", + "Ἔ": "Ἔ", + "Ἕ": "Ἕ", + "ἠ": "ἠ", + "ἡ": "ἡ", + "ἢ": "ἢ", + "ἣ": "ἣ", + "ἤ": "ἤ", + "ἥ": "ἥ", + "ἦ": "ἦ", + "ἧ": "ἧ", + "Ἠ": "Ἠ", + "Ἡ": "Ἡ", + "Ἢ": "Ἢ", + "Ἣ": "Ἣ", + "Ἤ": "Ἤ", + "Ἥ": "Ἥ", + "Ἦ": "Ἦ", + "Ἧ": "Ἧ", + "ἰ": "ἰ", + "ἱ": "ἱ", + "ἲ": "ἲ", + "ἳ": "ἳ", + "ἴ": "ἴ", + "ἵ": "ἵ", + "ἶ": "ἶ", + "ἷ": "ἷ", + "Ἰ": "Ἰ", + "Ἱ": "Ἱ", + "Ἲ": "Ἲ", + "Ἳ": "Ἳ", + "Ἴ": "Ἴ", + "Ἵ": "Ἵ", + "Ἶ": "Ἶ", + "Ἷ": "Ἷ", + "ὀ": "ὀ", + "ὁ": "ὁ", + "ὂ": "ὂ", + "ὃ": "ὃ", + "ὄ": "ὄ", + "ὅ": "ὅ", + "Ὀ": "Ὀ", + "Ὁ": "Ὁ", + "Ὂ": "Ὂ", + "Ὃ": "Ὃ", + "Ὄ": "Ὄ", + "Ὅ": "Ὅ", + "ὐ": "ὐ", + "ὑ": "ὑ", + "ὒ": "ὒ", + "ὓ": "ὓ", + "ὔ": "ὔ", + "ὕ": "ὕ", + "ὖ": "ὖ", + "ὗ": "ὗ", + "Ὑ": "Ὑ", + "Ὓ": "Ὓ", + "Ὕ": "Ὕ", + "Ὗ": "Ὗ", + "ὠ": "ὠ", + "ὡ": "ὡ", + "ὢ": "ὢ", + "ὣ": "ὣ", + "ὤ": "ὤ", + "ὥ": "ὥ", + "ὦ": "ὦ", + "ὧ": "ὧ", + "Ὠ": "Ὠ", + "Ὡ": "Ὡ", + "Ὢ": "Ὢ", + "Ὣ": "Ὣ", + "Ὤ": "Ὤ", + "Ὥ": "Ὥ", + "Ὦ": "Ὦ", + "Ὧ": "Ὧ", + "ὰ": "ὰ", + "ὲ": "ὲ", + "ὴ": "ὴ", + "ὶ": "ὶ", + "ὸ": "ὸ", + "ὺ": "ὺ", + "ὼ": "ὼ", + "ᾀ": "ᾀ", + "ᾁ": "ᾁ", + "ᾂ": "ᾂ", + "ᾃ": "ᾃ", + "ᾄ": "ᾄ", + "ᾅ": "ᾅ", + "ᾆ": "ᾆ", + "ᾇ": "ᾇ", + "ᾈ": "ᾈ", + "ᾉ": "ᾉ", + "ᾊ": "ᾊ", + "ᾋ": "ᾋ", + "ᾌ": "ᾌ", + "ᾍ": "ᾍ", + "ᾎ": "ᾎ", + "ᾏ": "ᾏ", + "ᾐ": "ᾐ", + "ᾑ": "ᾑ", + "ᾒ": "ᾒ", + "ᾓ": "ᾓ", + "ᾔ": "ᾔ", + "ᾕ": "ᾕ", + "ᾖ": "ᾖ", + "ᾗ": "ᾗ", + "ᾘ": "ᾘ", + "ᾙ": "ᾙ", + "ᾚ": "ᾚ", + "ᾛ": "ᾛ", + "ᾜ": "ᾜ", + "ᾝ": "ᾝ", + "ᾞ": "ᾞ", + "ᾟ": "ᾟ", + "ᾠ": "ᾠ", + "ᾡ": "ᾡ", + "ᾢ": "ᾢ", + "ᾣ": "ᾣ", + "ᾤ": "ᾤ", + "ᾥ": "ᾥ", + "ᾦ": "ᾦ", + "ᾧ": "ᾧ", + "ᾨ": "ᾨ", + "ᾩ": "ᾩ", + "ᾪ": "ᾪ", + "ᾫ": "ᾫ", + "ᾬ": "ᾬ", + "ᾭ": "ᾭ", + "ᾮ": "ᾮ", + "ᾯ": "ᾯ", + "ᾰ": "ᾰ", + "ᾱ": "ᾱ", + "ᾲ": "ᾲ", + "ᾳ": "ᾳ", + "ᾴ": "ᾴ", + "ᾶ": "ᾶ", + "ᾷ": "ᾷ", + "Ᾰ": "Ᾰ", + "Ᾱ": "Ᾱ", + "Ὰ": "Ὰ", + "ᾼ": "ᾼ", + "῁": "῁", + "ῂ": "ῂ", + "ῃ": "ῃ", + "ῄ": "ῄ", + "ῆ": "ῆ", + "ῇ": "ῇ", + "Ὲ": "Ὲ", + "Ὴ": "Ὴ", + "ῌ": "ῌ", + "῍": "῍", + "῎": "῎", + "῏": "῏", + "ῐ": "ῐ", + "ῑ": "ῑ", + "ῒ": "ῒ", + "ῖ": "ῖ", + "ῗ": "ῗ", + "Ῐ": "Ῐ", + "Ῑ": "Ῑ", + "Ὶ": "Ὶ", + "῝": "῝", + "῞": "῞", + "῟": "῟", + "ῠ": "ῠ", + "ῡ": "ῡ", + "ῢ": "ῢ", + "ῤ": "ῤ", + "ῥ": "ῥ", + "ῦ": "ῦ", + "ῧ": "ῧ", + "Ῠ": "Ῠ", + "Ῡ": "Ῡ", + "Ὺ": "Ὺ", + "Ῥ": "Ῥ", + "῭": "῭", + "ῲ": "ῲ", + "ῳ": "ῳ", + "ῴ": "ῴ", + "ῶ": "ῶ", + "ῷ": "ῷ", + "Ὸ": "Ὸ", + "Ὼ": "Ὼ", + "ῼ": "ῼ", + "↚": "↚", + "↛": "↛", + "↮": "↮", + "⇍": "⇍", + "⇎": "⇎", + "⇏": "⇏", + "∄": "∄", + "∉": "∉", + "∌": "∌", + "∤": "∤", + "∦": "∦", + "≁": "≁", + "≄": "≄", + "≇": "≇", + "≉": "≉", + "≠": "≠", + "≢": "≢", + "≭": "≭", + "≮": "≮", + "≯": "≯", + "≰": "≰", + "≱": "≱", + "≴": "≴", + "≵": "≵", + "≸": "≸", + "≹": "≹", + "⊀": "⊀", + "⊁": "⊁", + "⊄": "⊄", + "⊅": "⊅", + "⊈": "⊈", + "⊉": "⊉", + "⊬": "⊬", + "⊭": "⊭", + "⊮": "⊮", + "⊯": "⊯", + "⋠": "⋠", + "⋡": "⋡", + "⋢": "⋢", + "⋣": "⋣", + "⋪": "⋪", + "⋫": "⋫", + "⋬": "⋬", + "⋭": "⋭", + "が": "が", + "ぎ": "ぎ", + "ぐ": "ぐ", + "げ": "げ", + "ご": "ご", + "ざ": "ざ", + "じ": "じ", + "ず": "ず", + "ぜ": "ぜ", + "ぞ": "ぞ", + "だ": "だ", + "ぢ": "ぢ", + "づ": "づ", + "で": "で", + "ど": "ど", + "ば": "ば", + "ぱ": "ぱ", + "び": "び", + "ぴ": "ぴ", + "ぶ": "ぶ", + "ぷ": "ぷ", + "べ": "べ", + "ぺ": "ぺ", + "ぼ": "ぼ", + "ぽ": "ぽ", + "ゔ": "ゔ", + "ゞ": "ゞ", + "ガ": "ガ", + "ギ": "ギ", + "グ": "グ", + "ゲ": "ゲ", + "ゴ": "ゴ", + "ザ": "ザ", + "ジ": "ジ", + "ズ": "ズ", + "ゼ": "ゼ", + "ゾ": "ゾ", + "ダ": "ダ", + "ヂ": "ヂ", + "ヅ": "ヅ", + "デ": "デ", + "ド": "ド", + "バ": "バ", + "パ": "パ", + "ビ": "ビ", + "ピ": "ピ", + "ブ": "ブ", + "プ": "プ", + "ベ": "ベ", + "ペ": "ペ", + "ボ": "ボ", + "ポ": "ポ", + "ヴ": "ヴ", + "ヷ": "ヷ", + "ヸ": "ヸ", + "ヹ": "ヹ", + "ヺ": "ヺ", + "ヾ": "ヾ", + "𑂚": "𑂚", + "𑂜": "𑂜", + "𑂫": "𑂫", + "𑄮": "𑄮", + "𑄯": "𑄯", + "𑍋": "𑍋", + "𑍌": "𑍌", + "𑒻": "𑒻", + "𑒼": "𑒼", + "𑒾": "𑒾", + "𑖺": "𑖺", + "𑖻": "𑖻" +} \ No newline at end of file diff --git a/js/data/locale/nfkd/Geok.json b/js/data/locale/nfkd/Geok.json deleted file mode 100644 index 5719bf0122..0000000000 --- a/js/data/locale/nfkd/Geok.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "ჼ": "ნ" -} \ No newline at end of file diff --git a/js/data/locale/normdata.json b/js/data/locale/normdata.json deleted file mode 100644 index 47276470c8..0000000000 --- a/js/data/locale/normdata.json +++ /dev/null @@ -1,1760 +0,0 @@ -{ - "nfc": { - "À": "À", - "Á": "Á", - "Â": "Â", - "Ã": "Ã", - "Ä": "Ä", - "Å": "Å", - "Ç": "Ç", - "È": "È", - "É": "É", - "Ê": "Ê", - "Ë": "Ë", - "Ì": "Ì", - "Í": "Í", - "Î": "Î", - "Ï": "Ï", - "Ñ": "Ñ", - "Ò": "Ò", - "Ó": "Ó", - "Ô": "Ô", - "Õ": "Õ", - "Ö": "Ö", - "Ù": "Ù", - "Ú": "Ú", - "Û": "Û", - "Ü": "Ü", - "Ý": "Ý", - "à": "à", - "á": "á", - "â": "â", - "ã": "ã", - "ä": "ä", - "å": "å", - "ç": "ç", - "è": "è", - "é": "é", - "ê": "ê", - "ë": "ë", - "ì": "ì", - "í": "í", - "î": "î", - "ï": "ï", - "ñ": "ñ", - "ò": "ò", - "ó": "ó", - "ô": "ô", - "õ": "õ", - "ö": "ö", - "ù": "ù", - "ú": "ú", - "û": "û", - "ü": "ü", - "ý": "ý", - "ÿ": "ÿ", - "Ā": "Ā", - "ā": "ā", - "Ă": "Ă", - "ă": "ă", - "Ą": "Ą", - "ą": "ą", - "Ć": "Ć", - "ć": "ć", - "Ĉ": "Ĉ", - "ĉ": "ĉ", - "Ċ": "Ċ", - "ċ": "ċ", - "Č": "Č", - "č": "č", - "Ď": "Ď", - "ď": "ď", - "Ē": "Ē", - "ē": "ē", - "Ĕ": "Ĕ", - "ĕ": "ĕ", - "Ė": "Ė", - "ė": "ė", - "Ę": "Ę", - "ę": "ę", - "Ě": "Ě", - "ě": "ě", - "Ĝ": "Ĝ", - "ĝ": "ĝ", - "Ğ": "Ğ", - "ğ": "ğ", - "Ġ": "Ġ", - "ġ": "ġ", - "Ģ": "Ģ", - "ģ": "ģ", - "Ĥ": "Ĥ", - "ĥ": "ĥ", - "Ĩ": "Ĩ", - "ĩ": "ĩ", - "Ī": "Ī", - "ī": "ī", - "Ĭ": "Ĭ", - "ĭ": "ĭ", - "Į": "Į", - "į": "į", - "İ": "İ", - "Ĵ": "Ĵ", - "ĵ": "ĵ", - "Ķ": "Ķ", - "ķ": "ķ", - "Ĺ": "Ĺ", - "ĺ": "ĺ", - "Ļ": "Ļ", - "ļ": "ļ", - "Ľ": "Ľ", - "ľ": "ľ", - "Ń": "Ń", - "ń": "ń", - "Ņ": "Ņ", - "ņ": "ņ", - "Ň": "Ň", - "ň": "ň", - "Ō": "Ō", - "ō": "ō", - "Ŏ": "Ŏ", - "ŏ": "ŏ", - "Ő": "Ő", - "ő": "ő", - "Ŕ": "Ŕ", - "ŕ": "ŕ", - "Ŗ": "Ŗ", - "ŗ": "ŗ", - "Ř": "Ř", - "ř": "ř", - "Ś": "Ś", - "ś": "ś", - "Ŝ": "Ŝ", - "ŝ": "ŝ", - "Ş": "Ş", - "ş": "ş", - "Š": "Š", - "š": "š", - "Ţ": "Ţ", - "ţ": "ţ", - "Ť": "Ť", - "ť": "ť", - "Ũ": "Ũ", - "ũ": "ũ", - "Ū": "Ū", - "ū": "ū", - "Ŭ": "Ŭ", - "ŭ": "ŭ", - "Ů": "Ů", - "ů": "ů", - "Ű": "Ű", - "ű": "ű", - "Ų": "Ų", - "ų": "ų", - "Ŵ": "Ŵ", - "ŵ": "ŵ", - "Ŷ": "Ŷ", - "ŷ": "ŷ", - "Ÿ": "Ÿ", - "Ź": "Ź", - "ź": "ź", - "Ż": "Ż", - "ż": "ż", - "Ž": "Ž", - "ž": "ž", - "Ơ": "Ơ", - "ơ": "ơ", - "Ư": "Ư", - "ư": "ư", - "Ǎ": "Ǎ", - "ǎ": "ǎ", - "Ǐ": "Ǐ", - "ǐ": "ǐ", - "Ǒ": "Ǒ", - "ǒ": "ǒ", - "Ǔ": "Ǔ", - "ǔ": "ǔ", - "Ǖ": "Ǖ", - "ǖ": "ǖ", - "Ǘ": "Ǘ", - "ǘ": "ǘ", - "Ǚ": "Ǚ", - "ǚ": "ǚ", - "Ǜ": "Ǜ", - "ǜ": "ǜ", - "Ǟ": "Ǟ", - "ǟ": "ǟ", - "Ǡ": "Ǡ", - "ǡ": "ǡ", - "Ǣ": "Ǣ", - "ǣ": "ǣ", - "Ǧ": "Ǧ", - "ǧ": "ǧ", - "Ǩ": "Ǩ", - "ǩ": "ǩ", - "Ǫ": "Ǫ", - "ǫ": "ǫ", - "Ǭ": "Ǭ", - "ǭ": "ǭ", - "Ǯ": "Ǯ", - "ǯ": "ǯ", - "ǰ": "ǰ", - "Ǵ": "Ǵ", - "ǵ": "ǵ", - "Ǹ": "Ǹ", - "ǹ": "ǹ", - "Ǻ": "Ǻ", - "ǻ": "ǻ", - "Ǽ": "Ǽ", - "ǽ": "ǽ", - "Ǿ": "Ǿ", - "ǿ": "ǿ", - "Ȁ": "Ȁ", - "ȁ": "ȁ", - "Ȃ": "Ȃ", - "ȃ": "ȃ", - "Ȅ": "Ȅ", - "ȅ": "ȅ", - "Ȇ": "Ȇ", - "ȇ": "ȇ", - "Ȉ": "Ȉ", - "ȉ": "ȉ", - "Ȋ": "Ȋ", - "ȋ": "ȋ", - "Ȍ": "Ȍ", - "ȍ": "ȍ", - "Ȏ": "Ȏ", - "ȏ": "ȏ", - "Ȑ": "Ȑ", - "ȑ": "ȑ", - "Ȓ": "Ȓ", - "ȓ": "ȓ", - "Ȕ": "Ȕ", - "ȕ": "ȕ", - "Ȗ": "Ȗ", - "ȗ": "ȗ", - "Ș": "Ș", - "ș": "ș", - "Ț": "Ț", - "ț": "ț", - "Ȟ": "Ȟ", - "ȟ": "ȟ", - "Ȧ": "Ȧ", - "ȧ": "ȧ", - "Ȩ": "Ȩ", - "ȩ": "ȩ", - "Ȫ": "Ȫ", - "ȫ": "ȫ", - "Ȭ": "Ȭ", - "ȭ": "ȭ", - "Ȯ": "Ȯ", - "ȯ": "ȯ", - "Ȱ": "Ȱ", - "ȱ": "ȱ", - "Ȳ": "Ȳ", - "ȳ": "ȳ", - "΅": "΅", - "Ά": "Ά", - "Έ": "Έ", - "Ή": "Ή", - "Ί": "Ί", - "Ό": "Ό", - "Ύ": "Ύ", - "Ώ": "Ώ", - "ΐ": "ΐ", - "Ϊ": "Ϊ", - "Ϋ": "Ϋ", - "ά": "ά", - "έ": "έ", - "ή": "ή", - "ί": "ί", - "ΰ": "ΰ", - "ϊ": "ϊ", - "ϋ": "ϋ", - "ό": "ό", - "ύ": "ύ", - "ώ": "ώ", - "ϓ": "ϓ", - "ϔ": "ϔ", - "Ѐ": "Ѐ", - "Ё": "Ё", - "Ѓ": "Ѓ", - "Ї": "Ї", - "Ќ": "Ќ", - "Ѝ": "Ѝ", - "Ў": "Ў", - "Й": "Й", - "й": "й", - "ѐ": "ѐ", - "ё": "ё", - "ѓ": "ѓ", - "ї": "ї", - "ќ": "ќ", - "ѝ": "ѝ", - "ў": "ў", - "Ѷ": "Ѷ", - "ѷ": "ѷ", - "Ӂ": "Ӂ", - "ӂ": "ӂ", - "Ӑ": "Ӑ", - "ӑ": "ӑ", - "Ӓ": "Ӓ", - "ӓ": "ӓ", - "Ӗ": "Ӗ", - "ӗ": "ӗ", - "Ӛ": "Ӛ", - "ӛ": "ӛ", - "Ӝ": "Ӝ", - "ӝ": "ӝ", - "Ӟ": "Ӟ", - "ӟ": "ӟ", - "Ӣ": "Ӣ", - "ӣ": "ӣ", - "Ӥ": "Ӥ", - "ӥ": "ӥ", - "Ӧ": "Ӧ", - "ӧ": "ӧ", - "Ӫ": "Ӫ", - "ӫ": "ӫ", - "Ӭ": "Ӭ", - "ӭ": "ӭ", - "Ӯ": "Ӯ", - "ӯ": "ӯ", - "Ӱ": "Ӱ", - "ӱ": "ӱ", - "Ӳ": "Ӳ", - "ӳ": "ӳ", - "Ӵ": "Ӵ", - "ӵ": "ӵ", - "Ӹ": "Ӹ", - "ӹ": "ӹ", - "آ": "آ", - "أ": "أ", - "ؤ": "ؤ", - "إ": "إ", - "ئ": "ئ", - "ۀ": "ۀ", - "ۂ": "ۂ", - "ۓ": "ۓ", - "ऩ": "ऩ", - "ऱ": "ऱ", - "ऴ": "ऴ", - "ো": "ো", - "ৌ": "ৌ", - "ୈ": "ୈ", - "ୋ": "ୋ", - "ୌ": "ୌ", - "ஔ": "ஔ", - "ொ": "ொ", - "ோ": "ோ", - "ௌ": "ௌ", - "ై": "ై", - "ೀ": "ೀ", - "ೇ": "ೇ", - "ೈ": "ೈ", - "ೊ": "ೊ", - "ೋ": "ೋ", - "ൊ": "ൊ", - "ോ": "ോ", - "ൌ": "ൌ", - "ේ": "ේ", - "ො": "ො", - "ෝ": "ෝ", - "ෞ": "ෞ", - "ဦ": "ဦ", - "ᬆ": "ᬆ", - "ᬈ": "ᬈ", - "ᬊ": "ᬊ", - "ᬌ": "ᬌ", - "ᬎ": "ᬎ", - "ᬒ": "ᬒ", - "ᬻ": "ᬻ", - "ᬽ": "ᬽ", - "ᭀ": "ᭀ", - "ᭁ": "ᭁ", - "ᭃ": "ᭃ", - "Ḁ": "Ḁ", - "ḁ": "ḁ", - "Ḃ": "Ḃ", - "ḃ": "ḃ", - "Ḅ": "Ḅ", - "ḅ": "ḅ", - "Ḇ": "Ḇ", - "ḇ": "ḇ", - "Ḉ": "Ḉ", - "ḉ": "ḉ", - "Ḋ": "Ḋ", - "ḋ": "ḋ", - "Ḍ": "Ḍ", - "ḍ": "ḍ", - "Ḏ": "Ḏ", - "ḏ": "ḏ", - "Ḑ": "Ḑ", - "ḑ": "ḑ", - "Ḓ": "Ḓ", - "ḓ": "ḓ", - "Ḕ": "Ḕ", - "ḕ": "ḕ", - "Ḗ": "Ḗ", - "ḗ": "ḗ", - "Ḙ": "Ḙ", - "ḙ": "ḙ", - "Ḛ": "Ḛ", - "ḛ": "ḛ", - "Ḝ": "Ḝ", - "ḝ": "ḝ", - "Ḟ": "Ḟ", - "ḟ": "ḟ", - "Ḡ": "Ḡ", - "ḡ": "ḡ", - "Ḣ": "Ḣ", - "ḣ": "ḣ", - "Ḥ": "Ḥ", - "ḥ": "ḥ", - "Ḧ": "Ḧ", - "ḧ": "ḧ", - "Ḩ": "Ḩ", - "ḩ": "ḩ", - "Ḫ": "Ḫ", - "ḫ": "ḫ", - "Ḭ": "Ḭ", - "ḭ": "ḭ", - "Ḯ": "Ḯ", - "ḯ": "ḯ", - "Ḱ": "Ḱ", - "ḱ": "ḱ", - "Ḳ": "Ḳ", - "ḳ": "ḳ", - "Ḵ": "Ḵ", - "ḵ": "ḵ", - "Ḷ": "Ḷ", - "ḷ": "ḷ", - "Ḹ": "Ḹ", - "ḹ": "ḹ", - "Ḻ": "Ḻ", - "ḻ": "ḻ", - "Ḽ": "Ḽ", - "ḽ": "ḽ", - "Ḿ": "Ḿ", - "ḿ": "ḿ", - "Ṁ": "Ṁ", - "ṁ": "ṁ", - "Ṃ": "Ṃ", - "ṃ": "ṃ", - "Ṅ": "Ṅ", - "ṅ": "ṅ", - "Ṇ": "Ṇ", - "ṇ": "ṇ", - "Ṉ": "Ṉ", - "ṉ": "ṉ", - "Ṋ": "Ṋ", - "ṋ": "ṋ", - "Ṍ": "Ṍ", - "ṍ": "ṍ", - "Ṏ": "Ṏ", - "ṏ": "ṏ", - "Ṑ": "Ṑ", - "ṑ": "ṑ", - "Ṓ": "Ṓ", - "ṓ": "ṓ", - "Ṕ": "Ṕ", - "ṕ": "ṕ", - "Ṗ": "Ṗ", - "ṗ": "ṗ", - "Ṙ": "Ṙ", - "ṙ": "ṙ", - "Ṛ": "Ṛ", - "ṛ": "ṛ", - "Ṝ": "Ṝ", - "ṝ": "ṝ", - "Ṟ": "Ṟ", - "ṟ": "ṟ", - "Ṡ": "Ṡ", - "ṡ": "ṡ", - "Ṣ": "Ṣ", - "ṣ": "ṣ", - "Ṥ": "Ṥ", - "ṥ": "ṥ", - "Ṧ": "Ṧ", - "ṧ": "ṧ", - "Ṩ": "Ṩ", - "ṩ": "ṩ", - "Ṫ": "Ṫ", - "ṫ": "ṫ", - "Ṭ": "Ṭ", - "ṭ": "ṭ", - "Ṯ": "Ṯ", - "ṯ": "ṯ", - "Ṱ": "Ṱ", - "ṱ": "ṱ", - "Ṳ": "Ṳ", - "ṳ": "ṳ", - "Ṵ": "Ṵ", - "ṵ": "ṵ", - "Ṷ": "Ṷ", - "ṷ": "ṷ", - "Ṹ": "Ṹ", - "ṹ": "ṹ", - "Ṻ": "Ṻ", - "ṻ": "ṻ", - "Ṽ": "Ṽ", - "ṽ": "ṽ", - "Ṿ": "Ṿ", - "ṿ": "ṿ", - "Ẁ": "Ẁ", - "ẁ": "ẁ", - "Ẃ": "Ẃ", - "ẃ": "ẃ", - "Ẅ": "Ẅ", - "ẅ": "ẅ", - "Ẇ": "Ẇ", - "ẇ": "ẇ", - "Ẉ": "Ẉ", - "ẉ": "ẉ", - "Ẋ": "Ẋ", - "ẋ": "ẋ", - "Ẍ": "Ẍ", - "ẍ": "ẍ", - "Ẏ": "Ẏ", - "ẏ": "ẏ", - "Ẑ": "Ẑ", - "ẑ": "ẑ", - "Ẓ": "Ẓ", - "ẓ": "ẓ", - "Ẕ": "Ẕ", - "ẕ": "ẕ", - "ẖ": "ẖ", - "ẗ": "ẗ", - "ẘ": "ẘ", - "ẙ": "ẙ", - "ẛ": "ẛ", - "Ạ": "Ạ", - "ạ": "ạ", - "Ả": "Ả", - "ả": "ả", - "Ấ": "Ấ", - "ấ": "ấ", - "Ầ": "Ầ", - "ầ": "ầ", - "Ẩ": "Ẩ", - "ẩ": "ẩ", - "Ẫ": "Ẫ", - "ẫ": "ẫ", - "Ậ": "Ậ", - "ậ": "ậ", - "Ắ": "Ắ", - "ắ": "ắ", - "Ằ": "Ằ", - "ằ": "ằ", - "Ẳ": "Ẳ", - "ẳ": "ẳ", - "Ẵ": "Ẵ", - "ẵ": "ẵ", - "Ặ": "Ặ", - "ặ": "ặ", - "Ẹ": "Ẹ", - "ẹ": "ẹ", - "Ẻ": "Ẻ", - "ẻ": "ẻ", - "Ẽ": "Ẽ", - "ẽ": "ẽ", - "Ế": "Ế", - "ế": "ế", - "Ề": "Ề", - "ề": "ề", - "Ể": "Ể", - "ể": "ể", - "Ễ": "Ễ", - "ễ": "ễ", - "Ệ": "Ệ", - "ệ": "ệ", - "Ỉ": "Ỉ", - "ỉ": "ỉ", - "Ị": "Ị", - "ị": "ị", - "Ọ": "Ọ", - "ọ": "ọ", - "Ỏ": "Ỏ", - "ỏ": "ỏ", - "Ố": "Ố", - "ố": "ố", - "Ồ": "Ồ", - "ồ": "ồ", - "Ổ": "Ổ", - "ổ": "ổ", - "Ỗ": "Ỗ", - "ỗ": "ỗ", - "Ộ": "Ộ", - "ộ": "ộ", - "Ớ": "Ớ", - "ớ": "ớ", - "Ờ": "Ờ", - "ờ": "ờ", - "Ở": "Ở", - "ở": "ở", - "Ỡ": "Ỡ", - "ỡ": "ỡ", - "Ợ": "Ợ", - "ợ": "ợ", - "Ụ": "Ụ", - "ụ": "ụ", - "Ủ": "Ủ", - "ủ": "ủ", - "Ứ": "Ứ", - "ứ": "ứ", - "Ừ": "Ừ", - "ừ": "ừ", - "Ử": "Ử", - "ử": "ử", - "Ữ": "Ữ", - "ữ": "ữ", - "Ự": "Ự", - "ự": "ự", - "Ỳ": "Ỳ", - "ỳ": "ỳ", - "Ỵ": "Ỵ", - "ỵ": "ỵ", - "Ỷ": "Ỷ", - "ỷ": "ỷ", - "Ỹ": "Ỹ", - "ỹ": "ỹ", - "ἀ": "ἀ", - "ἁ": "ἁ", - "ἂ": "ἂ", - "ἃ": "ἃ", - "ἄ": "ἄ", - "ἅ": "ἅ", - "ἆ": "ἆ", - "ἇ": "ἇ", - "Ἀ": "Ἀ", - "Ἁ": "Ἁ", - "Ἂ": "Ἂ", - "Ἃ": "Ἃ", - "Ἄ": "Ἄ", - "Ἅ": "Ἅ", - "Ἆ": "Ἆ", - "Ἇ": "Ἇ", - "ἐ": "ἐ", - "ἑ": "ἑ", - "ἒ": "ἒ", - "ἓ": "ἓ", - "ἔ": "ἔ", - "ἕ": "ἕ", - "Ἐ": "Ἐ", - "Ἑ": "Ἑ", - "Ἒ": "Ἒ", - "Ἓ": "Ἓ", - "Ἔ": "Ἔ", - "Ἕ": "Ἕ", - "ἠ": "ἠ", - "ἡ": "ἡ", - "ἢ": "ἢ", - "ἣ": "ἣ", - "ἤ": "ἤ", - "ἥ": "ἥ", - "ἦ": "ἦ", - "ἧ": "ἧ", - "Ἠ": "Ἠ", - "Ἡ": "Ἡ", - "Ἢ": "Ἢ", - "Ἣ": "Ἣ", - "Ἤ": "Ἤ", - "Ἥ": "Ἥ", - "Ἦ": "Ἦ", - "Ἧ": "Ἧ", - "ἰ": "ἰ", - "ἱ": "ἱ", - "ἲ": "ἲ", - "ἳ": "ἳ", - "ἴ": "ἴ", - "ἵ": "ἵ", - "ἶ": "ἶ", - "ἷ": "ἷ", - "Ἰ": "Ἰ", - "Ἱ": "Ἱ", - "Ἲ": "Ἲ", - "Ἳ": "Ἳ", - "Ἴ": "Ἴ", - "Ἵ": "Ἵ", - "Ἶ": "Ἶ", - "Ἷ": "Ἷ", - "ὀ": "ὀ", - "ὁ": "ὁ", - "ὂ": "ὂ", - "ὃ": "ὃ", - "ὄ": "ὄ", - "ὅ": "ὅ", - "Ὀ": "Ὀ", - "Ὁ": "Ὁ", - "Ὂ": "Ὂ", - "Ὃ": "Ὃ", - "Ὄ": "Ὄ", - "Ὅ": "Ὅ", - "ὐ": "ὐ", - "ὑ": "ὑ", - "ὒ": "ὒ", - "ὓ": "ὓ", - "ὔ": "ὔ", - "ὕ": "ὕ", - "ὖ": "ὖ", - "ὗ": "ὗ", - "Ὑ": "Ὑ", - "Ὓ": "Ὓ", - "Ὕ": "Ὕ", - "Ὗ": "Ὗ", - "ὠ": "ὠ", - "ὡ": "ὡ", - "ὢ": "ὢ", - "ὣ": "ὣ", - "ὤ": "ὤ", - "ὥ": "ὥ", - "ὦ": "ὦ", - "ὧ": "ὧ", - "Ὠ": "Ὠ", - "Ὡ": "Ὡ", - "Ὢ": "Ὢ", - "Ὣ": "Ὣ", - "Ὤ": "Ὤ", - "Ὥ": "Ὥ", - "Ὦ": "Ὦ", - "Ὧ": "Ὧ", - "ὰ": "ὰ", - "ὲ": "ὲ", - "ὴ": "ὴ", - "ὶ": "ὶ", - "ὸ": "ὸ", - "ὺ": "ὺ", - "ὼ": "ὼ", - "ᾀ": "ᾀ", - "ᾁ": "ᾁ", - "ᾂ": "ᾂ", - "ᾃ": "ᾃ", - "ᾄ": "ᾄ", - "ᾅ": "ᾅ", - "ᾆ": "ᾆ", - "ᾇ": "ᾇ", - "ᾈ": "ᾈ", - "ᾉ": "ᾉ", - "ᾊ": "ᾊ", - "ᾋ": "ᾋ", - "ᾌ": "ᾌ", - "ᾍ": "ᾍ", - "ᾎ": "ᾎ", - "ᾏ": "ᾏ", - "ᾐ": "ᾐ", - "ᾑ": "ᾑ", - "ᾒ": "ᾒ", - "ᾓ": "ᾓ", - "ᾔ": "ᾔ", - "ᾕ": "ᾕ", - "ᾖ": "ᾖ", - "ᾗ": "ᾗ", - "ᾘ": "ᾘ", - "ᾙ": "ᾙ", - "ᾚ": "ᾚ", - "ᾛ": "ᾛ", - "ᾜ": "ᾜ", - "ᾝ": "ᾝ", - "ᾞ": "ᾞ", - "ᾟ": "ᾟ", - "ᾠ": "ᾠ", - "ᾡ": "ᾡ", - "ᾢ": "ᾢ", - "ᾣ": "ᾣ", - "ᾤ": "ᾤ", - "ᾥ": "ᾥ", - "ᾦ": "ᾦ", - "ᾧ": "ᾧ", - "ᾨ": "ᾨ", - "ᾩ": "ᾩ", - "ᾪ": "ᾪ", - "ᾫ": "ᾫ", - "ᾬ": "ᾬ", - "ᾭ": "ᾭ", - "ᾮ": "ᾮ", - "ᾯ": "ᾯ", - "ᾰ": "ᾰ", - "ᾱ": "ᾱ", - "ᾲ": "ᾲ", - "ᾳ": "ᾳ", - "ᾴ": "ᾴ", - "ᾶ": "ᾶ", - "ᾷ": "ᾷ", - "Ᾰ": "Ᾰ", - "Ᾱ": "Ᾱ", - "Ὰ": "Ὰ", - "ᾼ": "ᾼ", - "῁": "῁", - "ῂ": "ῂ", - "ῃ": "ῃ", - "ῄ": "ῄ", - "ῆ": "ῆ", - "ῇ": "ῇ", - "Ὲ": "Ὲ", - "Ὴ": "Ὴ", - "ῌ": "ῌ", - "῍": "῍", - "῎": "῎", - "῏": "῏", - "ῐ": "ῐ", - "ῑ": "ῑ", - "ῒ": "ῒ", - "ῖ": "ῖ", - "ῗ": "ῗ", - "Ῐ": "Ῐ", - "Ῑ": "Ῑ", - "Ὶ": "Ὶ", - "῝": "῝", - "῞": "῞", - "῟": "῟", - "ῠ": "ῠ", - "ῡ": "ῡ", - "ῢ": "ῢ", - "ῤ": "ῤ", - "ῥ": "ῥ", - "ῦ": "ῦ", - "ῧ": "ῧ", - "Ῠ": "Ῠ", - "Ῡ": "Ῡ", - "Ὺ": "Ὺ", - "Ῥ": "Ῥ", - "῭": "῭", - "ῲ": "ῲ", - "ῳ": "ῳ", - "ῴ": "ῴ", - "ῶ": "ῶ", - "ῷ": "ῷ", - "Ὸ": "Ὸ", - "Ὼ": "Ὼ", - "ῼ": "ῼ", - "↚": "↚", - "↛": "↛", - "↮": "↮", - "⇍": "⇍", - "⇎": "⇎", - "⇏": "⇏", - "∄": "∄", - "∉": "∉", - "∌": "∌", - "∤": "∤", - "∦": "∦", - "≁": "≁", - "≄": "≄", - "≇": "≇", - "≉": "≉", - "≠": "≠", - "≢": "≢", - "≭": "≭", - "≮": "≮", - "≯": "≯", - "≰": "≰", - "≱": "≱", - "≴": "≴", - "≵": "≵", - "≸": "≸", - "≹": "≹", - "⊀": "⊀", - "⊁": "⊁", - "⊄": "⊄", - "⊅": "⊅", - "⊈": "⊈", - "⊉": "⊉", - "⊬": "⊬", - "⊭": "⊭", - "⊮": "⊮", - "⊯": "⊯", - "⋠": "⋠", - "⋡": "⋡", - "⋢": "⋢", - "⋣": "⋣", - "⋪": "⋪", - "⋫": "⋫", - "⋬": "⋬", - "⋭": "⋭", - "が": "が", - "ぎ": "ぎ", - "ぐ": "ぐ", - "げ": "げ", - "ご": "ご", - "ざ": "ざ", - "じ": "じ", - "ず": "ず", - "ぜ": "ぜ", - "ぞ": "ぞ", - "だ": "だ", - "ぢ": "ぢ", - "づ": "づ", - "で": "で", - "ど": "ど", - "ば": "ば", - "ぱ": "ぱ", - "び": "び", - "ぴ": "ぴ", - "ぶ": "ぶ", - "ぷ": "ぷ", - "べ": "べ", - "ぺ": "ぺ", - "ぼ": "ぼ", - "ぽ": "ぽ", - "ゔ": "ゔ", - "ゞ": "ゞ", - "ガ": "ガ", - "ギ": "ギ", - "グ": "グ", - "ゲ": "ゲ", - "ゴ": "ゴ", - "ザ": "ザ", - "ジ": "ジ", - "ズ": "ズ", - "ゼ": "ゼ", - "ゾ": "ゾ", - "ダ": "ダ", - "ヂ": "ヂ", - "ヅ": "ヅ", - "デ": "デ", - "ド": "ド", - "バ": "バ", - "パ": "パ", - "ビ": "ビ", - "ピ": "ピ", - "ブ": "ブ", - "プ": "プ", - "ベ": "ベ", - "ペ": "ペ", - "ボ": "ボ", - "ポ": "ポ", - "ヴ": "ヴ", - "ヷ": "ヷ", - "ヸ": "ヸ", - "ヹ": "ヹ", - "ヺ": "ヺ", - "ヾ": "ヾ", - "𑂚": "𑂚", - "𑂜": "𑂜", - "𑂫": "𑂫", - "𑄮": "𑄮", - "𑄯": "𑄯", - "𑍋": "𑍋", - "𑍌": "𑍌", - "𑒻": "𑒻", - "𑒼": "𑒼", - "𑒾": "𑒾", - "𑖺": "𑖺", - "𑖻": "𑖻" - }, - "ccc": { - "̀": 230, - "́": 230, - "̂": 230, - "̃": 230, - "̄": 230, - "̅": 230, - "̆": 230, - "̇": 230, - "̈": 230, - "̉": 230, - "̊": 230, - "̋": 230, - "̌": 230, - "̍": 230, - "̎": 230, - "̏": 230, - "̐": 230, - "̑": 230, - "̒": 230, - "̓": 230, - "̔": 230, - "̕": 232, - "̖": 220, - "̗": 220, - "̘": 220, - "̙": 220, - "̚": 232, - "̛": 216, - "̜": 220, - "̝": 220, - "̞": 220, - "̟": 220, - "̠": 220, - "̡": 202, - "̢": 202, - "̣": 220, - "̤": 220, - "̥": 220, - "̦": 220, - "̧": 202, - "̨": 202, - "̩": 220, - "̪": 220, - "̫": 220, - "̬": 220, - "̭": 220, - "̮": 220, - "̯": 220, - "̰": 220, - "̱": 220, - "̲": 220, - "̳": 220, - "̴": 1, - "̵": 1, - "̶": 1, - "̷": 1, - "̸": 1, - "̹": 220, - "̺": 220, - "̻": 220, - "̼": 220, - "̽": 230, - "̾": 230, - "̿": 230, - "̀": 230, - "́": 230, - "͂": 230, - "̓": 230, - "̈́": 230, - "ͅ": 240, - "͆": 230, - "͇": 220, - "͈": 220, - "͉": 220, - "͊": 230, - "͋": 230, - "͌": 230, - "͍": 220, - "͎": 220, - "͐": 230, - "͑": 230, - "͒": 230, - "͓": 220, - "͔": 220, - "͕": 220, - "͖": 220, - "͗": 230, - "͘": 232, - "͙": 220, - "͚": 220, - "͛": 230, - "͜": 233, - "͝": 234, - "͞": 234, - "͟": 233, - "͠": 234, - "͡": 234, - "͢": 233, - "ͣ": 230, - "ͤ": 230, - "ͥ": 230, - "ͦ": 230, - "ͧ": 230, - "ͨ": 230, - "ͩ": 230, - "ͪ": 230, - "ͫ": 230, - "ͬ": 230, - "ͭ": 230, - "ͮ": 230, - "ͯ": 230, - "҃": 230, - "҄": 230, - "҅": 230, - "҆": 230, - "҇": 230, - "֑": 220, - "֒": 230, - "֓": 230, - "֔": 230, - "֕": 230, - "֖": 220, - "֗": 230, - "֘": 230, - "֙": 230, - "֚": 222, - "֛": 220, - "֜": 230, - "֝": 230, - "֞": 230, - "֟": 230, - "֠": 230, - "֡": 230, - "֢": 220, - "֣": 220, - "֤": 220, - "֥": 220, - "֦": 220, - "֧": 220, - "֨": 230, - "֩": 230, - "֪": 220, - "֫": 230, - "֬": 230, - "֭": 222, - "֮": 228, - "֯": 230, - "ְ": 10, - "ֱ": 11, - "ֲ": 12, - "ֳ": 13, - "ִ": 14, - "ֵ": 15, - "ֶ": 16, - "ַ": 17, - "ָ": 18, - "ֹ": 19, - "ֺ": 19, - "ֻ": 20, - "ּ": 21, - "ֽ": 22, - "ֿ": 23, - "ׁ": 24, - "ׂ": 25, - "ׄ": 230, - "ׅ": 220, - "ׇ": 18, - "ؐ": 230, - "ؑ": 230, - "ؒ": 230, - "ؓ": 230, - "ؔ": 230, - "ؕ": 230, - "ؖ": 230, - "ؗ": 230, - "ؘ": 30, - "ؙ": 31, - "ؚ": 32, - "ً": 27, - "ٌ": 28, - "ٍ": 29, - "َ": 30, - "ُ": 31, - "ِ": 32, - "ّ": 33, - "ْ": 34, - "ٓ": 230, - "ٔ": 230, - "ٕ": 220, - "ٖ": 220, - "ٗ": 230, - "٘": 230, - "ٙ": 230, - "ٚ": 230, - "ٛ": 230, - "ٜ": 220, - "ٝ": 230, - "ٞ": 230, - "ٟ": 220, - "ٰ": 35, - "ۖ": 230, - "ۗ": 230, - "ۘ": 230, - "ۙ": 230, - "ۚ": 230, - "ۛ": 230, - "ۜ": 230, - "۟": 230, - "۠": 230, - "ۡ": 230, - "ۢ": 230, - "ۣ": 220, - "ۤ": 230, - "ۧ": 230, - "ۨ": 230, - "۪": 220, - "۫": 230, - "۬": 230, - "ۭ": 220, - "ܑ": 36, - "ܰ": 230, - "ܱ": 220, - "ܲ": 230, - "ܳ": 230, - "ܴ": 220, - "ܵ": 230, - "ܶ": 230, - "ܷ": 220, - "ܸ": 220, - "ܹ": 220, - "ܺ": 230, - "ܻ": 220, - "ܼ": 220, - "ܽ": 230, - "ܾ": 220, - "ܿ": 230, - "݀": 230, - "݁": 230, - "݂": 220, - "݃": 230, - "݄": 220, - "݅": 230, - "݆": 220, - "݇": 230, - "݈": 220, - "݉": 230, - "݊": 230, - "߫": 230, - "߬": 230, - "߭": 230, - "߮": 230, - "߯": 230, - "߰": 230, - "߱": 230, - "߲": 220, - "߳": 230, - "ࠖ": 230, - "ࠗ": 230, - "࠘": 230, - "࠙": 230, - "ࠛ": 230, - "ࠜ": 230, - "ࠝ": 230, - "ࠞ": 230, - "ࠟ": 230, - "ࠠ": 230, - "ࠡ": 230, - "ࠢ": 230, - "ࠣ": 230, - "ࠥ": 230, - "ࠦ": 230, - "ࠧ": 230, - "ࠩ": 230, - "ࠪ": 230, - "ࠫ": 230, - "ࠬ": 230, - "࠭": 230, - "࡙": 220, - "࡚": 220, - "࡛": 220, - "ࣔ": 230, - "ࣕ": 230, - "ࣖ": 230, - "ࣗ": 230, - "ࣘ": 230, - "ࣙ": 230, - "ࣚ": 230, - "ࣛ": 230, - "ࣜ": 230, - "ࣝ": 230, - "ࣞ": 230, - "ࣟ": 230, - "࣠": 230, - "࣡": 230, - "ࣣ": 220, - "ࣤ": 230, - "ࣥ": 230, - "ࣦ": 220, - "ࣧ": 230, - "ࣨ": 230, - "ࣩ": 220, - "࣪": 230, - "࣫": 230, - "࣬": 230, - "࣭": 220, - "࣮": 220, - "࣯": 220, - "ࣰ": 27, - "ࣱ": 28, - "ࣲ": 29, - "ࣳ": 230, - "ࣴ": 230, - "ࣵ": 230, - "ࣶ": 220, - "ࣷ": 230, - "ࣸ": 230, - "ࣹ": 220, - "ࣺ": 220, - "ࣻ": 230, - "ࣼ": 230, - "ࣽ": 230, - "ࣾ": 230, - "ࣿ": 230, - "़": 7, - "्": 9, - "॑": 230, - "॒": 220, - "॓": 230, - "॔": 230, - "়": 7, - "্": 9, - "਼": 7, - "੍": 9, - "઼": 7, - "્": 9, - "଼": 7, - "୍": 9, - "்": 9, - "్": 9, - "ౕ": 84, - "ౖ": 91, - "಼": 7, - "್": 9, - "്": 9, - "්": 9, - "ุ": 103, - "ู": 103, - "ฺ": 9, - "่": 107, - "้": 107, - "๊": 107, - "๋": 107, - "ຸ": 118, - "ູ": 118, - "່": 122, - "້": 122, - "໊": 122, - "໋": 122, - "༘": 220, - "༙": 220, - "༵": 220, - "༷": 220, - "༹": 216, - "ཱ": 129, - "ི": 130, - "ུ": 132, - "ེ": 130, - "ཻ": 130, - "ོ": 130, - "ཽ": 130, - "ྀ": 130, - "ྂ": 230, - "ྃ": 230, - "྄": 9, - "྆": 230, - "྇": 230, - "࿆": 220, - "့": 7, - "္": 9, - "်": 9, - "ႍ": 220, - "፝": 230, - "፞": 230, - "፟": 230, - "᜔": 9, - "᜴": 9, - "្": 9, - "៝": 230, - "ᢩ": 228, - "᤹": 222, - "᤺": 230, - "᤻": 220, - "ᨗ": 230, - "ᨘ": 220, - "᩠": 9, - "᩵": 230, - "᩶": 230, - "᩷": 230, - "᩸": 230, - "᩹": 230, - "᩺": 230, - "᩻": 230, - "᩼": 230, - "᩿": 220, - "᪰": 230, - "᪱": 230, - "᪲": 230, - "᪳": 230, - "᪴": 230, - "᪵": 220, - "᪶": 220, - "᪷": 220, - "᪸": 220, - "᪹": 220, - "᪺": 220, - "᪻": 230, - "᪼": 230, - "᪽": 220, - "᬴": 7, - "᭄": 9, - "᭫": 230, - "᭬": 220, - "᭭": 230, - "᭮": 230, - "᭯": 230, - "᭰": 230, - "᭱": 230, - "᭲": 230, - "᭳": 230, - "᮪": 9, - "᮫": 9, - "᯦": 7, - "᯲": 9, - "᯳": 9, - "᰷": 7, - "᳐": 230, - "᳑": 230, - "᳒": 230, - "᳔": 1, - "᳕": 220, - "᳖": 220, - "᳗": 220, - "᳘": 220, - "᳙": 220, - "᳚": 230, - "᳛": 230, - "᳜": 220, - "᳝": 220, - "᳞": 220, - "᳟": 220, - "᳠": 230, - "᳢": 1, - "᳣": 1, - "᳤": 1, - "᳥": 1, - "᳦": 1, - "᳧": 1, - "᳨": 1, - "᳭": 220, - "᳴": 230, - "᳸": 230, - "᳹": 230, - "᷀": 230, - "᷁": 230, - "᷂": 220, - "᷃": 230, - "᷄": 230, - "᷅": 230, - "᷆": 230, - "᷇": 230, - "᷈": 230, - "᷉": 230, - "᷊": 220, - "᷋": 230, - "᷌": 230, - "᷍": 234, - "᷎": 214, - "᷏": 220, - "᷐": 202, - "᷑": 230, - "᷒": 230, - "ᷓ": 230, - "ᷔ": 230, - "ᷕ": 230, - "ᷖ": 230, - "ᷗ": 230, - "ᷘ": 230, - "ᷙ": 230, - "ᷚ": 230, - "ᷛ": 230, - "ᷜ": 230, - "ᷝ": 230, - "ᷞ": 230, - "ᷟ": 230, - "ᷠ": 230, - "ᷡ": 230, - "ᷢ": 230, - "ᷣ": 230, - "ᷤ": 230, - "ᷥ": 230, - "ᷦ": 230, - "ᷧ": 230, - "ᷨ": 230, - "ᷩ": 230, - "ᷪ": 230, - "ᷫ": 230, - "ᷬ": 230, - "ᷭ": 230, - "ᷮ": 230, - "ᷯ": 230, - "ᷰ": 230, - "ᷱ": 230, - "ᷲ": 230, - "ᷳ": 230, - "ᷴ": 230, - "᷵": 230, - "᷻": 230, - "᷼": 233, - "᷽": 220, - "᷾": 230, - "᷿": 220, - "⃐": 230, - "⃑": 230, - "⃒": 1, - "⃓": 1, - "⃔": 230, - "⃕": 230, - "⃖": 230, - "⃗": 230, - "⃘": 1, - "⃙": 1, - "⃚": 1, - "⃛": 230, - "⃜": 230, - "⃡": 230, - "⃥": 1, - "⃦": 1, - "⃧": 230, - "⃨": 220, - "⃩": 230, - "⃪": 1, - "⃫": 1, - "⃬": 220, - "⃭": 220, - "⃮": 220, - "⃯": 220, - "⃰": 230, - "⳯": 230, - "⳰": 230, - "⳱": 230, - "⵿": 9, - "ⷠ": 230, - "ⷡ": 230, - "ⷢ": 230, - "ⷣ": 230, - "ⷤ": 230, - "ⷥ": 230, - "ⷦ": 230, - "ⷧ": 230, - "ⷨ": 230, - "ⷩ": 230, - "ⷪ": 230, - "ⷫ": 230, - "ⷬ": 230, - "ⷭ": 230, - "ⷮ": 230, - "ⷯ": 230, - "ⷰ": 230, - "ⷱ": 230, - "ⷲ": 230, - "ⷳ": 230, - "ⷴ": 230, - "ⷵ": 230, - "ⷶ": 230, - "ⷷ": 230, - "ⷸ": 230, - "ⷹ": 230, - "ⷺ": 230, - "ⷻ": 230, - "ⷼ": 230, - "ⷽ": 230, - "ⷾ": 230, - "ⷿ": 230, - "〪": 218, - "〫": 228, - "〬": 232, - "〭": 222, - "〮": 224, - "〯": 224, - "゙": 8, - "゚": 8, - "꙯": 230, - "ꙴ": 230, - "ꙵ": 230, - "ꙶ": 230, - "ꙷ": 230, - "ꙸ": 230, - "ꙹ": 230, - "ꙺ": 230, - "ꙻ": 230, - "꙼": 230, - "꙽": 230, - "ꚞ": 230, - "ꚟ": 230, - "꛰": 230, - "꛱": 230, - "꠆": 9, - "꣄": 9, - "꣠": 230, - "꣡": 230, - "꣢": 230, - "꣣": 230, - "꣤": 230, - "꣥": 230, - "꣦": 230, - "꣧": 230, - "꣨": 230, - "꣩": 230, - "꣪": 230, - "꣫": 230, - "꣬": 230, - "꣭": 230, - "꣮": 230, - "꣯": 230, - "꣰": 230, - "꣱": 230, - "꤫": 220, - "꤬": 220, - "꤭": 220, - "꥓": 9, - "꦳": 7, - "꧀": 9, - "ꪰ": 230, - "ꪲ": 230, - "ꪳ": 230, - "ꪴ": 220, - "ꪷ": 230, - "ꪸ": 230, - "ꪾ": 230, - "꪿": 230, - "꫁": 230, - "꫶": 9, - "꯭": 9, - "ﬞ": 26, - "︠": 230, - "︡": 230, - "︢": 230, - "︣": 230, - "︤": 230, - "︥": 230, - "︦": 230, - "︧": 220, - "︨": 220, - "︩": 220, - "︪": 220, - "︫": 220, - "︬": 220, - "︭": 220, - "︮": 230, - "︯": 230, - "𐇽": 220, - "𐋠": 220, - "𐍶": 230, - "𐍷": 230, - "𐍸": 230, - "𐍹": 230, - "𐍺": 230, - "𐨍": 220, - "𐨏": 230, - "𐨸": 230, - "𐨹": 1, - "𐨺": 220, - "𐨿": 9, - "𐫥": 230, - "𐫦": 220, - "𑁆": 9, - "𑁿": 9, - "𑂹": 9, - "𑂺": 7, - "𑄀": 230, - "𑄁": 230, - "𑄂": 230, - "𑄳": 9, - "𑄴": 9, - "𑅳": 7, - "𑇀": 9, - "𑇊": 7, - "𑈵": 9, - "𑈶": 7, - "𑋩": 7, - "𑋪": 9, - "𑌼": 7, - "𑍍": 9, - "𑍦": 230, - "𑍧": 230, - "𑍨": 230, - "𑍩": 230, - "𑍪": 230, - "𑍫": 230, - "𑍬": 230, - "𑍰": 230, - "𑍱": 230, - "𑍲": 230, - "𑍳": 230, - "𑍴": 230, - "𑑂": 9, - "𑑆": 7, - "𑓂": 9, - "𑓃": 7, - "𑖿": 9, - "𑗀": 7, - "𑘿": 9, - "𑚶": 9, - "𑚷": 7, - "𑜫": 9, - "𑰿": 9, - "𖫰": 1, - "𖫱": 1, - "𖫲": 1, - "𖫳": 1, - "𖫴": 1, - "𖬰": 230, - "𖬱": 230, - "𖬲": 230, - "𖬳": 230, - "𖬴": 230, - "𖬵": 230, - "𖬶": 230, - "𛲞": 1, - "𝅥": 216, - "𝅦": 216, - "𝅧": 1, - "𝅨": 1, - "𝅩": 1, - "𝅭": 226, - "𝅮": 216, - "𝅯": 216, - "𝅰": 216, - "𝅱": 216, - "𝅲": 216, - "𝅻": 220, - "𝅼": 220, - "𝅽": 220, - "𝅾": 220, - "𝅿": 220, - "𝆀": 220, - "𝆁": 220, - "𝆂": 220, - "𝆅": 230, - "𝆆": 230, - "𝆇": 230, - "𝆈": 230, - "𝆉": 230, - "𝆊": 220, - "𝆋": 220, - "𝆪": 230, - "𝆫": 230, - "𝆬": 230, - "𝆭": 230, - "𝉂": 230, - "𝉃": 230, - "𝉄": 230, - "𞀀": 230, - "𞀁": 230, - "𞀂": 230, - "𞀃": 230, - "𞀄": 230, - "𞀅": 230, - "𞀆": 230, - "𞀈": 230, - "𞀉": 230, - "𞀊": 230, - "𞀋": 230, - "𞀌": 230, - "𞀍": 230, - "𞀎": 230, - "𞀏": 230, - "𞀐": 230, - "𞀑": 230, - "𞀒": 230, - "𞀓": 230, - "𞀔": 230, - "𞀕": 230, - "𞀖": 230, - "𞀗": 230, - "𞀘": 230, - "𞀛": 230, - "𞀜": 230, - "𞀝": 230, - "𞀞": 230, - "𞀟": 230, - "𞀠": 230, - "𞀡": 230, - "𞀣": 230, - "𞀤": 230, - "𞀦": 230, - "𞀧": 230, - "𞀨": 230, - "𞀩": 230, - "𞀪": 230, - "𞣐": 220, - "𞣑": 220, - "𞣒": 220, - "𞣓": 220, - "𞣔": 220, - "𞣕": 220, - "𞣖": 220, - "𞥄": 230, - "𞥅": 230, - "𞥆": 230, - "𞥇": 230, - "𞥈": 230, - "𞥉": 230, - "𞥊": 7 - } -} \ No newline at end of file diff --git a/js/lib/Address.js b/js/lib/Address.js index 3eda203cfe..4af9de64f4 100644 --- a/js/lib/Address.js +++ b/js/lib/Address.js @@ -1,7 +1,7 @@ /* * Address.js - Represent a mailing address * - * Copyright © 2013-2015, JEDLSoft + * Copyright © 2013-2015, 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -19,17 +19,6 @@ /*globals console RegExp */ -/* !depends -ilib.js -Utils.js -JSUtils.js -Locale.js -isIdeo.js -isAscii.js -isDigit.js -IString.js -*/ - // !data address countries nativecountries ctrynames var ilib = require("./ilib.js"); diff --git a/js/lib/AddressFmt.js b/js/lib/AddressFmt.js index 9a979042a0..d86331a562 100644 --- a/js/lib/AddressFmt.js +++ b/js/lib/AddressFmt.js @@ -1,7 +1,7 @@ /* * AddressFmt.js - Format an address * - * Copyright © 2013-2015, JEDLSoft + * Copyright © 2013-2015, 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,15 +17,6 @@ * limitations under the License. */ -/* !depends -ilib.js -Locale.js -Address.js -IString.js -Utils.js -JSUtils.js -*/ - // !data address addressres regionnames var ilib = require("./ilib.js"); diff --git a/js/lib/AlphabeticIndex.js b/js/lib/AlphabeticIndex.js index 6e5c09759e..12ae8b375c 100644 --- a/js/lib/AlphabeticIndex.js +++ b/js/lib/AlphabeticIndex.js @@ -17,19 +17,7 @@ * limitations under the License. */ -/* !depends -ilib.js -Utils.js -Locale.js -NormString.js -CType.js -IString.js -isIdeo.js -isAscii.js -isDigit.js -Collator.js -NormString.js -*/ +// !data nfc nfkd var ilib = require("./ilib.js"); var Utils = require("./Utils.js"); @@ -51,10 +39,11 @@ var NormString = require("./NormString.js"); * language. An example would be an index of person names in a contact * list, organized by the first letter of the family name.

* - * Example in English: + * Example in English:

+ * * Buckets: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z #

* - * + *

  * A
  *    Adams
  *    Albers
@@ -64,7 +53,7 @@ var NormString = require("./NormString.js");
  *    Banerjee
  *    Brunshteyn
  * ...
- * 
+ * 
* * This class can give you the sorted list of labels to show in the UI. It can * also organize a list of string elements into buckets for each diff --git a/js/lib/AreaUnit.js b/js/lib/AreaUnit.js index 249e3cdb16..2a0f880620 100644 --- a/js/lib/AreaUnit.js +++ b/js/lib/AreaUnit.js @@ -250,4 +250,4 @@ AreaUnit.systems = { //register with the factory method Measurement._constructors["area"] = AreaUnit; -module.exports = AreaUnit; \ No newline at end of file +module.exports = AreaUnit; diff --git a/js/lib/Astro.js b/js/lib/Astro.js index 7e25871089..69d913b2cc 100644 --- a/js/lib/Astro.js +++ b/js/lib/Astro.js @@ -1,7 +1,7 @@ /* - * astro.js - Static functions to support astronomical calculations + * Astro.js - Static functions to support astronomical calculations * - * Copyright © 2014-2015, JEDLSoft + * Copyright © 2014-2015, 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,15 +17,6 @@ * limitations under the License. */ -/* !depends -ilib.js -IDate.js -Utils.js -SearchUtils.js -GregorianDate.js -GregRataDie.js -*/ - // !data astro /* diff --git a/js/lib/AsyncNodeLoader.js b/js/lib/AsyncNodeLoader.js index 3cb1489cff..3398a3f3f6 100644 --- a/js/lib/AsyncNodeLoader.js +++ b/js/lib/AsyncNodeLoader.js @@ -42,23 +42,23 @@ module.exports = function (ilib) { this.base = (typeof(module) !== 'undefined' && module.filename) ? path.join(path.dirname(module.filename), "..") : - this.root; + this.root; - //console.log("module.filename is " + module.filename + "\n"); - //console.log("base is defined as " + this.base + "\n"); + //console.log("module.filename is " + module.filename + "\n"); + //console.log("base is defined as " + this.base + "\n"); - this.includePath.push(path.join(this.root, "resources")); // always check the application's resources dir first + this.includePath.push(path.join(this.root, "resources")); // always check the application's resources dir first - // then a standard locale dir of a built version of ilib from npm - this._exists(path.join(this.base, "locale"), "localeinfo.json"); + // then a standard locale dir of a built version of ilib from npm + this._exists(path.join(this.base, "locale"), "localeinfo.json"); - // try the standard install directories - this._exists("/usr/share/javascript/ilib/locale", "localeinfo.json"); + // try the standard install directories + this._exists("/usr/share/javascript/ilib/locale", "localeinfo.json"); - // ... else fall back to see if we're in a check-out dir of ilib - // this._exists(path.join(this.base, "data", "locale"), "localeinfo.json"); + // ... else fall back to see if we're in a check-out dir of ilib + // this._exists(path.join(this.base, "data", "locale"), "localeinfo.json"); - // console.log("AsyncNodeLoader: include path is now " + JSON.stringify(this.includePath)); + // console.log("AsyncNodeLoader: include path is now " + JSON.stringify(this.includePath)); }; // make this a subclass of loader diff --git a/js/lib/CType.js b/js/lib/CType.js index 36285b971a..f820c04991 100644 --- a/js/lib/CType.js +++ b/js/lib/CType.js @@ -1,7 +1,7 @@ /* * CType.js - Character type definitions * - * Copyright © 2012-2015, JEDLSoft + * Copyright © 2012-2015, 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,8 +17,6 @@ * limitations under the License. */ -// !depends ilib.js SearchUtils.js Utils.js IString.js - // !data ctype var ilib = require("./ilib.js"); diff --git a/js/lib/CalendarFactory.js b/js/lib/CalendarFactory.js index d8d703ecaa..498ed58f1e 100644 --- a/js/lib/CalendarFactory.js +++ b/js/lib/CalendarFactory.js @@ -1,7 +1,7 @@ /* * CalendarFactory.js - Constructs new instances of the right subclass of Calendar * - * Copyright © 2015, JEDLSoft + * Copyright © 2015, 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,13 +17,6 @@ * limitations under the License. */ -/* !depends -ilib.js -Locale.js -LocaleInfo.js -Calendar.js -*/ - var ilib = require("./ilib.js"); var Locale = require("./Locale.js"); var LocaleInfo = require("./LocaleInfo.js"); @@ -135,15 +128,19 @@ CalendarFactory._dynMap = { "thaisolar": "ThaiSolar" }; +function circumventWebPack(x) { + return "./" + x + "Cal.js"; +} + /** * Dynamically load the code for a calendar and calendar class if necessary. * @protected */ -CalendarFactory._dynLoadCalendar = function (name) { +CalendarFactory._dynLoadCalendar = function (name, fnc) { if (!Calendar._constructors[name]) { var entry = CalendarFactory._dynMap[name]; if (entry) { - Calendar._constructors[name] = require("./" + entry + "Cal.js"); + Calendar._constructors[name] = require(fnc(entry)); } } return Calendar._constructors[name]; @@ -154,7 +151,7 @@ CalendarFactory._init = function(type, options) { var cons; if (ilib.isDynCode()) { - CalendarFactory._dynLoadCalendar(type); + CalendarFactory._dynLoadCalendar(type, circumventWebPack); } cons = Calendar._constructors[type]; @@ -178,7 +175,7 @@ CalendarFactory.getCalendars = function () { if (ilib.isDynCode()) { for (c in CalendarFactory._dynMap) { - CalendarFactory._dynLoadCalendar(c); + CalendarFactory._dynLoadCalendar(c, circumventWebPack); } } diff --git a/js/lib/CaseMapper.js b/js/lib/CaseMapper.js index 76588b31bc..641a38228b 100644 --- a/js/lib/CaseMapper.js +++ b/js/lib/CaseMapper.js @@ -1,7 +1,7 @@ /* - * caseMapper.js - define upper- and lower-case mapper + * CaseMapper.js - define upper- and lower-case mapper * - * Copyright © 2014-2015, JEDLSoft + * Copyright © 2014-2015, 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,8 +17,6 @@ * limitations under the License. */ -// !depends Locale.js IString.js - var ilib = require("./ilib.js"); var Locale = require("./Locale.js"); diff --git a/js/lib/Charmap.js b/js/lib/Charmap.js index 01965c078e..ff7040ecce 100644 --- a/js/lib/Charmap.js +++ b/js/lib/Charmap.js @@ -1,7 +1,7 @@ /* * Charmap.js - A character set mapping class * - * Copyright © 2014-2015,2018, JEDLSoft + * Copyright © 2014-2015, 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,9 +17,7 @@ * limitations under the License. */ -// !depends ilib.js JSUtils.js IString.js - -// !data charset/US-ASCII charset/ISO-10646-UCS-2 charset/ISO-10646-UCS-4 charset/ISO-10646-Unicode-Latin1 +// !data charmaps charset/US-ASCII charset/ISO-10646-UCS-2 charset/ISO-8859-1 charset/ISO-8859-15 charmaps/ISO-8859-15 charmaps/ISO-8859-1 charset/ISO-8859-1 var ilib = require("./ilib.js"); var JSUtils = require("./JSUtils.js"); @@ -333,4 +331,4 @@ Charmap.prototype = { } }; -module.exports = Charmap; \ No newline at end of file +module.exports = Charmap; diff --git a/js/lib/CharmapFactory.js b/js/lib/CharmapFactory.js index 3ee40e34ea..dfebf81b8d 100644 --- a/js/lib/CharmapFactory.js +++ b/js/lib/CharmapFactory.js @@ -2,7 +2,7 @@ * CharmapFactory.js - Factory class to create the right subclasses of a charmap for any * given chararacter set. * - * Copyright © 2015, JEDLSoft + * Copyright © 2015, 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -18,15 +18,16 @@ * limitations under the License. */ -/* !depends ilib.js JSUtils.js Charmap.js CharmapTable.js */ -// !data charset/ISO-8859-15 charmaps/ISO-8859-15 - var ilib = require("./ilib.js"); var JSUtils = require("./JSUtils.js"); var Charset = require("./Charset.js"); var Charmap = require("./Charmap.js"); +function circumventWebpackCharmap(x) { + return "./" + x + ".js"; +} + /** * Factory method to create a new instance of a character set mapping (charmap) * subclass that is appropriate for the requested charset. Charmap instances map strings to @@ -152,7 +153,7 @@ var CharmapFactory = function(options) { if (!Charmap._algorithms[name] && ilib.isDynCode()) { // console.log("CharmapFactory: isDynCode. Doing require"); var entry = CharmapFactory._dynMap[name] || "CharmapTable"; - cons = Charmap._algorithms[name] = require("./" + entry + ".js"); + cons = Charmap._algorithms[name] = require(circumventWebpackCharmap(entry)); } if (!cons) { @@ -161,8 +162,9 @@ var CharmapFactory = function(options) { // console.log("CharmapFactory: cons is "); console.dir(cons); - // pass the same options through to the constructor so the subclass - // has the ability to do something with if it needs to + // Pass the same options through to the constructor so the subclass + // has the ability to do something with if it needs to. It should also call + // the onLoad callback when it is done. instance = cons && new cons(JSUtils.merge(options || {}, {charset: charset})); } }); diff --git a/js/lib/CharmapTable.js b/js/lib/CharmapTable.js index 130751ece9..eec982b492 100644 --- a/js/lib/CharmapTable.js +++ b/js/lib/CharmapTable.js @@ -1,7 +1,7 @@ /* * CharmapTable.js - A character set mapping class that maps using trie table * - * Copyright © 2014-2015,2018, JEDLSoft + * Copyright © 2014-2015, 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,9 +17,7 @@ * limitations under the License. */ -// !depends ilib.js Utils.js Charset.js Charmap.js IString.js - -// !data charmaps/ISO-8859-1 charset/ISO-8859-1 +// !data charmaps/ISO-8859-15 charset/ISO-8859-15 var ilib = require("./ilib.js"); var Utils = require("./Utils.js"); diff --git a/js/lib/Charset.js b/js/lib/Charset.js index 5d2d0189f6..56380c3869 100644 --- a/js/lib/Charset.js +++ b/js/lib/Charset.js @@ -1,7 +1,7 @@ /* * Charset.js - Return information about a particular character set * - * Copyright © 2014-2015, JEDLSoft + * Copyright © 2014-2015, 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,8 +17,7 @@ * limitations under the License. */ -// !depends ilib.js Utils.js -// !data charsetaliases charset/ISO-8859-1 charset/ISO-8859-15 charset/UTF-8 +// !data charset charsetaliases charset/ISO-8859-1 charset/ISO-8859-15 charset/UTF-8 var ilib = require("./ilib.js"); var Utils = require("./Utils.js"); @@ -64,8 +63,6 @@ var Utils = require("./Utils.js"); * If the onLoad option is not given, this class will only attempt to load any * missing data synchronously. * - * Depends directive: !depends charset.js - * * @constructor * @see {ilib.setLoaderCallback} for information about registering a loader callback instance * @param {Object=} options options which govern the construction of this instance diff --git a/js/lib/CodePointSource.js b/js/lib/CodePointSource.js index 75209e617c..b9525a39e6 100644 --- a/js/lib/CodePointSource.js +++ b/js/lib/CodePointSource.js @@ -1,7 +1,7 @@ /* * CodePointSource.js - Source of code points from a string * - * Copyright © 2013-2015, JEDLSoft + * Copyright © 2013-2015, 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,8 +17,6 @@ * limitations under the License. */ -// !depends isPunct.js NormString.js - var isPunct = require("./isPunct.js"); var NormString = require("./NormString.js"); diff --git a/js/lib/Collator.js b/js/lib/Collator.js index f9e71c65e7..4db19f7c1b 100644 --- a/js/lib/Collator.js +++ b/js/lib/Collator.js @@ -1,7 +1,7 @@ /* * Collator.js - Collation routines * - * Copyright © 2013-2015, JEDLSoft + * Copyright © 2013-2015, 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,19 +17,6 @@ * limitations under the License. */ -/* !depends -Locale.js -ilib.js -INumber.js -isPunct.js -NormString.js -Utils.js -JSUtils.js -CodePointSource.js -ElementIterator.js -GlyphString.js -*/ - // !data collation var ilib = require("./ilib.js"); @@ -414,13 +401,12 @@ var Collator = function(options) { object: "Collator", locale: this.locale, name: "collation.json", + replace: true, sync: sync, - loadParams: loadParams, + loadParams: loadParams, callback: ilib.bind(this, function (collation) { if (!collation) { collation = ilib.data.collation; - var spec = this.locale.getSpec().replace(/-/g, '_'); - ilib.data.cache.Collator[spec] = collation; } this._initCollation(collation); if (this.ignorePunctuation) { diff --git a/js/lib/CopticCal.js b/js/lib/CopticCal.js index efebdc8411..217cb2c860 100644 --- a/js/lib/CopticCal.js +++ b/js/lib/CopticCal.js @@ -17,9 +17,6 @@ * limitations under the License. */ - -/* !depends Calendar.js Utils.js EthiopicCal.js */ - var Utils = require("./Utils.js"); var Calendar = require("./Calendar.js"); var EthiopicCal = require("./EthiopicCal.js"); diff --git a/js/lib/CopticDate.js b/js/lib/CopticDate.js index 4c42d94b50..55763533af 100644 --- a/js/lib/CopticDate.js +++ b/js/lib/CopticDate.js @@ -1,7 +1,7 @@ /* * CopticDate.js - Represent a date in the Coptic calendar * - * Copyright © 2015, JEDLSoft + * Copyright © 2015, 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,16 +17,6 @@ * limitations under the License. */ -/* !depends -ilib.js -IDate.js -CopticCal.js -MathUtils.js -Locale.js -EthiopicDate.js -CopticRataDie.js -*/ - var ilib = require("./ilib.js"); var MathUtils = require("./MathUtils.js"); @@ -134,4 +124,4 @@ CopticDate.prototype.getCalendar = function() { //register with the factory method IDate._constructors["coptic"] = CopticDate; -module.exports = CopticDate; \ No newline at end of file +module.exports = CopticDate; diff --git a/js/lib/CopticRataDie.js b/js/lib/CopticRataDie.js index 403d61f5e5..c851ec4419 100644 --- a/js/lib/CopticRataDie.js +++ b/js/lib/CopticRataDie.js @@ -1,7 +1,7 @@ /* * CopticRataDie.js - Represent an RD date in the Coptic calendar * - * Copyright © 2015, JEDLSoft + * Copyright © 2015, 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,12 +17,6 @@ * limitations under the License. */ -/* !depends -CopticCal.js -JSUtils.js -EthiopicRataDie.js -*/ - var JSUtils = require("./JSUtils.js"); var CopticCal = require("./CopticCal.js"); var EthiopicRataDie = require("./EthiopicRataDie.js"); @@ -98,4 +92,4 @@ CopticRataDie.prototype = new EthiopicRataDie(); CopticRataDie.prototype.parent = EthiopicRataDie; CopticRataDie.prototype.constructor = CopticRataDie; -module.exports = CopticRataDie; \ No newline at end of file +module.exports = CopticRataDie; diff --git a/js/lib/Country.js b/js/lib/Country.js index 1d736be4ce..8af951d050 100644 --- a/js/lib/Country.js +++ b/js/lib/Country.js @@ -1,7 +1,7 @@ /* * Country.js - Country class to get country name corresponding to country code in locale assigned * - * Copyright © 2017, LGE + * Copyright © 2017, 2018, LGE * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,8 +17,6 @@ * limitations under the License. */ -// !depends ilib.js Utils.js Locale.js LocaleInfo.js ResBundle.js - // !data ctryreverse var ilib = require("./ilib.js"); @@ -94,7 +92,7 @@ var Country = function (options) { if (!this.codeToCountry) { Utils.loadData({ name: "ctryreverse.json", - object: Country, + object: "Country", locale: locale, sync: sync, loadParams: loadParams, diff --git a/js/lib/Currency.js b/js/lib/Currency.js index 43367ee0c1..5771c9fb62 100644 --- a/js/lib/Currency.js +++ b/js/lib/Currency.js @@ -1,7 +1,7 @@ /* * Currency.js - Currency definition * - * Copyright © 2012-2015, JEDLSoft + * Copyright © 2012-2015, 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,8 +17,6 @@ * limitations under the License. */ -// !depends ilib.js Utils.js Locale.js LocaleInfo.js - // !data currency var ilib = require("./ilib.js"); diff --git a/js/lib/DateFactory.js b/js/lib/DateFactory.js index e86a42b781..011ee4b4e5 100644 --- a/js/lib/DateFactory.js +++ b/js/lib/DateFactory.js @@ -2,7 +2,7 @@ * DateFactory.js - Factory class to create the right subclasses of a date for any * calendar or locale. * - * Copyright © 2012-2015, JEDLSoft + * Copyright © 2012-2015, 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -18,8 +18,6 @@ * limitations under the License. */ -/* !depends ilib.js Locale.js LocaleInfo.js JulianDay.js JSUtils.js CalendarFactory.js IDate.js */ - var ilib = require("./ilib.js"); var JSUtils = require("./JSUtils.js"); @@ -159,15 +157,23 @@ DateFactory._dynMap = { "thaisolar": "ThaiSolar" }; +function circumventWebPackDate(x) { + return "./" + x + "Date.js"; +} + +function circumventWebPackCal(x) { + return "./" + x + "Cal.js"; +} + /** * Dynamically load the code for a calendar and calendar class if necessary. * @protected */ -DateFactory._dynLoadDate = function (name) { +DateFactory._dynLoadDate = function (name, fnc) { if (!IDate._constructors[name]) { var entry = DateFactory._dynMap[name]; if (entry) { - IDate._constructors[name] = require("./" + entry + "Date.js"); + IDate._constructors[name] = require(fnc(entry)); } } return IDate._constructors[name]; @@ -181,8 +187,8 @@ DateFactory._init = function(type, options) { var cons; if (ilib.isDynCode()) { - DateFactory._dynLoadDate(type); - CalendarFactory._dynLoadCalendar(type); + DateFactory._dynLoadDate(type, circumventWebPackDate); + CalendarFactory._dynLoadCalendar(type, circumventWebPackCal); } cons = IDate._constructors[type]; diff --git a/js/lib/DateFmt.js b/js/lib/DateFmt.js index cafa4cb633..3f9c0186ed 100644 --- a/js/lib/DateFmt.js +++ b/js/lib/DateFmt.js @@ -17,22 +17,6 @@ * limitations under the License. */ -/* -!depends -ilib.js -Locale.js -IDate.js -DateFactory.js -ResBundle.js -CalendarFactory.js -LocaleInfo.js -TimeZone.js -GregorianCal.js -JSUtils.js -Utils.js -ISet.js -*/ - // !data dateformats sysres var ilib = require("./ilib.js"); @@ -631,7 +615,6 @@ DateFmt.prototype = { var spec = this.locale.getSpec().replace(/-/g, '_'); if (!formats) { formats = ilib.data.dateformats || DateFmt.defaultFmt; - ilib.data.cache.DateFmt[spec] = formats; } if (typeof(this.clock) === 'undefined') { diff --git a/js/lib/DateRngFmt.js b/js/lib/DateRngFmt.js index c2b8dbfa25..af773084b1 100644 --- a/js/lib/DateRngFmt.js +++ b/js/lib/DateRngFmt.js @@ -1,7 +1,7 @@ /* * DateRngFmt.js - Date formatter definition * - * Copyright © 2012-2015,2018, JEDLSoft + * Copyright © 2012-2015, 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,18 +17,6 @@ * limitations under the License. */ -/* -!depends -ilib.js -Locale.js -IString.js -CalendarFactory.js -DateFmt.js -GregorianCal.js -JSUtils.js -DateFactory.js -*/ - // !data dateformats sysres var ilib = require("./ilib.js"); @@ -388,4 +376,4 @@ DateRngFmt.prototype = { } }; -module.exports = DateRngFmt; \ No newline at end of file +module.exports = DateRngFmt; diff --git a/js/lib/DigitalStorageUnit.js b/js/lib/DigitalStorageUnit.js index 955927bdea..aaa5c5186b 100644 --- a/js/lib/DigitalStorageUnit.js +++ b/js/lib/DigitalStorageUnit.js @@ -353,4 +353,4 @@ DigitalStorageUnit.getMeasures = function () { //register with the factory method Measurement._constructors["digitalStorage"] = DigitalStorageUnit; -module.exports = DigitalStorageUnit; \ No newline at end of file +module.exports = DigitalStorageUnit; diff --git a/js/lib/DurationFmt.js b/js/lib/DurationFmt.js index 7cfe3f7021..b08e256e03 100644 --- a/js/lib/DurationFmt.js +++ b/js/lib/DurationFmt.js @@ -1,5 +1,5 @@ /* - * DurFmt.js - Date formatter definition + * DurationFmt.js - Date formatter definition * * Copyright © 2012-2015, 2018, JEDLSoft * @@ -17,20 +17,7 @@ * limitations under the License. */ -/* -!depends -ilib.js -Locale.js -DateFmt.js -IString.js -ResBundle.js -LocaleInfo.js -JSUtils.js -ScriptInfo.js -*/ - // !data dateformats sysres -// !resbundle sysres var ilib = require("./ilib.js"); var JSUtils = require("./JSUtils.js"); diff --git a/js/lib/EnergyUnit.js b/js/lib/EnergyUnit.js index 7ef28244b6..abacbb66b5 100644 --- a/js/lib/EnergyUnit.js +++ b/js/lib/EnergyUnit.js @@ -260,4 +260,4 @@ EnergyUnit.getMeasures = function () { //register with the factory method Measurement._constructors["energy"] = EnergyUnit; -module.exports = EnergyUnit; \ No newline at end of file +module.exports = EnergyUnit; diff --git a/js/lib/EthiopicCal.js b/js/lib/EthiopicCal.js index 50376a3762..85bec8d7c4 100644 --- a/js/lib/EthiopicCal.js +++ b/js/lib/EthiopicCal.js @@ -1,7 +1,7 @@ /* - * ethiopic.js - Represent a Ethiopic calendar object. - * - * Copyright © 2015,2018, JEDLSoft + * EthiopicCal.js - Represent a Ethiopic calendar object. + * + * Copyright © 2015-2017, 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,8 +17,6 @@ * limitations under the License. */ -/* !depends Calendar.js MathUtils.js */ - var MathUtils = require("./MathUtils.js"); var Calendar = require("./Calendar.js"); diff --git a/js/lib/EthiopicDate.js b/js/lib/EthiopicDate.js index 98429099b4..723fb8234c 100644 --- a/js/lib/EthiopicDate.js +++ b/js/lib/EthiopicDate.js @@ -17,17 +17,6 @@ * limitations under the License. */ -/* !depends -ilib.js -IDate.js -EthiopicCal.js -MathUtils.js -Locale.js -LocaleInfo.js -TimeZone.js -EthiopicRataDie.js -*/ - var ilib = require("./ilib.js"); var MathUtils = require("./MathUtils.js"); diff --git a/js/lib/EthiopicRataDie.js b/js/lib/EthiopicRataDie.js index c841f7ee69..21cf04f0f7 100644 --- a/js/lib/EthiopicRataDie.js +++ b/js/lib/EthiopicRataDie.js @@ -1,7 +1,7 @@ /* * EthiopicRataDie.js - Represent an RD date in the Ethiopic calendar * - * Copyright © 2015, JEDLSoft + * Copyright © 2015, 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,11 +17,6 @@ * limitations under the License. */ -/* !depends -EthiopicCal.js -RataDie.js -*/ - var EthiopicCal = require("./EthiopicCal.js"); var RataDie = require("./RataDie.js"); diff --git a/js/lib/FuelConsumptionUnit.js b/js/lib/FuelConsumptionUnit.js index 8cbdd38101..de8fa337ad 100644 --- a/js/lib/FuelConsumptionUnit.js +++ b/js/lib/FuelConsumptionUnit.js @@ -289,4 +289,4 @@ FuelConsumptionUnit.getMeasures = function() { //register with the factory method Measurement._constructors["fuelconsumption"] = FuelConsumptionUnit; -module.exports = FuelConsumptionUnit; \ No newline at end of file +module.exports = FuelConsumptionUnit; diff --git a/js/lib/GlyphString.js b/js/lib/GlyphString.js index 537297d496..3a4c08eabb 100644 --- a/js/lib/GlyphString.js +++ b/js/lib/GlyphString.js @@ -18,8 +18,7 @@ * limitations under the License. */ -// !depends IString.js CType.js Utils.js JSUtils.js -// !data normdata ctype_m +// !data ccc nfc ctype_m var ilib = require("./ilib.js"); var Utils = require("./Utils.js"); @@ -109,19 +108,36 @@ var GlyphString = function (str, options) { options = options || {sync: true}; CType._load("ctype_m", options.sync, options.loadParams, ilib.bind(this, function() { - if (!ilib.data.norm || JSUtils.isEmpty(ilib.data.norm.ccc)) { + if (!ilib.data.ccc || JSUtils.isEmpty(ilib.data.ccc)) { Utils.loadData({ object: "GlyphString", locale: "-", - name: "normdata.json", + name: "ccc.json", nonlocale: true, sync: options.sync, loadParams: options.loadParams, callback: ilib.bind(this, function (norm) { - ilib.extend(ilib.data.norm, norm); - if (options && typeof(options.onLoad) === 'function') { - options.onLoad(this); - } + ilib.data.ccc = norm; + if (!ilib.data.norm.nfc || JSUtils.isEmpty(ilib.data.norm.nfc)) { + Utils.loadData({ + object: "GlyphString", + locale: "-", + name: "nfc/all.json", + nonlocale: true, + sync: options.sync, + loadParams: options.loadParams, + callback: ilib.bind(this, function (norm) { + ilib.data.norm.nfc = norm; + if (options && typeof(options.onLoad) === 'function') { + options.onLoad(this); + } + }) + }); + } else { + if (options && typeof(options.onLoad) === 'function') { + options.onLoad(this); + } + } }) }); } else { @@ -316,22 +332,22 @@ GlyphString.prototype.charIterator = function() { }; this.next = function () { var ch = this.nextChar || it.next(), - prevCcc = ilib.data.norm.ccc[ch], + prevCcc = ilib.data.ccc[ch], nextCcc, composed = ch; this.nextChar = undefined; this.spacingCombining = false; - if (ilib.data.norm.ccc && - (typeof(ilib.data.norm.ccc[ch]) === 'undefined' || ilib.data.norm.ccc[ch] === 0)) { + if (ilib.data.ccc && + (typeof(ilib.data.ccc[ch]) === 'undefined' || ilib.data.ccc[ch] === 0)) { // found a starter... find all the non-starters until the next starter. Must include // the next starter because under some odd circumstances, two starters sometimes recompose // together to form another character var notdone = true; while (it.hasNext() && notdone) { this.nextChar = it.next(); - nextCcc = ilib.data.norm.ccc[this.nextChar]; + nextCcc = ilib.data.ccc[this.nextChar]; var codePoint = IString.toCodePoint(this.nextChar, 0); // Mn characters are Marks that are non-spacing. These do not take more room than an accent, so they should be // considered part of the on-screen glyph, even if they are non-combining. Mc are marks that are spacing diff --git a/js/lib/GregRataDie.js b/js/lib/GregRataDie.js index d2cc97fa9e..8ee497e977 100644 --- a/js/lib/GregRataDie.js +++ b/js/lib/GregRataDie.js @@ -1,7 +1,7 @@ /* * GregRataDie.js - Represent the RD date number in the Gregorian calendar * - * Copyright © 2014-2015, JEDLSoft + * Copyright © 2014-2015, 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,12 +17,6 @@ * limitations under the License. */ -/* !depends -GregorianCal.js -RataDie.js -MathUtils.js -*/ - var MathUtils = require("./MathUtils.js"); var GregorianCal = require("./GregorianCal.js"); var RataDie = require("./RataDie.js"); @@ -185,4 +179,4 @@ GregRataDie.prototype._onOrBefore = function(rd, dayOfWeek) { return rd - MathUtils.mod(Math.floor(rd) - dayOfWeek, 7); }; -module.exports = GregRataDie; \ No newline at end of file +module.exports = GregRataDie; diff --git a/js/lib/GregorianCal.js b/js/lib/GregorianCal.js index 92817f94d4..f5c34ba0ad 100644 --- a/js/lib/GregorianCal.js +++ b/js/lib/GregorianCal.js @@ -1,7 +1,7 @@ /* - * gregorian.js - Represent a Gregorian calendar object. + * GregorianCal.js - Represent a Gregorian calendar object. * - * Copyright © 2012-2015,2018, JEDLSoft + * Copyright © 2012-2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -18,8 +18,7 @@ */ -/* !depends Calendar.js MathUtils.js */ - +var Utils = require("./Utils.js"); var MathUtils = require("./MathUtils.js"); var Calendar = require("./Calendar.js"); diff --git a/js/lib/GregorianDate.js b/js/lib/GregorianDate.js index cb3b21bfd1..d6502bcc9d 100644 --- a/js/lib/GregorianDate.js +++ b/js/lib/GregorianDate.js @@ -17,18 +17,6 @@ * limitations under the License. */ -/* !depends -ilib.js -IDate.js -GregorianCal.js -SearchUtils.js -MathUtils.js -Locale.js -LocaleInfo.js -GregRataDie.js -TimeZone.js -*/ - var ilib = require("./ilib.js"); var SearchUtils = require("./SearchUtils.js"); var MathUtils = require("./MathUtils.js"); diff --git a/js/lib/HanCal.js b/js/lib/HanCal.js index 34131541ff..182a7257c5 100644 --- a/js/lib/HanCal.js +++ b/js/lib/HanCal.js @@ -1,7 +1,7 @@ /* - * han.js - Represent a Han Chinese Lunar calendar object. + * HanCal.js - Represent a Han Chinese Lunar calendar object. * - * Copyright © 2014-2015, JEDLSoft + * Copyright © 2014-2017, 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,16 +17,6 @@ * limitations under the License. */ -/* !depends -ilib.js -Calendar.js -MathUtils.js -Astro.js -GregorianDate.js -GregRataDie.js -RataDie.js -*/ - var ilib = require("./ilib.js"); var MathUtils = require("./MathUtils.js"); diff --git a/js/lib/HanDate.js b/js/lib/HanDate.js index 68b80a4e9f..ed2225c355 100644 --- a/js/lib/HanDate.js +++ b/js/lib/HanDate.js @@ -1,7 +1,7 @@ /* * HanDate.js - Represent a date in the Han algorithmic calendar * - * Copyright © 2014-2015, JEDLSoft + * Copyright © 2014-2015, 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,21 +17,6 @@ * limitations under the License. */ -/* !depends -ilib.js -IDate.js -GregorianDate.js -HanCal.js -Astro.js -JSUtils.js -MathUtils.js -LocaleInfo.js -Locale.js -TimeZone.js -HanRataDie.js -RataDie.js -*/ - var ilib = require("./ilib.js"); var JSUtils = require("./JSUtils.js"); var MathUtils = require("./MathUtils.js"); diff --git a/js/lib/HanRataDie.js b/js/lib/HanRataDie.js index e0c5e6ac9b..53acac9e50 100644 --- a/js/lib/HanRataDie.js +++ b/js/lib/HanRataDie.js @@ -17,13 +17,6 @@ * limitations under the License. */ -/* !depends -ilib.js -HanCal.js -MathUtils.js -RataDie.js -*/ - var ilib = require("./ilib.js"); var MathUtils = require("./MathUtils.js"); var HanCal = require("./HanCal.js"); diff --git a/js/lib/HebrewCal.js b/js/lib/HebrewCal.js index f99e33055e..9ade37ab8c 100644 --- a/js/lib/HebrewCal.js +++ b/js/lib/HebrewCal.js @@ -1,5 +1,5 @@ /* - * hebrew.js - Represent a Hebrew calendar object. + * HebrewCal.js - Represent a Hebrew calendar object. * * Copyright © 2012-2015,2018, JEDLSoft * @@ -17,9 +17,6 @@ * limitations under the License. */ - -/* !depends Calendar.js MathUtils.js */ - var MathUtils = require("./MathUtils.js"); var Calendar = require("./Calendar.js"); diff --git a/js/lib/HebrewDate.js b/js/lib/HebrewDate.js index 4a9d848bb4..985d60a28b 100644 --- a/js/lib/HebrewDate.js +++ b/js/lib/HebrewDate.js @@ -17,17 +17,6 @@ * limitations under the License. */ -/* !depends -ilib.js -Locale.js -LocaleInfo.js -TimeZone.js -IDate.js -MathUtils.js -HebrewCal.js -HebrewRataDie.js -*/ - var ilib = require("./ilib.js"); var MathUtils = require("./MathUtils.js"); diff --git a/js/lib/HebrewRataDie.js b/js/lib/HebrewRataDie.js index 9b2756b72b..b3a5f3d5c6 100644 --- a/js/lib/HebrewRataDie.js +++ b/js/lib/HebrewRataDie.js @@ -1,7 +1,7 @@ /* * HebrewRataDie.js - Represent an RD date in the Hebrew calendar * - * Copyright © 2012-2015, JEDLSoft + * Copyright © 2012-2015, 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,12 +17,6 @@ * limitations under the License. */ -/* !depends -MathUtils.js -HebrewCal.js -RataDie.js -*/ - var HebrewCal = require("./HebrewCal.js"); var MathUtils = require("./MathUtils.js"); var RataDie = require("./RataDie.js"); diff --git a/js/lib/IDate.js b/js/lib/IDate.js index e7d34dc195..ebd9ea7165 100644 --- a/js/lib/IDate.js +++ b/js/lib/IDate.js @@ -2,7 +2,7 @@ * IDate.js - Represent a date in any calendar. This class is subclassed for each * calendar and includes some shared functionality. * - * Copyright © 2012-2015, JEDLSoft + * Copyright © 2012-2015, 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -18,8 +18,6 @@ * limitations under the License. */ -/* !depends LocaleInfo.js */ - var LocaleInfo = require("./LocaleInfo.js"); /** diff --git a/js/lib/INumber.js b/js/lib/INumber.js index 91d1f169c5..836038b676 100644 --- a/js/lib/INumber.js +++ b/js/lib/INumber.js @@ -17,16 +17,6 @@ * limitations under the License. */ -/* -!depends -ilib.js -Locale.js -isDigit.js -isSpace.js -LocaleInfo.js -Currency.js -*/ - var ilib = require("./ilib.js"); var Locale = require("./Locale.js"); @@ -305,4 +295,4 @@ INumber.prototype = { } }; -module.exports = INumber; \ No newline at end of file +module.exports = INumber; diff --git a/js/lib/ISO2022.js b/js/lib/ISO2022.js index 27c741b519..cb6f892110 100644 --- a/js/lib/ISO2022.js +++ b/js/lib/ISO2022.js @@ -1,7 +1,7 @@ /* * ISO2022.js - Implement the various ISO-2022 style mappings * - * Copyright © 2014-2015, JEDLSoft + * Copyright © 2014-2015, 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,8 +17,6 @@ * limitations under the License. */ -// !depends ilib.js Charmap.js - var Charset = require("./Charset.js"); var Charmap = require("./Charmap.js"); diff --git a/js/lib/ISet.js b/js/lib/ISet.js index 47ed32085d..0feb9709fa 100644 --- a/js/lib/ISet.js +++ b/js/lib/ISet.js @@ -93,6 +93,8 @@ ISet.prototype.contains = function(element) { return this.elements[element] || false; }; +ISet.prototype.has = ISet.prototype.contains; // for compatibility with ES6 + /** * Returns true if this set contains no elements. * @return {boolean} diff --git a/js/lib/IString.js b/js/lib/IString.js index 3c2a1e89ff..95b49d3e61 100644 --- a/js/lib/IString.js +++ b/js/lib/IString.js @@ -17,8 +17,6 @@ * limitations under the License. */ -// !depends ilib.js Utils.js Locale.js MathUtils.js - // !data plurals var ilib = require("./ilib.js"); @@ -174,28 +172,19 @@ IString.loadPlurals = function (sync, locale, loadParams, onLoad) { loc = new Locale(ilib.getLocale()); } var spec = loc.getLanguage(); - if (!ilib.data["plurals_" + spec]) { - Utils.loadData({ - name: "plurals.json", - object: "IString", - locale: loc, - sync: sync, - loadParams: loadParams, - callback: ilib.bind(this, function(plurals) { - if (!plurals) { - ilib.data.cache.IString[spec] = IString.plurals_default; - } - ilib.data["plurals_" + spec] = plurals || IString.plurals_default; - if (onLoad && typeof(onLoad) === 'function') { - onLoad(ilib.data["plurals_" + spec]); - } - }) - }); - } else { - if (onLoad && typeof(onLoad) === 'function') { - onLoad(ilib.data["plurals_" + spec]); - } - } + Utils.loadData({ + name: "plurals.json", + object: "IString", + locale: loc, + sync: sync, + loadParams: loadParams, + callback: ilib.bind(this, function(plurals) { + plurals = plurals || IString.plurals_default; + if (onLoad && typeof(onLoad) === 'function') { + onLoad(plurals); + } + }) + }); }; /** @@ -296,8 +285,7 @@ IString._fncs = { var parts = []; var numberDigits = {}; var operandSymbol = {}; - var integerPart, decimalPartLength, decimalPart; - + if (numberToString.indexOf('.') !== -1) { //decimal parts = numberToString.split('.', 2); numberDigits.integerPart = parseInt(parts[0], 10); @@ -651,7 +639,7 @@ IString.prototype = { case "few": case "many": // CLDR locale-dependent number classes - var ruleset = ilib.data["plurals_" + this.locale.getLanguage()]; + var ruleset = ilib.data["plurals_" + this.locale.getLanguage()]|| IString.plurals_default; if (ruleset) { var rule = ruleset[limit]; return IString._fncs.getValue(rule, operandValue); @@ -830,7 +818,7 @@ IString.prototype = { var strings = []; var i; var parts; - var arg; + var limit; var result = undefined; var defaultCase = ""; diff --git a/js/lib/IslamicCal.js b/js/lib/IslamicCal.js index 71d039a0a1..bab2fe632d 100644 --- a/js/lib/IslamicCal.js +++ b/js/lib/IslamicCal.js @@ -1,7 +1,7 @@ /* - * islamic.js - Represent a Islamic calendar object. + * IslamicCal.js - Represent a Islamic calendar object. * - * Copyright © 2012-2015,2018, JEDLSoft + * Copyright © 2012-2015, 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,12 +17,6 @@ * limitations under the License. */ - -/* !depends -Calendar.js -MathUtils.js -*/ - var MathUtils = require("./MathUtils.js"); var Calendar = require("./Calendar.js"); diff --git a/js/lib/IslamicDate.js b/js/lib/IslamicDate.js index 48e30748a3..4d152073bf 100644 --- a/js/lib/IslamicDate.js +++ b/js/lib/IslamicDate.js @@ -1,7 +1,7 @@ /* - * islamicDate.js - Represent a date in the Islamic calendar + * IslamicDate.js - Represent a date in the Islamic calendar * - * Copyright © 2012-2015, JEDLSoft + * Copyright © 2012-2015, 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,18 +17,6 @@ * limitations under the License. */ -/* !depends -ilib.js -Locale.js -LocaleInfo.js -TimeZone.js -IDate.js -MathUtils.js -SearchUtils.js -IslamicCal.js -IslamicRataDie.js -*/ - var ilib = require("./ilib.js"); var SearchUtils = require("./SearchUtils.js"); var MathUtils = require("./MathUtils.js"); @@ -389,4 +377,4 @@ IslamicDate.prototype.getCalendar = function() { //register with the factory method IDate._constructors["islamic"] = IslamicDate; -module.exports = IslamicDate; \ No newline at end of file +module.exports = IslamicDate; diff --git a/js/lib/IslamicRataDie.js b/js/lib/IslamicRataDie.js index 68de582c88..5c362552a4 100644 --- a/js/lib/IslamicRataDie.js +++ b/js/lib/IslamicRataDie.js @@ -1,7 +1,7 @@ /* * IslamicRataDie.js - Represent an RD date in the Islamic calendar * - * Copyright © 2012-2015, JEDLSoft + * Copyright © 2012-2015, 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,11 +17,6 @@ * limitations under the License. */ -/* !depends -IslamicCal.js -RataDie.js -*/ - var RataDie = require("./RataDie.js"); var IslamicCal = require("./IslamicCal.js"); diff --git a/js/lib/JSUtils.js b/js/lib/JSUtils.js index 5fff70376a..c843fb3e1f 100644 --- a/js/lib/JSUtils.js +++ b/js/lib/JSUtils.js @@ -1,7 +1,7 @@ /* * JSUtils.js - Misc utilities to work around Javascript engine differences - * - * Copyright © 2013-2015, JEDLSoft + * + * Copyright © 2013-2015, 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,18 +17,16 @@ * limitations under the License. */ -// !depends ilib.js - var ilib = require("./ilib.js"); var JSUtils = {}; /** - * Perform a shallow copy of the source object to the target object. This only - * copies the assignments of the source properties to the target properties, + * Perform a shallow copy of the source object to the target object. This only + * copies the assignments of the source properties to the target properties, * but not recursively from there.

- * - * + * + * * @static * @param {Object} source the source object to copy properties from * @param {Object} target the target object to copy properties into @@ -46,7 +44,7 @@ JSUtils.shallowCopy = function (source, target) { /** * Perform a recursive deep copy from the "from" object to the "deep" object. - * + * * @static * @param {Object} from the object to copy from * @param {Object} to the object to copy to @@ -72,7 +70,7 @@ JSUtils.deepCopy = function(from, to) { * Map a string to the given set of alternate characters. If the target set * does not contain a particular character in the input string, then that * character will be copied to the output unmapped. - * + * * @static * @param {string} str a string to map to an alternate set of characters * @param {Array.|Object} map a mapping to alternate characters @@ -83,7 +81,7 @@ JSUtils.mapString = function (str, map) { if (map && str) { for (var i = 0; i < str.length; i++) { var c = str.charAt(i); // TODO use a char iterator? - mapped += map[c] || c; + mapped += map[c] || c; } } else { mapped = str; @@ -96,7 +94,7 @@ JSUtils.mapString = function (str, map) { * support indexOf, it is used directly. Otherwise, this function implements it * itself. The idea is to make sure that you can use the quick indexOf if it is * available, but use a slower implementation in older engines as well. - * + * * @static * @param {Array.} array array to search * @param {Object|string|number} obj object being sought. This should be of the same type as the @@ -122,7 +120,7 @@ JSUtils.indexOf = function(array, obj) { /** * Pad the str with zeros to the given length of digits. - * + * * @static * @param {string|number} str the string or number to pad * @param {number} length the desired total length of the output string, padded @@ -138,8 +136,8 @@ JSUtils.pad = function (str, length, right) { if (str.charAt(0) === '-') { start++; } - return (str.length >= length+start) ? str : - (right ? str + JSUtils.pad.zeros.substring(0,length-str.length+start) : + return (str.length >= length+start) ? str : + (right ? str + JSUtils.pad.zeros.substring(0,length-str.length+start) : str.substring(0, start) + JSUtils.pad.zeros.substring(0,length-str.length+start) + str.substring(start)); }; @@ -149,7 +147,7 @@ JSUtils.pad.zeros = "00000000000000000000000000000000"; /** * Convert a string into the hexadecimal representation * of the Unicode characters in that string. - * + * * @static * @param {string} string The string to convert * @param {number=} limit the number of digits to use to represent the character (1 to 8) @@ -157,10 +155,10 @@ JSUtils.pad.zeros = "00000000000000000000000000000000"; * Unicode characters in the input string */ JSUtils.toHexString = function(string, limit) { - var i, - result = "", + var i, + result = "", lim = (limit && limit < 9) ? limit : 4; - + if (!string) { return ""; } @@ -172,8 +170,8 @@ JSUtils.toHexString = function(string, limit) { }; /** - * Test whether an object in a Javascript Date. - * + * Test whether an object in a Javascript Date. + * * @static * @param {Object|null|undefined} object The object to test * @return {boolean} return true if the object is a Date @@ -183,19 +181,19 @@ JSUtils.isDate = function(object) { if (typeof(object) === 'object') { return Object.prototype.toString.call(object) === '[object Date]'; } - return false; + return false; }; /** * Merge the properties of object2 into object1 in a deep manner and return a merged - * object. If the property exists in both objects, the value in object2 will overwrite + * object. If the property exists in both objects, the value in object2 will overwrite * the value in object1. If a property exists in object1, but not in object2, its value - * will not be touched. If a property exists in object2, but not in object1, it will be + * will not be touched. If a property exists in object2, but not in object1, it will be * added to the merged result.

- * + * * Name1 and name2 are for creating debug output only. They are not necessary.

- * - * + * + * * @static * @param {*} object1 the object to merge into * @param {*} object2 the object to merge @@ -238,19 +236,19 @@ JSUtils.merge = function (object1, object2, replace, name1, name2) { /** * Return true if the given object has no properties.

- * - * + * + * * @static * @param {Object} obj the object to check * @return {boolean} true if the given object has no properties, false otherwise */ JSUtils.isEmpty = function (obj) { var prop = undefined; - + if (!obj) { return true; } - + for (prop in obj) { if (prop && typeof(obj[prop]) !== 'undefined') { return false; @@ -264,15 +262,15 @@ JSUtils.isEmpty = function (obj) { */ JSUtils.hashCode = function(obj) { var hash = 0; - + function addHash(hash, newValue) { // co-prime numbers creates a nicely distributed hash hash *= 65543; hash += newValue; - hash %= 2147483647; + hash %= 2147483647; return hash; } - + function stringHash(str) { var hash = 0; for (var i = 0; i < str.length; i++) { @@ -280,7 +278,7 @@ JSUtils.hashCode = function(obj) { } return hash; } - + switch (typeof(obj)) { case 'undefined': hash = 0; @@ -311,9 +309,34 @@ JSUtils.hashCode = function(obj) { } break; } - + return hash; }; +/** + * Calls the given action function on each element in the given + * array arr in order and finally call the given callback when they are + * all done. The action function should take the array to + * process as its parameter, and a callback function. It should + * process the first element in the array and then call its callback + * function with the result of processing that element (if any). + * + * @param {Array.} arr the array to process + * @param {Function(Array., Function(*))} action the action + * to perform on each element of the array + * @param {Function(*)} callback the callback function to call + * with the results of processing each element of the array. + */ +JSUtils.callAll = function(arr, action, callback, results) { + results = results || []; + if (arr && arr.length) { + action(arr, function(result) { + results.push(result); + JSUtils.callAll(arr.slice(1), action, callback, results); + }); + } else { + callback(results); + } +}; module.exports = JSUtils; diff --git a/js/lib/JulianCal.js b/js/lib/JulianCal.js index 35c87bc9a5..f7f6cea6d5 100644 --- a/js/lib/JulianCal.js +++ b/js/lib/JulianCal.js @@ -1,7 +1,7 @@ /* - * julian.js - Represent a Julian calendar object. + * JulianCal.js - Represent a Julian calendar object. * - * Copyright © 2012-2015,2018, JEDLSoft + * Copyright © 2012-2017, 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,9 +17,6 @@ * limitations under the License. */ - -/* !depends Calendar.js MathUtils.js */ - var MathUtils = require("./MathUtils.js"); var Calendar = require("./Calendar.js"); diff --git a/js/lib/JulianDate.js b/js/lib/JulianDate.js index f9a406dd3a..cbf3ee922e 100644 --- a/js/lib/JulianDate.js +++ b/js/lib/JulianDate.js @@ -1,7 +1,7 @@ /* * JulianDate.js - Represent a date in the Julian calendar * - * Copyright © 2012-2015, JEDLSoft + * Copyright © 2012-2015, 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,18 +17,6 @@ * limitations under the License. */ -/* !depends -ilib.js -Locale.js -IDate.js -TimeZone.js -JulianCal.js -SearchUtils.js -MathUtils.js -LocaleInfo.js -JulianRataDie.js -*/ - var ilib = require("./ilib.js"); var SearchUtils = require("./SearchUtils.js"); var MathUtils = require("./MathUtils.js"); @@ -339,4 +327,4 @@ JulianDate.prototype.getCalendar = function() { //register with the factory method IDate._constructors["julian"] = JulianDate; -module.exports = JulianDate; \ No newline at end of file +module.exports = JulianDate; diff --git a/js/lib/JulianRataDie.js b/js/lib/JulianRataDie.js index 1e417accf1..15fa76ff7c 100644 --- a/js/lib/JulianRataDie.js +++ b/js/lib/JulianRataDie.js @@ -1,7 +1,7 @@ /* - * julianDate.js - Represent a date in the Julian calendar + * JulianDate.js - Represent a date in the Julian calendar * - * Copyright © 2012-2015, JEDLSoft + * Copyright © 2012-2015, 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,11 +17,6 @@ * limitations under the License. */ -/* !depends -JulianCal.js -RataDie.js -*/ - var RataDie = require("./RataDie.js"); var JulianCal = require("./JulianCal.js"); diff --git a/js/lib/LengthUnit.js b/js/lib/LengthUnit.js index b3a62d9e3b..196baaab92 100644 --- a/js/lib/LengthUnit.js +++ b/js/lib/LengthUnit.js @@ -272,4 +272,4 @@ LengthUnit.getMeasures = function () { //register with the factory method Measurement._constructors["length"] = LengthUnit; -module.exports = LengthUnit; \ No newline at end of file +module.exports = LengthUnit; diff --git a/js/lib/ListFmt.js b/js/lib/ListFmt.js index 193b6c3fcc..d5159bf12f 100644 --- a/js/lib/ListFmt.js +++ b/js/lib/ListFmt.js @@ -1,7 +1,7 @@ /* * ListFmt.js - Represent a list formatter. * - * Copyright © 2017, JEDLSoft + * Copyright © 2017-2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,12 +17,6 @@ * limitations under the License. */ -/* -!depends -ilib.js -Utils.js -Locale.js -*/ // !data list @@ -108,7 +102,7 @@ var ListFmt = function(options) { Utils.loadData({ name: "list.json", - object: ListFmt, + object: "ListFmt", locale: this.locale, sync: this.sync, loadParams: this.loadParams, diff --git a/js/lib/Loader.js b/js/lib/Loader.js index 3acb9eacba..3ba32dcd64 100644 --- a/js/lib/Loader.js +++ b/js/lib/Loader.js @@ -17,8 +17,6 @@ * limitations under the License. */ -/* !depends ilib.js Path.js */ - var Path = require("./Path.js"); var ilib = require("./ilib.js"); @@ -96,18 +94,7 @@ Loader.prototype.loadFiles = function(paths, sync, params, callback) { //console.log("nothing to load"); return; } - - if (params && params.returnOne) { - // Only return the most locale-specific data. Do this by searching backwards - // in the list of paths. - var pathname; - var tmp = []; - while ((pathname = paths.pop()) !== undefined) { - tmp.push(pathname); - } - paths = tmp; - } - + //console.log("generic loader: attempting to load these files: " + JSON.stringify(paths) + "\n"); if (sync) { var ret = []; @@ -118,9 +105,6 @@ Loader.prototype.loadFiles = function(paths, sync, params, callback) { for (var i = 0; i < paths.length; i++) { var text = this._loadFileAlongIncludePath(includePath, Path.normalize(paths[i])); ret.push(typeof(text) === "string" ? JSON.parse(text) : text); - if (params && params.returnOne && text) { - break; - } }; // only call the callback at the end of the chain of files @@ -280,4 +264,4 @@ Loader.prototype.isAvailable = function(file, sync, cb) { })); }; -module.exports = Loader; +module.exports = Loader; \ No newline at end of file diff --git a/js/lib/Locale.js b/js/lib/Locale.js index 836b0db3a5..a52726a245 100644 --- a/js/lib/Locale.js +++ b/js/lib/Locale.js @@ -1,7 +1,7 @@ /* * Locale.js - Locale specifier definition * - * Copyright © 2012-2015, JEDLSoft + * Copyright © 2012-2015, 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,8 +17,6 @@ * limitations under the License. */ -// !depends ilib.js JSUtils.js - var ilib = require("./ilib.js"); var JSUtils = require("./JSUtils.js"); @@ -854,9 +852,8 @@ Locale.prototype = { /** * @private */ -Locale.locales = [ - // !macro localelist -]; +Locale.locales = []; +// !macro localelist /** * Return the list of available locales that this iLib file supports. diff --git a/js/lib/LocaleInfo.js b/js/lib/LocaleInfo.js index 7747590a98..f616efe1e4 100644 --- a/js/lib/LocaleInfo.js +++ b/js/lib/LocaleInfo.js @@ -1,7 +1,7 @@ /* * LocaleInfo.js - Encode locale-specific defaults * - * Copyright © 2012-2015, JEDLSoft + * Copyright © 2012-2015, 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,8 +17,6 @@ * limitations under the License. */ -// !depends ilib.js Locale.js Utils.js - // !data localeinfo var ilib = require("./ilib.js"); @@ -129,10 +127,6 @@ var LocaleInfo = function(locale, options) { } } - if (!ilib.data.cache.LocaleInfo) { - ilib.data.cache.LocaleInfo = {}; - } - Utils.loadData({ object: "LocaleInfo", locale: this.locale, @@ -140,12 +134,7 @@ var LocaleInfo = function(locale, options) { sync: sync, loadParams: loadParams, callback: ilib.bind(this, function (info) { - if (!info) { - info = LocaleInfo.defaultInfo; - var spec = this.locale.getSpec().replace(/-/g, "_"); - ilib.data.cache.LocaleInfo[spec] = info; - } - this.info = info; + this.info = info || LocaleInfo.defaultInfo; if (options && typeof(options.onLoad) === 'function') { options.onLoad(this); } diff --git a/js/lib/LocaleMatcher.js b/js/lib/LocaleMatcher.js index 4e740a520f..4f2af9a69c 100644 --- a/js/lib/LocaleMatcher.js +++ b/js/lib/LocaleMatcher.js @@ -1,7 +1,7 @@ /* * LocaleMatcher.js - Locale matcher definition * - * Copyright © 2013-2015, JEDLSoft + * Copyright © 2013-2015, 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,7 +17,6 @@ * limitations under the License. */ -// !depends ilib.js Locale.js Utils.js // !data localematch var ilib = require("./ilib.js"); @@ -95,8 +94,6 @@ var LocaleMatcher = function(options) { callback: ilib.bind(this, function (info) { if (!info) { info = {}; - var spec = this.locale.getSpec().replace(/-/g, "_"); - ilib.data.cache.LocaleMatcher[spec] = info; } /** @type {Object.} */ this.info = info; diff --git a/js/lib/MassUnit.js b/js/lib/MassUnit.js index 0c22457eeb..d96cdc20b7 100644 --- a/js/lib/MassUnit.js +++ b/js/lib/MassUnit.js @@ -260,4 +260,4 @@ MassUnit.getMeasures = function () { //register with the factory method Measurement._constructors["mass"] = MassUnit; -module.exports = MassUnit; \ No newline at end of file +module.exports = MassUnit; diff --git a/js/lib/MeasurementFactory.js b/js/lib/MeasurementFactory.js index 88a582e551..fe5c778ea5 100644 --- a/js/lib/MeasurementFactory.js +++ b/js/lib/MeasurementFactory.js @@ -2,7 +2,7 @@ * MeasurementFactory.js - Function to instantiate the appropriate subclasses of * the Measurement class. * - * Copyright © 2015, JEDLSoft + * Copyright © 2015, 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/js/lib/Name.js b/js/lib/Name.js index 101072a7cb..d994dc745a 100644 --- a/js/lib/Name.js +++ b/js/lib/Name.js @@ -17,18 +17,6 @@ * limitations under the License. */ -/* !depends -ilib.js -Locale.js -Utils.js -isAlpha.js -isIdeo.js -isPunct.js -isSpace.js -JSUtils.js -IString.js -*/ - // !data name // notes: @@ -178,8 +166,6 @@ var Name = function (name, options) { callback: ilib.bind(this, function (info) { if (!info) { info = Name.defaultInfo[this.style || "western"]; - var spec = this.locale.getSpec().replace(/-/g, "_"); - ilib.data.cache.Name[spec] = info; } if (typeof (name) === 'object') { // copy constructor diff --git a/js/lib/NameFmt.js b/js/lib/NameFmt.js index 958d839075..6275e67386 100644 --- a/js/lib/NameFmt.js +++ b/js/lib/NameFmt.js @@ -1,7 +1,7 @@ /* * NameFmt.js - Format person names for display * - * Copyright © 2013-2015, JEDLSoft + * Copyright © 2013-2015, 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,15 +17,6 @@ * limitations under the License. */ -/* !depends -ilib.js -Locale.js -IString.js -Name.js -isPunct.js -Utils.js -*/ - // !data name var ilib = require("./ilib.js"); @@ -201,12 +192,7 @@ var NameFmt = function(options) { sync: sync, loadParams: this.loadParams, callback: ilib.bind(this, function (info) { - if (!info) { - info = Name.defaultInfo; - var spec = this.locale.getSpec().replace(/-/g, "_"); - ilib.data.cache.Name[spec] = info; - } - this.info = info; + this.info = info || Name.defaultInfo;; this._init(); if (options && typeof(options.onLoad) === 'function') { options.onLoad(this); diff --git a/js/lib/NormString.js b/js/lib/NormString.js index 27f4dcbf87..25f8da1456 100644 --- a/js/lib/NormString.js +++ b/js/lib/NormString.js @@ -1,7 +1,7 @@ /* * NormString.js - ilib normalized string subclass definition - * - * Copyright © 2013-2015, JEDLSoft + * + * Copyright © 2013-2015, 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,7 +17,7 @@ * limitations under the License. */ -// !depends IString.js GlyphString.js Utils.js +// !data ccc nfd nfc nfkd nfkc var ilib = require("./ilib.js"); var Utils = require("./Utils.js"); @@ -71,7 +71,7 @@ NormString.prototype.constructor = NormString; /** * Initialize the normalized string routines statically. This * is intended to be called in a dynamic-load version of ilib - * to load the data need to normalize strings before any instances + * to load the data needed to normalize strings before any instances * of NormString are created.

* * The options parameter may contain any of the following properties: @@ -114,36 +114,37 @@ NormString.init = function(options) { var formDependencies = { "nfd": ["nfd"], - "nfc": ["nfd"], + "nfc": ["nfc", "nfd"], "nfkd": ["nfkd", "nfd"], - "nfkc": ["nfkd", "nfd"] + "nfkc": ["nfc", "nfkd", "nfd"] }; - var files = ["normdata.json"]; + var files = []; var forms = formDependencies[form]; - for (var f in forms) { - files.push(forms[f] + "/" + script + ".json"); - } + var toLoad = []; + forms.forEach(function(f) { + if (!ilib.data.norm[f] || JSUtils.isEmpty(ilib.data.norm[f])) { + files.push(f + "/" + script + ".json"); + toLoad.push(f); + } + }); - if (!ilib.data.norm || JSUtils.isEmpty(ilib.data.norm.ccc)) { + if (files.length || !ilib.data.ccc || JSUtils.isEmpty(ilib.data.ccc)) { Utils.loadData({ object: "NormString", - name: "normdata.json", + name: "ccc.json", locale: "-", nonlocale: true, sync: sync, loadParams: loadParams, - callback: ilib.bind(this, function(normdata) { - if (!normdata) { - ilib.data.cache.normdata = normdata; - } - - if (JSUtils.isEmpty(ilib.data.norm.ccc) || JSUtils.isEmpty(ilib.data.norm.nfd) || JSUtils.isEmpty(ilib.data.norm.nfkd)) { + callback: ilib.bind(this, function(normdata){ + ilib.data.ccc = normdata; + + if (files.length) { //console.log("loading files " + JSON.stringify(files)); Utils._callLoadData(files, sync, loadParams, function(arr) { - ilib.extend(ilib.data.norm, arr[0]); - for (var i = 1; i < arr.length; i++) { + for (var i = 0; i < arr.length; i++) { if (typeof(arr[i]) !== 'undefined') { - ilib.extend(ilib.data.norm[forms[i-1]], arr[i]); + ilib.extend(ilib.data.norm[toLoad[i]], arr[i]); } } if (options && typeof(options.onLoad) === 'function') { @@ -305,10 +306,13 @@ NormString._expand = function (ch, canon, compat) { * * The normalization data is organized by normalization form and within there * by script. To include the normalization data for a particular script with - * a particular normalization form, use the directive: - * + * a particular normalization form, use the following require: + * *


- * !depends <form>/<script>.js
+ * NormString.init({
+ *   form: "<form>",
+ *   script: "<script>"
+ * });
  * 
* * Where <form> is the normalization form ("nfd", "nfc", "nfkd", or "nfkc"), and @@ -316,7 +320,10 @@ NormString._expand = function (ch, canon, compat) { * support. Example: to load in the NFC data for Cyrillic, you would use: * *

- * !depends nfc/Cyrl.js
+ * NormString.init({
+ *   form: "nfc",
+ *   script: "Cyrl"
+ * });
  * 
* * Note that because certain normalization forms include others in their algorithm, @@ -343,15 +350,15 @@ NormString._expand = function (ch, canon, compat) { * that are commonly used in many different scripts. Examples of characters in the * Common script are the ASCII punctuation characters, or the ASCII Arabic * numerals "0" through "9".

- * - * By default, none of the data for normalization is automatically - * included in the preassembled iliball.js file. + * + * By default, none of the data for normalization is automatically + * included in the preassembled ilib files. (For size "full".) * If you would like to normalize strings, you must assemble * your own copy of ilib and explicitly include the normalization data - * for those scripts as per the instructions above. This normalization method will - * produce output, even without the normalization data. However, the output will be - * simply the same thing as its input for all scripts - * except Korean Hangul and Jamo, which are decomposed and recomposed + * for those scripts. This normalization method will + * produce output, even without the normalization data. However, the output will be + * simply the same thing as its input for all scripts + * except Korean Hangul and Jamo, which are decomposed and recomposed * algorithmically and therefore do not rely on data.

* * If characters are encountered for which there are no normalization data, they @@ -409,11 +416,11 @@ NormString.prototype.normalize = function (form) { // now put the combining marks in a fixed order by // sorting on the combining class function compareByCCC(left, right) { - return ilib.data.norm.ccc[left] - ilib.data.norm.ccc[right]; + return ilib.data.ccc[left] - ilib.data.ccc[right]; } function ccc(c) { - return ilib.data.norm.ccc[c] || 0; + return ilib.data.ccc[c] || 0; } function sortChars(arr, comp) { @@ -451,11 +458,11 @@ NormString.prototype.normalize = function (form) { i = 0; while (i < cpArray.length) { - if (typeof(ilib.data.norm.ccc[cpArray[i]]) !== 'undefined' && ccc(cpArray[i]) !== 0) { + if (typeof(ilib.data.ccc[cpArray[i]]) !== 'undefined' && ccc(cpArray[i]) !== 0) { // found a non-starter... rearrange all the non-starters until the next starter end = i+1; while (end < cpArray.length && - typeof(ilib.data.norm.ccc[cpArray[end]]) !== 'undefined' && + typeof(ilib.data.ccc[cpArray[end]]) !== 'undefined' && ccc(cpArray[end]) !== 0) { end++; } @@ -471,17 +478,17 @@ NormString.prototype.normalize = function (form) { if (nfc) { i = 0; while (i < cpArray.length) { - if (typeof(ilib.data.norm.ccc[cpArray[i]]) === 'undefined' || ilib.data.norm.ccc[cpArray[i]] === 0) { + if (typeof(ilib.data.ccc[cpArray[i]]) === 'undefined' || ilib.data.ccc[cpArray[i]] === 0) { // found a starter... find all the non-starters until the next starter. Must include // the next starter because under some odd circumstances, two starters sometimes recompose // together to form another character end = i+1; var notdone = true; while (end < cpArray.length && notdone) { - if (typeof(ilib.data.norm.ccc[cpArray[end]]) !== 'undefined' && - ilib.data.norm.ccc[cpArray[end]] !== 0) { - if (ccc(cpArray[end-1]) < ccc(cpArray[end])) { - // not blocked + if (typeof(ilib.data.ccc[cpArray[end]]) !== 'undefined' && + ilib.data.ccc[cpArray[end]] !== 0) { + if (ccc(cpArray[end-1]) < ccc(cpArray[end])) { + // not blocked testChar = GlyphString._compose(cpArray[i], cpArray[end]); if (typeof(testChar) !== 'undefined') { cpArray[i] = testChar; @@ -559,7 +566,7 @@ NormString.prototype.charIterator = function() { * @private */ var ccc = function(c) { - return ilib.data.norm.ccc[c] || 0; + return ilib.data.ccc[c] || 0; }; this.index = 0; @@ -574,8 +581,8 @@ NormString.prototype.charIterator = function() { this.nextChar = undefined; - if (ilib.data.norm.ccc && - (typeof(ilib.data.norm.ccc[ch]) === 'undefined' || ccc(ch) === 0)) { + if (ilib.data.ccc && + (typeof(ilib.data.ccc[ch]) === 'undefined' || ccc(ch) === 0)) { // found a starter... find all the non-starters until the next starter. Must include // the next starter because under some odd circumstances, two starters sometimes recompose // together to form another character @@ -583,7 +590,7 @@ NormString.prototype.charIterator = function() { while (it.hasNext() && notdone) { this.nextChar = it.next(); nextCcc = ccc(this.nextChar); - if (typeof(ilib.data.norm.ccc[this.nextChar]) !== 'undefined' && nextCcc !== 0) { + if (typeof(ilib.data.ccc[this.nextChar]) !== 'undefined' && nextCcc !== 0) { ch += this.nextChar; this.nextChar = undefined; } else { diff --git a/js/lib/NumFmt.js b/js/lib/NumFmt.js index d809f59d2a..d91374bbd1 100644 --- a/js/lib/NumFmt.js +++ b/js/lib/NumFmt.js @@ -677,4 +677,4 @@ NumFmt.prototype = { } }; -module.exports = NumFmt; \ No newline at end of file +module.exports = NumFmt; diff --git a/js/lib/NumberingPlan.js b/js/lib/NumberingPlan.js index 4a93c1d0f9..99e4602e39 100644 --- a/js/lib/NumberingPlan.js +++ b/js/lib/NumberingPlan.js @@ -1,7 +1,7 @@ /* * NumPlan.js - Represent a phone numbering plan. * - * Copyright © 2014-2015, JEDLSoft + * Copyright © 2014-2015, 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,13 +17,6 @@ * limitations under the License. */ -/* -!depends -ilib.js -Locale.js -Utils.js -*/ - // !data numplan var ilib = require("./ilib.js"); @@ -240,4 +233,4 @@ NumberingPlan.prototype = { } }; -module.exports = NumberingPlan; \ No newline at end of file +module.exports = NumberingPlan; diff --git a/js/lib/Path.js b/js/lib/Path.js index f66924afc3..81ff6a858c 100644 --- a/js/lib/Path.js +++ b/js/lib/Path.js @@ -1,6 +1,6 @@ /* * Path.js - minimal pure js implementation of the nodejs path module - * + * * Copyright © 2015, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -18,57 +18,84 @@ */ var Path = { - /** - * Return the parent directory of the given pathname - * similar to the dirname shell function. - * @static - * @param {string} pathname path to check - * @return {string} the parent dir of the given pathname - */ - dirname: function(pathname) { - pathname = pathname.replace(/\\/g, "/"); - var i = pathname.lastIndexOf("/"); - return i !== -1 ? pathname.substring(0,i) : pathname; - }, - - /** - * Return the normalized version of the given pathname. This - * cleans up things like double directory separators and such. - * @static - * @param {string} pathname path to check - * @return {string} the normalized version of the given pathname - */ - normalize: function(pathname) { - if (pathname) { - pathname = pathname.replace(/\\/g, "/"); - pathname = pathname.replace(/\/\//g, "/"); - pathname = pathname.replace(/\/[^/]*[^\./]\/\.\./g, "/."); - pathname = pathname.replace(/\/\//g, "/"); - pathname = pathname.replace(/\/\.\//g, "/"); - pathname = pathname.replace(/^\.\//, ""); - pathname = pathname.replace(/\/\//g, "/"); - pathname = pathname.replace(/\/\.$/, "/"); - pathname = pathname.replace(/\/\//g, "/"); - if (pathname.length > 1) pathname = pathname.replace(/\/$/, ""); - if (pathname.length === 0) pathname = '.'; - } - return pathname; - }, - - /** - * Return a path that is the concatenation of all the of the arguments - * which each name a path segment. - * @static - * @param {...string} var_args - * @return {string} the concatenated pathname - */ - join: function(var_args) { - var arr = []; - for (var i = 0; i < arguments.length; i++) { - arr.push(arguments[i] && arguments[i].length > 0 ? arguments[i] : "."); - } - return Path.normalize(arr.join("/")); - } + /** + * Return the parent directory of the given pathname + * similar to the dirname shell function. + * @static + * @param {string} pathname path to check + * @return {string} the parent dir of the given pathname + */ + dirname: function(pathname) { + if (!pathname) return pathname; + pathname = Path.normalize(pathname); + return (pathname === ".") ? ".." : Path.normalize(pathname + "/.."); + }, + + /** + * Return the normalized version of the given pathname. This + * cleans up things like double directory separators and such. + * @static + * @param {string} pathname path to check + * @return {string} the normalized version of the given pathname + */ + normalize: function(pathname) { + if (pathname) { + pathname = pathname.replace(/\\/g, "/"); + pathname = pathname.replace(/\/\//g, "/"); + pathname = pathname.replace(/\/\//g, "/"); + pathname = pathname.replace(/\/[^/]*[^\./]\/\.\./g, "/."); + pathname = pathname.replace(/^[^/]*[^\./]\/\.\./g, "."); + pathname = pathname.replace(/\/\.\//g, "/"); + pathname = pathname.replace(/^\.\//, ""); + pathname = pathname.replace(/\/\//g, "/"); + pathname = pathname.replace(/\/\.$/, ""); + pathname = pathname.replace(/\/\//g, "/"); + if (pathname.length > 1) pathname = pathname.replace(/\/$/, ""); + if (pathname.length === 0) pathname = '.'; + } + return pathname; + }, + + /** + * Return a path that is the concatenation of all the of the arguments + * which each name a path segment. + * @static + * @param {...string} var_args + * @return {string} the concatenated pathname + */ + join: function(var_args) { + var arr = []; + for (var i = 0; i < arguments.length; i++) { + arr.push(arguments[i] && arguments[i].length > 0 ? arguments[i] : "."); + } + return Path.normalize(arr.join("/")); + }, + + /** + * Return the base file name of the path. If the extension is given, + * with or without the leading dot, then the extension is removed from + * the base name. + * @param {string} pathname the path to take the base name of + * @param {string|undefined} extension the optional extension to remove + * @return {string} the base name of the file without the extension + */ + basename: function(pathname, extension) { + var base = pathname; + var slash = pathname.lastIndexOf("/"); + if (slash !== -1) { + base = pathname.substring(slash+1); + } + + if (extension) { + var ext = extension[0] === "." ? extension : "." + extension; + var index = base.lastIndexOf(ext); + if (index > -1) { + base = base.substring(0, index); + } + } + + return base; + } }; module.exports = Path; diff --git a/js/lib/PersAlgoRataDie.js b/js/lib/PersAlgoRataDie.js index 9b07b6968d..ae8dcf1321 100644 --- a/js/lib/PersAlgoRataDie.js +++ b/js/lib/PersAlgoRataDie.js @@ -1,7 +1,7 @@ /* * PersAlsoRataDie.js - Represent an RD date in the Persian algorithmic calendar * - * Copyright © 2014-2015, JEDLSoft + * Copyright © 2014-2015, 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,12 +17,6 @@ * limitations under the License. */ -/* !depends -PersianAlgoCal.js -MathUtils.js -RataDie.js -*/ - var MathUtils = require("./MathUtils.js"); var PersianAlgoCal = require("./PersianAlgoCal.js"); var RataDie = require("./RataDie.js"); diff --git a/js/lib/PersRataDie.js b/js/lib/PersRataDie.js index ad2d09cead..4fa2ce6c67 100644 --- a/js/lib/PersRataDie.js +++ b/js/lib/PersRataDie.js @@ -1,7 +1,7 @@ /* - * persratadie.js - Represent a rata die date in the Persian calendar + * PersRataDie.js - Represent a rata die date in the Persian calendar * - * Copyright © 2014-2015, JEDLSoft + * Copyright © 2014-2015, 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,14 +17,6 @@ * limitations under the License. */ -/* !depends -ilib.js -MathUtils.js -RataDie.js -Astro.js -GregorianDate.js -*/ - var ilib = require("./ilib.js"); var MathUtils = require("./MathUtils.js"); @@ -32,7 +24,6 @@ var Astro = require("./Astro.js"); var RataDie = require("./RataDie.js"); var GregorianDate = require("./GregorianDate.js"); - /** * @class * Construct a new Persian RD date number object. The constructor parameters can diff --git a/js/lib/PersianAlgoCal.js b/js/lib/PersianAlgoCal.js index dd7c6321c3..5c7c6c8afd 100644 --- a/js/lib/PersianAlgoCal.js +++ b/js/lib/PersianAlgoCal.js @@ -17,9 +17,6 @@ * limitations under the License. */ - -/* !depends Calendar.js MathUtils.js */ - var MathUtils = require("./MathUtils.js"); var Calendar = require("./Calendar.js"); diff --git a/js/lib/PersianAlgoDate.js b/js/lib/PersianAlgoDate.js index a9ce06aecd..4f354d42c6 100644 --- a/js/lib/PersianAlgoDate.js +++ b/js/lib/PersianAlgoDate.js @@ -1,7 +1,7 @@ /* * PersianAlgoDate.js - Represent a date in the Persian algorithmic calendar * - * Copyright © 2014-2015, JEDLSoft + * Copyright © 2014-2015, 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,18 +17,6 @@ * limitations under the License. */ -/* !depends -ilib.js -Locale.js -LocaleInfo.js -TimeZone.js -IDate.js -PersianAlgoCal.js -SearchUtils.js -MathUtils.js -PersAlgoRataDie.js -*/ - var ilib = require("./ilib.js"); var SearchUtils = require("./SearchUtils.js"); var MathUtils = require("./MathUtils.js"); diff --git a/js/lib/PersianCal.js b/js/lib/PersianCal.js index 612c2ff5a1..6d98ad24f6 100644 --- a/js/lib/PersianCal.js +++ b/js/lib/PersianCal.js @@ -18,11 +18,6 @@ */ -/* !depends -Calendar.js -PersRataDie.js -*/ - var Calendar = require("./Calendar.js"); var PersRataDie = require("./PersRataDie.js"); diff --git a/js/lib/PersianDate.js b/js/lib/PersianDate.js index ff78914130..e179c55796 100644 --- a/js/lib/PersianDate.js +++ b/js/lib/PersianDate.js @@ -1,7 +1,7 @@ /* * PersianDate.js - Represent a date in the Persian astronomical (Hijjri) calendar * - * Copyright © 2014-2015, JEDLSoft + * Copyright © 2014-2015, 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,22 +17,6 @@ * limitations under the License. */ -/* !depends -ilib.js -Locale.js -TimeZone.js -IDate.js -PersRataDie.js -PersianCal.js -SearchUtils.js -MathUtils.js -JSUtils.js -LocaleInfo.js -Astro.js -*/ - -// !data astro - var ilib = require("./ilib.js"); var SearchUtils = require("./SearchUtils.js"); var MathUtils = require("./MathUtils.js"); @@ -422,4 +406,4 @@ PersianDate.prototype.getCalendar = function() { // register with the factory method IDate._constructors["persian"] = PersianDate; -module.exports = PersianDate; \ No newline at end of file +module.exports = PersianDate; diff --git a/js/lib/PhoneFmt.js b/js/lib/PhoneFmt.js index fd81b1be14..62cfd9d599 100644 --- a/js/lib/PhoneFmt.js +++ b/js/lib/PhoneFmt.js @@ -1,7 +1,7 @@ /* * phonefmt.js - Represent a phone number formatter. * - * Copyright © 2014-2015, JEDLSoft + * Copyright © 2014-2015, 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,17 +17,6 @@ * limitations under the License. */ -/* -!depends -ilib.js -Locale.js -NumberingPlan.js -PhoneNumber.js -PhoneLocale.js -Utils.js -JSUtils.js -*/ - // !data phonefmt var ilib = require("./ilib.js"); diff --git a/js/lib/PhoneGeoLocator.js b/js/lib/PhoneGeoLocator.js index b05d254926..bbf731ba37 100644 --- a/js/lib/PhoneGeoLocator.js +++ b/js/lib/PhoneGeoLocator.js @@ -1,7 +1,7 @@ /* * PhoneGeoLocator.js - Represent a phone number geolocator object. * - * Copyright © 2014-2015, 2018 JEDLSoft + * Copyright © 2014-2015, 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,17 +17,6 @@ * limitations under the License. */ -/* -!depends -ilib.js -NumberingPlan.js -PhoneLocale.js -PhoneNumber.js -Utils.js -JSUtils.js -ResBundle.js -*/ - // !data iddarea area extarea extstates phoneres var ilib = require("./ilib.js"); @@ -660,4 +649,4 @@ PhoneGeoLocator.prototype = { } }; -module.exports = PhoneGeoLocator; \ No newline at end of file +module.exports = PhoneGeoLocator; diff --git a/js/lib/PhoneHandlerFactory.js b/js/lib/PhoneHandlerFactory.js index 00bda4146c..516a47ff99 100644 --- a/js/lib/PhoneHandlerFactory.js +++ b/js/lib/PhoneHandlerFactory.js @@ -580,7 +580,7 @@ USStateHandler.prototype.vsc = function (number, currentChar, fields, regionSett * Creates a phone handler instance that is correct for the locale. Phone handlers are * used to handle parsing of the various fields in a phone number. * - * @protected + * @private * @static * @return {PhoneHandler} the correct phone handler for the locale */ diff --git a/js/lib/PhoneLocale.js b/js/lib/PhoneLocale.js index ebb018730f..57a5ff326f 100644 --- a/js/lib/PhoneLocale.js +++ b/js/lib/PhoneLocale.js @@ -1,7 +1,7 @@ /* * phoneloc.js - Represent a phone locale object. * - * Copyright © 2014-2015, JEDLSoft + * Copyright © 2014-2015, 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,13 +17,6 @@ * limitations under the License. */ -/* -!depends -ilib.js -Locale.js -Utils.js -*/ - // !data phoneloc var ilib = require("./ilib.js"); diff --git a/js/lib/PhoneNumber.js b/js/lib/PhoneNumber.js index 7b138d5eb9..a1049e4f35 100644 --- a/js/lib/PhoneNumber.js +++ b/js/lib/PhoneNumber.js @@ -1,7 +1,7 @@ /* - * phonenum.js - Represent a phone number. + * PhoneNumber.js - Represent a phone number. * - * Copyright © 2014-2015, JEDLSoft + * Copyright © 2014-2015, 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,16 +17,6 @@ * limitations under the License. */ -/* -!depends -ilib.js -NumberingPlan.js -PhoneLocale.js -PhoneHandlerFactory.js -Utils.js -JSUtils.js -*/ - // !data states idd mnc var ilib = require("./ilib.js"); diff --git a/js/lib/RataDie.js b/js/lib/RataDie.js index cf14efffa9..e03b236a1e 100644 --- a/js/lib/RataDie.js +++ b/js/lib/RataDie.js @@ -1,7 +1,7 @@ /* - * ratadie.js - Represent the RD date number in the calendar + * RataDie.js - Represent the RD date number in the calendar * - * Copyright © 2014-2015, JEDLSoft + * Copyright © 2014-2015, 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,12 +17,6 @@ * limitations under the License. */ -/* !depends -JulianDay.js -MathUtils.js -JSUtils.js -*/ - var MathUtils = require("./MathUtils.js"); var JSUtils = require("./JSUtils.js"); var JulianDay = require("./JulianDay.js"); @@ -311,4 +305,4 @@ RataDie.prototype = { } }; -module.exports = RataDie; \ No newline at end of file +module.exports = RataDie; diff --git a/js/lib/ResBundle.js b/js/lib/ResBundle.js index 54ba3469aa..0e6e20c453 100644 --- a/js/lib/ResBundle.js +++ b/js/lib/ResBundle.js @@ -1,7 +1,7 @@ /* * ResBundle.js - Resource bundle definition * - * Copyright © 2012-2016, JEDLSoft + * Copyright © 2012-2016, 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,8 +17,6 @@ * limitations under the License. */ -// !depends ilib.js Locale.js LocaleInfo.js IString.js Utils.js JSUtils.js - // !data pseudomap var ilib = require("./ilib.js"); @@ -258,10 +256,6 @@ var ResBundle = function (options) { this.map = {}; - if (!ilib.data.cache.ResBundle) { - ilib.data.cache.ResBundle = {}; - } - lookupLocale = this.locale.isPseudo() ? new Locale("en-US") : this.locale; var object = "ResBundle-" + this.baseName; @@ -274,21 +268,11 @@ var ResBundle = function (options) { callback: ilib.bind(this, function (map) { if (!map) { map = ilib.data[this.baseName] || {}; - spec = lookupLocale.getSpec().replace(/-/g, '_'); - ilib.data.cache[object][spec] = map; } this.map = map; if (this.locale.isPseudo()) { - if (!ilib.data.cache.ResBundle.pseudomap) { - ilib.data.cache.ResBundle.pseudomap = {}; - } - this._loadPseudo(this.locale, options.onLoad); } else if (this.missing === "pseudo") { - if (!ilib.data.cache.ResBundle.pseudomap) { - ilib.data.cache.ResBundle.pseudomap = {}; - } - new LocaleInfo(this.locale, { sync: this.sync, loadParams: this.loadParams, @@ -338,12 +322,7 @@ ResBundle.prototype = { sync: this.sync, loadParams: this.loadParams, callback: ilib.bind(this, function (map) { - if (!map || JSUtils.isEmpty(map)) { - map = ResBundle.defaultPseudo; - var spec = pseudoLocale.getSpec().replace(/-/g, '_'); - ilib.data.cache.ResBundle.pseudomap[spec] = map; - } - this.pseudomap = map; + this.pseudomap = (!map || JSUtils.isEmpty(map)) ? ResBundle.defaultPseudo : map; if (typeof(onLoad) === 'function') { onLoad(this); } diff --git a/js/lib/ScriptInfo.js b/js/lib/ScriptInfo.js index c6a68e0f4d..a01080b2c8 100644 --- a/js/lib/ScriptInfo.js +++ b/js/lib/ScriptInfo.js @@ -17,8 +17,6 @@ * limitations under the License. */ -// !depends ilib.js Utils.js - // !data scripts var ilib = require("./ilib.js"); @@ -75,15 +73,13 @@ var ScriptInfo = function(script, options) { if (!ilib.data.scripts) { Utils.loadData({ object: "ScriptInfo", - locale: "-", + nonlocale: true, name: "scripts.json", sync: sync, loadParams: loadParams, callback: ilib.bind(this, function (info) { if (!info) { info = {"Latn":{"nb":215,"nm":"Latin","lid":"Latin","rtl":false,"ime":false,"casing":true}}; - var spec = this.locale.getSpec().replace(/-/g, "_"); - ilib.data.cache.ScriptInfo[spec] = info; } ilib.data.scripts = info; this.info = script && ilib.data.scripts[script]; diff --git a/js/lib/StringMapper.js b/js/lib/StringMapper.js index ec26026ce1..870490984b 100644 --- a/js/lib/StringMapper.js +++ b/js/lib/StringMapper.js @@ -1,7 +1,7 @@ /* - * Mapper.js - ilib string mapper class definition + * StringMapper.js - ilib string mapper class definition * - * Copyright © 2014-2015, JEDLSoft + * Copyright © 2014-2015, 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,8 +17,6 @@ * limitations under the License. */ -// !depends ilib.js IString.js Utils.js Locale.js - var ilib = require("./ilib.js"); var Utils = require("./Utils.js"); @@ -108,10 +106,6 @@ var StringMapper = function (options) { sync: sync, loadParams: loadParams, callback: ilib.bind(this, function (map) { - if (!map) { - var spec = this.locale.getSpec().replace(/-/g, "_"); - ilib.data.cache.StringMapper[spec] = {}; - } this.mapData = map || {}; if (options && typeof(options.onLoad) === 'function') { options.onLoad(this); diff --git a/js/lib/TemperatureUnit.js b/js/lib/TemperatureUnit.js index dfc9852e8c..3ec78e9844 100644 --- a/js/lib/TemperatureUnit.js +++ b/js/lib/TemperatureUnit.js @@ -222,4 +222,4 @@ TemperatureUnit.getMeasures = function () { //register with the factory method Measurement._constructors["temperature"] = TemperatureUnit; -module.exports = TemperatureUnit; \ No newline at end of file +module.exports = TemperatureUnit; diff --git a/js/lib/ThaiSolarCal.js b/js/lib/ThaiSolarCal.js index 6709e7015a..9853ba47da 100644 --- a/js/lib/ThaiSolarCal.js +++ b/js/lib/ThaiSolarCal.js @@ -1,7 +1,7 @@ /* * ThaiSolarCal.js - Represent a Thai solar calendar object. * - * Copyright © 2013-2015,2018, JEDLSoft + * Copyright © 2013-2015, 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,9 +17,6 @@ * limitations under the License. */ - -/* !depends Calendar.js GregorianCal.js MathUtils.js */ - var MathUtils = require("./MathUtils.js"); var Calendar = require("./Calendar.js"); var GregorianCal = require("./GregorianCal.js"); diff --git a/js/lib/ThaiSolarDate.js b/js/lib/ThaiSolarDate.js index a2e19a835b..eeb34b1df6 100644 --- a/js/lib/ThaiSolarDate.js +++ b/js/lib/ThaiSolarDate.js @@ -1,7 +1,7 @@ /* * ThaiSolarDate.js - Represent a date in the ThaiSolar calendar * - * Copyright © 2013-2015, JEDLSoft + * Copyright © 2013-2015, 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,14 +17,6 @@ * limitations under the License. */ -/* !depends -ilib.js -IDate.js -JSUtils.js -GregorianDate.js -ThaiSolarCal.js -*/ - var ilib = require("./ilib.js"); var JSUtils = require("./JSUtils.js"); diff --git a/js/lib/TimeUnit.js b/js/lib/TimeUnit.js index d84f8e1240..d8f110f672 100644 --- a/js/lib/TimeUnit.js +++ b/js/lib/TimeUnit.js @@ -269,4 +269,4 @@ TimeUnit.getMeasures = function () { //register with the factory method Measurement._constructors["time"] = TimeUnit; -module.exports = TimeUnit; \ No newline at end of file +module.exports = TimeUnit; diff --git a/js/lib/TimeZone.js b/js/lib/TimeZone.js index eedd9c7883..69d98c016b 100644 --- a/js/lib/TimeZone.js +++ b/js/lib/TimeZone.js @@ -1,7 +1,7 @@ /* * TimeZone.js - Definition of a time zone class * - * Copyright © 2012-2015, JEDLSoft + * Copyright © 2012-2015, 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,19 +17,6 @@ * limitations under the License. */ -/* -!depends -ilib.js -Locale.js -LocaleInfo.js -Utils.js -MathUtils.js -JSUtils.js -GregRataDie.js -IString.js -CalendarFactory.js -*/ - // !data localeinfo zoneinfo var ilib = require("./ilib.js"); diff --git a/js/lib/UTF16BE.js b/js/lib/UTF16BE.js index 4ca43b25d1..a5051ecbaa 100644 --- a/js/lib/UTF16BE.js +++ b/js/lib/UTF16BE.js @@ -18,8 +18,6 @@ * limitations under the License. */ -// !depends Charmap.js - // !data charset/UTF-16 charset/UTF-16BE var Charset = require("./Charset.js"); diff --git a/js/lib/UTF16LE.js b/js/lib/UTF16LE.js index 72de36f83a..a3597ef7e8 100644 --- a/js/lib/UTF16LE.js +++ b/js/lib/UTF16LE.js @@ -18,8 +18,6 @@ * limitations under the License. */ -// !depends Charmap.js - // !data charset/UTF-16 charset/UTF-16LE var Charset = require("./Charset.js"); diff --git a/js/lib/UTF8.js b/js/lib/UTF8.js index 5ce95bef69..826488c06f 100644 --- a/js/lib/UTF8.js +++ b/js/lib/UTF8.js @@ -17,8 +17,6 @@ * limitations under the License. */ -// !depends Charmap.js IString.js - // !data charset/UTF-8 var Charset = require("./Charset.js"); diff --git a/js/lib/UnitFmt.js b/js/lib/UnitFmt.js index b1dc946c09..aef11380c8 100644 --- a/js/lib/UnitFmt.js +++ b/js/lib/UnitFmt.js @@ -526,4 +526,4 @@ UnitFmt.prototype = { } }; -module.exports = UnitFmt; \ No newline at end of file +module.exports = UnitFmt; diff --git a/js/lib/UnknownUnit.js b/js/lib/UnknownUnit.js index bf14d31d95..71a895451e 100644 --- a/js/lib/UnknownUnit.js +++ b/js/lib/UnknownUnit.js @@ -1,7 +1,7 @@ /* - * Unknown.js - Dummy unit conversions for unknown types + * UnknownUnit.js - Dummy unit conversions for unknown types * - * Copyright © 2014-2015, JEDLSoft + * Copyright © 2014-2015, 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -167,4 +167,4 @@ UnknownUnit.getMeasures = function () { return []; }; -module.exports = UnknownUnit; \ No newline at end of file +module.exports = UnknownUnit; diff --git a/js/lib/Utils.js b/js/lib/Utils.js index cd071fc2f3..d278ed46c1 100644 --- a/js/lib/Utils.js +++ b/js/lib/Utils.js @@ -1,7 +1,7 @@ /* * Utils.js - Core utility routines * - * Copyright © 2012-2015, JEDLSoft + * Copyright © 2012-2015, 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,14 +17,144 @@ * limitations under the License. */ -// !depends ilib.js Locale.js JSUtils.js - var ilib = require("./ilib.js"); var Locale = require("./Locale.js"); var JSUtils = require("./JSUtils.js"); +var Path = require("./Path.js"); +var ISet = require("./ISet.js"); var Utils = {}; +/** + * Return an array of locales that represent the sublocales of + * the given locale. These sublocales are intended to be used + * to load locale data. Each sublocale might be represented + * separately by files on disk in order to share them with other + * locales that have the same sublocales. The sublocales are + * given in the order that they should be loaded, which is + * least specific to most specific.

+ * + * For example, the locale "en-US" would have the sublocales + * "root", "en", "und-US", and "en-US".

+ * + *

Variations

+ * + * With only language and region specified, the following + * sequence of sublocales will be generated:

+ * + *

+ * root
+ * language
+ * und-region
+ * language-region
+ * 
+ * + * With only language and script specified:

+ * + *

+ * root
+ * language
+ * language-script
+ * 
+ * + * With only script and region specified:

+ * + *

+ * root
+ * und-region
+ * 
+ * + * With only region and variant specified:

+ * + *

+ * root
+ * und-region
+ * region-variant
+ * 
+ * + * With only language, script, and region specified:

+ * + *

+ * root
+ * language
+ * und-region
+ * language-script
+ * language-region
+ * language-script-region
+ * 
+ * + * With only language, region, and variant specified:

+ * + *

+ * root
+ * language
+ * und-region
+ * language-region
+ * und-region-variant
+ * language-region-variant
+ * 
+ * + * With all parts specified:

+ * + *

+ * root
+ * language
+ * und-region
+ * language-script
+ * language-region
+ * und-region-variant
+ * language-script-region
+ * language-region-variant
+ * language-script-region-variant
+ * 
+ * + * @static + * @param {Locale|String} locale the locale to find the sublocales for + * @return {Array.} An array of locale specifiers that + * are the sublocales of the given on + */ +Utils.getSublocales = function(locale) { + var ret = ["root"]; + var loc = typeof(locale) === "string" ? new Locale(locale) : locale; + + if (loc.getLanguage()) { + ret.push(loc.getLanguage()); + } + + if (loc.getRegion()) { + ret.push('und-' + loc.getRegion()); + } + + if (loc.getLanguage()) { + if (loc.getScript()) { + ret.push(loc.getLanguage() + '-' + loc.getScript()); + } + + if (loc.getRegion()) { + ret.push(loc.getLanguage() + '-' + loc.getRegion()); + } + } + + if (loc.getRegion() && loc.getVariant()) { + ret.push("und-" + loc.getRegion() + '-' + loc.getVariant()); + } + + if (loc.getLanguage()) { + if (loc.getScript() && loc.getRegion()) { + ret.push(loc.getLanguage() + '-' + loc.getScript() + '-' + loc.getRegion()); + } + + if (loc.getRegion() && loc.getVariant()) { + ret.push(loc.getLanguage() + '-' + loc.getRegion() + '-' + loc.getVariant()); + } + + if (loc.getScript() && loc.getRegion() && loc.getVariant()) { + ret.push(loc.getLanguage() + '-' + loc.getScript() + '-' + loc.getRegion() + '-' + loc.getVariant()); + } + } + return ret; +}; + /** * Find and merge all the locale data for a particular prefix in the given locale * and return it as a single javascript object. This merges the data in the @@ -39,9 +169,7 @@ var Utils = {}; * * * It is okay for any of the above to be missing. This function will just skip the - * missing data. However, if everything except the shared data is missing, this - * function returns undefined, allowing the caller to go and dynamically load the - * data instead. + * missing data. * * @static * @param {string} prefix prefix under ilib.data of the data to merge @@ -53,95 +181,27 @@ var Utils = {}; * @return {Object?} the merged locale data */ Utils.mergeLocData = function (prefix, locale, replaceArrays, returnOne) { - var data = undefined; - var loc = locale || new Locale(); - var foundLocaleData = false; - var property = prefix; - var mostSpecific; - - data = ilib.data[prefix] || {}; - - mostSpecific = data; - - if (loc.getLanguage()) { - property = prefix + '_' + loc.getLanguage(); - if (ilib.data[property]) { - foundLocaleData = true; - data = JSUtils.merge(data, ilib.data[property], replaceArrays); - mostSpecific = ilib.data[property]; - } - } - - if (loc.getRegion()) { - property = prefix + '_' + loc.getRegion(); - if (ilib.data[property]) { - foundLocaleData = true; - data = JSUtils.merge(data, ilib.data[property], replaceArrays); - mostSpecific = ilib.data[property]; - } - } - - if (loc.getLanguage()) { - property = prefix + '_' + loc.getLanguage(); - - if (loc.getScript()) { - property = prefix + '_' + loc.getLanguage() + '_' + loc.getScript(); - if (ilib.data[property]) { - foundLocaleData = true; - data = JSUtils.merge(data, ilib.data[property], replaceArrays); - mostSpecific = ilib.data[property]; - } - } - - if (loc.getRegion()) { - property = prefix + '_' + loc.getLanguage() + '_' + loc.getRegion(); - if (ilib.data[property]) { - foundLocaleData = true; - data = JSUtils.merge(data, ilib.data[property], replaceArrays); - mostSpecific = ilib.data[property]; - } - } - } - - if (loc.getRegion() && loc.getVariant()) { - property = prefix + '_' + loc.getLanguage() + '_' + loc.getVariant(); - if (ilib.data[property]) { - foundLocaleData = true; - data = JSUtils.merge(data, ilib.data[property], replaceArrays); - mostSpecific = ilib.data[property]; - } - } + var data = undefined; + var loc = locale || new Locale(); + var mostSpecific; - if (loc.getLanguage() && loc.getScript() && loc.getRegion()) { - property = prefix + '_' + loc.getLanguage() + '_' + loc.getScript() + '_' + loc.getRegion(); - if (ilib.data[property]) { - foundLocaleData = true; - data = JSUtils.merge(data, ilib.data[property], replaceArrays); - mostSpecific = ilib.data[property]; - } - } + data = {}; - if (loc.getLanguage() && loc.getRegion() && loc.getVariant()) { - property = prefix + '_' + loc.getLanguage() + '_' + loc.getRegion() + '_' + loc.getVariant(); - if (ilib.data[property]) { - foundLocaleData = true; - data = JSUtils.merge(data, ilib.data[property], replaceArrays); - mostSpecific = ilib.data[property]; - } - } + mostSpecific = data; - if (loc.getLanguage() && loc.getScript() && loc.getRegion() && loc.getVariant()) { - property = prefix + '_' + loc.getLanguage() + '_' + loc.getScript() + '_' + loc.getRegion() + '_' + loc.getVariant(); - if (ilib.data[property]) { - foundLocaleData = true; - data = JSUtils.merge(data, ilib.data[property], replaceArrays); - mostSpecific = ilib.data[property]; - } - } - - return foundLocaleData ? (returnOne ? mostSpecific : data) : undefined; + Utils.getSublocales(loc).forEach(function(l) { + var property = (l === "root") ? prefix : prefix + '_' + l.replace(/-/g, "_"); + + if (ilib.data[property]) { + data = JSUtils.merge(data, ilib.data[property], replaceArrays); + mostSpecific = ilib.data[property]; + } + }); + + return returnOne ? mostSpecific : data; }; + /** * Return an array of relative path names for the * files that represent the data for the given locale.

@@ -231,60 +291,12 @@ Utils.mergeLocData = function (prefix, locale, replaceArrays, returnOne) { * for the files that contain the locale data */ Utils.getLocFiles = function(locale, name) { - var dir = ""; - var files = []; - var filename = name || "resources.json"; - var loc = locale || new Locale(); - - var language = loc.getLanguage(); - var region = loc.getRegion(); - var script = loc.getScript(); - var variant = loc.getVariant(); - - files.push(filename); // generic shared file - - if (language) { - dir = language + "/"; - files.push(dir + filename); - } - - if (region) { - dir = "und/" + region + "/"; - files.push(dir + filename); - } - - if (language) { - if (script) { - dir = language + "/" + script + "/"; - files.push(dir + filename); - } - if (region) { - dir = language + "/" + region + "/"; - files.push(dir + filename); - } - } - - if (region && variant) { - dir = "und/" + region + "/" + variant + "/"; - files.push(dir + filename); - } - - if (language && script && region) { - dir = language + "/" + script + "/" + region + "/"; - files.push(dir + filename); - } - - if (language && region && variant) { - dir = language + "/" + region + "/" + variant + "/"; - files.push(dir + filename); - } + var filename = name || "resources.json"; + var loc = locale || new Locale(); - if (language && script && region && variant) { - dir = language + "/" + script + "/" + region + "/" + variant + "/"; - files.push(dir + filename); - } - - return files; + return Utils.getSublocales(loc).map(function(l) { + return (l === "root") ? filename : Path.join(l.replace(/-/g, "/"), filename); + }); }; /** @@ -306,162 +318,152 @@ Utils._callLoadData = function (files, sync, params, callback) { return undefined; }; +/** + * Return true if the locale data corresponding to the given pathname is not already loaded + * or assembled. + * + * @private + * @param basename + * @param locale + * @returns + */ +function dataNotExists(basename, pathname) { + var localeBits = pathname.split("\/").slice(0, -1).join('_'); + var property = localeBits ? basename + '_' + localeBits : basename; + + return !ilib.data[property]; +} + /** * Find locale data or load it in. If the data with the given name is preassembled, it will * find the data in ilib.data. If the data is not preassembled but there is a loader function, * this function will call it to load the data. Otherwise, the callback will be called with * undefined as the data. This function will create a cache under the given class object. - * If data was successfully loaded, it will be set into the cache so that future access to + * If data was successfully loaded, it will be set into the cache so that future access to * the same data for the same locale is much quicker.

- * + * * The parameters can specify any of the following properties:

- * + * *

    *
  • name - String. The name of the file being loaded. Default: ResBundle.json *
  • object - String. The name of the class attempting to load data. This is used to differentiate parts of the cache. *
  • locale - Locale. The locale for which data is loaded. Default is the current locale. *
  • nonlocale - boolean. If true, the data being loaded is not locale-specific. - *
  • type - String. Type of file to load. This can be "json" or "other" type. Default: "json" + *
  • type - String. Type of file to load. This can be "json" or "other" type. Default: "json" *
  • replace - boolean. When merging json objects, this parameter controls whether to merge arrays - * or have arrays replace each other. If true, arrays in child objects replace the arrays in parent - * objects. When false, the arrays in child objects are concatenated with the arrays in parent objects. + * or have arrays replace each other. If true, arrays in child objects replace the arrays in parent + * objects. When false, the arrays in child objects are concatenated with the arrays in parent objects. *
  • loadParams - Object. An object with parameters to pass to the loader function *
  • sync - boolean. Whether or not to load the data synchronously *
  • callback - function(?)=. callback Call back function to call when the data is available. * Data is not returned from this method, so a callback function is mandatory. *
- * + * * @static * @param {Object} params Parameters configuring how to load the files (see above) */ Utils.loadData = function(params) { - var name = "resources.json", - object = "generic", - locale = new Locale(ilib.getLocale()), - sync = false, - type = undefined, - loadParams = {}, - callback = undefined, - nonlocale = false, - replace = false, - basename; - - if (!params || typeof(params.callback) !== 'function') { - return; - } + var name = "resources.json", + locale = new Locale(ilib.getLocale()), + sync = false, + type = undefined, + loadParams = {}, + callback = undefined, + nonlocale = false, + replace = false, + basename; - if (params.name) { - name = params.name; - } - if (params.object) { - object = params.object; - } - if (params.locale) { - locale = (typeof(params.locale) === 'string') ? new Locale(params.locale) : params.locale; - } - if (params.type) { - type = params.type; - } - if (params.loadParams) { - loadParams = params.loadParams; - } - if (params.sync) { - sync = params.sync; - } - if (params.nonlocale) { - nonlocale = !!params.nonlocale; - } - if (typeof(params.replace) === 'boolean') { - replace = params.replace; - } - - callback = params.callback; - - if (object && !ilib.data.cache[object]) { - ilib.data.cache[object] = {}; - } - - if (!type) { - var dot = name.lastIndexOf("."); - type = (dot !== -1) ? name.substring(dot+1) : "text"; - } + if (!params || typeof(params.callback) !== 'function') { + throw "Utils.loadData called without a callback. It must have a callback to work."; + } - var spec = ((!nonlocale && locale.getSpec().replace(/-/g, '_')) || "root") + "," + name + "," + String(JSUtils.hashCode(loadParams)); - if (!object || !ilib.data.cache[object] || typeof(ilib.data.cache[object][spec]) === 'undefined') { - var data, returnOne = (loadParams && loadParams.returnOne); - - if (type === "json") { - // console.log("type is json"); - basename = name.substring(0, name.lastIndexOf(".")); - if (nonlocale) { - basename = basename.replace(/[\.:\(\)\/\\\+\-]/g, "_"); - data = ilib.data[basename]; - } else { - data = Utils.mergeLocData(basename, locale, replace, returnOne); - } - if (data) { - // console.log("found assembled data"); - if (object) { - ilib.data.cache[object][spec] = data; - } - callback(data); - return; - } - } - - // console.log("ilib._load is " + typeof(ilib._load)); - if (typeof(ilib._load) !== 'undefined') { - // the data is not preassembled, so attempt to load it dynamically - var files = nonlocale ? [ name || "resources.json" ] : Utils.getLocFiles(locale, name); - if (type !== "json") { - loadParams.returnOne = true; - } - - Utils._callLoadData(files, sync, loadParams, ilib.bind(this, function(arr) { - if (type === "json") { - data = ilib.data[basename] || {}; - for (var i = 0; i < arr.length; i++) { - if (typeof(arr[i]) !== 'undefined') { - if (loadParams.returnOne) { - data = arr[i]; - break; - } - data = JSUtils.merge(data, arr[i], replace); - } - } - - if (object) { - ilib.data.cache[object][spec] = data; - } - callback(data); - } else { - var i = arr.length-1; - while (i > -1 && !arr[i]) { - i--; - } - if (i > -1) { - if (object) { - ilib.data.cache[object][spec] = arr[i]; - } - callback(arr[i]); - } else { - callback(undefined); - } - } - })); - } else { - // no data other than the generic shared data - if (type === "json") { - data = ilib.data[basename]; - } - if (object && data) { - ilib.data.cache[object][spec] = data; - } - callback(data); - } - } else { - callback(ilib.data.cache && ilib.data.cache[object] && ilib.data.cache[object][spec]); - } + if (params.name) { + name = params.name; + } + if (params.locale) { + locale = (typeof(params.locale) === 'string') ? new Locale(params.locale) : params.locale; + } + if (params.type) { + type = params.type; + } + if (params.loadParams) { + loadParams = params.loadParams; + } + if (params.sync) { + sync = params.sync; + } + if (params.nonlocale) { + nonlocale = !!params.nonlocale; + } + if (typeof(params.replace) === 'boolean') { + replace = params.replace; + } + + callback = params.callback; + + if (!type) { + var dot = name.lastIndexOf("."); + type = (dot !== -1) ? name.substring(dot+1) : "text"; + } + + var data, returnOne = ((loadParams && loadParams.returnOne) || type !== "json"); + + basename = name.substring(0, name.lastIndexOf(".")).replace(/[\.:\(\)\/\\\+\-]/g, "_"); + + if (typeof(ilib._load) !== 'undefined') { + // We have a loader, so we can figure out which json files are loaded already and + // which are not so that we can load the missing ones. + // the data is not preassembled, so attempt to load it dynamically + var files = nonlocale ? [ name || "resources.json" ] : Utils.getLocFiles(locale, name); + + if (typeof(ilib.data.cache) === "undefined") { + ilib.data.cache = {}; + } + if (typeof(ilib.data.cache.fileSet) === "undefined") { + ilib.data.cache.fileSet = new ISet(); + } + + // find the ones we haven't loaded before + files = files.filter(ilib.bind(this, function(file) { + return !ilib.data.cache.fileSet.has(file) && dataNotExists(basename, file); + })); + + if (files.length) { + Utils._callLoadData(files, sync, loadParams, ilib.bind(this, function(arr) { + for (var i = 0; i < files.length; i++) { + if (arr[i]) { + var localeBits = files[i].split("\/").slice(0, -1).join('_'); + var property = !nonlocale && localeBits ? basename + '_' + localeBits : basename; + + if (!ilib.data[property]) { + ilib.data[property] = arr[i]; + } + } + ilib.data.cache.fileSet.add(files[i]); + } + + if (!nonlocale) { + data = Utils.mergeLocData(basename, locale, replace, returnOne); + } else { + data = ilib.data[basename]; + } + + callback(data); + })); + + return; + } + // otherwise the code below will return the already-loaded data + } + + // No loader, or data already loaded? Then use whatever data we have already in ilib.data + if (!nonlocale) { + data = Utils.mergeLocData(basename, locale, replace, returnOne); + } else { + data = ilib.data[basename]; + } + + callback(data); }; -module.exports = Utils; \ No newline at end of file +module.exports = Utils; diff --git a/js/lib/VelocityUnit.js b/js/lib/VelocityUnit.js index 09e0e950c5..fc6088a9ff 100644 --- a/js/lib/VelocityUnit.js +++ b/js/lib/VelocityUnit.js @@ -256,4 +256,4 @@ VelocityUnit.getMeasures = function () { Measurement._constructors["speed"] = VelocityUnit; Measurement._constructors["velocity"] = VelocityUnit; -module.exports = VelocityUnit; \ No newline at end of file +module.exports = VelocityUnit; diff --git a/js/lib/WebpackLoader.js b/js/lib/WebpackLoader.js new file mode 100644 index 0000000000..c46d5cee39 --- /dev/null +++ b/js/lib/WebpackLoader.js @@ -0,0 +1,191 @@ +/* + * WebpackLoader.js - Loader implementation for webpack'ed ilib on the web + * + * Copyright © 2018, JEDLSoft + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +var Loader = require("./Loader.js"); +var Path = require("./Path.js"); +var Locale = require("./Locale.js"); +var ISet = require("./ISet.js"); +var Utils = require("./Utils.js"); +var JSUtils = require("./JSUtils.js"); + +var alreadyLoaded = new ISet(); + +function loadLocaleData(ilib, locale, callback) { + switch (locale) { + // This special macro will get replaced in the ilibdata-webpack-loader with + // case statements for each locale js file so that webpack can make separate + // bundles for each one of those files when in dynamic load mode. In static + // (assembled) mode, this will get replaced with require calls that cause + // the data to be put into one giant webpack bundle. + + // !loadLocaleData + + case "dummy": + // This is just here to prevent webpack from removing the function contents. Otherwise, + // it will think this whole function is "unused" or "dead" code. + console.log("Should never happen"); + callback(); + break; + } +} + +/** + * @class + * Implementation of Loader for webpack. + * + * @constructor + * @private + */ +module.exports = function (ilib) { + var WebpackLoader = function (ilib) { + // util.print("new common WebpackLoader instance\n"); + + this.parent.call(this, ilib); + this.ilib = ilib; + this.manifests = {}; + + this.includePath.push(""); + }; + + // make this a subclass of loader + WebpackLoader.prototype = new Loader(); + WebpackLoader.prototype.parent = Loader; + WebpackLoader.prototype.constructor = WebpackLoader; + + WebpackLoader.prototype.name = "WebpackLoader"; + + WebpackLoader.prototype.getData = function(dataName, tzName) { + return dataName === "zoneinfo" ? this.ilib.data.zoneinfo[tzName] : this.ilib.data[dataName]; + }; + + // used locally with node + WebpackLoader.prototype._loadFile = function (pathname, sync, cb) { + var dir = Path.dirname(pathname); + var base = Path.basename(pathname, "json"); + var dataName = base; + var locale = undefined; + var filename; + var tzName; + + if (dir) { + var locpath = /(^|\/)([a-z][a-z][a-z]?(\/[A-Z][a-z][a-z][a-z])?(\/[A-Z][A-Z](\/[A-Z]+)?)?)$/.exec(dir); + if (locpath) { + locale = new Locale(locpath[2].replace(/\//g, "-")); + } + } + + filename = locale && locale.getSpec() || (base === "ilibmanifest" ? "localmanifest" : "root"); + + var dataName = base; + if (dir) { + if (locale) { + dataName += "_" + filename; + } else if (dir === "charset" || dir === "charmaps") { + dataName = dir + "_" + base; + } else if (dir.substring(0, 9) === "zoneinfo/") { + dataName = "zoneinfo"; + tzName = pathname.substring(9).substring(0, - 5); + } + } + + dataName = dataName.replace(/[\.:\(\)\/\\\+\-]/g, "_"); + + var data = this.getData(dataName, tzName); + + if (data) { + // already loaded + if (typeof(cb) === "function") cb(data); + } else if (!alreadyLoaded.has(filename)) { + console.log("WebpackLoader._loadFile: loading " + pathname + (sync ? " sync" : " async") + " as " + filename + ".js"); + + alreadyLoaded.add(filename); + loadLocaleData(this.ilib, filename, function(callback, data) { + data = (data && typeof(data) === "object" && typeof(data.installLocale) === "function") ? this.getData(dataName, tzName) : data; + if (callback && typeof(callback) === "function") { + callback(data); + } + }.bind(this, cb)); + } else { + if (typeof(cb) === "function") cb(); + } + + // return data; + }; + + WebpackLoader.prototype._exists = function(dir, file) { + return false; + }; + + // used remotely on a browser + WebpackLoader.prototype._loadLocaleFile = function(path, sync, callback) { + var base = Path.basename(path, ".js"); + + if (alreadyLoaded.has(base)) { + callback(); + } else { + console.log("WebpackLoader._loadLocaleFile: loading " + path + (sync ? " sync" : " async")); + + alreadyLoaded.add(base); + loadLocaleData(this.ilib, base, function(callback, data) { + callback(data); + }.bind(this, callback)); + } + }; + + /** + * @private + */ + WebpackLoader.prototype._ensureManifest = function(locale, dir, callback) { + if (this.manifests[dir]) { + callback(this.manifests[dir]); + } else { + this._loadLocaleFile(Path.join(dir, "remotemanifest.js"), false, ilib.bind(this, function(manifest) { + if (manifest) { + this.manifests[dir] = manifest.files; + callback(manifest.files); + } else { + callback(); // undefined param indicates error + } + })); + } + }; + + /** + * Ensure that the data for a locale is loaded into memory from the given + * dir. This will decompose the locale into its constituent parts and + * load all the appropriate files based on those parts. Thereafter, + * all ilib code can be called synchronously. + */ + WebpackLoader.prototype.ensureLocale = function(locale, dir, callback) { + this._ensureManifest(locale, dir, ilib.bind(this, function(manifest) { + var filesToLoad = Utils.getSublocales(locale).map(function(sublocale) { + return sublocale + ".js"; + }).filter(function(file) { + return !manifest || Loader.indexOf(manifest, file) > -1; + }); + JSUtils.callAll(filesToLoad, ilib.bind(this, function(arr, cb) { + this._loadLocaleFile(arr[0], false, cb); + }), function(results) { + callback(results); + }); + })); + }; + + return new WebpackLoader(ilib); +}; diff --git a/js/lib/ilib-enyo.js b/js/lib/ilib-enyo.js deleted file mode 100644 index 7f1eb55aa9..0000000000 --- a/js/lib/ilib-enyo.js +++ /dev/null @@ -1,156 +0,0 @@ -/* - * ilib-enyo.js - glue code for enyo apps to load local ilib code and data - * - * Copyright © 2015, JEDLSoft - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -var path = { - dirname: function(pathname) { - var i = pathname.lastIndexOf("/"); - return i !== -1 ? pathname.substring(0,i) : pathname; - }, - - join: function() { - var arr = []; - for (var i = 0; i < arguments.length; i++) { - arr.push(arguments[i]); - } - return arr.join("/"); - }, - - normalize: function(pathname) { - if (pathname) { - var previousLen; - do { - previousLen = pathname.length; - pathname = pathname.replace(/\/\.\//g, "/").replace(/\/[^/]+\/\.\./g, "").replace(/^\.\//, ""); - } while (pathname.length < previousLen && pathname.length > 0); - } - return pathname; - } -}; - -var requireClass = function() { - this.cache = {}; - this.updateRequire = /require\(("[^/][^"+]*")\)/g; -}; - -requireClass.prototype.loadFile = function(pathname, sync) { - var text; - var ajax = new enyo.Ajax({ - handleAs: "text", - cacheBust: false, - sync: true, - url: "file://" + pathname - }); - ajax.response(this, function(s, r) { - text = r; - }); - ajax.go(); - return text; -}; - -requireClass.prototype.setRoot = function() { - if (!this.root) { - var pos; - var scripts = document.getElementsByTagName("script"); - - this.root = "."; - for (var i = 0; i < scripts.length; i++) { - var source = scripts[i].src; - if (source && (pos = source.search(/enyo\.js$/)) !== -1) { - this.root = path.normalize(path.join(source.substring(7, pos-1), "../lib/enyo-ilib/ilib/js")); - break; - } - } - } -}; - -requireClass.prototype.cacheObjectForPath = function(pathname, obj) { - this.setRoot(); - if (pathname.charAt(0) !== '/') { - pathname = path.join(this.root, pathname); - } - - pathname = path.normalize(pathname); - - this.cache[pathname] = obj; -}; - -requireClass.prototype.require = function(pathname) { - this.setRoot(); - - //console.log("this.root is " + this.root + " and pathname before was " + pathname); - - if (pathname.charAt(0) !== '/') { - pathname = path.join(this.root, pathname); - } - - pathname = path.normalize(pathname); - - if (this.cache[pathname]) { - return this.cache[pathname]; - } - - console.log("loading module " + pathname); - - var text = this.loadFile(pathname, true); - var dirname = path.dirname(pathname); - var match, replacement; - - if (text) { - var tmp = module.filename; - module.filename = pathname; - module.exports = null; - - while ((match = this.updateRequire.exec(text)) !== null) { - replacement = '"' + dirname + '/" + ' + match[1]; - text = text.replace(new RegExp(match[1], "g"), replacement); - this.updateRequire.lastIndex = match.index + replacement.length; - } - text = text + "\n//# sourceURL=" + pathname + "\n"; - // console.log("text is " + text); - try { - eval(text); - - this.cache[pathname] = module.exports; - } finally { - this.loading[pathname] = undefined; - module.filename = tmp; - } - - return module.exports; - } - - return undefined; -}; - -var r = new requireClass(); -var require = requireClass.prototype.require.bind(r); -r.cacheObjectForPath("./ilib.js", ilib); - -ilib._dyncode = true; // indicate that we are using dynamically loaded code - -if (typeof(window.module) === 'undefined') { - var module = { - exports: {} - }; -} - -require("./ilib-stubs-dyn.js"); - -// now the enyo code should create an enyo loader and set it in to ilib -// with ilib.setLoaderCallback() \ No newline at end of file diff --git a/js/lib/ilib-full-inc.js b/js/lib/ilib-full-inc.js deleted file mode 100644 index 368898f39d..0000000000 --- a/js/lib/ilib-full-inc.js +++ /dev/null @@ -1,115 +0,0 @@ -/** - * @license - * Copyright © 2012-2015, JEDLSoft - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* - * ilib-full-inc.js - metafile that includes all other js files - */ - -/* !depends -ilib.js -DateRngFmt.js -IDate.js -DateFactory.js -HebrewDate.js -HebrewCal.js -IslamicCal.js -IslamicDate.js -JulianCal.js -JulianDate.js -GregorianCal.js -GregorianDate.js -ThaiSolarCal.js -ThaiSolarDate.js -PersianCal.js -PersianDate.js -PersianAlgoCal.js -PersianAlgoDate.js -HanCal.js -HanDate.js -EthiopicCal.js -EthiopicDate.js -CopticCal.js -CopticDate.js -INumber.js -NumFmt.js -JulianDay.js -DateFmt.js -Calendar.js -CalendarFactory.js -Utils.js -Locale.js -IString.js -DurationFmt.js -ResBundle.js -CType.js -LocaleInfo.js -DateRngFmt.js -isAlnum.js -isAlpha.js -isAscii.js -isBlank.js -isCntrl.js -isDigit.js -isGraph.js -isIdeo.js -isLower.js -isPrint.js -isPunct.js -isSpace.js -isUpper.js -isXdigit.js -isScript.js -ScriptInfo.js -Name.js -NameFmt.js -Address.js -AddressFmt.js -Collator.js -nfkc/all.js -LocaleMatcher.js -NormString.js -CaseMapper.js -GlyphString.js -PhoneFmt.js -PhoneGeoLocator.js -PhoneNumber.js -Measurement.js -MeasurementFactory.js -UnitFmt.js -LengthUnit.js -VelocityUnit.js -DigitalStorageUnit.js -TemperatureUnit.js -UnknownUnit.js -TimeUnit.js -MassUnit.js -AreaUnit.js -FuelConsumptionUnit.js -VolumeUnit.js -EnergyUnit.js -Charset.js -Charmap.js -CharmapFactory.js -CharmapTable.js -UTF8.js -UTF16BE.js -UTF16LE.js -Country.js -ListFmt.js -DigitalSpeedUnit.js -*/ diff --git a/js/lib/ilib-test-dyn.js b/js/lib/ilib-getdata.js similarity index 58% rename from js/lib/ilib-test-dyn.js rename to js/lib/ilib-getdata.js index cdbb306959..fe7bf518f2 100644 --- a/js/lib/ilib-test-dyn.js +++ b/js/lib/ilib-getdata.js @@ -1,9 +1,8 @@ -/* jshint node: true */ -/* - * ilib-test-dyn.js - glue code for node to load both code - * and the data dynamically +/** + * ilib-getdata.js - define the locale data for assembled or dynamic * - * Copyright © 2015, JEDLSoft + * @license + * Copyright © 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -19,12 +18,14 @@ * limitations under the License. */ -var NodeLoader = require("../lib/NodeLoader.js"); -var ilib = require("../lib/ilib.js"); -ilib.setLoaderCallback(NodeLoader(ilib)); +var ilib = require("./ilib.js"); -ilib._dyncode = true; // indicate that we are using dynamically loaded code -ilib._dyndata = true; +// The following will either require and then install the +// WebpackLoader to dynamically load locale data bundles, +// or it will statically require all of the locale data that +// this build needs so that it can be included into this +// webpack bundle. -module.exports = ilib; +// !defineLocaleData +module.exports = ilib; diff --git a/js/lib/ilib-node-all.js b/js/lib/ilib-node-all.js deleted file mode 100644 index 9b80339977..0000000000 --- a/js/lib/ilib-node-all.js +++ /dev/null @@ -1,110 +0,0 @@ -/* jshint node: true */ -/* - * ilib-node-all.js - convenience glue code for node to pre-require() - * all classes and export them all at the same time - * - * Copyright © 2015, JEDLSoft - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -var NodeLoader = require("../lib/NodeLoader.js"); -var ilib = require("../lib/ilib.js").ilib; -ilib.setLoaderCallback(NodeLoader(ilib)); - -// require everything so that it is available -ilib.Utils = require("../lib/Utils.js"); -ilib.JSUtils = require("../lib/JSUtils.js"); -ilib.MathUtils = require("../lib/MathUtils.js"); -ilib.SearchUtils = require("../lib/SearchUtils.js"); - -ilib.Locale = require("../lib/Locale.js"); -ilib.LocaleInfo = require("../lib/LocaleInfo.js"); -ilib.LocaleMatcher = require("../lib/LocaleMatcher.js"); -ilib.CaseMapper = require("../lib/CaseMapper.js"); -ilib.IString = require("../lib/IString.js"); -ilib.ResBundle = require("../lib/ResBundle.js"); -ilib.JulianDay = require("../lib/JulianDay.js"); -ilib.TimeZone = require("../lib/TimeZone.js"); -ilib.DateFactory = require("../lib/DateFactory.js"); -ilib.CalendarFactory = require("../lib/CalendarFactory.js"); -ilib.DateFmt = require("../lib/DateFmt.js"); -ilib.DateRngFmt = require("../lib/DateRngFmt.js"); -ilib.DurationFmt = require("../lib/DurationFmt.js"); -ilib.GregorianCal = require("../lib/GregorianCal.js"); -ilib.GregorianDate = require("../lib/GregorianDate.js"); -ilib.HebrewCal = require("../lib/HebrewCal.js"); -ilib.HebrewDate = require("../lib/HebrewDate.js"); -ilib.IslamicCal = require("../lib/IslamicCal.js"); -ilib.IslamicDate = require("../lib/IslamicDate.js"); -ilib.JulianCal = require("../lib/JulianCal.js"); -ilib.JulianDate = require("../lib/JulianDate.js"); -ilib.ThaiSolarCal = require("../lib/ThaiSolarCal.js"); -ilib.ThaiSolarDate = require("../lib/ThaiSolarDate.js"); -ilib.PersianCal = require("../lib/PersianCal.js"); -ilib.PersianDate = require("../lib/PersianDate.js"); -ilib.PersianAlgoCal = require("../lib/PersianAlgoCal.js"); -ilib.PersianAlgoDate = require("../lib/PersianAlgoDate.js"); -ilib.HanCal = require("../lib/HanCal.js"); -ilib.HanDate = require("../lib/HanDate.js"); -ilib.EthiopicCal = require("../lib/EthiopicCal.js"); -ilib.EthiopicDate = require("../lib/EthiopicDate.js"); -ilib.CopticCal = require("../lib/CopticCal.js"); -ilib.CopticDate = require("../lib/CopticDate.js"); -ilib.Currency = require("../lib/Currency.js"); -ilib.INumber = require("../lib/INumber.js"); -ilib.NumFmt = require("../lib/NumFmt.js"); -ilib.CType = require("../lib/CType.js"); -ilib.isDigit = require("../lib/isDigit.js"); -ilib.isSpace = require("../lib/isSpace.js"); -ilib.isAlpha = require("../lib/isAlpha.js"); -ilib.isAlnum = require("../lib/isAlnum.js"); -ilib.isAscii = require("../lib/isAscii.js"); -ilib.isBlank = require("../lib/isBlank.js"); -ilib.isCntrl = require("../lib/isCntrl.js"); -ilib.isGraph = require("../lib/isGraph.js"); -ilib.isIdeo = require("../lib/isIdeo.js"); -ilib.isLower = require("../lib/isLower.js"); -ilib.isPrint = require("../lib/isPrint.js"); -ilib.isPunct = require("../lib/isPunct.js"); -ilib.isUpper = require("../lib/isUpper.js"); -ilib.isXdigit = require("../lib/isXdigit.js"); -ilib.isScript = require("../lib/isScript.js"); -ilib.ScriptInfo = require("../lib/ScriptInfo.js"); -ilib.Name = require("../lib/Name.js"); -ilib.NameFmt = require("../lib/NameFmt.js"); -ilib.Address = require("../lib/Address.js"); -ilib.AddressFmt = require("../lib/AddressFmt.js"); -ilib.GlyphString = require("../lib/GlyphString.js"); -ilib.NormString = require("../lib/NormString.js"); -ilib.Collator = require("../lib/Collator.js"); -ilib.PhoneNumber = require("../lib/PhoneNumber.js"); -ilib.PhoneFmt = require("../lib/PhoneFmt.js"); -ilib.PhoneGeoLocator = require("../lib/PhoneGeoLocator.js"); -ilib.MeasurementFactory = require("../lib/MeasurementFactory.js"); -ilib.UnknownUnit = require("../lib/UnknownUnit.js"); -ilib.AreaUnit = require("../lib/AreaUnit.js"); -ilib.DigitalStorageUnit = require("../lib/DigitalStorageUnit.js"); -ilib.EnergyUnit = require("../lib/EnergyUnit.js"); -ilib.FuelConsumptionUnit = require("../lib/FuelConsumptionUnit.js"); -ilib.LengthUnit = require("../lib/LengthUnit.js"); -ilib.MassUnit = require("../lib/MassUnit.js"); -ilib.TemperatureUnit = require("../lib/TemperatureUnit.js"); -ilib.TimeUnit = require("../lib/TimeUnit.js"); -ilib.SpeedUnit = require("../lib/VelocityUnit.js"); -ilib.VolumeUnit = require("../lib/VolumeUnit.js"); -ilib.UnitFmt = require("../lib/UnitFmt.js"); -ilib.DigitalSpeedUnit = require("../lib/DigitalSpeedUnit.js"); - -module.exports = ilib; diff --git a/js/lib/ilib-qt.js b/js/lib/ilib-qt.js index 2f92dd02f1..0d023dc1a4 100644 --- a/js/lib/ilib-qt.js +++ b/js/lib/ilib-qt.js @@ -62,13 +62,8 @@ requireClass.prototype.normalize = function(pathname) { requireClass.prototype.require = function(parent, pathname, absolutePath) { //console.log("------------------------\nrequire: called with " + pathname); - - if (pathname === "./runner.js") { - // special case to redirect to the qt runner instead - pathname = this.root + "/../../qt/UnitTest/runner.js"; - } else if (pathname === "./TestSuiteModule.js") { + if (pathname === "./TestSuiteModule.js") { // special case to redirect to qt instead - //pathname = this.root + "/../../qt/UnitTest/TestSuiteModule.js"; pathname = this.root + "/../../qt/NodeunitTest/TestSuiteModule.js"; } else if (pathname === "nodeunit") { //console.log(" [ilib-qt.js] Loading nodeunit-qml.js "); diff --git a/js/lib/ilib-standard-inc.js b/js/lib/ilib-standard-inc.js deleted file mode 100644 index adaf1e8e1d..0000000000 --- a/js/lib/ilib-standard-inc.js +++ /dev/null @@ -1,52 +0,0 @@ -/** - * @license - * Copyright © 2012-2015, JEDLSoft - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* - * ilib-standard-inc.js - metafile that includes a reasonable set of other js files - */ - -/* !depends -ilib.js -DateRngFmt.js -IDate.js -DateFactory.js -GregorianCal.js -GregorianDate.js -ThaiSolarCal.js -ThaiSolarDate.js -PersianCal.js -PersianDate.js -EthiopicCal.js -EthiopicDate.js -INumber.js -NumFmt.js -JulianDay.js -DateFmt.js -Calendar.js -CalendarFactory.js -Utils.js -Locale.js -IString.js -DurationFmt.js -ResBundle.js -LocaleInfo.js -DateRngFmt.js -ScriptInfo.js -CaseMapper.js -ListFmt.js -*/ \ No newline at end of file diff --git a/js/lib/ilib-stubs-dyn.js b/js/lib/ilib-stubs-dyn.js deleted file mode 100644 index dd5a08740b..0000000000 --- a/js/lib/ilib-stubs-dyn.js +++ /dev/null @@ -1,139 +0,0 @@ -/* - * ilib-stubs-dyn.js - define the legacy ilib namespace in terms of new modules - * for use in dynamic code loading - * - * Copyright © 2015, JEDLSoft - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -// !dependencies: false - -var ilib=require("../lib/ilib.js"); -if(!ilib.CType)ilib.CType=require("../lib/CType.js");if(!ilib._roundFnc)ilib._roundFnc={}; -if(!ilib.Date)ilib.Date=require("../lib/DateFactory.js"); -if(!ilib.Cal)ilib.Cal=require("../lib/CalendarFactory.js"); -if(!ilib.Measurement)ilib.Measurement=require("../lib/MeasurementFactory.js"); -if(!ilib.shallowCopy){ilib.shallowCopy=function(source, target){ilib.extend2(ilib, require("../lib/JSUtils.js"));return ilib.shallowCopy(source, target);};ilib.shallowCopy.stub=true;} -if(!ilib.deepCopy){ilib.deepCopy=function(from, to){ilib.extend2(ilib, require("../lib/JSUtils.js"));return ilib.deepCopy(from, to);};ilib.deepCopy.stub=true;} -if(!ilib.mapString){ilib.mapString=function(str, map){ilib.extend2(ilib, require("../lib/JSUtils.js"));return ilib.mapString(str, map);};ilib.mapString.stub=true;} -if(!ilib.indexOf){ilib.indexOf=function(array, obj){ilib.extend2(ilib, require("../lib/JSUtils.js"));return ilib.indexOf(array, obj);};ilib.indexOf.stub=true;} -if(!ilib.toHexString){ilib.toHexString=function(string, limit){ilib.extend2(ilib, require("../lib/JSUtils.js"));return ilib.toHexString(string, limit);};ilib.toHexString.stub=true;} -if(!ilib.isDate){ilib.isDate=function(object){ilib.extend2(ilib, require("../lib/JSUtils.js"));return ilib.isDate(object);};ilib.isDate.stub=true;} -if(!ilib.merge){ilib.merge=function(object1, object2, replace, name1, name2){ilib.extend2(ilib, require("../lib/JSUtils.js"));return ilib.merge(object1, object2, replace, name1, name2);};ilib.merge.stub=true;} -if(!ilib.isEmpty){ilib.isEmpty=function(obj){ilib.extend2(ilib, require("../lib/JSUtils.js"));return ilib.isEmpty(obj);};ilib.isEmpty.stub=true;} -if(!ilib.hashCode){ilib.hashCode=function(obj){ilib.extend2(ilib, require("../lib/JSUtils.js"));return ilib.hashCode(obj);};ilib.hashCode.stub=true;} -if(!ilib.Locale){ilib.Locale=function(language, region, variant, script){ilib.Locale=require("../lib/Locale.js");return new ilib.Locale(language, region, variant, script);};ilib.Locale.stub=true;} -if(!ilib.mergeLocData){ilib.mergeLocData=function(prefix, locale, replaceArrays, returnOne){ilib.extend2(ilib, require("../lib/Utils.js"));return ilib.mergeLocData(prefix, locale, replaceArrays, returnOne);};ilib.mergeLocData.stub=true;} -if(!ilib.getLocFiles){ilib.getLocFiles=function(locale, name){ilib.extend2(ilib, require("../lib/Utils.js"));return ilib.getLocFiles(locale, name);};ilib.getLocFiles.stub=true;} -if(!ilib.loadData){ilib.loadData=function(params){ilib.extend2(ilib, require("../lib/Utils.js"));return ilib.loadData(params);};ilib.loadData.stub=true;} -if(!ilib.LocaleInfo){ilib.LocaleInfo=function(locale, options){ilib.LocaleInfo=require("../lib/LocaleInfo.js");return new ilib.LocaleInfo(locale, options);};ilib.LocaleInfo.stub=true;} -if(!ilib.signum){ilib.signum=function(num){ilib.extend2(ilib, require("../lib/MathUtils.js"));return ilib.signum(num);};ilib.signum.stub=true;} -if(!ilib.mod){ilib.mod=function(dividend, modulus){ilib.extend2(ilib, require("../lib/MathUtils.js"));return ilib.mod(dividend, modulus);};ilib.mod.stub=true;} -if(!ilib.amod){ilib.amod=function(dividend, modulus){ilib.extend2(ilib, require("../lib/MathUtils.js"));return ilib.amod(dividend, modulus);};ilib.amod.stub=true;} -if(!ilib.String){ilib.String=function(string){ilib.String=require("../lib/IString.js");return new ilib.String(string);};ilib.String.stub=true;} -if(!ilib.Cal.newInstance){ilib.Cal.newInstance=function(options){ilib.Cal.newInstance=require("../lib/CalendarFactory.js");return ilib.Cal.newInstance(options);};ilib.Cal.newInstance.stub=true;} -if(!ilib.Cal.getCalendars){ilib.Cal.getCalendars=function(){ilib.Cal.getCalendars=require("../lib/CalendarFactory.js").getCalendars;return ilib.Cal.getCalendars();};ilib.Cal.getCalendars.stub=true;} -if(!ilib.Cal.Gregorian){ilib.Cal.Gregorian=function(options){ilib.Cal.Gregorian=require("../lib/GregorianCal.js");return new ilib.Cal.Gregorian(options);};ilib.Cal.Gregorian.stub=true;} -if(!ilib.JulianDay){ilib.JulianDay=function(num){ilib.JulianDay=require("../lib/JulianDay.js");return new ilib.JulianDay(num);};ilib.JulianDay.stub=true;} -if(!ilib.Date.RataDie){ilib.Date.RataDie=function(params){ilib.Date.RataDie=require("../lib/RataDie.js");return new ilib.Date.RataDie(params);};ilib.Date.RataDie.stub=true;} -if(!ilib.Date.GregRataDie){ilib.Date.GregRataDie=function(params){ilib.Date.GregRataDie=require("../lib/GregRataDie.js");return new ilib.Date.GregRataDie(params);};ilib.Date.GregRataDie.stub=true;} -if(!ilib.TimeZone){ilib.TimeZone=function(options){ilib.TimeZone=require("../lib/TimeZone.js");return new ilib.TimeZone(options);};ilib.TimeZone.stub=true;} -if(!ilib.TimeZone.getAvailableIds){ilib.TimeZone.getAvailableIds=function(country, sync, onLoad){ilib.TimeZone=require("../lib/TimeZone.js");return ilib.TimeZone.getAvailableIds(country, sync, onLoad);};ilib.TimeZone.getAvailableIds.stub=true;} -if(!ilib.bsearch){ilib.bsearch=function(target, arr, comparator){ilib.extend2(ilib, require("../lib/SearchUtils.js"));return ilib.bsearch(target, arr, comparator);};ilib.bsearch.stub=true;} -if(!ilib.bisectionSearch){ilib.bisectionSearch=function(target, low, high, precision, func){ilib.extend2(ilib, require("../lib/SearchUtils.js"));return ilib.bisectionSearch(target, low, high, precision, func);};ilib.bisectionSearch.stub=true;} -if(!ilib.Date.GregDate){ilib.Date.GregDate=function(params){ilib.Date.GregDate=require("../lib/GregorianDate.js");return new ilib.Date.GregDate(params);};ilib.Date.GregDate.stub=true;} -if(!ilib.Date.newInstance){ilib.Date.newInstance=function(options){ilib.Date.newInstance=require("../lib/DateFactory.js");return ilib.Date.newInstance(options);};ilib.Date.newInstance.stub=true;} -if(!ilib.Date._dateToIlib){ilib.Date._dateToIlib=function(dateLike){ilib.Date._dateToIlib=require("../lib/DateFactory.js")._dateToIlib;return ilib.Date._dateToIlib(dateLike);};ilib.Date.newInstance.stub=true;} -if(!ilib.ResBundle){ilib.ResBundle=function(options){ilib.ResBundle=require("../lib/ResBundle.js");return new ilib.ResBundle(options);};ilib.ResBundle.stub=true;} -if(!ilib.DateFmt){ilib.DateFmt=function(options){ilib.DateFmt=require("../lib/DateFmt.js");return new ilib.DateFmt(options);};ilib.DateFmt.stub=true;} -if(!ilib.DateRngFmt){ilib.DateRngFmt=function(options){ilib.DateRngFmt=require("../lib/DateRngFmt.js");return new ilib.DateRngFmt(options);};ilib.DateRngFmt.stub=true;} -if(!ilib.Cal.Hebrew){ilib.Cal.Hebrew=function(){ilib.Cal.Hebrew=require("../lib/HebrewCal.js");return new ilib.Cal.Hebrew();};ilib.Cal.Hebrew.stub=true;} -if(!ilib.Date.HebrewDate){ilib.Date.HebrewDate=function(params){ilib.Date.HebrewDate=require("../lib/HebrewDate.js");return new ilib.Date.HebrewDate(params);};ilib.Date.HebrewDate.stub=true;} -if(!ilib.Cal.Islamic){ilib.Cal.Islamic=function(){ilib.Cal.Islamic=require("../lib/IslamicCal.js");return new ilib.Cal.Islamic();};ilib.Cal.Islamic.stub=true;} -if(!ilib.Date.IslamicDate){ilib.Date.IslamicDate=function(params){ilib.Date.IslamicDate=require("../lib/IslamicDate.js");return new ilib.Date.IslamicDate(params);};ilib.Date.IslamicDate.stub=true;} -if(!ilib.Cal.Julian){ilib.Cal.Julian=function(){ilib.Cal.Julian=require("../lib/JulianCal.js");return new ilib.Cal.Julian();};ilib.Cal.Julian.stub=true;} -if(!ilib.Date.JulDate){ilib.Date.JulDate=function(params){ilib.Date.JulDate=require("../lib/JulianDate.js");return new ilib.Date.JulDate(params);};ilib.Date.JulDate.stub=true;} -if(!ilib.Cal.ThaiSolar){ilib.Cal.ThaiSolar=function(){ilib.Cal.ThaiSolar=require("../lib/ThaiSolarCal.js");return new ilib.Cal.ThaiSolar();};ilib.Cal.ThaiSolar.stub=true;} -if(!ilib.Date.ThaiSolarDate){ilib.Date.ThaiSolarDate=function(params){ilib.Date.ThaiSolarDate=require("../lib/ThaiSolarDate.js");return new ilib.Date.ThaiSolarDate(params);};ilib.Date.ThaiSolarDate.stub=true;} -if(!ilib.Date.initAstro){ilib.Date.initAstro=function(sync, loadParams, callback){ilib.extend2(ilib.Date, require("../lib/Astro.js"));return ilib.Date.initAstro(sync, loadParams, callback);};ilib.Date.initAstro.stub=true;} -if(!ilib.Date.PersAstroRataDie){ilib.Date.PersAstroRataDie=function(params){ilib.Date.PersAstroRataDie=require("../lib/PersRataDie.js");return new ilib.Date.PersAstroRataDie(params);};ilib.Date.PersAstroRataDie.stub=true;} -if(!ilib.Cal.Persian){ilib.Cal.Persian=function(){ilib.Cal.Persian=require("../lib/PersianCal.js");return new ilib.Cal.Persian();};ilib.Cal.Persian.stub=true;} -if(!ilib.Date.PersDate){ilib.Date.PersDate=function(params){ilib.Date.PersDate=require("../lib/PersianDate.js");return new ilib.Date.PersDate(params);};ilib.Date.PersDate.stub=true;} -if(!ilib.Cal.PersianAlgo){ilib.Cal.PersianAlgo=function(){ilib.Cal.PersianAlgo=require("../lib/PersianAlgoCal.js");return new ilib.Cal.PersianAlgo();};ilib.Cal.PersianAlgo.stub=true;} -if(!ilib.Date.PersAlgoDate){ilib.Date.PersAlgoDate=function(params){ilib.Date.PersAlgoDate=require("../lib/PersianAlgoDate.js");return new ilib.Date.PersAlgoDate(params);};ilib.Date.PersAlgoDate.stub=true;} -if(!ilib.Date.PersAlgoRataDie){ilib.Date.PersAlgoRataDie=function(params){ilib.Date.PersAlgoRataDie=require("../lib/PersAlgoRataDie.js");return new ilib.Date.PersAlgoRataDie(params);};ilib.Date.PersAlgoRataDie.stub=true;} -if(!ilib.Cal.Han){ilib.Cal.Han=function(params){ilib.Cal.Han=require("../lib/HanCal.js");return new ilib.Cal.Han(params);};ilib.Cal.Han.stub=true;} -if(!ilib.Date.HanDate){ilib.Date.HanDate=function(params){ilib.Date.HanDate=require("../lib/HanDate.js");return new ilib.Date.HanDate(params);};ilib.Date.HanDate.stub=true;} -if(!ilib.Date.HanRataDie){ilib.Date.HanRataDie=function(params){ilib.Date.HanRataDie=require("../lib/HanRataDie.js");return new ilib.Date.HanRataDie(params);};ilib.Date.HanRataDie.stub=true;} -if(!ilib.Cal.Ethiopic){ilib.Cal.Ethiopic=function(){ilib.Cal.Ethiopic=require("../lib/EthiopicCal.js");return new ilib.Cal.Ethiopic();};ilib.Cal.Ethiopic.stub=true;} -if(!ilib.Date.EthiopicDate){ilib.Date.EthiopicDate=function(params){ilib.Date.EthiopicDate=require("../lib/EthiopicDate.js");return new ilib.Date.EthiopicDate(params);};ilib.Date.EthiopicDate.stub=true;} -if(!ilib.Date.EthiopicRataDie){ilib.Date.EthiopicRataDie=function(params){ilib.Date.EthiopicRataDie=require("../lib/EthiopicRataDie.js");return new ilib.Date.EthiopicRataDie(params);};ilib.Date.EthiopicRataDie.stub=true;} -if(!ilib.Cal.Coptic){ilib.Cal.Coptic=function(){ilib.Cal.Coptic=require("../lib/CopticCal.js");return new ilib.Cal.Coptic();};ilib.Cal.Coptic.stub=true;} -if(!ilib.Date.CopticDate){ilib.Date.CopticDate=function(params){ilib.Date.CopticDate=require("../lib/CopticDate.js");return new ilib.Date.CopticDate(params);};ilib.Date.CopticDate.stub=true;} -if(!ilib.Date.CopticRataDie){ilib.Date.CopticRataDie=function(params){ilib.Date.CopticRataDie=require("../lib/CopticRataDie.js");return new ilib.Date.CopticRataDie(params);};ilib.Date.CopticRataDie.stub=true;} -if(!ilib.CType.isDigit){ilib.CType.isDigit=function(ch){ilib.CType.isDigit=require("../lib/isDigit.js");return ilib.CType.isDigit(ch);};ilib.CType.isDigit.stub=true;} -if(!ilib.CType.isSpace){ilib.CType.isSpace=function(ch){ilib.CType.isSpace=require("../lib/isSpace.js");return ilib.CType.isSpace(ch);};ilib.CType.isSpace.stub=true;} -if(!ilib.Currency){ilib.Currency=function(options){ilib.Currency=require("../lib/Currency.js");return new ilib.Currency(options);};ilib.Currency.stub=true;} -if(!ilib.Currency.getAvailableCurrencies){ilib.Currency.getAvailableCurrencies=function(){ilib.Currency=require("../lib/Currency.js");return new ilib.Currency.getAvailableCurrencies();};ilib.Currency.getAvailableCurrencies.stub=true;} -if(!ilib.Number){ilib.Number=function(str, options){ilib.Number=require("../lib/INumber.js");return new ilib.Number(str, options);};ilib.Number.stub=true;} -if(!ilib.NumFmt){ilib.NumFmt=function(options){ilib.NumFmt=require("../lib/NumFmt.js");return new ilib.NumFmt(options);};ilib.NumFmt.stub=true;} -if(!ilib.DurFmt){ilib.DurFmt=function(options){ilib.DurFmt=require("../lib/DurationFmt.js");return new ilib.DurFmt(options);};ilib.DurFmt.stub=true;} -if(!ilib.CType.isAlpha){ilib.CType.isAlpha=function(ch){ilib.CType.isAlpha=require("../lib/isAlpha.js");return ilib.CType.isAlpha(ch);};ilib.CType.isAlpha.stub=true;} -if(!ilib.CType.isAlnum){ilib.CType.isAlnum=function(ch){ilib.CType.isAlnum=require("../lib/isAlnum.js");return ilib.CType.isAlnum(ch);};ilib.CType.isAlnum.stub=true;} -if(!ilib.CType.isAscii){ilib.CType.isAscii=function(ch){ilib.CType.isAscii=require("../lib/isAscii.js");return ilib.CType.isAscii(ch);};ilib.CType.isAscii.stub=true;} -if(!ilib.CType.isBlank){ilib.CType.isBlank=function(ch){ilib.CType.isBlank=require("../lib/isBlank.js");return ilib.CType.isBlank(ch);};ilib.CType.isBlank.stub=true;} -if(!ilib.CType.isCntrl){ilib.CType.isCntrl=function(ch){ilib.CType.isCntrl=require("../lib/isCntrl.js");return ilib.CType.isCntrl(ch);};ilib.CType.isCntrl.stub=true;} -if(!ilib.CType.isGraph){ilib.CType.isGraph=function(ch){ilib.CType.isGraph=require("../lib/isGraph.js");return ilib.CType.isGraph(ch);};ilib.CType.isGraph.stub=true;} -if(!ilib.CType.isIdeo){ilib.CType.isIdeo=function(ch){ilib.CType.isIdeo=require("../lib/isIdeo.js");return ilib.CType.isIdeo(ch);};ilib.CType.isIdeo.stub=true;} -if(!ilib.CType.isLower){ilib.CType.isLower=function(ch){ilib.CType.isLower=require("../lib/isLower.js");return ilib.CType.isLower(ch);};ilib.CType.isLower.stub=true;} -if(!ilib.CType.isPrint){ilib.CType.isPrint=function(ch){ilib.CType.isPrint=require("../lib/isPrint.js");return ilib.CType.isPrint(ch);};ilib.CType.isPrint.stub=true;} -if(!ilib.CType.isPunct){ilib.CType.isPunct=function(ch){ilib.CType.isPunct=require("../lib/isPunct.js");return ilib.CType.isPunct(ch);};ilib.CType.isPunct.stub=true;} -if(!ilib.CType.isUpper){ilib.CType.isUpper=function(ch){ilib.CType.isUpper=require("../lib/isUpper.js");return ilib.CType.isUpper(ch);};ilib.CType.isUpper.stub=true;} -if(!ilib.CType.isXdigit){ilib.CType.isXdigit=function(ch){ilib.CType.isXdigit=require("../lib/isXdigit.js");return ilib.CType.isXdigit(ch);};ilib.CType.isXdigit.stub=true;} -if(!ilib.CType.isScript){ilib.CType.isScript=function(ch, script){ilib.CType.isScript=require("../lib/isScript.js");return ilib.CType.isScript(ch, script);};ilib.CType.isScript.stub=true;} -if(!ilib.ScriptInfo){ilib.ScriptInfo=function(script, options){ilib.ScriptInfo=require("../lib/ScriptInfo.js");return new ilib.ScriptInfo(script, options);};ilib.ScriptInfo.stub=true;} -if(!ilib.Name){ilib.Name=function(name, options){ilib.Name=require("../lib/Name.js");return new ilib.Name(name, options);};ilib.Name.stub=true;} -if(!ilib.NameFmt){ilib.NameFmt=function(options){ilib.NameFmt=require("../lib/NameFmt.js");return new ilib.NameFmt(options);};ilib.NameFmt.stub=true;} -if(!ilib.Address){ilib.Address=function(freeformAddress, options){ilib.Address=require("../lib/Address.js");return new ilib.Address(freeformAddress, options);};ilib.Address.stub=true;} -if(!ilib.AddressFmt){ilib.AddressFmt=function(options){ilib.AddressFmt=require("../lib/AddressFmt.js");return new ilib.AddressFmt(options);};ilib.AddressFmt.stub=true;} -if(!ilib.GlyphString){ilib.GlyphString=function(str, options){ilib.GlyphString=require("../lib/GlyphString.js");return new ilib.GlyphString(str, options);};ilib.GlyphString.stub=true;} -if(!ilib.NormString){ilib.NormString=function(str){ilib.NormString=require("../lib/NormString.js");return new ilib.NormString(str);};ilib.NormString.stub=true;} -if(!ilib.CodePointSource){ilib.CodePointSource=function(str, ignorePunctuation){ilib.CodePointSource=require("../lib/CodePointSource.js");return new ilib.CodePointSource(str, ignorePunctuation);};ilib.CodePointSource.stub=true;} -if(!ilib.ElementIterator){ilib.ElementIterator=function(source, map, keysize){ilib.ElementIterator=require("../lib/ElementIterator.js");return new ilib.ElementIterator(source, map, keysize);};ilib.ElementIterator.stub=true;} -if(!ilib.Collator){ilib.Collator=function(options){ilib.Collator=require("../lib/Collator.js");return new ilib.Collator(options);};ilib.Collator.stub=true;} -if(!ilib.LocaleMatcher){ilib.LocaleMatcher=function(options){ilib.LocaleMatcher=require("../lib/LocaleMatcher.js");return new ilib.LocaleMatcher(options);};ilib.LocaleMatcher.stub=true;} -if(!ilib.CaseMapper){ilib.CaseMapper=function(options){ilib.CaseMapper=require("../lib/CaseMapper.js");return new ilib.CaseMapper(options);};ilib.CaseMapper.stub=true;} -if(!ilib.NumPlan){ilib.NumPlan=function(options){ilib.NumPlan=require("../lib/NumberingPlan.js");return new ilib.NumPlan(options);};ilib.NumPlan.stub=true;} -if(!ilib.PhoneLoc){ilib.PhoneLoc=function(options){ilib.PhoneLoc=require("../lib/PhoneLocale.js");return new ilib.PhoneLoc(options);};ilib.PhoneLoc.stub=true;} -if(!ilib.StateHandler){ilib.StateHandler=function(){ilib.StateHandler=require("../lib/PhoneHandlerFactory.js");return new ilib.StateHandler();};ilib.StateHandler.stub=true;} -if(!ilib._handlerFactory){ilib._handlerFactory=function(locale, plan){ilib._handlerFactory=require("../lib/PhoneHandlerFactory.js");return ilib._handlerFactory(locale, plan);};ilib._handlerFactory.stub=true;} -if(!ilib.PhoneNumber){ilib.PhoneNumber=function(number, options){ilib.PhoneNumber=require("../lib/PhoneNumber.js");return new ilib.PhoneNumber(number, options);};ilib.PhoneNumber.stub=true;} -if(!ilib.PhoneFmt){ilib.PhoneFmt=function(options){ilib.PhoneFmt=require("../lib/PhoneFmt.js");return new ilib.PhoneFmt(options);};ilib.PhoneFmt.stub=true;} -if(!ilib.GeoLocator){ilib.GeoLocator=function(options){ilib.GeoLocator=require("../lib/PhoneGeoLocator.js");return new ilib.GeoLocator(options);};ilib.GeoLocator.stub=true;} -if(!ilib.Measurement.Unknown){ilib.Measurement.Unknown=function(options){ilib.Measurement.Unknown=require("../lib/UnknownUnit.js");return new ilib.Measurement.Unknown(options);};ilib.Measurement.Unknown.stub=true;} -if(!ilib.Measurement.Area){ilib.Measurement.Area=function(options){ilib.Measurement.Area=require("../lib/AreaUnit.js");return new ilib.Measurement.Area(options);};ilib.Measurement.Area.stub=true;} -if(!ilib.Measurement.DigitalStorage){ilib.Measurement.DigitalStorage=function(options){ilib.Measurement.DigitalStorage=require("../lib/DigitalStorageUnit.js");return new ilib.Measurement.DigitalStorage(options);};ilib.Measurement.DigitalStorage.stub=true;} -if(!ilib.Measurement.Energy){ilib.Measurement.Energy=function(options){ilib.Measurement.Energy=require("../lib/EnergyUnit.js");return new ilib.Measurement.Energy(options);};ilib.Measurement.Energy.stub=true;} -if(!ilib.Measurement.FuelConsumption){ilib.Measurement.FuelConsumption=function(options){ilib.Measurement.FuelConsumption=require("../lib/FuelConsumptionUnit.js");return new ilib.Measurement.FuelConsumption(options);};ilib.Measurement.FuelConsumption.stub=true;} -if(!ilib.Measurement.Length){ilib.Measurement.Length=function(options){ilib.Measurement.Length=require("../lib/LengthUnit.js");return new ilib.Measurement.Length(options);};ilib.Measurement.Length.stub=true;} -if(!ilib.Measurement.Mass){ilib.Measurement.Mass=function(options){ilib.Measurement.Mass=require("../lib/MassUnit.js");return new ilib.Measurement.Mass(options);};ilib.Measurement.Mass.stub=true;} -if(!ilib.Measurement.Temperature){ilib.Measurement.Temperature=function(options){ilib.Measurement.Temperature=require("../lib/TemperatureUnit.js");return new ilib.Measurement.Temperature(options);};ilib.Measurement.Temperature.stub=true;} -if(!ilib.Measurement.Time){ilib.Measurement.Time=function(options){ilib.Measurement.Time=require("../lib/TimeUnit.js");return new ilib.Measurement.Time(options);};ilib.Measurement.Time.stub=true;} -if(!ilib.Measurement.Speed){ilib.Measurement.Speed=function(options){ilib.Measurement.Speed=require("../lib/VelocityUnit.js");return new ilib.Measurement.Speed(options);};ilib.Measurement.Speed.stub=true;} -if(!ilib.Measurement.Volume){ilib.Measurement.Volume=function(options){ilib.Measurement.Volume=require("../lib/VolumeUnit.js");return new ilib.Measurement.Volume(options);};ilib.Measurement.Volume.stub=true;} -if(!ilib.UnitFmt){ilib.UnitFmt=function(options){ilib.UnitFmt=require("../lib/UnitFmt.js");return new ilib.UnitFmt(options);};ilib.UnitFmt.stub=true;} -if(!ilib.Measurement.DigitalSpeed){ilib.Measurement.DigitalSpeed=function(options){ilib.Measurement.DigitalSpeed=require("../lib/DigitalSpeed.js");return new ilib.Measurement.DigitalSpeed(options);};ilib.Measurement.DigitalSpeed.stub=true;} - -module.exports = ilib; diff --git a/js/lib/ilib-stubs-map.js b/js/lib/ilib-stubs-map.js deleted file mode 100644 index cc7010cc78..0000000000 --- a/js/lib/ilib-stubs-map.js +++ /dev/null @@ -1,38 +0,0 @@ -/* - * ilib-stubs-map.js - define a fake require() function so that dynamic - * code can run properly in an assembled environment - * - * Copyright © 2015, JEDLSoft - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -// !dependencies: false - - -var oldRequire = require; -var require = function(pathname) { - // console.log("new require: looking up pathname " + pathname); - var i = pathname.lastIndexOf('/'); - var file = i > -1 ? pathname.substring(i+1) : pathname; - if (file.substring(file.length-3) === ".js") { - var moduleName = file.substring(0, file.length-3); // strip the ".js" part - // console.log("new require: module name is " + moduleName); - // console.log("new require: module is: "); - var module = ilib._global(moduleName) || this[moduleName]; - // console.dir(module); - if (module) return module; - } - return oldRequire && oldRequire(pathname); -}; diff --git a/js/lib/ilib-stubs.js b/js/lib/ilib-stubs.js deleted file mode 100644 index 6baa39c99e..0000000000 --- a/js/lib/ilib-stubs.js +++ /dev/null @@ -1,29 +0,0 @@ -/* - * ilib-stubs.js - define the legacy ilib namespace in terms of new modules - * - * Copyright © 2015, JEDLSoft - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -// !dependencies: false - -ilib.CType=CType;ilib._roundFnc={}; -ilib.Date=DateFactory;ilib.Cal=CalendarFactory;ilib.Measurement=MeasurementFactory;ilib.extend2(ilib.Date, Astro); -ilib.shallowCopy=JSUtils.shallowCopy;ilib.deepCopy=JSUtils.deepCopy;ilib.mapString=JSUtils.mapString;ilib.indexOf=JSUtils.indexOf;ilib.toHexString=JSUtils.toHexString;ilib.isDate=JSUtils.isDate;ilib.merge=JSUtils.merge;ilib.isEmpty=JSUtils.isEmpty;ilib.hashCode=JSUtils.hashCode;ilib.Locale=Locale;ilib.mergeLocData=Utils.mergeLocData;ilib.getLocFiles=Utils.getLocFiles;ilib.loadData=Utils.loadData;ilib.LocaleInfo=LocaleInfo;ilib.signum=MathUtils.signum;ilib.mod=MathUtils.mod;ilib.amod=MathUtils.amod;ilib.String=IString;ilib.Cal.newInstance=CalendarFactory;ilib.Cal.getCalendars=CalendarFactory.getCalendars;ilib.Cal.Gregorian=GregorianCal;ilib.JulianDay=JulianDay;ilib.Date.RataDie=RataDie;ilib.Date.GregRataDie=GregRataDie;ilib.TimeZone=TimeZone;ilib.bsearch=SearchUtils.bsearch;ilib.bisectionSearch=SearchUtils.bisectionSearch;ilib.Date.GregDate=GregorianDate;ilib.Date.newInstance=DateFactory;ilib.ResBundle=ResBundle;ilib.DateFmt=DateFmt;ilib.DateRngFmt=DateRngFmt;ilib.Cal.Hebrew=HebrewCal;ilib.Date.HebrewDate=HebrewDate;ilib.Cal.Islamic=IslamicCal;ilib.Date.IslamicDate=IslamicDate;ilib.Cal.Julian=JulianCal;ilib.Date.JulDate=JulianDate;ilib.Date.JulRataDie=JulianRataDie; -ilib.Cal.ThaiSolar=ThaiSolarCal;ilib.Date.ThaiSolarDate=ThaiSolarDate;ilib.Date.initAstro=Astro.initAstro;ilib.Date.PersAstroRataDie=PersRataDie;ilib.Cal.Persian=PersianCal;ilib.Date.PersDate=PersianDate;ilib.Cal.PersianAlgo=PersianAlgoCal;ilib.Date.PersAlgoDate=PersianAlgoDate;ilib.Date.PersAlgoRataDie=PersAlgoRataDie;ilib.Cal.Han=HanCal;ilib.Date.HanDate=HanDate;ilib.Date.HanRataDie=HanRataDie; -ilib.Cal.Ethiopic=EthiopicCal;ilib.Date.EthiopicDate=EthiopicDate;ilib.Date.EthiopicRataDie = EthiopicRataDie; -ilib.Cal.Coptic=CopticCal;ilib.Date.CopticDate=CopticDate;ilib.Date.CopticRataDie=CopticRataDie; -ilib.CType.isDigit=isDigit;ilib.CType.isSpace=isSpace;ilib.Currency=Currency;ilib.Number=INumber;ilib.NumFmt=NumFmt;ilib.DurFmt=DurationFmt;ilib.CType.isAlpha=isAlpha;ilib.CType.isAlnum=isAlnum;ilib.CType.isAscii=isAscii;ilib.CType.isBlank=isBlank;ilib.CType.isCntrl=isCntrl;ilib.CType.isGraph=isGraph;ilib.CType.isIdeo=isIdeo;ilib.CType.isLower=isLower;ilib.CType.isPrint=isPrint;ilib.CType.isPunct=isPunct;ilib.CType.isUpper=isUpper;ilib.CType.isXdigit=isXdigit;ilib.CType.isScript=isScript;ilib.ScriptInfo=ScriptInfo;ilib.Name=Name;ilib.NameFmt=NameFmt;ilib.Address=Address;ilib.AddressFmt=AddressFmt;ilib.GlyphString=GlyphString;ilib.NormString=NormString;ilib.CodePointSource=CodePointSource;ilib.ElementIterator=ElementIterator;ilib.Collator=Collator;ilib.LocaleMatcher=LocaleMatcher;ilib.CaseMapper=CaseMapper;ilib.NumPlan=NumberingPlan;ilib.PhoneLoc=PhoneLocale;ilib.StateHandler=PhoneHandler;ilib._handlerFactory=PhoneHandlerFactory;ilib.PhoneNumber=PhoneNumber;ilib.PhoneFmt=PhoneFmt;ilib.GeoLocator=PhoneGeoLocator;ilib.Measurement.Unknown=UnknownUnit;ilib.Measurement.Area=AreaUnit;ilib.Measurement.DigitalStorage=DigitalSpeedUnit;ilib.Measurement.DigitalStorage=DigitalSpeedUnit;ilib.Measurement.Energy=EnergyUnit;ilib.Measurement.FuelConsumption=FuelConsumptionUnit;ilib.Measurement.Length=LengthUnit;ilib.Measurement.Mass=MassUnit;ilib.Measurement.Temperature=TemperatureUnit;ilib.Measurement.Time=TimeUnit;ilib.Measurement.Speed=VelocityUnit;ilib.Measurement.Volume=VolumeUnit;ilib.UnitFmt=UnitFmt; - diff --git a/js/lib/ilib-test-dyndata.js b/js/lib/ilib-test-dyndata.js deleted file mode 100644 index bbbbe25590..0000000000 --- a/js/lib/ilib-test-dyndata.js +++ /dev/null @@ -1,30 +0,0 @@ -/* jshint node: true */ -/* - * ilib-test-dyn.js - glue code for node to load both code - * and the data dynamically - * - * Copyright © 2015, JEDLSoft - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -var NodeLoader = require("../lib/NodeLoader.js"); -var ilib = require("../lib/ilib.js"); -ilib.setLoaderCallback(NodeLoader(ilib)); - -ilib._dyncode = false; -ilib._dyndata = true; - -module.exports = ilib; - diff --git a/js/lib/ilib-test.js b/js/lib/ilib-test.js deleted file mode 100644 index bde3503f88..0000000000 --- a/js/lib/ilib-test.js +++ /dev/null @@ -1,33 +0,0 @@ -/* jshint node: true */ -/* - * ilib-test.js - glue code for node to load local assembled ilib code - * statically and the data dynamically - * - * Copyright © 2015, JEDLSoft - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -// var NodeLoader = require("../lib/NodeLoader.js"); -// ilib.setLoaderCallback(NodeLoader(ilib)); - -//initialize some things statically because the constructors do not load -//the locale-independent data -CType._init(true); -NormString.init(); - -ilib._dyncode = false; -ilib._dyndata = false; - -module.exports = ilib; diff --git a/js/lib/ilib-unpack.js b/js/lib/ilib-unpack.js new file mode 100644 index 0000000000..74ac3733a6 --- /dev/null +++ b/js/lib/ilib-unpack.js @@ -0,0 +1,157 @@ +/** + * ilib-unpack.js - Unpack a set of ilib routines webpacked into a + * single file back into the global scope. + * + * @license + * Copyright © 2018, JEDLSoft + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// WARNING: this assumes you have already included ilib-*.js into your html + +var ilib = require("./ilib.js"); + +var top = ilib._top(); + +var exportClassesPublic = [ + "DateRngFmt", + "IDate", + "DateFactory", + "HebrewDate", + "HebrewCal", + "IslamicCal", + "IslamicDate", + "JulianCal", + "JulianDate", + "GregorianCal", + "GregorianDate", + "ThaiSolarCal", + "ThaiSolarDate", + "PersianCal", + "PersianDate", + "PersianAlgoCal", + "PersianAlgoDate", + "HanCal", + "HanDate", + "EthiopicCal", + "EthiopicDate", + "CopticCal", + "CopticDate", + "INumber", + "NumFmt", + "JulianDay", + "DateFmt", + "Calendar", + "CalendarFactory", + "Utils", + "Locale", + "IString", + "DurationFmt", + "ResBundle", + "CType", + "LocaleInfo", + "DateRngFmt", + "isAlnum", + "isAlpha", + "isAscii", + "isBlank", + "isCntrl", + "isDigit", + "isGraph", + "isIdeo", + "isLower", + "isPrint", + "isPunct", + "isSpace", + "isUpper", + "isXdigit", + "isScript", + "ScriptInfo", + "Name", + "NameFmt", + "Address", + "AddressFmt", + "Collator", + "LocaleMatcher", + "NormString", + "CaseMapper", + "GlyphString", + "PhoneFmt", + "PhoneGeoLocator", + "PhoneNumber", + "Measurement", + "MeasurementFactory", + "UnitFmt", + "LengthUnit", + "VelocityUnit", + "DigitalStorageUnit", + "TemperatureUnit", + "UnknownUnit", + "TimeUnit", + "MassUnit", + "AreaUnit", + "FuelConsumptionUnit", + "VolumeUnit", + "EnergyUnit", + "Charset", + "Charmap", + "CharmapFactory", + "CharmapTable", + "UTF8", + "UTF16BE", + "UTF16LE", + "Country", + "ListFmt", + "AlphabeticIndex", + "TimeZone", + "Currency", + "DigitalSpeedUnit" +]; + +if (top) { + // these are the private classes that the unit tests may need + var exportClasses = exportClassesPublic.concat([ + "ISet", + "SearchUtils", + "MathUtils", + "JSUtils", + "Path", + "Astro", + "Utils", + "CodePointSource", + "CopticRataDie", + "ElementIterator", + "EthiopicRataDie", + "GregRataDie", + "HanRataDie", + "NumberingPlan", + "PersAlgoRataDie", + "PersRataDie", + "PhoneHandlerFactory", + "PhoneLocale", + "RataDie" + ]); + + exportClasses.forEach(function(className) { + // console.log("Defining " + className); + if (typeof(ilib[className]) !== 'undefined') { + top[className] = ilib[className]; + } + }); +} else { + throw "No global scope on this platform. You cannot use ilib-unpack here to unpack ilib into the global scope because it does not exist."; +} + +module.exports = exportClassesPublic; diff --git a/js/lib/ilib-ut-inc.js b/js/lib/ilib-ut-inc.js deleted file mode 100644 index fcd7c32c21..0000000000 --- a/js/lib/ilib-ut-inc.js +++ /dev/null @@ -1,137 +0,0 @@ -/** - * Copyright © 2012-2015, JEDLSoft - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * - * See the License for the specific language governing permissions and - * limitations under the License. - * @license - */ - -/* - * ilib.js - metafile that includes all other js files - */ - -/* !depends -ilib.js -DateRngFmt.js -IDate.js -DateFactory.js -HebrewDate.js -HebrewCal.js -IslamicCal.js -IslamicDate.js -JulianCal.js -JulianDate.js -GregorianCal.js -GregorianDate.js -ThaiSolarCal.js -ThaiSolarDate.js -PersianAlgoCal.js -PersianAlgoDate.js -PersianDate.js -PersianCal.js -HanCal.js -HanDate.js -EthiopicCal.js -EthiopicDate.js -CopticCal.js -CopticDate.js -INumber.js -NumFmt.js -JulianDay.js -DateFmt.js -Calendar.js -CalendarFactory.js -Utils.js -Locale.js -nfkc/all.js -IString.js -DurationFmt.js -ResBundle.js -CType.js -LocaleInfo.js -DateRngFmt.js -isAlnum.js -isAlpha.js -isAscii.js -isBlank.js -isCntrl.js -isDigit.js -isGraph.js -isIdeo.js -isLower.js -isPrint.js -isPunct.js -isScript.js -isSpace.js -isUpper.js -isXdigit.js -ScriptInfo.js -Name.js -NameFmt.js -Address.js -AddressFmt.js -Collator.js -LocaleMatcher.js -NormString.js -StringMapper.js -CaseMapper.js -GlyphString.js -PhoneNumber.js -PhoneFmt.js -PhoneGeoLocator.js -Measurement.js -MeasurementFactory.js -UnitFmt.js -LengthUnit.js -VelocityUnit.js -TemperatureUnit.js -DigitalStorageUnit.js -UnknownUnit.js -TimeUnit.js -MassUnit.js -AreaUnit.js -FuelConsumptionUnit.js -VolumeUnit.js -EnergyUnit.js -Charset.js -ListFmt.js -Country.js -ListFmt.js -CaseMapper.js -Charset.js -Charmap.js -CharmapFactory.js -CharmapTable.js -UTF8.js -UTF16BE.js -UTF16LE.js -charmaps/Jpan.js -charmaps/Kore.js -charmaps/Hans.js -charmaps/Hant.js -charmaps/general.js -AlphabeticIndex.js -DigitalSpeedUnit.js -*/ - -/* !data -charset/ISO-10646-UCS-2 -charset/UTF-16BE -charset/UTF-16 -charset/UTF-16LE -charset/UTF-8 -charset/ISO-8859-1 -charset/EUC-JP -charset/Shift_JIS -charset/ISO-8859-15 -*/ diff --git a/js/lib/ilib-ut-maps-inc.js b/js/lib/ilib-ut-maps-inc.js deleted file mode 100644 index 27aaf7491e..0000000000 --- a/js/lib/ilib-ut-maps-inc.js +++ /dev/null @@ -1,44 +0,0 @@ -/** - * Copyright © 2015, JEDLSoft - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * - * See the License for the specific language governing permissions and - * limitations under the License. - * @license - */ - -/* - * ilib-ut-maps-inc.js - metafile that includes all other js files - * for testing only the maps part. This should pull in all the - * other dependencies automatically. This is separated because - * the charmaps data is so $#@%#$ huge. - */ - -/* !depends -CType.js -NormString.js -CaseMapper.js -Charset.js -Charmap.js -CharmapFactory.js -CharmapTable.js -UTF8.js -UTF16BE.js -UTF16LE.js -charmaps/Jpan.js -charmaps/Kore.js -charmaps/Hans.js -charmaps/Hant.js -charmaps/general.js -*/ - -/* The charmaps files are other include files that conveniently allow you to include all the charmaps and charsets need for a particular script. */ \ No newline at end of file diff --git a/js/lib/ilib-web-async-externs.js b/js/lib/ilib-web-async-externs.js deleted file mode 100644 index ccaeff405e..0000000000 --- a/js/lib/ilib-web-async-externs.js +++ /dev/null @@ -1,23 +0,0 @@ -/* - * externs.js - define externs for the google closure compiler - * - * Copyright © 2012-2015, JEDLSoft - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -// !dependencies: false - -console.log = function (str){}; -var PalmSystem, process, require, module, environment, exports, global, Qt, Locale; diff --git a/js/lib/ilib-web.js b/js/lib/ilib-web.js deleted file mode 100644 index 95a3336f34..0000000000 --- a/js/lib/ilib-web.js +++ /dev/null @@ -1,158 +0,0 @@ -/* - * ilib-web.js - glue code for web apps to load local ilib code and data - * using XHR - * - * Copyright © 2015, JEDLSoft - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -var path = { - dirname: function(pathname) { - var i = pathname.lastIndexOf("/"); - return i !== -1 ? pathname.substring(0,i) : pathname; - }, - - join: function() { - var arr = []; - for (var i = 0; i < arguments.length; i++) { - arr.push(arguments[i]); - } - return arr.join("/"); - }, - - normalize: function(pathname) { - if (pathname) { - var previousLen; - do { - previousLen = pathname.length; - pathname = pathname.replace(/\/\.\//g, "/").replace(/\/[^/]+[^\.]\/\.\./g, "").replace(/^\.\//, "").replace(/\/\//g, "/"); - } while (pathname.length < previousLen); - } - return pathname; - } -}; - - -var requireClass = function() { - this.cache = {}; - this.loading = {}; - this.updateRequire = /\brequire\s*\(\s*"([^/][^"+]*)"/g; - - var pos; - var scripts = document.getElementsByTagName("script"); - - this.protocol = "file://"; - this.root = "."; - - for (var i = 0; i < scripts.length; i++) { - var source = scripts[i].src; - if (source && (pos = source.search(/ilib-web\.js$/)) !== -1) { - var colon = source.indexOf('://'); - this.protocol = source.substring(0,colon+3); - this.root = source.substring(colon+3, pos-1); - break; - } - } -}; - -requireClass.prototype.loadFile = function(pathname) { - // special case for IE because it has a @#$%ed up XMLHttpRequest implementation - var req = (navigator.userAgent.indexOf(" .NET") > -1) ? - new ActiveXObject("MSXML2.XMLHTTP") : - new XMLHttpRequest(); - - req.open("GET", this.protocol + pathname, false); - req.send(); - - return req.responseText; -}; - -requireClass.prototype.require = function(pathname) { - - //console.log("this.root is " + this.root + " and pathname before was " + pathname); - - if (pathname.charAt(0) !== '/') { - // make the current path be relative to the parent's path, otherwise use the root - pathname = path.join((module && module.filename) ? path.dirname(module.filename) : this.root, pathname); - } - - pathname = path.normalize(pathname); - - if (this.cache[pathname]) { - return this.cache[pathname]; - } - - // don't try to load things that are currently in the process of loading - if (this.loading[pathname]) { - //console.log("require: already loading..."); - return {}; - } - - console.log("loading module " + pathname); - - this.loading[pathname] = true; - - var text = this.loadFile(pathname); - var dirname = path.dirname(pathname); - var match, replacement; - - if (text) { - var tmp = module.filename; - module.filename = pathname; - module.exports = null; - module.require = requireClass.prototype.require.bind(r); - - while ((match = this.updateRequire.exec(text)) !== null) { - replacement = path.normalize(path.join(dirname, match[1])); - text = text.replace(new RegExp('"' + match[1] + '"', "g"), '"' + replacement + '"'); - this.updateRequire.lastIndex = match.index + replacement.length + 2; - } - // for debugging in chrome with nice file names instead of random ids like "VM (2342)" - text = text + "\n//# sourceURL=" + pathname + "\n"; - - // console.log("text is " + text); - try { - eval(text); - - this.cache[pathname] = module.exports; - } finally { - this.loading[pathname] = undefined; - module.filename = tmp; - } - - return module.exports; - } - - return undefined; -}; - -if (typeof(window.module) === 'undefined') { - window.module = { - exports: {}, - filename: null - }; -} - -var r = new requireClass(); -var require = requireClass.prototype.require.bind(r); - -var WebLoader = require("../lib/WebLoader.js"); - -var ilib = require("../lib/ilib.js"); -ilib.setLoaderCallback(new WebLoader(ilib)); - -ilib._dyncode = true; // indicate that we are using dynamically loaded code -ilib._dyndata = true; - diff --git a/js/lib/ilib.js b/js/lib/ilib.js index 7c8e80cd24..b31b707015 100644 --- a/js/lib/ilib.js +++ b/js/lib/ilib.js @@ -47,7 +47,7 @@ ilib.getVersion = function () { // ignore } } - return ilib._ver() || "13.0"; + return ilib._ver() || "14.0"; }; /** @@ -138,7 +138,7 @@ ilib._getPlatform = function () { } } catch (e) {} - if (typeof(process) !== 'undefined' && process.versions && process.versions.node && typeof(module) !== 'undefined') { + if (typeof(global) !== 'undefined' && global.process && global.process.versions && global.process.versions.node && typeof(module) !== 'undefined') { ilib._platform = "nodejs"; } else if (typeof(Qt) !== 'undefined') { ilib._platform = "qt"; @@ -193,6 +193,37 @@ ilib._getBrowser = function () { return browser; }; +/** + * Return the value of the top object in the system. This could be global + * for node, or window for browsers, etc. + * @private + * @static + * @return {Object|undefined} the top variable, or undefined if there is none on this + * platform + */ +ilib._top = function() { + if (typeof(this.top) === 'undefined') { + this.top = null; + switch (ilib._getPlatform()) { + case "rhino": + this.top = (function() { + return (typeof global === 'object') ? global : this; + })(); + break; + case "nodejs": + case "trireme": + this.top = typeof(global) !== 'undefined' ? global : this; + //console.log("ilib._top: top is " + (typeof(global) !== 'undefined' ? "global" : "this")); + break; + default: + this.top = window; + break; + } + } + + return this.top || undefined; +}; + /** * Return the value of a global variable given its name in a way that works * correctly for the current platform. @@ -202,23 +233,7 @@ ilib._getBrowser = function () { * @return {*} the global variable, or undefined if it does not exist */ ilib._global = function(name) { - switch (ilib._getPlatform()) { - case "rhino": - var top = (function() { - return (typeof global === 'object') ? global : this; - })(); - break; - case "nodejs": - case "trireme": - top = typeof(global) !== 'undefined' ? global : this; - //console.log("ilib._global: top is " + (typeof(global) !== 'undefined' ? "global" : "this")); - break; - case "qt": - return undefined; - default: - top = window; - break; - } + var top = this._top(); try { return top[name]; } catch (e) { @@ -280,10 +295,10 @@ ilib.setLocale = function (spec) { */ ilib.getLocale = function () { if (typeof(ilib.locale) !== 'string') { - var lang, plat = ilib._getPlatform(); - switch (plat) { - case 'browser': - // running in a browser + var plat = ilib._getPlatform(); + switch (plat) { + case 'browser': + // running in a browser if(typeof(navigator.language) !== 'undefined') { ilib.locale = navigator.language.substring(0,3) + navigator.language.substring(3,5).toUpperCase(); // FF/Opera/Chrome/Webkit } @@ -291,65 +306,65 @@ ilib.getLocale = function () { // IE on Windows lang = typeof(navigator.browserLanguage) !== 'undefined' ? navigator.browserLanguage : - (typeof(navigator.userLanguage) !== 'undefined' ? - navigator.userLanguage : - (typeof(navigator.systemLanguage) !== 'undefined' ? - navigator.systemLanguage : - undefined)); + (typeof(navigator.userLanguage) !== 'undefined' ? + navigator.userLanguage : + (typeof(navigator.systemLanguage) !== 'undefined' ? + navigator.systemLanguage : + undefined)); if (typeof(lang) !== 'undefined' && lang) { // for some reason, MS uses lower case region tags ilib.locale = lang.substring(0,3) + lang.substring(3,5).toUpperCase(); } } break; - case 'webos': + case 'webos': // webOS if (typeof(PalmSystem.locales) !== 'undefined' && - typeof(PalmSystem.locales.UI) != 'undefined' && - PalmSystem.locales.UI.length > 0) { + typeof(PalmSystem.locales.UI) != 'undefined' && + PalmSystem.locales.UI.length > 0) { ilib.locale = PalmSystem.locales.UI; } else if (typeof(PalmSystem.locale) !== 'undefined') { - ilib.locale = PalmSystem.locale; + ilib.locale = PalmSystem.locale; } - break; - case 'rhino': + break; + case 'rhino': if (typeof(environment) !== 'undefined' && environment.user && typeof(environment.user.language) === 'string' && environment.user.language.length > 0) { - // running under plain rhino + // running under plain rhino ilib.locale = environment.user.language; if (typeof(environment.user.country) === 'string' && environment.user.country.length > 0) { ilib.locale += '-' + environment.user.country; } } break; - case "trireme": - // under trireme on rhino emulating nodejs - lang = process.env.LANG || process.env.LANGUAGE || process.env.LC_ALL; + case "trireme": + // under trireme on rhino emulating nodejs + lang = process.env.LANG || process.env.LANGUAGE || process.env.LC_ALL; // the LANG variable on unix is in the form "lang_REGION.CHARSET" // where language and region are the correct ISO codes separated by // an underscore. This translate it back to the BCP-47 form. if (lang && typeof(lang) !== 'undefined') { ilib.locale = lang.substring(0,2).toLowerCase() + '-' + lang.substring(3,5).toUpperCase(); } - break; - case 'nodejs': + break; + case 'nodejs': // running under nodejs - lang = process.env.LANG || process.env.LC_ALL; + lang = global.process.env.LANG || global.process.env.LC_ALL; // the LANG variable on unix is in the form "lang_REGION.CHARSET" // where language and region are the correct ISO codes separated by // an underscore. This translate it back to the BCP-47 form. if (lang && typeof(lang) !== 'undefined') { ilib.locale = lang.substring(0,2).toLowerCase() + '-' + lang.substring(3,5).toUpperCase(); } - break; - case 'qt': - // running in the Javascript engine under Qt/QML - var locobj = Qt.locale(); - lang = locobj.name && locobj.name.replace("_", "-") || "en-US"; - break; - } + break; + case 'qt': + // running in the Javascript engine under Qt/QML + var locobj = Qt.locale(); + var lang = locobj.name && locobj.name.replace("_", "-") || "en-US"; + break; + } ilib.locale = typeof(ilib.locale) === 'string' && ilib.locale ? ilib.locale : 'en-US'; if (ilib.locale === "en") { - ilib.locale = "en-US"; // hack to get various platforms working correctly + ilib.locale = "en-US"; // hack to get various platforms working correctly } } return ilib.locale; @@ -389,31 +404,33 @@ ilib.getTimeZone = function() { ilib.tz = ro && ro.timeZone; } - if (!ilib.tz) { - if (typeof(navigator) !== 'undefined' && typeof(navigator.timezone) !== 'undefined') { + switch (ilib._getPlatform()) { + case 'browser': // running in a browser - if (navigator.timezone.length > 0) { + if (navigator.timezone && navigator.timezone.length > 0) { ilib.tz = navigator.timezone; } - } else if (typeof(PalmSystem) !== 'undefined' && typeof(PalmSystem.timezone) !== 'undefined') { + break; + case 'webos': // running in webkit on webOS - if (PalmSystem.timezone.length > 0) { + if (PalmSystem.timezone && PalmSystem.timezone.length > 0) { ilib.tz = PalmSystem.timezone; } - } else if (typeof(environment) !== 'undefined' && typeof(environment.user) !== 'undefined') { + break; + case 'rhino': // running under rhino if (typeof(environment.user.timezone) !== 'undefined' && environment.user.timezone.length > 0) { ilib.tz = environment.user.timezone; } - } else if (typeof(process) !== 'undefined' && typeof(process.env) !== 'undefined') { - // running in nodejs - if (process.env.TZ && typeof(process.env.TZ) !== "undefined") { - ilib.tz = process.env.TZ; + break; + case 'nodejs': + if (global.process.env && typeof(global.process.env.TZ) !== "undefined") { + ilib.tz = global.process.env.TZ; } - } - - ilib.tz = ilib.tz || "local"; + break; } + + ilib.tz = ilib.tz || "local"; } return ilib.tz; diff --git a/js/lib/isAlnum.js b/js/lib/isAlnum.js index de2af81468..6f6254c46e 100644 --- a/js/lib/isAlnum.js +++ b/js/lib/isAlnum.js @@ -1,7 +1,7 @@ /* * isAlnum.js - Character type is alphanumeric * - * Copyright © 2012-2015, JEDLSoft + * Copyright © 2012-2015, 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,8 +17,6 @@ * limitations under the License. */ -// !depends IString.js isAlpha.js isDigit.js - var IString = require("./IString.js"); var isAlpha = require("./isAlpha.js"); var isDigit = require("./isDigit.js"); diff --git a/js/lib/isAlpha.js b/js/lib/isAlpha.js index 67bae1fcf2..85c91ac3f3 100644 --- a/js/lib/isAlpha.js +++ b/js/lib/isAlpha.js @@ -1,7 +1,7 @@ /* * ctype.islpha.js - Character type is alphabetic * - * Copyright © 2012-2015, JEDLSoft + * Copyright © 2012-2015, 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,8 +17,6 @@ * limitations under the License. */ -// !depends CType.js IString.js ilib.js - // !data ctype_l var ilib = require("./ilib.js"); diff --git a/js/lib/isAscii.js b/js/lib/isAscii.js index f5c271881f..9e62cadab8 100644 --- a/js/lib/isAscii.js +++ b/js/lib/isAscii.js @@ -1,7 +1,7 @@ /* * isAscii.js - Character type is ASCII * - * Copyright © 2012-2015, JEDLSoft + * Copyright © 2012-2015, 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,8 +17,6 @@ * limitations under the License. */ -// !depends CType.js IString.js ilib.js - // !data ctype var ilib = require("./ilib.js"); diff --git a/js/lib/isBlank.js b/js/lib/isBlank.js index 0adaf6040b..dd79ab7bde 100644 --- a/js/lib/isBlank.js +++ b/js/lib/isBlank.js @@ -1,7 +1,7 @@ /* * isBlank.js - Character type is blank * - * Copyright © 2012-2015, JEDLSoft + * Copyright © 2012-2015, 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,8 +17,6 @@ * limitations under the License. */ -// !depends CType.js IString.js ilib.js - // !data ctype var ilib = require("./ilib.js"); diff --git a/js/lib/isCntrl.js b/js/lib/isCntrl.js index 3915766ea8..e990745663 100644 --- a/js/lib/isCntrl.js +++ b/js/lib/isCntrl.js @@ -1,7 +1,7 @@ /* * isCntrl.js - Character type is control character * - * Copyright © 2012-2015, JEDLSoft + * Copyright © 2012-2015, 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,8 +17,6 @@ * limitations under the License. */ -// !depends CType.js IString.js ilib.js - // !data ctype_c var ilib = require("./ilib.js"); diff --git a/js/lib/isDigit.js b/js/lib/isDigit.js index 9d556efdd2..2db7c794dd 100644 --- a/js/lib/isDigit.js +++ b/js/lib/isDigit.js @@ -1,7 +1,7 @@ /* * isDigit.js - Character type is digit * - * Copyright © 2012-2015, JEDLSoft + * Copyright © 2012-2015, 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,8 +17,6 @@ * limitations under the License. */ -// !depends CType.js IString.js ilib.js - // !data ctype ctype_n var ilib = require("./ilib.js"); diff --git a/js/lib/isGraph.js b/js/lib/isGraph.js index ddfdc5011a..9bb18b165b 100644 --- a/js/lib/isGraph.js +++ b/js/lib/isGraph.js @@ -1,7 +1,7 @@ /* * isGraph.js - Character type is graph char * - * Copyright © 2012-2015, JEDLSoft + * Copyright © 2012-2015, 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,8 +17,6 @@ * limitations under the License. */ -// !depends IString.js isSpace.js isCntrl.js - var IString = require("./IString.js"); var isSpace = require("./isSpace.js"); var isCntrl = require("./isCntrl.js"); diff --git a/js/lib/isIdeo.js b/js/lib/isIdeo.js index 9a64557978..834031e737 100644 --- a/js/lib/isIdeo.js +++ b/js/lib/isIdeo.js @@ -1,7 +1,7 @@ /* - * CType.js - Character type definitions + * isIdeo.js - Character type definitions * - * Copyright © 2012-2015, JEDLSoft + * Copyright © 2012-2015, 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,8 +17,6 @@ * limitations under the License. */ -// !depends CType.js IString.js - // !data ctype var ilib = require("./ilib.js"); diff --git a/js/lib/isLower.js b/js/lib/isLower.js index 6379c414db..06dce77c79 100644 --- a/js/lib/isLower.js +++ b/js/lib/isLower.js @@ -1,7 +1,7 @@ /* * isLower.js - Character type is lower case letter * - * Copyright © 2012-2015, JEDLSoft + * Copyright © 2012-2015, 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,8 +17,6 @@ * limitations under the License. */ -// !depends CType.js IString.js - // !data ctype_l var ilib = require("./ilib.js"); diff --git a/js/lib/isPrint.js b/js/lib/isPrint.js index f99c528c04..6403968d0e 100644 --- a/js/lib/isPrint.js +++ b/js/lib/isPrint.js @@ -1,7 +1,7 @@ /* * isPrint.js - Character type is printable char * - * Copyright © 2012-2015, JEDLSoft + * Copyright © 2012-2015, 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,8 +17,6 @@ * limitations under the License. */ -// !depends isCntrl.js - var isCntrl = require("./isCntrl.js"); /** @@ -43,4 +41,4 @@ isPrint._init = function (sync, loadParams, onLoad) { isCntrl._init(sync, loadParams, onLoad); }; -module.exports = isPrint; \ No newline at end of file +module.exports = isPrint; diff --git a/js/lib/isPunct.js b/js/lib/isPunct.js index 1ef03fbe0c..8eee9c929d 100644 --- a/js/lib/isPunct.js +++ b/js/lib/isPunct.js @@ -1,7 +1,7 @@ /* * isPunct.js - Character type is punctuation * - * Copyright © 2012-2015, JEDLSoft + * Copyright © 2012-2015, 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,8 +17,6 @@ * limitations under the License. */ -// !depends CType.js IString.js - // !data ctype_p var ilib = require("./ilib.js"); diff --git a/js/lib/isScript.js b/js/lib/isScript.js index 77080a376b..56b8beaf2c 100644 --- a/js/lib/isScript.js +++ b/js/lib/isScript.js @@ -1,7 +1,7 @@ /* * isScript.js - Character type is script * - * Copyright © 2012-2015, JEDLSoft + * Copyright © 2012-2015, 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,8 +17,6 @@ * limitations under the License. */ -// !depends CType.js IString.js - // !data scriptToRange var ilib = require("./ilib.js"); diff --git a/js/lib/isSpace.js b/js/lib/isSpace.js index 0379c7332b..807cb39e25 100644 --- a/js/lib/isSpace.js +++ b/js/lib/isSpace.js @@ -1,7 +1,7 @@ /* * isSpace.js - Character type is space char * - * Copyright © 2012-2015, JEDLSoft + * Copyright © 2012-2015, 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,8 +17,6 @@ * limitations under the License. */ -// !depends CType.js IString.js - // !data ctype ctype_z var ilib = require("./ilib.js"); diff --git a/js/lib/isUpper.js b/js/lib/isUpper.js index 6839d38819..41be4c06df 100644 --- a/js/lib/isUpper.js +++ b/js/lib/isUpper.js @@ -1,7 +1,7 @@ /* * isUpper.js - Character type is upper-case letter * - * Copyright © 2012-2015, JEDLSoft + * Copyright © 2012-2015, 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,8 +17,6 @@ * limitations under the License. */ -// !depends CType.js IString.js - // !data ctype_l var ilib = require("./ilib.js"); diff --git a/js/lib/isXdigit.js b/js/lib/isXdigit.js index f6e9144f0a..d771d13741 100644 --- a/js/lib/isXdigit.js +++ b/js/lib/isXdigit.js @@ -1,7 +1,7 @@ /* * isXdigit.js - Character type is hex digit * - * Copyright © 2012-2015, JEDLSoft + * Copyright © 2012-2015, 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,8 +17,6 @@ * limitations under the License. */ -// !depends CType.js IString.js - // !data ctype var ilib = require("./ilib.js"); diff --git a/js/lib/ilib-core-inc.js b/js/lib/metafiles/ilib-core-webpack.js similarity index 53% rename from js/lib/ilib-core-inc.js rename to js/lib/metafiles/ilib-core-webpack.js index 5e900d7f31..737de33a0c 100644 --- a/js/lib/ilib-core-inc.js +++ b/js/lib/metafiles/ilib-core-webpack.js @@ -1,6 +1,8 @@ /** + * ilib-core-webpack.js - metafile that includes a minimal set of other js files + * * @license - * Copyright © 2012-2015, JEDLSoft + * Copyright © 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -16,13 +18,17 @@ * limitations under the License. */ -/* - * ilib-core-inc.js - metafile that includes a minimal set of other js files for the minimal build - */ +var ilib = require("../ilib.js"); + +ilib.JSUtils = require("../JSUtils.js"); +ilib.IString = require("../IString.js"); +ilib.ResBundle = require("../ResBundle.js"); +ilib.ScriptInfo = require("../ScriptInfo.js"); + +//This unpacks the above classes to the global scope +require("../ilib-unpack.js"); + +// Must be at the end of meta file +require("../ilib-getdata.js"); -/* !depends -JSUtils.js -IString.js -ResBundle.js -ScriptInfo.js -*/ \ No newline at end of file +module.exports = ilib; \ No newline at end of file diff --git a/js/lib/metafiles/ilib-demo-webpack.js b/js/lib/metafiles/ilib-demo-webpack.js new file mode 100644 index 0000000000..40da19cc1a --- /dev/null +++ b/js/lib/metafiles/ilib-demo-webpack.js @@ -0,0 +1,122 @@ +/** + * ilib-demo-webpack.js - metafile that includes all of the other js files + * for the demo site + * + * @license + * Copyright © 2018, JEDLSoft + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +var ilib = require("../ilib.js"); + +ilib.DateRngFmt = require("../DateRngFmt.js"); +ilib.IDate = require("../IDate.js"); +ilib.DateFactory = require("../DateFactory.js"); +ilib.HebrewDate = require("../HebrewDate.js"); +ilib.HebrewCal = require("../HebrewCal.js"); +ilib.IslamicCal = require("../IslamicCal.js"); +ilib.IslamicDate = require("../IslamicDate.js"); +ilib.JulianCal = require("../JulianCal.js"); +ilib.JulianDate = require("../JulianDate.js"); +ilib.GregorianCal = require("../GregorianCal.js"); +ilib.GregorianDate = require("../GregorianDate.js"); +ilib.ThaiSolarCal = require("../ThaiSolarCal.js"); +ilib.ThaiSolarDate = require("../ThaiSolarDate.js"); +ilib.PersianCal = require("../PersianCal.js"); +ilib.PersianDate = require("../PersianDate.js"); +ilib.PersianAlgoCal = require("../PersianAlgoCal.js"); +ilib.PersianAlgoDate = require("../PersianAlgoDate.js"); +ilib.HanCal = require("../HanCal.js"); +ilib.HanDate = require("../HanDate.js"); +ilib.EthiopicCal = require("../EthiopicCal.js"); +ilib.EthiopicDate = require("../EthiopicDate.js"); +ilib.CopticCal = require("../CopticCal.js"); +ilib.CopticDate = require("../CopticDate.js"); +ilib.INumber = require("../INumber.js"); +ilib.NumFmt = require("../NumFmt.js"); +ilib.JulianDay = require("../JulianDay.js"); +ilib.DateFmt = require("../DateFmt.js"); +ilib.Calendar = require("../Calendar.js"); +ilib.CalendarFactory = require("../CalendarFactory.js"); +ilib.Utils = require("../Utils.js"); +ilib.Locale = require("../Locale.js"); +ilib.IString = require("../IString.js"); +ilib.DurationFmt = require("../DurationFmt.js"); +ilib.ResBundle = require("../ResBundle.js"); +ilib.CType = require("../CType.js"); +ilib.LocaleInfo = require("../LocaleInfo.js"); +ilib.DateRngFmt = require("../DateRngFmt.js"); +ilib.isAlnum = require("../isAlnum.js"); +ilib.isAlpha = require("../isAlpha.js"); +ilib.isAscii = require("../isAscii.js"); +ilib.isBlank = require("../isBlank.js"); +ilib.isCntrl = require("../isCntrl.js"); +ilib.isDigit = require("../isDigit.js"); +ilib.isGraph = require("../isGraph.js"); +ilib.isIdeo = require("../isIdeo.js"); +ilib.isLower = require("../isLower.js"); +ilib.isPrint = require("../isPrint.js"); +ilib.isPunct = require("../isPunct.js"); +ilib.isSpace = require("../isSpace.js"); +ilib.isUpper = require("../isUpper.js"); +ilib.isXdigit = require("../isXdigit.js"); +ilib.isScript = require("../isScript.js"); +ilib.ScriptInfo = require("../ScriptInfo.js"); +ilib.Name = require("../Name.js"); +ilib.NameFmt = require("../NameFmt.js"); +ilib.Address = require("../Address.js"); +ilib.AddressFmt = require("../AddressFmt.js"); +ilib.Collator = require("../Collator.js"); +ilib.data.nfkc = require("../nfkc/all.js"); +ilib.LocaleMatcher = require("../LocaleMatcher.js"); +ilib.NormString = require("../NormString.js"); +ilib.CaseMapper = require("../CaseMapper.js"); +ilib.GlyphString = require("../GlyphString.js"); +ilib.PhoneFmt = require("../PhoneFmt.js"); +ilib.PhoneGeoLocator = require("../PhoneGeoLocator.js"); +ilib.PhoneNumber = require("../PhoneNumber.js"); +ilib.Measurement = require("../Measurement.js"); +ilib.MeasurementFactory = require("../MeasurementFactory.js"); +ilib.UnitFmt = require("../UnitFmt.js"); +ilib.LengthUnit = require("../LengthUnit.js"); +ilib.VelocityUnit = require("../VelocityUnit.js"); +ilib.DigitalStorageUnit = require("../DigitalStorageUnit.js"); +ilib.TemperatureUnit = require("../TemperatureUnit.js"); +ilib.UnknownUnit = require("../UnknownUnit.js"); +ilib.TimeUnit = require("../TimeUnit.js"); +ilib.MassUnit = require("../MassUnit.js"); +ilib.AreaUnit = require("../AreaUnit.js"); +ilib.FuelConsumptionUnit = require("../FuelConsumptionUnit.js"); +ilib.VolumeUnit = require("../VolumeUnit.js"); +ilib.EnergyUnit = require("../EnergyUnit.js"); +ilib.Charset = require("../Charset.js"); +ilib.Charmap = require("../Charmap.js"); +ilib.CharmapFactory = require("../CharmapFactory.js"); +ilib.CharmapTable = require("../CharmapTable.js"); +ilib.UTF8 = require("../UTF8.js"); +ilib.UTF16BE = require("../UTF16BE.js"); +ilib.UTF16LE = require("../UTF16LE.js"); +ilib.Country = require("../Country.js"); +ilib.ListFmt = require("../ListFmt.js"); +ilib.AlphabeticIndex = require("../AlphabeticIndex.js"); +ilib.DigitalSpeedUnit = require("../DigitalSpeedUnit.js"); + +// This unpacks the above classes to the global scope +require("../ilib-unpack.js"); + +// Must be at the end of meta file +require("../ilib-getdata.js"); + +module.exports = ilib; \ No newline at end of file diff --git a/js/lib/metafiles/ilib-full-webpack.js b/js/lib/metafiles/ilib-full-webpack.js new file mode 100644 index 0000000000..2179153c70 --- /dev/null +++ b/js/lib/metafiles/ilib-full-webpack.js @@ -0,0 +1,122 @@ +/** + * ilib-full-webpack.js - metafile that includes all of the other js files + * + * @license + * Copyright © 2018, JEDLSoft + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +var ilib = require("../ilib.js"); + +ilib.DateRngFmt = require("../DateRngFmt.js"); +ilib.IDate = require("../IDate.js"); +ilib.DateFactory = require("../DateFactory.js"); +ilib.HebrewDate = require("../HebrewDate.js"); +ilib.HebrewCal = require("../HebrewCal.js"); +ilib.IslamicCal = require("../IslamicCal.js"); +ilib.IslamicDate = require("../IslamicDate.js"); +ilib.JulianCal = require("../JulianCal.js"); +ilib.JulianDate = require("../JulianDate.js"); +ilib.GregorianCal = require("../GregorianCal.js"); +ilib.GregorianDate = require("../GregorianDate.js"); +ilib.ThaiSolarCal = require("../ThaiSolarCal.js"); +ilib.ThaiSolarDate = require("../ThaiSolarDate.js"); +ilib.PersianCal = require("../PersianCal.js"); +ilib.PersianDate = require("../PersianDate.js"); +ilib.PersianAlgoCal = require("../PersianAlgoCal.js"); +ilib.PersianAlgoDate = require("../PersianAlgoDate.js"); +ilib.HanCal = require("../HanCal.js"); +ilib.HanDate = require("../HanDate.js"); +ilib.EthiopicCal = require("../EthiopicCal.js"); +ilib.EthiopicDate = require("../EthiopicDate.js"); +ilib.CopticCal = require("../CopticCal.js"); +ilib.CopticDate = require("../CopticDate.js"); +ilib.INumber = require("../INumber.js"); +ilib.NumFmt = require("../NumFmt.js"); +ilib.JulianDay = require("../JulianDay.js"); +ilib.DateFmt = require("../DateFmt.js"); +ilib.Calendar = require("../Calendar.js"); +ilib.CalendarFactory = require("../CalendarFactory.js"); +ilib.Utils = require("../Utils.js"); +ilib.Locale = require("../Locale.js"); +ilib.IString = require("../IString.js"); +ilib.DurationFmt = require("../DurationFmt.js"); +ilib.ResBundle = require("../ResBundle.js"); +ilib.CType = require("../CType.js"); +ilib.LocaleInfo = require("../LocaleInfo.js"); +ilib.DateRngFmt = require("../DateRngFmt.js"); +ilib.isAlnum = require("../isAlnum.js"); +ilib.isAlpha = require("../isAlpha.js"); +ilib.isAscii = require("../isAscii.js"); +ilib.isBlank = require("../isBlank.js"); +ilib.isCntrl = require("../isCntrl.js"); +ilib.isDigit = require("../isDigit.js"); +ilib.isGraph = require("../isGraph.js"); +ilib.isIdeo = require("../isIdeo.js"); +ilib.isLower = require("../isLower.js"); +ilib.isPrint = require("../isPrint.js"); +ilib.isPunct = require("../isPunct.js"); +ilib.isSpace = require("../isSpace.js"); +ilib.isUpper = require("../isUpper.js"); +ilib.isXdigit = require("../isXdigit.js"); +ilib.isScript = require("../isScript.js"); +ilib.ScriptInfo = require("../ScriptInfo.js"); +ilib.Name = require("../Name.js"); +ilib.NameFmt = require("../NameFmt.js"); +ilib.Address = require("../Address.js"); +ilib.AddressFmt = require("../AddressFmt.js"); +ilib.Collator = require("../Collator.js"); +ilib.LocaleMatcher = require("../LocaleMatcher.js"); +ilib.NormString = require("../NormString.js"); +ilib.CaseMapper = require("../CaseMapper.js"); +ilib.GlyphString = require("../GlyphString.js"); +ilib.PhoneFmt = require("../PhoneFmt.js"); +ilib.PhoneGeoLocator = require("../PhoneGeoLocator.js"); +ilib.PhoneNumber = require("../PhoneNumber.js"); +ilib.Measurement = require("../Measurement.js"); +ilib.MeasurementFactory = require("../MeasurementFactory.js"); +ilib.UnitFmt = require("../UnitFmt.js"); +ilib.LengthUnit = require("../LengthUnit.js"); +ilib.VelocityUnit = require("../VelocityUnit.js"); +ilib.DigitalStorageUnit = require("../DigitalStorageUnit.js"); +ilib.TemperatureUnit = require("../TemperatureUnit.js"); +ilib.UnknownUnit = require("../UnknownUnit.js"); +ilib.TimeUnit = require("../TimeUnit.js"); +ilib.MassUnit = require("../MassUnit.js"); +ilib.AreaUnit = require("../AreaUnit.js"); +ilib.FuelConsumptionUnit = require("../FuelConsumptionUnit.js"); +ilib.VolumeUnit = require("../VolumeUnit.js"); +ilib.EnergyUnit = require("../EnergyUnit.js"); +ilib.Charset = require("../Charset.js"); +ilib.Charmap = require("../Charmap.js"); +ilib.CharmapFactory = require("../CharmapFactory.js"); +ilib.CharmapTable = require("../CharmapTable.js"); +ilib.UTF8 = require("../UTF8.js"); +ilib.UTF16BE = require("../UTF16BE.js"); +ilib.UTF16LE = require("../UTF16LE.js"); +ilib.Country = require("../Country.js"); +ilib.ListFmt = require("../ListFmt.js"); +ilib.AlphabeticIndex = require("../AlphabeticIndex.js"); +ilib.TimeZone = require("../TimeZone.js"); +ilib.Currency = require("../Currency.js"); +ilib.DigitalSpeedUnit = require("../DigitalSpeedUnit.js"); + +//This unpacks the above classes to the global scope +require("../ilib-unpack.js"); + +// Must be at the end of meta file +require("../ilib-getdata.js"); + +module.exports = ilib; \ No newline at end of file diff --git a/js/lib/metafiles/ilib-standard-webpack.js b/js/lib/metafiles/ilib-standard-webpack.js new file mode 100644 index 0000000000..1a366fd1eb --- /dev/null +++ b/js/lib/metafiles/ilib-standard-webpack.js @@ -0,0 +1,52 @@ +/** + * ilib-standard-webpack.js - metafile that includes a reasonable set of other js files + * + * @license + * Copyright © 2018, JEDLSoft + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +var ilib = require("../ilib.js"); + +ilib.DateRngFmt = require("../DateRngFmt.js"); +ilib.IDate = require("../IDate.js"); +ilib.DateFactory = require("../DateFactory.js"); +ilib.GregorianCal = require("../GregorianCal.js"); +ilib.GregorianDate = require("../GregorianDate.js"); +ilib.INumber = require("../INumber.js"); +ilib.NumFmt = require("../NumFmt.js"); +ilib.JulianDay = require("../JulianDay.js"); +ilib.DateFmt = require("../DateFmt.js"); +ilib.Calendar = require("../Calendar.js"); +ilib.CalendarFactory = require("../CalendarFactory.js"); +ilib.Utils = require("../Utils.js"); +ilib.Locale = require("../Locale.js"); +ilib.IString = require("../IString.js"); +ilib.DurationFmt = require("../DurationFmt.js"); +ilib.ResBundle = require("../ResBundle.js"); +ilib.LocaleInfo = require("../LocaleInfo.js"); +ilib.DateRngFmt = require("../DateRngFmt.js"); +ilib.ScriptInfo = require("../ScriptInfo.js"); +ilib.CaseMapper = require("../CaseMapper.js"); +ilib.ListFmt = require("../ListFmt.js"); +ilib.TimeZone = require("../TimeZone.js"); + +//This unpacks the above classes to the global scope +require("../ilib-unpack.js"); + +// Must be at the end of meta file +require("../ilib-getdata.js"); + +module.exports = ilib; \ No newline at end of file diff --git a/js/lib/metafiles/ilib-ut-webpack.js b/js/lib/metafiles/ilib-ut-webpack.js new file mode 100644 index 0000000000..09ea71644f --- /dev/null +++ b/js/lib/metafiles/ilib-ut-webpack.js @@ -0,0 +1,156 @@ +/** + * ilib-ut-webpack.js - metafile that includes all of the other js files that + * the unit tests need + * + * @license + * Copyright © 2018, JEDLSoft + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +var ilib = require("../ilib.js"); + +ilib.DateRngFmt = require("../DateRngFmt.js"); +ilib.IDate = require("../IDate.js"); +ilib.DateFactory = require("../DateFactory.js"); +ilib.HebrewDate = require("../HebrewDate.js"); +ilib.HebrewCal = require("../HebrewCal.js"); +ilib.IslamicCal = require("../IslamicCal.js"); +ilib.IslamicDate = require("../IslamicDate.js"); +ilib.JulianCal = require("../JulianCal.js"); +ilib.JulianDate = require("../JulianDate.js"); +ilib.GregorianCal = require("../GregorianCal.js"); +ilib.GregorianDate = require("../GregorianDate.js"); +ilib.ThaiSolarCal = require("../ThaiSolarCal.js"); +ilib.ThaiSolarDate = require("../ThaiSolarDate.js"); +ilib.PersianAlgoCal = require("../PersianAlgoCal.js"); +ilib.PersianAlgoDate = require("../PersianAlgoDate.js"); +ilib.PersianDate = require("../PersianDate.js"); +ilib.PersianCal = require("../PersianCal.js"); +ilib.HanCal = require("../HanCal.js"); +ilib.HanDate = require("../HanDate.js"); +ilib.EthiopicCal = require("../EthiopicCal.js"); +ilib.EthiopicDate = require("../EthiopicDate.js"); +ilib.CopticCal = require("../CopticCal.js"); +ilib.CopticDate = require("../CopticDate.js"); +ilib.INumber = require("../INumber.js"); +ilib.NumFmt = require("../NumFmt.js"); +ilib.JulianDay = require("../JulianDay.js"); +ilib.DateFmt = require("../DateFmt.js"); +ilib.Calendar = require("../Calendar.js"); +ilib.CalendarFactory = require("../CalendarFactory.js"); +ilib.Utils = require("../Utils.js"); +ilib.Locale = require("../Locale.js"); +ilib.nfkc_all = require("../nfkc/all.js"); +ilib.IString = require("../IString.js"); +ilib.DurationFmt = require("../DurationFmt.js"); +ilib.ResBundle = require("../ResBundle.js"); +ilib.CType = require("../CType.js"); +ilib.LocaleInfo = require("../LocaleInfo.js"); +ilib.DateRngFmt = require("../DateRngFmt.js"); +ilib.isAlnum = require("../isAlnum.js"); +ilib.isAlpha = require("../isAlpha.js"); +ilib.isAscii = require("../isAscii.js"); +ilib.isBlank = require("../isBlank.js"); +ilib.isCntrl = require("../isCntrl.js"); +ilib.isDigit = require("../isDigit.js"); +ilib.isGraph = require("../isGraph.js"); +ilib.isIdeo = require("../isIdeo.js"); +ilib.isLower = require("../isLower.js"); +ilib.isPrint = require("../isPrint.js"); +ilib.isPunct = require("../isPunct.js"); +ilib.isScript = require("../isScript.js"); +ilib.isSpace = require("../isSpace.js"); +ilib.isUpper = require("../isUpper.js"); +ilib.isXdigit = require("../isXdigit.js"); +ilib.ScriptInfo = require("../ScriptInfo.js"); +ilib.Name = require("../Name.js"); +ilib.NameFmt = require("../NameFmt.js"); +ilib.Address = require("../Address.js"); +ilib.AddressFmt = require("../AddressFmt.js"); +ilib.Collator = require("../Collator.js"); +ilib.LocaleMatcher = require("../LocaleMatcher.js"); +ilib.NormString = require("../NormString.js"); +ilib.StringMapper = require("../StringMapper.js"); +ilib.CaseMapper = require("../CaseMapper.js"); +ilib.GlyphString = require("../GlyphString.js"); +ilib.PhoneNumber = require("../PhoneNumber.js"); +ilib.PhoneFmt = require("../PhoneFmt.js"); +ilib.PhoneGeoLocator = require("../PhoneGeoLocator.js"); +ilib.Measurement = require("../Measurement.js"); +ilib.MeasurementFactory = require("../MeasurementFactory.js"); +ilib.UnitFmt = require("../UnitFmt.js"); +ilib.LengthUnit = require("../LengthUnit.js"); +ilib.VelocityUnit = require("../VelocityUnit.js"); +ilib.TemperatureUnit = require("../TemperatureUnit.js"); +ilib.DigitalStorageUnit = require("../DigitalStorageUnit.js"); +ilib.UnknownUnit = require("../UnknownUnit.js"); +ilib.TimeUnit = require("../TimeUnit.js"); +ilib.MassUnit = require("../MassUnit.js"); +ilib.AreaUnit = require("../AreaUnit.js"); +ilib.FuelConsumptionUnit = require("../FuelConsumptionUnit.js"); +ilib.VolumeUnit = require("../VolumeUnit.js"); +ilib.EnergyUnit = require("../EnergyUnit.js"); +ilib.Charset = require("../Charset.js"); +ilib.ListFmt = require("../ListFmt.js"); +ilib.Country = require("../Country.js"); +ilib.CaseMapper = require("../CaseMapper.js"); +ilib.Charset = require("../Charset.js"); +ilib.Charmap = require("../Charmap.js"); +ilib.CharmapFactory = require("../CharmapFactory.js"); +ilib.CharmapTable = require("../CharmapTable.js"); +ilib.UTF8 = require("../UTF8.js"); +ilib.UTF16BE = require("../UTF16BE.js"); +ilib.UTF16LE = require("../UTF16LE.js"); +ilib.AlphabeticIndex = require("../AlphabeticIndex.js"); +ilib.TimeZone = require("../TimeZone.js"); +ilib.Currency = require("../Currency.js"); +ilib.DigitalSpeedUnit = require("../DigitalSpeedUnit.js"); + +/* make sure all the data is loaded that will be tested */ +require("../nfd/all.js"); +require("../nfc/all.js"); +require("../nfkc/all.js"); +require("../nfkd/all.js"); + +require("../charmaps/Jpan.js"); + +/* private classes used in the tests */ +ilib.ISet = require("../ISet.js"); +ilib.SearchUtils = require("../SearchUtils.js"); +ilib.MathUtils = require("../MathUtils.js"); +ilib.JSUtils = require("../JSUtils.js"); +ilib.Path = require("../Path.js"); +ilib.Astro = require("../Astro.js"); +ilib.Utils = require("../Utils.js"); +ilib.CodePointSource = require("../CodePointSource.js"); +ilib.CopticRataDie = require("../CopticRataDie.js"); +ilib.ElementIterator = require("../ElementIterator.js"); +ilib.EthiopicRataDie = require("../EthiopicRataDie.js"); +ilib.GregRataDie = require("../GregRataDie.js"); +ilib.HanRataDie = require("../HanRataDie.js"); +ilib.NumberingPlan = require("../NumberingPlan.js"); +ilib.PersAlgoRataDie = require("../PersAlgoRataDie.js"); +ilib.PersRataDie = require("../PersRataDie.js"); +ilib.PhoneHandlerFactory = require("../PhoneHandlerFactory.js"); +ilib.PhoneLocale = require("../PhoneLocale.js"); +ilib.RataDie = require("../RataDie.js"); + +// This unpacks the above classes to the global scope +require("../ilib-unpack.js"); + +// Must be at the end of meta file +require("../ilib-getdata.js"); + +module.exports = ilib; \ No newline at end of file diff --git a/js/lib/nfc/Arab.js b/js/lib/nfc/Arab.js index b9158e8816..9b45b22cd8 100644 --- a/js/lib/nfc/Arab.js +++ b/js/lib/nfc/Arab.js @@ -1,7 +1,7 @@ /* * Arab.js - include file for normalization data for a particular script * - * Copyright © 2013-2015, JEDLSoft + * Copyright © 2013 - 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,8 +17,4 @@ * limitations under the License. */ /* WARNING: THIS IS A FILE GENERATED BY gennorm.js. DO NOT EDIT BY HAND. */ -// !depends nfc/Zyyy.js -// !depends nfd/Arab.js -// !data norm -ilib.extend(ilib.data.norm, ilib.data.normdata); -ilib.data.normdata = undefined; +// !data nfc/Arab nfd/Arab nfc/Zyyy nfd/Zyyy diff --git a/js/lib/nfc/Bali.js b/js/lib/nfc/Bali.js index b8c09e64ac..ec1a88ee5d 100644 --- a/js/lib/nfc/Bali.js +++ b/js/lib/nfc/Bali.js @@ -1,7 +1,7 @@ /* * Bali.js - include file for normalization data for a particular script * - * Copyright © 2013-2015, JEDLSoft + * Copyright © 2013 - 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,8 +17,4 @@ * limitations under the License. */ /* WARNING: THIS IS A FILE GENERATED BY gennorm.js. DO NOT EDIT BY HAND. */ -// !depends nfc/Zyyy.js -// !depends nfd/Bali.js -// !data norm -ilib.extend(ilib.data.norm, ilib.data.normdata); -ilib.data.normdata = undefined; +// !data nfc/Bali nfd/Bali nfc/Zyyy nfd/Zyyy diff --git a/js/lib/nfc/Beng.js b/js/lib/nfc/Beng.js index 0a19b94e01..4c2af41eef 100644 --- a/js/lib/nfc/Beng.js +++ b/js/lib/nfc/Beng.js @@ -1,7 +1,7 @@ /* * Beng.js - include file for normalization data for a particular script * - * Copyright © 2013-2015, JEDLSoft + * Copyright © 2013 - 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,8 +17,4 @@ * limitations under the License. */ /* WARNING: THIS IS A FILE GENERATED BY gennorm.js. DO NOT EDIT BY HAND. */ -// !depends nfc/Zyyy.js -// !depends nfd/Beng.js -// !data norm -ilib.extend(ilib.data.norm, ilib.data.normdata); -ilib.data.normdata = undefined; +// !data nfc/Beng nfd/Beng nfc/Zyyy nfd/Zyyy diff --git a/js/lib/nfc/Cakm.js b/js/lib/nfc/Cakm.js index fef3a2effa..abd665269a 100644 --- a/js/lib/nfc/Cakm.js +++ b/js/lib/nfc/Cakm.js @@ -1,7 +1,7 @@ /* * Cakm.js - include file for normalization data for a particular script * - * Copyright © 2013-2015, JEDLSoft + * Copyright © 2013 - 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,8 +17,4 @@ * limitations under the License. */ /* WARNING: THIS IS A FILE GENERATED BY gennorm.js. DO NOT EDIT BY HAND. */ -// !depends nfc/Zyyy.js -// !depends nfd/Cakm.js -// !data norm -ilib.extend(ilib.data.norm, ilib.data.normdata); -ilib.data.normdata = undefined; +// !data nfc/Cakm nfd/Cakm nfc/Zyyy nfd/Zyyy diff --git a/js/lib/nfc/Cyrl.js b/js/lib/nfc/Cyrl.js index a9441a0e8d..942ccad105 100644 --- a/js/lib/nfc/Cyrl.js +++ b/js/lib/nfc/Cyrl.js @@ -1,7 +1,7 @@ /* * Cyrl.js - include file for normalization data for a particular script * - * Copyright © 2013-2015, JEDLSoft + * Copyright © 2013 - 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,8 +17,4 @@ * limitations under the License. */ /* WARNING: THIS IS A FILE GENERATED BY gennorm.js. DO NOT EDIT BY HAND. */ -// !depends nfc/Zyyy.js -// !depends nfd/Cyrl.js -// !data norm -ilib.extend(ilib.data.norm, ilib.data.normdata); -ilib.data.normdata = undefined; +// !data nfc/Cyrl nfd/Cyrl nfc/Zyyy nfd/Zyyy diff --git a/js/lib/nfc/Deva.js b/js/lib/nfc/Deva.js index 8679d6b79b..47d4ac9d7b 100644 --- a/js/lib/nfc/Deva.js +++ b/js/lib/nfc/Deva.js @@ -1,7 +1,7 @@ /* * Deva.js - include file for normalization data for a particular script * - * Copyright © 2013-2015, JEDLSoft + * Copyright © 2013 - 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,8 +17,4 @@ * limitations under the License. */ /* WARNING: THIS IS A FILE GENERATED BY gennorm.js. DO NOT EDIT BY HAND. */ -// !depends nfc/Zyyy.js -// !depends nfd/Deva.js -// !data norm -ilib.extend(ilib.data.norm, ilib.data.normdata); -ilib.data.normdata = undefined; +// !data nfc/Deva nfd/Deva nfc/Zyyy nfd/Zyyy diff --git a/js/lib/nfc/Gran.js b/js/lib/nfc/Gran.js index ef3955e969..8da96f1e9b 100644 --- a/js/lib/nfc/Gran.js +++ b/js/lib/nfc/Gran.js @@ -1,7 +1,7 @@ /* * Gran.js - include file for normalization data for a particular script * - * Copyright © 2013-2015, JEDLSoft + * Copyright © 2013 - 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,8 +17,4 @@ * limitations under the License. */ /* WARNING: THIS IS A FILE GENERATED BY gennorm.js. DO NOT EDIT BY HAND. */ -// !depends nfc/Zyyy.js -// !depends nfd/Gran.js -// !data norm -ilib.extend(ilib.data.norm, ilib.data.normdata); -ilib.data.normdata = undefined; +// !data nfc/Gran nfd/Gran nfc/Zyyy nfd/Zyyy diff --git a/js/lib/nfc/Grek.js b/js/lib/nfc/Grek.js index 8ce3657067..3d8f0a5bd5 100644 --- a/js/lib/nfc/Grek.js +++ b/js/lib/nfc/Grek.js @@ -1,7 +1,7 @@ /* * Grek.js - include file for normalization data for a particular script * - * Copyright © 2013-2015, JEDLSoft + * Copyright © 2013 - 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,8 +17,4 @@ * limitations under the License. */ /* WARNING: THIS IS A FILE GENERATED BY gennorm.js. DO NOT EDIT BY HAND. */ -// !depends nfc/Zyyy.js -// !depends nfd/Grek.js -// !data norm -ilib.extend(ilib.data.norm, ilib.data.normdata); -ilib.data.normdata = undefined; +// !data nfc/Grek nfd/Grek nfc/Zyyy nfd/Zyyy diff --git a/js/lib/nfc/Hira.js b/js/lib/nfc/Hira.js index 2015efdf08..e9654d6708 100644 --- a/js/lib/nfc/Hira.js +++ b/js/lib/nfc/Hira.js @@ -1,7 +1,7 @@ /* * Hira.js - include file for normalization data for a particular script * - * Copyright © 2013-2015, JEDLSoft + * Copyright © 2013 - 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,8 +17,4 @@ * limitations under the License. */ /* WARNING: THIS IS A FILE GENERATED BY gennorm.js. DO NOT EDIT BY HAND. */ -// !depends nfc/Zyyy.js -// !depends nfd/Hira.js -// !data norm -ilib.extend(ilib.data.norm, ilib.data.normdata); -ilib.data.normdata = undefined; +// !data nfc/Hira nfd/Hira nfc/Zyyy nfd/Zyyy diff --git a/js/lib/nfc/Kana.js b/js/lib/nfc/Kana.js index 33a07fc86b..7356346663 100644 --- a/js/lib/nfc/Kana.js +++ b/js/lib/nfc/Kana.js @@ -1,7 +1,7 @@ /* * Kana.js - include file for normalization data for a particular script * - * Copyright © 2013-2015, JEDLSoft + * Copyright © 2013 - 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,8 +17,4 @@ * limitations under the License. */ /* WARNING: THIS IS A FILE GENERATED BY gennorm.js. DO NOT EDIT BY HAND. */ -// !depends nfc/Zyyy.js -// !depends nfd/Kana.js -// !data norm -ilib.extend(ilib.data.norm, ilib.data.normdata); -ilib.data.normdata = undefined; +// !data nfc/Kana nfd/Kana nfc/Zyyy nfd/Zyyy diff --git a/js/lib/nfc/Knda.js b/js/lib/nfc/Knda.js index 642b67809d..873a489849 100644 --- a/js/lib/nfc/Knda.js +++ b/js/lib/nfc/Knda.js @@ -1,7 +1,7 @@ /* * Knda.js - include file for normalization data for a particular script * - * Copyright © 2013-2015, JEDLSoft + * Copyright © 2013 - 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,8 +17,4 @@ * limitations under the License. */ /* WARNING: THIS IS A FILE GENERATED BY gennorm.js. DO NOT EDIT BY HAND. */ -// !depends nfc/Zyyy.js -// !depends nfd/Knda.js -// !data norm -ilib.extend(ilib.data.norm, ilib.data.normdata); -ilib.data.normdata = undefined; +// !data nfc/Knda nfd/Knda nfc/Zyyy nfd/Zyyy diff --git a/js/lib/nfc/Kthi.js b/js/lib/nfc/Kthi.js index 4db37bbc9d..317fe33f9f 100644 --- a/js/lib/nfc/Kthi.js +++ b/js/lib/nfc/Kthi.js @@ -1,7 +1,7 @@ /* * Kthi.js - include file for normalization data for a particular script * - * Copyright © 2013-2015, JEDLSoft + * Copyright © 2013 - 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,8 +17,4 @@ * limitations under the License. */ /* WARNING: THIS IS A FILE GENERATED BY gennorm.js. DO NOT EDIT BY HAND. */ -// !depends nfc/Zyyy.js -// !depends nfd/Kthi.js -// !data norm -ilib.extend(ilib.data.norm, ilib.data.normdata); -ilib.data.normdata = undefined; +// !data nfc/Kthi nfd/Kthi nfc/Zyyy nfd/Zyyy diff --git a/js/lib/nfc/Latn.js b/js/lib/nfc/Latn.js index b43d686c49..b05dc8e522 100644 --- a/js/lib/nfc/Latn.js +++ b/js/lib/nfc/Latn.js @@ -1,7 +1,7 @@ /* * Latn.js - include file for normalization data for a particular script * - * Copyright © 2013-2015, JEDLSoft + * Copyright © 2013 - 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,8 +17,4 @@ * limitations under the License. */ /* WARNING: THIS IS A FILE GENERATED BY gennorm.js. DO NOT EDIT BY HAND. */ -// !depends nfc/Zyyy.js -// !depends nfd/Latn.js -// !data norm -ilib.extend(ilib.data.norm, ilib.data.normdata); -ilib.data.normdata = undefined; +// !data nfc/Latn nfd/Latn nfc/Zyyy nfd/Zyyy diff --git a/js/lib/nfc/Mlym.js b/js/lib/nfc/Mlym.js index 14303f2764..91e4edc85c 100644 --- a/js/lib/nfc/Mlym.js +++ b/js/lib/nfc/Mlym.js @@ -1,7 +1,7 @@ /* * Mlym.js - include file for normalization data for a particular script * - * Copyright © 2013-2015, JEDLSoft + * Copyright © 2013 - 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,8 +17,4 @@ * limitations under the License. */ /* WARNING: THIS IS A FILE GENERATED BY gennorm.js. DO NOT EDIT BY HAND. */ -// !depends nfc/Zyyy.js -// !depends nfd/Mlym.js -// !data norm -ilib.extend(ilib.data.norm, ilib.data.normdata); -ilib.data.normdata = undefined; +// !data nfc/Mlym nfd/Mlym nfc/Zyyy nfd/Zyyy diff --git a/js/lib/nfc/Mymr.js b/js/lib/nfc/Mymr.js index aff101cb96..0f52712e64 100644 --- a/js/lib/nfc/Mymr.js +++ b/js/lib/nfc/Mymr.js @@ -1,7 +1,7 @@ /* * Mymr.js - include file for normalization data for a particular script * - * Copyright © 2013-2015, JEDLSoft + * Copyright © 2013 - 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,8 +17,4 @@ * limitations under the License. */ /* WARNING: THIS IS A FILE GENERATED BY gennorm.js. DO NOT EDIT BY HAND. */ -// !depends nfc/Zyyy.js -// !depends nfd/Mymr.js -// !data norm -ilib.extend(ilib.data.norm, ilib.data.normdata); -ilib.data.normdata = undefined; +// !data nfc/Mymr nfd/Mymr nfc/Zyyy nfd/Zyyy diff --git a/js/lib/nfc/Orya.js b/js/lib/nfc/Orya.js index f1f03cb50c..275913b282 100644 --- a/js/lib/nfc/Orya.js +++ b/js/lib/nfc/Orya.js @@ -1,7 +1,7 @@ /* * Orya.js - include file for normalization data for a particular script * - * Copyright © 2013-2015, JEDLSoft + * Copyright © 2013 - 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,8 +17,4 @@ * limitations under the License. */ /* WARNING: THIS IS A FILE GENERATED BY gennorm.js. DO NOT EDIT BY HAND. */ -// !depends nfc/Zyyy.js -// !depends nfd/Orya.js -// !data norm -ilib.extend(ilib.data.norm, ilib.data.normdata); -ilib.data.normdata = undefined; +// !data nfc/Orya nfd/Orya nfc/Zyyy nfd/Zyyy diff --git a/js/lib/nfc/Sidd.js b/js/lib/nfc/Sidd.js index 29040e1032..39765a0e3f 100644 --- a/js/lib/nfc/Sidd.js +++ b/js/lib/nfc/Sidd.js @@ -1,7 +1,7 @@ /* * Sidd.js - include file for normalization data for a particular script * - * Copyright © 2013-2015, JEDLSoft + * Copyright © 2013 - 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,8 +17,4 @@ * limitations under the License. */ /* WARNING: THIS IS A FILE GENERATED BY gennorm.js. DO NOT EDIT BY HAND. */ -// !depends nfc/Zyyy.js -// !depends nfd/Sidd.js -// !data norm -ilib.extend(ilib.data.norm, ilib.data.normdata); -ilib.data.normdata = undefined; +// !data nfc/Sidd nfd/Sidd nfc/Zyyy nfd/Zyyy diff --git a/js/lib/nfc/Sinh.js b/js/lib/nfc/Sinh.js index d36c6f6150..0488f315ce 100644 --- a/js/lib/nfc/Sinh.js +++ b/js/lib/nfc/Sinh.js @@ -1,7 +1,7 @@ /* * Sinh.js - include file for normalization data for a particular script * - * Copyright © 2013-2015, JEDLSoft + * Copyright © 2013 - 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,8 +17,4 @@ * limitations under the License. */ /* WARNING: THIS IS A FILE GENERATED BY gennorm.js. DO NOT EDIT BY HAND. */ -// !depends nfc/Zyyy.js -// !depends nfd/Sinh.js -// !data norm -ilib.extend(ilib.data.norm, ilib.data.normdata); -ilib.data.normdata = undefined; +// !data nfc/Sinh nfd/Sinh nfc/Zyyy nfd/Zyyy diff --git a/js/lib/nfc/Taml.js b/js/lib/nfc/Taml.js index f29e34b0b0..427b709440 100644 --- a/js/lib/nfc/Taml.js +++ b/js/lib/nfc/Taml.js @@ -1,7 +1,7 @@ /* * Taml.js - include file for normalization data for a particular script * - * Copyright © 2013-2015, JEDLSoft + * Copyright © 2013 - 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,8 +17,4 @@ * limitations under the License. */ /* WARNING: THIS IS A FILE GENERATED BY gennorm.js. DO NOT EDIT BY HAND. */ -// !depends nfc/Zyyy.js -// !depends nfd/Taml.js -// !data norm -ilib.extend(ilib.data.norm, ilib.data.normdata); -ilib.data.normdata = undefined; +// !data nfc/Taml nfd/Taml nfc/Zyyy nfd/Zyyy diff --git a/js/lib/nfc/Telu.js b/js/lib/nfc/Telu.js index 961e6211c9..e60bc494f5 100644 --- a/js/lib/nfc/Telu.js +++ b/js/lib/nfc/Telu.js @@ -1,7 +1,7 @@ /* * Telu.js - include file for normalization data for a particular script * - * Copyright © 2013-2015, JEDLSoft + * Copyright © 2013 - 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,8 +17,4 @@ * limitations under the License. */ /* WARNING: THIS IS A FILE GENERATED BY gennorm.js. DO NOT EDIT BY HAND. */ -// !depends nfc/Zyyy.js -// !depends nfd/Telu.js -// !data norm -ilib.extend(ilib.data.norm, ilib.data.normdata); -ilib.data.normdata = undefined; +// !data nfc/Telu nfd/Telu nfc/Zyyy nfd/Zyyy diff --git a/js/lib/nfc/Tirh.js b/js/lib/nfc/Tirh.js index deb6cbac8e..e49e30acb5 100644 --- a/js/lib/nfc/Tirh.js +++ b/js/lib/nfc/Tirh.js @@ -1,7 +1,7 @@ /* * Tirh.js - include file for normalization data for a particular script * - * Copyright © 2013-2015, JEDLSoft + * Copyright © 2013 - 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,8 +17,4 @@ * limitations under the License. */ /* WARNING: THIS IS A FILE GENERATED BY gennorm.js. DO NOT EDIT BY HAND. */ -// !depends nfc/Zyyy.js -// !depends nfd/Tirh.js -// !data norm -ilib.extend(ilib.data.norm, ilib.data.normdata); -ilib.data.normdata = undefined; +// !data nfc/Tirh nfd/Tirh nfc/Zyyy nfd/Zyyy diff --git a/js/lib/nfc/Zyyy.js b/js/lib/nfc/Zyyy.js index 2b5b975bc4..fbda8b87df 100644 --- a/js/lib/nfc/Zyyy.js +++ b/js/lib/nfc/Zyyy.js @@ -1,7 +1,7 @@ /* * Zyyy.js - include file for normalization data for a particular script * - * Copyright © 2013-2015, JEDLSoft + * Copyright © 2013 - 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,7 +17,4 @@ * limitations under the License. */ /* WARNING: THIS IS A FILE GENERATED BY gennorm.js. DO NOT EDIT BY HAND. */ -// !depends nfd/Zyyy.js -// !data norm -ilib.extend(ilib.data.norm, ilib.data.normdata); -ilib.data.normdata = undefined; +// !data nfc/Zyyy nfd/Zyyy diff --git a/js/lib/nfc/all.js b/js/lib/nfc/all.js index 4591004ef1..ec170265ba 100644 --- a/js/lib/nfc/all.js +++ b/js/lib/nfc/all.js @@ -1,7 +1,7 @@ /* * all.js - include file for normalization data for a particular script * - * Copyright © 2013-2015, JEDLSoft + * Copyright © 2013 - 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,7 +17,4 @@ * limitations under the License. */ /* WARNING: THIS IS A FILE GENERATED BY gennorm.js. DO NOT EDIT BY HAND. */ -// !depends nfd/all.js -// !data norm -ilib.extend(ilib.data.norm, ilib.data.normdata); -ilib.data.normdata = undefined; +// !data nfc/all nfd/all diff --git a/js/lib/nfd/Arab.js b/js/lib/nfd/Arab.js index edff9abf14..7e6b0f7ec6 100644 --- a/js/lib/nfd/Arab.js +++ b/js/lib/nfd/Arab.js @@ -1,7 +1,7 @@ /* * Arab.js - include file for normalization data for a particular script * - * Copyright © 2013-2015, JEDLSoft + * Copyright © 2013 - 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,9 +17,4 @@ * limitations under the License. */ /* WARNING: THIS IS A FILE GENERATED BY gennorm.js. DO NOT EDIT BY HAND. */ -// !depends nfd/Zyyy.js -// !data normdata nfd/Arab -ilib.extend(ilib.data.norm, ilib.data.normdata); -ilib.extend(ilib.data.norm.nfd, ilib.data.nfd_Arab); -ilib.data.normdata = undefined; -ilib.data.nfd_Arab = undefined; \ No newline at end of file +// !data nfd/Arab nfd/Zyyy diff --git a/js/lib/nfd/Bali.js b/js/lib/nfd/Bali.js index febe8cd7eb..e84dce3c38 100644 --- a/js/lib/nfd/Bali.js +++ b/js/lib/nfd/Bali.js @@ -1,7 +1,7 @@ /* * Bali.js - include file for normalization data for a particular script * - * Copyright © 2013-2015, JEDLSoft + * Copyright © 2013 - 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,9 +17,4 @@ * limitations under the License. */ /* WARNING: THIS IS A FILE GENERATED BY gennorm.js. DO NOT EDIT BY HAND. */ -// !depends nfd/Zyyy.js -// !data normdata nfd/Bali -ilib.extend(ilib.data.norm, ilib.data.normdata); -ilib.extend(ilib.data.norm.nfd, ilib.data.nfd_Bali); -ilib.data.normdata = undefined; -ilib.data.nfd_Bali = undefined; \ No newline at end of file +// !data nfd/Bali nfd/Zyyy diff --git a/js/lib/nfd/Beng.js b/js/lib/nfd/Beng.js index 88354afcba..323841021a 100644 --- a/js/lib/nfd/Beng.js +++ b/js/lib/nfd/Beng.js @@ -1,7 +1,7 @@ /* * Beng.js - include file for normalization data for a particular script * - * Copyright © 2013-2015, JEDLSoft + * Copyright © 2013 - 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,9 +17,4 @@ * limitations under the License. */ /* WARNING: THIS IS A FILE GENERATED BY gennorm.js. DO NOT EDIT BY HAND. */ -// !depends nfd/Zyyy.js -// !data normdata nfd/Beng -ilib.extend(ilib.data.norm, ilib.data.normdata); -ilib.extend(ilib.data.norm.nfd, ilib.data.nfd_Beng); -ilib.data.normdata = undefined; -ilib.data.nfd_Beng = undefined; \ No newline at end of file +// !data nfd/Beng nfd/Zyyy diff --git a/js/lib/nfd/Cakm.js b/js/lib/nfd/Cakm.js index 94580708d0..d6a3cbd9cc 100644 --- a/js/lib/nfd/Cakm.js +++ b/js/lib/nfd/Cakm.js @@ -1,7 +1,7 @@ /* * Cakm.js - include file for normalization data for a particular script * - * Copyright © 2013-2015, JEDLSoft + * Copyright © 2013 - 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,9 +17,4 @@ * limitations under the License. */ /* WARNING: THIS IS A FILE GENERATED BY gennorm.js. DO NOT EDIT BY HAND. */ -// !depends nfd/Zyyy.js -// !data normdata nfd/Cakm -ilib.extend(ilib.data.norm, ilib.data.normdata); -ilib.extend(ilib.data.norm.nfd, ilib.data.nfd_Cakm); -ilib.data.normdata = undefined; -ilib.data.nfd_Cakm = undefined; \ No newline at end of file +// !data nfd/Cakm nfd/Zyyy diff --git a/js/lib/nfd/Cyrl.js b/js/lib/nfd/Cyrl.js index b7bde70b28..aaf17aaee5 100644 --- a/js/lib/nfd/Cyrl.js +++ b/js/lib/nfd/Cyrl.js @@ -1,7 +1,7 @@ /* * Cyrl.js - include file for normalization data for a particular script * - * Copyright © 2013-2015, JEDLSoft + * Copyright © 2013 - 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,9 +17,4 @@ * limitations under the License. */ /* WARNING: THIS IS A FILE GENERATED BY gennorm.js. DO NOT EDIT BY HAND. */ -// !depends nfd/Zyyy.js -// !data normdata nfd/Cyrl -ilib.extend(ilib.data.norm, ilib.data.normdata); -ilib.extend(ilib.data.norm.nfd, ilib.data.nfd_Cyrl); -ilib.data.normdata = undefined; -ilib.data.nfd_Cyrl = undefined; \ No newline at end of file +// !data nfd/Cyrl nfd/Zyyy diff --git a/js/lib/nfd/Deva.js b/js/lib/nfd/Deva.js index d995fdff0d..78d8cb5c2a 100644 --- a/js/lib/nfd/Deva.js +++ b/js/lib/nfd/Deva.js @@ -1,7 +1,7 @@ /* * Deva.js - include file for normalization data for a particular script * - * Copyright © 2013-2015, JEDLSoft + * Copyright © 2013 - 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,9 +17,4 @@ * limitations under the License. */ /* WARNING: THIS IS A FILE GENERATED BY gennorm.js. DO NOT EDIT BY HAND. */ -// !depends nfd/Zyyy.js -// !data normdata nfd/Deva -ilib.extend(ilib.data.norm, ilib.data.normdata); -ilib.extend(ilib.data.norm.nfd, ilib.data.nfd_Deva); -ilib.data.normdata = undefined; -ilib.data.nfd_Deva = undefined; \ No newline at end of file +// !data nfd/Deva nfd/Zyyy diff --git a/js/lib/nfd/Gran.js b/js/lib/nfd/Gran.js index f7c74e248d..72515b8e51 100644 --- a/js/lib/nfd/Gran.js +++ b/js/lib/nfd/Gran.js @@ -1,7 +1,7 @@ /* * Gran.js - include file for normalization data for a particular script * - * Copyright © 2013-2015, JEDLSoft + * Copyright © 2013 - 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,9 +17,4 @@ * limitations under the License. */ /* WARNING: THIS IS A FILE GENERATED BY gennorm.js. DO NOT EDIT BY HAND. */ -// !depends nfd/Zyyy.js -// !data normdata nfd/Gran -ilib.extend(ilib.data.norm, ilib.data.normdata); -ilib.extend(ilib.data.norm.nfd, ilib.data.nfd_Gran); -ilib.data.normdata = undefined; -ilib.data.nfd_Gran = undefined; \ No newline at end of file +// !data nfd/Gran nfd/Zyyy diff --git a/js/lib/nfd/Grek.js b/js/lib/nfd/Grek.js index a881af4f80..0a1eb59062 100644 --- a/js/lib/nfd/Grek.js +++ b/js/lib/nfd/Grek.js @@ -1,7 +1,7 @@ /* * Grek.js - include file for normalization data for a particular script * - * Copyright © 2013-2015, JEDLSoft + * Copyright © 2013 - 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,9 +17,4 @@ * limitations under the License. */ /* WARNING: THIS IS A FILE GENERATED BY gennorm.js. DO NOT EDIT BY HAND. */ -// !depends nfd/Zyyy.js -// !data normdata nfd/Grek -ilib.extend(ilib.data.norm, ilib.data.normdata); -ilib.extend(ilib.data.norm.nfd, ilib.data.nfd_Grek); -ilib.data.normdata = undefined; -ilib.data.nfd_Grek = undefined; \ No newline at end of file +// !data nfd/Grek nfd/Zyyy diff --git a/js/lib/nfd/Guru.js b/js/lib/nfd/Guru.js index ee75a35258..7a7c164e67 100644 --- a/js/lib/nfd/Guru.js +++ b/js/lib/nfd/Guru.js @@ -1,7 +1,7 @@ /* * Guru.js - include file for normalization data for a particular script * - * Copyright © 2013-2015, JEDLSoft + * Copyright © 2013 - 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,9 +17,4 @@ * limitations under the License. */ /* WARNING: THIS IS A FILE GENERATED BY gennorm.js. DO NOT EDIT BY HAND. */ -// !depends nfd/Zyyy.js -// !data normdata nfd/Guru -ilib.extend(ilib.data.norm, ilib.data.normdata); -ilib.extend(ilib.data.norm.nfd, ilib.data.nfd_Guru); -ilib.data.normdata = undefined; -ilib.data.nfd_Guru = undefined; \ No newline at end of file +// !data nfd/Guru nfd/Zyyy diff --git a/js/lib/nfd/Hani.js b/js/lib/nfd/Hani.js index 806d0cb598..ff079c0553 100644 --- a/js/lib/nfd/Hani.js +++ b/js/lib/nfd/Hani.js @@ -1,7 +1,7 @@ /* * Hani.js - include file for normalization data for a particular script * - * Copyright © 2013-2015, JEDLSoft + * Copyright © 2013 - 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,9 +17,4 @@ * limitations under the License. */ /* WARNING: THIS IS A FILE GENERATED BY gennorm.js. DO NOT EDIT BY HAND. */ -// !depends nfd/Zyyy.js -// !data normdata nfd/Hani -ilib.extend(ilib.data.norm, ilib.data.normdata); -ilib.extend(ilib.data.norm.nfd, ilib.data.nfd_Hani); -ilib.data.normdata = undefined; -ilib.data.nfd_Hani = undefined; \ No newline at end of file +// !data nfd/Hani nfd/Zyyy diff --git a/js/lib/nfd/Hebr.js b/js/lib/nfd/Hebr.js index ccfad07418..6c950734f5 100644 --- a/js/lib/nfd/Hebr.js +++ b/js/lib/nfd/Hebr.js @@ -1,7 +1,7 @@ /* * Hebr.js - include file for normalization data for a particular script * - * Copyright © 2013-2015, JEDLSoft + * Copyright © 2013 - 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,9 +17,4 @@ * limitations under the License. */ /* WARNING: THIS IS A FILE GENERATED BY gennorm.js. DO NOT EDIT BY HAND. */ -// !depends nfd/Zyyy.js -// !data normdata nfd/Hebr -ilib.extend(ilib.data.norm, ilib.data.normdata); -ilib.extend(ilib.data.norm.nfd, ilib.data.nfd_Hebr); -ilib.data.normdata = undefined; -ilib.data.nfd_Hebr = undefined; \ No newline at end of file +// !data nfd/Hebr nfd/Zyyy diff --git a/js/lib/nfd/Hira.js b/js/lib/nfd/Hira.js index 6262185987..061834aeb7 100644 --- a/js/lib/nfd/Hira.js +++ b/js/lib/nfd/Hira.js @@ -1,7 +1,7 @@ /* * Hira.js - include file for normalization data for a particular script * - * Copyright © 2013-2015, JEDLSoft + * Copyright © 2013 - 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,9 +17,4 @@ * limitations under the License. */ /* WARNING: THIS IS A FILE GENERATED BY gennorm.js. DO NOT EDIT BY HAND. */ -// !depends nfd/Zyyy.js -// !data normdata nfd/Hira -ilib.extend(ilib.data.norm, ilib.data.normdata); -ilib.extend(ilib.data.norm.nfd, ilib.data.nfd_Hira); -ilib.data.normdata = undefined; -ilib.data.nfd_Hira = undefined; \ No newline at end of file +// !data nfd/Hira nfd/Zyyy diff --git a/js/lib/nfd/Kana.js b/js/lib/nfd/Kana.js index 1bd37c5447..8c5a2fa71a 100644 --- a/js/lib/nfd/Kana.js +++ b/js/lib/nfd/Kana.js @@ -1,7 +1,7 @@ /* * Kana.js - include file for normalization data for a particular script * - * Copyright © 2013-2015, JEDLSoft + * Copyright © 2013 - 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,9 +17,4 @@ * limitations under the License. */ /* WARNING: THIS IS A FILE GENERATED BY gennorm.js. DO NOT EDIT BY HAND. */ -// !depends nfd/Zyyy.js -// !data normdata nfd/Kana -ilib.extend(ilib.data.norm, ilib.data.normdata); -ilib.extend(ilib.data.norm.nfd, ilib.data.nfd_Kana); -ilib.data.normdata = undefined; -ilib.data.nfd_Kana = undefined; \ No newline at end of file +// !data nfd/Kana nfd/Zyyy diff --git a/js/lib/nfd/Knda.js b/js/lib/nfd/Knda.js index cc7c146b03..1d8a8089c2 100644 --- a/js/lib/nfd/Knda.js +++ b/js/lib/nfd/Knda.js @@ -1,7 +1,7 @@ /* * Knda.js - include file for normalization data for a particular script * - * Copyright © 2013-2015, JEDLSoft + * Copyright © 2013 - 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,9 +17,4 @@ * limitations under the License. */ /* WARNING: THIS IS A FILE GENERATED BY gennorm.js. DO NOT EDIT BY HAND. */ -// !depends nfd/Zyyy.js -// !data normdata nfd/Knda -ilib.extend(ilib.data.norm, ilib.data.normdata); -ilib.extend(ilib.data.norm.nfd, ilib.data.nfd_Knda); -ilib.data.normdata = undefined; -ilib.data.nfd_Knda = undefined; \ No newline at end of file +// !data nfd/Knda nfd/Zyyy diff --git a/js/lib/nfd/Kthi.js b/js/lib/nfd/Kthi.js index baca2ee150..ccb719ea84 100644 --- a/js/lib/nfd/Kthi.js +++ b/js/lib/nfd/Kthi.js @@ -1,7 +1,7 @@ /* * Kthi.js - include file for normalization data for a particular script * - * Copyright © 2013-2015, JEDLSoft + * Copyright © 2013 - 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,9 +17,4 @@ * limitations under the License. */ /* WARNING: THIS IS A FILE GENERATED BY gennorm.js. DO NOT EDIT BY HAND. */ -// !depends nfd/Zyyy.js -// !data normdata nfd/Kthi -ilib.extend(ilib.data.norm, ilib.data.normdata); -ilib.extend(ilib.data.norm.nfd, ilib.data.nfd_Kthi); -ilib.data.normdata = undefined; -ilib.data.nfd_Kthi = undefined; \ No newline at end of file +// !data nfd/Kthi nfd/Zyyy diff --git a/js/lib/nfd/Latn.js b/js/lib/nfd/Latn.js index d15ef732e6..f35364c229 100644 --- a/js/lib/nfd/Latn.js +++ b/js/lib/nfd/Latn.js @@ -1,7 +1,7 @@ /* * Latn.js - include file for normalization data for a particular script * - * Copyright © 2013-2015, JEDLSoft + * Copyright © 2013 - 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,9 +17,4 @@ * limitations under the License. */ /* WARNING: THIS IS A FILE GENERATED BY gennorm.js. DO NOT EDIT BY HAND. */ -// !depends nfd/Zyyy.js -// !data normdata nfd/Latn -ilib.extend(ilib.data.norm, ilib.data.normdata); -ilib.extend(ilib.data.norm.nfd, ilib.data.nfd_Latn); -ilib.data.normdata = undefined; -ilib.data.nfd_Latn = undefined; \ No newline at end of file +// !data nfd/Latn nfd/Zyyy diff --git a/js/lib/nfd/Mlym.js b/js/lib/nfd/Mlym.js index d5399bb06f..099ece08e2 100644 --- a/js/lib/nfd/Mlym.js +++ b/js/lib/nfd/Mlym.js @@ -1,7 +1,7 @@ /* * Mlym.js - include file for normalization data for a particular script * - * Copyright © 2013-2015, JEDLSoft + * Copyright © 2013 - 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,9 +17,4 @@ * limitations under the License. */ /* WARNING: THIS IS A FILE GENERATED BY gennorm.js. DO NOT EDIT BY HAND. */ -// !depends nfd/Zyyy.js -// !data normdata nfd/Mlym -ilib.extend(ilib.data.norm, ilib.data.normdata); -ilib.extend(ilib.data.norm.nfd, ilib.data.nfd_Mlym); -ilib.data.normdata = undefined; -ilib.data.nfd_Mlym = undefined; \ No newline at end of file +// !data nfd/Mlym nfd/Zyyy diff --git a/js/lib/nfd/Mymr.js b/js/lib/nfd/Mymr.js index 5dbf9765e1..7379cd3c36 100644 --- a/js/lib/nfd/Mymr.js +++ b/js/lib/nfd/Mymr.js @@ -1,7 +1,7 @@ /* * Mymr.js - include file for normalization data for a particular script * - * Copyright © 2013-2015, JEDLSoft + * Copyright © 2013 - 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,9 +17,4 @@ * limitations under the License. */ /* WARNING: THIS IS A FILE GENERATED BY gennorm.js. DO NOT EDIT BY HAND. */ -// !depends nfd/Zyyy.js -// !data normdata nfd/Mymr -ilib.extend(ilib.data.norm, ilib.data.normdata); -ilib.extend(ilib.data.norm.nfd, ilib.data.nfd_Mymr); -ilib.data.normdata = undefined; -ilib.data.nfd_Mymr = undefined; \ No newline at end of file +// !data nfd/Mymr nfd/Zyyy diff --git a/js/lib/nfd/Orya.js b/js/lib/nfd/Orya.js index 2a93ceb1b8..2150439557 100644 --- a/js/lib/nfd/Orya.js +++ b/js/lib/nfd/Orya.js @@ -1,7 +1,7 @@ /* * Orya.js - include file for normalization data for a particular script * - * Copyright © 2013-2015, JEDLSoft + * Copyright © 2013 - 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,9 +17,4 @@ * limitations under the License. */ /* WARNING: THIS IS A FILE GENERATED BY gennorm.js. DO NOT EDIT BY HAND. */ -// !depends nfd/Zyyy.js -// !data normdata nfd/Orya -ilib.extend(ilib.data.norm, ilib.data.normdata); -ilib.extend(ilib.data.norm.nfd, ilib.data.nfd_Orya); -ilib.data.normdata = undefined; -ilib.data.nfd_Orya = undefined; \ No newline at end of file +// !data nfd/Orya nfd/Zyyy diff --git a/js/lib/nfd/Sidd.js b/js/lib/nfd/Sidd.js index 9063d50488..1b9000ef9f 100644 --- a/js/lib/nfd/Sidd.js +++ b/js/lib/nfd/Sidd.js @@ -1,7 +1,7 @@ /* * Sidd.js - include file for normalization data for a particular script * - * Copyright © 2013-2015, JEDLSoft + * Copyright © 2013 - 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,9 +17,4 @@ * limitations under the License. */ /* WARNING: THIS IS A FILE GENERATED BY gennorm.js. DO NOT EDIT BY HAND. */ -// !depends nfd/Zyyy.js -// !data normdata nfd/Sidd -ilib.extend(ilib.data.norm, ilib.data.normdata); -ilib.extend(ilib.data.norm.nfd, ilib.data.nfd_Sidd); -ilib.data.normdata = undefined; -ilib.data.nfd_Sidd = undefined; \ No newline at end of file +// !data nfd/Sidd nfd/Zyyy diff --git a/js/lib/nfd/Sinh.js b/js/lib/nfd/Sinh.js index c9c1ec14ba..1d7045e9c8 100644 --- a/js/lib/nfd/Sinh.js +++ b/js/lib/nfd/Sinh.js @@ -1,7 +1,7 @@ /* * Sinh.js - include file for normalization data for a particular script * - * Copyright © 2013-2015, JEDLSoft + * Copyright © 2013 - 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,9 +17,4 @@ * limitations under the License. */ /* WARNING: THIS IS A FILE GENERATED BY gennorm.js. DO NOT EDIT BY HAND. */ -// !depends nfd/Zyyy.js -// !data normdata nfd/Sinh -ilib.extend(ilib.data.norm, ilib.data.normdata); -ilib.extend(ilib.data.norm.nfd, ilib.data.nfd_Sinh); -ilib.data.normdata = undefined; -ilib.data.nfd_Sinh = undefined; \ No newline at end of file +// !data nfd/Sinh nfd/Zyyy diff --git a/js/lib/nfd/Taml.js b/js/lib/nfd/Taml.js index 0257480397..ac3b70b592 100644 --- a/js/lib/nfd/Taml.js +++ b/js/lib/nfd/Taml.js @@ -1,7 +1,7 @@ /* * Taml.js - include file for normalization data for a particular script * - * Copyright © 2013-2015, JEDLSoft + * Copyright © 2013 - 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,9 +17,4 @@ * limitations under the License. */ /* WARNING: THIS IS A FILE GENERATED BY gennorm.js. DO NOT EDIT BY HAND. */ -// !depends nfd/Zyyy.js -// !data normdata nfd/Taml -ilib.extend(ilib.data.norm, ilib.data.normdata); -ilib.extend(ilib.data.norm.nfd, ilib.data.nfd_Taml); -ilib.data.normdata = undefined; -ilib.data.nfd_Taml = undefined; \ No newline at end of file +// !data nfd/Taml nfd/Zyyy diff --git a/js/lib/nfd/Telu.js b/js/lib/nfd/Telu.js index f0c2bd881d..4a6832ea8b 100644 --- a/js/lib/nfd/Telu.js +++ b/js/lib/nfd/Telu.js @@ -1,7 +1,7 @@ /* * Telu.js - include file for normalization data for a particular script * - * Copyright © 2013-2015, JEDLSoft + * Copyright © 2013 - 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,9 +17,4 @@ * limitations under the License. */ /* WARNING: THIS IS A FILE GENERATED BY gennorm.js. DO NOT EDIT BY HAND. */ -// !depends nfd/Zyyy.js -// !data normdata nfd/Telu -ilib.extend(ilib.data.norm, ilib.data.normdata); -ilib.extend(ilib.data.norm.nfd, ilib.data.nfd_Telu); -ilib.data.normdata = undefined; -ilib.data.nfd_Telu = undefined; \ No newline at end of file +// !data nfd/Telu nfd/Zyyy diff --git a/js/lib/nfd/Tibt.js b/js/lib/nfd/Tibt.js index e16dd31d23..885e3698f5 100644 --- a/js/lib/nfd/Tibt.js +++ b/js/lib/nfd/Tibt.js @@ -1,7 +1,7 @@ /* * Tibt.js - include file for normalization data for a particular script * - * Copyright © 2013-2015, JEDLSoft + * Copyright © 2013 - 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,9 +17,4 @@ * limitations under the License. */ /* WARNING: THIS IS A FILE GENERATED BY gennorm.js. DO NOT EDIT BY HAND. */ -// !depends nfd/Zyyy.js -// !data normdata nfd/Tibt -ilib.extend(ilib.data.norm, ilib.data.normdata); -ilib.extend(ilib.data.norm.nfd, ilib.data.nfd_Tibt); -ilib.data.normdata = undefined; -ilib.data.nfd_Tibt = undefined; \ No newline at end of file +// !data nfd/Tibt nfd/Zyyy diff --git a/js/lib/nfd/Tirh.js b/js/lib/nfd/Tirh.js index f2099c833e..a633b93e3e 100644 --- a/js/lib/nfd/Tirh.js +++ b/js/lib/nfd/Tirh.js @@ -1,7 +1,7 @@ /* * Tirh.js - include file for normalization data for a particular script * - * Copyright © 2013-2015, JEDLSoft + * Copyright © 2013 - 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,9 +17,4 @@ * limitations under the License. */ /* WARNING: THIS IS A FILE GENERATED BY gennorm.js. DO NOT EDIT BY HAND. */ -// !depends nfd/Zyyy.js -// !data normdata nfd/Tirh -ilib.extend(ilib.data.norm, ilib.data.normdata); -ilib.extend(ilib.data.norm.nfd, ilib.data.nfd_Tirh); -ilib.data.normdata = undefined; -ilib.data.nfd_Tirh = undefined; \ No newline at end of file +// !data nfd/Tirh nfd/Zyyy diff --git a/js/lib/nfd/Zinh.js b/js/lib/nfd/Zinh.js index a427a62bf6..5d80305a24 100644 --- a/js/lib/nfd/Zinh.js +++ b/js/lib/nfd/Zinh.js @@ -1,7 +1,7 @@ /* * Zinh.js - include file for normalization data for a particular script * - * Copyright © 2013-2015, JEDLSoft + * Copyright © 2013 - 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,9 +17,4 @@ * limitations under the License. */ /* WARNING: THIS IS A FILE GENERATED BY gennorm.js. DO NOT EDIT BY HAND. */ -// !depends nfd/Zyyy.js -// !data normdata nfd/Zinh -ilib.extend(ilib.data.norm, ilib.data.normdata); -ilib.extend(ilib.data.norm.nfd, ilib.data.nfd_Zinh); -ilib.data.normdata = undefined; -ilib.data.nfd_Zinh = undefined; \ No newline at end of file +// !data nfd/Zinh nfd/Zyyy diff --git a/js/lib/nfd/Zyyy.js b/js/lib/nfd/Zyyy.js index 292f590679..3b84823f7e 100644 --- a/js/lib/nfd/Zyyy.js +++ b/js/lib/nfd/Zyyy.js @@ -1,7 +1,7 @@ /* * Zyyy.js - include file for normalization data for a particular script * - * Copyright © 2013-2015, JEDLSoft + * Copyright © 2013 - 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,8 +17,4 @@ * limitations under the License. */ /* WARNING: THIS IS A FILE GENERATED BY gennorm.js. DO NOT EDIT BY HAND. */ -// !data normdata nfd/Zyyy -ilib.extend(ilib.data.norm, ilib.data.normdata); -ilib.extend(ilib.data.norm.nfd, ilib.data.nfd_Zyyy); -ilib.data.normdata = undefined; -ilib.data.nfd_Zyyy = undefined; \ No newline at end of file +// !data nfd/Zyyy diff --git a/js/lib/nfd/all.js b/js/lib/nfd/all.js index 8ac0747ca9..39e56a277e 100644 --- a/js/lib/nfd/all.js +++ b/js/lib/nfd/all.js @@ -1,7 +1,7 @@ /* * all.js - include file for normalization data for a particular script * - * Copyright © 2013-2015, JEDLSoft + * Copyright © 2013 - 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,8 +17,4 @@ * limitations under the License. */ /* WARNING: THIS IS A FILE GENERATED BY gennorm.js. DO NOT EDIT BY HAND. */ -// !data normdata nfd/all -ilib.extend(ilib.data.norm, ilib.data.normdata); -ilib.extend(ilib.data.norm.nfd, ilib.data.nfd_all); -ilib.data.normdata = undefined; -ilib.data.nfd_all = undefined; \ No newline at end of file +// !data nfd/all diff --git a/js/lib/nfkc/Arab.js b/js/lib/nfkc/Arab.js index 877eec3c23..507d32dbb4 100644 --- a/js/lib/nfkc/Arab.js +++ b/js/lib/nfkc/Arab.js @@ -1,7 +1,7 @@ /* * Arab.js - include file for normalization data for a particular script * - * Copyright © 2013-2015, JEDLSoft + * Copyright © 2013 - 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,8 +17,4 @@ * limitations under the License. */ /* WARNING: THIS IS A FILE GENERATED BY gennorm.js. DO NOT EDIT BY HAND. */ -// !depends nfkc/Zyyy.js -// !depends nfd/Arab.js nfkd/Arab.js -// !data norm -ilib.extend(ilib.data.norm, ilib.data.normdata); -ilib.data.normdata = undefined; +// !data nfc/Arab nfkd/Arab nfd/Arab nfc/Zyyy nfkd/Zyyy nfd/Zyyy diff --git a/js/lib/nfkc/Armn.js b/js/lib/nfkc/Armn.js index a85cb64e3c..14b77d4c62 100644 --- a/js/lib/nfkc/Armn.js +++ b/js/lib/nfkc/Armn.js @@ -1,7 +1,7 @@ /* * Armn.js - include file for normalization data for a particular script * - * Copyright © 2013-2015, JEDLSoft + * Copyright © 2013 - 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,8 +17,4 @@ * limitations under the License. */ /* WARNING: THIS IS A FILE GENERATED BY gennorm.js. DO NOT EDIT BY HAND. */ -// !depends nfkc/Zyyy.js -// !depends nfd/Armn.js nfkd/Armn.js -// !data norm -ilib.extend(ilib.data.norm, ilib.data.normdata); -ilib.data.normdata = undefined; +// !data nfc/Armn nfkd/Armn nfd/Armn nfc/Zyyy nfkd/Zyyy nfd/Zyyy diff --git a/js/lib/nfkc/Cyrl.js b/js/lib/nfkc/Cyrl.js index 6fd3c99776..29cf94b5ba 100644 --- a/js/lib/nfkc/Cyrl.js +++ b/js/lib/nfkc/Cyrl.js @@ -1,7 +1,7 @@ /* * Cyrl.js - include file for normalization data for a particular script * - * Copyright © 2013-2015, JEDLSoft + * Copyright © 2013 - 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,8 +17,4 @@ * limitations under the License. */ /* WARNING: THIS IS A FILE GENERATED BY gennorm.js. DO NOT EDIT BY HAND. */ -// !depends nfkc/Zyyy.js -// !depends nfd/Cyrl.js nfkd/Cyrl.js -// !data norm -ilib.extend(ilib.data.norm, ilib.data.normdata); -ilib.data.normdata = undefined; +// !data nfc/Cyrl nfkd/Cyrl nfd/Cyrl nfc/Zyyy nfkd/Zyyy nfd/Zyyy diff --git a/js/lib/nfkc/Geok.js b/js/lib/nfkc/Geok.js index 5417d69d8c..5027eef45f 100644 --- a/js/lib/nfkc/Geok.js +++ b/js/lib/nfkc/Geok.js @@ -17,8 +17,4 @@ * limitations under the License. */ /* WARNING: THIS IS A FILE GENERATED BY gennorm.js. DO NOT EDIT BY HAND. */ -// !depends nfkc/Zyyy.js -// !depends nfd/Geok.js nfkd/Geok.js -// !data norm -ilib.extend(ilib.data.norm, ilib.data.normdata); -ilib.data.normdata = undefined; +// !data nfc/Geok nfkd/Geok nfd/Geok nfc/Zyyy nfkd/Zyyy nfd/Zyyy diff --git a/js/lib/nfkc/Geor.js b/js/lib/nfkc/Geor.js index 808b9530e7..8115ab3224 100644 --- a/js/lib/nfkc/Geor.js +++ b/js/lib/nfkc/Geor.js @@ -1,7 +1,7 @@ /* * Geor.js - include file for normalization data for a particular script * - * Copyright © 2013-2015, JEDLSoft + * Copyright © 2013 - 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,8 +17,4 @@ * limitations under the License. */ /* WARNING: THIS IS A FILE GENERATED BY gennorm.js. DO NOT EDIT BY HAND. */ -// !depends nfkc/Zyyy.js -// !depends nfd/Geor.js nfkd/Geor.js -// !data norm -ilib.extend(ilib.data.norm, ilib.data.normdata); -ilib.data.normdata = undefined; +// !data nfc/Geor nfkd/Geor nfd/Geor nfc/Zyyy nfkd/Zyyy nfd/Zyyy diff --git a/js/lib/nfkc/Grek.js b/js/lib/nfkc/Grek.js index 3021cc100a..c3410f30f2 100644 --- a/js/lib/nfkc/Grek.js +++ b/js/lib/nfkc/Grek.js @@ -1,7 +1,7 @@ /* * Grek.js - include file for normalization data for a particular script * - * Copyright © 2013-2015, JEDLSoft + * Copyright © 2013 - 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,8 +17,4 @@ * limitations under the License. */ /* WARNING: THIS IS A FILE GENERATED BY gennorm.js. DO NOT EDIT BY HAND. */ -// !depends nfkc/Zyyy.js -// !depends nfd/Grek.js nfkd/Grek.js -// !data norm -ilib.extend(ilib.data.norm, ilib.data.normdata); -ilib.data.normdata = undefined; +// !data nfc/Grek nfkd/Grek nfd/Grek nfc/Zyyy nfkd/Zyyy nfd/Zyyy diff --git a/js/lib/nfkc/Hang.js b/js/lib/nfkc/Hang.js index 7f0fcd6e8e..bac3eb9f46 100644 --- a/js/lib/nfkc/Hang.js +++ b/js/lib/nfkc/Hang.js @@ -1,7 +1,7 @@ /* * Hang.js - include file for normalization data for a particular script * - * Copyright © 2013-2015, JEDLSoft + * Copyright © 2013 - 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,8 +17,4 @@ * limitations under the License. */ /* WARNING: THIS IS A FILE GENERATED BY gennorm.js. DO NOT EDIT BY HAND. */ -// !depends nfkc/Zyyy.js -// !depends nfd/Hang.js nfkd/Hang.js -// !data norm -ilib.extend(ilib.data.norm, ilib.data.normdata); -ilib.data.normdata = undefined; +// !data nfc/Hang nfkd/Hang nfd/Hang nfc/Zyyy nfkd/Zyyy nfd/Zyyy diff --git a/js/lib/nfkc/Hani.js b/js/lib/nfkc/Hani.js index b4454fa75d..5eebb35222 100644 --- a/js/lib/nfkc/Hani.js +++ b/js/lib/nfkc/Hani.js @@ -1,7 +1,7 @@ /* * Hani.js - include file for normalization data for a particular script * - * Copyright © 2013-2015, JEDLSoft + * Copyright © 2013 - 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,8 +17,4 @@ * limitations under the License. */ /* WARNING: THIS IS A FILE GENERATED BY gennorm.js. DO NOT EDIT BY HAND. */ -// !depends nfkc/Zyyy.js -// !depends nfd/Hani.js nfkd/Hani.js -// !data norm -ilib.extend(ilib.data.norm, ilib.data.normdata); -ilib.data.normdata = undefined; +// !data nfc/Hani nfkd/Hani nfd/Hani nfc/Zyyy nfkd/Zyyy nfd/Zyyy diff --git a/js/lib/nfkc/Hebr.js b/js/lib/nfkc/Hebr.js index bd43a3ebd8..f66729fbbf 100644 --- a/js/lib/nfkc/Hebr.js +++ b/js/lib/nfkc/Hebr.js @@ -1,7 +1,7 @@ /* * Hebr.js - include file for normalization data for a particular script * - * Copyright © 2013-2015, JEDLSoft + * Copyright © 2013 - 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,8 +17,4 @@ * limitations under the License. */ /* WARNING: THIS IS A FILE GENERATED BY gennorm.js. DO NOT EDIT BY HAND. */ -// !depends nfkc/Zyyy.js -// !depends nfd/Hebr.js nfkd/Hebr.js -// !data norm -ilib.extend(ilib.data.norm, ilib.data.normdata); -ilib.data.normdata = undefined; +// !data nfc/Hebr nfkd/Hebr nfd/Hebr nfc/Zyyy nfkd/Zyyy nfd/Zyyy diff --git a/js/lib/nfkc/Hira.js b/js/lib/nfkc/Hira.js index 87d121a1a9..62e6a54dda 100644 --- a/js/lib/nfkc/Hira.js +++ b/js/lib/nfkc/Hira.js @@ -1,7 +1,7 @@ /* * Hira.js - include file for normalization data for a particular script * - * Copyright © 2013-2015, JEDLSoft + * Copyright © 2013 - 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,8 +17,4 @@ * limitations under the License. */ /* WARNING: THIS IS A FILE GENERATED BY gennorm.js. DO NOT EDIT BY HAND. */ -// !depends nfkc/Zyyy.js -// !depends nfd/Hira.js nfkd/Hira.js -// !data norm -ilib.extend(ilib.data.norm, ilib.data.normdata); -ilib.data.normdata = undefined; +// !data nfc/Hira nfkd/Hira nfd/Hira nfc/Zyyy nfkd/Zyyy nfd/Zyyy diff --git a/js/lib/nfkc/Kana.js b/js/lib/nfkc/Kana.js index 9240884d8d..beff0aed9b 100644 --- a/js/lib/nfkc/Kana.js +++ b/js/lib/nfkc/Kana.js @@ -1,7 +1,7 @@ /* * Kana.js - include file for normalization data for a particular script * - * Copyright © 2013-2015, JEDLSoft + * Copyright © 2013 - 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,8 +17,4 @@ * limitations under the License. */ /* WARNING: THIS IS A FILE GENERATED BY gennorm.js. DO NOT EDIT BY HAND. */ -// !depends nfkc/Zyyy.js -// !depends nfd/Kana.js nfkd/Kana.js -// !data norm -ilib.extend(ilib.data.norm, ilib.data.normdata); -ilib.data.normdata = undefined; +// !data nfc/Kana nfkd/Kana nfd/Kana nfc/Zyyy nfkd/Zyyy nfd/Zyyy diff --git a/js/lib/nfkc/Laoo.js b/js/lib/nfkc/Laoo.js index 0897016b0b..2183874fe0 100644 --- a/js/lib/nfkc/Laoo.js +++ b/js/lib/nfkc/Laoo.js @@ -1,7 +1,7 @@ /* * Laoo.js - include file for normalization data for a particular script * - * Copyright © 2013-2015, JEDLSoft + * Copyright © 2013 - 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,8 +17,4 @@ * limitations under the License. */ /* WARNING: THIS IS A FILE GENERATED BY gennorm.js. DO NOT EDIT BY HAND. */ -// !depends nfkc/Zyyy.js -// !depends nfd/Laoo.js nfkd/Laoo.js -// !data norm -ilib.extend(ilib.data.norm, ilib.data.normdata); -ilib.data.normdata = undefined; +// !data nfc/Laoo nfkd/Laoo nfd/Laoo nfc/Zyyy nfkd/Zyyy nfd/Zyyy diff --git a/js/lib/nfkc/Latn.js b/js/lib/nfkc/Latn.js index f3e0ef5f0f..ad8ea01948 100644 --- a/js/lib/nfkc/Latn.js +++ b/js/lib/nfkc/Latn.js @@ -1,7 +1,7 @@ /* * Latn.js - include file for normalization data for a particular script * - * Copyright © 2013-2015, JEDLSoft + * Copyright © 2013 - 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,8 +17,4 @@ * limitations under the License. */ /* WARNING: THIS IS A FILE GENERATED BY gennorm.js. DO NOT EDIT BY HAND. */ -// !depends nfkc/Zyyy.js -// !depends nfd/Latn.js nfkd/Latn.js -// !data norm -ilib.extend(ilib.data.norm, ilib.data.normdata); -ilib.data.normdata = undefined; +// !data nfc/Latn nfkd/Latn nfd/Latn nfc/Zyyy nfkd/Zyyy nfd/Zyyy diff --git a/js/lib/nfkc/Tfng.js b/js/lib/nfkc/Tfng.js index f89989abc2..62841d3784 100644 --- a/js/lib/nfkc/Tfng.js +++ b/js/lib/nfkc/Tfng.js @@ -1,7 +1,7 @@ /* * Tfng.js - include file for normalization data for a particular script * - * Copyright © 2013-2015, JEDLSoft + * Copyright © 2013 - 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,8 +17,4 @@ * limitations under the License. */ /* WARNING: THIS IS A FILE GENERATED BY gennorm.js. DO NOT EDIT BY HAND. */ -// !depends nfkc/Zyyy.js -// !depends nfd/Tfng.js nfkd/Tfng.js -// !data norm -ilib.extend(ilib.data.norm, ilib.data.normdata); -ilib.data.normdata = undefined; +// !data nfc/Tfng nfkd/Tfng nfd/Tfng nfc/Zyyy nfkd/Zyyy nfd/Zyyy diff --git a/js/lib/nfkc/Thai.js b/js/lib/nfkc/Thai.js index 23d24dbbc4..a79b00b52d 100644 --- a/js/lib/nfkc/Thai.js +++ b/js/lib/nfkc/Thai.js @@ -1,7 +1,7 @@ /* * Thai.js - include file for normalization data for a particular script * - * Copyright © 2013-2015, JEDLSoft + * Copyright © 2013 - 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,8 +17,4 @@ * limitations under the License. */ /* WARNING: THIS IS A FILE GENERATED BY gennorm.js. DO NOT EDIT BY HAND. */ -// !depends nfkc/Zyyy.js -// !depends nfd/Thai.js nfkd/Thai.js -// !data norm -ilib.extend(ilib.data.norm, ilib.data.normdata); -ilib.data.normdata = undefined; +// !data nfc/Thai nfkd/Thai nfd/Thai nfc/Zyyy nfkd/Zyyy nfd/Zyyy diff --git a/js/lib/nfkc/Tibt.js b/js/lib/nfkc/Tibt.js index fa543a61bc..ec0086db6e 100644 --- a/js/lib/nfkc/Tibt.js +++ b/js/lib/nfkc/Tibt.js @@ -1,7 +1,7 @@ /* * Tibt.js - include file for normalization data for a particular script * - * Copyright © 2013-2015, JEDLSoft + * Copyright © 2013 - 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,8 +17,4 @@ * limitations under the License. */ /* WARNING: THIS IS A FILE GENERATED BY gennorm.js. DO NOT EDIT BY HAND. */ -// !depends nfkc/Zyyy.js -// !depends nfd/Tibt.js nfkd/Tibt.js -// !data norm -ilib.extend(ilib.data.norm, ilib.data.normdata); -ilib.data.normdata = undefined; +// !data nfc/Tibt nfkd/Tibt nfd/Tibt nfc/Zyyy nfkd/Zyyy nfd/Zyyy diff --git a/js/lib/nfkc/Zyyy.js b/js/lib/nfkc/Zyyy.js index eca457a1ba..af6911e5df 100644 --- a/js/lib/nfkc/Zyyy.js +++ b/js/lib/nfkc/Zyyy.js @@ -1,7 +1,7 @@ /* * Zyyy.js - include file for normalization data for a particular script * - * Copyright © 2013-2015, JEDLSoft + * Copyright © 2013 - 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,7 +17,4 @@ * limitations under the License. */ /* WARNING: THIS IS A FILE GENERATED BY gennorm.js. DO NOT EDIT BY HAND. */ -// !depends nfd/Zyyy.js nfkd/Zyyy.js -// !data norm -ilib.extend(ilib.data.norm, ilib.data.normdata); -ilib.data.normdata = undefined; +// !data nfc/Zyyy nfkd/Zyyy nfd/Zyyy diff --git a/js/lib/nfkc/all.js b/js/lib/nfkc/all.js index 5365f71940..4999a6f20c 100644 --- a/js/lib/nfkc/all.js +++ b/js/lib/nfkc/all.js @@ -1,7 +1,7 @@ /* * all.js - include file for normalization data for a particular script * - * Copyright © 2013-2015, JEDLSoft + * Copyright © 2013 - 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,7 +17,4 @@ * limitations under the License. */ /* WARNING: THIS IS A FILE GENERATED BY gennorm.js. DO NOT EDIT BY HAND. */ -// !depends nfd/all.js nfkd/all.js -// !data norm -ilib.extend(ilib.data.norm, ilib.data.normdata); -ilib.data.normdata = undefined; +// !data nfc/all nfkd/all nfd/all diff --git a/js/lib/nfkd/Arab.js b/js/lib/nfkd/Arab.js index acc6651a2e..6066bc8d87 100644 --- a/js/lib/nfkd/Arab.js +++ b/js/lib/nfkd/Arab.js @@ -1,7 +1,7 @@ /* * Arab.js - include file for normalization data for a particular script * - * Copyright © 2013-2015, JEDLSoft + * Copyright © 2013 - 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,10 +17,4 @@ * limitations under the License. */ /* WARNING: THIS IS A FILE GENERATED BY gennorm.js. DO NOT EDIT BY HAND. */ -// !depends nfkd/Zyyy.js -// !depends nfd/Arab.js -// !data normdata nfkd/Arab -ilib.extend(ilib.data.norm, ilib.data.normdata); -ilib.extend(ilib.data.norm.nfkd, ilib.data.nfkd_Arab); -ilib.data.normdata = undefined; -ilib.data.nfkd_Arab = undefined; \ No newline at end of file +// !data nfkd/Arab nfd/Arab nfkd/Zyyy nfd/Zyyy diff --git a/js/lib/nfkd/Armn.js b/js/lib/nfkd/Armn.js index a687a2c310..a956b559db 100644 --- a/js/lib/nfkd/Armn.js +++ b/js/lib/nfkd/Armn.js @@ -1,7 +1,7 @@ /* * Armn.js - include file for normalization data for a particular script * - * Copyright © 2013-2015, JEDLSoft + * Copyright © 2013 - 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,10 +17,4 @@ * limitations under the License. */ /* WARNING: THIS IS A FILE GENERATED BY gennorm.js. DO NOT EDIT BY HAND. */ -// !depends nfkd/Zyyy.js -// !depends nfd/Armn.js -// !data normdata nfkd/Armn -ilib.extend(ilib.data.norm, ilib.data.normdata); -ilib.extend(ilib.data.norm.nfkd, ilib.data.nfkd_Armn); -ilib.data.normdata = undefined; -ilib.data.nfkd_Armn = undefined; \ No newline at end of file +// !data nfkd/Armn nfd/Armn nfkd/Zyyy nfd/Zyyy diff --git a/js/lib/nfkd/Cyrl.js b/js/lib/nfkd/Cyrl.js index 729aa051c2..1776603db4 100644 --- a/js/lib/nfkd/Cyrl.js +++ b/js/lib/nfkd/Cyrl.js @@ -1,7 +1,7 @@ /* * Cyrl.js - include file for normalization data for a particular script * - * Copyright © 2013-2015, JEDLSoft + * Copyright © 2013 - 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,10 +17,4 @@ * limitations under the License. */ /* WARNING: THIS IS A FILE GENERATED BY gennorm.js. DO NOT EDIT BY HAND. */ -// !depends nfkd/Zyyy.js -// !depends nfd/Cyrl.js -// !data normdata nfkd/Cyrl -ilib.extend(ilib.data.norm, ilib.data.normdata); -ilib.extend(ilib.data.norm.nfkd, ilib.data.nfkd_Cyrl); -ilib.data.normdata = undefined; -ilib.data.nfkd_Cyrl = undefined; \ No newline at end of file +// !data nfkd/Cyrl nfd/Cyrl nfkd/Zyyy nfd/Zyyy diff --git a/js/lib/nfkd/Geok.js b/js/lib/nfkd/Geok.js index 2b92c3b0bc..817d558444 100644 --- a/js/lib/nfkd/Geok.js +++ b/js/lib/nfkd/Geok.js @@ -17,10 +17,4 @@ * limitations under the License. */ /* WARNING: THIS IS A FILE GENERATED BY gennorm.js. DO NOT EDIT BY HAND. */ -// !depends nfkd/Zyyy.js -// !depends nfd/Geok.js -// !data normdata nfkd/Geok -ilib.extend(ilib.data.norm, ilib.data.normdata); -ilib.extend(ilib.data.norm.nfkd, ilib.data.nfkd_Geok); -ilib.data.normdata = undefined; -ilib.data.nfkd_Geok = undefined; \ No newline at end of file +// !data nfkd/Geok nfd/Geok nfkd/Zyyy nfd/Zyyy \ No newline at end of file diff --git a/js/lib/nfkd/Geor.js b/js/lib/nfkd/Geor.js index 633e0437a5..b0ece1a861 100644 --- a/js/lib/nfkd/Geor.js +++ b/js/lib/nfkd/Geor.js @@ -1,7 +1,7 @@ /* * Geor.js - include file for normalization data for a particular script * - * Copyright © 2013-2015, JEDLSoft + * Copyright © 2013 - 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,10 +17,4 @@ * limitations under the License. */ /* WARNING: THIS IS A FILE GENERATED BY gennorm.js. DO NOT EDIT BY HAND. */ -// !depends nfkd/Zyyy.js -// !depends nfd/Geor.js -// !data normdata nfkd/Geor -ilib.extend(ilib.data.norm, ilib.data.normdata); -ilib.extend(ilib.data.norm.nfkd, ilib.data.nfkd_Geor); -ilib.data.normdata = undefined; -ilib.data.nfkd_Geor = undefined; \ No newline at end of file +// !data nfkd/Geor nfd/Geor nfkd/Zyyy nfd/Zyyy diff --git a/js/lib/nfkd/Grek.js b/js/lib/nfkd/Grek.js index a55d27b6d2..a850098537 100644 --- a/js/lib/nfkd/Grek.js +++ b/js/lib/nfkd/Grek.js @@ -1,7 +1,7 @@ /* * Grek.js - include file for normalization data for a particular script * - * Copyright © 2013-2015, JEDLSoft + * Copyright © 2013 - 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,10 +17,4 @@ * limitations under the License. */ /* WARNING: THIS IS A FILE GENERATED BY gennorm.js. DO NOT EDIT BY HAND. */ -// !depends nfkd/Zyyy.js -// !depends nfd/Grek.js -// !data normdata nfkd/Grek -ilib.extend(ilib.data.norm, ilib.data.normdata); -ilib.extend(ilib.data.norm.nfkd, ilib.data.nfkd_Grek); -ilib.data.normdata = undefined; -ilib.data.nfkd_Grek = undefined; \ No newline at end of file +// !data nfkd/Grek nfd/Grek nfkd/Zyyy nfd/Zyyy diff --git a/js/lib/nfkd/Hang.js b/js/lib/nfkd/Hang.js index 5726363056..0aa348a371 100644 --- a/js/lib/nfkd/Hang.js +++ b/js/lib/nfkd/Hang.js @@ -1,7 +1,7 @@ /* * Hang.js - include file for normalization data for a particular script * - * Copyright © 2013-2015, JEDLSoft + * Copyright © 2013 - 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,10 +17,4 @@ * limitations under the License. */ /* WARNING: THIS IS A FILE GENERATED BY gennorm.js. DO NOT EDIT BY HAND. */ -// !depends nfkd/Zyyy.js -// !depends nfd/Hang.js -// !data normdata nfkd/Hang -ilib.extend(ilib.data.norm, ilib.data.normdata); -ilib.extend(ilib.data.norm.nfkd, ilib.data.nfkd_Hang); -ilib.data.normdata = undefined; -ilib.data.nfkd_Hang = undefined; \ No newline at end of file +// !data nfkd/Hang nfd/Hang nfkd/Zyyy nfd/Zyyy diff --git a/js/lib/nfkd/Hani.js b/js/lib/nfkd/Hani.js index 81da7de75b..cbfa0aed93 100644 --- a/js/lib/nfkd/Hani.js +++ b/js/lib/nfkd/Hani.js @@ -1,7 +1,7 @@ /* * Hani.js - include file for normalization data for a particular script * - * Copyright © 2013-2015, JEDLSoft + * Copyright © 2013 - 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,10 +17,4 @@ * limitations under the License. */ /* WARNING: THIS IS A FILE GENERATED BY gennorm.js. DO NOT EDIT BY HAND. */ -// !depends nfkd/Zyyy.js -// !depends nfd/Hani.js -// !data normdata nfkd/Hani -ilib.extend(ilib.data.norm, ilib.data.normdata); -ilib.extend(ilib.data.norm.nfkd, ilib.data.nfkd_Hani); -ilib.data.normdata = undefined; -ilib.data.nfkd_Hani = undefined; \ No newline at end of file +// !data nfkd/Hani nfd/Hani nfkd/Zyyy nfd/Zyyy diff --git a/js/lib/nfkd/Hebr.js b/js/lib/nfkd/Hebr.js index b2a4e70af6..d4d216c38d 100644 --- a/js/lib/nfkd/Hebr.js +++ b/js/lib/nfkd/Hebr.js @@ -1,7 +1,7 @@ /* * Hebr.js - include file for normalization data for a particular script * - * Copyright © 2013-2015, JEDLSoft + * Copyright © 2013 - 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,10 +17,4 @@ * limitations under the License. */ /* WARNING: THIS IS A FILE GENERATED BY gennorm.js. DO NOT EDIT BY HAND. */ -// !depends nfkd/Zyyy.js -// !depends nfd/Hebr.js -// !data normdata nfkd/Hebr -ilib.extend(ilib.data.norm, ilib.data.normdata); -ilib.extend(ilib.data.norm.nfkd, ilib.data.nfkd_Hebr); -ilib.data.normdata = undefined; -ilib.data.nfkd_Hebr = undefined; \ No newline at end of file +// !data nfkd/Hebr nfd/Hebr nfkd/Zyyy nfd/Zyyy diff --git a/js/lib/nfkd/Hira.js b/js/lib/nfkd/Hira.js index 495127f807..5ace58ad14 100644 --- a/js/lib/nfkd/Hira.js +++ b/js/lib/nfkd/Hira.js @@ -1,7 +1,7 @@ /* * Hira.js - include file for normalization data for a particular script * - * Copyright © 2013-2015, JEDLSoft + * Copyright © 2013 - 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,10 +17,4 @@ * limitations under the License. */ /* WARNING: THIS IS A FILE GENERATED BY gennorm.js. DO NOT EDIT BY HAND. */ -// !depends nfkd/Zyyy.js -// !depends nfd/Hira.js -// !data normdata nfkd/Hira -ilib.extend(ilib.data.norm, ilib.data.normdata); -ilib.extend(ilib.data.norm.nfkd, ilib.data.nfkd_Hira); -ilib.data.normdata = undefined; -ilib.data.nfkd_Hira = undefined; \ No newline at end of file +// !data nfkd/Hira nfd/Hira nfkd/Zyyy nfd/Zyyy diff --git a/js/lib/nfkd/Kana.js b/js/lib/nfkd/Kana.js index 3e132263cc..d446aec65c 100644 --- a/js/lib/nfkd/Kana.js +++ b/js/lib/nfkd/Kana.js @@ -1,7 +1,7 @@ /* * Kana.js - include file for normalization data for a particular script * - * Copyright © 2013-2015, JEDLSoft + * Copyright © 2013 - 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,10 +17,4 @@ * limitations under the License. */ /* WARNING: THIS IS A FILE GENERATED BY gennorm.js. DO NOT EDIT BY HAND. */ -// !depends nfkd/Zyyy.js -// !depends nfd/Kana.js -// !data normdata nfkd/Kana -ilib.extend(ilib.data.norm, ilib.data.normdata); -ilib.extend(ilib.data.norm.nfkd, ilib.data.nfkd_Kana); -ilib.data.normdata = undefined; -ilib.data.nfkd_Kana = undefined; \ No newline at end of file +// !data nfkd/Kana nfd/Kana nfkd/Zyyy nfd/Zyyy diff --git a/js/lib/nfkd/Laoo.js b/js/lib/nfkd/Laoo.js index 3a9ac553cc..b606e8305f 100644 --- a/js/lib/nfkd/Laoo.js +++ b/js/lib/nfkd/Laoo.js @@ -1,7 +1,7 @@ /* * Laoo.js - include file for normalization data for a particular script * - * Copyright © 2013-2015, JEDLSoft + * Copyright © 2013 - 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,10 +17,4 @@ * limitations under the License. */ /* WARNING: THIS IS A FILE GENERATED BY gennorm.js. DO NOT EDIT BY HAND. */ -// !depends nfkd/Zyyy.js -// !depends nfd/Laoo.js -// !data normdata nfkd/Laoo -ilib.extend(ilib.data.norm, ilib.data.normdata); -ilib.extend(ilib.data.norm.nfkd, ilib.data.nfkd_Laoo); -ilib.data.normdata = undefined; -ilib.data.nfkd_Laoo = undefined; \ No newline at end of file +// !data nfkd/Laoo nfd/Laoo nfkd/Zyyy nfd/Zyyy diff --git a/js/lib/nfkd/Latn.js b/js/lib/nfkd/Latn.js index 2be6963be7..65207a0d13 100644 --- a/js/lib/nfkd/Latn.js +++ b/js/lib/nfkd/Latn.js @@ -1,7 +1,7 @@ /* * Latn.js - include file for normalization data for a particular script * - * Copyright © 2013-2015, JEDLSoft + * Copyright © 2013 - 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,10 +17,4 @@ * limitations under the License. */ /* WARNING: THIS IS A FILE GENERATED BY gennorm.js. DO NOT EDIT BY HAND. */ -// !depends nfkd/Zyyy.js -// !depends nfd/Latn.js -// !data normdata nfkd/Latn -ilib.extend(ilib.data.norm, ilib.data.normdata); -ilib.extend(ilib.data.norm.nfkd, ilib.data.nfkd_Latn); -ilib.data.normdata = undefined; -ilib.data.nfkd_Latn = undefined; \ No newline at end of file +// !data nfkd/Latn nfd/Latn nfkd/Zyyy nfd/Zyyy diff --git a/js/lib/nfkd/Tfng.js b/js/lib/nfkd/Tfng.js index b03b46da05..dc9ad2d1a2 100644 --- a/js/lib/nfkd/Tfng.js +++ b/js/lib/nfkd/Tfng.js @@ -1,7 +1,7 @@ /* * Tfng.js - include file for normalization data for a particular script * - * Copyright © 2013-2015, JEDLSoft + * Copyright © 2013 - 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,10 +17,4 @@ * limitations under the License. */ /* WARNING: THIS IS A FILE GENERATED BY gennorm.js. DO NOT EDIT BY HAND. */ -// !depends nfkd/Zyyy.js -// !depends nfd/Tfng.js -// !data normdata nfkd/Tfng -ilib.extend(ilib.data.norm, ilib.data.normdata); -ilib.extend(ilib.data.norm.nfkd, ilib.data.nfkd_Tfng); -ilib.data.normdata = undefined; -ilib.data.nfkd_Tfng = undefined; \ No newline at end of file +// !data nfkd/Tfng nfd/Tfng nfkd/Zyyy nfd/Zyyy diff --git a/js/lib/nfkd/Thai.js b/js/lib/nfkd/Thai.js index a4b3adb7d6..27605e1222 100644 --- a/js/lib/nfkd/Thai.js +++ b/js/lib/nfkd/Thai.js @@ -1,7 +1,7 @@ /* * Thai.js - include file for normalization data for a particular script * - * Copyright © 2013-2015, JEDLSoft + * Copyright © 2013 - 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,10 +17,4 @@ * limitations under the License. */ /* WARNING: THIS IS A FILE GENERATED BY gennorm.js. DO NOT EDIT BY HAND. */ -// !depends nfkd/Zyyy.js -// !depends nfd/Thai.js -// !data normdata nfkd/Thai -ilib.extend(ilib.data.norm, ilib.data.normdata); -ilib.extend(ilib.data.norm.nfkd, ilib.data.nfkd_Thai); -ilib.data.normdata = undefined; -ilib.data.nfkd_Thai = undefined; \ No newline at end of file +// !data nfkd/Thai nfd/Thai nfkd/Zyyy nfd/Zyyy diff --git a/js/lib/nfkd/Tibt.js b/js/lib/nfkd/Tibt.js index eeb6b8b847..c0208123bb 100644 --- a/js/lib/nfkd/Tibt.js +++ b/js/lib/nfkd/Tibt.js @@ -1,7 +1,7 @@ /* * Tibt.js - include file for normalization data for a particular script * - * Copyright © 2013-2015, JEDLSoft + * Copyright © 2013 - 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,10 +17,4 @@ * limitations under the License. */ /* WARNING: THIS IS A FILE GENERATED BY gennorm.js. DO NOT EDIT BY HAND. */ -// !depends nfkd/Zyyy.js -// !depends nfd/Tibt.js -// !data normdata nfkd/Tibt -ilib.extend(ilib.data.norm, ilib.data.normdata); -ilib.extend(ilib.data.norm.nfkd, ilib.data.nfkd_Tibt); -ilib.data.normdata = undefined; -ilib.data.nfkd_Tibt = undefined; \ No newline at end of file +// !data nfkd/Tibt nfd/Tibt nfkd/Zyyy nfd/Zyyy diff --git a/js/lib/nfkd/Zyyy.js b/js/lib/nfkd/Zyyy.js index 495d27af75..45d9c11385 100644 --- a/js/lib/nfkd/Zyyy.js +++ b/js/lib/nfkd/Zyyy.js @@ -1,7 +1,7 @@ /* * Zyyy.js - include file for normalization data for a particular script * - * Copyright © 2013-2015, JEDLSoft + * Copyright © 2013 - 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,9 +17,4 @@ * limitations under the License. */ /* WARNING: THIS IS A FILE GENERATED BY gennorm.js. DO NOT EDIT BY HAND. */ -// !depends nfd/Zyyy.js -// !data normdata nfkd/Zyyy -ilib.extend(ilib.data.norm, ilib.data.normdata); -ilib.extend(ilib.data.norm.nfkd, ilib.data.nfkd_Zyyy); -ilib.data.normdata = undefined; -ilib.data.nfkd_Zyyy = undefined; \ No newline at end of file +// !data nfkd/Zyyy nfd/Zyyy diff --git a/js/lib/nfkd/all.js b/js/lib/nfkd/all.js index b52c2bc5c9..e328f4e36b 100644 --- a/js/lib/nfkd/all.js +++ b/js/lib/nfkd/all.js @@ -1,7 +1,7 @@ /* * all.js - include file for normalization data for a particular script * - * Copyright © 2013-2015, JEDLSoft + * Copyright © 2013 - 2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,9 +17,4 @@ * limitations under the License. */ /* WARNING: THIS IS A FILE GENERATED BY gennorm.js. DO NOT EDIT BY HAND. */ -// !depends nfd/all.js -// !data normdata nfkd/all -ilib.extend(ilib.data.norm, ilib.data.normdata); -ilib.extend(ilib.data.norm.nfkd, ilib.data.nfkd_all); -ilib.data.normdata = undefined; -ilib.data.nfkd_all = undefined; \ No newline at end of file +// !data nfkd/all nfd/all diff --git a/node_modules/.bin/nodeunit b/js/node_modules/.bin/nodeunit similarity index 100% rename from node_modules/.bin/nodeunit rename to js/node_modules/.bin/nodeunit diff --git a/node_modules/nodeunit/.travis.yml b/js/node_modules/nodeunit/.travis.yml similarity index 100% rename from node_modules/nodeunit/.travis.yml rename to js/node_modules/nodeunit/.travis.yml diff --git a/node_modules/nodeunit/CONTRIBUTORS.md b/js/node_modules/nodeunit/CONTRIBUTORS.md similarity index 100% rename from node_modules/nodeunit/CONTRIBUTORS.md rename to js/node_modules/nodeunit/CONTRIBUTORS.md diff --git a/node_modules/nodeunit/LICENSE b/js/node_modules/nodeunit/LICENSE similarity index 100% rename from node_modules/nodeunit/LICENSE rename to js/node_modules/nodeunit/LICENSE diff --git a/node_modules/nodeunit/Makefile b/js/node_modules/nodeunit/Makefile similarity index 100% rename from node_modules/nodeunit/Makefile rename to js/node_modules/nodeunit/Makefile diff --git a/node_modules/nodeunit/README.md b/js/node_modules/nodeunit/README.md similarity index 100% rename from node_modules/nodeunit/README.md rename to js/node_modules/nodeunit/README.md diff --git a/node_modules/nodeunit/bin/nodeunit b/js/node_modules/nodeunit/bin/nodeunit similarity index 100% rename from node_modules/nodeunit/bin/nodeunit rename to js/node_modules/nodeunit/bin/nodeunit diff --git a/node_modules/nodeunit/bin/nodeunit.json b/js/node_modules/nodeunit/bin/nodeunit.json similarity index 100% rename from node_modules/nodeunit/bin/nodeunit.json rename to js/node_modules/nodeunit/bin/nodeunit.json diff --git a/node_modules/nodeunit/deps/async.js b/js/node_modules/nodeunit/deps/async.js similarity index 100% rename from node_modules/nodeunit/deps/async.js rename to js/node_modules/nodeunit/deps/async.js diff --git a/node_modules/nodeunit/deps/json2.js b/js/node_modules/nodeunit/deps/json2.js similarity index 100% rename from node_modules/nodeunit/deps/json2.js rename to js/node_modules/nodeunit/deps/json2.js diff --git a/node_modules/nodeunit/doc/nodeunit.md b/js/node_modules/nodeunit/doc/nodeunit.md similarity index 100% rename from node_modules/nodeunit/doc/nodeunit.md rename to js/node_modules/nodeunit/doc/nodeunit.md diff --git a/node_modules/nodeunit/examples/browser/nodeunit.js b/js/node_modules/nodeunit/examples/browser/nodeunit.js similarity index 100% rename from node_modules/nodeunit/examples/browser/nodeunit.js rename to js/node_modules/nodeunit/examples/browser/nodeunit.js diff --git a/node_modules/nodeunit/examples/browser/suite1.js b/js/node_modules/nodeunit/examples/browser/suite1.js similarity index 100% rename from node_modules/nodeunit/examples/browser/suite1.js rename to js/node_modules/nodeunit/examples/browser/suite1.js diff --git a/node_modules/nodeunit/examples/browser/suite2.js b/js/node_modules/nodeunit/examples/browser/suite2.js similarity index 100% rename from node_modules/nodeunit/examples/browser/suite2.js rename to js/node_modules/nodeunit/examples/browser/suite2.js diff --git a/node_modules/nodeunit/examples/browser/suite3.js b/js/node_modules/nodeunit/examples/browser/suite3.js similarity index 100% rename from node_modules/nodeunit/examples/browser/suite3.js rename to js/node_modules/nodeunit/examples/browser/suite3.js diff --git a/node_modules/nodeunit/examples/browser/test.html b/js/node_modules/nodeunit/examples/browser/test.html similarity index 100% rename from node_modules/nodeunit/examples/browser/test.html rename to js/node_modules/nodeunit/examples/browser/test.html diff --git a/node_modules/nodeunit/examples/nested/nested_reporter_test.unit.js b/js/node_modules/nodeunit/examples/nested/nested_reporter_test.unit.js similarity index 100% rename from node_modules/nodeunit/examples/nested/nested_reporter_test.unit.js rename to js/node_modules/nodeunit/examples/nested/nested_reporter_test.unit.js diff --git a/node_modules/nodeunit/img/example_fail.png b/js/node_modules/nodeunit/img/example_fail.png similarity index 100% rename from node_modules/nodeunit/img/example_fail.png rename to js/node_modules/nodeunit/img/example_fail.png diff --git a/node_modules/nodeunit/img/example_machineout.png b/js/node_modules/nodeunit/img/example_machineout.png similarity index 100% rename from node_modules/nodeunit/img/example_machineout.png rename to js/node_modules/nodeunit/img/example_machineout.png diff --git a/node_modules/nodeunit/img/example_pass.png b/js/node_modules/nodeunit/img/example_pass.png similarity index 100% rename from node_modules/nodeunit/img/example_pass.png rename to js/node_modules/nodeunit/img/example_pass.png diff --git a/node_modules/nodeunit/index.js b/js/node_modules/nodeunit/index.js similarity index 100% rename from node_modules/nodeunit/index.js rename to js/node_modules/nodeunit/index.js diff --git a/node_modules/nodeunit/lib/assert.js b/js/node_modules/nodeunit/lib/assert.js similarity index 100% rename from node_modules/nodeunit/lib/assert.js rename to js/node_modules/nodeunit/lib/assert.js diff --git a/node_modules/nodeunit/lib/core.js b/js/node_modules/nodeunit/lib/core.js similarity index 100% rename from node_modules/nodeunit/lib/core.js rename to js/node_modules/nodeunit/lib/core.js diff --git a/node_modules/nodeunit/lib/nodeunit.js b/js/node_modules/nodeunit/lib/nodeunit.js similarity index 100% rename from node_modules/nodeunit/lib/nodeunit.js rename to js/node_modules/nodeunit/lib/nodeunit.js diff --git a/node_modules/nodeunit/lib/reporters/browser.js b/js/node_modules/nodeunit/lib/reporters/browser.js similarity index 100% rename from node_modules/nodeunit/lib/reporters/browser.js rename to js/node_modules/nodeunit/lib/reporters/browser.js diff --git a/node_modules/nodeunit/lib/reporters/default.js b/js/node_modules/nodeunit/lib/reporters/default.js similarity index 100% rename from node_modules/nodeunit/lib/reporters/default.js rename to js/node_modules/nodeunit/lib/reporters/default.js diff --git a/node_modules/nodeunit/lib/reporters/eclipse.js b/js/node_modules/nodeunit/lib/reporters/eclipse.js similarity index 100% rename from node_modules/nodeunit/lib/reporters/eclipse.js rename to js/node_modules/nodeunit/lib/reporters/eclipse.js diff --git a/node_modules/nodeunit/lib/reporters/html.js b/js/node_modules/nodeunit/lib/reporters/html.js similarity index 100% rename from node_modules/nodeunit/lib/reporters/html.js rename to js/node_modules/nodeunit/lib/reporters/html.js diff --git a/node_modules/nodeunit/lib/reporters/index.js b/js/node_modules/nodeunit/lib/reporters/index.js similarity index 100% rename from node_modules/nodeunit/lib/reporters/index.js rename to js/node_modules/nodeunit/lib/reporters/index.js diff --git a/node_modules/nodeunit/lib/reporters/junit.js b/js/node_modules/nodeunit/lib/reporters/junit.js similarity index 100% rename from node_modules/nodeunit/lib/reporters/junit.js rename to js/node_modules/nodeunit/lib/reporters/junit.js diff --git a/node_modules/nodeunit/lib/reporters/lcov.js b/js/node_modules/nodeunit/lib/reporters/lcov.js similarity index 100% rename from node_modules/nodeunit/lib/reporters/lcov.js rename to js/node_modules/nodeunit/lib/reporters/lcov.js diff --git a/node_modules/nodeunit/lib/reporters/machineout.js b/js/node_modules/nodeunit/lib/reporters/machineout.js similarity index 100% rename from node_modules/nodeunit/lib/reporters/machineout.js rename to js/node_modules/nodeunit/lib/reporters/machineout.js diff --git a/node_modules/nodeunit/lib/reporters/minimal.js b/js/node_modules/nodeunit/lib/reporters/minimal.js similarity index 100% rename from node_modules/nodeunit/lib/reporters/minimal.js rename to js/node_modules/nodeunit/lib/reporters/minimal.js diff --git a/node_modules/nodeunit/lib/reporters/nested.js b/js/node_modules/nodeunit/lib/reporters/nested.js similarity index 100% rename from node_modules/nodeunit/lib/reporters/nested.js rename to js/node_modules/nodeunit/lib/reporters/nested.js diff --git a/node_modules/nodeunit/lib/reporters/skip_passed.js b/js/node_modules/nodeunit/lib/reporters/skip_passed.js similarity index 100% rename from node_modules/nodeunit/lib/reporters/skip_passed.js rename to js/node_modules/nodeunit/lib/reporters/skip_passed.js diff --git a/node_modules/nodeunit/lib/reporters/tap.js b/js/node_modules/nodeunit/lib/reporters/tap.js similarity index 100% rename from node_modules/nodeunit/lib/reporters/tap.js rename to js/node_modules/nodeunit/lib/reporters/tap.js diff --git a/node_modules/nodeunit/lib/reporters/verbose.js b/js/node_modules/nodeunit/lib/reporters/verbose.js similarity index 100% rename from node_modules/nodeunit/lib/reporters/verbose.js rename to js/node_modules/nodeunit/lib/reporters/verbose.js diff --git a/node_modules/nodeunit/lib/track.js b/js/node_modules/nodeunit/lib/track.js similarity index 100% rename from node_modules/nodeunit/lib/track.js rename to js/node_modules/nodeunit/lib/track.js diff --git a/node_modules/nodeunit/lib/types.js b/js/node_modules/nodeunit/lib/types.js similarity index 100% rename from node_modules/nodeunit/lib/types.js rename to js/node_modules/nodeunit/lib/types.js diff --git a/node_modules/nodeunit/lib/utils.js b/js/node_modules/nodeunit/lib/utils.js similarity index 100% rename from node_modules/nodeunit/lib/utils.js rename to js/node_modules/nodeunit/lib/utils.js diff --git a/node_modules/nodeunit/man1/nodeunit.1 b/js/node_modules/nodeunit/man1/nodeunit.1 similarity index 100% rename from node_modules/nodeunit/man1/nodeunit.1 rename to js/node_modules/nodeunit/man1/nodeunit.1 diff --git a/node_modules/nodeunit/nodelint.cfg b/js/node_modules/nodeunit/nodelint.cfg similarity index 100% rename from node_modules/nodeunit/nodelint.cfg rename to js/node_modules/nodeunit/nodelint.cfg diff --git a/node_modules/nodeunit/package.json b/js/node_modules/nodeunit/package.json similarity index 100% rename from node_modules/nodeunit/package.json rename to js/node_modules/nodeunit/package.json diff --git a/node_modules/nodeunit/share/junit.xml.ejs b/js/node_modules/nodeunit/share/junit.xml.ejs similarity index 100% rename from node_modules/nodeunit/share/junit.xml.ejs rename to js/node_modules/nodeunit/share/junit.xml.ejs diff --git a/node_modules/nodeunit/share/license.js b/js/node_modules/nodeunit/share/license.js similarity index 100% rename from node_modules/nodeunit/share/license.js rename to js/node_modules/nodeunit/share/license.js diff --git a/node_modules/nodeunit/share/nodeunit.css b/js/node_modules/nodeunit/share/nodeunit.css similarity index 100% rename from node_modules/nodeunit/share/nodeunit.css rename to js/node_modules/nodeunit/share/nodeunit.css diff --git a/node_modules/nodeunit/test/fixtures/coffee/mock_coffee_module.coffee b/js/node_modules/nodeunit/test/fixtures/coffee/mock_coffee_module.coffee similarity index 100% rename from node_modules/nodeunit/test/fixtures/coffee/mock_coffee_module.coffee rename to js/node_modules/nodeunit/test/fixtures/coffee/mock_coffee_module.coffee diff --git a/node_modules/nodeunit/test/fixtures/dir/example_test_sub.js b/js/node_modules/nodeunit/test/fixtures/dir/example_test_sub.js similarity index 100% rename from node_modules/nodeunit/test/fixtures/dir/example_test_sub.js rename to js/node_modules/nodeunit/test/fixtures/dir/example_test_sub.js diff --git a/node_modules/nodeunit/test/fixtures/dir/mock_module3.js b/js/node_modules/nodeunit/test/fixtures/dir/mock_module3.js similarity index 100% rename from node_modules/nodeunit/test/fixtures/dir/mock_module3.js rename to js/node_modules/nodeunit/test/fixtures/dir/mock_module3.js diff --git a/node_modules/nodeunit/test/fixtures/dir/mock_module4.js b/js/node_modules/nodeunit/test/fixtures/dir/mock_module4.js similarity index 100% rename from node_modules/nodeunit/test/fixtures/dir/mock_module4.js rename to js/node_modules/nodeunit/test/fixtures/dir/mock_module4.js diff --git a/node_modules/nodeunit/test/fixtures/example_test.js b/js/node_modules/nodeunit/test/fixtures/example_test.js similarity index 100% rename from node_modules/nodeunit/test/fixtures/example_test.js rename to js/node_modules/nodeunit/test/fixtures/example_test.js diff --git a/node_modules/nodeunit/test/fixtures/mock_module1.js b/js/node_modules/nodeunit/test/fixtures/mock_module1.js similarity index 100% rename from node_modules/nodeunit/test/fixtures/mock_module1.js rename to js/node_modules/nodeunit/test/fixtures/mock_module1.js diff --git a/node_modules/nodeunit/test/fixtures/mock_module2.js b/js/node_modules/nodeunit/test/fixtures/mock_module2.js similarity index 100% rename from node_modules/nodeunit/test/fixtures/mock_module2.js rename to js/node_modules/nodeunit/test/fixtures/mock_module2.js diff --git a/node_modules/nodeunit/test/fixtures/raw_jscode1.js b/js/node_modules/nodeunit/test/fixtures/raw_jscode1.js similarity index 100% rename from node_modules/nodeunit/test/fixtures/raw_jscode1.js rename to js/node_modules/nodeunit/test/fixtures/raw_jscode1.js diff --git a/node_modules/nodeunit/test/fixtures/raw_jscode2.js b/js/node_modules/nodeunit/test/fixtures/raw_jscode2.js similarity index 100% rename from node_modules/nodeunit/test/fixtures/raw_jscode2.js rename to js/node_modules/nodeunit/test/fixtures/raw_jscode2.js diff --git a/node_modules/nodeunit/test/fixtures/raw_jscode3.js b/js/node_modules/nodeunit/test/fixtures/raw_jscode3.js similarity index 100% rename from node_modules/nodeunit/test/fixtures/raw_jscode3.js rename to js/node_modules/nodeunit/test/fixtures/raw_jscode3.js diff --git a/node_modules/nodeunit/test/test-base.js b/js/node_modules/nodeunit/test/test-base.js similarity index 100% rename from node_modules/nodeunit/test/test-base.js rename to js/node_modules/nodeunit/test/test-base.js diff --git a/node_modules/nodeunit/test/test-bettererrors.js b/js/node_modules/nodeunit/test/test-bettererrors.js similarity index 100% rename from node_modules/nodeunit/test/test-bettererrors.js rename to js/node_modules/nodeunit/test/test-bettererrors.js diff --git a/node_modules/nodeunit/test/test-cli.js b/js/node_modules/nodeunit/test/test-cli.js similarity index 100% rename from node_modules/nodeunit/test/test-cli.js rename to js/node_modules/nodeunit/test/test-cli.js diff --git a/node_modules/nodeunit/test/test-failing-callbacks.js b/js/node_modules/nodeunit/test/test-failing-callbacks.js similarity index 100% rename from node_modules/nodeunit/test/test-failing-callbacks.js rename to js/node_modules/nodeunit/test/test-failing-callbacks.js diff --git a/node_modules/nodeunit/test/test-httputil.js b/js/node_modules/nodeunit/test/test-httputil.js similarity index 100% rename from node_modules/nodeunit/test/test-httputil.js rename to js/node_modules/nodeunit/test/test-httputil.js diff --git a/node_modules/nodeunit/test/test-runfiles.js b/js/node_modules/nodeunit/test/test-runfiles.js similarity index 100% rename from node_modules/nodeunit/test/test-runfiles.js rename to js/node_modules/nodeunit/test/test-runfiles.js diff --git a/node_modules/nodeunit/test/test-runmodule.js b/js/node_modules/nodeunit/test/test-runmodule.js similarity index 100% rename from node_modules/nodeunit/test/test-runmodule.js rename to js/node_modules/nodeunit/test/test-runmodule.js diff --git a/node_modules/nodeunit/test/test-runtest.js b/js/node_modules/nodeunit/test/test-runtest.js similarity index 100% rename from node_modules/nodeunit/test/test-runtest.js rename to js/node_modules/nodeunit/test/test-runtest.js diff --git a/node_modules/nodeunit/test/test-sandbox.js b/js/node_modules/nodeunit/test/test-sandbox.js similarity index 100% rename from node_modules/nodeunit/test/test-sandbox.js rename to js/node_modules/nodeunit/test/test-sandbox.js diff --git a/node_modules/nodeunit/test/test-testcase-legacy.js b/js/node_modules/nodeunit/test/test-testcase-legacy.js similarity index 100% rename from node_modules/nodeunit/test/test-testcase-legacy.js rename to js/node_modules/nodeunit/test/test-testcase-legacy.js diff --git a/node_modules/nodeunit/test/test-testcase.js b/js/node_modules/nodeunit/test/test-testcase.js similarity index 100% rename from node_modules/nodeunit/test/test-testcase.js rename to js/node_modules/nodeunit/test/test-testcase.js diff --git a/node_modules/nodeunit/test/test.html b/js/node_modules/nodeunit/test/test.html similarity index 100% rename from node_modules/nodeunit/test/test.html rename to js/node_modules/nodeunit/test/test.html diff --git a/js/runWebpack.sh b/js/runWebpack.sh new file mode 100755 index 0000000000..e7924dd6db --- /dev/null +++ b/js/runWebpack.sh @@ -0,0 +1,60 @@ +#!/bin/sh + +echo "*** Running Webpack for iLib build ***" + +argsCount=$# +fileName=$0 +assembly=$1 +size=$2 +sizecompilation=$3 +target=$4 +localeOption=$5 + +case "$localeOption" in + "locales_default") + echo "locales_default" + locales="en-AU,en-CA,en-GB,en-IN,en-NG,en-PH,en-PK,en-SG,en-US,en-ZA,de-DE,fr-CA,fr-FR,es-AR,es-ES,es-MX,id-ID,it-IT,ja-JP,ko-KR,pt-BR,ru-RU,tr-TR,vi-VN,zxx-XX,zh-Hans-CN,zh-Hant-HK,zh-Hant-TW,zh-Hans-SG" + ;; + "locales_unittest") + echo "locale_unittest" + locales="aa-DJ,af-NA,agq-CM,ak-GH,am-ET,ar-AE,ar-BH,ar-DJ,ar-DZ,ar-EG,ar-IQ,ar-JO,ar-KW,ar-LB,ar-LY,ar-MA,ar-MR,ar-OM,ar-QA,ar-SA,ar-SD,ar-SY,ar-TN,ar-YE,asa-TZ,as-IN,az-Latn-AZ,bas-CM,be-BY,bem-ZM,bg-BG,bh-IN,bm-ML,bn-IN,br-FR,bs-BS,bs-Cyrl-BA,bs-Latn-BA,bs-ME,ca-FR,cop-EG,cs-CZ,da-DK,de-AT,de-DE,el-GR,en-AM,en-AU,en-CA,en-ET,en-GB,en-GH,en-GM,en-HK,en-IE,en-IN,en-IS,en-KE,en-LK,en-LR,en-MW,en-MY,en-NG,en-NZ,en-PA,en-PH,en-PK,en-PR,en-RW,en-SD,en-SG,en-SL,en-TZ,en-UG,en-US,en-ZA,en-ZM,es-AR,es-BO,es-CL,es-CO,es-CR,es-DO,es-EC,es-ES,es-GQ,es-GT,es-HN,es-MX,es-NI,es-PA,es-PE,es-PR,es-PY,es-SV,es-UY,es-VE,et-EE,fa-AF,fa-IR,ff-SN,fi-FI,fj-FJ,fo-FO,fr-AD,fr-BE,fr-BF,fr-BJ,fr-CA,fr-CD,fr-CF,fr-CG,fr-CH,fr-CI,fr-CM,fr-DJ,fr-DZ,fr-FR,fr-GA,fr-GN,fr-LB,fr-LU,fr-MG,fr-ML,fr-RW,fr-SN,fr-TG,fr-YT,ga-IE,gl-ES,gu-IN,ha-Latn-NG,he-IL,hi-IN,hr-HR,hr-ME,hu-HU,hy-AZ,hy-AM,id-ID,id-MY,it-CH,it-IT,it-SM,ja-JP,ka-IR,kk-Cyrl-KZ,km-KH,kn-IN,ko-KR,ks-Arab-IN,ku-Arab-IQ,ku-Arab-IR,ku-IR,lg-UG,ln-CF,lt-LT,lv-LV,fr-Latn-MA,mi-CK,mk-MK,ml-IN,mm-MM,mn-CN,mn-Cyrl-MN,mr-IN,ms-BN,ms-MY,ne-NP,nl-BE,nl-NL,nb-NO,nn-NO,no-NO,no-SJ,om-ET,or-IN,os-RU,pa-Arab,pa-IN,pa-Arab-PK,pl-PL,ps-AF,pt-AO,pt-BR,pt-CV,pt-GW,pt-GQ,pt-MO,pt-MZ,pt-PT,pt-ST,pt-TL,ro-RO,ro-RS,ru-GE,ru-KG,ru-KZ,ru-RU,ru-TM,shi-Tfng-MA,si-LK,sk-SK,sl-SI,sl-SL,so-ET,so-SO,sq-AL,sq-ME,sq-MK,sr-Cyrl-BA,sr-Latn-BA,sr-Latn-RS,sr-Latn-ME,sr-RS,sr-Latn-RS,ss-ZA,st-LS,sv-FI,sv-SE,sw-KE,sw-UG,ta-IN,ta-LK,ta-MY,ta-SG,te-IN,th-TH,tr-TR,uk-UA,ur-IN,ur-PK,uz-AF,uz-Arab-AF,uz-Cyrl-UZ,uz-Latn-UZ,uz-UZ,vai-Latn-LR,vi-VN,zh-Hans-CN,zh-Hant-HK,zh-Hans-HK,zh-Hans-MY,zh-Hant-TW,zh-Hans-MO,zh-Hant-MO,zh-Hans-SG,zh-Hant-US,zu-ZA,zxx-Cyrl-XX,zxx-Hans-XX,zxx-Hebr-XX,zxx-XX" + ;; + "locales_demo") + echo "locale_demo" + locales="aa-DJ,af-NA,af-ZA,agq-CM,ak-GH,am-ET,ar-AE,ar-BH,ar-DJ,ar-DZ,ar-EG,ar-IQ,ar-JO,ar-KW,ar-LB,ar-LY,ar-MA,ar-MR,ar-OM,ar-QA,ar-SA,ar-SD,ar-SY,ar-TN,ar-YE,as-IN,asa-TZ,az-AZ,bas-CM,be-BY,bem-ZM,bg-BG,bh-IN,bm-ML,bn-IN,br-FR,bs-Cyrl-BA,bs-Latn-BA,bs-ME,ca-FR,cop-EG,cs-CZ,da-DK,de-AT,de-CH,de-DE,el-GR,en-AU,en-CA,en-ET,en-GB,en-GH,en-GM,en-HK,en-IE,en-IN,en-KE,en-LK,en-LR,en-MW,en-MY,en-NG,en-NZ,en-PH,en-PK,en-PR,en-RW,en-SG,en-SL,en-TZ,en-UG,en-US,en-ZA,en-ZM,es-AR,es-CO,es-CR,es-DO,es-EC,es-ES,es-GQ,es-GT,es-HN,es-MX,es-SV,es-UY,es-VE,et-EE,fa-AF,fa-IR,ff-SN,fi-FI,fj-FJ,fr-AD,fr-BE,fr-BF,fr-BJ,fr-CA,fr-CD,fr-CF,fr-CG,fr-CH,fr-CI,fr-CM,fr-DJ,fr-DZ,fr-FR,fr-GA,fr-GN,fr-LB,fr-LU,fr-MG,fr-ML,fr-RW,fr-SN,fr-TG,fr-YT,ga-IE,gl-ES,gu-IN,ha-Latn-NG,he-IL,hi-IN,hr-HR,hr-ME,hu-HU,hy-AM,hy-AZ,id-ID,id-MY,it-CH,it-IT,it-SM,ja-JP,ka-IR,kk-Cyrl-KZ,km-KH,kn-IN,ko-KR,ks-Arab-IN,ku-IR,lg-UG,ln-CF,lt-LT,lv-LV,mi-CK,mk-MK,ml-IN,mn-CN,mr-IN,ms-BN,ms-MY,nb-NO,ne-IN,nl-BE,nl-CW,nl-GF,nl-NL,nl-SR,no-BV,no-NO,no-SJ,om-ET,or-IN,os-RU,pa-Arab-PK,pl-PL,pt-AO,pt-BR,pt-CV,pt-GW,pt-MO,pt-MZ,pt-PT,pt-ST,pt-TL,ro-RO,ro-RS,ru-KG,ru-KZ,ru-RU,ru-TM,si-LK,sk-SK,sl-SI,so-ET,so-SO,sq-AL,sq-ME,sq-MK,sr-Cyrl-BA,sr-Latn-BA,sr-Latn-ME,sr-Latn-RS,sr-RS,ss-ZA,st-LS,sv-FI,sv-SE,sw-UG,ta-LK,ta-MY,ta-SG,te-IN,th-TH,tr-TR,uk-UA,ur-IN,ur-PK,uz-AF,uz-Arab-AF,uz-Cyrl-UZ,uz-Latn-UZ,vai-Latn-LR,vi-VN,zh-Hans-CN,zh-Hans-MO,zh-Hans-MY,zh-Hans-SG,zh-Hant-HK,zh-Hant-TW,zh-Hant-US,zu-ZA,zxx-Cyrl-XX,zxx-Hans-XX,zxx-Hebr-XX,zxx-XX" + ;; +esac + +cd js; + +run_webpack() +{ + if [ 4 -eq $argsCount ] + then + echo "argsCount:$argsCount" + echo "fileName:$fileName" + echo "assembly:$assembly" + echo "size:$size" + echo "sizecompilation:$sizecompilation" + echo "target:$target" + + webpack --env.assembly=$assembly --env.size=$size --env.compilation=$sizecompilation --env.target=$target + fi + if [ 5 -eq $argsCount ] + then + echo "argsCount:$argsCount" + echo "fileName:$fileName" + echo "assembly:$assembly" + echo "size:$size" + echo "sizecompilation:$sizecompilation" + echo "target:$target" + echo "localeOption:$localeOption" + echo "locales:$locales" + webpack --env.assembly=$assembly --env.size=$size --env.compilation=$sizecompilation --env.target=$target --env.locales=$locales + fi + +} + +run_webpack + +exit 0 diff --git a/js/test/address/nodeunit/testSuite.html b/js/test/address/testSuite.html similarity index 98% rename from js/test/address/nodeunit/testSuite.html rename to js/test/address/testSuite.html index 2c5c5e5480..7483f41bf2 100644 --- a/js/test/address/nodeunit/testSuite.html +++ b/js/test/address/testSuite.html @@ -1,7 +1,7 @@ diff --git a/js/test/strings-ext/testSuite.js b/js/test/strings-ext/testSuite.js new file mode 100644 index 0000000000..4910f1a14a --- /dev/null +++ b/js/test/strings-ext/testSuite.js @@ -0,0 +1,36 @@ +/* + * testSuite.js - test suite for this directory + * + * Copyright © 2017-2018, JEDLSoft + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +var nodeunit = require("nodeunit"); +var reporter = nodeunit.reporters.minimal; +var modules = {}; +var suites = require("./testSuiteFiles.js").files; + +var ilib = require("../../lib/ilib-node.js"); + +var ilib = require("../../lib/ilib-node.js"); + +suites.forEach(function (path) { + var test = require("./" + path); + for (var suite in test) { + modules[suite] = test[suite]; + } +}); + +reporter.run(modules); \ No newline at end of file diff --git a/js/test/strings-ext/nodeunit/testSuiteAsync.html b/js/test/strings-ext/testSuiteAsync.html similarity index 94% rename from js/test/strings-ext/nodeunit/testSuiteAsync.html rename to js/test/strings-ext/testSuiteAsync.html index ee74a80b5f..6a29a0d3b8 100644 --- a/js/test/strings-ext/nodeunit/testSuiteAsync.html +++ b/js/test/strings-ext/testSuiteAsync.html @@ -24,7 +24,7 @@ var module = {}; - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

strings-ext Test Suite

+ + + diff --git a/js/test/strings-ext/nodeunit/testSuiteFiles.js b/js/test/strings-ext/testSuiteFiles.js similarity index 100% rename from js/test/strings-ext/nodeunit/testSuiteFiles.js rename to js/test/strings-ext/testSuiteFiles.js diff --git a/js/test/strings-ext/nodeunit/testSuiteFilesAsync.js b/js/test/strings-ext/testSuiteFilesAsync.js similarity index 100% rename from js/test/strings-ext/nodeunit/testSuiteFilesAsync.js rename to js/test/strings-ext/testSuiteFilesAsync.js diff --git a/js/test/strings-ext/nodeunit/testglyphstr.js b/js/test/strings-ext/testglyphstr.js similarity index 99% rename from js/test/strings-ext/nodeunit/testglyphstr.js rename to js/test/strings-ext/testglyphstr.js index 71b34008bd..cad7015918 100644 --- a/js/test/strings-ext/nodeunit/testglyphstr.js +++ b/js/test/strings-ext/testglyphstr.js @@ -18,11 +18,11 @@ */ if (typeof(GlyphString) === "undefined") { - var GlyphString = require("../.././../lib/GlyphString.js"); + var GlyphString = require("../../lib/GlyphString.js"); } if (typeof(ilib) === "undefined") { - var ilib = require("../../../lib/ilib.js"); + var ilib = require("../../lib/ilib.js"); } module.exports.testglyphstr = { diff --git a/js/test/strings-ext/nodeunit/testglyphstrasync.js b/js/test/strings-ext/testglyphstrasync.js similarity index 97% rename from js/test/strings-ext/nodeunit/testglyphstrasync.js rename to js/test/strings-ext/testglyphstrasync.js index e66910004a..a423b20112 100644 --- a/js/test/strings-ext/nodeunit/testglyphstrasync.js +++ b/js/test/strings-ext/testglyphstrasync.js @@ -18,11 +18,11 @@ */ if (typeof(GlyphString) === "undefined") { - var GlyphString = require("../.././../lib/GlyphString.js"); + var GlyphString = require("../../lib/GlyphString.js"); } if (typeof(ilib) === "undefined") { - var ilib = require("../../../lib/ilib.js"); + var ilib = require("../../lib/ilib.js"); } module.exports.testglyphstrasync = { diff --git a/js/test/strings-ext/nodeunit/testlistfmt.js b/js/test/strings-ext/testlistfmt.js similarity index 99% rename from js/test/strings-ext/nodeunit/testlistfmt.js rename to js/test/strings-ext/testlistfmt.js index 38c7dd75ec..af5b2b5ec2 100644 --- a/js/test/strings-ext/nodeunit/testlistfmt.js +++ b/js/test/strings-ext/testlistfmt.js @@ -18,11 +18,11 @@ */ if (typeof(ListFmt) === "undefined") { - var ListFmt = require("../.././../lib/ListFmt.js"); + var ListFmt = require("../../lib/ListFmt.js"); } if (typeof(ilib) === "undefined") { - var ilib = require("../../../lib/ilib.js"); + var ilib = require("../../lib/ilib.js"); } module.exports.testlistfmt = { diff --git a/js/test/strings-ext/nodeunit/testlistfmt_am_ET.js b/js/test/strings-ext/testlistfmt_am_ET.js similarity index 97% rename from js/test/strings-ext/nodeunit/testlistfmt_am_ET.js rename to js/test/strings-ext/testlistfmt_am_ET.js index 4fd95dbf28..7731a85491 100644 --- a/js/test/strings-ext/nodeunit/testlistfmt_am_ET.js +++ b/js/test/strings-ext/testlistfmt_am_ET.js @@ -18,11 +18,11 @@ */ if (typeof(ListFmt) === "undefined") { - var ListFmt = require("../.././../lib/ListFmt.js"); + var ListFmt = require("../../lib/ListFmt.js"); } if (typeof(ilib) === "undefined") { - var ilib = require("../../../lib/ilib.js"); + var ilib = require("../../lib/ilib.js"); } module.exports.testlistfmt_am_ET = { diff --git a/js/test/strings-ext/nodeunit/testlistfmt_ar.js b/js/test/strings-ext/testlistfmt_ar.js similarity index 99% rename from js/test/strings-ext/nodeunit/testlistfmt_ar.js rename to js/test/strings-ext/testlistfmt_ar.js index 3cd3fe94c2..7889073fa8 100644 --- a/js/test/strings-ext/nodeunit/testlistfmt_ar.js +++ b/js/test/strings-ext/testlistfmt_ar.js @@ -18,14 +18,14 @@ */ if (typeof(ListFmt) === "undefined") { - var ListFmt = require("../.././../lib/ListFmt.js"); + var ListFmt = require("../../lib/ListFmt.js"); } //// ar-EG if (typeof(ilib) === "undefined") { - var ilib = require("../../../lib/ilib.js"); + var ilib = require("../../lib/ilib.js"); } module.exports.testlistfmt_ar = { diff --git a/js/test/strings-ext/nodeunit/testlistfmt_bs.js b/js/test/strings-ext/testlistfmt_bs.js similarity index 98% rename from js/test/strings-ext/nodeunit/testlistfmt_bs.js rename to js/test/strings-ext/testlistfmt_bs.js index d410733177..36f0fea885 100644 --- a/js/test/strings-ext/nodeunit/testlistfmt_bs.js +++ b/js/test/strings-ext/testlistfmt_bs.js @@ -18,11 +18,11 @@ */ if (typeof(ListFmt) === "undefined") { - var ListFmt = require("../.././../lib/ListFmt.js"); + var ListFmt = require("../../lib/ListFmt.js"); } if (typeof(ilib) === "undefined") { - var ilib = require("../../../lib/ilib.js"); + var ilib = require("../../lib/ilib.js"); } module.exports.testlistfmt_bs = { diff --git a/js/test/strings-ext/nodeunit/testlistfmt_de.js b/js/test/strings-ext/testlistfmt_de.js similarity index 99% rename from js/test/strings-ext/nodeunit/testlistfmt_de.js rename to js/test/strings-ext/testlistfmt_de.js index dc26b7506c..a9369dbe08 100644 --- a/js/test/strings-ext/nodeunit/testlistfmt_de.js +++ b/js/test/strings-ext/testlistfmt_de.js @@ -18,12 +18,12 @@ */ if (typeof(ListFmt) === "undefined") { - var ListFmt = require("../.././../lib/ListFmt.js"); + var ListFmt = require("../../lib/ListFmt.js"); } //en-US if (typeof(ilib) === "undefined") { - var ilib = require("../../../lib/ilib.js"); + var ilib = require("../../lib/ilib.js"); } module.exports.testlistfmt_de = { diff --git a/js/test/strings-ext/nodeunit/testlistfmt_el.js b/js/test/strings-ext/testlistfmt_el.js similarity index 98% rename from js/test/strings-ext/nodeunit/testlistfmt_el.js rename to js/test/strings-ext/testlistfmt_el.js index 962fad291f..6767b9abb9 100644 --- a/js/test/strings-ext/nodeunit/testlistfmt_el.js +++ b/js/test/strings-ext/testlistfmt_el.js @@ -18,11 +18,11 @@ */ if (typeof(ListFmt) === "undefined") { - var ListFmt = require("../.././../lib/ListFmt.js"); + var ListFmt = require("../../lib/ListFmt.js"); } if (typeof(ilib) === "undefined") { - var ilib = require("../../../lib/ilib.js"); + var ilib = require("../../lib/ilib.js"); } module.exports.testlistfmt_el = { diff --git a/js/test/strings-ext/nodeunit/testlistfmt_en.js b/js/test/strings-ext/testlistfmt_en.js similarity index 99% rename from js/test/strings-ext/nodeunit/testlistfmt_en.js rename to js/test/strings-ext/testlistfmt_en.js index f2a7685b64..94e511f023 100644 --- a/js/test/strings-ext/nodeunit/testlistfmt_en.js +++ b/js/test/strings-ext/testlistfmt_en.js @@ -18,12 +18,12 @@ */ if (typeof(ListFmt) === "undefined") { - var ListFmt = require("../.././../lib/ListFmt.js"); + var ListFmt = require("../../lib/ListFmt.js"); } //en-US if (typeof(ilib) === "undefined") { - var ilib = require("../../../lib/ilib.js"); + var ilib = require("../../lib/ilib.js"); } module.exports.testlistfmt_en = { diff --git a/js/test/strings-ext/nodeunit/testlistfmt_es.js b/js/test/strings-ext/testlistfmt_es.js similarity index 99% rename from js/test/strings-ext/nodeunit/testlistfmt_es.js rename to js/test/strings-ext/testlistfmt_es.js index 9c3784828c..36a0f22e0e 100644 --- a/js/test/strings-ext/nodeunit/testlistfmt_es.js +++ b/js/test/strings-ext/testlistfmt_es.js @@ -18,13 +18,13 @@ */ if (typeof(ListFmt) === "undefined") { - var ListFmt = require("../.././../lib/ListFmt.js"); + var ListFmt = require("../../lib/ListFmt.js"); } // es-ES if (typeof(ilib) === "undefined") { - var ilib = require("../../../lib/ilib.js"); + var ilib = require("../../lib/ilib.js"); } module.exports.testlistfmt_es = { diff --git a/js/test/strings-ext/nodeunit/testlistfmt_fa.js b/js/test/strings-ext/testlistfmt_fa.js similarity index 99% rename from js/test/strings-ext/nodeunit/testlistfmt_fa.js rename to js/test/strings-ext/testlistfmt_fa.js index 34575404e2..b14d0786bc 100644 --- a/js/test/strings-ext/nodeunit/testlistfmt_fa.js +++ b/js/test/strings-ext/testlistfmt_fa.js @@ -18,11 +18,11 @@ */ if (typeof(ListFmt) === "undefined") { - var ListFmt = require("../.././../lib/ListFmt.js"); + var ListFmt = require("../../lib/ListFmt.js"); } if (typeof(ilib) === "undefined") { - var ilib = require("../../../lib/ilib.js"); + var ilib = require("../../lib/ilib.js"); } module.exports.testlistfmt_fa = { diff --git a/js/test/strings-ext/nodeunit/testlistfmt_fr.js b/js/test/strings-ext/testlistfmt_fr.js similarity index 99% rename from js/test/strings-ext/nodeunit/testlistfmt_fr.js rename to js/test/strings-ext/testlistfmt_fr.js index 55daf2fbdb..26513a4760 100644 --- a/js/test/strings-ext/nodeunit/testlistfmt_fr.js +++ b/js/test/strings-ext/testlistfmt_fr.js @@ -18,11 +18,11 @@ */ if (typeof(ListFmt) === "undefined") { - var ListFmt = require("../.././../lib/ListFmt.js"); + var ListFmt = require("../../lib/ListFmt.js"); } if (typeof(ilib) === "undefined") { - var ilib = require("../../../lib/ilib.js"); + var ilib = require("../../lib/ilib.js"); } module.exports.testlistfmt_fr = { diff --git a/js/test/strings-ext/nodeunit/testlistfmt_gu_IN.js b/js/test/strings-ext/testlistfmt_gu_IN.js similarity index 97% rename from js/test/strings-ext/nodeunit/testlistfmt_gu_IN.js rename to js/test/strings-ext/testlistfmt_gu_IN.js index ca174b0900..ddc7b281d1 100644 --- a/js/test/strings-ext/nodeunit/testlistfmt_gu_IN.js +++ b/js/test/strings-ext/testlistfmt_gu_IN.js @@ -18,11 +18,11 @@ */ if (typeof(ListFmt) === "undefined") { - var ListFmt = require("../.././../lib/ListFmt.js"); + var ListFmt = require("../../lib/ListFmt.js"); } if (typeof(ilib) === "undefined") { - var ilib = require("../../../lib/ilib.js"); + var ilib = require("../../lib/ilib.js"); } module.exports.testlistfmt_gu_IN = { diff --git a/js/test/strings-ext/nodeunit/testlistfmt_he_IL.js b/js/test/strings-ext/testlistfmt_he_IL.js similarity index 98% rename from js/test/strings-ext/nodeunit/testlistfmt_he_IL.js rename to js/test/strings-ext/testlistfmt_he_IL.js index 18942bb18f..1c8392163d 100644 --- a/js/test/strings-ext/nodeunit/testlistfmt_he_IL.js +++ b/js/test/strings-ext/testlistfmt_he_IL.js @@ -18,11 +18,11 @@ */ if (typeof(ListFmt) === "undefined") { - var ListFmt = require("../.././../lib/ListFmt.js"); + var ListFmt = require("../../lib/ListFmt.js"); } if (typeof(ilib) === "undefined") { - var ilib = require("../../../lib/ilib.js"); + var ilib = require("../../lib/ilib.js"); } module.exports.testlistfmt_he_IL = { diff --git a/js/test/strings-ext/nodeunit/testlistfmt_hi_IN.js b/js/test/strings-ext/testlistfmt_hi_IN.js similarity index 98% rename from js/test/strings-ext/nodeunit/testlistfmt_hi_IN.js rename to js/test/strings-ext/testlistfmt_hi_IN.js index 1312860802..6743943926 100644 --- a/js/test/strings-ext/nodeunit/testlistfmt_hi_IN.js +++ b/js/test/strings-ext/testlistfmt_hi_IN.js @@ -18,11 +18,11 @@ */ if (typeof(ListFmt) === "undefined") { - var ListFmt = require("../.././../lib/ListFmt.js"); + var ListFmt = require("../../lib/ListFmt.js"); } if (typeof(ilib) === "undefined") { - var ilib = require("../../../lib/ilib.js"); + var ilib = require("../../lib/ilib.js"); } module.exports.testlistfmt_hi_IN = { diff --git a/js/test/strings-ext/nodeunit/testlistfmt_hr.js b/js/test/strings-ext/testlistfmt_hr.js similarity index 98% rename from js/test/strings-ext/nodeunit/testlistfmt_hr.js rename to js/test/strings-ext/testlistfmt_hr.js index eccd39959c..24a35ca7f6 100644 --- a/js/test/strings-ext/nodeunit/testlistfmt_hr.js +++ b/js/test/strings-ext/testlistfmt_hr.js @@ -18,11 +18,11 @@ */ if (typeof(ListFmt) === "undefined") { - var ListFmt = require("../.././../lib/ListFmt.js"); + var ListFmt = require("../../lib/ListFmt.js"); } if (typeof(ilib) === "undefined") { - var ilib = require("../../../lib/ilib.js"); + var ilib = require("../../lib/ilib.js"); } module.exports.testlistfmt_hr = { diff --git a/js/test/strings-ext/nodeunit/testlistfmt_it.js b/js/test/strings-ext/testlistfmt_it.js similarity index 99% rename from js/test/strings-ext/nodeunit/testlistfmt_it.js rename to js/test/strings-ext/testlistfmt_it.js index d51404d623..53b4c4543f 100644 --- a/js/test/strings-ext/nodeunit/testlistfmt_it.js +++ b/js/test/strings-ext/testlistfmt_it.js @@ -18,11 +18,11 @@ */ if (typeof(ListFmt) === "undefined") { - var ListFmt = require("../.././../lib/ListFmt.js"); + var ListFmt = require("../../lib/ListFmt.js"); } if (typeof(ilib) === "undefined") { - var ilib = require("../../../lib/ilib.js"); + var ilib = require("../../lib/ilib.js"); } module.exports.testlistfmt_it = { diff --git a/js/test/strings-ext/nodeunit/testlistfmt_ja_JP.js b/js/test/strings-ext/testlistfmt_ja_JP.js similarity index 98% rename from js/test/strings-ext/nodeunit/testlistfmt_ja_JP.js rename to js/test/strings-ext/testlistfmt_ja_JP.js index 9da4f5bc5c..df3365d755 100644 --- a/js/test/strings-ext/nodeunit/testlistfmt_ja_JP.js +++ b/js/test/strings-ext/testlistfmt_ja_JP.js @@ -18,11 +18,11 @@ */ if (typeof(ListFmt) === "undefined") { - var ListFmt = require("../.././../lib/ListFmt.js"); + var ListFmt = require("../../lib/ListFmt.js"); } if (typeof(ilib) === "undefined") { - var ilib = require("../../../lib/ilib.js"); + var ilib = require("../../lib/ilib.js"); } module.exports.testlistfmt_ja_JP = { diff --git a/js/test/strings-ext/nodeunit/testlistfmt_kn_IN.js b/js/test/strings-ext/testlistfmt_kn_IN.js similarity index 98% rename from js/test/strings-ext/nodeunit/testlistfmt_kn_IN.js rename to js/test/strings-ext/testlistfmt_kn_IN.js index d03b8e2dcd..fdc141c8d8 100644 --- a/js/test/strings-ext/nodeunit/testlistfmt_kn_IN.js +++ b/js/test/strings-ext/testlistfmt_kn_IN.js @@ -18,11 +18,11 @@ */ if (typeof(ListFmt) === "undefined") { - var ListFmt = require("../.././../lib/ListFmt.js"); + var ListFmt = require("../../lib/ListFmt.js"); } if (typeof(ilib) === "undefined") { - var ilib = require("../../../lib/ilib.js"); + var ilib = require("../../lib/ilib.js"); } module.exports.testlistfmt_kn_IN = { diff --git a/js/test/strings-ext/nodeunit/testlistfmt_ml_IN.js b/js/test/strings-ext/testlistfmt_ml_IN.js similarity index 98% rename from js/test/strings-ext/nodeunit/testlistfmt_ml_IN.js rename to js/test/strings-ext/testlistfmt_ml_IN.js index 9cc6c9c9f1..ec0b3000ed 100644 --- a/js/test/strings-ext/nodeunit/testlistfmt_ml_IN.js +++ b/js/test/strings-ext/testlistfmt_ml_IN.js @@ -18,11 +18,11 @@ */ if (typeof(ListFmt) === "undefined") { - var ListFmt = require("../.././../lib/ListFmt.js"); + var ListFmt = require("../../lib/ListFmt.js"); } if (typeof(ilib) === "undefined") { - var ilib = require("../../../lib/ilib.js"); + var ilib = require("../../lib/ilib.js"); } module.exports.testlistfmt_ml_IN = { diff --git a/js/test/strings-ext/nodeunit/testlistfmt_mr_IN.js b/js/test/strings-ext/testlistfmt_mr_IN.js similarity index 97% rename from js/test/strings-ext/nodeunit/testlistfmt_mr_IN.js rename to js/test/strings-ext/testlistfmt_mr_IN.js index 3765fbc221..a9a00ae6c4 100644 --- a/js/test/strings-ext/nodeunit/testlistfmt_mr_IN.js +++ b/js/test/strings-ext/testlistfmt_mr_IN.js @@ -18,11 +18,11 @@ */ if (typeof(ListFmt) === "undefined") { - var ListFmt = require("../.././../lib/ListFmt.js"); + var ListFmt = require("../../lib/ListFmt.js"); } if (typeof(ilib) === "undefined") { - var ilib = require("../../../lib/ilib.js"); + var ilib = require("../../lib/ilib.js"); } module.exports.testlistfmt_mr_IN = { diff --git a/js/test/strings-ext/nodeunit/testlistfmt_ms.js b/js/test/strings-ext/testlistfmt_ms.js similarity index 98% rename from js/test/strings-ext/nodeunit/testlistfmt_ms.js rename to js/test/strings-ext/testlistfmt_ms.js index f8d22b8512..866ba96fb9 100644 --- a/js/test/strings-ext/nodeunit/testlistfmt_ms.js +++ b/js/test/strings-ext/testlistfmt_ms.js @@ -18,11 +18,11 @@ */ if (typeof(ListFmt) === "undefined") { - var ListFmt = require("../.././../lib/ListFmt.js"); + var ListFmt = require("../../lib/ListFmt.js"); } if (typeof(ilib) === "undefined") { - var ilib = require("../../../lib/ilib.js"); + var ilib = require("../../lib/ilib.js"); } module.exports.testlistfmt_ms = { diff --git a/js/test/strings-ext/nodeunit/testlistfmt_nb_NO.js b/js/test/strings-ext/testlistfmt_nb_NO.js similarity index 98% rename from js/test/strings-ext/nodeunit/testlistfmt_nb_NO.js rename to js/test/strings-ext/testlistfmt_nb_NO.js index 6a2c69b1ce..518108b2a3 100644 --- a/js/test/strings-ext/nodeunit/testlistfmt_nb_NO.js +++ b/js/test/strings-ext/testlistfmt_nb_NO.js @@ -18,11 +18,11 @@ */ if (typeof(ListFmt) === "undefined") { - var ListFmt = require("../.././../lib/ListFmt.js"); + var ListFmt = require("../../lib/ListFmt.js"); } if (typeof(ilib) === "undefined") { - var ilib = require("../../../lib/ilib.js"); + var ilib = require("../../lib/ilib.js"); } module.exports.testlistfmt_nb_NO = { diff --git a/js/test/strings-ext/nodeunit/testlistfmt_nl.js b/js/test/strings-ext/testlistfmt_nl.js similarity index 98% rename from js/test/strings-ext/nodeunit/testlistfmt_nl.js rename to js/test/strings-ext/testlistfmt_nl.js index 6531990b1e..a4737a8416 100644 --- a/js/test/strings-ext/nodeunit/testlistfmt_nl.js +++ b/js/test/strings-ext/testlistfmt_nl.js @@ -18,11 +18,11 @@ */ if (typeof(ListFmt) === "undefined") { - var ListFmt = require("../.././../lib/ListFmt.js"); + var ListFmt = require("../../lib/ListFmt.js"); } if (typeof(ilib) === "undefined") { - var ilib = require("../../../lib/ilib.js"); + var ilib = require("../../lib/ilib.js"); } module.exports.testlistfmt_nl = { diff --git a/js/test/strings-ext/nodeunit/testlistfmt_pa.js b/js/test/strings-ext/testlistfmt_pa.js similarity index 98% rename from js/test/strings-ext/nodeunit/testlistfmt_pa.js rename to js/test/strings-ext/testlistfmt_pa.js index 41e3f1c51e..823caf4844 100644 --- a/js/test/strings-ext/nodeunit/testlistfmt_pa.js +++ b/js/test/strings-ext/testlistfmt_pa.js @@ -18,11 +18,11 @@ */ if (typeof(ListFmt) === "undefined") { - var ListFmt = require("../.././../lib/ListFmt.js"); + var ListFmt = require("../../lib/ListFmt.js"); } if (typeof(ilib) === "undefined") { - var ilib = require("../../../lib/ilib.js"); + var ilib = require("../../lib/ilib.js"); } module.exports.testlistfmt_pa = { diff --git a/js/test/strings-ext/nodeunit/testlistfmt_pt.js b/js/test/strings-ext/testlistfmt_pt.js similarity index 98% rename from js/test/strings-ext/nodeunit/testlistfmt_pt.js rename to js/test/strings-ext/testlistfmt_pt.js index de6ff06299..fca1bedc50 100644 --- a/js/test/strings-ext/nodeunit/testlistfmt_pt.js +++ b/js/test/strings-ext/testlistfmt_pt.js @@ -18,11 +18,11 @@ */ if (typeof(ListFmt) === "undefined") { - var ListFmt = require("../.././../lib/ListFmt.js"); + var ListFmt = require("../../lib/ListFmt.js"); } if (typeof(ilib) === "undefined") { - var ilib = require("../../../lib/ilib.js"); + var ilib = require("../../lib/ilib.js"); } module.exports.testlistfmt_pt = { diff --git a/js/test/strings-ext/nodeunit/testlistfmt_ru.js b/js/test/strings-ext/testlistfmt_ru.js similarity index 99% rename from js/test/strings-ext/nodeunit/testlistfmt_ru.js rename to js/test/strings-ext/testlistfmt_ru.js index ce93b0c44b..8e4617dd32 100644 --- a/js/test/strings-ext/nodeunit/testlistfmt_ru.js +++ b/js/test/strings-ext/testlistfmt_ru.js @@ -18,11 +18,11 @@ */ if (typeof(ListFmt) === "undefined") { - var ListFmt = require("../.././../lib/ListFmt.js"); + var ListFmt = require("../../lib/ListFmt.js"); } if (typeof(ilib) === "undefined") { - var ilib = require("../../../lib/ilib.js"); + var ilib = require("../../lib/ilib.js"); } module.exports.testlistfmt_ru = { diff --git a/js/test/strings-ext/nodeunit/testlistfmt_si_LK.js b/js/test/strings-ext/testlistfmt_si_LK.js similarity index 97% rename from js/test/strings-ext/nodeunit/testlistfmt_si_LK.js rename to js/test/strings-ext/testlistfmt_si_LK.js index 4882e6860a..017530d8a4 100644 --- a/js/test/strings-ext/nodeunit/testlistfmt_si_LK.js +++ b/js/test/strings-ext/testlistfmt_si_LK.js @@ -18,11 +18,11 @@ */ if (typeof(ListFmt) === "undefined") { - var ListFmt = require("../.././../lib/ListFmt.js"); + var ListFmt = require("../../lib/ListFmt.js"); } if (typeof(ilib) === "undefined") { - var ilib = require("../../../lib/ilib.js"); + var ilib = require("../../lib/ilib.js"); } module.exports.testlistfmt_si_LK = { diff --git a/js/test/strings-ext/nodeunit/testlistfmt_sq.js b/js/test/strings-ext/testlistfmt_sq.js similarity index 97% rename from js/test/strings-ext/nodeunit/testlistfmt_sq.js rename to js/test/strings-ext/testlistfmt_sq.js index c3b7e0dd9d..8560899c00 100644 --- a/js/test/strings-ext/nodeunit/testlistfmt_sq.js +++ b/js/test/strings-ext/testlistfmt_sq.js @@ -18,11 +18,11 @@ */ if (typeof(ListFmt) === "undefined") { - var ListFmt = require("../.././../lib/ListFmt.js"); + var ListFmt = require("../../lib/ListFmt.js"); } if (typeof(ilib) === "undefined") { - var ilib = require("../../../lib/ilib.js"); + var ilib = require("../../lib/ilib.js"); } module.exports.testlistfmt_sq = { diff --git a/js/test/strings-ext/nodeunit/testlistfmt_sr.js b/js/test/strings-ext/testlistfmt_sr.js similarity index 98% rename from js/test/strings-ext/nodeunit/testlistfmt_sr.js rename to js/test/strings-ext/testlistfmt_sr.js index 231e454adf..d0ee27342d 100644 --- a/js/test/strings-ext/nodeunit/testlistfmt_sr.js +++ b/js/test/strings-ext/testlistfmt_sr.js @@ -18,11 +18,11 @@ */ if (typeof(ListFmt) === "undefined") { - var ListFmt = require("../.././../lib/ListFmt.js"); + var ListFmt = require("../../lib/ListFmt.js"); } if (typeof(ilib) === "undefined") { - var ilib = require("../../../lib/ilib.js"); + var ilib = require("../../lib/ilib.js"); } module.exports.testlistfmt_sr = { diff --git a/js/test/strings-ext/nodeunit/testlistfmt_sv.js b/js/test/strings-ext/testlistfmt_sv.js similarity index 98% rename from js/test/strings-ext/nodeunit/testlistfmt_sv.js rename to js/test/strings-ext/testlistfmt_sv.js index f1b94da5a3..dffddc9eb1 100644 --- a/js/test/strings-ext/nodeunit/testlistfmt_sv.js +++ b/js/test/strings-ext/testlistfmt_sv.js @@ -18,11 +18,11 @@ */ if (typeof(ListFmt) === "undefined") { - var ListFmt = require("../.././../lib/ListFmt.js"); + var ListFmt = require("../../lib/ListFmt.js"); } if (typeof(ilib) === "undefined") { - var ilib = require("../../../lib/ilib.js"); + var ilib = require("../../lib/ilib.js"); } module.exports.testlistfmt_bs = { diff --git a/js/test/strings-ext/nodeunit/testlistfmt_ta_IN.js b/js/test/strings-ext/testlistfmt_ta_IN.js similarity index 98% rename from js/test/strings-ext/nodeunit/testlistfmt_ta_IN.js rename to js/test/strings-ext/testlistfmt_ta_IN.js index 4985a5c9de..bb2e9452e8 100644 --- a/js/test/strings-ext/nodeunit/testlistfmt_ta_IN.js +++ b/js/test/strings-ext/testlistfmt_ta_IN.js @@ -18,11 +18,11 @@ */ if (typeof(ListFmt) === "undefined") { - var ListFmt = require("../.././../lib/ListFmt.js"); + var ListFmt = require("../../lib/ListFmt.js"); } if (typeof(ilib) === "undefined") { - var ilib = require("../../../lib/ilib.js"); + var ilib = require("../../lib/ilib.js"); } module.exports.testlistfmt_ta_IN = { diff --git a/js/test/strings-ext/nodeunit/testlistfmt_te_IN.js b/js/test/strings-ext/testlistfmt_te_IN.js similarity index 97% rename from js/test/strings-ext/nodeunit/testlistfmt_te_IN.js rename to js/test/strings-ext/testlistfmt_te_IN.js index 2b2dde5527..ef4601c6d0 100644 --- a/js/test/strings-ext/nodeunit/testlistfmt_te_IN.js +++ b/js/test/strings-ext/testlistfmt_te_IN.js @@ -18,11 +18,11 @@ */ if (typeof(ListFmt) === "undefined") { - var ListFmt = require("../.././../lib/ListFmt.js"); + var ListFmt = require("../../lib/ListFmt.js"); } if (typeof(ilib) === "undefined") { - var ilib = require("../../../lib/ilib.js"); + var ilib = require("../../lib/ilib.js"); } module.exports.testlistfmt_te_IN = { diff --git a/js/test/strings-ext/nodeunit/testlistfmt_th_TH.js b/js/test/strings-ext/testlistfmt_th_TH.js similarity index 98% rename from js/test/strings-ext/nodeunit/testlistfmt_th_TH.js rename to js/test/strings-ext/testlistfmt_th_TH.js index 7b4df1ab08..facae3cdd7 100644 --- a/js/test/strings-ext/nodeunit/testlistfmt_th_TH.js +++ b/js/test/strings-ext/testlistfmt_th_TH.js @@ -18,11 +18,11 @@ */ if (typeof(ListFmt) === "undefined") { - var ListFmt = require("../.././../lib/ListFmt.js"); + var ListFmt = require("../../lib/ListFmt.js"); } if (typeof(ilib) === "undefined") { - var ilib = require("../../../lib/ilib.js"); + var ilib = require("../../lib/ilib.js"); } module.exports.testlistfmt_th_TH = { diff --git a/js/test/strings-ext/nodeunit/testlistfmt_tr.js b/js/test/strings-ext/testlistfmt_tr.js similarity index 99% rename from js/test/strings-ext/nodeunit/testlistfmt_tr.js rename to js/test/strings-ext/testlistfmt_tr.js index 2c8047ef30..53ea380ef7 100644 --- a/js/test/strings-ext/nodeunit/testlistfmt_tr.js +++ b/js/test/strings-ext/testlistfmt_tr.js @@ -18,11 +18,11 @@ */ if (typeof(ListFmt) === "undefined") { - var ListFmt = require("../.././../lib/ListFmt.js"); + var ListFmt = require("../../lib/ListFmt.js"); } if (typeof(ilib) === "undefined") { - var ilib = require("../../../lib/ilib.js"); + var ilib = require("../../lib/ilib.js"); } module.exports.testlistfmt_tr = { diff --git a/js/test/strings-ext/nodeunit/testlistfmt_uk_UA.js b/js/test/strings-ext/testlistfmt_uk_UA.js similarity index 97% rename from js/test/strings-ext/nodeunit/testlistfmt_uk_UA.js rename to js/test/strings-ext/testlistfmt_uk_UA.js index 007f2de5b0..8479046663 100644 --- a/js/test/strings-ext/nodeunit/testlistfmt_uk_UA.js +++ b/js/test/strings-ext/testlistfmt_uk_UA.js @@ -18,11 +18,11 @@ */ if (typeof(ListFmt) === "undefined") { - var ListFmt = require("../.././../lib/ListFmt.js"); + var ListFmt = require("../../lib/ListFmt.js"); } if (typeof(ilib) === "undefined") { - var ilib = require("../../../lib/ilib.js"); + var ilib = require("../../lib/ilib.js"); } module.exports.testlistfmt_uk_UA = { diff --git a/js/test/strings-ext/nodeunit/testlistfmt_ur.js b/js/test/strings-ext/testlistfmt_ur.js similarity index 98% rename from js/test/strings-ext/nodeunit/testlistfmt_ur.js rename to js/test/strings-ext/testlistfmt_ur.js index c9cc9702ad..041f1d0cda 100644 --- a/js/test/strings-ext/nodeunit/testlistfmt_ur.js +++ b/js/test/strings-ext/testlistfmt_ur.js @@ -18,11 +18,11 @@ */ if (typeof(ListFmt) === "undefined") { - var ListFmt = require("../.././../lib/ListFmt.js"); + var ListFmt = require("../../lib/ListFmt.js"); } if (typeof(ilib) === "undefined") { - var ilib = require("../../../lib/ilib.js"); + var ilib = require("../../lib/ilib.js"); } module.exports.testlistfmt_ur = { diff --git a/js/test/strings-ext/nodeunit/testlistfmt_zh.js b/js/test/strings-ext/testlistfmt_zh.js similarity index 99% rename from js/test/strings-ext/nodeunit/testlistfmt_zh.js rename to js/test/strings-ext/testlistfmt_zh.js index 54f3fe6144..e895078061 100644 --- a/js/test/strings-ext/nodeunit/testlistfmt_zh.js +++ b/js/test/strings-ext/testlistfmt_zh.js @@ -18,12 +18,12 @@ */ if (typeof(ListFmt) === "undefined") { - var ListFmt = require("../.././../lib/ListFmt.js"); + var ListFmt = require("../../lib/ListFmt.js"); } // zh-Hans-CN if (typeof(ilib) === "undefined") { - var ilib = require("../../../lib/ilib.js"); + var ilib = require("../../lib/ilib.js"); } module.exports.testlistfmt_zh = { diff --git a/js/test/strings-ext/nodeunit/testlistfmtasync.js b/js/test/strings-ext/testlistfmtasync.js similarity index 95% rename from js/test/strings-ext/nodeunit/testlistfmtasync.js rename to js/test/strings-ext/testlistfmtasync.js index 28e348860c..431b622649 100644 --- a/js/test/strings-ext/nodeunit/testlistfmtasync.js +++ b/js/test/strings-ext/testlistfmtasync.js @@ -18,11 +18,11 @@ */ if (typeof(ListFmt) === "undefined") { - var ListFmt = require("../.././../lib/ListFmt.js"); + var ListFmt = require("../../lib/ListFmt.js"); } if (typeof(ilib) === "undefined") { - var ilib = require("../../../lib/ilib.js"); + var ilib = require("../../lib/ilib.js"); } module.exports.testlistfmtasync = { diff --git a/js/test/strings-ext/nodeunit/testnorm.js b/js/test/strings-ext/testnorm.js similarity index 96% rename from js/test/strings-ext/nodeunit/testnorm.js rename to js/test/strings-ext/testnorm.js index d0ccdba6d1..8c5be805c0 100644 --- a/js/test/strings-ext/nodeunit/testnorm.js +++ b/js/test/strings-ext/testnorm.js @@ -18,13 +18,13 @@ */ if (typeof(ilib) === "undefined") { - var ilib = require("../../../lib/ilib.js"); + var ilib = require("../../lib/ilib.js"); } if (typeof(NormString) === "undefined") { - var NormString = require("../../../lib/NormString.js"); + var NormString = require("../../lib/NormString.js"); } if (typeof(normtests) === "undefined") { - var normtests = require("../../../test/strings-ext/nodeunit/normdata.js"); + var normtests = require("./normdata.js"); } if (ilib.isDynData()) { @@ -47,10 +47,6 @@ function toHexString(string) { return result.toUpperCase(); } -if (typeof(ilib) === "undefined") { - var ilib = require("../../../lib/ilib.js"); -} - module.exports.testnorm = { setUp: function(callback) { ilib.clearCache(); @@ -206,4 +202,4 @@ module.exports.testnorm = { test.done(); } -}; +}; \ No newline at end of file diff --git a/js/test/strings-ext/nodeunit/testnormasync.js b/js/test/strings-ext/testnormasync.js similarity index 96% rename from js/test/strings-ext/nodeunit/testnormasync.js rename to js/test/strings-ext/testnormasync.js index e4246471c8..53c06faed4 100644 --- a/js/test/strings-ext/nodeunit/testnormasync.js +++ b/js/test/strings-ext/testnormasync.js @@ -18,10 +18,10 @@ */ if (typeof(ilib) === "undefined") { - var ilib = require("../../../lib/ilib.js"); + var ilib = require("../../lib/ilib.js"); } if (typeof(NormString) === "undefined") { - var NormString = require("../../../lib/NormString.js"); + var NormString = require("../../lib/NormString.js"); } function toHexString(string) { diff --git a/js/test/testRunner.js b/js/test/testRunner.js index 0d4ce9566c..a21a1a7411 100644 --- a/js/test/testRunner.js +++ b/js/test/testRunner.js @@ -25,7 +25,6 @@ var NodeLoader = require("../lib/NodeLoader.js"); var AsyncNodeLoader = require("../lib/AsyncNodeLoader.js"); var nodeunit = require("nodeunit"); -var reporter = nodeunit.reporters.minimal; var suiteDefinitions = { "core": [ @@ -72,6 +71,8 @@ var compilation = "uncompiled"; var size = "full"; var suite = suiteDefinitions.full; var sync = true; +var target = "node"; +var reporter; // Usage: testSuite.js [assembly_style [compilation_style [suite_name_or_collection [sync|async]]]] if (process.argv.length > 2) { @@ -85,9 +86,11 @@ if (process.argv.length > 2) { if (suiteDefinitions[size]) { console.log("Only running set " + size); suite = suiteDefinitions[size]; + reporter = nodeunit.reporters.minimal; } else if (suiteDefinitions.full.indexOf(size) > -1) { console.log("Only running suite " + size); suite = [size]; + reporter = nodeunit.reporters["default"]; } else { if (size !== "all") { console.log("Suite " + size + " is unrecognized. Testing all suites by default."); @@ -95,6 +98,7 @@ if (process.argv.length > 2) { console.log("Testing all suites."); } suite = suiteDefinitions.full; + reporter = nodeunit.reporters.minimal; } } compilation = process.argv[3]; @@ -109,8 +113,11 @@ if (process.argv.length > 2) { // dynamicdata: pre-assembled code, but dynamically loaded locale data // dynamic: dynamically loaded code and locale data console.log("Assembly " + assembly + " is unknown. Using 'dynamic' by default."); - compilation = "dynamic"; + assembly = "dynamic"; } +} else { + console.log('Usage: testRunner.js [assembled|dynamicdata|dynamic [compiled|uncompiled [suite_name_or_collection [sync|async]]]]'); + process.exit(1); } console.log("Running " + compilation + " " + assembly + " " + (sync ? "sync" : "async") + " suites: " + JSON.stringify(suite)); @@ -125,7 +132,10 @@ if (assembly === "dynamic") { ilib._dyncode = true; // indicate that we are using dynamically loaded code ilib._dyndata = true; } else { - var fileName = "../output/js/ilib-ut" + ((assembly === "dynamicdata") ? "-dyn" : "") + ((compilation === "compiled") ? "-compiled" : "") + ".js"; + var dirName = ["ut", assembly, compilation, target].join("-"); + var urlPath = path.join('../output/js', dirName); + + fileName = path.join(urlPath, "ilib-ut" + ((assembly === "dynamicdata") ? "-dyn" : "") + ((compilation === "compiled") ? "-compiled" : "") + ".js"); console.log("loading in " + fileName); var script = fs.readFileSync(fileName, "utf-8"); geval(script); @@ -150,7 +160,7 @@ if (assembly === "dynamic") { if (suite.indexOf("strings-ext") > -1) { // special case for massive test data that we should only load if we need it - script = fs.readFileSync("strings-ext/nodeunit/normdata.js", "utf-8"); + script = fs.readFileSync("strings-ext/normdata.js", "utf-8"); geval(script); } } @@ -160,26 +170,23 @@ var modules = {}; for (var i = 0; i < suite.length; i++) { console.log("Adding suite: " + suite[i]); - var suiteFile = sync ? "nodeunit/testSuiteFiles.js" : "nodeunit/testSuiteFilesAsync.js"; + var suiteFile = sync ? "testSuiteFiles.js" : "testSuiteFilesAsync.js"; var suiteFilesPath = path.join(suite[i], suiteFile); if (fs.existsSync(suiteFilesPath)) { suites = require("./" + suiteFilesPath).files.forEach(function(file) { - var filepath = path.join(suite[i], "nodeunit", file); + var subtest, filepath = path.join(suite[i], file); if (!modules[suite[i]]) modules[suite[i]] = {}; if (assembly === "dynamic") { - var test = require("./" + filepath); - for (var t in test) { - modules[suite[i]][t] = test[t]; - } + subtest = require("./" + filepath); } else { global.module = { exports: {} }; var test = fs.readFileSync(filepath, "utf-8"); geval(test); - var subtest = global.module.exports; - if (subtest) { - for (var t in subtest) { - modules[suite[i]][t] = subtest[t]; - } + subtest = global.module.exports; + } + if (subtest) { + for (var t in subtest) { + modules[suite[i]][t] = subtest[t]; } } }); @@ -188,5 +195,4 @@ for (var i = 0; i < suite.length; i++) { reporter.run(modules, undefined, function(err) { process.exitCode = err ? 1 : 0; -}); - +}); \ No newline at end of file diff --git a/js/test/testSuite.html b/js/test/testSuite.html index 4439f22d62..851d165de9 100644 --- a/js/test/testSuite.html +++ b/js/test/testSuite.html @@ -25,76 +25,76 @@ var module = {}; - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + diff --git a/js/test/testSuiteAsync.html b/js/test/testSuiteAsync.html index 3a9d1da7a8..414a80ec7d 100644 --- a/js/test/testSuiteAsync.html +++ b/js/test/testSuiteAsync.html @@ -25,8 +25,8 @@ var module = {}; - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + diff --git a/js/test/units/nodeunit/testSuite.js b/js/test/units/nodeunit/testSuite.js deleted file mode 100644 index 5af76688bb..0000000000 --- a/js/test/units/nodeunit/testSuite.js +++ /dev/null @@ -1,34 +0,0 @@ -/* - * testSuite.js - test suite for this directory - * - * Copyright © 2017-2018, JEDLSoft - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -var nodeunit = require("nodeunit"); -var reporter = nodeunit.reporters.minimal; -var modules = {}; -var suites = require("./testSuiteFiles.js").files; - -var ilib = require("../../../lib/ilib-node.js"); - -suites.forEach(function (path) { - var test = require("./" + path); - for (var suite in test) { - modules[suite] = test[suite]; - } -}); - -reporter.run(modules); \ No newline at end of file diff --git a/js/test/units/nodeunit/testSuiteAsync.js b/js/test/units/nodeunit/testSuiteAsync.js deleted file mode 100644 index 4dcbeb8fcc..0000000000 --- a/js/test/units/nodeunit/testSuiteAsync.js +++ /dev/null @@ -1,34 +0,0 @@ -/* - * testSuiteAsync.js - test suite for this directory - * - * Copyright © 2017-2018, JEDLSoft - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -var nodeunit = require("nodeunit"); -var reporter = nodeunit.reporters.minimal; -var modules = {}; -var suites = require("./testSuiteFilesAsync.js").files; - -var ilib = require("../../../lib/ilib-node-async.js"); - -suites.forEach(function (path) { - var test = require("./" + path); - for (var suite in test) { - modules[suite] = test[suite]; - } -}); - -reporter.run(modules); diff --git a/js/test/units/nodeunit/testFuelConsumption.js b/js/test/units/testFuelConsumption.js similarity index 98% rename from js/test/units/nodeunit/testFuelConsumption.js rename to js/test/units/testFuelConsumption.js index d5dd076c4c..b32db5deab 100644 --- a/js/test/units/nodeunit/testFuelConsumption.js +++ b/js/test/units/testFuelConsumption.js @@ -18,11 +18,11 @@ */ if (typeof(FuelConsumptionUnit) === "undefined") { - var FuelConsumptionUnit = require("../.././../lib/FuelConsumptionUnit.js"); + var FuelConsumptionUnit = require("../../lib/FuelConsumptionUnit.js"); } if (typeof(ilib) === "undefined") { - var ilib = require("../../../lib/ilib.js"); + var ilib = require("../../lib/ilib.js"); } module.exports.testFuelConsumption = { diff --git a/js/test/units/nodeunit/testSuite.html b/js/test/units/testSuite.html similarity index 95% rename from js/test/units/nodeunit/testSuite.html rename to js/test/units/testSuite.html index 7ca6d79592..39c7e003c9 100644 --- a/js/test/units/nodeunit/testSuite.html +++ b/js/test/units/testSuite.html @@ -24,7 +24,7 @@ var module = {}; - + - + - \ No newline at end of file + diff --git a/js/test/units/testSuiteAsync.js b/js/test/units/testSuiteAsync.js new file mode 100644 index 0000000000..9b8e4a6ea5 --- /dev/null +++ b/js/test/units/testSuiteAsync.js @@ -0,0 +1,34 @@ +/* + * testSuiteAsync.js - test suite for this directory + * + * Copyright © 2017-2018, JEDLSoft + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +var nodeunit = require("nodeunit"); +var reporter = nodeunit.reporters.minimal; +var modules = {}; +var suites = require("./testSuiteFilesAsync.js").files; + +var ilib = require("../../lib/ilib-node-async.js"); + +suites.forEach(function (path) { + var test = require("./" + path); + for (var suite in test) { + modules[suite] = test[suite]; + } +}); + +reporter.run(modules); diff --git a/js/test/units/nodeunit/testSuiteFiles.js b/js/test/units/testSuiteFiles.js similarity index 100% rename from js/test/units/nodeunit/testSuiteFiles.js rename to js/test/units/testSuiteFiles.js diff --git a/js/test/units/nodeunit/testSuiteFilesAsync.js b/js/test/units/testSuiteFilesAsync.js similarity index 100% rename from js/test/units/nodeunit/testSuiteFilesAsync.js rename to js/test/units/testSuiteFilesAsync.js diff --git a/js/test/units/nodeunit/testUnknown.js b/js/test/units/testUnknown.js similarity index 93% rename from js/test/units/nodeunit/testUnknown.js rename to js/test/units/testUnknown.js index ca31387d34..abe982e742 100644 --- a/js/test/units/nodeunit/testUnknown.js +++ b/js/test/units/testUnknown.js @@ -18,11 +18,11 @@ */ if (typeof(UnknownUnit) === "undefined") { - var UnknownUnit = require("../.././../lib/UnknownUnit.js"); + var UnknownUnit = require("../../lib/UnknownUnit.js"); } if (typeof(ilib) === "undefined") { - var ilib = require("../../../lib/ilib.js"); + var ilib = require("../../lib/ilib.js"); } module.exports.testUnknown = { diff --git a/js/test/units/nodeunit/testVolume.js b/js/test/units/testVolume.js similarity index 99% rename from js/test/units/nodeunit/testVolume.js rename to js/test/units/testVolume.js index a3e85fc598..044e960e8c 100644 --- a/js/test/units/nodeunit/testVolume.js +++ b/js/test/units/testVolume.js @@ -18,11 +18,11 @@ */ if (typeof(VolumeUnit) === "undefined") { - var VolumeUnit = require("../.././../lib/VolumeUnit.js"); + var VolumeUnit = require("../../lib/VolumeUnit.js"); } if (typeof(ilib) === "undefined") { - var ilib = require("../../../lib/ilib.js"); + var ilib = require("../../lib/ilib.js"); } module.exports.testVolume = { diff --git a/js/test/units/nodeunit/testarea.js b/js/test/units/testarea.js similarity index 98% rename from js/test/units/nodeunit/testarea.js rename to js/test/units/testarea.js index da6e2f3a5d..9b12152663 100644 --- a/js/test/units/nodeunit/testarea.js +++ b/js/test/units/testarea.js @@ -18,11 +18,11 @@ */ if (typeof(AreaUnit) === "undefined") { - var AreaUnit = require("../.././../lib/AreaUnit.js"); + var AreaUnit = require("../../lib/AreaUnit.js"); } if (typeof(ilib) === "undefined") { - var ilib = require("../../../lib/ilib.js"); + var ilib = require("../../lib/ilib.js"); } module.exports.testarea = { diff --git a/js/test/units/nodeunit/testdigitalspeed.js b/js/test/units/testdigitalspeed.js similarity index 98% rename from js/test/units/nodeunit/testdigitalspeed.js rename to js/test/units/testdigitalspeed.js index ddd8236de1..47646f03c2 100644 --- a/js/test/units/nodeunit/testdigitalspeed.js +++ b/js/test/units/testdigitalspeed.js @@ -18,11 +18,11 @@ */ if (typeof(DigitalSpeedUnit) === "undefined") { - var DigitalSpeedUnit = require("../.././../lib/DigitalSpeedUnit.js"); + var DigitalSpeedUnit = require("../../lib/DigitalSpeedUnit.js"); } if (typeof(ilib) === "undefined") { - var ilib = require("../../../lib/ilib.js"); + var ilib = require("../../lib/ilib.js"); } module.exports.testdigitalspeed = { diff --git a/js/test/units/nodeunit/testdigitalstoreage.js b/js/test/units/testdigitalstoreage.js similarity index 98% rename from js/test/units/nodeunit/testdigitalstoreage.js rename to js/test/units/testdigitalstoreage.js index ad8dcb7f3b..409d814b79 100644 --- a/js/test/units/nodeunit/testdigitalstoreage.js +++ b/js/test/units/testdigitalstoreage.js @@ -18,11 +18,11 @@ */ if (typeof(DigitalStorageUnit) === "undefined") { - var DigitalStorageUnit = require("../.././../lib/DigitalStorageUnit.js"); + var DigitalStorageUnit = require("../../lib/DigitalStorageUnit.js"); } if (typeof(ilib) === "undefined") { - var ilib = require("../../../lib/ilib.js"); + var ilib = require("../../lib/ilib.js"); } module.exports.testdigitalstoreage = { diff --git a/js/test/units/nodeunit/testenergy.js b/js/test/units/testenergy.js similarity index 97% rename from js/test/units/nodeunit/testenergy.js rename to js/test/units/testenergy.js index 833b99cb67..ca345697cb 100644 --- a/js/test/units/nodeunit/testenergy.js +++ b/js/test/units/testenergy.js @@ -18,11 +18,11 @@ */ if (typeof(EnergyUnit) === "undefined") { - var EnergyUnit = require("../.././../lib/EnergyUnit.js"); + var EnergyUnit = require("../../lib/EnergyUnit.js"); } if (typeof(ilib) === "undefined") { - var ilib = require("../../../lib/ilib.js"); + var ilib = require("../../lib/ilib.js"); } module.exports.testenergy = { diff --git a/js/test/units/nodeunit/testlengths.js b/js/test/units/testlengths.js similarity index 98% rename from js/test/units/nodeunit/testlengths.js rename to js/test/units/testlengths.js index f5823dd0f8..9ed3b55c41 100644 --- a/js/test/units/nodeunit/testlengths.js +++ b/js/test/units/testlengths.js @@ -18,11 +18,11 @@ */ if (typeof(LengthUnit) === "undefined") { - var LengthUnit = require("../.././../lib/LengthUnit.js"); + var LengthUnit = require("../../lib/LengthUnit.js"); } if (typeof(ilib) === "undefined") { - var ilib = require("../../../lib/ilib.js"); + var ilib = require("../../lib/ilib.js"); } module.exports.testlengths = { diff --git a/js/test/units/nodeunit/testmass.js b/js/test/units/testmass.js similarity index 98% rename from js/test/units/nodeunit/testmass.js rename to js/test/units/testmass.js index e481719405..e466b192c6 100644 --- a/js/test/units/nodeunit/testmass.js +++ b/js/test/units/testmass.js @@ -18,11 +18,11 @@ */ if (typeof(MassUnit) === "undefined") { - var MassUnit = require("../.././../lib/MassUnit.js"); + var MassUnit = require("../../lib/MassUnit.js"); } if (typeof(ilib) === "undefined") { - var ilib = require("../../../lib/ilib.js"); + var ilib = require("../../lib/ilib.js"); } module.exports.testmass = { diff --git a/js/test/units/nodeunit/testmeasurement.js b/js/test/units/testmeasurement.js similarity index 98% rename from js/test/units/nodeunit/testmeasurement.js rename to js/test/units/testmeasurement.js index 8e13440deb..5480878c96 100644 --- a/js/test/units/nodeunit/testmeasurement.js +++ b/js/test/units/testmeasurement.js @@ -18,13 +18,13 @@ */ if (typeof(MeasurementFactory) === "undefined") { - var MeasurementFactory = require("../.././../lib/MeasurementFactory.js"); - var Measurement = require("../.././../lib/Measurement.js"); - var Locale = require("../.././../lib/Locale.js"); + var MeasurementFactory = require("../../lib/MeasurementFactory.js"); + var Measurement = require("../../lib/Measurement.js"); + var Locale = require("../../lib/Locale.js"); } if (typeof(ilib) === "undefined") { - var ilib = require("../../../lib/ilib.js"); + var ilib = require("../../lib/ilib.js"); } module.exports.testmeasurement = { diff --git a/js/test/units/nodeunit/testspeeds.js b/js/test/units/testspeeds.js similarity index 97% rename from js/test/units/nodeunit/testspeeds.js rename to js/test/units/testspeeds.js index 93bf53cc95..277487d9f9 100644 --- a/js/test/units/nodeunit/testspeeds.js +++ b/js/test/units/testspeeds.js @@ -18,11 +18,11 @@ */ if (typeof(VelocityUnit) === "undefined") { - var VelocityUnit = require("../.././../lib/VelocityUnit.js"); + var VelocityUnit = require("../../lib/VelocityUnit.js"); } if (typeof(ilib) === "undefined") { - var ilib = require("../../../lib/ilib.js"); + var ilib = require("../../lib/ilib.js"); } module.exports.testspeeds = { diff --git a/js/test/units/nodeunit/testtemp.js b/js/test/units/testtemp.js similarity index 98% rename from js/test/units/nodeunit/testtemp.js rename to js/test/units/testtemp.js index 3ea832e28e..a0d2efd8ae 100644 --- a/js/test/units/nodeunit/testtemp.js +++ b/js/test/units/testtemp.js @@ -18,11 +18,11 @@ */ if (typeof(TemperatureUnit) === "undefined") { - var TemperatureUnit = require("../.././../lib/TemperatureUnit.js"); + var TemperatureUnit = require("../../lib/TemperatureUnit.js"); } if (typeof(ilib) === "undefined") { - var ilib = require("../../../lib/ilib.js"); + var ilib = require("../../lib/ilib.js"); } module.exports.testtemp = { diff --git a/js/test/units/nodeunit/testtime.js b/js/test/units/testtime.js similarity index 97% rename from js/test/units/nodeunit/testtime.js rename to js/test/units/testtime.js index 3144d301a7..c2fe53927c 100644 --- a/js/test/units/nodeunit/testtime.js +++ b/js/test/units/testtime.js @@ -18,11 +18,11 @@ */ if (typeof(TimeUnit) === "undefined") { - var TimeUnit = require("../.././../lib/TimeUnit.js"); + var TimeUnit = require("../../lib/TimeUnit.js"); } if (typeof(ilib) === "undefined") { - var ilib = require("../../../lib/ilib.js"); + var ilib = require("../../lib/ilib.js"); } module.exports.testtime = { diff --git a/js/test/units/nodeunit/testunitfmt.js b/js/test/units/testunitfmt.js similarity index 99% rename from js/test/units/nodeunit/testunitfmt.js rename to js/test/units/testunitfmt.js index b19c4e7691..7158578036 100644 --- a/js/test/units/nodeunit/testunitfmt.js +++ b/js/test/units/testunitfmt.js @@ -18,14 +18,14 @@ */ if (typeof(UnitFmt) === "undefined") { - var UnitFmt = require("../.././../lib/UnitFmt.js"); + var UnitFmt = require("../../lib/UnitFmt.js"); } if (typeof(MeasurementFactory) === "undefined") { - var MeasurementFactory = require("../.././../lib/MeasurementFactory.js"); + var MeasurementFactory = require("../../lib/MeasurementFactory.js"); } if (typeof(ilib) === "undefined") { - var ilib = require("../../../lib/ilib.js"); + var ilib = require("../../lib/ilib.js"); } module.exports.testunitfmt = { diff --git a/js/test/units/nodeunit/testunitfmt_usages.js b/js/test/units/testunitfmt_usages.js similarity index 99% rename from js/test/units/nodeunit/testunitfmt_usages.js rename to js/test/units/testunitfmt_usages.js index 5f2e87bd87..83502e60d6 100644 --- a/js/test/units/nodeunit/testunitfmt_usages.js +++ b/js/test/units/testunitfmt_usages.js @@ -18,14 +18,14 @@ */ if (typeof(UnitFmt) === "undefined") { - var UnitFmt = require("../.././../lib/UnitFmt.js"); + var UnitFmt = require("../../lib/UnitFmt.js"); } if (typeof(MeasurementFactory) === "undefined") { - var MeasurementFactory = require("../.././../lib/MeasurementFactory.js"); + var MeasurementFactory = require("../../lib/MeasurementFactory.js"); } if (typeof(ilib) === "undefined") { - var ilib = require("../../../lib/ilib.js"); + var ilib = require("../../lib/ilib.js"); } module.exports.testunitfmt_usages = { diff --git a/js/test/units/nodeunit/testunitfmtasync.js b/js/test/units/testunitfmtasync.js similarity index 95% rename from js/test/units/nodeunit/testunitfmtasync.js rename to js/test/units/testunitfmtasync.js index 4482c948db..137114ef03 100644 --- a/js/test/units/nodeunit/testunitfmtasync.js +++ b/js/test/units/testunitfmtasync.js @@ -18,14 +18,14 @@ */ if (typeof(UnitFmt) === "undefined") { - var UnitFmt = require("../.././../lib/UnitFmt.js"); + var UnitFmt = require("../../lib/UnitFmt.js"); } if (typeof(MeasurementFactory) === "undefined") { - var MeasurementFactory = require("../.././../lib/MeasurementFactory.js"); + var MeasurementFactory = require("../../lib/MeasurementFactory.js"); } if (typeof(ilib) === "undefined") { - var ilib = require("../../../lib/ilib.js"); + var ilib = require("../../lib/ilib.js"); } module.exports.testunitfmtasync = { diff --git a/js/test/units/nodeunit/testunits.js b/js/test/units/testunits.js similarity index 98% rename from js/test/units/nodeunit/testunits.js rename to js/test/units/testunits.js index ec839d8b16..6b71e9b869 100644 --- a/js/test/units/nodeunit/testunits.js +++ b/js/test/units/testunits.js @@ -18,11 +18,11 @@ */ if (typeof(MeasurementFactory) === "undefined") { - var MeasurementFactory = require("../.././../lib/MeasurementFactory.js"); + var MeasurementFactory = require("../../lib/MeasurementFactory.js"); } if (typeof(ilib) === "undefined") { - var ilib = require("../../../lib/ilib.js"); + var ilib = require("../../lib/ilib.js"); } module.exports.testunits = { diff --git a/js/test/util/nodeunit/testSuite.js b/js/test/util/nodeunit/testSuite.js deleted file mode 100644 index 5af76688bb..0000000000 --- a/js/test/util/nodeunit/testSuite.js +++ /dev/null @@ -1,34 +0,0 @@ -/* - * testSuite.js - test suite for this directory - * - * Copyright © 2017-2018, JEDLSoft - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -var nodeunit = require("nodeunit"); -var reporter = nodeunit.reporters.minimal; -var modules = {}; -var suites = require("./testSuiteFiles.js").files; - -var ilib = require("../../../lib/ilib-node.js"); - -suites.forEach(function (path) { - var test = require("./" + path); - for (var suite in test) { - modules[suite] = test[suite]; - } -}); - -reporter.run(modules); \ No newline at end of file diff --git a/js/test/util/nodeunit/testSuite.html b/js/test/util/testSuite.html similarity index 90% rename from js/test/util/nodeunit/testSuite.html rename to js/test/util/testSuite.html index 8061fef634..4041f70126 100644 --- a/js/test/util/nodeunit/testSuite.html +++ b/js/test/util/testSuite.html @@ -24,7 +24,7 @@ var module = {}; - + +

util Test Suite

diff --git a/js/test/util/testSuite.js b/js/test/util/testSuite.js new file mode 100644 index 0000000000..12f3d01d6a --- /dev/null +++ b/js/test/util/testSuite.js @@ -0,0 +1,34 @@ +/* + * testSuite.js - test suite for this directory + * + * Copyright © 2017-2018, JEDLSoft + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +var nodeunit = require("nodeunit"); +var reporter = nodeunit.reporters.minimal; +var modules = {}; +var suites = require("./testSuiteFiles.js").files; + +var ilib = require("../../lib/ilib-node.js"); + +suites.forEach(function (path) { + var test = require("./" + path); + for (var suite in test) { + modules[suite] = test[suite]; + } +}); + +reporter.run(modules); \ No newline at end of file diff --git a/js/test/util/testSuiteAsync.html b/js/test/util/testSuiteAsync.html new file mode 100644 index 0000000000..a8837d7f29 --- /dev/null +++ b/js/test/util/testSuiteAsync.html @@ -0,0 +1,43 @@ + + + + Test Suite + + + + + + + + + + +

util Test Suite

+ + + \ No newline at end of file diff --git a/js/test/util/nodeunit/testSuiteFiles.js b/js/test/util/testSuiteFiles.js similarity index 97% rename from js/test/util/nodeunit/testSuiteFiles.js rename to js/test/util/testSuiteFiles.js index 34b0f0ae32..205d8c7a95 100644 --- a/js/test/util/nodeunit/testSuiteFiles.js +++ b/js/test/util/testSuiteFiles.js @@ -20,4 +20,5 @@ module.exports.files = [ "testset.js", "testutils.js", + "testpath.js" ]; \ No newline at end of file diff --git a/js/lib/ilib-web-async-inc.js b/js/test/util/testSuiteFilesAsync.js similarity index 73% rename from js/lib/ilib-web-async-inc.js rename to js/test/util/testSuiteFilesAsync.js index ecca6d24e4..205d8c7a95 100644 --- a/js/lib/ilib-web-async-inc.js +++ b/js/test/util/testSuiteFilesAsync.js @@ -1,6 +1,7 @@ -/** - * @license - * Copyright © 2015, JEDLSoft +/* + * testSuiteFiles.js - list the test files in this directory + * + * Copyright © 2017, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -16,12 +17,8 @@ * limitations under the License. */ -/* - * ilib-web-async-inc.js - metafile that includes a minimal set of other js files for the minimal build - */ - -/* !depends -Loader.js -Path.js -WebLoader.js -*/ \ No newline at end of file +module.exports.files = [ + "testset.js", + "testutils.js", + "testpath.js" +]; \ No newline at end of file diff --git a/js/test/util/testpath.js b/js/test/util/testpath.js new file mode 100644 index 0000000000..f593e8ee47 --- /dev/null +++ b/js/test/util/testpath.js @@ -0,0 +1,195 @@ +/* + * testpath.js - test the Path polyfill class + * + * Copyright © 2018, JEDLSoft + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +if (typeof(Path) === "undefined") { + var Path = require("../../lib/Path.js"); +} + +if (typeof(ilib) === "undefined") { + var ilib = require("../../lib/ilib.js"); +} + +module.exports.testpath = { + setUp: function(callback) { + ilib.clearCache(); + callback(); + }, + + testDirnameSimple: function(test) { + test.expect(1); + test.equal(Path.dirname("a/b"), "a"); + test.done(); + }, + + testDirnameComplex: function(test) { + test.expect(1); + test.equal(Path.dirname("a/b/c/foo.txt"), "a/b/c"); + test.done(); + }, + + testDirnameNoParent: function(test) { + test.expect(1); + test.equal(Path.dirname("a"), "."); + test.done(); + }, + + testDirnameNormalizeToo: function(test) { + test.expect(1); + test.equal(Path.dirname("a/../b/c.txt"), "b"); + test.done(); + }, + + testBasenameSimple: function(test) { + test.expect(1); + test.equal(Path.basename("c.txt"), "c.txt"); + test.done(); + }, + + testBasenameWithExtension: function(test) { + test.expect(1); + test.equal(Path.basename("c.txt", "txt"), "c"); + test.done(); + }, + + testBasenameWithExtensionAndDot: function(test) { + test.expect(1); + test.equal(Path.basename("c.txt", ".txt"), "c"); + test.done(); + }, + + testBasenameWithDir: function(test) { + test.expect(1); + test.equal(Path.basename("a/b/c.txt"), "c.txt"); + test.done(); + }, + + testBasenameWithDirAndExtension: function(test) { + test.expect(1); + test.equal(Path.basename("a/b/c.txt", "txt"), "c"); + test.done(); + }, + + testBasenameWithDirAndExtensionWithDot: function(test) { + test.expect(1); + test.equal(Path.basename("a/b/c.txt", ".txt"), "c"); + test.done(); + }, + + testNormalizeSimple: function(test) { + test.expect(1); + test.equal(Path.normalize("a/b/c.txt"), "a/b/c.txt"); + test.done(); + }, + + testNormalizeRemoveDotDotSecondSpot: function(test) { + test.expect(1); + test.equal(Path.normalize("a/../b/c.txt"), "b/c.txt"); + test.done(); + }, + + testNormalizeRemoveDotDotFurtherDown: function(test) { + test.expect(1); + test.equal(Path.normalize("a/b/../b/c.txt"), "a/b/c.txt"); + test.done(); + }, + + testNormalizeRemoveDot: function(test) { + test.expect(1); + test.equal(Path.normalize("a/./b/c.txt"), "a/b/c.txt"); + test.done(); + }, + + testNormalizeRemoveDotBeginning: function(test) { + test.expect(1); + test.equal(Path.normalize("./b/c.txt"), "b/c.txt"); + test.done(); + }, + + testNormalizeRemoveDotEnd: function(test) { + test.expect(1); + test.equal(Path.normalize("a/b/."), "a/b"); + test.done(); + }, + + testNormalizeRemoveDotsAmongstDotDots: function(test) { + test.expect(1); + test.equal(Path.normalize(".././../b/c.txt"), "../../b/c.txt"); + test.done(); + }, + + testNormalizeDontRemoveInitialSlash: function(test) { + test.expect(1); + test.equal(Path.normalize("/b/c.txt"), "/b/c.txt"); + test.done(); + }, + + testNormalizeRemoveDotButDontRemoveInitialSlash: function(test) { + test.expect(1); + test.equal(Path.normalize("/b/."), "/b"); + test.done(); + }, + + testNormalizeRemoveMultipleSlashes: function(test) { + test.expect(1); + test.equal(Path.normalize("a//b//c.txt"), "a/b/c.txt"); + test.done(); + }, + + testNormalizeConvertDOSToPosix: function(test) { + test.expect(1); + test.equal(Path.normalize("a\\b\\c.txt"), "a/b/c.txt"); + test.done(); + }, + + testJoinSimple: function(test) { + test.expect(1); + test.equal(Path.join("b", "c.txt"), "b/c.txt"); + test.done(); + }, + + testJoinMultiple: function(test) { + test.expect(1); + test.equal(Path.join("a", "b", "c", "d.txt"), "a/b/c/d.txt"); + test.done(); + }, + + testJoinSingular: function(test) { + test.expect(1); + test.equal(Path.join("d.txt"), "d.txt"); + test.done(); + }, + + testJoinNormalizeToo: function(test) { + test.expect(1); + test.equal(Path.join("a", "..", "./c.txt"), "c.txt"); + test.done(); + }, + + testJoinNoDuplicateSlashes: function(test) { + test.expect(1); + test.equal(Path.join("b/", "/c.txt"), "b/c.txt"); + test.done(); + }, + + testJoinUndefined: function(test) { + test.expect(1); + test.equal(Path.join(), ""); + test.done(); + } +}; \ No newline at end of file diff --git a/js/test/util/nodeunit/testset.js b/js/test/util/testset.js similarity index 98% rename from js/test/util/nodeunit/testset.js rename to js/test/util/testset.js index 56ce3b1db3..a76292a702 100644 --- a/js/test/util/nodeunit/testset.js +++ b/js/test/util/testset.js @@ -18,13 +18,13 @@ */ if (typeof(ISet) === "undefined") { - var ISet = require("../.././../lib/ISet.js"); + var ISet = require("../../lib/ISet.js"); } // var inspect = require("../../../webapp/WEB-INF/app/core/inspect.js"); if (typeof(ilib) === "undefined") { - var ilib = require("../../../lib/ilib.js"); + var ilib = require("../../lib/ilib.js"); } module.exports.testset = { diff --git a/js/test/util/nodeunit/testutils.js b/js/test/util/testutils.js similarity index 88% rename from js/test/util/nodeunit/testutils.js rename to js/test/util/testutils.js index 1a7b32cfe3..2f29121381 100644 --- a/js/test/util/nodeunit/testutils.js +++ b/js/test/util/testutils.js @@ -18,22 +18,22 @@ */ if (typeof(ilib) === "undefined") { - var ilib = require("../.././../lib/ilib.js"); + var ilib = require("../../lib/ilib.js"); } if (typeof(Utils) === "undefined") { - var Utils = require("../.././../lib/Utils.js"); + var Utils = require("../../lib/Utils.js"); } if (typeof(SearchUtils) === "undefined") { - var SearchUtils = require("../.././../lib/SearchUtils.js"); + var SearchUtils = require("../../lib/SearchUtils.js"); } if (typeof(MathUtils) === "undefined") { - var MathUtils = require("../.././../lib/MathUtils.js"); + var MathUtils = require("../../lib/MathUtils.js"); } if (typeof(Locale) === "undefined") { - var Locale = require("../.././../lib/Locale.js"); + var Locale = require("../../lib/Locale.js"); } if (typeof(JSUtils) === "undefined") { - var JSUtils = require("../.././../lib/JSUtils.js"); + var JSUtils = require("../../lib/JSUtils.js"); } function strcmp(left, right) { @@ -910,6 +910,41 @@ module.exports.testutils = { test.done(); }, + testGetSublocalesENUS: function(test) { + test.expect(1); + + test.deepEqual(Utils.getSublocales("en-US"), ["root", "en", "und-US", "en-US"]); + test.done(); + }, + + testGetSublocalesESUS: function(test) { + test.expect(1); + + test.deepEqual(Utils.getSublocales("es-US"), ["root", "es", "und-US", "es-US"]); + test.done(); + }, + + testGetSublocalesZHCN: function(test) { + test.expect(1); + + test.deepEqual(Utils.getSublocales("zh-Hans-CN"), ["root", "zh", "und-CN", "zh-Hans", "zh-CN", "zh-Hans-CN"]); + test.done(); + }, + + testGetSublocalesWithVariant: function(test) { + test.expect(1); + + test.deepEqual(Utils.getSublocales("es-US-ASDF"), ["root", "es", "und-US", "es-US", "und-US-ASDF", "es-US-ASDF"]); + test.done(); + }, + + testGetSublocalesWithScriptAndVariant: function(test) { + test.expect(1); + + test.deepEqual(Utils.getSublocales("zh-Hans-CN-ASDF"), ["root", "zh", "und-CN", "zh-Hans", "zh-CN", "und-CN-ASDF", "zh-Hans-CN", "zh-CN-ASDF", "zh-Hans-CN-ASDF"]); + test.done(); + }, + testMergeLocData: function(test) { test.expect(3); ilib.data.foobar = { @@ -1024,7 +1059,7 @@ module.exports.testutils = { var locale = new Locale("de-DE-Latn-SAP"); var m = Utils.mergeLocData("asdf", locale); - test.ok(typeof(m) === "undefined"); + test.ok(m); // clean up for the other tests ilib.data.foobar = ilib.data.foobar_de = ilib.data.foobar_de_DE = ilib.data.foobar_de_Latn_DE = ilib.data.foobar_de_Latn_DE_SAP = undefined; @@ -1053,7 +1088,7 @@ module.exports.testutils = { var locale = new Locale("de-DE-Latn-SAP"); var m = Utils.mergeLocData(undefined, locale); - test.ok(typeof(m) === "undefined"); + test.ok(m); // clean up for the other tests ilib.data.foobar = ilib.data.foobar_de = ilib.data.foobar_de_DE = ilib.data.foobar_de_Latn_DE = ilib.data.foobar_de_Latn_DE_SAP = undefined; @@ -1265,12 +1300,12 @@ module.exports.testutils = { testGetLocFilesRegionVariant: function(test) { test.expect(2); - var locale = new Locale("US-govt"); + var locale = new Locale("US-GOVT"); var f = Utils.getLocFiles(locale, "localeinfo.json"); var expected = [ "localeinfo.json", "und/US/localeinfo.json", - "und/US/govt/localeinfo.json" + "und/US/GOVT/localeinfo.json" ]; test.equal(f.length, expected.length); @@ -1575,7 +1610,7 @@ module.exports.testutils = { test.done(); return; } - + ilib.data.foo = ilib.data.foo_en = ilib.data.foo_und_US = ilib.data.foo_en_US = undefined; ilib.setLoaderCallback(mockLoaderUtil); Utils.loadData({ name: "foo.json", @@ -1600,7 +1635,7 @@ module.exports.testutils = { test.done(); return; } - + ilib.data.foo = ilib.data.foo_en = ilib.data.foo_und_US = ilib.data.foo_en_US = undefined; ilib.setLoaderCallback(mockLoaderUtil); Utils.loadData({ name: "foo.json", @@ -1626,7 +1661,7 @@ module.exports.testutils = { test.done(); return; } - + ilib.data.foo = ilib.data.foo_en = ilib.data.foo_und_US = ilib.data.foo_en_US = undefined; ilib.setLoaderCallback(mockLoaderUtil); Utils.loadData({ name: "foo.json", @@ -1652,7 +1687,7 @@ module.exports.testutils = { test.done(); return; } - + ilib.data.foo = ilib.data.foo_en = ilib.data.foo_und_US = ilib.data.foo_en_US = undefined; ilib.setLoaderCallback(mockLoaderUtil); Utils.loadData({ name: "foo.json", @@ -1678,7 +1713,7 @@ module.exports.testutils = { test.done(); return; } - + ilib.data.foo = ilib.data.foo_en = ilib.data.foo_und_US = ilib.data.foo_en_US = undefined; ilib.setLoaderCallback(mockLoaderUtil); Utils.loadData({ name: "foo.json", @@ -1706,6 +1741,7 @@ module.exports.testutils = { } ilib.clearCache(); + ilib.data.foo = ilib.data.foo_en = ilib.data.foo_und_US = ilib.data.foo_en_US = undefined; ilib.setLoaderCallback(mockLoaderUtil); Utils.loadData({ name: "foo.json", @@ -1724,234 +1760,6 @@ module.exports.testutils = { }); }, - testLoadDataCached: function(test) { - if (ilib.isDynData()) { - // don't need to test loading on the dynamic load version because we are testing - // it via all the other tests already. - test.done(); - return; - } - - ilib.setLoaderCallback(mockLoaderUtil); - Utils.loadData({ - name: "foo.json", - object: "obj", - locale: "en-US", - type: "json", - loadParams: {}, - sync: true, - callback: function (results) { - var cache = ilib.data.cache.obj; - for (var o in cache) { - if (cache.hasOwnProperty(o)) { - ilib.setLoaderCallback(oldLoader); - var expected = {"a": "b", "c": "m", "e": "y"}; - test.deepEqual(cache[o], expected); - } - } - } - }); - test.done(); - }, - - testLoadDataCachedWithOtherName: function(test) { - if (ilib.isDynData()) { - // don't need to test loading on the dynamic load version because we are testing - // it via all the other tests already. - test.done(); - return; - } - - ilib.setLoaderCallback(mockLoaderUtil); - - Utils.loadData({ - name: "foo.json", - object: "obj", - locale: "en-US", - type: "json", - loadParams: {}, - sync: true, - callback: function (results) { - var expected = {"a": "b", "c": "m", "e": "y"}; - test.expect(2); - test.deepEqual(results, expected); - - Utils.loadData({ - name: "bar.json", - object: "obj", - locale: "en-US", - type: "json", - loadParams: {}, - sync: true, - callback: function (results) { - ilib.setLoaderCallback(oldLoader); - var expected = {"a": "barb", "c": "barm", "e": "bary"}; - test.deepEqual(results, expected); - test.done(); - } - }); - } - }); - }, - - testLoadDataCachedWithLoadParamsMultipleFiles: function(test) { - if (ilib.isDynData()) { - // don't need to test loading on the dynamic load version because we are testing - // it via all the other tests already. - test.done(); - return; - } - - ilib.setLoaderCallback(mockLoaderUtil); - Utils.loadData({ - name: "foo.json", - object: "obj", - locale: "en-US", - type: "json", - loadParams: {}, - sync: true, - callback: function (results) { - test.ok(typeof(results) !== "undefined"); - - Utils.loadData({ - name: "foo.json", - object: "obj", - locale: "en-US", - type: "json", - loadParams: { - // should cause it to load a different file - root: "/usr/share/localization/myapp" - }, - sync: true, - callback: function (results) { - ilib.setLoaderCallback(oldLoader); - test.ok(typeof(results) !== "undefined"); - - var count = 0; - var cache = ilib.data.cache.obj; - for (var o in cache) { - if (cache.hasOwnProperty(o)) { - count++; - } - } - - test.equal(count, 2); - } - }); - } - }); - test.done(); - }, - - testLoadDataCachedWithLoadParams: function(test) { - if (ilib.isDynData()) { - // don't need to test loading on the dynamic load version because we are testing - // it via all the other tests already. - test.done(); - return; - } - - ilib.setLoaderCallback(mockLoaderUtil); - Utils.loadData({ - name: "foo.json", - object: "obj", - locale: "en-US", - type: "json", - loadParams: {}, - sync: true, - callback: function (results) { - var expected = {"a": "b", "c": "m", "e": "y"}; - test.expect(2); - test.deepEqual(results, expected); - Utils.loadData({ - name: "foo.json", - object: "obj", - locale: "en-US", - type: "json", - loadParams: { - // should cause it to load a different file - root: "/usr/share/localization/myapp" - }, - sync: true, - callback: function (results) { - ilib.setLoaderCallback(oldLoader); - var expected = {"xxx": "yyy", "www": "xyz", "yyy": "vvv", "nnn": "mmm"}; - test.deepEqual(results, expected); - test.done(); - } - }); - } - }); - }, - - testLoadDataNoCache: function(test) { - if (ilib.isDynData()) { - // don't need to test loading on the dynamic load version because we are testing - // it via all the other tests already. - test.done(); - return; - } - - ilib.clearCache(); - ilib.setLoaderCallback(mockLoaderUtil); - Utils.loadData({ - name: "foo.json", - locale: "en-US", - type: "json", - loadParams: {}, - sync: true, - callback: function (results) { - ilib.setLoaderCallback(oldLoader); - // should not crash - var expected = {"a": "b", "c": "m", "e": "y"}; - test.expect(1); - test.deepEqual(results, expected); - test.done(); - } - }); - }, - - testLoadDataNotCachedWithLoadParams: function(test) { - if (ilib.isDynData()) { - // don't need to test loading on the dynamic load version because we are testing - // it via all the other tests already. - test.done(); - return; - } - - ilib.clearCache(); - ilib.setLoaderCallback(mockLoaderUtil); - Utils.loadData({ - name: "foo.json", - locale: "en-US", - type: "json", - loadParams: {}, - sync: true, - callback: function (results) { - var expected = {"a": "b", "c": "m", "e": "y"}; - test.expect(2); - test.deepEqual(results, expected); - - Utils.loadData({ - name: "foo.json", - locale: "en-US", - type: "json", - loadParams: { - // should cause it to load a different file - root: "/usr/share/localization/myapp" - }, - sync: true, - callback: function (results) { - ilib.setLoaderCallback(oldLoader); - var expected = {"xxx": "yyy", "www": "xyz", "yyy": "vvv", "nnn": "mmm"}; - test.deepEqual(results, expected); - test.done(); - } - }); - } - }); - }, - testLoadDataAsynch: function(test) { if (ilib.isDynData()) { // don't need to test loading on the dynamic load version because we are testing @@ -1961,6 +1769,7 @@ module.exports.testutils = { } ilib.clearCache(); + ilib.data.foo = ilib.data.foo_en = ilib.data.foo_und_US = ilib.data.foo_en_US = undefined; ilib.setLoaderCallback(mockLoaderUtil); Utils.loadData({ name: "foo.json", @@ -1987,6 +1796,7 @@ module.exports.testutils = { return; } ilib.clearCache(); + ilib.data.foo = ilib.data.foo_en = ilib.data.foo_und_US = ilib.data.foo_en_US = undefined; ilib.setLoaderCallback(mockLoaderUtil); Utils.loadData({ name: "foo.json", @@ -2008,6 +1818,7 @@ module.exports.testutils = { return; } ilib.clearCache(); + ilib.data.foo = ilib.data.foo_en = ilib.data.foo_und_US = ilib.data.foo_en_US = undefined; ilib.setLoaderCallback(mockLoaderUtil); Utils.loadData({ name: "foo.html", @@ -2028,6 +1839,7 @@ module.exports.testutils = { test.done(); return; } + ilib.data.foo = ilib.data.foo_de = ilib.data.foo_und_DE = ilib.data.foo_de_DE = undefined; ilib.setLoaderCallback(mockLoaderUtil); Utils.loadData({ name: "foo.html", @@ -2049,6 +1861,7 @@ module.exports.testutils = { test.done(); return; } + ilib.data.foo = ilib.data.foo_de = ilib.data.foo_und_DE = ilib.data.foo_de_DE = undefined; ilib.setLoaderCallback(mockLoaderUtil); Utils.loadData({ name: "foo.html", @@ -2070,6 +1883,7 @@ module.exports.testutils = { test.done(); return; } + ilib.data.foo = ilib.data.foo_de = ilib.data.foo_und_DE = ilib.data.foo_de_DE = undefined; ilib.setLoaderCallback(mockLoaderUtil); Utils.loadData({ name: "foo.html", @@ -2091,6 +1905,7 @@ module.exports.testutils = { test.done(); return; } + ilib.data.foo = ilib.data.foo_fr = ilib.data.foo_und_FR = ilib.data.foo_fr_FR = undefined; ilib.setLoaderCallback(mockLoaderUtil); Utils.loadData({ @@ -2113,6 +1928,7 @@ module.exports.testutils = { test.done(); return; } + ilib.data.foo = ilib.data.foo_es = ilib.data.foo_und_ES = ilib.data.foo_es_ES = undefined; ilib.setLoaderCallback(mockLoaderUtil); Utils.loadData({ name: "foo.html", @@ -2134,6 +1950,7 @@ module.exports.testutils = { test.done(); return; } + ilib.data.foo = ilib.data.foo_de = ilib.data.foo_und_DE = ilib.data.foo_de_DE = undefined; ilib.setLoaderCallback(mockLoaderUtil); Utils.loadData({ name: "foo.html", @@ -2154,6 +1971,7 @@ module.exports.testutils = { test.done(); return; } + ilib.data.foo = ilib.data.foo_de = ilib.data.foo_und_DE = ilib.data.foo_de_DE = undefined; ilib.setLoaderCallback(mockLoaderUtil); Utils.loadData({ name: "foo.json", diff --git a/js/webpack.config.js b/js/webpack.config.js new file mode 100644 index 0000000000..8388bcf8d1 --- /dev/null +++ b/js/webpack.config.js @@ -0,0 +1,138 @@ +/* + * webpack.config.js - webpack configuration script for ilib + * + * Copyright © 2018, JEDLSoft + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * + * See the License for the specific language governing permissions and + * limitations under the License. + */ +var webpack = require('webpack'); +var path = require('path'); +const UglifyJsPlugin = require('uglifyjs-webpack-plugin'); +var IlibWebpackPlugin = require('ilib-webpack-plugin'); + +module.exports = function(env, args) { + env = env || {}; + var size = env.size || "standard", + assembly = env.assembly || "assembled", + compilationType = env.compilation || "uncompiled", + target = env.target || "web", + locales = env.locales, + ilibRoot = path.resolve(env.ilibRoot || "."), + outputPath; + + // "ut" is unit tests + if (size !== "core" && size !== "standard" && size !== "full" && size !== "ut" && size !== "demo") { + size = "standard"; + } + + if (assembly !== "dynamic" && assembly !== "dynamicdata" && assembly !== "assembled") { + assembly = "assembled"; + } + + if (compilationType !== "compiled" && compilationType !== "uncompiled") { + compilationType = "uncompiled"; + } + + if (target !== "web" && target !== "node") { + // TODO add other targets here as necessary + target = "web"; + } + + if (locales) { + locales = locales.split(","); + } else { + // default locales: the top 20 locales by traffic on the Internet + locales = [ + "en-AU", "en-CA", "en-GB", "en-IN", "en-NG", "en-PH", + "en-PK", "en-US", "en-ZA", "de-DE", "fr-CA", "fr-FR", + "es-AR", "es-ES", "es-MX", "id-ID", "it-IT", "ja-JP", + "ko-KR", "pt-BR", "ru-RU", "tr-TR", "vi-VN", "zxx-XX", + "zh-Hans-CN", "zh-Hant-HK", "zh-Hant-TW", "zh-Hans-SG" + ]; + } + + var dirName = [size, assembly, compilationType, target].join("-"); + var urlPath = path.join('output/js', dirName); + outputPath = (assembly === "assembled") ? + path.resolve(__dirname, urlPath) : + path.resolve(__dirname, urlPath); + + var ret = { + entry: './lib/metafiles/ilib-' + size + '-webpack.js', + output: { + filename: 'ilib-standard.js', + chunkFilename: 'ilib.[name].js', + path: outputPath, + publicPath: "/" + urlPath + "/", + library: 'ilib', + libraryTarget: 'umd' + }, + module: { + rules: [{ + test: /\.js$/, // Run the loader on all .js files + exclude: /node_modules/, // ignore all files in the node_modules folder + use: { + loader: 'ilib-webpack-loader', + options: { + locales: locales, + assembly: assembly, + compilation: compilationType, + size: size, + ilibRoot: ilibRoot, + target: target + } + } + }] + }, + plugins: [ + new webpack.DefinePlugin({ + __VERSION__: JSON.stringify(require("./package.json").version) + }), + new IlibWebpackPlugin({ + locales: locales, + assembly: assembly, + compilation: compilationType, + size: size, + ilibRoot: ilibRoot + }) + ] + }; + + if (target !== "web") { + ret.target = target; + } + + ret.output.filename = "ilib-" + size; + if (assembly === "dynamicdata") { + ret.output.filename += "-dyn"; + } + if (compilationType === "compiled") { + ret.output.filename += "-compiled"; + } + ret.output.filename += ".js"; + + if (compilationType === "compiled") { + ret.plugins.splice(0, 0, new UglifyJsPlugin({ + cache: true, + parallel: 4, + uglifyOptions: { + compress: true, + warnings: true + } + })); + } + + //console.log("config is " + JSON.stringify(ret, undefined, 4)); + return ret; +}; diff --git a/package.json b/package.json index 9db8e63b0e..57850155cd 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ilib", - "version": "13.3.1", + "version": "14.0.0", "main": "js/lib/ilib-node.js", "description": "iLib is a cross-engine library of internationalization (i18n) classes written in pure JS", "keywords": [ @@ -52,18 +52,42 @@ "ringojs": ">=0.9", "nodejs": ">= 0.10" }, - "scripts": { - "test": "ant test" - }, "devDependencies": { + "babel-loader": "^7.1.2", "cldr-data": "^32.0.0", "ejs": "^2.5.2", + "grunt": "^1.0.3", + "grunt-cli": "^1.2.0", + "grunt-contrib-clean": "^1.1.0", + "grunt-contrib-compress": "^1.4.3", + "grunt-contrib-copy": "^1.0.0", + "grunt-contrib-uglify": "^3.4.0", + "grunt-eslint": "^21.0.0", + "grunt-http-server": "^2.1.0", + "grunt-jsdoc": "^2.2.1", + "grunt-md5sum": "^2.0.1", + "grunt-mkdir": "^1.0.0", + "grunt-move": "^1.0.0", + "grunt-contrib-nodeunit": "~0.4.1", + "grunt-shell": "^2.1.0", + "grunt-text-replace": "^0.4.0", + "grunt-contrib-uglify": "~0.5.0", "http-server": "^0.11.1", - "nodeunit": "0.12.0", + "ilib-webpack-loader": "^1.0.2", + "ilib-webpack-plugin": "^1.0.2", + "iso-15924": "^2.0.0", + "jsdoc2": "^2.4.0", "should": ">=11.1.0", "tap": "^10.0.2", "trireme": "^0.9.0", "uglify-js": "^3.3.0", - "xml2json": "^0.11.2" + "xml2json": "^0.11.2", + "uglifyjs-webpack-plugin": "^1.0.0", + "webpack": "^3.10.0" + }, + "scripts": { + "test": "ant test", + "build.web": "webpack -p", + "watch": "webpack --watch" } } diff --git a/qt/NodeunitTest/NodeunitRun.qmlproject b/qt/NodeunitTest/NodeunitRun.qmlproject index 027a86d42e..fac60933f9 100644 --- a/qt/NodeunitTest/NodeunitRun.qmlproject +++ b/qt/NodeunitTest/NodeunitRun.qmlproject @@ -3,7 +3,7 @@ import QmlProject 1.1 Project { - mainFile: "NodeunitRun.qml" + mainFile: "NodeunitRunAll.qml" /* Include .qml, .js, and image files from current directory and subdirectories */ QmlFiles { @@ -16,5 +16,5 @@ Project { directory: "." } /* List of plugin directories passed to QML runtime */ - importPaths: [ "../FS" ] + importPaths: [ "../FileReader/imports" ] } diff --git a/qt/NodeunitTest/NodeunitRunAll.qml b/qt/NodeunitTest/NodeunitRunAll.qml index 13c889d6f7..2fbd4eee65 100644 --- a/qt/NodeunitTest/NodeunitRunAll.qml +++ b/qt/NodeunitTest/NodeunitRunAll.qml @@ -13,21 +13,21 @@ QtObject { var runner = new TestRunner(); var suiteDefinitions = { - "address": "/address/nodeunit/testSuiteFiles.js", - "calendar": "/calendar/nodeunit/testSuiteFiles.js", - "collate": "/collate/nodeunit/testSuiteFiles.js", /* It takes almost 11 minutes. */ - "ctype": "/ctype/nodeunit/testSuiteFiles.js", - "date": "/date/nodeunit/testSuiteFiles.js", - "daterange": "/daterange/nodeunit/testSuiteFiles.js", - "durfmt": "/durfmt/nodeunit/testSuiteFiles.js", - "name": "/name/nodeunit/testSuiteFiles.js", - "number": "/number/nodeunit/testSuiteFiles.js", - "maps": "/maps/nodeunit/testSuiteFiles.js", - "phone": "/phone/nodeunit/testSuiteFiles.js", - "root": "/root/nodeunit/testSuiteFiles.js", - "strings-ext": "/strings-ext/nodeunit/testSuiteFiles.js", - "units": "/units/nodeunit/testSuiteFiles.js", - "util": "/util/nodeunit/testSuiteFiles.js" + "address": "/address/testSuiteFiles.js", + "calendar": "/calendar/testSuiteFiles.js", + "collate": "/collate/testSuiteFiles.js", /* It takes almost 11 minutes. */ + "ctype": "/ctype/testSuiteFiles.js", + "date": "/date/testSuiteFiles.js", + "daterange": "/daterange/testSuiteFiles.js", + "durfmt": "/durfmt/testSuiteFiles.js", + "name": "/name/testSuiteFiles.js", + "number": "/number/testSuiteFiles.js", + "maps": "/maps/testSuiteFiles.js", + "phone": "/phone/testSuiteFiles.js", + "root": "/root/testSuiteFiles.js", + "strings-ext": "/strings-ext/testSuiteFiles.js", + "units": "/units/testSuiteFiles.js", + "util": "/util/testSuiteFiles.js" }; var s, ts; diff --git a/qt/NodeunitTest/NodeunitRun_address.qml b/qt/NodeunitTest/NodeunitRun_address.qml index 186dad74da..de9b7eef20 100644 --- a/qt/NodeunitTest/NodeunitRun_address.qml +++ b/qt/NodeunitTest/NodeunitRun_address.qml @@ -13,7 +13,7 @@ QtObject { var runner = new TestRunner(); var suiteDefinitions = { - "address": "/address/nodeunit/testSuiteFiles.js" + "address": "/address/testSuiteFiles.js" }; var s, ts; diff --git a/qt/NodeunitTest/NodeunitRun_calendar.qml b/qt/NodeunitTest/NodeunitRun_calendar.qml index bb956b4058..5596a3674c 100644 --- a/qt/NodeunitTest/NodeunitRun_calendar.qml +++ b/qt/NodeunitTest/NodeunitRun_calendar.qml @@ -13,7 +13,7 @@ QtObject { var runner = new TestRunner(); var suiteDefinitions = { - "calendar": "/calendar/nodeunit/testSuiteFiles.js" + "calendar": "/calendar/testSuiteFiles.js" }; var s, ts; diff --git a/qt/NodeunitTest/NodeunitRun_collate.qml b/qt/NodeunitTest/NodeunitRun_collate.qml index 8d5897e8e6..efccc6584c 100644 --- a/qt/NodeunitTest/NodeunitRun_collate.qml +++ b/qt/NodeunitTest/NodeunitRun_collate.qml @@ -13,7 +13,7 @@ QtObject { var runner = new TestRunner(); var suiteDefinitions = { - "collate": "/collate/nodeunit/testSuiteFiles.js" /* It takes almost 11 minutes. */ + "collate": "/collate/testSuiteFiles.js" /* Note.It takes almost 11 minutes. */ }; var s, ts; diff --git a/qt/NodeunitTest/NodeunitRun_ctype.qml b/qt/NodeunitTest/NodeunitRun_ctype.qml index 087b6acdad..465bd65df7 100644 --- a/qt/NodeunitTest/NodeunitRun_ctype.qml +++ b/qt/NodeunitTest/NodeunitRun_ctype.qml @@ -13,7 +13,7 @@ QtObject { var runner = new TestRunner(); var suiteDefinitions = { - "ctype": "/ctype/nodeunit/testSuiteFiles.js" + "ctype": "/ctype/testSuiteFiles.js" }; var s, ts; diff --git a/qt/NodeunitTest/NodeunitRun_date.qml b/qt/NodeunitTest/NodeunitRun_date.qml index 467b59a605..1bfa570851 100644 --- a/qt/NodeunitTest/NodeunitRun_date.qml +++ b/qt/NodeunitTest/NodeunitRun_date.qml @@ -13,8 +13,8 @@ QtObject { var runner = new TestRunner(); var suiteDefinitions = { - "date": "/date/nodeunit/testSuiteFiles.js" - }; + "date": "/date/testSuiteFiles.js" + }; var s, ts; for (s in suiteDefinitions) { diff --git a/qt/NodeunitTest/NodeunitRun_daterange.qml b/qt/NodeunitTest/NodeunitRun_daterange.qml index 1fcd98f237..7eb79114b3 100644 --- a/qt/NodeunitTest/NodeunitRun_daterange.qml +++ b/qt/NodeunitTest/NodeunitRun_daterange.qml @@ -13,7 +13,7 @@ QtObject { var runner = new TestRunner(); var suiteDefinitions = { - "daterange": "/daterange/nodeunit/testSuiteFiles.js" + "daterange": "/daterange/testSuiteFiles.js" }; var s, ts; diff --git a/qt/NodeunitTest/NodeunitRun_durfmt.qml b/qt/NodeunitTest/NodeunitRun_durfmt.qml index d312b23af6..c0a3b6edaa 100644 --- a/qt/NodeunitTest/NodeunitRun_durfmt.qml +++ b/qt/NodeunitTest/NodeunitRun_durfmt.qml @@ -13,7 +13,7 @@ QtObject { var runner = new TestRunner(); var suiteDefinitions = { - "durfmt": "/durfmt/nodeunit/testSuiteFiles.js" + "durfmt": "/durfmt/testSuiteFiles.js" }; var s, ts; diff --git a/qt/NodeunitTest/NodeunitRun_maps.qml b/qt/NodeunitTest/NodeunitRun_maps.qml index c5dbec08b1..c41596e5ce 100644 --- a/qt/NodeunitTest/NodeunitRun_maps.qml +++ b/qt/NodeunitTest/NodeunitRun_maps.qml @@ -13,7 +13,7 @@ QtObject { var runner = new TestRunner(); var suiteDefinitions = { - "maps": "/maps/nodeunit/testSuiteFiles.js" + "maps": "/maps/testSuiteFiles.js" }; var s, ts; diff --git a/qt/NodeunitTest/NodeunitRun_name.qml b/qt/NodeunitTest/NodeunitRun_name.qml index 904959fb7c..20834f4c9d 100644 --- a/qt/NodeunitTest/NodeunitRun_name.qml +++ b/qt/NodeunitTest/NodeunitRun_name.qml @@ -13,7 +13,7 @@ QtObject { var runner = new TestRunner(); var suiteDefinitions = { - "name": "/name/nodeunit/testSuiteFiles.js" + "name": "/name/testSuiteFiles.js" }; var s, ts; diff --git a/qt/NodeunitTest/NodeunitRun_number.qml b/qt/NodeunitTest/NodeunitRun_number.qml index bcd650c798..802f109f9b 100644 --- a/qt/NodeunitTest/NodeunitRun_number.qml +++ b/qt/NodeunitTest/NodeunitRun_number.qml @@ -13,7 +13,7 @@ QtObject { var runner = new TestRunner(); var suiteDefinitions = { - "number": "/number/nodeunit/testSuiteFiles.js" + "number": "/number/testSuiteFiles.js" }; var s, ts; diff --git a/qt/NodeunitTest/NodeunitRun_phone.qml b/qt/NodeunitTest/NodeunitRun_phone.qml index 235a0a7b82..5eb5f83f72 100644 --- a/qt/NodeunitTest/NodeunitRun_phone.qml +++ b/qt/NodeunitTest/NodeunitRun_phone.qml @@ -13,7 +13,7 @@ QtObject { var runner = new TestRunner(); var suiteDefinitions = { - "phone": "/phone/nodeunit/testSuiteFiles.js" + "phone": "/phone/testSuiteFiles.js" }; var s, ts; diff --git a/qt/NodeunitTest/NodeunitRun_root.qml b/qt/NodeunitTest/NodeunitRun_root.qml index f7fed1c62d..8ff6b889fd 100644 --- a/qt/NodeunitTest/NodeunitRun_root.qml +++ b/qt/NodeunitTest/NodeunitRun_root.qml @@ -13,7 +13,7 @@ QtObject { var runner = new TestRunner(); var suiteDefinitions = { - "root": "/root/nodeunit/testSuiteFiles.js" + "root": "/root/testSuiteFiles.js" }; var s, ts; diff --git a/qt/NodeunitTest/NodeunitRun_strings_ext.qml b/qt/NodeunitTest/NodeunitRun_strings_ext.qml index 1775dab836..01dc27117d 100644 --- a/qt/NodeunitTest/NodeunitRun_strings_ext.qml +++ b/qt/NodeunitTest/NodeunitRun_strings_ext.qml @@ -13,7 +13,7 @@ QtObject { var runner = new TestRunner(); var suiteDefinitions = { - "strings-ext": "/strings-ext/nodeunit/testSuiteFiles.js" + "strings-ext": "/strings-ext/testSuiteFiles.js" }; var s, ts; diff --git a/qt/NodeunitTest/NodeunitRun_units.qml b/qt/NodeunitTest/NodeunitRun_units.qml index 3f31e9f00f..f3d59a3dd8 100644 --- a/qt/NodeunitTest/NodeunitRun_units.qml +++ b/qt/NodeunitTest/NodeunitRun_units.qml @@ -13,7 +13,7 @@ QtObject { var runner = new TestRunner(); var suiteDefinitions = { - "units": "/units/nodeunit/testSuiteFiles.js" + "units": "/units/testSuiteFiles.js" }; var s, ts; diff --git a/qt/NodeunitTest/NodeunitRun_util.qml b/qt/NodeunitTest/NodeunitRun_util.qml index cd5531674c..05a1a2dac7 100644 --- a/qt/NodeunitTest/NodeunitRun_util.qml +++ b/qt/NodeunitTest/NodeunitRun_util.qml @@ -13,7 +13,7 @@ QtObject { var runner = new TestRunner(); var suiteDefinitions = { - "util": "/util/nodeunit/testSuiteFiles.js" + "util": "/util/testSuiteFiles.js" }; var s, ts; diff --git a/qt/NodeunitTest/TestEnvironment.qml b/qt/NodeunitTest/TestEnvironment.qml index ced41cb833..3a315a820c 100644 --- a/qt/NodeunitTest/TestEnvironment.qml +++ b/qt/NodeunitTest/TestEnvironment.qml @@ -23,7 +23,7 @@ QtObject { testSuites = require("qmltest", path); for (i=0; i < testSuites["files"].length; i++) { - runTest = require("qmltest", "/" + moduleName + "/nodeunit/"+ testSuites["files"][i]); + runTest = require("qmltest", "/" + moduleName + "/"+ testSuites["files"][i]); } Nodeunit.nodeunit.run(runTest) diff --git a/qt/build.xml b/qt/build.xml index f3aa64cdae..2a30e84cff 100644 --- a/qt/build.xml +++ b/qt/build.xml @@ -38,7 +38,7 @@ limitations under the License. - + @@ -53,18 +53,13 @@ limitations under the License. - + - - - - - @@ -72,6 +67,13 @@ limitations under the License. + + + + + + + @@ -83,9 +85,6 @@ limitations under the License. - - - @@ -98,12 +97,10 @@ limitations under the License. - - - + @@ -125,50 +122,33 @@ limitations under the License. - + - - - - - - - - - - - - - - - - - - + - + - + - + - + - + @@ -181,7 +161,7 @@ limitations under the License. - + @@ -194,7 +174,7 @@ limitations under the License. - + @@ -207,7 +187,7 @@ limitations under the License. - + @@ -220,7 +200,7 @@ limitations under the License. - + @@ -233,7 +213,7 @@ limitations under the License. - + @@ -246,7 +226,7 @@ limitations under the License. - + @@ -259,7 +239,7 @@ limitations under the License. - + @@ -272,7 +252,7 @@ limitations under the License. - + @@ -285,7 +265,7 @@ limitations under the License. - + @@ -298,7 +278,7 @@ limitations under the License. - + @@ -311,7 +291,7 @@ limitations under the License. - + @@ -324,7 +304,7 @@ limitations under the License. - + @@ -337,7 +317,7 @@ limitations under the License. - + @@ -349,11 +329,6 @@ limitations under the License. - - - - - - + + diff --git a/tools/cldr/genlang2charset.js b/tools/cldr/genlang2charset.js new file mode 100644 index 0000000000..838aa64f65 --- /dev/null +++ b/tools/cldr/genlang2charset.js @@ -0,0 +1,125 @@ +/* + * genlang2charset.js - ilib tool to generate the mapping between languages + * and charsets that support that language + * + * Copyright © 2018, JEDLSoft + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/* + * This code is intended to be run under node.js + */ + +var fs = require('fs'); +var util = require('util'); +var common = require('./common.js'); +var path = require('path'); + +var Locale = common.Locale; + +var ilib = require("../../js/lib/ilib-node.js"); // installs the node loader +var LocaleMatcher = require("../../js/lib/LocaleMatcher.js"); + +function usage() { + console.log("Usage: genlang2charset [path_to_locale_data]\n" + + "Generate the map between language codes and the charsets that support those languages.\n\n" + + "-h or --help\n" + + " this help\n" + + "path_to_locale_data\n" + + " path to ilib's js/data/locale directory. Default: ../../js/data/locale\n"); + process.exit(1); +} + +var localeDir = "../../js/data/locale"; + +process.argv.forEach(function (val, index, array) { + if (val === "-h" || val === "--help") { + usage(); + } +}); + +if (process.argv[2]) { + localeDir = process.argv[2]; +} + +console.log("genlang2charset - generate language to charset mapping data.\n" + + "Copyright (c) 2018 JEDLSoft\n"); + +if (!fs.existsSync(localeDir)) { + util.error("Could not access locale dir " + localeDir); + usage(); +} + +function toArray(set) { + var ret = []; + if (!set) return ret; + set.forEach(function(element) { + ret.push(element); + }); + return ret; +} + +var charsetsDir = path.join(localeDir, "charset"); +var files = fs.readdirSync(charsetsDir); + +var map = {}; + +files.filter(function(file) { + return file && file.endsWith(".json"); +}).forEach(function(file) { + var data = require(path.join(charsetsDir, file)); + var charset = path.basename(file, ".json"); + if (data && data.locales) { + data.locales.forEach(function(locale) { + var lang; + + // star means "all locales" + if (locale !== "*") { + var l = new Locale(locale); + var lm = new LocaleMatcher({locale: locale}); + var full = lm.getLikelyLocale(); + lang = full.getLanguage(); + if (lang && l.getScript()) { + lang += "-" + l.getScript(); + } + } + + if (lang) { + if (!map[lang]) { + map[lang] = new Set(); + } + map[lang].add(charset); + } + }); + } +}); + +var output = {}; + +Object.keys(map).sort().forEach(function(lang) { + output[lang] = toArray(map[lang]); +}); + +// this is for all languages +output["*"] = [ + "UTF-8", + "UTF-16", + "UTF-16BE", + "UTF-16LE" +]; + +fs.writeFileSync(path.join(localeDir, "lang2charset.json"), JSON.stringify(output, undefined, 4), "utf-8"); + +console.log("Done."); \ No newline at end of file diff --git a/tools/cldr/gennorm.js b/tools/cldr/gennorm.js index 56778c0731..c5b2476acc 100644 --- a/tools/cldr/gennorm.js +++ b/tools/cldr/gennorm.js @@ -2,7 +2,7 @@ * gennorm.js - ilib tool to generate the json UNA normalization data from the Unicode * data files * - * Copyright © 2013-2015, JEDLSoft + * Copyright © 2013-2018, JEDLSoft * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -27,6 +27,8 @@ var util = require('util'); var uniData = require('./uniData.js'); var unifile = require('./unifile.js'); var common = require('./common.js'); +var iso15924 = require('iso-15924'); + var UnicodeData = uniData.UnicodeData; var CharacterInfo = uniData.CharacterInfo; var UnicodeFile = unifile.UnicodeFile; @@ -35,7 +37,7 @@ var isMember = common.isMember; var coelesce = common.coelesce; function usage() { - util.print("Usage: gennorm [-h] UCD_dir [dataDir [codeDir]]\n" + + console.log("Usage: gennorm [-h] UCD_dir [dataDir [codeDir]]\n" + "Generate the normalization data.\n\n" + "-h or --help\n" + " this help\n" + @@ -43,15 +45,15 @@ function usage() { " path to the Unicode Character Database files and the ISO-15924-file.txt script\n" + " code definition file downloaded from the Unicode site and untarred/uncompressed.\n" + "dataDir\n" + - " directory to output the normalization data json files. Default: current dir.\n" + + " directory to output the normalization data json files. Default: current_dir/locale.\n" + "codeDir\n" + - " directory to output the generated code files. Default: current dir.\n"); + " directory to output the generated code files. Default: current_dir/lib.\n"); process.exit(1); } var unicodeDirName; -var toDir = "."; -var codeDir = "."; +var toDir = "./locale"; +var codeDir = "./lib"; process.argv.forEach(function (val, index, array) { if (val === "-h" || val === "--help") { @@ -74,7 +76,7 @@ if (process.argv.length > 3) { } } -util.print("gennorm - generate normalization data.\n" + +console.log("gennorm - generate normalization data.\n" + "Copyright (c) 2012 JEDLSoft\n"); if (!fs.existsSync(unicodeDirName)) { @@ -95,21 +97,23 @@ if (!fs.existsSync(exclusionFileName)) { util.error("Could not find file " + exclusionFileName); usage(); } -if (!fs.existsSync(scriptNamesFileName)) { - util.error("Could not find file " + scriptNamesFileName); - usage(); -} if (!fs.existsSync(scriptFileName)) { util.error("Could not find file " + scriptFileName); usage(); } if (!fs.existsSync(toDir)) { - util.error("Could not access target data directory " + toDir); - usage(); + mkdirs(toDir); + if (!fs.existsSync(toDir)) { + util.error("Could not access target data directory " + toDir); + usage(); + } } if (!fs.existsSync(codeDir)) { - util.error("Could not access target code directory " + codeDir); - usage(); + mkdirs(codeDir); + if (!fs.existsSync(codeDir)) { + util.error("Could not access target code directory " + codeDir); + usage(); + } } var canonicalMappings = {}; var canonicalDecomp = {}; @@ -155,7 +159,7 @@ for (var i = 0; i < len; i++ ) { compositionExclusions.push((range.length > 1) ? [parseInt(range[0], 16), parseInt(range[1], 16)] : parseInt(fields[0], 16)); } } -//util.print("Full exclusion table is:\n" + JSON.stringify(compositionExclusions)); +//console.log("Full exclusion table is:\n" + JSON.stringify(compositionExclusions)); var ud = new UnicodeData({path: unicodeFileName}); len = ud.length(); @@ -168,7 +172,7 @@ for (var i = 0; i < len; i++ ) { if (!isMember(compositionExclusions, common.UTF16ToCodePoint(c))) { canonicalComp[row.getDecomposition()] = c; //} else { - // util.print("Composition from " + common.UTF16ToCodePoint(c) + " to " + common.UTF16ToCodePoint(row.getDecomposition()) + " is on the exclusion list.\n"); + // console.log("Composition from " + common.UTF16ToCodePoint(c) + " to " + common.UTF16ToCodePoint(row.getDecomposition()) + " is on the exclusion list.\n"); } } else { compatibilityMappings[c] = row.getDecomposition(); @@ -182,19 +186,9 @@ for (var i = 0; i < len; i++ ) { var fullToShortMap = {}; -var sn = new UnicodeFile({path: scriptNamesFileName}); -var len = sn.length(); -var longCode; - -for (var i = 0; i < len; i++ ) { - row = sn.get(i); - - longCode = (row[4].length == 0) ? row[2] : row[4]; - longCode = longCode.replace(/ +/g, '_'); - if (longCode.length > 0) { - fullToShortMap[longCode.toLowerCase()] = row[0]; - } -} +iso15924.forEach(function(script) { + fullToShortMap[(script.pva && script.pva.toLowerCase()) || script.name.toLowerCase()] = script.code; +}); var scriptsFile = new UnicodeFile({path: scriptFileName}); var scriptName, rangeStart, rangeEnd; @@ -233,68 +227,66 @@ function findScript(str) { } function genCode(script, form) { - var str = - "/*\n" + - " * " + script + ".js - include file for normalization data for a particular script\n" + - " * \n" + - " * Copyright © 2013 - 2015, JEDLSoft\n" + - " *\n" + - " * Licensed under the Apache License, Version 2.0 (the \"License\");\n" + - " * you may not use this file except in compliance with the License.\n" + - " * You may obtain a copy of the License at\n" + - " *\n" + - " * http://www.apache.org/licenses/LICENSE-2.0\n" + - " *\n" + - " * Unless required by applicable law or agreed to in writing, software\n" + - " * distributed under the License is distributed on an \"AS IS\" BASIS,\n" + - " * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n" + - " *\n" + - " * See the License for the specific language governing permissions and\n" + - " * limitations under the License.\n" + - " */\n" + - "/* WARNING: THIS IS A FILE GENERATED BY gennorm.js. DO NOT EDIT BY HAND. */\n"; - if (script !== "Zyyy" && script !== "all") { - // Zyyy cannot depend on itself, and all already includes Zyyy - str += "// !depends " + form + "/Zyyy.js\n"; - } - switch (form) { - case 'nfd': - str += "// !data normdata nfd/" + script + "\n" + - "ilib.extend(ilib.data.norm, ilib.data.normdata);\n" + - "ilib.extend(ilib.data.norm.nfd, ilib.data.nfd_" + script + ");\n" + - "ilib.data.normdata = undefined;\n" + - "ilib.data.nfd_" + script + " = undefined;"; - break; - case 'nfc': - str += "// !depends nfd/" + script + ".js\n" + - "// !data norm\n" + - "ilib.extend(ilib.data.norm, ilib.data.normdata);\n" + - "ilib.data.normdata = undefined;\n"; - break; - case 'nfkd': - str += "// !depends nfd/" + script + ".js\n" + - "// !data normdata nfkd/" + script + "\n" + - "ilib.extend(ilib.data.norm, ilib.data.normdata);\n" + - "ilib.extend(ilib.data.norm.nfkd, ilib.data.nfkd_" + script + ");\n" + - "ilib.data.normdata = undefined;\n" + - "ilib.data.nfkd_" + script + " = undefined;"; - break; - case 'nfkc': - str += "// !depends nfd/" + script + ".js nfkd/" + script + ".js\n" + - "// !data norm\n" + - "ilib.extend(ilib.data.norm, ilib.data.normdata);\n" + - "ilib.data.normdata = undefined;\n"; - break; - } - - return str; + var str = + "/*\n" + + " * " + script + ".js - include file for normalization data for a particular script\n" + + " * \n" + + " * Copyright © 2013 - 2018, JEDLSoft\n" + + " *\n" + + " * Licensed under the Apache License, Version 2.0 (the \"License\");\n" + + " * you may not use this file except in compliance with the License.\n" + + " * You may obtain a copy of the License at\n" + + " *\n" + + " * http://www.apache.org/licenses/LICENSE-2.0\n" + + " *\n" + + " * Unless required by applicable law or agreed to in writing, software\n" + + " * distributed under the License is distributed on an \"AS IS\" BASIS,\n" + + " * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n" + + " *\n" + + " * See the License for the specific language governing permissions and\n" + + " * limitations under the License.\n" + + " */\n" + + "/* WARNING: THIS IS A FILE GENERATED BY gennorm.js. DO NOT EDIT BY HAND. */\n"; + switch (form) { + case 'nfd': + str += "// !data nfd/" + script; + if (script !== "Zyyy" && script !== "all") { + // Zyyy cannot depend on itself, and all already includes Zyyy + str += " nfd/Zyyy"; + } + break; + case 'nfc': + str += "// !data nfc/" + script + " nfd/" + script; + if (script !== "Zyyy" && script !== "all") { + // Zyyy cannot depend on itself, and all already includes Zyyy + str += " nfc/Zyyy nfd/Zyyy"; + } + break; + case 'nfkd': + str += "// !data nfkd/" + script + " nfd/" + script; + if (script !== "Zyyy" && script !== "all") { + // Zyyy cannot depend on itself, and all already includes Zyyy + str += " nfkd/Zyyy nfd/Zyyy"; + } + break; + case 'nfkc': + str += "// !data nfc/" + script + " nfkd/" + script + " nfd/" + script; + if (script !== "Zyyy" && script !== "all") { + // Zyyy cannot depend on itself, and all already includes Zyyy + str += " nfc/Zyyy nfkd/Zyyy nfd/Zyyy"; + } + break; + } + + str += "\n"; + + return str; } var script; var nfdByScript = {}; var nfcByScript = {}; var nfkdByScript = {}; -var norm = {}; // the Unicode data has only the binary decompositions. That is, the first of // two chars of a decomposition may be itself decomposable. So, apply the @@ -345,7 +337,7 @@ function mkdirs(path) { } mkdirs(toDir + "/nfd"); -//mkdirs(toDir + "/nfc"); +mkdirs(toDir + "/nfc"); mkdirs(toDir + "/nfkd"); mkdirs(codeDir + "/nfd"); @@ -380,14 +372,11 @@ for (script in nfdByScript) { } } -/* fs.writeFile(toDir + "/nfc/all.json", JSON.stringify(canonicalComp, true, 4), function (err) { if (err) { throw err; } }); -*/ -norm.nfc = canonicalComp; fs.writeFile(codeDir + "/nfc/all.js", genCode("all", "nfc"), function (err) { if (err) { @@ -397,13 +386,11 @@ fs.writeFile(codeDir + "/nfc/all.js", genCode("all", "nfc"), function (err) { for (script in nfcByScript) { if (script && nfcByScript[script]) { - /* fs.writeFile(toDir + "/nfc/" + script + ".json", JSON.stringify(nfcByScript[script], true, 4), function (err) { if (err) { throw err; } }); - */ fs.writeFile(codeDir + "/nfc/" + script + ".js", genCode(script, "nfc"), function (err) { if (err) { throw err; @@ -455,8 +442,7 @@ for (script in nfkdByScript) { } } -norm.ccc = combiningMappings; -fs.writeFile(toDir + "/normdata.json", JSON.stringify(norm, true, 4), function (err) { +fs.writeFile(toDir + "/ccc.json", JSON.stringify(combiningMappings, true, 4), function (err) { if (err) { throw err; }