diff --git a/app.platform.scheduler.executor/gradle.properties b/app.platform.scheduler.executor/gradle.properties new file mode 100644 index 00000000..e69de29b diff --git a/app.platform.scheduler.executor/src/main/resources/META-INF/platform/plugins/frontend-module.json b/app.platform.scheduler.executor/src/main/resources/META-INF/platform/plugins/frontend-module.json new file mode 100644 index 00000000..8eadc4af --- /dev/null +++ b/app.platform.scheduler.executor/src/main/resources/META-INF/platform/plugins/frontend-module.json @@ -0,0 +1,11 @@ +{ + "name": "app.platform", + "components": [ + ], + "resources": [ + "/public/configure.js", + "/public/favicon.svg", + "/public/login-bg.jpg", + "/public/logo.svg" + ] +} \ No newline at end of file diff --git a/app.platform.scheduler.executor/src/main/resources/META-INF/platform/plugins/messages.json b/app.platform.scheduler.executor/src/main/resources/META-INF/platform/plugins/messages.json new file mode 100644 index 00000000..4400a3a7 --- /dev/null +++ b/app.platform.scheduler.executor/src/main/resources/META-INF/platform/plugins/messages.json @@ -0,0 +1,5 @@ +{ + "includes":[ + "app/platform/scheduler/executor/i18n/messages" + ] +} \ No newline at end of file diff --git a/app.platform.scheduler.executor/src/main/resources/app/platform/scheduler/executor/i18n/messages.properties b/app.platform.scheduler.executor/src/main/resources/app/platform/scheduler/executor/i18n/messages.properties new file mode 100644 index 00000000..d36dbe14 --- /dev/null +++ b/app.platform.scheduler.executor/src/main/resources/app/platform/scheduler/executor/i18n/messages.properties @@ -0,0 +1,3 @@ +application.title=Scheduler Executor +application.version=$version +application.copyright=Copyright \u00A9 2019\u20132022 \ No newline at end of file diff --git a/app.platform.scheduler.executor/src/main/resources/app/platform/scheduler/executor/i18n/messages_tw_CN.properties b/app.platform.scheduler.executor/src/main/resources/app/platform/scheduler/executor/i18n/messages_tw_CN.properties new file mode 100644 index 00000000..219886da --- /dev/null +++ b/app.platform.scheduler.executor/src/main/resources/app/platform/scheduler/executor/i18n/messages_tw_CN.properties @@ -0,0 +1,3 @@ +application.title=\u8ABF\u5EA6\u57F7\u884C\u5668 +application.version=$version +application.copyright=Copyright \u00A9 2019\u20132022 \ No newline at end of file diff --git a/app.platform.scheduler.executor/src/main/resources/app/platform/scheduler/executor/i18n/messages_zh_CN.properties b/app.platform.scheduler.executor/src/main/resources/app/platform/scheduler/executor/i18n/messages_zh_CN.properties new file mode 100644 index 00000000..d188ba47 --- /dev/null +++ b/app.platform.scheduler.executor/src/main/resources/app/platform/scheduler/executor/i18n/messages_zh_CN.properties @@ -0,0 +1,3 @@ +application.title=\u8C03\u5EA6\u6267\u884C\u5668 +application.version=$version +application.copyright=Copyright \u00A9 2019\u20132022 \ No newline at end of file diff --git a/app.platform.scheduler.executor/src/main/resources/public/favicon.svg b/app.platform.scheduler.executor/src/main/resources/public/favicon.svg new file mode 100644 index 00000000..eab5885e --- /dev/null +++ b/app.platform.scheduler.executor/src/main/resources/public/favicon.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app.platform.scheduler.executor/src/main/resources/public/login-bg.jpg b/app.platform.scheduler.executor/src/main/resources/public/login-bg.jpg new file mode 100644 index 00000000..2878bbf4 Binary files /dev/null and b/app.platform.scheduler.executor/src/main/resources/public/login-bg.jpg differ diff --git a/app.platform.scheduler.executor/src/main/resources/public/logo.svg b/app.platform.scheduler.executor/src/main/resources/public/logo.svg new file mode 100644 index 00000000..2f63474f --- /dev/null +++ b/app.platform.scheduler.executor/src/main/resources/public/logo.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app.platform.scheduler.executor/src/main/resources/running-mode.properties b/app.platform.scheduler.executor/src/main/resources/running-mode.properties new file mode 100644 index 00000000..e5b12e71 --- /dev/null +++ b/app.platform.scheduler.executor/src/main/resources/running-mode.properties @@ -0,0 +1 @@ +development=true \ No newline at end of file diff --git a/app.platform.scheduler.manager/build.gradle b/app.platform.scheduler.manager/build.gradle new file mode 100644 index 00000000..2ae85bf0 --- /dev/null +++ b/app.platform.scheduler.manager/build.gradle @@ -0,0 +1,99 @@ +apply plugin: 'war' +apply plugin: 'com.google.cloud.tools.jib' + +apply from: "build-common.gradle" + +dependencies { + implementation("org.springframework.boot:spring-boot-starter-web"){ + exclude group: "org.springframework.boot", module: "spring-boot-starter-tomcat" + } +} + +dependencies { + implementation ( + project(":io.sc.platform.scheduler.manager"), + ) +} + +/** + * replace [application.version] in i18n message file + */ +processResources { + filesMatching('**/messages*.properties') { + println 'replace ${version} in [' + it + ']' + filteringCharset = 'iso8859-1' + filter(org.apache.tools.ant.filters.ReplaceTokens, beginToken: '$version', endToken: '',tokens: [version: '' + project.version]) + } + + doLast{ + // 为了能够兼容 eclipse 和 idea 两种开发环境,调整如下: + // 1. 将 environment.properties 文件放在了 src/main/resources 目录中 + // 2. 在打包时,将该文件删除 + delete "$buildDir/resources/main/running-mode.properties" + } + +} + +bootWar{ + mainClass = "${project.name}.Application" + //launchScript() + manifest { + attributes 'Implementation-Version': archiveVersion, + 'Implementation-Title': project.name + } +} + +bootJar{ + mainClass = "${project.name}.Application" + //launchScript() + manifest { + attributes 'Implementation-Version': archiveVersion, + 'Implementation-Title': project.name + } +} + + +jib { + outputPaths { + tar = "build/libs/${project.name}-${project.version}-image.tar" + } + from { + image = "openjdk:8u342-slim" + //image = "eclipse-temurin:8u382-b05-jdk-focal" + platforms { + platform { + architecture ="arm64" + os ="linux" + } + } + } + to { + image = "${project.name}:${project.version}" + } + extraDirectories { + paths { + path { + from = "build/libs/" + into = "/opt/${project.name}/" + includes = ["${project.name}-${project.version}.war"] + } + } + } + container { + /** + * 设置jvm的启动参数 + * user.timezone - 解决Java程序的时区问题 + */ + jvmFlags = ["-Duser.timezone=Asia/Shanghai"] + creationTime = "USE_CURRENT_TIMESTAMP" + ports = ["8080"] + entrypoint = [ + "java", + "-jar", + "/opt/" + project.name + "/" + project.name + "-" + project.version + ".war", + "--" + project.name + ".home.dir=" + "/opt/" + project.name + ] + //entrypoint = "java -version" + //appRoot = "/usr/local/tomcat/webapps/ROOT" + } +} diff --git a/app.platform.scheduler.manager/gradle.properties b/app.platform.scheduler.manager/gradle.properties new file mode 100644 index 00000000..e69de29b diff --git a/app.platform.scheduler.manager/src/main/resources/META-INF/platform/plugins/frontend-module.json b/app.platform.scheduler.manager/src/main/resources/META-INF/platform/plugins/frontend-module.json new file mode 100644 index 00000000..8eadc4af --- /dev/null +++ b/app.platform.scheduler.manager/src/main/resources/META-INF/platform/plugins/frontend-module.json @@ -0,0 +1,11 @@ +{ + "name": "app.platform", + "components": [ + ], + "resources": [ + "/public/configure.js", + "/public/favicon.svg", + "/public/login-bg.jpg", + "/public/logo.svg" + ] +} \ No newline at end of file diff --git a/app.platform.scheduler.manager/src/main/resources/META-INF/platform/plugins/messages.json b/app.platform.scheduler.manager/src/main/resources/META-INF/platform/plugins/messages.json new file mode 100644 index 00000000..0a260332 --- /dev/null +++ b/app.platform.scheduler.manager/src/main/resources/META-INF/platform/plugins/messages.json @@ -0,0 +1,5 @@ +{ + "includes":[ + "app/platform/scheduler/manager/i18n/messages" + ] +} \ No newline at end of file diff --git a/app.platform.scheduler.manager/src/main/resources/app/platform/scheduler/manager/i18n/messages.properties b/app.platform.scheduler.manager/src/main/resources/app/platform/scheduler/manager/i18n/messages.properties new file mode 100644 index 00000000..bd39eb34 --- /dev/null +++ b/app.platform.scheduler.manager/src/main/resources/app/platform/scheduler/manager/i18n/messages.properties @@ -0,0 +1,3 @@ +application.title=Scheduler Manager +application.version=$version +application.copyright=Copyright \u00A9 2019\u20132022 \ No newline at end of file diff --git a/app.platform.scheduler.manager/src/main/resources/app/platform/scheduler/manager/i18n/messages_tw_CN.properties b/app.platform.scheduler.manager/src/main/resources/app/platform/scheduler/manager/i18n/messages_tw_CN.properties new file mode 100644 index 00000000..76ee26cf --- /dev/null +++ b/app.platform.scheduler.manager/src/main/resources/app/platform/scheduler/manager/i18n/messages_tw_CN.properties @@ -0,0 +1,3 @@ +application.title=\u8ABF\u5EA6\u7BA1\u7406\u5668 +application.version=$version +application.copyright=Copyright \u00A9 2019\u20132022 \ No newline at end of file diff --git a/app.platform.scheduler.manager/src/main/resources/app/platform/scheduler/manager/i18n/messages_zh_CN.properties b/app.platform.scheduler.manager/src/main/resources/app/platform/scheduler/manager/i18n/messages_zh_CN.properties new file mode 100644 index 00000000..6c9a886f --- /dev/null +++ b/app.platform.scheduler.manager/src/main/resources/app/platform/scheduler/manager/i18n/messages_zh_CN.properties @@ -0,0 +1,3 @@ +application.title=\u8C03\u5EA6\u7BA1\u7406\u5668 +application.version=$version +application.copyright=Copyright \u00A9 2019\u20132022 \ No newline at end of file diff --git a/app.platform.scheduler.manager/src/main/resources/public/favicon.svg b/app.platform.scheduler.manager/src/main/resources/public/favicon.svg new file mode 100644 index 00000000..eab5885e --- /dev/null +++ b/app.platform.scheduler.manager/src/main/resources/public/favicon.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app.platform.scheduler.manager/src/main/resources/public/login-bg.jpg b/app.platform.scheduler.manager/src/main/resources/public/login-bg.jpg new file mode 100644 index 00000000..2878bbf4 Binary files /dev/null and b/app.platform.scheduler.manager/src/main/resources/public/login-bg.jpg differ diff --git a/app.platform.scheduler.manager/src/main/resources/public/logo.svg b/app.platform.scheduler.manager/src/main/resources/public/logo.svg new file mode 100644 index 00000000..2f63474f --- /dev/null +++ b/app.platform.scheduler.manager/src/main/resources/public/logo.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app.platform.scheduler.manager/src/main/resources/running-mode.properties b/app.platform.scheduler.manager/src/main/resources/running-mode.properties new file mode 100644 index 00000000..e5b12e71 --- /dev/null +++ b/app.platform.scheduler.manager/src/main/resources/running-mode.properties @@ -0,0 +1 @@ +development=true \ No newline at end of file diff --git a/app.platform/platform.sql b/app.platform/platform.sql deleted file mode 100644 index de222171..00000000 --- a/app.platform/platform.sql +++ /dev/null @@ -1,128 +0,0 @@ --- platform.xxl_job_group definition - -CREATE TABLE `xxl_job_group` ( - `id` int NOT NULL AUTO_INCREMENT, - `app_name` varchar(64) NOT NULL COMMENT '执行器AppName', - `title` varchar(12) NOT NULL COMMENT '执行器名称', - `address_type` tinyint NOT NULL DEFAULT '0' COMMENT '执行器地址类型:0=自动注册、1=手动录入', - `address_list` text COMMENT '执行器地址列表,多地址逗号分隔', - `update_time` datetime DEFAULT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; - - --- platform.xxl_job_info definition - -CREATE TABLE `xxl_job_info` ( - `id` int NOT NULL AUTO_INCREMENT, - `job_group` int NOT NULL COMMENT '执行器主键ID', - `job_desc` varchar(255) NOT NULL, - `add_time` datetime DEFAULT NULL, - `update_time` datetime DEFAULT NULL, - `author` varchar(64) DEFAULT NULL COMMENT '作者', - `alarm_email` varchar(255) DEFAULT NULL COMMENT '报警邮件', - `schedule_type` varchar(50) NOT NULL DEFAULT 'NONE' COMMENT '调度类型', - `schedule_conf` varchar(128) DEFAULT NULL COMMENT '调度配置,值含义取决于调度类型', - `misfire_strategy` varchar(50) NOT NULL DEFAULT 'DO_NOTHING' COMMENT '调度过期策略', - `executor_route_strategy` varchar(50) DEFAULT NULL COMMENT '执行器路由策略', - `executor_handler` varchar(255) DEFAULT NULL COMMENT '执行器任务handler', - `executor_param` varchar(512) DEFAULT NULL COMMENT '执行器任务参数', - `executor_block_strategy` varchar(50) DEFAULT NULL COMMENT '阻塞处理策略', - `executor_timeout` int NOT NULL DEFAULT '0' COMMENT '任务执行超时时间,单位秒', - `executor_fail_retry_count` int NOT NULL DEFAULT '0' COMMENT '失败重试次数', - `glue_type` varchar(50) NOT NULL COMMENT 'GLUE类型', - `glue_source` mediumtext COMMENT 'GLUE源代码', - `glue_remark` varchar(128) DEFAULT NULL COMMENT 'GLUE备注', - `glue_updatetime` datetime DEFAULT NULL COMMENT 'GLUE更新时间', - `child_jobid` varchar(255) DEFAULT NULL COMMENT '子任务ID,多个逗号分隔', - `trigger_status` tinyint NOT NULL DEFAULT '0' COMMENT '调度状态:0-停止,1-运行', - `trigger_last_time` bigint NOT NULL DEFAULT '0' COMMENT '上次调度时间', - `trigger_next_time` bigint NOT NULL DEFAULT '0' COMMENT '下次调度时间', - PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; - - --- platform.xxl_job_lock definition - -CREATE TABLE `xxl_job_lock` ( - `lock_name` varchar(50) NOT NULL COMMENT '锁名称', - PRIMARY KEY (`lock_name`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; - - --- platform.xxl_job_log definition - -CREATE TABLE `xxl_job_log` ( - `id` bigint NOT NULL AUTO_INCREMENT, - `job_group` int NOT NULL COMMENT '执行器主键ID', - `job_id` int NOT NULL COMMENT '任务,主键ID', - `executor_address` varchar(255) DEFAULT NULL COMMENT '执行器地址,本次执行的地址', - `executor_handler` varchar(255) DEFAULT NULL COMMENT '执行器任务handler', - `executor_param` varchar(512) DEFAULT NULL COMMENT '执行器任务参数', - `executor_sharding_param` varchar(20) DEFAULT NULL COMMENT '执行器任务分片参数,格式如 1/2', - `executor_fail_retry_count` int NOT NULL DEFAULT '0' COMMENT '失败重试次数', - `trigger_time` datetime DEFAULT NULL COMMENT '调度-时间', - `trigger_code` int NOT NULL COMMENT '调度-结果', - `trigger_msg` text COMMENT '调度-日志', - `handle_time` datetime DEFAULT NULL COMMENT '执行-时间', - `handle_code` int NOT NULL COMMENT '执行-状态', - `handle_msg` text COMMENT '执行-日志', - `alarm_status` tinyint NOT NULL DEFAULT '0' COMMENT '告警状态:0-默认、1-无需告警、2-告警成功、3-告警失败', - PRIMARY KEY (`id`), - KEY `I_trigger_time` (`trigger_time`), - KEY `I_handle_code` (`handle_code`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; - - --- platform.xxl_job_log_report definition - -CREATE TABLE `xxl_job_log_report` ( - `id` int NOT NULL AUTO_INCREMENT, - `trigger_day` datetime DEFAULT NULL COMMENT '调度-时间', - `running_count` int NOT NULL DEFAULT '0' COMMENT '运行中-日志数量', - `suc_count` int NOT NULL DEFAULT '0' COMMENT '执行成功-日志数量', - `fail_count` int NOT NULL DEFAULT '0' COMMENT '执行失败-日志数量', - `update_time` datetime DEFAULT NULL, - PRIMARY KEY (`id`), - UNIQUE KEY `i_trigger_day` (`trigger_day`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; - - --- platform.xxl_job_logglue definition - -CREATE TABLE `xxl_job_logglue` ( - `id` int NOT NULL AUTO_INCREMENT, - `job_id` int NOT NULL COMMENT '任务,主键ID', - `glue_type` varchar(50) DEFAULT NULL COMMENT 'GLUE类型', - `glue_source` mediumtext COMMENT 'GLUE源代码', - `glue_remark` varchar(128) NOT NULL COMMENT 'GLUE备注', - `add_time` datetime DEFAULT NULL, - `update_time` datetime DEFAULT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; - - --- platform.xxl_job_registry definition - -CREATE TABLE `xxl_job_registry` ( - `id` int NOT NULL AUTO_INCREMENT, - `registry_group` varchar(50) NOT NULL, - `registry_key` varchar(255) NOT NULL, - `registry_value` varchar(255) NOT NULL, - `update_time` datetime DEFAULT NULL, - PRIMARY KEY (`id`), - KEY `i_g_k_v` (`registry_group`,`registry_key`,`registry_value`) -) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; - - --- platform.xxl_job_user definition - -CREATE TABLE `xxl_job_user` ( - `id` int NOT NULL AUTO_INCREMENT, - `username` varchar(50) NOT NULL COMMENT '账号', - `password` varchar(50) NOT NULL COMMENT '密码', - `role` tinyint NOT NULL COMMENT '角色:0-普通用户、1-管理员', - `permission` varchar(255) DEFAULT NULL COMMENT '权限:执行器ID列表,多个逗号分割', - PRIMARY KEY (`id`), - UNIQUE KEY `i_username` (`username`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; \ No newline at end of file diff --git a/app.platform/platform2.sql b/app.platform/platform2.sql deleted file mode 100644 index 7c39062e..00000000 --- a/app.platform/platform2.sql +++ /dev/null @@ -1,127 +0,0 @@ --- platform2.xxl_job_group definition - -CREATE TABLE `xxl_job_group` ( - `ID` bigint NOT NULL AUTO_INCREMENT, - `APP_NAME` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL, - `TITLE` varchar(12) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL, - `ADDRESS_TYPE` tinyint NOT NULL DEFAULT '0', - `ADDRESS_LIST` longtext COLLATE utf8mb4_general_ci COMMENT '执行器地址列表,多地址逗号分隔', - `UPDATE_TIME` datetime DEFAULT NULL COMMENT '更新日期', - PRIMARY KEY (`ID`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='JOB 组表'; - - --- platform2.xxl_job_info definition - -CREATE TABLE `xxl_job_info` ( - `ID` bigint NOT NULL AUTO_INCREMENT, - `JOB_GROUP` int NOT NULL, - `JOB_DESC` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL, - `ADD_TIME` datetime DEFAULT NULL COMMENT '创建日期', - `UPDATE_TIME` datetime DEFAULT NULL COMMENT '更新日期', - `AUTHOR` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL COMMENT '作者', - `ALARM_EMAIL` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL COMMENT '报警邮件', - `SCHEDULE_TYPE` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT 'NONE', - `SCHEDULE_CONF` varchar(128) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL COMMENT '调度配置,值含义取决于调度类型', - `MISFIRE_STRATEGY` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT 'DO_NOTHING', - `EXECUTOR_ROUTE_STRATEGY` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL COMMENT '执行器路由策略', - `EXECUTOR_HANDLER` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL COMMENT '执行器任务handler', - `EXECUTOR_PARAM` varchar(512) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL COMMENT '执行器任务参数', - `EXECUTOR_BLOCK_STRATEGY` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL COMMENT '阻塞处理策略', - `EXECUTOR_TIMEOUT` int NOT NULL DEFAULT '0', - `EXECUTOR_FAIL_RETRY_COUNT` int NOT NULL DEFAULT '0', - `GLUE_TYPE` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL COMMENT 'GLUE类型', - `GLUE_SOURCE` longtext COLLATE utf8mb4_general_ci COMMENT 'GLUE源代码', - `GLUE_REMARK` varchar(128) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL COMMENT 'GLUE备注', - `GLUE_UPDATETIME` datetime DEFAULT NULL COMMENT 'GLUE更新时间', - `CHILD_JOBID` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL COMMENT '子任务ID,多个逗号分隔', - `TRIGGER_STATUS` tinyint NOT NULL DEFAULT '0', - `TRIGGER_LAST_TIME` bigint NOT NULL DEFAULT '0', - `TRIGGER_NEXT_TIME` bigint NOT NULL DEFAULT '0', - PRIMARY KEY (`ID`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='JOB信息表'; - - --- platform2.xxl_job_lock definition - -CREATE TABLE `xxl_job_lock` ( - `LOCK_NAME` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '锁名称', - PRIMARY KEY (`LOCK_NAME`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='JOB 锁表'; - - --- platform2.xxl_job_log definition - -CREATE TABLE `xxl_job_log` ( - `ID` bigint NOT NULL AUTO_INCREMENT, - `JOB_GROUP` int NOT NULL, - `JOB_ID` int NOT NULL, - `EXECUTOR_ADDRESS` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL COMMENT '执行器地址,本次执行的地址', - `EXECUTOR_HANDLER` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL COMMENT '执行器任务handler', - `EXECUTOR_PARAM` varchar(512) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL COMMENT '执行器任务参数', - `EXECUTOR_SHARDING_PARAM` varchar(20) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL COMMENT '执行器任务分片参数,格式如 1/2', - `EXECUTOR_FAIL_RETRY_COUNT` bigint NOT NULL DEFAULT '0', - `TRIGGER_TIME` datetime DEFAULT NULL COMMENT '调度-时间', - `TRIGGER_CODE` int NOT NULL, - `TRIGGER_MSG` longtext COLLATE utf8mb4_general_ci COMMENT '调度-日志', - `HANDLE_TIME` datetime DEFAULT NULL COMMENT '执行-时间', - `HANDLE_CODE` int NOT NULL, - `HANDLE_MSG` longtext COLLATE utf8mb4_general_ci COMMENT '执行-日志', - `ALARM_STATUS` tinyint NOT NULL DEFAULT '0', - PRIMARY KEY (`ID`), - KEY `IDX_XXL_JOB_LOG_TRIGGER_TIME` (`TRIGGER_TIME`), - KEY `IDX_XXL_JOB_LOG_HANDLE_CODE` (`HANDLE_CODE`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='JOB日志表'; - - --- platform2.xxl_job_log_report definition - -CREATE TABLE `xxl_job_log_report` ( - `ID` bigint NOT NULL AUTO_INCREMENT, - `TRIGGER_DAY` datetime DEFAULT NULL COMMENT '调度-时间', - `RUNNING_COUNT` int NOT NULL DEFAULT '0', - `SUC_COUNT` int NOT NULL DEFAULT '0', - `FAIL_COUNT` int NOT NULL DEFAULT '0', - `UPDATE_TIME` datetime DEFAULT NULL COMMENT '更新日期', - PRIMARY KEY (`ID`), - UNIQUE KEY `IDX_XXL_JOB_LOG_REPORT_TRIGGER_DAY` (`TRIGGER_DAY`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='JOB日志报告表'; - - --- platform2.xxl_job_logglue definition - -CREATE TABLE `xxl_job_logglue` ( - `ID` bigint NOT NULL AUTO_INCREMENT, - `JOB_ID` int NOT NULL, - `GLUE_TYPE` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL COMMENT 'GLUE类型', - `GLUE_SOURCE` longtext COLLATE utf8mb4_general_ci COMMENT 'GLUE源代码', - `GLUE_REMARK` varchar(128) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL COMMENT 'GLUE备注', - `ADD_TIME` datetime DEFAULT NULL COMMENT '创建日期', - `UPDATE_TIME` datetime DEFAULT NULL COMMENT '更新日期', - PRIMARY KEY (`ID`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='JOB GLUE 表'; - - --- platform2.xxl_job_registry definition - -CREATE TABLE `xxl_job_registry` ( - `ID` bigint NOT NULL AUTO_INCREMENT, - `REGISTRY_GROUP` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL, - `REGISTRY_KEY` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL, - `REGISTRY_VALUE` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL, - `UPDATE_TIME` datetime DEFAULT NULL COMMENT '更新日期', - PRIMARY KEY (`ID`), - UNIQUE KEY `REGISTRY_GROUP` (`REGISTRY_GROUP`,`REGISTRY_KEY`,`REGISTRY_VALUE`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='JOB 注册表'; - - --- platform2.xxl_job_user definition - -CREATE TABLE `xxl_job_user` ( - `ID` bigint NOT NULL AUTO_INCREMENT, - `USERNAME` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL, - `PASSWORD` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL, - `ROLE` tinyint NOT NULL, - `PERMISSION` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL COMMENT '权限:执行器ID列表,多个逗号分割', - PRIMARY KEY (`ID`) -) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='JOB 用户表'; \ No newline at end of file diff --git a/erm.frontend/package.json b/erm.frontend/package.json index 44ba8a5d..2f4e35bd 100644 --- a/erm.frontend/package.json +++ b/erm.frontend/package.json @@ -92,7 +92,7 @@ "luckyexcel": "1.0.1", "mockjs": "1.1.0", "pinia": "2.1.7", - "platform-core": "8.1.203", + "platform-core": "8.1.204", "quasar": "2.15.3", "tailwindcss": "3.4.3", "vue": "3.4.24", diff --git a/erm.frontend/public/index.html b/erm.frontend/public/index.html index bc996180..cd23f259 100644 --- a/erm.frontend/public/index.html +++ b/erm.frontend/public/index.html @@ -1,20 +1,27 @@ - + - - - + + + - - - - + + + + + + + - + @@ -26,9 +33,11 @@ -
-
- +
+ +
+ + @@ -68,7 +77,7 @@ -
正在加载, 请稍后......
+
正在加载, 请稍后......
diff --git a/erm.frontend/public/webjars/mathfonts/1.0.0/Asana/mathfonts.css b/erm.frontend/public/webjars/mathfonts/1.0.0/Asana/mathfonts.css new file mode 100644 index 00000000..780d5344 --- /dev/null +++ b/erm.frontend/public/webjars/mathfonts/1.0.0/Asana/mathfonts.css @@ -0,0 +1,40 @@ +/* +Asana Math is released under the SIL Open Font License. See the files in this +directory for details. The font can be obtained from several TeX distributions +or package managers. The font does not seem to have a corresponding "non-MATH" +font, it is recommended to use a Palatino-like font for the surrounding text. + +The WOFF fonts have been obtained from +http://mirrors.ctan.org/fonts/ +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: Asana Math; + src: local('Asana Math'), local('Asana-Math'), + url('Asana-Math.woff2'), url('Asana-Math.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: Asana Math; +} +m|math { + font-family: Asana Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +@font-feature-values Asana Math { @stylistic { calligraphic: 1; } } +m|*.calligraphic { + font-variant-alternates: stylistic(calligraphic); /* Recommended syntax */ + font-feature-settings: 'salt'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'salt'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'salt'; /* Blink syntax */ +} diff --git a/io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/Cambria/mathfonts.css b/erm.frontend/public/webjars/mathfonts/1.0.0/Cambria/mathfonts.css similarity index 100% rename from io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/Cambria/mathfonts.css rename to erm.frontend/public/webjars/mathfonts/1.0.0/Cambria/mathfonts.css diff --git a/io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif-Bold.woff2 b/erm.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif-Bold.woff2 similarity index 100% rename from io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif-Bold.woff2 rename to erm.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif-Bold.woff2 diff --git a/io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif-BoldItalic.woff2 b/erm.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif-BoldItalic.woff2 similarity index 100% rename from io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif-BoldItalic.woff2 rename to erm.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif-BoldItalic.woff2 diff --git a/io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif-Italic.woff2 b/erm.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif-Italic.woff2 similarity index 100% rename from io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif-Italic.woff2 rename to erm.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif-Italic.woff2 diff --git a/io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif.woff2 b/erm.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif.woff2 similarity index 100% rename from io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif.woff2 rename to erm.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif.woff2 diff --git a/io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/DejaVu/mathfonts.css b/erm.frontend/public/webjars/mathfonts/1.0.0/DejaVu/mathfonts.css similarity index 100% rename from io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/DejaVu/mathfonts.css rename to erm.frontend/public/webjars/mathfonts/1.0.0/DejaVu/mathfonts.css diff --git a/io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/FiraMath/FiraMath-Regular.woff2 b/erm.frontend/public/webjars/mathfonts/1.0.0/FiraMath/FiraMath-Regular.woff2 similarity index 100% rename from io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/FiraMath/FiraMath-Regular.woff2 rename to erm.frontend/public/webjars/mathfonts/1.0.0/FiraMath/FiraMath-Regular.woff2 diff --git a/io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/FiraMath/mathfonts.css b/erm.frontend/public/webjars/mathfonts/1.0.0/FiraMath/mathfonts.css similarity index 100% rename from io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/FiraMath/mathfonts.css rename to erm.frontend/public/webjars/mathfonts/1.0.0/FiraMath/mathfonts.css diff --git a/io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenic.woff2 b/erm.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenic.woff2 similarity index 100% rename from io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenic.woff2 rename to erm.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenic.woff2 diff --git a/io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicBold.woff2 b/erm.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicBold.woff2 similarity index 100% rename from io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicBold.woff2 rename to erm.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicBold.woff2 diff --git a/io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicBoldIt.woff2 b/erm.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicBoldIt.woff2 similarity index 100% rename from io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicBoldIt.woff2 rename to erm.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicBoldIt.woff2 diff --git a/io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicIt.woff2 b/erm.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicIt.woff2 similarity index 100% rename from io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicIt.woff2 rename to erm.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicIt.woff2 diff --git a/io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicMath.woff2 b/erm.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicMath.woff2 similarity index 100% rename from io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicMath.woff2 rename to erm.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicMath.woff2 diff --git a/io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/mathfonts.css b/erm.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/mathfonts.css similarity index 100% rename from io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/mathfonts.css rename to erm.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/mathfonts.css diff --git a/io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/GNUFreeSans/mathfonts.css b/erm.frontend/public/webjars/mathfonts/1.0.0/GNUFreeSans/mathfonts.css similarity index 100% rename from io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/GNUFreeSans/mathfonts.css rename to erm.frontend/public/webjars/mathfonts/1.0.0/GNUFreeSans/mathfonts.css diff --git a/io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/GNUFreeSerif/mathfonts.css b/erm.frontend/public/webjars/mathfonts/1.0.0/GNUFreeSerif/mathfonts.css similarity index 100% rename from io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/GNUFreeSerif/mathfonts.css rename to erm.frontend/public/webjars/mathfonts/1.0.0/GNUFreeSerif/mathfonts.css diff --git a/io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/Garamond/EBGaramond12-Italic.woff2 b/erm.frontend/public/webjars/mathfonts/1.0.0/Garamond/EBGaramond12-Italic.woff2 similarity index 100% rename from io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/Garamond/EBGaramond12-Italic.woff2 rename to erm.frontend/public/webjars/mathfonts/1.0.0/Garamond/EBGaramond12-Italic.woff2 diff --git a/io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/Garamond/EBGaramond12-Regular.woff2 b/erm.frontend/public/webjars/mathfonts/1.0.0/Garamond/EBGaramond12-Regular.woff2 similarity index 100% rename from io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/Garamond/EBGaramond12-Regular.woff2 rename to erm.frontend/public/webjars/mathfonts/1.0.0/Garamond/EBGaramond12-Regular.woff2 diff --git a/io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/Garamond/Garamond-Math.woff2 b/erm.frontend/public/webjars/mathfonts/1.0.0/Garamond/Garamond-Math.woff2 similarity index 100% rename from io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/Garamond/Garamond-Math.woff2 rename to erm.frontend/public/webjars/mathfonts/1.0.0/Garamond/Garamond-Math.woff2 diff --git a/io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/Garamond/mathfonts.css b/erm.frontend/public/webjars/mathfonts/1.0.0/Garamond/mathfonts.css similarity index 100% rename from io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/Garamond/mathfonts.css rename to erm.frontend/public/webjars/mathfonts/1.0.0/Garamond/mathfonts.css diff --git a/io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/LatinModern/latinmodern-math.woff2 b/erm.frontend/public/webjars/mathfonts/1.0.0/LatinModern/latinmodern-math.woff2 similarity index 100% rename from io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/LatinModern/latinmodern-math.woff2 rename to erm.frontend/public/webjars/mathfonts/1.0.0/LatinModern/latinmodern-math.woff2 diff --git a/io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/LatinModern/lmroman12-bold.woff2 b/erm.frontend/public/webjars/mathfonts/1.0.0/LatinModern/lmroman12-bold.woff2 similarity index 100% rename from io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/LatinModern/lmroman12-bold.woff2 rename to erm.frontend/public/webjars/mathfonts/1.0.0/LatinModern/lmroman12-bold.woff2 diff --git a/io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/LatinModern/lmroman12-italic.woff2 b/erm.frontend/public/webjars/mathfonts/1.0.0/LatinModern/lmroman12-italic.woff2 similarity index 100% rename from io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/LatinModern/lmroman12-italic.woff2 rename to erm.frontend/public/webjars/mathfonts/1.0.0/LatinModern/lmroman12-italic.woff2 diff --git a/io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/LatinModern/lmroman12-regular.woff2 b/erm.frontend/public/webjars/mathfonts/1.0.0/LatinModern/lmroman12-regular.woff2 similarity index 100% rename from io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/LatinModern/lmroman12-regular.woff2 rename to erm.frontend/public/webjars/mathfonts/1.0.0/LatinModern/lmroman12-regular.woff2 diff --git a/io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/LatinModern/mathfonts.css b/erm.frontend/public/webjars/mathfonts/1.0.0/LatinModern/mathfonts.css similarity index 100% rename from io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/LatinModern/mathfonts.css rename to erm.frontend/public/webjars/mathfonts/1.0.0/LatinModern/mathfonts.css diff --git a/io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusmath-regular.woff2 b/erm.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusmath-regular.woff2 similarity index 100% rename from io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusmath-regular.woff2 rename to erm.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusmath-regular.woff2 diff --git a/io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-bold.woff2 b/erm.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-bold.woff2 similarity index 100% rename from io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-bold.woff2 rename to erm.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-bold.woff2 diff --git a/io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-bolditalic.woff2 b/erm.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-bolditalic.woff2 similarity index 100% rename from io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-bolditalic.woff2 rename to erm.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-bolditalic.woff2 diff --git a/io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-italic.woff2 b/erm.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-italic.woff2 similarity index 100% rename from io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-italic.woff2 rename to erm.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-italic.woff2 diff --git a/io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-regular.woff2 b/erm.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-regular.woff2 similarity index 100% rename from io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-regular.woff2 rename to erm.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-regular.woff2 diff --git a/io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/Libertinus/mathfonts.css b/erm.frontend/public/webjars/mathfonts/1.0.0/Libertinus/mathfonts.css similarity index 100% rename from io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/Libertinus/mathfonts.css rename to erm.frontend/public/webjars/mathfonts/1.0.0/Libertinus/mathfonts.css diff --git a/io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/LucidaBright/mathfonts.css b/erm.frontend/public/webjars/mathfonts/1.0.0/LucidaBright/mathfonts.css similarity index 100% rename from io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/LucidaBright/mathfonts.css rename to erm.frontend/public/webjars/mathfonts/1.0.0/LucidaBright/mathfonts.css diff --git a/io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/Minion/mathfonts.css b/erm.frontend/public/webjars/mathfonts/1.0.0/Minion/mathfonts.css similarity index 100% rename from io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/Minion/mathfonts.css rename to erm.frontend/public/webjars/mathfonts/1.0.0/Minion/mathfonts.css diff --git a/io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/NeoEuler/mathfonts.css b/erm.frontend/public/webjars/mathfonts/1.0.0/NeoEuler/mathfonts.css similarity index 100% rename from io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/NeoEuler/mathfonts.css rename to erm.frontend/public/webjars/mathfonts/1.0.0/NeoEuler/mathfonts.css diff --git a/io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoMath-Regular.woff2 b/erm.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoMath-Regular.woff2 similarity index 100% rename from io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoMath-Regular.woff2 rename to erm.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoMath-Regular.woff2 diff --git a/io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-Bold.woff2 b/erm.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-Bold.woff2 similarity index 100% rename from io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-Bold.woff2 rename to erm.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-Bold.woff2 diff --git a/io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-BoldItalic.woff2 b/erm.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-BoldItalic.woff2 similarity index 100% rename from io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-BoldItalic.woff2 rename to erm.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-BoldItalic.woff2 diff --git a/io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-Italic.woff2 b/erm.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-Italic.woff2 similarity index 100% rename from io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-Italic.woff2 rename to erm.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-Italic.woff2 diff --git a/io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-Regular.woff2 b/erm.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-Regular.woff2 similarity index 100% rename from io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-Regular.woff2 rename to erm.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-Regular.woff2 diff --git a/io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/STIX/mathfonts.css b/erm.frontend/public/webjars/mathfonts/1.0.0/STIX/mathfonts.css similarity index 100% rename from io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/STIX/mathfonts.css rename to erm.frontend/public/webjars/mathfonts/1.0.0/STIX/mathfonts.css diff --git a/io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/mathfonts.css b/erm.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/mathfonts.css similarity index 100% rename from io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/mathfonts.css rename to erm.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/mathfonts.css diff --git a/io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-bold.woff2 b/erm.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-bold.woff2 similarity index 100% rename from io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-bold.woff2 rename to erm.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-bold.woff2 diff --git a/io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-bolditalic.woff2 b/erm.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-bolditalic.woff2 similarity index 100% rename from io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-bolditalic.woff2 rename to erm.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-bolditalic.woff2 diff --git a/io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-italic.woff2 b/erm.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-italic.woff2 similarity index 100% rename from io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-italic.woff2 rename to erm.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-italic.woff2 diff --git a/io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-math.woff2 b/erm.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-math.woff2 similarity index 100% rename from io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-math.woff2 rename to erm.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-math.woff2 diff --git a/io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-regular.woff2 b/erm.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-regular.woff2 similarity index 100% rename from io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-regular.woff2 rename to erm.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-regular.woff2 diff --git a/io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/TeXGyrePagella/mathfonts.css b/erm.frontend/public/webjars/mathfonts/1.0.0/TeXGyrePagella/mathfonts.css similarity index 100% rename from io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/TeXGyrePagella/mathfonts.css rename to erm.frontend/public/webjars/mathfonts/1.0.0/TeXGyrePagella/mathfonts.css diff --git a/io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/TeXGyrePagella/texgyrepagella-math.woff2 b/erm.frontend/public/webjars/mathfonts/1.0.0/TeXGyrePagella/texgyrepagella-math.woff2 similarity index 100% rename from io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/TeXGyrePagella/texgyrepagella-math.woff2 rename to erm.frontend/public/webjars/mathfonts/1.0.0/TeXGyrePagella/texgyrepagella-math.woff2 diff --git a/io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/mathfonts.css b/erm.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/mathfonts.css similarity index 100% rename from io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/mathfonts.css rename to erm.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/mathfonts.css diff --git a/io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-bold.woff2 b/erm.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-bold.woff2 similarity index 100% rename from io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-bold.woff2 rename to erm.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-bold.woff2 diff --git a/io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-bolditalic.woff2 b/erm.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-bolditalic.woff2 similarity index 100% rename from io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-bolditalic.woff2 rename to erm.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-bolditalic.woff2 diff --git a/io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-italic.woff2 b/erm.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-italic.woff2 similarity index 100% rename from io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-italic.woff2 rename to erm.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-italic.woff2 diff --git a/io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-math.woff2 b/erm.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-math.woff2 similarity index 100% rename from io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-math.woff2 rename to erm.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-math.woff2 diff --git a/io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-regular.woff2 b/erm.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-regular.woff2 similarity index 100% rename from io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-regular.woff2 rename to erm.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-regular.woff2 diff --git a/io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/mathfonts.css b/erm.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/mathfonts.css similarity index 100% rename from io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/mathfonts.css rename to erm.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/mathfonts.css diff --git a/io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-bold.woff2 b/erm.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-bold.woff2 similarity index 100% rename from io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-bold.woff2 rename to erm.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-bold.woff2 diff --git a/io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-bolditalic.woff2 b/erm.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-bolditalic.woff2 similarity index 100% rename from io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-bolditalic.woff2 rename to erm.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-bolditalic.woff2 diff --git a/io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-italic.woff2 b/erm.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-italic.woff2 similarity index 100% rename from io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-italic.woff2 rename to erm.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-italic.woff2 diff --git a/io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-math.woff2 b/erm.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-math.woff2 similarity index 100% rename from io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-math.woff2 rename to erm.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-math.woff2 diff --git a/io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-regular.woff2 b/erm.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-regular.woff2 similarity index 100% rename from io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-regular.woff2 rename to erm.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-regular.woff2 diff --git a/io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-Bold.woff2 b/erm.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-Bold.woff2 similarity index 100% rename from io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-Bold.woff2 rename to erm.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-Bold.woff2 diff --git a/io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-BoldItalic.woff2 b/erm.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-BoldItalic.woff2 similarity index 100% rename from io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-BoldItalic.woff2 rename to erm.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-BoldItalic.woff2 diff --git a/io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-Italic.woff2 b/erm.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-Italic.woff2 similarity index 100% rename from io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-Italic.woff2 rename to erm.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-Italic.woff2 diff --git a/io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-Regular.woff2 b/erm.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-Regular.woff2 similarity index 100% rename from io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-Regular.woff2 rename to erm.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-Regular.woff2 diff --git a/io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/XITS/XITSMath-Bold.woff2 b/erm.frontend/public/webjars/mathfonts/1.0.0/XITS/XITSMath-Bold.woff2 similarity index 100% rename from io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/XITS/XITSMath-Bold.woff2 rename to erm.frontend/public/webjars/mathfonts/1.0.0/XITS/XITSMath-Bold.woff2 diff --git a/io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/XITS/XITSMath-Regular.woff2 b/erm.frontend/public/webjars/mathfonts/1.0.0/XITS/XITSMath-Regular.woff2 similarity index 100% rename from io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/XITS/XITSMath-Regular.woff2 rename to erm.frontend/public/webjars/mathfonts/1.0.0/XITS/XITSMath-Regular.woff2 diff --git a/io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/XITS/mathfonts.css b/erm.frontend/public/webjars/mathfonts/1.0.0/XITS/mathfonts.css similarity index 100% rename from io.sc.platform.core.frontend/public/webjars/mathfonts/1.0.0/XITS/mathfonts.css rename to erm.frontend/public/webjars/mathfonts/1.0.0/XITS/mathfonts.css diff --git a/gradle.properties b/gradle.properties index 80c3d064..ca713230 100644 --- a/gradle.properties +++ b/gradle.properties @@ -38,7 +38,7 @@ application_version=1.0.0 platform_group=io.sc platform_version=8.1.40 platform_plugin_version=8.1.13 -platform_core_frontend_version=8.1.203 +platform_core_frontend_version=8.1.204 ########################################################### # dependencies version diff --git a/io.sc.engine.mv.frontend/package.json b/io.sc.engine.mv.frontend/package.json index 77842ad5..9051575f 100644 --- a/io.sc.engine.mv.frontend/package.json +++ b/io.sc.engine.mv.frontend/package.json @@ -92,7 +92,7 @@ "luckyexcel": "1.0.1", "mockjs": "1.1.0", "pinia": "2.1.7", - "platform-core": "8.1.203", + "platform-core": "8.1.204", "quasar": "2.15.3", "tailwindcss": "3.4.3", "vue": "3.4.24", diff --git a/io.sc.engine.mv.frontend/public/index.html b/io.sc.engine.mv.frontend/public/index.html index bc996180..cd23f259 100644 --- a/io.sc.engine.mv.frontend/public/index.html +++ b/io.sc.engine.mv.frontend/public/index.html @@ -1,20 +1,27 @@ - + - - - + + + - - - - + + + + + + + - + @@ -26,9 +33,11 @@ -
-
- +
+ +
+ + @@ -68,7 +77,7 @@ -
正在加载, 请稍后......
+
正在加载, 请稍后......
diff --git a/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/Asana/mathfonts.css b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/Asana/mathfonts.css new file mode 100644 index 00000000..780d5344 --- /dev/null +++ b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/Asana/mathfonts.css @@ -0,0 +1,40 @@ +/* +Asana Math is released under the SIL Open Font License. See the files in this +directory for details. The font can be obtained from several TeX distributions +or package managers. The font does not seem to have a corresponding "non-MATH" +font, it is recommended to use a Palatino-like font for the surrounding text. + +The WOFF fonts have been obtained from +http://mirrors.ctan.org/fonts/ +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: Asana Math; + src: local('Asana Math'), local('Asana-Math'), + url('Asana-Math.woff2'), url('Asana-Math.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: Asana Math; +} +m|math { + font-family: Asana Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +@font-feature-values Asana Math { @stylistic { calligraphic: 1; } } +m|*.calligraphic { + font-variant-alternates: stylistic(calligraphic); /* Recommended syntax */ + font-feature-settings: 'salt'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'salt'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'salt'; /* Blink syntax */ +} diff --git a/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/Cambria/mathfonts.css b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/Cambria/mathfonts.css new file mode 100644 index 00000000..bcbb5386 --- /dev/null +++ b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/Cambria/mathfonts.css @@ -0,0 +1,56 @@ +/* +The proprietary Cambria fonts are installed by default on Microsoft Windows 7 +and higher and are provided with some other Microsoft products such as Office. +Some Web services may also provide them as Web fonts. For details, see + http://www.microsoft.com/typography/fonts/family.aspx?FID=291 + http://www.microsoft.com/typography/fonts/family.aspx?FID=360 +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +/* Uncomment and complete the URLs if you wish to use Web fonts */ +/* +@font-face { + font-family: Cambria; + src: local('Cambria'), url('...'); +} +@font-face { + font-family: Cambria; + src: local('Cambria Bold'), url('...'); + font-weight: bold; +} +@font-face { + font-family: Cambria; + src: local('Cambria Italic'), url('...'); + font-style: italic; +} +@font-face { + font-family: Cambria; + src: local('Cambria Bold Italic'), url('...'); + font-weight: bold; + font-style: italic; +} +@font-face { + font-family: Cambria Math; + src: local('Cambria Math'), url('...'); +} +*/ + +.htmlmathparagraph, m|mtext { + font-family: Cambria; +} +m|math { + font-family: Cambria Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* TODO: verify whether calligraphic letters are available in this font */ +m|*.calligraphic { +} diff --git a/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif-Bold.woff2 b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif-Bold.woff2 new file mode 100644 index 00000000..c3620b3b Binary files /dev/null and b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif-Bold.woff2 differ diff --git a/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif-BoldItalic.woff2 b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif-BoldItalic.woff2 new file mode 100644 index 00000000..3d641e3d Binary files /dev/null and b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif-BoldItalic.woff2 differ diff --git a/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif-Italic.woff2 b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif-Italic.woff2 new file mode 100644 index 00000000..163819b5 Binary files /dev/null and b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif-Italic.woff2 differ diff --git a/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/DejaVu/mathfonts.css b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/DejaVu/mathfonts.css new file mode 100644 index 00000000..ee48b1d3 --- /dev/null +++ b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/DejaVu/mathfonts.css @@ -0,0 +1,51 @@ +/* +Deja Vu is released under a Free License. See the files in this directory +for details. This fonts is available on most Linux distributions. +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: DejaVu Math TeX Gyre; + src: url('DejaVuMathTeXGyre.woff2'), url('DejaVuMathTeXGyre.woff'); +} +@font-face { + font-family: DejaVu Serif; + src: url('DejaVuSerif.woff2'), url('DejaVuSerif.woff'); +} +@font-face { + font-family: DejaVu Serif; + src: url('DejaVuSerif-Bold.woff2'), url('DejaVuSerif-Bold.woff'); + font-weight: bold; +} +@font-face { + font-family: DejaVu Serif; + src: url('DejaVuSerif-Italic.woff2'), url('DejaVuSerif-Italic.woff'); + font-style: italic; +} +@font-face { + font-family: DejaVu Serif; + src: url('DejaVuSerif-BoldItalic.woff2'), + url('DejaVuSerif-BoldItalic.woff'); + font-weight: bold; + font-style: italic; +} + +.htmlmathparagraph, m|mtext { + font-family: DejaVu Serif; +} +m|math { + font-family: DejaVu Math TeX Gyre; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* Calligraphic letters do not seem to be available */ +m|*.calligraphic { +} diff --git a/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/FiraMath/FiraMath-Regular.woff2 b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/FiraMath/FiraMath-Regular.woff2 new file mode 100644 index 00000000..c13030cd Binary files /dev/null and b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/FiraMath/FiraMath-Regular.woff2 differ diff --git a/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/FiraMath/mathfonts.css b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/FiraMath/mathfonts.css new file mode 100644 index 00000000..c05d74d6 --- /dev/null +++ b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/FiraMath/mathfonts.css @@ -0,0 +1,21 @@ +/* +The FiraMath font is released under the SIL Open Font License. See the files in +this directory for details. +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: Fira Math; + src: local('Fira Math'), local('FiraMath-Regular'), + url('FiraMath-Regular.woff2'), url('FiraMath-Regular.woff'); +} + +.htmlmathparagraph, m|mtext { + /* TODO: use FiraGO instead? */ + font-family: Fira Math; +} +m|math { + font-family: Fira Math; +} diff --git a/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenic.woff2 b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenic.woff2 new file mode 100644 index 00000000..3c27d39f Binary files /dev/null and b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenic.woff2 differ diff --git a/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicBold.woff2 b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicBold.woff2 new file mode 100644 index 00000000..e946d53e Binary files /dev/null and b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicBold.woff2 differ diff --git a/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicBoldIt.woff2 b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicBoldIt.woff2 new file mode 100644 index 00000000..0dd7d2ed Binary files /dev/null and b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicBoldIt.woff2 differ diff --git a/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicIt.woff2 b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicIt.woff2 new file mode 100644 index 00000000..e7dfb1d1 Binary files /dev/null and b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicIt.woff2 differ diff --git a/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicMath.woff2 b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicMath.woff2 new file mode 100644 index 00000000..2c488f2a Binary files /dev/null and b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicMath.woff2 differ diff --git a/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/mathfonts.css b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/mathfonts.css new file mode 100644 index 00000000..ea0116c9 --- /dev/null +++ b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/mathfonts.css @@ -0,0 +1,50 @@ +/* +The GFS Neohellenic fonts are released under the SIL Open Font License. See the +files in this directory for details. +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + + +@font-face { + font-family: GFS Neohellenic; + src: local('GFSNeohellenic-Regular'), + url('GFSNeohellenic.woff2'), + url('GFSNeohellenic.woff'); +} +@font-face { + font-family: GFS Neohellenic; + src: local('GFSNeohellenic-Bold'), + url('GFSNeohellenic-Bold.woff2'), + url('GFSNeohellenic-Bold.woff'); + font-weight: bold; +} +@font-face { + font-family: GFS Neohellenic; + src: local('GFSNeohellenic-Italic'), + url('GFSNeohellenic-It.woff2'), + url('GFSNeohellenic-It.woff'); + font-style: italic; +} +@font-face { + font-family: GFS Neohellenic; + src: local('GFSNeohellenic-BoldItalic'), + url('GFSNeohellenic-BoldIt.woff2'), + url('GFSNeohellenic-BoldIt.woff'); + font-weight: bold; + font-style: italic; +} +@font-face { + font-family: GFS Neohellenic Math; + src: local('GFSNeohellenicMath'), + url('GFSNeohellenicMath.woff2'), + url('GFSNeohellenicMath.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: GFS Neohellenic; +} +m|math { + font-family: GFS Neohellenic Math; +} diff --git a/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/GNUFreeSans/mathfonts.css b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/GNUFreeSans/mathfonts.css new file mode 100644 index 00000000..cbf76d3d --- /dev/null +++ b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/GNUFreeSans/mathfonts.css @@ -0,0 +1,47 @@ +/* +GNU FreeSans is released under the GNU General Public License. See the files in +this directory for details. OpenType MATH support is only available in the +development version. +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: FreeSans; + src: url('FreeSans.woff2'), url('FreeSans.woff'); +} +@font-face { + font-family: FreeSans; + src: url('FreeSansBold.woff2'), url('FreeSansBold.woff'); + font-weight: bold; +} +@font-face { + font-family: FreeSans; + src: url('FreeSansOblique.woff2'), url('FreeSansOblique.woff'); + font-style: oblique; +} +@font-face { + font-family: FreeSans; + src: url('FreeSansBoldOblique.woff2'), url('FreeSansBoldOblique.woff'); + font-weight: bold; + font-style: oblique; +} + +.htmlmathparagraph, m|mtext { + font-family: FreeSans; +} +m|math { + font-family: FreeSans; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* Calligraphic letters do not seem to be available */ +m|*.calligraphic { +} diff --git a/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/GNUFreeSerif/mathfonts.css b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/GNUFreeSerif/mathfonts.css new file mode 100644 index 00000000..9572fbfe --- /dev/null +++ b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/GNUFreeSerif/mathfonts.css @@ -0,0 +1,47 @@ +/* +GNU FreeSerif is released under the GNU General Public License. See the files in +this directory for details. OpenType MATH support is only available in the +development version. +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: FreeSerif; + src: url('FreeSerif.woff2'), url('FreeSerif.woff'); +} +@font-face { + font-family: FreeSerif; + src: url('FreeSerifBold.woff2'), url('FreeSerifBold.woff'); + font-weight: bold; +} +@font-face { + font-family: FreeSerif; + src: url('FreeSerifItalic.woff2'), url('FreeSerifItalic.woff'); + font-style: italic; +} +@font-face { + font-family: FreeSerif; + src: url('FreeSerifBoldItalic.woff2'), url('FreeSerifBoldItalic.woff'); + font-weight: bold; + font-style: italic; +} + +.htmlmathparagraph, m|mtext { + font-family: FreeSerif; +} +m|math { + font-family: FreeSerif; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* Calligraphic letters do not seem to be available */ +m|*.calligraphic { +} diff --git a/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/Garamond/EBGaramond12-Italic.woff2 b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/Garamond/EBGaramond12-Italic.woff2 new file mode 100644 index 00000000..21fe6278 Binary files /dev/null and b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/Garamond/EBGaramond12-Italic.woff2 differ diff --git a/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/Garamond/EBGaramond12-Regular.woff2 b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/Garamond/EBGaramond12-Regular.woff2 new file mode 100644 index 00000000..9d8c372e Binary files /dev/null and b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/Garamond/EBGaramond12-Regular.woff2 differ diff --git a/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/Garamond/Garamond-Math.woff2 b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/Garamond/Garamond-Math.woff2 new file mode 100644 index 00000000..72102330 Binary files /dev/null and b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/Garamond/Garamond-Math.woff2 differ diff --git a/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/Garamond/mathfonts.css b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/Garamond/mathfonts.css new file mode 100644 index 00000000..f8b1e9df --- /dev/null +++ b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/Garamond/mathfonts.css @@ -0,0 +1,35 @@ +/* +The Garamond fonts are released under the SIL Open Font License. See the files +in this directory for details. +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + + +@font-face { + font-family: EB Garamond; + src: local('EBGaramond12-Regular'), + url('EBGaramond12-Regular.woff2'), + url('EBGaramond12-Regular.woff'); +} +@font-face { + font-family: EB Garamond; + src: local('EBGaramond12-Italic'), + url('EBGaramond12-Italic.woff2'), + url('EBGaramond12-Italic.woff'); + font-style: italic; +} +@font-face { + font-family: Garamond Math; + src: local('Garamond-Math'), + url('Garamond-Math.woff2'), + url('Garamond-Math.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: EB Garamond; +} +m|math { + font-family: Garamond Math; +} diff --git a/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/LatinModern/latinmodern-math.woff2 b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/LatinModern/latinmodern-math.woff2 new file mode 100644 index 00000000..6110b17b Binary files /dev/null and b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/LatinModern/latinmodern-math.woff2 differ diff --git a/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/LatinModern/lmroman12-bold.woff2 b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/LatinModern/lmroman12-bold.woff2 new file mode 100644 index 00000000..df169efa Binary files /dev/null and b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/LatinModern/lmroman12-bold.woff2 differ diff --git a/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/LatinModern/lmroman12-italic.woff2 b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/LatinModern/lmroman12-italic.woff2 new file mode 100644 index 00000000..c4ef3ed4 Binary files /dev/null and b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/LatinModern/lmroman12-italic.woff2 differ diff --git a/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/LatinModern/lmroman12-regular.woff2 b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/LatinModern/lmroman12-regular.woff2 new file mode 100644 index 00000000..ae0f344e Binary files /dev/null and b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/LatinModern/lmroman12-regular.woff2 differ diff --git a/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/LatinModern/mathfonts.css b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/LatinModern/mathfonts.css new file mode 100644 index 00000000..b4b0ceeb --- /dev/null +++ b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/LatinModern/mathfonts.css @@ -0,0 +1,53 @@ +/* +The Latin Modern fonts are released under the GUST font license, which is +legally equivalent to the LaTeX Project Public License. See the files in this +directory for details. The fonts can be obtained from several TeX distributions +or package managers. + +The WOFF fonts have been obtained from +http://www.gust.org.pl/projects/e-foundry/ +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +/* Latin Modern Roman has various sizes. We use the generic name + "Latin Modern Roman" for the local versions and "LMRoman12" for the Web font. +*/ +@font-face { + font-family: LMRoman12; + src: url('lmroman12-regular.woff2'), url('lmroman12-regular.woff'); +} +@font-face { + font-family: LMRoman12; + src: url('lmroman12-bold.woff2'), url('lmroman12-bold.woff'); + font-weight: bold; +} +@font-face { + font-family: LMRoman12; + src: url('lmroman12-italic.woff2'), url('lmroman12-italic.woff'); + font-style: italic; +} +@font-face { + font-family: Latin Modern Math; + src: local('Latin Modern Math'), local('LatinModernMath-Regular'), + url('latinmodern-math.woff2'), url('latinmodern-math.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: Latin Modern Roman, LMRoman12; +} +m|math { + font-family: Latin Modern Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* Calligraphic letters do not seem to be available */ +m|*.calligraphic { +} diff --git a/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusmath-regular.woff2 b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusmath-regular.woff2 new file mode 100644 index 00000000..c76bab8c Binary files /dev/null and b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusmath-regular.woff2 differ diff --git a/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-bold.woff2 b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-bold.woff2 new file mode 100644 index 00000000..34b9f93b Binary files /dev/null and b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-bold.woff2 differ diff --git a/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-bolditalic.woff2 b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-bolditalic.woff2 new file mode 100644 index 00000000..19fbf7b9 Binary files /dev/null and b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-bolditalic.woff2 differ diff --git a/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-italic.woff2 b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-italic.woff2 new file mode 100644 index 00000000..dd20fdcf Binary files /dev/null and b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-italic.woff2 differ diff --git a/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-regular.woff2 b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-regular.woff2 new file mode 100644 index 00000000..a7ef60ef Binary files /dev/null and b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-regular.woff2 differ diff --git a/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/Libertinus/mathfonts.css b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/Libertinus/mathfonts.css new file mode 100644 index 00000000..fe6d41c2 --- /dev/null +++ b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/Libertinus/mathfonts.css @@ -0,0 +1,61 @@ +/* +The Libertinus fonts are released under the SIL Open Font and GPL Licenses. See +the files in this directory for details. +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: Libertinus Serif; + src: local('Libertinus Serif'), local('LibertinusSerif'), + url('libertinusserif-regular.woff2'), + url('libertinusserif-regular.woff'); +} +@font-face { + font-family: Libertinus Serif; + src: local('Libertinus Serif Bold'), local('LibertinusSerif-Bold'), + url('libertinusserif-bold.woff2'), + url('libertinusserif-bold.woff'); + font-weight: bold; +} +@font-face { + font-family: Libertinus Serif; + src: local('Libertinus Serif Italic'), local('LibertinusSerif-Italic'), + url('libertinusserif-italic.woff2'), + url('libertinusserif-italic.woff'); + font-style: italic; +} +@font-face { + font-family: Libertinus Serif; + src: local('Libertinus Serif Bold Italic'), + local('LibertinusSerif-BoldItalic'), + url('libertinusserif-bolditalic.woff2'), + url('libertinusserif-bolditalic.woff'); + font-weight: bold; + font-style: italic; +} +@font-face { + font-family: Libertinus Math; + src: local('Libertinus Math'), local('LibertinusMath'), + url('libertinusmath-regular.woff2'), + url('libertinusmath-regular.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: Libertinus Serif; +} +m|math { + font-family: Libertinus Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* No math script */ +m|*.calligraphic { +} diff --git a/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/LucidaBright/mathfonts.css b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/LucidaBright/mathfonts.css new file mode 100644 index 00000000..5f056577 --- /dev/null +++ b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/LucidaBright/mathfonts.css @@ -0,0 +1,58 @@ +/* +The commercial Lucida Bright fonts can be obtained from +http://tug.org/store/lucida/opentype.html and some Web services might +provide them as Web fonts. See also + http://www.microsoft.com/typography/fonts/family.aspx?FID=186 + http://www.microsoft.com/typography/fonts/family.aspx?FID=217 + +Warning: The CSS rules below have not been tested. +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +/* Uncomment and complete the URLs if you wish to use Web fonts */ +/* +@font-face { + font-family: Lucida Bright; + src: local('Lucida Bright'), url('...'); +} +@font-face { + font-family: Lucida Bright; + src: local('Lucida Bright Demibold'), url('...'); + font-weight: bolder; +} +@font-face { + font-family: Lucida Bright; + src: local('Lucida Bright Italic'), url('...'); + font-style: italic; +} +@font-face { + font-family: Lucida Bright; + src: local('Lucida Bright Demibold Italic'), url('...'); + font-weight: bolder; + font-style: italic; +} +@font-face { + font-family: Lucida Bright Math; + src: local('Lucida Bright Math'), url('...'); +} +*/ + +.htmlmathparagraph, m|mtext { + font-family: Lucida Bright; +} +m|math { + font-family: Lucida Bright Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* TODO: verify whether calligraphic letters are available in this font */ +m|*.calligraphic { +} diff --git a/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/Minion/mathfonts.css b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/Minion/mathfonts.css new file mode 100644 index 00000000..640b0eaf --- /dev/null +++ b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/Minion/mathfonts.css @@ -0,0 +1,37 @@ +/* +The commercial Minion Math fonts and can be obtained from +http://www.typoma.com/en/fonts.html and some Web services might provide them as +Web fonts. + +Warning: The CSS rules below have not been tested. More rules should probably +be added to make this work correctly. +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +/* Uncomment and complete the URLs if you wish to use Web fonts */ +/* +@font-face { + font-family: Minion Math; + src: local('Minion Math'), url('...'); +} +*/ + +.htmlmathparagraph, m|mtext { + font-family: Minion Math; +} +m|math { + font-family: Minion Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* TODO: verify whether calligraphic letters are available in this font */ +m|*.calligraphic { +} diff --git a/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/NeoEuler/mathfonts.css b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/NeoEuler/mathfonts.css new file mode 100644 index 00000000..8df86bf5 --- /dev/null +++ b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/NeoEuler/mathfonts.css @@ -0,0 +1,34 @@ +/* +Neo Euler is released under the SIL Open Font License. See the files in this +directory for details. The font is still in development. The font does not seem +to have a corresponding "non-MATH" font. + +The WOFF fonts have been obtained from +https://github.com/khaledhosny/euler-otf/ +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: Neo Euler; + src: local('Neo Euler'), url('euler.woff2'), url('euler.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: Neo Euler; +} +m|math { + font-family: Neo Euler; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* Calligraphic letters do not seem to be available */ +m|*.calligraphic { +} diff --git a/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoMath-Regular.woff2 b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoMath-Regular.woff2 new file mode 100644 index 00000000..279a98f0 Binary files /dev/null and b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoMath-Regular.woff2 differ diff --git a/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-Bold.woff2 b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-Bold.woff2 new file mode 100644 index 00000000..e4394884 Binary files /dev/null and b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-Bold.woff2 differ diff --git a/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-BoldItalic.woff2 b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-BoldItalic.woff2 new file mode 100644 index 00000000..0dc0baed Binary files /dev/null and b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-BoldItalic.woff2 differ diff --git a/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-Italic.woff2 b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-Italic.woff2 new file mode 100644 index 00000000..5594de32 Binary files /dev/null and b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-Italic.woff2 differ diff --git a/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-Regular.woff2 b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-Regular.woff2 new file mode 100644 index 00000000..263c488a Binary files /dev/null and b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-Regular.woff2 differ diff --git a/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/STIX/mathfonts.css b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/STIX/mathfonts.css new file mode 100644 index 00000000..4b287cee --- /dev/null +++ b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/STIX/mathfonts.css @@ -0,0 +1,69 @@ +/* +The STIX fonts are released under the SIL Open Font License. See the files in +this directory for details. The font can be obtained from several TeX +distributions or package managers. + +The WOFF fonts have been obtained from +http://downloads.sourceforge.net/project/stixfonts/ +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + + +@font-face { + font-family: STIX Two Text; + src: local('STIXTwoText'), + url('STIXTwoText-Regular.woff2'), + url('STIXTwoText-Regular.woff'); +} +@font-face { + font-family: STIX Two Text; + src: local('STIXTwoText-Bold'), + url('STIXTwoText-Bold.woff2'), + url('STIXTwoText-Bold.woff'); + font-weight: bold; +} +@font-face { + font-family: STIX Two Text; + src: local('STIXTwoText-Italic'), + url('STIXTwoText-Italic.woff2'), + url('STIXTwoText-Italic.woff'); + font-style: italic; +} +@font-face { + font-family: STIX Two Text; + src: local('STIXTwoText-BoldItalic'), + url('STIXTwoText-BoldItalic.woff2'), + url('STIXTwoText-BoldItalic.woff'); + font-weight: bold; + font-style: italic; +} +@font-face { + font-family: STIX Two Math; + src: local('STIXTwoMath-Regular'), + url('STIXTwoMath-Regular.woff2'), + url('STIXTwoMath-Regular.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: STIX Two Text; +} +m|math { + font-family: STIX Two Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +@font-feature-values STIX Two Math { @styleset { calligraphic: 1; } } +m|*.calligraphic { + font-variant-alternates: styleset(calligraphic); /* Recommended syntax */ + font-feature-settings: 'ss01'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'ss01'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'ss01'; /* Blink syntax */ +} diff --git a/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/mathfonts.css b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/mathfonts.css new file mode 100644 index 00000000..f7bbeaa0 --- /dev/null +++ b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/mathfonts.css @@ -0,0 +1,62 @@ +/* +The TeX Gyre Bonum fonts are released under the GUST font license, which is +legally equivalent to the LaTeX Project Public License. See the files in this +directory for details. The fonts can be obtained from several TeX distributions +or package managers. + +The WOFF fonts have been obtained from +http://www.gust.org.pl/projects/e-foundry/ +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: TeX Gyre Bonum; + src: local('TeXGyreBonum-Regular'), + url('texgyrebonum-regular.woff2'), url('texgyrebonum-regular.woff'); +} +@font-face { + font-family: TeX Gyre Bonum; + src: local('TeXGyreBonum-Bold'), + url('texgyrebonum-bold.woff2'), url('texgyrebonum-bold.woff'); + font-weight: bold; +} +@font-face { + font-family: TeX Gyre Bonum; + src: local('TeXGyreBonum-Italic'), + url('texgyrebonum-italic.woff2'), url('texgyrebonum-italic.woff'); + font-style: italic; +} +@font-face { + font-family: TeX Gyre Bonum; + src: local('TeXGyreBonum-BoldItalic'), + url('texgyrebonum-bolditalic.woff2'), + url('texgyrebonum-bolditalic.woff'); + font-weight: bold; + font-style: italic; +} +@font-face { + font-family: TeX Gyre Bonum Math; + src: local('TeX Gyre Bonum Math'), local('TeXGyreBonumMath-Regular'), + url('texgyrebonum-math.woff2'), + url('texgyrebonum-math.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: TeX Gyre Bonum; +} +m|math { + font-family: TeX Gyre Bonum Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* Calligraphic letters do not seem to be available */ +m|*.calligraphic { +} diff --git a/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-bold.woff2 b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-bold.woff2 new file mode 100644 index 00000000..013ca1bd Binary files /dev/null and b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-bold.woff2 differ diff --git a/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-bolditalic.woff2 b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-bolditalic.woff2 new file mode 100644 index 00000000..ae18fb8b Binary files /dev/null and b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-bolditalic.woff2 differ diff --git a/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-italic.woff2 b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-italic.woff2 new file mode 100644 index 00000000..42742390 Binary files /dev/null and b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-italic.woff2 differ diff --git a/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-math.woff2 b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-math.woff2 new file mode 100644 index 00000000..d16a1cea Binary files /dev/null and b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-math.woff2 differ diff --git a/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-regular.woff2 b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-regular.woff2 new file mode 100644 index 00000000..8aede98d Binary files /dev/null and b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-regular.woff2 differ diff --git a/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/TeXGyrePagella/mathfonts.css b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/TeXGyrePagella/mathfonts.css new file mode 100644 index 00000000..394686b0 --- /dev/null +++ b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/TeXGyrePagella/mathfonts.css @@ -0,0 +1,63 @@ +/* +The TeX Gyre Pagella fonts are released under the GUST font license, which is +legally equivalent to the LaTeX Project Public License. See the files in this +directory for details. The fonts can be obtained from several TeX distributions +or package managers. + +The WOFF fonts have been obtained from +http://www.gust.org.pl/projects/e-foundry/ +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: TeX Gyre Pagella; + src: local('TeXGyrePagella-Regular'), + url('texgyrepagella-regular.woff2'), + url('texgyrepagella-regular.woff'); +} +@font-face { + font-family: TeX Gyre Pagella; + src: local('TeXGyrePagella-Bold'), + url('texgyrepagella-bold.woff2'), url('texgyrepagella-bold.woff'); + font-weight: bold; +} +@font-face { + font-family: TeX Gyre Pagella; + src: local('TeXGyrePagella-Italic'), + url('texgyrepagella-italic.woff2'), url('texgyrepagella-italic.woff'); + font-style: italic; +} +@font-face { + font-family: TeX Gyre Pagella; + src: local('TeXGyrePagella-BoldItalic'), + url('texgyrepagella-bolditalic.woff2'), + url('texgyrepagella-bolditalic.woff'); + font-weight: bold; + font-style: italic; +} +@font-face { + font-family: TeX Gyre Pagella Math; + src: local('TeX Gyre Pagella Math'), local('TeXGyrePagellaMath-Regular'), + url('texgyrepagella-math.woff2'), + url('texgyrepagella-math.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: TeX Gyre Pagella; +} +m|math { + font-family: TeX Gyre Pagella Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* Calligraphic letters do not seem to be available */ +m|*.calligraphic { +} diff --git a/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/TeXGyrePagella/texgyrepagella-math.woff2 b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/TeXGyrePagella/texgyrepagella-math.woff2 new file mode 100644 index 00000000..0879c80a Binary files /dev/null and b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/TeXGyrePagella/texgyrepagella-math.woff2 differ diff --git a/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/mathfonts.css b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/mathfonts.css new file mode 100644 index 00000000..41c28c6b --- /dev/null +++ b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/mathfonts.css @@ -0,0 +1,61 @@ +/* +The TeX Gyre Schola fonts are released under the GUST font license, which is +legally equivalent to the LaTeX Project Public License. See the files in this +directory for details. The fonts can be obtained from several TeX distributions +or package managers. + +The WOFF fonts have been obtained from +http://www.gust.org.pl/projects/e-foundry/ +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: TeX Gyre Schola; + src: local('TeXGyreSchola-Regular'), + url('texgyreschola-regular.woff2'), url('texgyreschola-regular.woff'); +} +@font-face { + font-family: TeX Gyre Schola; + src: local('TeXGyreSchola-Bold'), + url('texgyreschola-bold.woff2'), url('texgyreschola-bold.woff'); + font-weight: bold; +} +@font-face { + font-family: TeX Gyre Schola; + src: local('TeXGyreSchola-Italic'), + url('texgyreschola-italic.woff2'), url('texgyreschola-italic.woff'); + font-style: italic; +} +@font-face { + font-family: TeX Gyre Schola; + src: local('TeXGyreSchola-BoldItalic'), + url('texgyreschola-bolditalic.woff2'), + url('texgyreschola-bolditalic.woff'); + font-weight: bold; + font-style: italic; +} +@font-face { + font-family: TeX Gyre Schola Math; + src: local('TeX Gyre Schola Math'), local('TeXGyreScholaMath-Regular'), + url('texgyreschola-math.woff2'), url('texgyreschola-math.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: TeX Gyre Schola; +} +m|math { + font-family: TeX Gyre Schola Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* Calligraphic letters do not seem to be available */ +m|*.calligraphic { +} diff --git a/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-bold.woff2 b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-bold.woff2 new file mode 100644 index 00000000..485f2c5b Binary files /dev/null and b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-bold.woff2 differ diff --git a/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-bolditalic.woff2 b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-bolditalic.woff2 new file mode 100644 index 00000000..6c8c3f52 Binary files /dev/null and b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-bolditalic.woff2 differ diff --git a/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-italic.woff2 b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-italic.woff2 new file mode 100644 index 00000000..afe8d4ef Binary files /dev/null and b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-italic.woff2 differ diff --git a/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-math.woff2 b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-math.woff2 new file mode 100644 index 00000000..674c4281 Binary files /dev/null and b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-math.woff2 differ diff --git a/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-regular.woff2 b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-regular.woff2 new file mode 100644 index 00000000..0dbec85e Binary files /dev/null and b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-regular.woff2 differ diff --git a/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/mathfonts.css b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/mathfonts.css new file mode 100644 index 00000000..d7a65374 --- /dev/null +++ b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/mathfonts.css @@ -0,0 +1,60 @@ +/* +The TeX Gyre Termes fonts are released under the GUST font license, which is +legally equivalent to the LaTeX Project Public License. See the files in this +directory for details. The fonts can be obtained from several TeX distributions +or package managers. + +The WOFF fonts have been obtained from +http://www.gust.org.pl/projects/e-foundry/ +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: TeX Gyre Termes; + src: local('TeXGyreTermes-Regular'), + url('texgyretermes-regular.woff2'), url('texgyretermes-regular.woff'); +} +@font-face { + font-family: TeX Gyre Termes; + src: local('TeXGyreTermes-Bold'), + url('texgyretermes-bold.woff2'), url('texgyretermes-bold.woff'); + font-weight: bold; +} +@font-face { + font-family: TeX Gyre Termes; + src: local('TeXGyreTermes-Italic'), + url('texgyretermes-italic.woff2'), url('texgyretermes-italic.woff'); + font-style: italic; +} +@font-face { + font-family: TeX Gyre Termes; + src: local('TeXGyreTermes-BoldItalic'), + url('texgyretermes-bolditalic.woff2'), url('texgyretermes-bolditalic.woff'); + font-weight: bold; + font-style: italic; +} +@font-face { + font-family: TeX Gyre Termes Math; + src: local('TeX Gyre Termes Math'), local('TeXGyreTermesMath-Regular'), + url('texgyretermes-math.woff2'), url('texgyretermes-math.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: TeX Gyre Termes; +} +m|math { + font-family: TeX Gyre Termes Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* Calligraphic letters do not seem to be available */ +m|*.calligraphic { +} diff --git a/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-bold.woff2 b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-bold.woff2 new file mode 100644 index 00000000..a346eb13 Binary files /dev/null and b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-bold.woff2 differ diff --git a/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-bolditalic.woff2 b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-bolditalic.woff2 new file mode 100644 index 00000000..571a2f07 Binary files /dev/null and b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-bolditalic.woff2 differ diff --git a/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-italic.woff2 b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-italic.woff2 new file mode 100644 index 00000000..401cd0ec Binary files /dev/null and b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-italic.woff2 differ diff --git a/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-math.woff2 b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-math.woff2 new file mode 100644 index 00000000..31c9adc2 Binary files /dev/null and b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-math.woff2 differ diff --git a/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-regular.woff2 b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-regular.woff2 new file mode 100644 index 00000000..1a15f9ad Binary files /dev/null and b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-regular.woff2 differ diff --git a/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-Bold.woff2 b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-Bold.woff2 new file mode 100644 index 00000000..7a12dd34 Binary files /dev/null and b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-Bold.woff2 differ diff --git a/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-BoldItalic.woff2 b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-BoldItalic.woff2 new file mode 100644 index 00000000..c4daad18 Binary files /dev/null and b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-BoldItalic.woff2 differ diff --git a/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-Italic.woff2 b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-Italic.woff2 new file mode 100644 index 00000000..9d434203 Binary files /dev/null and b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-Italic.woff2 differ diff --git a/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-Regular.woff2 b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-Regular.woff2 new file mode 100644 index 00000000..9acf905c Binary files /dev/null and b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-Regular.woff2 differ diff --git a/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/XITS/XITSMath-Bold.woff2 b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/XITS/XITSMath-Bold.woff2 new file mode 100644 index 00000000..c93f7230 Binary files /dev/null and b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/XITS/XITSMath-Bold.woff2 differ diff --git a/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/XITS/XITSMath-Regular.woff2 b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/XITS/XITSMath-Regular.woff2 new file mode 100644 index 00000000..fa9345cb Binary files /dev/null and b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/XITS/XITSMath-Regular.woff2 differ diff --git a/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/XITS/mathfonts.css b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/XITS/mathfonts.css new file mode 100644 index 00000000..9b62b7c3 --- /dev/null +++ b/io.sc.engine.mv.frontend/public/webjars/mathfonts/1.0.0/XITS/mathfonts.css @@ -0,0 +1,69 @@ +/* +XITS is released under the SIL Open Font License. See the files in this +directory for details. The font can be obtained from several TeX distributions +or package managers. + +The WOFF fonts have been obtained from +http://mirrors.ctan.org/fonts/ +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: XITS; + src: local('XITS'), + url('XITS-Regular.woff2'), url('XITS-Regular.woff'); +} +@font-face { + font-family: XITS; + src: local('XITS Bold'), local('XITS-Bold'), + url('XITS-Bold.woff2'), url('XITS-Bold.woff'); + font-weight: bold; +} +@font-face { + font-family: XITS; + src: local('XITS Italic'), local('XITS-Italic'), + url('XITS-Italic.woff2'), url('XITS-Italic.woff'); + font-style: italic; +} +@font-face { + font-family: XITS; + src: local('XITS Bold Italic'), local('XITS-BoldItalic'), + url('XITS-BoldItalic.woff2'), url('XITS-BoldItalic.woff'); + font-weight: bold; + font-style: italic; +} +@font-face { + font-family: XITS Math; + src: local('XITS Math'), local('XITSMath-Regular'), + url('XITSMath-Regular.woff2'), url('XITSMath-Regular.woff'); +} +@font-face { + font-family: XITS Math; + src: local('XITS Math Bold'), local('XITSMath-Bold'), + url('XITSMath-Bold.woff2'), url('XITSMathBold.woff'); + font-weight: bold; +} + +.htmlmathparagraph, m|mtext { + font-family: XITS; +} +m|math { + font-family: XITS Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +@font-feature-values XITS Math { @styleset { calligraphic: 1; } } +m|*.calligraphic { + font-variant-alternates: styleset(calligraphic); /* Recommended syntax */ + font-feature-settings: 'ss01'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'ss01'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'ss01'; /* Blink syntax */ +} diff --git a/io.sc.engine.rule.frontend/package.json b/io.sc.engine.rule.frontend/package.json index 7b8d3b47..766bb4ad 100644 --- a/io.sc.engine.rule.frontend/package.json +++ b/io.sc.engine.rule.frontend/package.json @@ -92,7 +92,7 @@ "luckyexcel": "1.0.1", "mockjs": "1.1.0", "pinia": "2.1.7", - "platform-core": "8.1.203", + "platform-core": "8.1.204", "quasar": "2.15.3", "tailwindcss": "3.4.3", "vue": "3.4.24", diff --git a/io.sc.engine.rule.frontend/public/index.html b/io.sc.engine.rule.frontend/public/index.html index bc996180..cd23f259 100644 --- a/io.sc.engine.rule.frontend/public/index.html +++ b/io.sc.engine.rule.frontend/public/index.html @@ -1,20 +1,27 @@ - + - - - + + + - - - - + + + + + + + - + @@ -26,9 +33,11 @@ -
-
- +
+ +
+ + @@ -68,7 +77,7 @@ -
正在加载, 请稍后......
+
正在加载, 请稍后......
diff --git a/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/Asana/mathfonts.css b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/Asana/mathfonts.css new file mode 100644 index 00000000..780d5344 --- /dev/null +++ b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/Asana/mathfonts.css @@ -0,0 +1,40 @@ +/* +Asana Math is released under the SIL Open Font License. See the files in this +directory for details. The font can be obtained from several TeX distributions +or package managers. The font does not seem to have a corresponding "non-MATH" +font, it is recommended to use a Palatino-like font for the surrounding text. + +The WOFF fonts have been obtained from +http://mirrors.ctan.org/fonts/ +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: Asana Math; + src: local('Asana Math'), local('Asana-Math'), + url('Asana-Math.woff2'), url('Asana-Math.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: Asana Math; +} +m|math { + font-family: Asana Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +@font-feature-values Asana Math { @stylistic { calligraphic: 1; } } +m|*.calligraphic { + font-variant-alternates: stylistic(calligraphic); /* Recommended syntax */ + font-feature-settings: 'salt'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'salt'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'salt'; /* Blink syntax */ +} diff --git a/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/Cambria/mathfonts.css b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/Cambria/mathfonts.css new file mode 100644 index 00000000..bcbb5386 --- /dev/null +++ b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/Cambria/mathfonts.css @@ -0,0 +1,56 @@ +/* +The proprietary Cambria fonts are installed by default on Microsoft Windows 7 +and higher and are provided with some other Microsoft products such as Office. +Some Web services may also provide them as Web fonts. For details, see + http://www.microsoft.com/typography/fonts/family.aspx?FID=291 + http://www.microsoft.com/typography/fonts/family.aspx?FID=360 +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +/* Uncomment and complete the URLs if you wish to use Web fonts */ +/* +@font-face { + font-family: Cambria; + src: local('Cambria'), url('...'); +} +@font-face { + font-family: Cambria; + src: local('Cambria Bold'), url('...'); + font-weight: bold; +} +@font-face { + font-family: Cambria; + src: local('Cambria Italic'), url('...'); + font-style: italic; +} +@font-face { + font-family: Cambria; + src: local('Cambria Bold Italic'), url('...'); + font-weight: bold; + font-style: italic; +} +@font-face { + font-family: Cambria Math; + src: local('Cambria Math'), url('...'); +} +*/ + +.htmlmathparagraph, m|mtext { + font-family: Cambria; +} +m|math { + font-family: Cambria Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* TODO: verify whether calligraphic letters are available in this font */ +m|*.calligraphic { +} diff --git a/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif-Bold.woff2 b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif-Bold.woff2 new file mode 100644 index 00000000..c3620b3b Binary files /dev/null and b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif-Bold.woff2 differ diff --git a/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif-BoldItalic.woff2 b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif-BoldItalic.woff2 new file mode 100644 index 00000000..3d641e3d Binary files /dev/null and b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif-BoldItalic.woff2 differ diff --git a/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif-Italic.woff2 b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif-Italic.woff2 new file mode 100644 index 00000000..163819b5 Binary files /dev/null and b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif-Italic.woff2 differ diff --git a/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/DejaVu/mathfonts.css b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/DejaVu/mathfonts.css new file mode 100644 index 00000000..ee48b1d3 --- /dev/null +++ b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/DejaVu/mathfonts.css @@ -0,0 +1,51 @@ +/* +Deja Vu is released under a Free License. See the files in this directory +for details. This fonts is available on most Linux distributions. +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: DejaVu Math TeX Gyre; + src: url('DejaVuMathTeXGyre.woff2'), url('DejaVuMathTeXGyre.woff'); +} +@font-face { + font-family: DejaVu Serif; + src: url('DejaVuSerif.woff2'), url('DejaVuSerif.woff'); +} +@font-face { + font-family: DejaVu Serif; + src: url('DejaVuSerif-Bold.woff2'), url('DejaVuSerif-Bold.woff'); + font-weight: bold; +} +@font-face { + font-family: DejaVu Serif; + src: url('DejaVuSerif-Italic.woff2'), url('DejaVuSerif-Italic.woff'); + font-style: italic; +} +@font-face { + font-family: DejaVu Serif; + src: url('DejaVuSerif-BoldItalic.woff2'), + url('DejaVuSerif-BoldItalic.woff'); + font-weight: bold; + font-style: italic; +} + +.htmlmathparagraph, m|mtext { + font-family: DejaVu Serif; +} +m|math { + font-family: DejaVu Math TeX Gyre; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* Calligraphic letters do not seem to be available */ +m|*.calligraphic { +} diff --git a/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/FiraMath/FiraMath-Regular.woff2 b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/FiraMath/FiraMath-Regular.woff2 new file mode 100644 index 00000000..c13030cd Binary files /dev/null and b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/FiraMath/FiraMath-Regular.woff2 differ diff --git a/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/FiraMath/mathfonts.css b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/FiraMath/mathfonts.css new file mode 100644 index 00000000..c05d74d6 --- /dev/null +++ b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/FiraMath/mathfonts.css @@ -0,0 +1,21 @@ +/* +The FiraMath font is released under the SIL Open Font License. See the files in +this directory for details. +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: Fira Math; + src: local('Fira Math'), local('FiraMath-Regular'), + url('FiraMath-Regular.woff2'), url('FiraMath-Regular.woff'); +} + +.htmlmathparagraph, m|mtext { + /* TODO: use FiraGO instead? */ + font-family: Fira Math; +} +m|math { + font-family: Fira Math; +} diff --git a/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenic.woff2 b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenic.woff2 new file mode 100644 index 00000000..3c27d39f Binary files /dev/null and b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenic.woff2 differ diff --git a/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicBold.woff2 b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicBold.woff2 new file mode 100644 index 00000000..e946d53e Binary files /dev/null and b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicBold.woff2 differ diff --git a/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicBoldIt.woff2 b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicBoldIt.woff2 new file mode 100644 index 00000000..0dd7d2ed Binary files /dev/null and b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicBoldIt.woff2 differ diff --git a/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicIt.woff2 b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicIt.woff2 new file mode 100644 index 00000000..e7dfb1d1 Binary files /dev/null and b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicIt.woff2 differ diff --git a/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicMath.woff2 b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicMath.woff2 new file mode 100644 index 00000000..2c488f2a Binary files /dev/null and b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicMath.woff2 differ diff --git a/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/mathfonts.css b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/mathfonts.css new file mode 100644 index 00000000..ea0116c9 --- /dev/null +++ b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/mathfonts.css @@ -0,0 +1,50 @@ +/* +The GFS Neohellenic fonts are released under the SIL Open Font License. See the +files in this directory for details. +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + + +@font-face { + font-family: GFS Neohellenic; + src: local('GFSNeohellenic-Regular'), + url('GFSNeohellenic.woff2'), + url('GFSNeohellenic.woff'); +} +@font-face { + font-family: GFS Neohellenic; + src: local('GFSNeohellenic-Bold'), + url('GFSNeohellenic-Bold.woff2'), + url('GFSNeohellenic-Bold.woff'); + font-weight: bold; +} +@font-face { + font-family: GFS Neohellenic; + src: local('GFSNeohellenic-Italic'), + url('GFSNeohellenic-It.woff2'), + url('GFSNeohellenic-It.woff'); + font-style: italic; +} +@font-face { + font-family: GFS Neohellenic; + src: local('GFSNeohellenic-BoldItalic'), + url('GFSNeohellenic-BoldIt.woff2'), + url('GFSNeohellenic-BoldIt.woff'); + font-weight: bold; + font-style: italic; +} +@font-face { + font-family: GFS Neohellenic Math; + src: local('GFSNeohellenicMath'), + url('GFSNeohellenicMath.woff2'), + url('GFSNeohellenicMath.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: GFS Neohellenic; +} +m|math { + font-family: GFS Neohellenic Math; +} diff --git a/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/GNUFreeSans/mathfonts.css b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/GNUFreeSans/mathfonts.css new file mode 100644 index 00000000..cbf76d3d --- /dev/null +++ b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/GNUFreeSans/mathfonts.css @@ -0,0 +1,47 @@ +/* +GNU FreeSans is released under the GNU General Public License. See the files in +this directory for details. OpenType MATH support is only available in the +development version. +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: FreeSans; + src: url('FreeSans.woff2'), url('FreeSans.woff'); +} +@font-face { + font-family: FreeSans; + src: url('FreeSansBold.woff2'), url('FreeSansBold.woff'); + font-weight: bold; +} +@font-face { + font-family: FreeSans; + src: url('FreeSansOblique.woff2'), url('FreeSansOblique.woff'); + font-style: oblique; +} +@font-face { + font-family: FreeSans; + src: url('FreeSansBoldOblique.woff2'), url('FreeSansBoldOblique.woff'); + font-weight: bold; + font-style: oblique; +} + +.htmlmathparagraph, m|mtext { + font-family: FreeSans; +} +m|math { + font-family: FreeSans; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* Calligraphic letters do not seem to be available */ +m|*.calligraphic { +} diff --git a/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/GNUFreeSerif/mathfonts.css b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/GNUFreeSerif/mathfonts.css new file mode 100644 index 00000000..9572fbfe --- /dev/null +++ b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/GNUFreeSerif/mathfonts.css @@ -0,0 +1,47 @@ +/* +GNU FreeSerif is released under the GNU General Public License. See the files in +this directory for details. OpenType MATH support is only available in the +development version. +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: FreeSerif; + src: url('FreeSerif.woff2'), url('FreeSerif.woff'); +} +@font-face { + font-family: FreeSerif; + src: url('FreeSerifBold.woff2'), url('FreeSerifBold.woff'); + font-weight: bold; +} +@font-face { + font-family: FreeSerif; + src: url('FreeSerifItalic.woff2'), url('FreeSerifItalic.woff'); + font-style: italic; +} +@font-face { + font-family: FreeSerif; + src: url('FreeSerifBoldItalic.woff2'), url('FreeSerifBoldItalic.woff'); + font-weight: bold; + font-style: italic; +} + +.htmlmathparagraph, m|mtext { + font-family: FreeSerif; +} +m|math { + font-family: FreeSerif; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* Calligraphic letters do not seem to be available */ +m|*.calligraphic { +} diff --git a/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/Garamond/EBGaramond12-Italic.woff2 b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/Garamond/EBGaramond12-Italic.woff2 new file mode 100644 index 00000000..21fe6278 Binary files /dev/null and b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/Garamond/EBGaramond12-Italic.woff2 differ diff --git a/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/Garamond/EBGaramond12-Regular.woff2 b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/Garamond/EBGaramond12-Regular.woff2 new file mode 100644 index 00000000..9d8c372e Binary files /dev/null and b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/Garamond/EBGaramond12-Regular.woff2 differ diff --git a/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/Garamond/Garamond-Math.woff2 b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/Garamond/Garamond-Math.woff2 new file mode 100644 index 00000000..72102330 Binary files /dev/null and b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/Garamond/Garamond-Math.woff2 differ diff --git a/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/Garamond/mathfonts.css b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/Garamond/mathfonts.css new file mode 100644 index 00000000..f8b1e9df --- /dev/null +++ b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/Garamond/mathfonts.css @@ -0,0 +1,35 @@ +/* +The Garamond fonts are released under the SIL Open Font License. See the files +in this directory for details. +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + + +@font-face { + font-family: EB Garamond; + src: local('EBGaramond12-Regular'), + url('EBGaramond12-Regular.woff2'), + url('EBGaramond12-Regular.woff'); +} +@font-face { + font-family: EB Garamond; + src: local('EBGaramond12-Italic'), + url('EBGaramond12-Italic.woff2'), + url('EBGaramond12-Italic.woff'); + font-style: italic; +} +@font-face { + font-family: Garamond Math; + src: local('Garamond-Math'), + url('Garamond-Math.woff2'), + url('Garamond-Math.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: EB Garamond; +} +m|math { + font-family: Garamond Math; +} diff --git a/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/LatinModern/latinmodern-math.woff2 b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/LatinModern/latinmodern-math.woff2 new file mode 100644 index 00000000..6110b17b Binary files /dev/null and b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/LatinModern/latinmodern-math.woff2 differ diff --git a/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/LatinModern/lmroman12-bold.woff2 b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/LatinModern/lmroman12-bold.woff2 new file mode 100644 index 00000000..df169efa Binary files /dev/null and b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/LatinModern/lmroman12-bold.woff2 differ diff --git a/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/LatinModern/lmroman12-italic.woff2 b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/LatinModern/lmroman12-italic.woff2 new file mode 100644 index 00000000..c4ef3ed4 Binary files /dev/null and b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/LatinModern/lmroman12-italic.woff2 differ diff --git a/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/LatinModern/lmroman12-regular.woff2 b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/LatinModern/lmroman12-regular.woff2 new file mode 100644 index 00000000..ae0f344e Binary files /dev/null and b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/LatinModern/lmroman12-regular.woff2 differ diff --git a/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/LatinModern/mathfonts.css b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/LatinModern/mathfonts.css new file mode 100644 index 00000000..b4b0ceeb --- /dev/null +++ b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/LatinModern/mathfonts.css @@ -0,0 +1,53 @@ +/* +The Latin Modern fonts are released under the GUST font license, which is +legally equivalent to the LaTeX Project Public License. See the files in this +directory for details. The fonts can be obtained from several TeX distributions +or package managers. + +The WOFF fonts have been obtained from +http://www.gust.org.pl/projects/e-foundry/ +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +/* Latin Modern Roman has various sizes. We use the generic name + "Latin Modern Roman" for the local versions and "LMRoman12" for the Web font. +*/ +@font-face { + font-family: LMRoman12; + src: url('lmroman12-regular.woff2'), url('lmroman12-regular.woff'); +} +@font-face { + font-family: LMRoman12; + src: url('lmroman12-bold.woff2'), url('lmroman12-bold.woff'); + font-weight: bold; +} +@font-face { + font-family: LMRoman12; + src: url('lmroman12-italic.woff2'), url('lmroman12-italic.woff'); + font-style: italic; +} +@font-face { + font-family: Latin Modern Math; + src: local('Latin Modern Math'), local('LatinModernMath-Regular'), + url('latinmodern-math.woff2'), url('latinmodern-math.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: Latin Modern Roman, LMRoman12; +} +m|math { + font-family: Latin Modern Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* Calligraphic letters do not seem to be available */ +m|*.calligraphic { +} diff --git a/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusmath-regular.woff2 b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusmath-regular.woff2 new file mode 100644 index 00000000..c76bab8c Binary files /dev/null and b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusmath-regular.woff2 differ diff --git a/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-bold.woff2 b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-bold.woff2 new file mode 100644 index 00000000..34b9f93b Binary files /dev/null and b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-bold.woff2 differ diff --git a/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-bolditalic.woff2 b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-bolditalic.woff2 new file mode 100644 index 00000000..19fbf7b9 Binary files /dev/null and b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-bolditalic.woff2 differ diff --git a/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-italic.woff2 b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-italic.woff2 new file mode 100644 index 00000000..dd20fdcf Binary files /dev/null and b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-italic.woff2 differ diff --git a/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-regular.woff2 b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-regular.woff2 new file mode 100644 index 00000000..a7ef60ef Binary files /dev/null and b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-regular.woff2 differ diff --git a/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/Libertinus/mathfonts.css b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/Libertinus/mathfonts.css new file mode 100644 index 00000000..fe6d41c2 --- /dev/null +++ b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/Libertinus/mathfonts.css @@ -0,0 +1,61 @@ +/* +The Libertinus fonts are released under the SIL Open Font and GPL Licenses. See +the files in this directory for details. +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: Libertinus Serif; + src: local('Libertinus Serif'), local('LibertinusSerif'), + url('libertinusserif-regular.woff2'), + url('libertinusserif-regular.woff'); +} +@font-face { + font-family: Libertinus Serif; + src: local('Libertinus Serif Bold'), local('LibertinusSerif-Bold'), + url('libertinusserif-bold.woff2'), + url('libertinusserif-bold.woff'); + font-weight: bold; +} +@font-face { + font-family: Libertinus Serif; + src: local('Libertinus Serif Italic'), local('LibertinusSerif-Italic'), + url('libertinusserif-italic.woff2'), + url('libertinusserif-italic.woff'); + font-style: italic; +} +@font-face { + font-family: Libertinus Serif; + src: local('Libertinus Serif Bold Italic'), + local('LibertinusSerif-BoldItalic'), + url('libertinusserif-bolditalic.woff2'), + url('libertinusserif-bolditalic.woff'); + font-weight: bold; + font-style: italic; +} +@font-face { + font-family: Libertinus Math; + src: local('Libertinus Math'), local('LibertinusMath'), + url('libertinusmath-regular.woff2'), + url('libertinusmath-regular.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: Libertinus Serif; +} +m|math { + font-family: Libertinus Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* No math script */ +m|*.calligraphic { +} diff --git a/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/LucidaBright/mathfonts.css b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/LucidaBright/mathfonts.css new file mode 100644 index 00000000..5f056577 --- /dev/null +++ b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/LucidaBright/mathfonts.css @@ -0,0 +1,58 @@ +/* +The commercial Lucida Bright fonts can be obtained from +http://tug.org/store/lucida/opentype.html and some Web services might +provide them as Web fonts. See also + http://www.microsoft.com/typography/fonts/family.aspx?FID=186 + http://www.microsoft.com/typography/fonts/family.aspx?FID=217 + +Warning: The CSS rules below have not been tested. +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +/* Uncomment and complete the URLs if you wish to use Web fonts */ +/* +@font-face { + font-family: Lucida Bright; + src: local('Lucida Bright'), url('...'); +} +@font-face { + font-family: Lucida Bright; + src: local('Lucida Bright Demibold'), url('...'); + font-weight: bolder; +} +@font-face { + font-family: Lucida Bright; + src: local('Lucida Bright Italic'), url('...'); + font-style: italic; +} +@font-face { + font-family: Lucida Bright; + src: local('Lucida Bright Demibold Italic'), url('...'); + font-weight: bolder; + font-style: italic; +} +@font-face { + font-family: Lucida Bright Math; + src: local('Lucida Bright Math'), url('...'); +} +*/ + +.htmlmathparagraph, m|mtext { + font-family: Lucida Bright; +} +m|math { + font-family: Lucida Bright Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* TODO: verify whether calligraphic letters are available in this font */ +m|*.calligraphic { +} diff --git a/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/Minion/mathfonts.css b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/Minion/mathfonts.css new file mode 100644 index 00000000..640b0eaf --- /dev/null +++ b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/Minion/mathfonts.css @@ -0,0 +1,37 @@ +/* +The commercial Minion Math fonts and can be obtained from +http://www.typoma.com/en/fonts.html and some Web services might provide them as +Web fonts. + +Warning: The CSS rules below have not been tested. More rules should probably +be added to make this work correctly. +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +/* Uncomment and complete the URLs if you wish to use Web fonts */ +/* +@font-face { + font-family: Minion Math; + src: local('Minion Math'), url('...'); +} +*/ + +.htmlmathparagraph, m|mtext { + font-family: Minion Math; +} +m|math { + font-family: Minion Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* TODO: verify whether calligraphic letters are available in this font */ +m|*.calligraphic { +} diff --git a/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/NeoEuler/mathfonts.css b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/NeoEuler/mathfonts.css new file mode 100644 index 00000000..8df86bf5 --- /dev/null +++ b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/NeoEuler/mathfonts.css @@ -0,0 +1,34 @@ +/* +Neo Euler is released under the SIL Open Font License. See the files in this +directory for details. The font is still in development. The font does not seem +to have a corresponding "non-MATH" font. + +The WOFF fonts have been obtained from +https://github.com/khaledhosny/euler-otf/ +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: Neo Euler; + src: local('Neo Euler'), url('euler.woff2'), url('euler.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: Neo Euler; +} +m|math { + font-family: Neo Euler; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* Calligraphic letters do not seem to be available */ +m|*.calligraphic { +} diff --git a/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoMath-Regular.woff2 b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoMath-Regular.woff2 new file mode 100644 index 00000000..279a98f0 Binary files /dev/null and b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoMath-Regular.woff2 differ diff --git a/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-Bold.woff2 b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-Bold.woff2 new file mode 100644 index 00000000..e4394884 Binary files /dev/null and b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-Bold.woff2 differ diff --git a/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-BoldItalic.woff2 b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-BoldItalic.woff2 new file mode 100644 index 00000000..0dc0baed Binary files /dev/null and b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-BoldItalic.woff2 differ diff --git a/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-Italic.woff2 b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-Italic.woff2 new file mode 100644 index 00000000..5594de32 Binary files /dev/null and b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-Italic.woff2 differ diff --git a/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-Regular.woff2 b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-Regular.woff2 new file mode 100644 index 00000000..263c488a Binary files /dev/null and b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-Regular.woff2 differ diff --git a/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/STIX/mathfonts.css b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/STIX/mathfonts.css new file mode 100644 index 00000000..4b287cee --- /dev/null +++ b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/STIX/mathfonts.css @@ -0,0 +1,69 @@ +/* +The STIX fonts are released under the SIL Open Font License. See the files in +this directory for details. The font can be obtained from several TeX +distributions or package managers. + +The WOFF fonts have been obtained from +http://downloads.sourceforge.net/project/stixfonts/ +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + + +@font-face { + font-family: STIX Two Text; + src: local('STIXTwoText'), + url('STIXTwoText-Regular.woff2'), + url('STIXTwoText-Regular.woff'); +} +@font-face { + font-family: STIX Two Text; + src: local('STIXTwoText-Bold'), + url('STIXTwoText-Bold.woff2'), + url('STIXTwoText-Bold.woff'); + font-weight: bold; +} +@font-face { + font-family: STIX Two Text; + src: local('STIXTwoText-Italic'), + url('STIXTwoText-Italic.woff2'), + url('STIXTwoText-Italic.woff'); + font-style: italic; +} +@font-face { + font-family: STIX Two Text; + src: local('STIXTwoText-BoldItalic'), + url('STIXTwoText-BoldItalic.woff2'), + url('STIXTwoText-BoldItalic.woff'); + font-weight: bold; + font-style: italic; +} +@font-face { + font-family: STIX Two Math; + src: local('STIXTwoMath-Regular'), + url('STIXTwoMath-Regular.woff2'), + url('STIXTwoMath-Regular.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: STIX Two Text; +} +m|math { + font-family: STIX Two Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +@font-feature-values STIX Two Math { @styleset { calligraphic: 1; } } +m|*.calligraphic { + font-variant-alternates: styleset(calligraphic); /* Recommended syntax */ + font-feature-settings: 'ss01'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'ss01'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'ss01'; /* Blink syntax */ +} diff --git a/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/mathfonts.css b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/mathfonts.css new file mode 100644 index 00000000..f7bbeaa0 --- /dev/null +++ b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/mathfonts.css @@ -0,0 +1,62 @@ +/* +The TeX Gyre Bonum fonts are released under the GUST font license, which is +legally equivalent to the LaTeX Project Public License. See the files in this +directory for details. The fonts can be obtained from several TeX distributions +or package managers. + +The WOFF fonts have been obtained from +http://www.gust.org.pl/projects/e-foundry/ +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: TeX Gyre Bonum; + src: local('TeXGyreBonum-Regular'), + url('texgyrebonum-regular.woff2'), url('texgyrebonum-regular.woff'); +} +@font-face { + font-family: TeX Gyre Bonum; + src: local('TeXGyreBonum-Bold'), + url('texgyrebonum-bold.woff2'), url('texgyrebonum-bold.woff'); + font-weight: bold; +} +@font-face { + font-family: TeX Gyre Bonum; + src: local('TeXGyreBonum-Italic'), + url('texgyrebonum-italic.woff2'), url('texgyrebonum-italic.woff'); + font-style: italic; +} +@font-face { + font-family: TeX Gyre Bonum; + src: local('TeXGyreBonum-BoldItalic'), + url('texgyrebonum-bolditalic.woff2'), + url('texgyrebonum-bolditalic.woff'); + font-weight: bold; + font-style: italic; +} +@font-face { + font-family: TeX Gyre Bonum Math; + src: local('TeX Gyre Bonum Math'), local('TeXGyreBonumMath-Regular'), + url('texgyrebonum-math.woff2'), + url('texgyrebonum-math.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: TeX Gyre Bonum; +} +m|math { + font-family: TeX Gyre Bonum Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* Calligraphic letters do not seem to be available */ +m|*.calligraphic { +} diff --git a/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-bold.woff2 b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-bold.woff2 new file mode 100644 index 00000000..013ca1bd Binary files /dev/null and b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-bold.woff2 differ diff --git a/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-bolditalic.woff2 b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-bolditalic.woff2 new file mode 100644 index 00000000..ae18fb8b Binary files /dev/null and b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-bolditalic.woff2 differ diff --git a/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-italic.woff2 b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-italic.woff2 new file mode 100644 index 00000000..42742390 Binary files /dev/null and b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-italic.woff2 differ diff --git a/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-math.woff2 b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-math.woff2 new file mode 100644 index 00000000..d16a1cea Binary files /dev/null and b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-math.woff2 differ diff --git a/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-regular.woff2 b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-regular.woff2 new file mode 100644 index 00000000..8aede98d Binary files /dev/null and b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-regular.woff2 differ diff --git a/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/TeXGyrePagella/mathfonts.css b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/TeXGyrePagella/mathfonts.css new file mode 100644 index 00000000..394686b0 --- /dev/null +++ b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/TeXGyrePagella/mathfonts.css @@ -0,0 +1,63 @@ +/* +The TeX Gyre Pagella fonts are released under the GUST font license, which is +legally equivalent to the LaTeX Project Public License. See the files in this +directory for details. The fonts can be obtained from several TeX distributions +or package managers. + +The WOFF fonts have been obtained from +http://www.gust.org.pl/projects/e-foundry/ +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: TeX Gyre Pagella; + src: local('TeXGyrePagella-Regular'), + url('texgyrepagella-regular.woff2'), + url('texgyrepagella-regular.woff'); +} +@font-face { + font-family: TeX Gyre Pagella; + src: local('TeXGyrePagella-Bold'), + url('texgyrepagella-bold.woff2'), url('texgyrepagella-bold.woff'); + font-weight: bold; +} +@font-face { + font-family: TeX Gyre Pagella; + src: local('TeXGyrePagella-Italic'), + url('texgyrepagella-italic.woff2'), url('texgyrepagella-italic.woff'); + font-style: italic; +} +@font-face { + font-family: TeX Gyre Pagella; + src: local('TeXGyrePagella-BoldItalic'), + url('texgyrepagella-bolditalic.woff2'), + url('texgyrepagella-bolditalic.woff'); + font-weight: bold; + font-style: italic; +} +@font-face { + font-family: TeX Gyre Pagella Math; + src: local('TeX Gyre Pagella Math'), local('TeXGyrePagellaMath-Regular'), + url('texgyrepagella-math.woff2'), + url('texgyrepagella-math.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: TeX Gyre Pagella; +} +m|math { + font-family: TeX Gyre Pagella Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* Calligraphic letters do not seem to be available */ +m|*.calligraphic { +} diff --git a/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/TeXGyrePagella/texgyrepagella-math.woff2 b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/TeXGyrePagella/texgyrepagella-math.woff2 new file mode 100644 index 00000000..0879c80a Binary files /dev/null and b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/TeXGyrePagella/texgyrepagella-math.woff2 differ diff --git a/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/mathfonts.css b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/mathfonts.css new file mode 100644 index 00000000..41c28c6b --- /dev/null +++ b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/mathfonts.css @@ -0,0 +1,61 @@ +/* +The TeX Gyre Schola fonts are released under the GUST font license, which is +legally equivalent to the LaTeX Project Public License. See the files in this +directory for details. The fonts can be obtained from several TeX distributions +or package managers. + +The WOFF fonts have been obtained from +http://www.gust.org.pl/projects/e-foundry/ +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: TeX Gyre Schola; + src: local('TeXGyreSchola-Regular'), + url('texgyreschola-regular.woff2'), url('texgyreschola-regular.woff'); +} +@font-face { + font-family: TeX Gyre Schola; + src: local('TeXGyreSchola-Bold'), + url('texgyreschola-bold.woff2'), url('texgyreschola-bold.woff'); + font-weight: bold; +} +@font-face { + font-family: TeX Gyre Schola; + src: local('TeXGyreSchola-Italic'), + url('texgyreschola-italic.woff2'), url('texgyreschola-italic.woff'); + font-style: italic; +} +@font-face { + font-family: TeX Gyre Schola; + src: local('TeXGyreSchola-BoldItalic'), + url('texgyreschola-bolditalic.woff2'), + url('texgyreschola-bolditalic.woff'); + font-weight: bold; + font-style: italic; +} +@font-face { + font-family: TeX Gyre Schola Math; + src: local('TeX Gyre Schola Math'), local('TeXGyreScholaMath-Regular'), + url('texgyreschola-math.woff2'), url('texgyreschola-math.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: TeX Gyre Schola; +} +m|math { + font-family: TeX Gyre Schola Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* Calligraphic letters do not seem to be available */ +m|*.calligraphic { +} diff --git a/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-bold.woff2 b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-bold.woff2 new file mode 100644 index 00000000..485f2c5b Binary files /dev/null and b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-bold.woff2 differ diff --git a/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-bolditalic.woff2 b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-bolditalic.woff2 new file mode 100644 index 00000000..6c8c3f52 Binary files /dev/null and b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-bolditalic.woff2 differ diff --git a/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-italic.woff2 b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-italic.woff2 new file mode 100644 index 00000000..afe8d4ef Binary files /dev/null and b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-italic.woff2 differ diff --git a/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-math.woff2 b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-math.woff2 new file mode 100644 index 00000000..674c4281 Binary files /dev/null and b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-math.woff2 differ diff --git a/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-regular.woff2 b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-regular.woff2 new file mode 100644 index 00000000..0dbec85e Binary files /dev/null and b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-regular.woff2 differ diff --git a/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/mathfonts.css b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/mathfonts.css new file mode 100644 index 00000000..d7a65374 --- /dev/null +++ b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/mathfonts.css @@ -0,0 +1,60 @@ +/* +The TeX Gyre Termes fonts are released under the GUST font license, which is +legally equivalent to the LaTeX Project Public License. See the files in this +directory for details. The fonts can be obtained from several TeX distributions +or package managers. + +The WOFF fonts have been obtained from +http://www.gust.org.pl/projects/e-foundry/ +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: TeX Gyre Termes; + src: local('TeXGyreTermes-Regular'), + url('texgyretermes-regular.woff2'), url('texgyretermes-regular.woff'); +} +@font-face { + font-family: TeX Gyre Termes; + src: local('TeXGyreTermes-Bold'), + url('texgyretermes-bold.woff2'), url('texgyretermes-bold.woff'); + font-weight: bold; +} +@font-face { + font-family: TeX Gyre Termes; + src: local('TeXGyreTermes-Italic'), + url('texgyretermes-italic.woff2'), url('texgyretermes-italic.woff'); + font-style: italic; +} +@font-face { + font-family: TeX Gyre Termes; + src: local('TeXGyreTermes-BoldItalic'), + url('texgyretermes-bolditalic.woff2'), url('texgyretermes-bolditalic.woff'); + font-weight: bold; + font-style: italic; +} +@font-face { + font-family: TeX Gyre Termes Math; + src: local('TeX Gyre Termes Math'), local('TeXGyreTermesMath-Regular'), + url('texgyretermes-math.woff2'), url('texgyretermes-math.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: TeX Gyre Termes; +} +m|math { + font-family: TeX Gyre Termes Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* Calligraphic letters do not seem to be available */ +m|*.calligraphic { +} diff --git a/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-bold.woff2 b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-bold.woff2 new file mode 100644 index 00000000..a346eb13 Binary files /dev/null and b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-bold.woff2 differ diff --git a/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-bolditalic.woff2 b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-bolditalic.woff2 new file mode 100644 index 00000000..571a2f07 Binary files /dev/null and b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-bolditalic.woff2 differ diff --git a/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-italic.woff2 b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-italic.woff2 new file mode 100644 index 00000000..401cd0ec Binary files /dev/null and b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-italic.woff2 differ diff --git a/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-math.woff2 b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-math.woff2 new file mode 100644 index 00000000..31c9adc2 Binary files /dev/null and b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-math.woff2 differ diff --git a/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-regular.woff2 b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-regular.woff2 new file mode 100644 index 00000000..1a15f9ad Binary files /dev/null and b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-regular.woff2 differ diff --git a/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-Bold.woff2 b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-Bold.woff2 new file mode 100644 index 00000000..7a12dd34 Binary files /dev/null and b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-Bold.woff2 differ diff --git a/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-BoldItalic.woff2 b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-BoldItalic.woff2 new file mode 100644 index 00000000..c4daad18 Binary files /dev/null and b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-BoldItalic.woff2 differ diff --git a/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-Italic.woff2 b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-Italic.woff2 new file mode 100644 index 00000000..9d434203 Binary files /dev/null and b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-Italic.woff2 differ diff --git a/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-Regular.woff2 b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-Regular.woff2 new file mode 100644 index 00000000..9acf905c Binary files /dev/null and b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-Regular.woff2 differ diff --git a/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/XITS/XITSMath-Bold.woff2 b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/XITS/XITSMath-Bold.woff2 new file mode 100644 index 00000000..c93f7230 Binary files /dev/null and b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/XITS/XITSMath-Bold.woff2 differ diff --git a/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/XITS/XITSMath-Regular.woff2 b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/XITS/XITSMath-Regular.woff2 new file mode 100644 index 00000000..fa9345cb Binary files /dev/null and b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/XITS/XITSMath-Regular.woff2 differ diff --git a/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/XITS/mathfonts.css b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/XITS/mathfonts.css new file mode 100644 index 00000000..9b62b7c3 --- /dev/null +++ b/io.sc.engine.rule.frontend/public/webjars/mathfonts/1.0.0/XITS/mathfonts.css @@ -0,0 +1,69 @@ +/* +XITS is released under the SIL Open Font License. See the files in this +directory for details. The font can be obtained from several TeX distributions +or package managers. + +The WOFF fonts have been obtained from +http://mirrors.ctan.org/fonts/ +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: XITS; + src: local('XITS'), + url('XITS-Regular.woff2'), url('XITS-Regular.woff'); +} +@font-face { + font-family: XITS; + src: local('XITS Bold'), local('XITS-Bold'), + url('XITS-Bold.woff2'), url('XITS-Bold.woff'); + font-weight: bold; +} +@font-face { + font-family: XITS; + src: local('XITS Italic'), local('XITS-Italic'), + url('XITS-Italic.woff2'), url('XITS-Italic.woff'); + font-style: italic; +} +@font-face { + font-family: XITS; + src: local('XITS Bold Italic'), local('XITS-BoldItalic'), + url('XITS-BoldItalic.woff2'), url('XITS-BoldItalic.woff'); + font-weight: bold; + font-style: italic; +} +@font-face { + font-family: XITS Math; + src: local('XITS Math'), local('XITSMath-Regular'), + url('XITSMath-Regular.woff2'), url('XITSMath-Regular.woff'); +} +@font-face { + font-family: XITS Math; + src: local('XITS Math Bold'), local('XITSMath-Bold'), + url('XITSMath-Bold.woff2'), url('XITSMathBold.woff'); + font-weight: bold; +} + +.htmlmathparagraph, m|mtext { + font-family: XITS; +} +m|math { + font-family: XITS Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +@font-feature-values XITS Math { @styleset { calligraphic: 1; } } +m|*.calligraphic { + font-variant-alternates: styleset(calligraphic); /* Recommended syntax */ + font-feature-settings: 'ss01'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'ss01'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'ss01'; /* Blink syntax */ +} diff --git a/io.sc.engine.st.frontend/package.json b/io.sc.engine.st.frontend/package.json index 1c3d4eaf..09aaf65f 100644 --- a/io.sc.engine.st.frontend/package.json +++ b/io.sc.engine.st.frontend/package.json @@ -92,7 +92,7 @@ "luckyexcel": "1.0.1", "mockjs": "1.1.0", "pinia": "2.1.7", - "platform-core": "8.1.203", + "platform-core": "8.1.204", "quasar": "2.15.3", "tailwindcss": "3.4.3", "vue": "3.4.24", diff --git a/io.sc.engine.st.frontend/public/index.html b/io.sc.engine.st.frontend/public/index.html index bc996180..cd23f259 100644 --- a/io.sc.engine.st.frontend/public/index.html +++ b/io.sc.engine.st.frontend/public/index.html @@ -1,20 +1,27 @@ - + - - - + + + - - - - + + + + + + + - + @@ -26,9 +33,11 @@ -
-
- +
+ +
+ + @@ -68,7 +77,7 @@ -
正在加载, 请稍后......
+
正在加载, 请稍后......
diff --git a/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/Asana/mathfonts.css b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/Asana/mathfonts.css new file mode 100644 index 00000000..780d5344 --- /dev/null +++ b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/Asana/mathfonts.css @@ -0,0 +1,40 @@ +/* +Asana Math is released under the SIL Open Font License. See the files in this +directory for details. The font can be obtained from several TeX distributions +or package managers. The font does not seem to have a corresponding "non-MATH" +font, it is recommended to use a Palatino-like font for the surrounding text. + +The WOFF fonts have been obtained from +http://mirrors.ctan.org/fonts/ +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: Asana Math; + src: local('Asana Math'), local('Asana-Math'), + url('Asana-Math.woff2'), url('Asana-Math.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: Asana Math; +} +m|math { + font-family: Asana Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +@font-feature-values Asana Math { @stylistic { calligraphic: 1; } } +m|*.calligraphic { + font-variant-alternates: stylistic(calligraphic); /* Recommended syntax */ + font-feature-settings: 'salt'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'salt'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'salt'; /* Blink syntax */ +} diff --git a/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/Cambria/mathfonts.css b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/Cambria/mathfonts.css new file mode 100644 index 00000000..bcbb5386 --- /dev/null +++ b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/Cambria/mathfonts.css @@ -0,0 +1,56 @@ +/* +The proprietary Cambria fonts are installed by default on Microsoft Windows 7 +and higher and are provided with some other Microsoft products such as Office. +Some Web services may also provide them as Web fonts. For details, see + http://www.microsoft.com/typography/fonts/family.aspx?FID=291 + http://www.microsoft.com/typography/fonts/family.aspx?FID=360 +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +/* Uncomment and complete the URLs if you wish to use Web fonts */ +/* +@font-face { + font-family: Cambria; + src: local('Cambria'), url('...'); +} +@font-face { + font-family: Cambria; + src: local('Cambria Bold'), url('...'); + font-weight: bold; +} +@font-face { + font-family: Cambria; + src: local('Cambria Italic'), url('...'); + font-style: italic; +} +@font-face { + font-family: Cambria; + src: local('Cambria Bold Italic'), url('...'); + font-weight: bold; + font-style: italic; +} +@font-face { + font-family: Cambria Math; + src: local('Cambria Math'), url('...'); +} +*/ + +.htmlmathparagraph, m|mtext { + font-family: Cambria; +} +m|math { + font-family: Cambria Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* TODO: verify whether calligraphic letters are available in this font */ +m|*.calligraphic { +} diff --git a/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif-Bold.woff2 b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif-Bold.woff2 new file mode 100644 index 00000000..c3620b3b Binary files /dev/null and b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif-Bold.woff2 differ diff --git a/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif-BoldItalic.woff2 b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif-BoldItalic.woff2 new file mode 100644 index 00000000..3d641e3d Binary files /dev/null and b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif-BoldItalic.woff2 differ diff --git a/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif-Italic.woff2 b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif-Italic.woff2 new file mode 100644 index 00000000..163819b5 Binary files /dev/null and b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif-Italic.woff2 differ diff --git a/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif.woff2 b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif.woff2 new file mode 100644 index 00000000..51776932 Binary files /dev/null and b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif.woff2 differ diff --git a/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/DejaVu/mathfonts.css b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/DejaVu/mathfonts.css new file mode 100644 index 00000000..ee48b1d3 --- /dev/null +++ b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/DejaVu/mathfonts.css @@ -0,0 +1,51 @@ +/* +Deja Vu is released under a Free License. See the files in this directory +for details. This fonts is available on most Linux distributions. +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: DejaVu Math TeX Gyre; + src: url('DejaVuMathTeXGyre.woff2'), url('DejaVuMathTeXGyre.woff'); +} +@font-face { + font-family: DejaVu Serif; + src: url('DejaVuSerif.woff2'), url('DejaVuSerif.woff'); +} +@font-face { + font-family: DejaVu Serif; + src: url('DejaVuSerif-Bold.woff2'), url('DejaVuSerif-Bold.woff'); + font-weight: bold; +} +@font-face { + font-family: DejaVu Serif; + src: url('DejaVuSerif-Italic.woff2'), url('DejaVuSerif-Italic.woff'); + font-style: italic; +} +@font-face { + font-family: DejaVu Serif; + src: url('DejaVuSerif-BoldItalic.woff2'), + url('DejaVuSerif-BoldItalic.woff'); + font-weight: bold; + font-style: italic; +} + +.htmlmathparagraph, m|mtext { + font-family: DejaVu Serif; +} +m|math { + font-family: DejaVu Math TeX Gyre; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* Calligraphic letters do not seem to be available */ +m|*.calligraphic { +} diff --git a/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/FiraMath/FiraMath-Regular.woff2 b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/FiraMath/FiraMath-Regular.woff2 new file mode 100644 index 00000000..c13030cd Binary files /dev/null and b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/FiraMath/FiraMath-Regular.woff2 differ diff --git a/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/FiraMath/mathfonts.css b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/FiraMath/mathfonts.css new file mode 100644 index 00000000..c05d74d6 --- /dev/null +++ b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/FiraMath/mathfonts.css @@ -0,0 +1,21 @@ +/* +The FiraMath font is released under the SIL Open Font License. See the files in +this directory for details. +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: Fira Math; + src: local('Fira Math'), local('FiraMath-Regular'), + url('FiraMath-Regular.woff2'), url('FiraMath-Regular.woff'); +} + +.htmlmathparagraph, m|mtext { + /* TODO: use FiraGO instead? */ + font-family: Fira Math; +} +m|math { + font-family: Fira Math; +} diff --git a/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenic.woff2 b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenic.woff2 new file mode 100644 index 00000000..3c27d39f Binary files /dev/null and b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenic.woff2 differ diff --git a/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicBold.woff2 b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicBold.woff2 new file mode 100644 index 00000000..e946d53e Binary files /dev/null and b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicBold.woff2 differ diff --git a/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicBoldIt.woff2 b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicBoldIt.woff2 new file mode 100644 index 00000000..0dd7d2ed Binary files /dev/null and b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicBoldIt.woff2 differ diff --git a/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicIt.woff2 b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicIt.woff2 new file mode 100644 index 00000000..e7dfb1d1 Binary files /dev/null and b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicIt.woff2 differ diff --git a/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicMath.woff2 b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicMath.woff2 new file mode 100644 index 00000000..2c488f2a Binary files /dev/null and b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicMath.woff2 differ diff --git a/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/mathfonts.css b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/mathfonts.css new file mode 100644 index 00000000..ea0116c9 --- /dev/null +++ b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/mathfonts.css @@ -0,0 +1,50 @@ +/* +The GFS Neohellenic fonts are released under the SIL Open Font License. See the +files in this directory for details. +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + + +@font-face { + font-family: GFS Neohellenic; + src: local('GFSNeohellenic-Regular'), + url('GFSNeohellenic.woff2'), + url('GFSNeohellenic.woff'); +} +@font-face { + font-family: GFS Neohellenic; + src: local('GFSNeohellenic-Bold'), + url('GFSNeohellenic-Bold.woff2'), + url('GFSNeohellenic-Bold.woff'); + font-weight: bold; +} +@font-face { + font-family: GFS Neohellenic; + src: local('GFSNeohellenic-Italic'), + url('GFSNeohellenic-It.woff2'), + url('GFSNeohellenic-It.woff'); + font-style: italic; +} +@font-face { + font-family: GFS Neohellenic; + src: local('GFSNeohellenic-BoldItalic'), + url('GFSNeohellenic-BoldIt.woff2'), + url('GFSNeohellenic-BoldIt.woff'); + font-weight: bold; + font-style: italic; +} +@font-face { + font-family: GFS Neohellenic Math; + src: local('GFSNeohellenicMath'), + url('GFSNeohellenicMath.woff2'), + url('GFSNeohellenicMath.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: GFS Neohellenic; +} +m|math { + font-family: GFS Neohellenic Math; +} diff --git a/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/GNUFreeSans/mathfonts.css b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/GNUFreeSans/mathfonts.css new file mode 100644 index 00000000..cbf76d3d --- /dev/null +++ b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/GNUFreeSans/mathfonts.css @@ -0,0 +1,47 @@ +/* +GNU FreeSans is released under the GNU General Public License. See the files in +this directory for details. OpenType MATH support is only available in the +development version. +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: FreeSans; + src: url('FreeSans.woff2'), url('FreeSans.woff'); +} +@font-face { + font-family: FreeSans; + src: url('FreeSansBold.woff2'), url('FreeSansBold.woff'); + font-weight: bold; +} +@font-face { + font-family: FreeSans; + src: url('FreeSansOblique.woff2'), url('FreeSansOblique.woff'); + font-style: oblique; +} +@font-face { + font-family: FreeSans; + src: url('FreeSansBoldOblique.woff2'), url('FreeSansBoldOblique.woff'); + font-weight: bold; + font-style: oblique; +} + +.htmlmathparagraph, m|mtext { + font-family: FreeSans; +} +m|math { + font-family: FreeSans; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* Calligraphic letters do not seem to be available */ +m|*.calligraphic { +} diff --git a/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/GNUFreeSerif/mathfonts.css b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/GNUFreeSerif/mathfonts.css new file mode 100644 index 00000000..9572fbfe --- /dev/null +++ b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/GNUFreeSerif/mathfonts.css @@ -0,0 +1,47 @@ +/* +GNU FreeSerif is released under the GNU General Public License. See the files in +this directory for details. OpenType MATH support is only available in the +development version. +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: FreeSerif; + src: url('FreeSerif.woff2'), url('FreeSerif.woff'); +} +@font-face { + font-family: FreeSerif; + src: url('FreeSerifBold.woff2'), url('FreeSerifBold.woff'); + font-weight: bold; +} +@font-face { + font-family: FreeSerif; + src: url('FreeSerifItalic.woff2'), url('FreeSerifItalic.woff'); + font-style: italic; +} +@font-face { + font-family: FreeSerif; + src: url('FreeSerifBoldItalic.woff2'), url('FreeSerifBoldItalic.woff'); + font-weight: bold; + font-style: italic; +} + +.htmlmathparagraph, m|mtext { + font-family: FreeSerif; +} +m|math { + font-family: FreeSerif; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* Calligraphic letters do not seem to be available */ +m|*.calligraphic { +} diff --git a/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/Garamond/EBGaramond12-Italic.woff2 b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/Garamond/EBGaramond12-Italic.woff2 new file mode 100644 index 00000000..21fe6278 Binary files /dev/null and b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/Garamond/EBGaramond12-Italic.woff2 differ diff --git a/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/Garamond/EBGaramond12-Regular.woff2 b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/Garamond/EBGaramond12-Regular.woff2 new file mode 100644 index 00000000..9d8c372e Binary files /dev/null and b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/Garamond/EBGaramond12-Regular.woff2 differ diff --git a/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/Garamond/Garamond-Math.woff2 b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/Garamond/Garamond-Math.woff2 new file mode 100644 index 00000000..72102330 Binary files /dev/null and b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/Garamond/Garamond-Math.woff2 differ diff --git a/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/Garamond/mathfonts.css b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/Garamond/mathfonts.css new file mode 100644 index 00000000..f8b1e9df --- /dev/null +++ b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/Garamond/mathfonts.css @@ -0,0 +1,35 @@ +/* +The Garamond fonts are released under the SIL Open Font License. See the files +in this directory for details. +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + + +@font-face { + font-family: EB Garamond; + src: local('EBGaramond12-Regular'), + url('EBGaramond12-Regular.woff2'), + url('EBGaramond12-Regular.woff'); +} +@font-face { + font-family: EB Garamond; + src: local('EBGaramond12-Italic'), + url('EBGaramond12-Italic.woff2'), + url('EBGaramond12-Italic.woff'); + font-style: italic; +} +@font-face { + font-family: Garamond Math; + src: local('Garamond-Math'), + url('Garamond-Math.woff2'), + url('Garamond-Math.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: EB Garamond; +} +m|math { + font-family: Garamond Math; +} diff --git a/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/LatinModern/latinmodern-math.woff2 b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/LatinModern/latinmodern-math.woff2 new file mode 100644 index 00000000..6110b17b Binary files /dev/null and b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/LatinModern/latinmodern-math.woff2 differ diff --git a/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/LatinModern/lmroman12-bold.woff2 b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/LatinModern/lmroman12-bold.woff2 new file mode 100644 index 00000000..df169efa Binary files /dev/null and b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/LatinModern/lmroman12-bold.woff2 differ diff --git a/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/LatinModern/lmroman12-italic.woff2 b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/LatinModern/lmroman12-italic.woff2 new file mode 100644 index 00000000..c4ef3ed4 Binary files /dev/null and b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/LatinModern/lmroman12-italic.woff2 differ diff --git a/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/LatinModern/lmroman12-regular.woff2 b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/LatinModern/lmroman12-regular.woff2 new file mode 100644 index 00000000..ae0f344e Binary files /dev/null and b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/LatinModern/lmroman12-regular.woff2 differ diff --git a/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/LatinModern/mathfonts.css b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/LatinModern/mathfonts.css new file mode 100644 index 00000000..b4b0ceeb --- /dev/null +++ b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/LatinModern/mathfonts.css @@ -0,0 +1,53 @@ +/* +The Latin Modern fonts are released under the GUST font license, which is +legally equivalent to the LaTeX Project Public License. See the files in this +directory for details. The fonts can be obtained from several TeX distributions +or package managers. + +The WOFF fonts have been obtained from +http://www.gust.org.pl/projects/e-foundry/ +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +/* Latin Modern Roman has various sizes. We use the generic name + "Latin Modern Roman" for the local versions and "LMRoman12" for the Web font. +*/ +@font-face { + font-family: LMRoman12; + src: url('lmroman12-regular.woff2'), url('lmroman12-regular.woff'); +} +@font-face { + font-family: LMRoman12; + src: url('lmroman12-bold.woff2'), url('lmroman12-bold.woff'); + font-weight: bold; +} +@font-face { + font-family: LMRoman12; + src: url('lmroman12-italic.woff2'), url('lmroman12-italic.woff'); + font-style: italic; +} +@font-face { + font-family: Latin Modern Math; + src: local('Latin Modern Math'), local('LatinModernMath-Regular'), + url('latinmodern-math.woff2'), url('latinmodern-math.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: Latin Modern Roman, LMRoman12; +} +m|math { + font-family: Latin Modern Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* Calligraphic letters do not seem to be available */ +m|*.calligraphic { +} diff --git a/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusmath-regular.woff2 b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusmath-regular.woff2 new file mode 100644 index 00000000..c76bab8c Binary files /dev/null and b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusmath-regular.woff2 differ diff --git a/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-bold.woff2 b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-bold.woff2 new file mode 100644 index 00000000..34b9f93b Binary files /dev/null and b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-bold.woff2 differ diff --git a/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-bolditalic.woff2 b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-bolditalic.woff2 new file mode 100644 index 00000000..19fbf7b9 Binary files /dev/null and b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-bolditalic.woff2 differ diff --git a/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-italic.woff2 b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-italic.woff2 new file mode 100644 index 00000000..dd20fdcf Binary files /dev/null and b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-italic.woff2 differ diff --git a/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-regular.woff2 b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-regular.woff2 new file mode 100644 index 00000000..a7ef60ef Binary files /dev/null and b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-regular.woff2 differ diff --git a/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/Libertinus/mathfonts.css b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/Libertinus/mathfonts.css new file mode 100644 index 00000000..fe6d41c2 --- /dev/null +++ b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/Libertinus/mathfonts.css @@ -0,0 +1,61 @@ +/* +The Libertinus fonts are released under the SIL Open Font and GPL Licenses. See +the files in this directory for details. +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: Libertinus Serif; + src: local('Libertinus Serif'), local('LibertinusSerif'), + url('libertinusserif-regular.woff2'), + url('libertinusserif-regular.woff'); +} +@font-face { + font-family: Libertinus Serif; + src: local('Libertinus Serif Bold'), local('LibertinusSerif-Bold'), + url('libertinusserif-bold.woff2'), + url('libertinusserif-bold.woff'); + font-weight: bold; +} +@font-face { + font-family: Libertinus Serif; + src: local('Libertinus Serif Italic'), local('LibertinusSerif-Italic'), + url('libertinusserif-italic.woff2'), + url('libertinusserif-italic.woff'); + font-style: italic; +} +@font-face { + font-family: Libertinus Serif; + src: local('Libertinus Serif Bold Italic'), + local('LibertinusSerif-BoldItalic'), + url('libertinusserif-bolditalic.woff2'), + url('libertinusserif-bolditalic.woff'); + font-weight: bold; + font-style: italic; +} +@font-face { + font-family: Libertinus Math; + src: local('Libertinus Math'), local('LibertinusMath'), + url('libertinusmath-regular.woff2'), + url('libertinusmath-regular.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: Libertinus Serif; +} +m|math { + font-family: Libertinus Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* No math script */ +m|*.calligraphic { +} diff --git a/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/LucidaBright/mathfonts.css b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/LucidaBright/mathfonts.css new file mode 100644 index 00000000..5f056577 --- /dev/null +++ b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/LucidaBright/mathfonts.css @@ -0,0 +1,58 @@ +/* +The commercial Lucida Bright fonts can be obtained from +http://tug.org/store/lucida/opentype.html and some Web services might +provide them as Web fonts. See also + http://www.microsoft.com/typography/fonts/family.aspx?FID=186 + http://www.microsoft.com/typography/fonts/family.aspx?FID=217 + +Warning: The CSS rules below have not been tested. +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +/* Uncomment and complete the URLs if you wish to use Web fonts */ +/* +@font-face { + font-family: Lucida Bright; + src: local('Lucida Bright'), url('...'); +} +@font-face { + font-family: Lucida Bright; + src: local('Lucida Bright Demibold'), url('...'); + font-weight: bolder; +} +@font-face { + font-family: Lucida Bright; + src: local('Lucida Bright Italic'), url('...'); + font-style: italic; +} +@font-face { + font-family: Lucida Bright; + src: local('Lucida Bright Demibold Italic'), url('...'); + font-weight: bolder; + font-style: italic; +} +@font-face { + font-family: Lucida Bright Math; + src: local('Lucida Bright Math'), url('...'); +} +*/ + +.htmlmathparagraph, m|mtext { + font-family: Lucida Bright; +} +m|math { + font-family: Lucida Bright Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* TODO: verify whether calligraphic letters are available in this font */ +m|*.calligraphic { +} diff --git a/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/Minion/mathfonts.css b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/Minion/mathfonts.css new file mode 100644 index 00000000..640b0eaf --- /dev/null +++ b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/Minion/mathfonts.css @@ -0,0 +1,37 @@ +/* +The commercial Minion Math fonts and can be obtained from +http://www.typoma.com/en/fonts.html and some Web services might provide them as +Web fonts. + +Warning: The CSS rules below have not been tested. More rules should probably +be added to make this work correctly. +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +/* Uncomment and complete the URLs if you wish to use Web fonts */ +/* +@font-face { + font-family: Minion Math; + src: local('Minion Math'), url('...'); +} +*/ + +.htmlmathparagraph, m|mtext { + font-family: Minion Math; +} +m|math { + font-family: Minion Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* TODO: verify whether calligraphic letters are available in this font */ +m|*.calligraphic { +} diff --git a/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/NeoEuler/mathfonts.css b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/NeoEuler/mathfonts.css new file mode 100644 index 00000000..8df86bf5 --- /dev/null +++ b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/NeoEuler/mathfonts.css @@ -0,0 +1,34 @@ +/* +Neo Euler is released under the SIL Open Font License. See the files in this +directory for details. The font is still in development. The font does not seem +to have a corresponding "non-MATH" font. + +The WOFF fonts have been obtained from +https://github.com/khaledhosny/euler-otf/ +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: Neo Euler; + src: local('Neo Euler'), url('euler.woff2'), url('euler.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: Neo Euler; +} +m|math { + font-family: Neo Euler; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* Calligraphic letters do not seem to be available */ +m|*.calligraphic { +} diff --git a/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoMath-Regular.woff2 b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoMath-Regular.woff2 new file mode 100644 index 00000000..279a98f0 Binary files /dev/null and b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoMath-Regular.woff2 differ diff --git a/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-Bold.woff2 b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-Bold.woff2 new file mode 100644 index 00000000..e4394884 Binary files /dev/null and b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-Bold.woff2 differ diff --git a/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-BoldItalic.woff2 b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-BoldItalic.woff2 new file mode 100644 index 00000000..0dc0baed Binary files /dev/null and b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-BoldItalic.woff2 differ diff --git a/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-Italic.woff2 b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-Italic.woff2 new file mode 100644 index 00000000..5594de32 Binary files /dev/null and b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-Italic.woff2 differ diff --git a/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-Regular.woff2 b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-Regular.woff2 new file mode 100644 index 00000000..263c488a Binary files /dev/null and b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-Regular.woff2 differ diff --git a/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/STIX/mathfonts.css b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/STIX/mathfonts.css new file mode 100644 index 00000000..4b287cee --- /dev/null +++ b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/STIX/mathfonts.css @@ -0,0 +1,69 @@ +/* +The STIX fonts are released under the SIL Open Font License. See the files in +this directory for details. The font can be obtained from several TeX +distributions or package managers. + +The WOFF fonts have been obtained from +http://downloads.sourceforge.net/project/stixfonts/ +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + + +@font-face { + font-family: STIX Two Text; + src: local('STIXTwoText'), + url('STIXTwoText-Regular.woff2'), + url('STIXTwoText-Regular.woff'); +} +@font-face { + font-family: STIX Two Text; + src: local('STIXTwoText-Bold'), + url('STIXTwoText-Bold.woff2'), + url('STIXTwoText-Bold.woff'); + font-weight: bold; +} +@font-face { + font-family: STIX Two Text; + src: local('STIXTwoText-Italic'), + url('STIXTwoText-Italic.woff2'), + url('STIXTwoText-Italic.woff'); + font-style: italic; +} +@font-face { + font-family: STIX Two Text; + src: local('STIXTwoText-BoldItalic'), + url('STIXTwoText-BoldItalic.woff2'), + url('STIXTwoText-BoldItalic.woff'); + font-weight: bold; + font-style: italic; +} +@font-face { + font-family: STIX Two Math; + src: local('STIXTwoMath-Regular'), + url('STIXTwoMath-Regular.woff2'), + url('STIXTwoMath-Regular.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: STIX Two Text; +} +m|math { + font-family: STIX Two Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +@font-feature-values STIX Two Math { @styleset { calligraphic: 1; } } +m|*.calligraphic { + font-variant-alternates: styleset(calligraphic); /* Recommended syntax */ + font-feature-settings: 'ss01'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'ss01'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'ss01'; /* Blink syntax */ +} diff --git a/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/mathfonts.css b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/mathfonts.css new file mode 100644 index 00000000..f7bbeaa0 --- /dev/null +++ b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/mathfonts.css @@ -0,0 +1,62 @@ +/* +The TeX Gyre Bonum fonts are released under the GUST font license, which is +legally equivalent to the LaTeX Project Public License. See the files in this +directory for details. The fonts can be obtained from several TeX distributions +or package managers. + +The WOFF fonts have been obtained from +http://www.gust.org.pl/projects/e-foundry/ +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: TeX Gyre Bonum; + src: local('TeXGyreBonum-Regular'), + url('texgyrebonum-regular.woff2'), url('texgyrebonum-regular.woff'); +} +@font-face { + font-family: TeX Gyre Bonum; + src: local('TeXGyreBonum-Bold'), + url('texgyrebonum-bold.woff2'), url('texgyrebonum-bold.woff'); + font-weight: bold; +} +@font-face { + font-family: TeX Gyre Bonum; + src: local('TeXGyreBonum-Italic'), + url('texgyrebonum-italic.woff2'), url('texgyrebonum-italic.woff'); + font-style: italic; +} +@font-face { + font-family: TeX Gyre Bonum; + src: local('TeXGyreBonum-BoldItalic'), + url('texgyrebonum-bolditalic.woff2'), + url('texgyrebonum-bolditalic.woff'); + font-weight: bold; + font-style: italic; +} +@font-face { + font-family: TeX Gyre Bonum Math; + src: local('TeX Gyre Bonum Math'), local('TeXGyreBonumMath-Regular'), + url('texgyrebonum-math.woff2'), + url('texgyrebonum-math.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: TeX Gyre Bonum; +} +m|math { + font-family: TeX Gyre Bonum Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* Calligraphic letters do not seem to be available */ +m|*.calligraphic { +} diff --git a/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-bold.woff2 b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-bold.woff2 new file mode 100644 index 00000000..013ca1bd Binary files /dev/null and b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-bold.woff2 differ diff --git a/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-bolditalic.woff2 b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-bolditalic.woff2 new file mode 100644 index 00000000..ae18fb8b Binary files /dev/null and b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-bolditalic.woff2 differ diff --git a/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-italic.woff2 b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-italic.woff2 new file mode 100644 index 00000000..42742390 Binary files /dev/null and b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-italic.woff2 differ diff --git a/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-math.woff2 b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-math.woff2 new file mode 100644 index 00000000..d16a1cea Binary files /dev/null and b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-math.woff2 differ diff --git a/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-regular.woff2 b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-regular.woff2 new file mode 100644 index 00000000..8aede98d Binary files /dev/null and b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-regular.woff2 differ diff --git a/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/TeXGyrePagella/mathfonts.css b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/TeXGyrePagella/mathfonts.css new file mode 100644 index 00000000..394686b0 --- /dev/null +++ b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/TeXGyrePagella/mathfonts.css @@ -0,0 +1,63 @@ +/* +The TeX Gyre Pagella fonts are released under the GUST font license, which is +legally equivalent to the LaTeX Project Public License. See the files in this +directory for details. The fonts can be obtained from several TeX distributions +or package managers. + +The WOFF fonts have been obtained from +http://www.gust.org.pl/projects/e-foundry/ +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: TeX Gyre Pagella; + src: local('TeXGyrePagella-Regular'), + url('texgyrepagella-regular.woff2'), + url('texgyrepagella-regular.woff'); +} +@font-face { + font-family: TeX Gyre Pagella; + src: local('TeXGyrePagella-Bold'), + url('texgyrepagella-bold.woff2'), url('texgyrepagella-bold.woff'); + font-weight: bold; +} +@font-face { + font-family: TeX Gyre Pagella; + src: local('TeXGyrePagella-Italic'), + url('texgyrepagella-italic.woff2'), url('texgyrepagella-italic.woff'); + font-style: italic; +} +@font-face { + font-family: TeX Gyre Pagella; + src: local('TeXGyrePagella-BoldItalic'), + url('texgyrepagella-bolditalic.woff2'), + url('texgyrepagella-bolditalic.woff'); + font-weight: bold; + font-style: italic; +} +@font-face { + font-family: TeX Gyre Pagella Math; + src: local('TeX Gyre Pagella Math'), local('TeXGyrePagellaMath-Regular'), + url('texgyrepagella-math.woff2'), + url('texgyrepagella-math.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: TeX Gyre Pagella; +} +m|math { + font-family: TeX Gyre Pagella Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* Calligraphic letters do not seem to be available */ +m|*.calligraphic { +} diff --git a/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/TeXGyrePagella/texgyrepagella-math.woff2 b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/TeXGyrePagella/texgyrepagella-math.woff2 new file mode 100644 index 00000000..0879c80a Binary files /dev/null and b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/TeXGyrePagella/texgyrepagella-math.woff2 differ diff --git a/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/mathfonts.css b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/mathfonts.css new file mode 100644 index 00000000..41c28c6b --- /dev/null +++ b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/mathfonts.css @@ -0,0 +1,61 @@ +/* +The TeX Gyre Schola fonts are released under the GUST font license, which is +legally equivalent to the LaTeX Project Public License. See the files in this +directory for details. The fonts can be obtained from several TeX distributions +or package managers. + +The WOFF fonts have been obtained from +http://www.gust.org.pl/projects/e-foundry/ +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: TeX Gyre Schola; + src: local('TeXGyreSchola-Regular'), + url('texgyreschola-regular.woff2'), url('texgyreschola-regular.woff'); +} +@font-face { + font-family: TeX Gyre Schola; + src: local('TeXGyreSchola-Bold'), + url('texgyreschola-bold.woff2'), url('texgyreschola-bold.woff'); + font-weight: bold; +} +@font-face { + font-family: TeX Gyre Schola; + src: local('TeXGyreSchola-Italic'), + url('texgyreschola-italic.woff2'), url('texgyreschola-italic.woff'); + font-style: italic; +} +@font-face { + font-family: TeX Gyre Schola; + src: local('TeXGyreSchola-BoldItalic'), + url('texgyreschola-bolditalic.woff2'), + url('texgyreschola-bolditalic.woff'); + font-weight: bold; + font-style: italic; +} +@font-face { + font-family: TeX Gyre Schola Math; + src: local('TeX Gyre Schola Math'), local('TeXGyreScholaMath-Regular'), + url('texgyreschola-math.woff2'), url('texgyreschola-math.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: TeX Gyre Schola; +} +m|math { + font-family: TeX Gyre Schola Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* Calligraphic letters do not seem to be available */ +m|*.calligraphic { +} diff --git a/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-bold.woff2 b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-bold.woff2 new file mode 100644 index 00000000..485f2c5b Binary files /dev/null and b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-bold.woff2 differ diff --git a/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-bolditalic.woff2 b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-bolditalic.woff2 new file mode 100644 index 00000000..6c8c3f52 Binary files /dev/null and b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-bolditalic.woff2 differ diff --git a/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-italic.woff2 b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-italic.woff2 new file mode 100644 index 00000000..afe8d4ef Binary files /dev/null and b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-italic.woff2 differ diff --git a/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-math.woff2 b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-math.woff2 new file mode 100644 index 00000000..674c4281 Binary files /dev/null and b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-math.woff2 differ diff --git a/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-regular.woff2 b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-regular.woff2 new file mode 100644 index 00000000..0dbec85e Binary files /dev/null and b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-regular.woff2 differ diff --git a/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/mathfonts.css b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/mathfonts.css new file mode 100644 index 00000000..d7a65374 --- /dev/null +++ b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/mathfonts.css @@ -0,0 +1,60 @@ +/* +The TeX Gyre Termes fonts are released under the GUST font license, which is +legally equivalent to the LaTeX Project Public License. See the files in this +directory for details. The fonts can be obtained from several TeX distributions +or package managers. + +The WOFF fonts have been obtained from +http://www.gust.org.pl/projects/e-foundry/ +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: TeX Gyre Termes; + src: local('TeXGyreTermes-Regular'), + url('texgyretermes-regular.woff2'), url('texgyretermes-regular.woff'); +} +@font-face { + font-family: TeX Gyre Termes; + src: local('TeXGyreTermes-Bold'), + url('texgyretermes-bold.woff2'), url('texgyretermes-bold.woff'); + font-weight: bold; +} +@font-face { + font-family: TeX Gyre Termes; + src: local('TeXGyreTermes-Italic'), + url('texgyretermes-italic.woff2'), url('texgyretermes-italic.woff'); + font-style: italic; +} +@font-face { + font-family: TeX Gyre Termes; + src: local('TeXGyreTermes-BoldItalic'), + url('texgyretermes-bolditalic.woff2'), url('texgyretermes-bolditalic.woff'); + font-weight: bold; + font-style: italic; +} +@font-face { + font-family: TeX Gyre Termes Math; + src: local('TeX Gyre Termes Math'), local('TeXGyreTermesMath-Regular'), + url('texgyretermes-math.woff2'), url('texgyretermes-math.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: TeX Gyre Termes; +} +m|math { + font-family: TeX Gyre Termes Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* Calligraphic letters do not seem to be available */ +m|*.calligraphic { +} diff --git a/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-bold.woff2 b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-bold.woff2 new file mode 100644 index 00000000..a346eb13 Binary files /dev/null and b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-bold.woff2 differ diff --git a/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-bolditalic.woff2 b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-bolditalic.woff2 new file mode 100644 index 00000000..571a2f07 Binary files /dev/null and b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-bolditalic.woff2 differ diff --git a/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-italic.woff2 b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-italic.woff2 new file mode 100644 index 00000000..401cd0ec Binary files /dev/null and b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-italic.woff2 differ diff --git a/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-math.woff2 b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-math.woff2 new file mode 100644 index 00000000..31c9adc2 Binary files /dev/null and b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-math.woff2 differ diff --git a/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-regular.woff2 b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-regular.woff2 new file mode 100644 index 00000000..1a15f9ad Binary files /dev/null and b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-regular.woff2 differ diff --git a/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-Bold.woff2 b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-Bold.woff2 new file mode 100644 index 00000000..7a12dd34 Binary files /dev/null and b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-Bold.woff2 differ diff --git a/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-BoldItalic.woff2 b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-BoldItalic.woff2 new file mode 100644 index 00000000..c4daad18 Binary files /dev/null and b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-BoldItalic.woff2 differ diff --git a/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-Italic.woff2 b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-Italic.woff2 new file mode 100644 index 00000000..9d434203 Binary files /dev/null and b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-Italic.woff2 differ diff --git a/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-Regular.woff2 b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-Regular.woff2 new file mode 100644 index 00000000..9acf905c Binary files /dev/null and b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-Regular.woff2 differ diff --git a/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/XITS/XITSMath-Bold.woff2 b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/XITS/XITSMath-Bold.woff2 new file mode 100644 index 00000000..c93f7230 Binary files /dev/null and b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/XITS/XITSMath-Bold.woff2 differ diff --git a/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/XITS/XITSMath-Regular.woff2 b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/XITS/XITSMath-Regular.woff2 new file mode 100644 index 00000000..fa9345cb Binary files /dev/null and b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/XITS/XITSMath-Regular.woff2 differ diff --git a/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/XITS/mathfonts.css b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/XITS/mathfonts.css new file mode 100644 index 00000000..9b62b7c3 --- /dev/null +++ b/io.sc.engine.st.frontend/public/webjars/mathfonts/1.0.0/XITS/mathfonts.css @@ -0,0 +1,69 @@ +/* +XITS is released under the SIL Open Font License. See the files in this +directory for details. The font can be obtained from several TeX distributions +or package managers. + +The WOFF fonts have been obtained from +http://mirrors.ctan.org/fonts/ +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: XITS; + src: local('XITS'), + url('XITS-Regular.woff2'), url('XITS-Regular.woff'); +} +@font-face { + font-family: XITS; + src: local('XITS Bold'), local('XITS-Bold'), + url('XITS-Bold.woff2'), url('XITS-Bold.woff'); + font-weight: bold; +} +@font-face { + font-family: XITS; + src: local('XITS Italic'), local('XITS-Italic'), + url('XITS-Italic.woff2'), url('XITS-Italic.woff'); + font-style: italic; +} +@font-face { + font-family: XITS; + src: local('XITS Bold Italic'), local('XITS-BoldItalic'), + url('XITS-BoldItalic.woff2'), url('XITS-BoldItalic.woff'); + font-weight: bold; + font-style: italic; +} +@font-face { + font-family: XITS Math; + src: local('XITS Math'), local('XITSMath-Regular'), + url('XITSMath-Regular.woff2'), url('XITSMath-Regular.woff'); +} +@font-face { + font-family: XITS Math; + src: local('XITS Math Bold'), local('XITSMath-Bold'), + url('XITSMath-Bold.woff2'), url('XITSMathBold.woff'); + font-weight: bold; +} + +.htmlmathparagraph, m|mtext { + font-family: XITS; +} +m|math { + font-family: XITS Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +@font-feature-values XITS Math { @styleset { calligraphic: 1; } } +m|*.calligraphic { + font-variant-alternates: styleset(calligraphic); /* Recommended syntax */ + font-feature-settings: 'ss01'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'ss01'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'ss01'; /* Blink syntax */ +} diff --git a/io.sc.platform.core.frontend/src/components/index.ts b/io.sc.platform.core.frontend/src/components/index.ts index 940d5b83..2d379ba5 100644 --- a/io.sc.platform.core.frontend/src/components/index.ts +++ b/io.sc.platform.core.frontend/src/components/index.ts @@ -2,6 +2,7 @@ * 此文件为自动生成文件,请勿修改 */ +import component_testcase_tag from '@/views/testcase/tag/tag.vue'; import component_testcase_formElements from '@/views/FormElements.vue'; import component_testcase_likmDialog from '@/views/likm/Dialog.vue'; import component_testcase_likmDrawer from '@/views/likm/Drawer.vue'; @@ -14,6 +15,7 @@ import component_testcase_gridLayout from '@/views/likm/GridLayout.vue'; import component_testcase_likmTreeGrid from '@/views/likm/TreeGrid.vue'; const localComponents = { + 'component.testcase.tag': component_testcase_tag, 'component.testcase.formElements': component_testcase_formElements, 'component.testcase.likmDialog': component_testcase_likmDialog, 'component.testcase.likmDrawer': component_testcase_likmDrawer, diff --git a/io.sc.platform.core.frontend/src/i18n/messages_zh_CN.json b/io.sc.platform.core.frontend/src/i18n/messages_zh_CN.json index 453f0767..86be658a 100644 --- a/io.sc.platform.core.frontend/src/i18n/messages_zh_CN.json +++ b/io.sc.platform.core.frontend/src/i18n/messages_zh_CN.json @@ -1,4 +1,5 @@ { "menu.testcase": "测试用例", - "menu.testcase.formElements": "表单控件", + "menu.testcase.tag": "Tag", + "menu.testcase.formElements": "表单控件{name}", } diff --git a/io.sc.platform.core.frontend/src/menus/menus.json b/io.sc.platform.core.frontend/src/menus/menus.json index 6f0b4f75..d73d94f9 100644 --- a/io.sc.platform.core.frontend/src/menus/menus.json +++ b/io.sc.platform.core.frontend/src/menus/menus.json @@ -18,6 +18,15 @@ [ { "type": "GROUP", "order": 20000, "id": "menu.testcase", "titleI18nKey": "menu.testcase", "icon": "bi-gear" }, + { + "type": "ROUTE", + "order": 100, + "parentId": "menu.testcase", + "id": "menu.testcase.tag", + "titleI18nKey": "menu.testcase.tag", + "icon": "bi-palette", + "routeName": "route.testcase.tag" + }, { "type": "ROUTE", "order": 100, diff --git a/io.sc.platform.core.frontend/src/platform/components-ext/formater/DictionaryFormater.ts b/io.sc.platform.core.frontend/src/platform/components-ext/formater/DictionaryFormater.ts index 3e527406..78f7abe3 100644 --- a/io.sc.platform.core.frontend/src/platform/components-ext/formater/DictionaryFormater.ts +++ b/io.sc.platform.core.frontend/src/platform/components-ext/formater/DictionaryFormater.ts @@ -17,9 +17,13 @@ class DictionaryFormater { const dictionaryMap = this.#dictionaryMap; return (value) => { if (!Tools.isUndefinedOrNull(value)) { - return i18n.global.t(dictionaryMap[value]); + if (!Tools.isUndefinedOrNull(dictionaryMap[value])) { + return i18n.global.t(dictionaryMap[value]); + } else { + return value; + } } - return ''; + return value; }; } } diff --git a/io.sc.platform.core.frontend/src/platform/components-ext/formater/EnumFormater.ts b/io.sc.platform.core.frontend/src/platform/components-ext/formater/EnumFormater.ts index 6c82d4a3..91e73686 100644 --- a/io.sc.platform.core.frontend/src/platform/components-ext/formater/EnumFormater.ts +++ b/io.sc.platform.core.frontend/src/platform/components-ext/formater/EnumFormater.ts @@ -17,9 +17,13 @@ class EnumFormater { const enumMap = this.#enumMap; return (value) => { if (!Tools.isUndefinedOrNull(value)) { - return i18n.global.t(enumMap[value]); + if (!Tools.isUndefinedOrNull(enumMap[value])) { + return i18n.global.t(enumMap[value]); + } else { + return value; + } } - return ''; + return value; }; } } diff --git a/io.sc.platform.core.frontend/src/platform/components/index.ts b/io.sc.platform.core.frontend/src/platform/components/index.ts index 35d687c7..e45941d1 100644 --- a/io.sc.platform.core.frontend/src/platform/components/index.ts +++ b/io.sc.platform.core.frontend/src/platform/components/index.ts @@ -37,6 +37,7 @@ import WProgressBtn from './progress/WProgressBtn.vue'; import WCheckTag from './tag/WCheckTag.vue'; import WEnableTag from './tag/WEnableTag.vue'; +import WEnumsTag from './tag/WEnumsTag.vue'; import WSuccessFailedTag from './tag/WSuccessFailedTag.vue'; import WToolbar from './toolbar/WToolbar.vue'; @@ -88,6 +89,7 @@ export default { app.component('WCheckTag', WCheckTag); app.component('WEnableTag', WEnableTag); + app.component('WEnumsTag', WEnumsTag); app.component('WSuccessFailedTag', WSuccessFailedTag); app.component('WToolbar', WToolbar); @@ -131,6 +133,7 @@ export { WProgressBtn, WCheckTag, WEnableTag, + WEnumsTag, WSuccessFailedTag, WToolbar, WTreeGrid, diff --git a/io.sc.platform.core.frontend/src/platform/components/tag/WEnumsTag.vue b/io.sc.platform.core.frontend/src/platform/components/tag/WEnumsTag.vue new file mode 100644 index 00000000..9e14d120 --- /dev/null +++ b/io.sc.platform.core.frontend/src/platform/components/tag/WEnumsTag.vue @@ -0,0 +1,50 @@ + + diff --git a/io.sc.platform.core.frontend/src/platform/index.ts b/io.sc.platform.core.frontend/src/platform/index.ts index 99639d0e..d89479ce 100644 --- a/io.sc.platform.core.frontend/src/platform/index.ts +++ b/io.sc.platform.core.frontend/src/platform/index.ts @@ -70,7 +70,7 @@ export { PConst } from './PConst'; */ export { axios, blobAxios, noErrorAxios } from './plugin'; export { eventBus } from './plugin'; -export { i18n } from './plugin'; +export { i18n, t, $t } from './plugin'; export { usePlatformStore } from './plugin'; export { router } from './plugin'; @@ -145,6 +145,7 @@ export { WProgressBtn, WCheckTag, WEnableTag, + WEnumsTag, WSuccessFailedTag, WToolbar, WTreeGrid, diff --git a/io.sc.platform.core.frontend/src/platform/plugin/i18n.ts b/io.sc.platform.core.frontend/src/platform/plugin/i18n.ts index d3629896..47c6f284 100644 --- a/io.sc.platform.core.frontend/src/platform/plugin/i18n.ts +++ b/io.sc.platform.core.frontend/src/platform/plugin/i18n.ts @@ -1,3 +1,9 @@ +/** + * 安装 vue-18n 库,支持国际化消息,附加功能 + * 1. 在模版中可直接使用 $t('xxx') 或 t('xxx') 实现国际化消息文本处理 + * 2. 在 js/ts 代码中直接使用 $t('xxx') 或 t('xxx') 函数处理国际化消息文本 + * 3. 避免 vue-18n 库在使用 $t('xxx') 时,如果传入的国际化消息 key 为 null 或 undefined 时报错 + */ import type { App } from 'vue'; import { createI18n } from 'vue-i18n'; import { Environment } from '@/platform/plugin/environment'; @@ -15,10 +21,30 @@ const i18n = createI18n({ messages: I18nMessageManager.getOfflineI18nMessages(), }); +/** + * 重新定义 vue-i18n 的 t 函数 + * vue-i18n 的 t 函数存在传入 key 为 null 或 undefined 时, 程序会报错, 故重新定义 t 函数避免此情况发生 + * @param key 消息 key + * @param args 消息占位符替换对象 + * @param defaultMessage 未找到key时返回的缺省文本 + * @returns 国际化消息 + */ +const t = (key, args, defaultMessage) => { + if (key === null || typeof key === 'undefined') { + return null; + } + return i18n.global.t(key, args, defaultMessage); +}; + +// $t 和 t 等价, 方便使用者随意使用 +const $t = t; + export default { install: (app: App) => { app.use(i18n); + // 再增加全局变量,是的在 vue 模版中同时可以使用 $t 和 t + app.config.globalProperties.t = t; }, }; -export { i18n }; +export { i18n, t, $t }; diff --git a/io.sc.platform.core.frontend/src/platform/plugin/index.ts b/io.sc.platform.core.frontend/src/platform/plugin/index.ts index 5f04cce6..fba417db 100644 --- a/io.sc.platform.core.frontend/src/platform/plugin/index.ts +++ b/io.sc.platform.core.frontend/src/platform/plugin/index.ts @@ -17,7 +17,7 @@ export default { export { axios, blobAxios, noErrorAxios } from './axios'; export { eventBus } from './quasar'; -export { i18n } from './i18n'; +export { i18n, t, $t } from './i18n'; export { usePlatformStore } from './pinia'; export { router } from './router'; diff --git a/io.sc.platform.core.frontend/src/platform/plugin/router.ts b/io.sc.platform.core.frontend/src/platform/plugin/router.ts index 34b9875c..71679abc 100644 --- a/io.sc.platform.core.frontend/src/platform/plugin/router.ts +++ b/io.sc.platform.core.frontend/src/platform/plugin/router.ts @@ -2,7 +2,7 @@ import type { App } from 'vue'; import { createRouter, createWebHistory, createWebHashHistory, RouteRecordRaw } from 'vue-router'; import { LoadingBar } from 'quasar'; import { Environment } from './environment'; -import { SessionManager, TagViewManager } from './manager'; +import { TagViewManager } from './manager'; import WBasicLayout from '@/platform/layout/WBasicLayout.vue'; import Login from '@/platform/views/Login.vue'; import Home from '@/platform/views/Home.vue'; diff --git a/io.sc.platform.core.frontend/src/routes/routes.json b/io.sc.platform.core.frontend/src/routes/routes.json index 6d5af58e..c5ec594b 100644 --- a/io.sc.platform.core.frontend/src/routes/routes.json +++ b/io.sc.platform.core.frontend/src/routes/routes.json @@ -1,4 +1,16 @@ [ + { + "name": "route.testcase.tag", + "path": "testcase/tag", + "parent": "/", + "priority": 0, + "component": "component.testcase.tag", + "componentPath": "@/views/testcase/tag/tag.vue", + "redirect": null, + "meta": { + "permissions": ["/testcase/tag/**/*"] + } + }, { "name": "route.testcase.formElements", "path": "testcase/formElements", diff --git a/io.sc.platform.core.frontend/src/views/testcase/form/form.vue b/io.sc.platform.core.frontend/src/views/testcase/form/form.vue new file mode 100644 index 00000000..a25ff111 --- /dev/null +++ b/io.sc.platform.core.frontend/src/views/testcase/form/form.vue @@ -0,0 +1,413 @@ + + diff --git a/io.sc.platform.core.frontend/src/views/testcase/tag/tag.vue b/io.sc.platform.core.frontend/src/views/testcase/tag/tag.vue new file mode 100644 index 00000000..c648e1c5 --- /dev/null +++ b/io.sc.platform.core.frontend/src/views/testcase/tag/tag.vue @@ -0,0 +1,44 @@ + + diff --git a/io.sc.platform.core.frontend/template-project/package.json b/io.sc.platform.core.frontend/template-project/package.json index 880d63e6..7871c310 100644 --- a/io.sc.platform.core.frontend/template-project/package.json +++ b/io.sc.platform.core.frontend/template-project/package.json @@ -1,6 +1,6 @@ { "name": "platform-core", - "version": "8.1.203", + "version": "8.1.212", "description": "前端核心包,用于快速构建前端的脚手架", "private": false, "keywords": [], @@ -93,7 +93,7 @@ "luckyexcel": "1.0.1", "mockjs": "1.1.0", "pinia": "2.1.7", - "platform-core": "8.1.203", + "platform-core": "8.1.212", "quasar": "2.15.3", "tailwindcss": "3.4.3", "vue": "3.4.24", diff --git a/io.sc.platform.core.frontend/template-project/public/index.html b/io.sc.platform.core.frontend/template-project/public/index.html index bc996180..cd23f259 100644 --- a/io.sc.platform.core.frontend/template-project/public/index.html +++ b/io.sc.platform.core.frontend/template-project/public/index.html @@ -1,20 +1,27 @@ - + - - - + + + - - - - + + + + + + + - + @@ -26,9 +33,11 @@ -
-
- +
+ +
+ + @@ -68,7 +77,7 @@ -
正在加载, 请稍后......
+
正在加载, 请稍后......
diff --git a/io.sc.platform.core.frontend/template-project/public/webjars/mathfonts/1.0.0/Asana/mathfonts.css b/io.sc.platform.core.frontend/template-project/public/webjars/mathfonts/1.0.0/Asana/mathfonts.css new file mode 100644 index 00000000..780d5344 --- /dev/null +++ b/io.sc.platform.core.frontend/template-project/public/webjars/mathfonts/1.0.0/Asana/mathfonts.css @@ -0,0 +1,40 @@ +/* +Asana Math is released under the SIL Open Font License. See the files in this +directory for details. The font can be obtained from several TeX distributions +or package managers. The font does not seem to have a corresponding "non-MATH" +font, it is recommended to use a Palatino-like font for the surrounding text. + +The WOFF fonts have been obtained from +http://mirrors.ctan.org/fonts/ +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: Asana Math; + src: local('Asana Math'), local('Asana-Math'), + url('Asana-Math.woff2'), url('Asana-Math.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: Asana Math; +} +m|math { + font-family: Asana Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +@font-feature-values Asana Math { @stylistic { calligraphic: 1; } } +m|*.calligraphic { + font-variant-alternates: stylistic(calligraphic); /* Recommended syntax */ + font-feature-settings: 'salt'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'salt'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'salt'; /* Blink syntax */ +} diff --git a/io.sc.platform.core.frontend/template-project/src/components/index.ts b/io.sc.platform.core.frontend/template-project/src/components/index.ts index df7ac1d9..2d379ba5 100644 --- a/io.sc.platform.core.frontend/template-project/src/components/index.ts +++ b/io.sc.platform.core.frontend/template-project/src/components/index.ts @@ -2,7 +2,8 @@ * 此文件为自动生成文件,请勿修改 */ -import component_testcase_formElements from '@/views/IndepFactor/Manager.vue'; +import component_testcase_tag from '@/views/testcase/tag/tag.vue'; +import component_testcase_formElements from '@/views/FormElements.vue'; import component_testcase_likmDialog from '@/views/likm/Dialog.vue'; import component_testcase_likmDrawer from '@/views/likm/Drawer.vue'; import component_testcase_likmForm from '@/views/likm/Form.vue'; @@ -14,6 +15,7 @@ import component_testcase_gridLayout from '@/views/likm/GridLayout.vue'; import component_testcase_likmTreeGrid from '@/views/likm/TreeGrid.vue'; const localComponents = { + 'component.testcase.tag': component_testcase_tag, 'component.testcase.formElements': component_testcase_formElements, 'component.testcase.likmDialog': component_testcase_likmDialog, 'component.testcase.likmDrawer': component_testcase_likmDrawer, diff --git a/io.sc.platform.core.frontend/template-project/src/i18n/messages_zh_CN.json b/io.sc.platform.core.frontend/template-project/src/i18n/messages_zh_CN.json index d90ce270..86be658a 100644 --- a/io.sc.platform.core.frontend/template-project/src/i18n/messages_zh_CN.json +++ b/io.sc.platform.core.frontend/template-project/src/i18n/messages_zh_CN.json @@ -1,4 +1,5 @@ { "menu.testcase": "测试用例", - "menu.testcase.formElements": "表单控件" + "menu.testcase.tag": "Tag", + "menu.testcase.formElements": "表单控件{name}", } diff --git a/io.sc.platform.core.frontend/template-project/src/menus/menus.json b/io.sc.platform.core.frontend/template-project/src/menus/menus.json index 6f0b4f75..d73d94f9 100644 --- a/io.sc.platform.core.frontend/template-project/src/menus/menus.json +++ b/io.sc.platform.core.frontend/template-project/src/menus/menus.json @@ -18,6 +18,15 @@ [ { "type": "GROUP", "order": 20000, "id": "menu.testcase", "titleI18nKey": "menu.testcase", "icon": "bi-gear" }, + { + "type": "ROUTE", + "order": 100, + "parentId": "menu.testcase", + "id": "menu.testcase.tag", + "titleI18nKey": "menu.testcase.tag", + "icon": "bi-palette", + "routeName": "route.testcase.tag" + }, { "type": "ROUTE", "order": 100, diff --git a/io.sc.platform.core.frontend/template-project/src/routes/routes.json b/io.sc.platform.core.frontend/template-project/src/routes/routes.json index 48e57be5..c5ec594b 100644 --- a/io.sc.platform.core.frontend/template-project/src/routes/routes.json +++ b/io.sc.platform.core.frontend/template-project/src/routes/routes.json @@ -1,11 +1,23 @@ [ + { + "name": "route.testcase.tag", + "path": "testcase/tag", + "parent": "/", + "priority": 0, + "component": "component.testcase.tag", + "componentPath": "@/views/testcase/tag/tag.vue", + "redirect": null, + "meta": { + "permissions": ["/testcase/tag/**/*"] + } + }, { "name": "route.testcase.formElements", "path": "testcase/formElements", "parent": "/", "priority": 0, "component": "component.testcase.formElements", - "componentPath": "@/views/IndepFactor/Manager.vue", + "componentPath": "@/views/FormElements.vue", "redirect": null, "meta": { "permissions": ["/testcase/formElements/**/*"] diff --git a/io.sc.platform.core.frontend/template-project/src/views/FormElements.vue b/io.sc.platform.core.frontend/template-project/src/views/FormElements.vue index 0acf0967..38a4da59 100644 --- a/io.sc.platform.core.frontend/template-project/src/views/FormElements.vue +++ b/io.sc.platform.core.frontend/template-project/src/views/FormElements.vue @@ -1,250 +1,133 @@ diff --git a/io.sc.platform.core.frontend/template-project/src/views/IndepFactor/IndepFactor.vue b/io.sc.platform.core.frontend/template-project/src/views/IndepFactor/IndepFactor.vue deleted file mode 100644 index eab0531b..00000000 --- a/io.sc.platform.core.frontend/template-project/src/views/IndepFactor/IndepFactor.vue +++ /dev/null @@ -1,189 +0,0 @@ - - diff --git a/io.sc.platform.core.frontend/template-project/src/views/IndepFactor/IndepFactorDefine.vue b/io.sc.platform.core.frontend/template-project/src/views/IndepFactor/IndepFactorDefine.vue deleted file mode 100644 index 27583e2f..00000000 --- a/io.sc.platform.core.frontend/template-project/src/views/IndepFactor/IndepFactorDefine.vue +++ /dev/null @@ -1,257 +0,0 @@ - - diff --git a/io.sc.platform.core.frontend/template-project/src/views/IndepFactor/Manager.vue b/io.sc.platform.core.frontend/template-project/src/views/IndepFactor/Manager.vue deleted file mode 100644 index 161071de..00000000 --- a/io.sc.platform.core.frontend/template-project/src/views/IndepFactor/Manager.vue +++ /dev/null @@ -1,35 +0,0 @@ - - diff --git a/io.sc.platform.core.frontend/template-project/src/views/testcase/form/form.vue b/io.sc.platform.core.frontend/template-project/src/views/testcase/form/form.vue new file mode 100644 index 00000000..a25ff111 --- /dev/null +++ b/io.sc.platform.core.frontend/template-project/src/views/testcase/form/form.vue @@ -0,0 +1,413 @@ + + diff --git a/io.sc.platform.core.frontend/template-project/src/views/testcase/tag/tag.vue b/io.sc.platform.core.frontend/template-project/src/views/testcase/tag/tag.vue new file mode 100644 index 00000000..c648e1c5 --- /dev/null +++ b/io.sc.platform.core.frontend/template-project/src/views/testcase/tag/tag.vue @@ -0,0 +1,44 @@ + + diff --git a/io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/words.properties b/io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/words.properties index 9ae80622..6ec487c5 100644 --- a/io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/words.properties +++ b/io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/words.properties @@ -223,4 +223,6 @@ zoomIn=Zoom In zoomOut=Zoom Out copy=Copy paste=Paste -cut =Cut \ No newline at end of file +cut =Cut +online=Online +offline=Offline \ No newline at end of file diff --git a/io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/words_tw_CN.properties b/io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/words_tw_CN.properties index dbb03b4c..219001a9 100644 --- a/io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/words_tw_CN.properties +++ b/io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/words_tw_CN.properties @@ -223,4 +223,6 @@ zoomIn=\u653E\u5927 zoomOut=\u7E2E\u5C0F copy=\u8907\u88FD paste=\u7C98\u8CBC -cut =\u526A\u5207 \ No newline at end of file +cut =\u526A\u5207 +online=\u5728\u7DDA +offline=\u96E2\u7DDA \ No newline at end of file diff --git a/io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/words_zh_CN.properties b/io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/words_zh_CN.properties index 16331832..bfd60376 100644 --- a/io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/words_zh_CN.properties +++ b/io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/words_zh_CN.properties @@ -223,4 +223,6 @@ zoomIn=\u653E\u5927 zoomOut=\u7F29\u5C0F copy=\u590D\u5236 paste=\u7C98\u8D34 -cut =\u526A\u5207 \ No newline at end of file +cut =\u526A\u5207 +online=\u5728\u7EBF +offline=\u79BB\u7EBF \ No newline at end of file diff --git a/io.sc.platform.developer.frontend/package.json b/io.sc.platform.developer.frontend/package.json index 5e7c4ea6..911511d3 100644 --- a/io.sc.platform.developer.frontend/package.json +++ b/io.sc.platform.developer.frontend/package.json @@ -92,7 +92,7 @@ "luckyexcel": "1.0.1", "mockjs": "1.1.0", "pinia": "2.1.7", - "platform-core": "8.1.203", + "platform-core": "8.1.204", "quasar": "2.15.3", "tailwindcss": "3.4.3", "vue": "3.4.24", diff --git a/io.sc.platform.developer.frontend/public/index.html b/io.sc.platform.developer.frontend/public/index.html index bc996180..cd23f259 100644 --- a/io.sc.platform.developer.frontend/public/index.html +++ b/io.sc.platform.developer.frontend/public/index.html @@ -1,20 +1,27 @@ - + - - - + + + - - - - + + + + + + + - + @@ -26,9 +33,11 @@ -
-
- +
+ +
+ + @@ -68,7 +77,7 @@ -
正在加载, 请稍后......
+
正在加载, 请稍后......
diff --git a/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/Asana/mathfonts.css b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/Asana/mathfonts.css new file mode 100644 index 00000000..780d5344 --- /dev/null +++ b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/Asana/mathfonts.css @@ -0,0 +1,40 @@ +/* +Asana Math is released under the SIL Open Font License. See the files in this +directory for details. The font can be obtained from several TeX distributions +or package managers. The font does not seem to have a corresponding "non-MATH" +font, it is recommended to use a Palatino-like font for the surrounding text. + +The WOFF fonts have been obtained from +http://mirrors.ctan.org/fonts/ +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: Asana Math; + src: local('Asana Math'), local('Asana-Math'), + url('Asana-Math.woff2'), url('Asana-Math.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: Asana Math; +} +m|math { + font-family: Asana Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +@font-feature-values Asana Math { @stylistic { calligraphic: 1; } } +m|*.calligraphic { + font-variant-alternates: stylistic(calligraphic); /* Recommended syntax */ + font-feature-settings: 'salt'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'salt'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'salt'; /* Blink syntax */ +} diff --git a/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/Cambria/mathfonts.css b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/Cambria/mathfonts.css new file mode 100644 index 00000000..bcbb5386 --- /dev/null +++ b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/Cambria/mathfonts.css @@ -0,0 +1,56 @@ +/* +The proprietary Cambria fonts are installed by default on Microsoft Windows 7 +and higher and are provided with some other Microsoft products such as Office. +Some Web services may also provide them as Web fonts. For details, see + http://www.microsoft.com/typography/fonts/family.aspx?FID=291 + http://www.microsoft.com/typography/fonts/family.aspx?FID=360 +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +/* Uncomment and complete the URLs if you wish to use Web fonts */ +/* +@font-face { + font-family: Cambria; + src: local('Cambria'), url('...'); +} +@font-face { + font-family: Cambria; + src: local('Cambria Bold'), url('...'); + font-weight: bold; +} +@font-face { + font-family: Cambria; + src: local('Cambria Italic'), url('...'); + font-style: italic; +} +@font-face { + font-family: Cambria; + src: local('Cambria Bold Italic'), url('...'); + font-weight: bold; + font-style: italic; +} +@font-face { + font-family: Cambria Math; + src: local('Cambria Math'), url('...'); +} +*/ + +.htmlmathparagraph, m|mtext { + font-family: Cambria; +} +m|math { + font-family: Cambria Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* TODO: verify whether calligraphic letters are available in this font */ +m|*.calligraphic { +} diff --git a/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif-Bold.woff2 b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif-Bold.woff2 new file mode 100644 index 00000000..c3620b3b Binary files /dev/null and b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif-Bold.woff2 differ diff --git a/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif-BoldItalic.woff2 b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif-BoldItalic.woff2 new file mode 100644 index 00000000..3d641e3d Binary files /dev/null and b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif-BoldItalic.woff2 differ diff --git a/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif-Italic.woff2 b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif-Italic.woff2 new file mode 100644 index 00000000..163819b5 Binary files /dev/null and b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif-Italic.woff2 differ diff --git a/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif.woff2 b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif.woff2 new file mode 100644 index 00000000..51776932 Binary files /dev/null and b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif.woff2 differ diff --git a/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/DejaVu/mathfonts.css b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/DejaVu/mathfonts.css new file mode 100644 index 00000000..ee48b1d3 --- /dev/null +++ b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/DejaVu/mathfonts.css @@ -0,0 +1,51 @@ +/* +Deja Vu is released under a Free License. See the files in this directory +for details. This fonts is available on most Linux distributions. +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: DejaVu Math TeX Gyre; + src: url('DejaVuMathTeXGyre.woff2'), url('DejaVuMathTeXGyre.woff'); +} +@font-face { + font-family: DejaVu Serif; + src: url('DejaVuSerif.woff2'), url('DejaVuSerif.woff'); +} +@font-face { + font-family: DejaVu Serif; + src: url('DejaVuSerif-Bold.woff2'), url('DejaVuSerif-Bold.woff'); + font-weight: bold; +} +@font-face { + font-family: DejaVu Serif; + src: url('DejaVuSerif-Italic.woff2'), url('DejaVuSerif-Italic.woff'); + font-style: italic; +} +@font-face { + font-family: DejaVu Serif; + src: url('DejaVuSerif-BoldItalic.woff2'), + url('DejaVuSerif-BoldItalic.woff'); + font-weight: bold; + font-style: italic; +} + +.htmlmathparagraph, m|mtext { + font-family: DejaVu Serif; +} +m|math { + font-family: DejaVu Math TeX Gyre; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* Calligraphic letters do not seem to be available */ +m|*.calligraphic { +} diff --git a/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/FiraMath/FiraMath-Regular.woff2 b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/FiraMath/FiraMath-Regular.woff2 new file mode 100644 index 00000000..c13030cd Binary files /dev/null and b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/FiraMath/FiraMath-Regular.woff2 differ diff --git a/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/FiraMath/mathfonts.css b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/FiraMath/mathfonts.css new file mode 100644 index 00000000..c05d74d6 --- /dev/null +++ b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/FiraMath/mathfonts.css @@ -0,0 +1,21 @@ +/* +The FiraMath font is released under the SIL Open Font License. See the files in +this directory for details. +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: Fira Math; + src: local('Fira Math'), local('FiraMath-Regular'), + url('FiraMath-Regular.woff2'), url('FiraMath-Regular.woff'); +} + +.htmlmathparagraph, m|mtext { + /* TODO: use FiraGO instead? */ + font-family: Fira Math; +} +m|math { + font-family: Fira Math; +} diff --git a/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenic.woff2 b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenic.woff2 new file mode 100644 index 00000000..3c27d39f Binary files /dev/null and b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenic.woff2 differ diff --git a/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicBold.woff2 b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicBold.woff2 new file mode 100644 index 00000000..e946d53e Binary files /dev/null and b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicBold.woff2 differ diff --git a/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicBoldIt.woff2 b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicBoldIt.woff2 new file mode 100644 index 00000000..0dd7d2ed Binary files /dev/null and b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicBoldIt.woff2 differ diff --git a/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicIt.woff2 b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicIt.woff2 new file mode 100644 index 00000000..e7dfb1d1 Binary files /dev/null and b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicIt.woff2 differ diff --git a/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicMath.woff2 b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicMath.woff2 new file mode 100644 index 00000000..2c488f2a Binary files /dev/null and b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicMath.woff2 differ diff --git a/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/mathfonts.css b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/mathfonts.css new file mode 100644 index 00000000..ea0116c9 --- /dev/null +++ b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/mathfonts.css @@ -0,0 +1,50 @@ +/* +The GFS Neohellenic fonts are released under the SIL Open Font License. See the +files in this directory for details. +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + + +@font-face { + font-family: GFS Neohellenic; + src: local('GFSNeohellenic-Regular'), + url('GFSNeohellenic.woff2'), + url('GFSNeohellenic.woff'); +} +@font-face { + font-family: GFS Neohellenic; + src: local('GFSNeohellenic-Bold'), + url('GFSNeohellenic-Bold.woff2'), + url('GFSNeohellenic-Bold.woff'); + font-weight: bold; +} +@font-face { + font-family: GFS Neohellenic; + src: local('GFSNeohellenic-Italic'), + url('GFSNeohellenic-It.woff2'), + url('GFSNeohellenic-It.woff'); + font-style: italic; +} +@font-face { + font-family: GFS Neohellenic; + src: local('GFSNeohellenic-BoldItalic'), + url('GFSNeohellenic-BoldIt.woff2'), + url('GFSNeohellenic-BoldIt.woff'); + font-weight: bold; + font-style: italic; +} +@font-face { + font-family: GFS Neohellenic Math; + src: local('GFSNeohellenicMath'), + url('GFSNeohellenicMath.woff2'), + url('GFSNeohellenicMath.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: GFS Neohellenic; +} +m|math { + font-family: GFS Neohellenic Math; +} diff --git a/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/GNUFreeSans/mathfonts.css b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/GNUFreeSans/mathfonts.css new file mode 100644 index 00000000..cbf76d3d --- /dev/null +++ b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/GNUFreeSans/mathfonts.css @@ -0,0 +1,47 @@ +/* +GNU FreeSans is released under the GNU General Public License. See the files in +this directory for details. OpenType MATH support is only available in the +development version. +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: FreeSans; + src: url('FreeSans.woff2'), url('FreeSans.woff'); +} +@font-face { + font-family: FreeSans; + src: url('FreeSansBold.woff2'), url('FreeSansBold.woff'); + font-weight: bold; +} +@font-face { + font-family: FreeSans; + src: url('FreeSansOblique.woff2'), url('FreeSansOblique.woff'); + font-style: oblique; +} +@font-face { + font-family: FreeSans; + src: url('FreeSansBoldOblique.woff2'), url('FreeSansBoldOblique.woff'); + font-weight: bold; + font-style: oblique; +} + +.htmlmathparagraph, m|mtext { + font-family: FreeSans; +} +m|math { + font-family: FreeSans; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* Calligraphic letters do not seem to be available */ +m|*.calligraphic { +} diff --git a/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/GNUFreeSerif/mathfonts.css b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/GNUFreeSerif/mathfonts.css new file mode 100644 index 00000000..9572fbfe --- /dev/null +++ b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/GNUFreeSerif/mathfonts.css @@ -0,0 +1,47 @@ +/* +GNU FreeSerif is released under the GNU General Public License. See the files in +this directory for details. OpenType MATH support is only available in the +development version. +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: FreeSerif; + src: url('FreeSerif.woff2'), url('FreeSerif.woff'); +} +@font-face { + font-family: FreeSerif; + src: url('FreeSerifBold.woff2'), url('FreeSerifBold.woff'); + font-weight: bold; +} +@font-face { + font-family: FreeSerif; + src: url('FreeSerifItalic.woff2'), url('FreeSerifItalic.woff'); + font-style: italic; +} +@font-face { + font-family: FreeSerif; + src: url('FreeSerifBoldItalic.woff2'), url('FreeSerifBoldItalic.woff'); + font-weight: bold; + font-style: italic; +} + +.htmlmathparagraph, m|mtext { + font-family: FreeSerif; +} +m|math { + font-family: FreeSerif; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* Calligraphic letters do not seem to be available */ +m|*.calligraphic { +} diff --git a/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/Garamond/EBGaramond12-Italic.woff2 b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/Garamond/EBGaramond12-Italic.woff2 new file mode 100644 index 00000000..21fe6278 Binary files /dev/null and b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/Garamond/EBGaramond12-Italic.woff2 differ diff --git a/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/Garamond/EBGaramond12-Regular.woff2 b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/Garamond/EBGaramond12-Regular.woff2 new file mode 100644 index 00000000..9d8c372e Binary files /dev/null and b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/Garamond/EBGaramond12-Regular.woff2 differ diff --git a/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/Garamond/Garamond-Math.woff2 b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/Garamond/Garamond-Math.woff2 new file mode 100644 index 00000000..72102330 Binary files /dev/null and b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/Garamond/Garamond-Math.woff2 differ diff --git a/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/Garamond/mathfonts.css b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/Garamond/mathfonts.css new file mode 100644 index 00000000..f8b1e9df --- /dev/null +++ b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/Garamond/mathfonts.css @@ -0,0 +1,35 @@ +/* +The Garamond fonts are released under the SIL Open Font License. See the files +in this directory for details. +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + + +@font-face { + font-family: EB Garamond; + src: local('EBGaramond12-Regular'), + url('EBGaramond12-Regular.woff2'), + url('EBGaramond12-Regular.woff'); +} +@font-face { + font-family: EB Garamond; + src: local('EBGaramond12-Italic'), + url('EBGaramond12-Italic.woff2'), + url('EBGaramond12-Italic.woff'); + font-style: italic; +} +@font-face { + font-family: Garamond Math; + src: local('Garamond-Math'), + url('Garamond-Math.woff2'), + url('Garamond-Math.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: EB Garamond; +} +m|math { + font-family: Garamond Math; +} diff --git a/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/LatinModern/latinmodern-math.woff2 b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/LatinModern/latinmodern-math.woff2 new file mode 100644 index 00000000..6110b17b Binary files /dev/null and b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/LatinModern/latinmodern-math.woff2 differ diff --git a/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/LatinModern/lmroman12-bold.woff2 b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/LatinModern/lmroman12-bold.woff2 new file mode 100644 index 00000000..df169efa Binary files /dev/null and b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/LatinModern/lmroman12-bold.woff2 differ diff --git a/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/LatinModern/lmroman12-italic.woff2 b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/LatinModern/lmroman12-italic.woff2 new file mode 100644 index 00000000..c4ef3ed4 Binary files /dev/null and b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/LatinModern/lmroman12-italic.woff2 differ diff --git a/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/LatinModern/lmroman12-regular.woff2 b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/LatinModern/lmroman12-regular.woff2 new file mode 100644 index 00000000..ae0f344e Binary files /dev/null and b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/LatinModern/lmroman12-regular.woff2 differ diff --git a/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/LatinModern/mathfonts.css b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/LatinModern/mathfonts.css new file mode 100644 index 00000000..b4b0ceeb --- /dev/null +++ b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/LatinModern/mathfonts.css @@ -0,0 +1,53 @@ +/* +The Latin Modern fonts are released under the GUST font license, which is +legally equivalent to the LaTeX Project Public License. See the files in this +directory for details. The fonts can be obtained from several TeX distributions +or package managers. + +The WOFF fonts have been obtained from +http://www.gust.org.pl/projects/e-foundry/ +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +/* Latin Modern Roman has various sizes. We use the generic name + "Latin Modern Roman" for the local versions and "LMRoman12" for the Web font. +*/ +@font-face { + font-family: LMRoman12; + src: url('lmroman12-regular.woff2'), url('lmroman12-regular.woff'); +} +@font-face { + font-family: LMRoman12; + src: url('lmroman12-bold.woff2'), url('lmroman12-bold.woff'); + font-weight: bold; +} +@font-face { + font-family: LMRoman12; + src: url('lmroman12-italic.woff2'), url('lmroman12-italic.woff'); + font-style: italic; +} +@font-face { + font-family: Latin Modern Math; + src: local('Latin Modern Math'), local('LatinModernMath-Regular'), + url('latinmodern-math.woff2'), url('latinmodern-math.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: Latin Modern Roman, LMRoman12; +} +m|math { + font-family: Latin Modern Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* Calligraphic letters do not seem to be available */ +m|*.calligraphic { +} diff --git a/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusmath-regular.woff2 b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusmath-regular.woff2 new file mode 100644 index 00000000..c76bab8c Binary files /dev/null and b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusmath-regular.woff2 differ diff --git a/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-bold.woff2 b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-bold.woff2 new file mode 100644 index 00000000..34b9f93b Binary files /dev/null and b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-bold.woff2 differ diff --git a/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-bolditalic.woff2 b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-bolditalic.woff2 new file mode 100644 index 00000000..19fbf7b9 Binary files /dev/null and b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-bolditalic.woff2 differ diff --git a/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-italic.woff2 b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-italic.woff2 new file mode 100644 index 00000000..dd20fdcf Binary files /dev/null and b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-italic.woff2 differ diff --git a/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-regular.woff2 b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-regular.woff2 new file mode 100644 index 00000000..a7ef60ef Binary files /dev/null and b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-regular.woff2 differ diff --git a/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/Libertinus/mathfonts.css b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/Libertinus/mathfonts.css new file mode 100644 index 00000000..fe6d41c2 --- /dev/null +++ b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/Libertinus/mathfonts.css @@ -0,0 +1,61 @@ +/* +The Libertinus fonts are released under the SIL Open Font and GPL Licenses. See +the files in this directory for details. +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: Libertinus Serif; + src: local('Libertinus Serif'), local('LibertinusSerif'), + url('libertinusserif-regular.woff2'), + url('libertinusserif-regular.woff'); +} +@font-face { + font-family: Libertinus Serif; + src: local('Libertinus Serif Bold'), local('LibertinusSerif-Bold'), + url('libertinusserif-bold.woff2'), + url('libertinusserif-bold.woff'); + font-weight: bold; +} +@font-face { + font-family: Libertinus Serif; + src: local('Libertinus Serif Italic'), local('LibertinusSerif-Italic'), + url('libertinusserif-italic.woff2'), + url('libertinusserif-italic.woff'); + font-style: italic; +} +@font-face { + font-family: Libertinus Serif; + src: local('Libertinus Serif Bold Italic'), + local('LibertinusSerif-BoldItalic'), + url('libertinusserif-bolditalic.woff2'), + url('libertinusserif-bolditalic.woff'); + font-weight: bold; + font-style: italic; +} +@font-face { + font-family: Libertinus Math; + src: local('Libertinus Math'), local('LibertinusMath'), + url('libertinusmath-regular.woff2'), + url('libertinusmath-regular.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: Libertinus Serif; +} +m|math { + font-family: Libertinus Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* No math script */ +m|*.calligraphic { +} diff --git a/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/LucidaBright/mathfonts.css b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/LucidaBright/mathfonts.css new file mode 100644 index 00000000..5f056577 --- /dev/null +++ b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/LucidaBright/mathfonts.css @@ -0,0 +1,58 @@ +/* +The commercial Lucida Bright fonts can be obtained from +http://tug.org/store/lucida/opentype.html and some Web services might +provide them as Web fonts. See also + http://www.microsoft.com/typography/fonts/family.aspx?FID=186 + http://www.microsoft.com/typography/fonts/family.aspx?FID=217 + +Warning: The CSS rules below have not been tested. +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +/* Uncomment and complete the URLs if you wish to use Web fonts */ +/* +@font-face { + font-family: Lucida Bright; + src: local('Lucida Bright'), url('...'); +} +@font-face { + font-family: Lucida Bright; + src: local('Lucida Bright Demibold'), url('...'); + font-weight: bolder; +} +@font-face { + font-family: Lucida Bright; + src: local('Lucida Bright Italic'), url('...'); + font-style: italic; +} +@font-face { + font-family: Lucida Bright; + src: local('Lucida Bright Demibold Italic'), url('...'); + font-weight: bolder; + font-style: italic; +} +@font-face { + font-family: Lucida Bright Math; + src: local('Lucida Bright Math'), url('...'); +} +*/ + +.htmlmathparagraph, m|mtext { + font-family: Lucida Bright; +} +m|math { + font-family: Lucida Bright Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* TODO: verify whether calligraphic letters are available in this font */ +m|*.calligraphic { +} diff --git a/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/Minion/mathfonts.css b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/Minion/mathfonts.css new file mode 100644 index 00000000..640b0eaf --- /dev/null +++ b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/Minion/mathfonts.css @@ -0,0 +1,37 @@ +/* +The commercial Minion Math fonts and can be obtained from +http://www.typoma.com/en/fonts.html and some Web services might provide them as +Web fonts. + +Warning: The CSS rules below have not been tested. More rules should probably +be added to make this work correctly. +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +/* Uncomment and complete the URLs if you wish to use Web fonts */ +/* +@font-face { + font-family: Minion Math; + src: local('Minion Math'), url('...'); +} +*/ + +.htmlmathparagraph, m|mtext { + font-family: Minion Math; +} +m|math { + font-family: Minion Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* TODO: verify whether calligraphic letters are available in this font */ +m|*.calligraphic { +} diff --git a/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/NeoEuler/mathfonts.css b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/NeoEuler/mathfonts.css new file mode 100644 index 00000000..8df86bf5 --- /dev/null +++ b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/NeoEuler/mathfonts.css @@ -0,0 +1,34 @@ +/* +Neo Euler is released under the SIL Open Font License. See the files in this +directory for details. The font is still in development. The font does not seem +to have a corresponding "non-MATH" font. + +The WOFF fonts have been obtained from +https://github.com/khaledhosny/euler-otf/ +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: Neo Euler; + src: local('Neo Euler'), url('euler.woff2'), url('euler.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: Neo Euler; +} +m|math { + font-family: Neo Euler; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* Calligraphic letters do not seem to be available */ +m|*.calligraphic { +} diff --git a/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoMath-Regular.woff2 b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoMath-Regular.woff2 new file mode 100644 index 00000000..279a98f0 Binary files /dev/null and b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoMath-Regular.woff2 differ diff --git a/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-Bold.woff2 b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-Bold.woff2 new file mode 100644 index 00000000..e4394884 Binary files /dev/null and b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-Bold.woff2 differ diff --git a/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-BoldItalic.woff2 b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-BoldItalic.woff2 new file mode 100644 index 00000000..0dc0baed Binary files /dev/null and b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-BoldItalic.woff2 differ diff --git a/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-Italic.woff2 b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-Italic.woff2 new file mode 100644 index 00000000..5594de32 Binary files /dev/null and b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-Italic.woff2 differ diff --git a/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-Regular.woff2 b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-Regular.woff2 new file mode 100644 index 00000000..263c488a Binary files /dev/null and b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-Regular.woff2 differ diff --git a/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/STIX/mathfonts.css b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/STIX/mathfonts.css new file mode 100644 index 00000000..4b287cee --- /dev/null +++ b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/STIX/mathfonts.css @@ -0,0 +1,69 @@ +/* +The STIX fonts are released under the SIL Open Font License. See the files in +this directory for details. The font can be obtained from several TeX +distributions or package managers. + +The WOFF fonts have been obtained from +http://downloads.sourceforge.net/project/stixfonts/ +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + + +@font-face { + font-family: STIX Two Text; + src: local('STIXTwoText'), + url('STIXTwoText-Regular.woff2'), + url('STIXTwoText-Regular.woff'); +} +@font-face { + font-family: STIX Two Text; + src: local('STIXTwoText-Bold'), + url('STIXTwoText-Bold.woff2'), + url('STIXTwoText-Bold.woff'); + font-weight: bold; +} +@font-face { + font-family: STIX Two Text; + src: local('STIXTwoText-Italic'), + url('STIXTwoText-Italic.woff2'), + url('STIXTwoText-Italic.woff'); + font-style: italic; +} +@font-face { + font-family: STIX Two Text; + src: local('STIXTwoText-BoldItalic'), + url('STIXTwoText-BoldItalic.woff2'), + url('STIXTwoText-BoldItalic.woff'); + font-weight: bold; + font-style: italic; +} +@font-face { + font-family: STIX Two Math; + src: local('STIXTwoMath-Regular'), + url('STIXTwoMath-Regular.woff2'), + url('STIXTwoMath-Regular.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: STIX Two Text; +} +m|math { + font-family: STIX Two Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +@font-feature-values STIX Two Math { @styleset { calligraphic: 1; } } +m|*.calligraphic { + font-variant-alternates: styleset(calligraphic); /* Recommended syntax */ + font-feature-settings: 'ss01'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'ss01'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'ss01'; /* Blink syntax */ +} diff --git a/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/mathfonts.css b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/mathfonts.css new file mode 100644 index 00000000..f7bbeaa0 --- /dev/null +++ b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/mathfonts.css @@ -0,0 +1,62 @@ +/* +The TeX Gyre Bonum fonts are released under the GUST font license, which is +legally equivalent to the LaTeX Project Public License. See the files in this +directory for details. The fonts can be obtained from several TeX distributions +or package managers. + +The WOFF fonts have been obtained from +http://www.gust.org.pl/projects/e-foundry/ +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: TeX Gyre Bonum; + src: local('TeXGyreBonum-Regular'), + url('texgyrebonum-regular.woff2'), url('texgyrebonum-regular.woff'); +} +@font-face { + font-family: TeX Gyre Bonum; + src: local('TeXGyreBonum-Bold'), + url('texgyrebonum-bold.woff2'), url('texgyrebonum-bold.woff'); + font-weight: bold; +} +@font-face { + font-family: TeX Gyre Bonum; + src: local('TeXGyreBonum-Italic'), + url('texgyrebonum-italic.woff2'), url('texgyrebonum-italic.woff'); + font-style: italic; +} +@font-face { + font-family: TeX Gyre Bonum; + src: local('TeXGyreBonum-BoldItalic'), + url('texgyrebonum-bolditalic.woff2'), + url('texgyrebonum-bolditalic.woff'); + font-weight: bold; + font-style: italic; +} +@font-face { + font-family: TeX Gyre Bonum Math; + src: local('TeX Gyre Bonum Math'), local('TeXGyreBonumMath-Regular'), + url('texgyrebonum-math.woff2'), + url('texgyrebonum-math.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: TeX Gyre Bonum; +} +m|math { + font-family: TeX Gyre Bonum Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* Calligraphic letters do not seem to be available */ +m|*.calligraphic { +} diff --git a/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-bold.woff2 b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-bold.woff2 new file mode 100644 index 00000000..013ca1bd Binary files /dev/null and b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-bold.woff2 differ diff --git a/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-bolditalic.woff2 b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-bolditalic.woff2 new file mode 100644 index 00000000..ae18fb8b Binary files /dev/null and b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-bolditalic.woff2 differ diff --git a/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-italic.woff2 b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-italic.woff2 new file mode 100644 index 00000000..42742390 Binary files /dev/null and b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-italic.woff2 differ diff --git a/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-math.woff2 b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-math.woff2 new file mode 100644 index 00000000..d16a1cea Binary files /dev/null and b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-math.woff2 differ diff --git a/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-regular.woff2 b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-regular.woff2 new file mode 100644 index 00000000..8aede98d Binary files /dev/null and b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-regular.woff2 differ diff --git a/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/TeXGyrePagella/mathfonts.css b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/TeXGyrePagella/mathfonts.css new file mode 100644 index 00000000..394686b0 --- /dev/null +++ b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/TeXGyrePagella/mathfonts.css @@ -0,0 +1,63 @@ +/* +The TeX Gyre Pagella fonts are released under the GUST font license, which is +legally equivalent to the LaTeX Project Public License. See the files in this +directory for details. The fonts can be obtained from several TeX distributions +or package managers. + +The WOFF fonts have been obtained from +http://www.gust.org.pl/projects/e-foundry/ +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: TeX Gyre Pagella; + src: local('TeXGyrePagella-Regular'), + url('texgyrepagella-regular.woff2'), + url('texgyrepagella-regular.woff'); +} +@font-face { + font-family: TeX Gyre Pagella; + src: local('TeXGyrePagella-Bold'), + url('texgyrepagella-bold.woff2'), url('texgyrepagella-bold.woff'); + font-weight: bold; +} +@font-face { + font-family: TeX Gyre Pagella; + src: local('TeXGyrePagella-Italic'), + url('texgyrepagella-italic.woff2'), url('texgyrepagella-italic.woff'); + font-style: italic; +} +@font-face { + font-family: TeX Gyre Pagella; + src: local('TeXGyrePagella-BoldItalic'), + url('texgyrepagella-bolditalic.woff2'), + url('texgyrepagella-bolditalic.woff'); + font-weight: bold; + font-style: italic; +} +@font-face { + font-family: TeX Gyre Pagella Math; + src: local('TeX Gyre Pagella Math'), local('TeXGyrePagellaMath-Regular'), + url('texgyrepagella-math.woff2'), + url('texgyrepagella-math.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: TeX Gyre Pagella; +} +m|math { + font-family: TeX Gyre Pagella Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* Calligraphic letters do not seem to be available */ +m|*.calligraphic { +} diff --git a/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/TeXGyrePagella/texgyrepagella-math.woff2 b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/TeXGyrePagella/texgyrepagella-math.woff2 new file mode 100644 index 00000000..0879c80a Binary files /dev/null and b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/TeXGyrePagella/texgyrepagella-math.woff2 differ diff --git a/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/mathfonts.css b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/mathfonts.css new file mode 100644 index 00000000..41c28c6b --- /dev/null +++ b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/mathfonts.css @@ -0,0 +1,61 @@ +/* +The TeX Gyre Schola fonts are released under the GUST font license, which is +legally equivalent to the LaTeX Project Public License. See the files in this +directory for details. The fonts can be obtained from several TeX distributions +or package managers. + +The WOFF fonts have been obtained from +http://www.gust.org.pl/projects/e-foundry/ +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: TeX Gyre Schola; + src: local('TeXGyreSchola-Regular'), + url('texgyreschola-regular.woff2'), url('texgyreschola-regular.woff'); +} +@font-face { + font-family: TeX Gyre Schola; + src: local('TeXGyreSchola-Bold'), + url('texgyreschola-bold.woff2'), url('texgyreschola-bold.woff'); + font-weight: bold; +} +@font-face { + font-family: TeX Gyre Schola; + src: local('TeXGyreSchola-Italic'), + url('texgyreschola-italic.woff2'), url('texgyreschola-italic.woff'); + font-style: italic; +} +@font-face { + font-family: TeX Gyre Schola; + src: local('TeXGyreSchola-BoldItalic'), + url('texgyreschola-bolditalic.woff2'), + url('texgyreschola-bolditalic.woff'); + font-weight: bold; + font-style: italic; +} +@font-face { + font-family: TeX Gyre Schola Math; + src: local('TeX Gyre Schola Math'), local('TeXGyreScholaMath-Regular'), + url('texgyreschola-math.woff2'), url('texgyreschola-math.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: TeX Gyre Schola; +} +m|math { + font-family: TeX Gyre Schola Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* Calligraphic letters do not seem to be available */ +m|*.calligraphic { +} diff --git a/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-bold.woff2 b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-bold.woff2 new file mode 100644 index 00000000..485f2c5b Binary files /dev/null and b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-bold.woff2 differ diff --git a/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-bolditalic.woff2 b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-bolditalic.woff2 new file mode 100644 index 00000000..6c8c3f52 Binary files /dev/null and b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-bolditalic.woff2 differ diff --git a/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-italic.woff2 b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-italic.woff2 new file mode 100644 index 00000000..afe8d4ef Binary files /dev/null and b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-italic.woff2 differ diff --git a/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-math.woff2 b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-math.woff2 new file mode 100644 index 00000000..674c4281 Binary files /dev/null and b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-math.woff2 differ diff --git a/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-regular.woff2 b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-regular.woff2 new file mode 100644 index 00000000..0dbec85e Binary files /dev/null and b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-regular.woff2 differ diff --git a/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/mathfonts.css b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/mathfonts.css new file mode 100644 index 00000000..d7a65374 --- /dev/null +++ b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/mathfonts.css @@ -0,0 +1,60 @@ +/* +The TeX Gyre Termes fonts are released under the GUST font license, which is +legally equivalent to the LaTeX Project Public License. See the files in this +directory for details. The fonts can be obtained from several TeX distributions +or package managers. + +The WOFF fonts have been obtained from +http://www.gust.org.pl/projects/e-foundry/ +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: TeX Gyre Termes; + src: local('TeXGyreTermes-Regular'), + url('texgyretermes-regular.woff2'), url('texgyretermes-regular.woff'); +} +@font-face { + font-family: TeX Gyre Termes; + src: local('TeXGyreTermes-Bold'), + url('texgyretermes-bold.woff2'), url('texgyretermes-bold.woff'); + font-weight: bold; +} +@font-face { + font-family: TeX Gyre Termes; + src: local('TeXGyreTermes-Italic'), + url('texgyretermes-italic.woff2'), url('texgyretermes-italic.woff'); + font-style: italic; +} +@font-face { + font-family: TeX Gyre Termes; + src: local('TeXGyreTermes-BoldItalic'), + url('texgyretermes-bolditalic.woff2'), url('texgyretermes-bolditalic.woff'); + font-weight: bold; + font-style: italic; +} +@font-face { + font-family: TeX Gyre Termes Math; + src: local('TeX Gyre Termes Math'), local('TeXGyreTermesMath-Regular'), + url('texgyretermes-math.woff2'), url('texgyretermes-math.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: TeX Gyre Termes; +} +m|math { + font-family: TeX Gyre Termes Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* Calligraphic letters do not seem to be available */ +m|*.calligraphic { +} diff --git a/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-bold.woff2 b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-bold.woff2 new file mode 100644 index 00000000..a346eb13 Binary files /dev/null and b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-bold.woff2 differ diff --git a/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-bolditalic.woff2 b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-bolditalic.woff2 new file mode 100644 index 00000000..571a2f07 Binary files /dev/null and b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-bolditalic.woff2 differ diff --git a/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-italic.woff2 b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-italic.woff2 new file mode 100644 index 00000000..401cd0ec Binary files /dev/null and b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-italic.woff2 differ diff --git a/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-math.woff2 b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-math.woff2 new file mode 100644 index 00000000..31c9adc2 Binary files /dev/null and b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-math.woff2 differ diff --git a/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-regular.woff2 b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-regular.woff2 new file mode 100644 index 00000000..1a15f9ad Binary files /dev/null and b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-regular.woff2 differ diff --git a/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-Bold.woff2 b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-Bold.woff2 new file mode 100644 index 00000000..7a12dd34 Binary files /dev/null and b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-Bold.woff2 differ diff --git a/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-BoldItalic.woff2 b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-BoldItalic.woff2 new file mode 100644 index 00000000..c4daad18 Binary files /dev/null and b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-BoldItalic.woff2 differ diff --git a/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-Italic.woff2 b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-Italic.woff2 new file mode 100644 index 00000000..9d434203 Binary files /dev/null and b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-Italic.woff2 differ diff --git a/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-Regular.woff2 b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-Regular.woff2 new file mode 100644 index 00000000..9acf905c Binary files /dev/null and b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-Regular.woff2 differ diff --git a/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/XITS/XITSMath-Bold.woff2 b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/XITS/XITSMath-Bold.woff2 new file mode 100644 index 00000000..c93f7230 Binary files /dev/null and b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/XITS/XITSMath-Bold.woff2 differ diff --git a/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/XITS/XITSMath-Regular.woff2 b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/XITS/XITSMath-Regular.woff2 new file mode 100644 index 00000000..fa9345cb Binary files /dev/null and b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/XITS/XITSMath-Regular.woff2 differ diff --git a/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/XITS/mathfonts.css b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/XITS/mathfonts.css new file mode 100644 index 00000000..9b62b7c3 --- /dev/null +++ b/io.sc.platform.developer.frontend/public/webjars/mathfonts/1.0.0/XITS/mathfonts.css @@ -0,0 +1,69 @@ +/* +XITS is released under the SIL Open Font License. See the files in this +directory for details. The font can be obtained from several TeX distributions +or package managers. + +The WOFF fonts have been obtained from +http://mirrors.ctan.org/fonts/ +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: XITS; + src: local('XITS'), + url('XITS-Regular.woff2'), url('XITS-Regular.woff'); +} +@font-face { + font-family: XITS; + src: local('XITS Bold'), local('XITS-Bold'), + url('XITS-Bold.woff2'), url('XITS-Bold.woff'); + font-weight: bold; +} +@font-face { + font-family: XITS; + src: local('XITS Italic'), local('XITS-Italic'), + url('XITS-Italic.woff2'), url('XITS-Italic.woff'); + font-style: italic; +} +@font-face { + font-family: XITS; + src: local('XITS Bold Italic'), local('XITS-BoldItalic'), + url('XITS-BoldItalic.woff2'), url('XITS-BoldItalic.woff'); + font-weight: bold; + font-style: italic; +} +@font-face { + font-family: XITS Math; + src: local('XITS Math'), local('XITSMath-Regular'), + url('XITSMath-Regular.woff2'), url('XITSMath-Regular.woff'); +} +@font-face { + font-family: XITS Math; + src: local('XITS Math Bold'), local('XITSMath-Bold'), + url('XITSMath-Bold.woff2'), url('XITSMathBold.woff'); + font-weight: bold; +} + +.htmlmathparagraph, m|mtext { + font-family: XITS; +} +m|math { + font-family: XITS Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +@font-feature-values XITS Math { @styleset { calligraphic: 1; } } +m|*.calligraphic { + font-variant-alternates: styleset(calligraphic); /* Recommended syntax */ + font-feature-settings: 'ss01'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'ss01'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'ss01'; /* Blink syntax */ +} diff --git a/io.sc.platform.lcdp.frontend/package.json b/io.sc.platform.lcdp.frontend/package.json index 29f61416..9c6d0b27 100644 --- a/io.sc.platform.lcdp.frontend/package.json +++ b/io.sc.platform.lcdp.frontend/package.json @@ -92,7 +92,7 @@ "luckyexcel": "1.0.1", "mockjs": "1.1.0", "pinia": "2.1.7", - "platform-core": "8.1.203", + "platform-core": "8.1.204", "quasar": "2.15.3", "tailwindcss": "3.4.3", "vue": "3.4.24", diff --git a/io.sc.platform.lcdp.frontend/public/index.html b/io.sc.platform.lcdp.frontend/public/index.html index bc996180..cd23f259 100644 --- a/io.sc.platform.lcdp.frontend/public/index.html +++ b/io.sc.platform.lcdp.frontend/public/index.html @@ -1,20 +1,27 @@ - + - - - + + + - - - - + + + + + + + - + @@ -26,9 +33,11 @@ -
-
- +
+ +
+ + @@ -68,7 +77,7 @@ -
正在加载, 请稍后......
+
正在加载, 请稍后......
diff --git a/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/Asana/mathfonts.css b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/Asana/mathfonts.css new file mode 100644 index 00000000..780d5344 --- /dev/null +++ b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/Asana/mathfonts.css @@ -0,0 +1,40 @@ +/* +Asana Math is released under the SIL Open Font License. See the files in this +directory for details. The font can be obtained from several TeX distributions +or package managers. The font does not seem to have a corresponding "non-MATH" +font, it is recommended to use a Palatino-like font for the surrounding text. + +The WOFF fonts have been obtained from +http://mirrors.ctan.org/fonts/ +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: Asana Math; + src: local('Asana Math'), local('Asana-Math'), + url('Asana-Math.woff2'), url('Asana-Math.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: Asana Math; +} +m|math { + font-family: Asana Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +@font-feature-values Asana Math { @stylistic { calligraphic: 1; } } +m|*.calligraphic { + font-variant-alternates: stylistic(calligraphic); /* Recommended syntax */ + font-feature-settings: 'salt'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'salt'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'salt'; /* Blink syntax */ +} diff --git a/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/Cambria/mathfonts.css b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/Cambria/mathfonts.css new file mode 100644 index 00000000..bcbb5386 --- /dev/null +++ b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/Cambria/mathfonts.css @@ -0,0 +1,56 @@ +/* +The proprietary Cambria fonts are installed by default on Microsoft Windows 7 +and higher and are provided with some other Microsoft products such as Office. +Some Web services may also provide them as Web fonts. For details, see + http://www.microsoft.com/typography/fonts/family.aspx?FID=291 + http://www.microsoft.com/typography/fonts/family.aspx?FID=360 +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +/* Uncomment and complete the URLs if you wish to use Web fonts */ +/* +@font-face { + font-family: Cambria; + src: local('Cambria'), url('...'); +} +@font-face { + font-family: Cambria; + src: local('Cambria Bold'), url('...'); + font-weight: bold; +} +@font-face { + font-family: Cambria; + src: local('Cambria Italic'), url('...'); + font-style: italic; +} +@font-face { + font-family: Cambria; + src: local('Cambria Bold Italic'), url('...'); + font-weight: bold; + font-style: italic; +} +@font-face { + font-family: Cambria Math; + src: local('Cambria Math'), url('...'); +} +*/ + +.htmlmathparagraph, m|mtext { + font-family: Cambria; +} +m|math { + font-family: Cambria Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* TODO: verify whether calligraphic letters are available in this font */ +m|*.calligraphic { +} diff --git a/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuMathTeXGyre.woff2 b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuMathTeXGyre.woff2 new file mode 100644 index 00000000..c74b7517 Binary files /dev/null and b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuMathTeXGyre.woff2 differ diff --git a/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif-Bold.woff2 b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif-Bold.woff2 new file mode 100644 index 00000000..c3620b3b Binary files /dev/null and b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif-Bold.woff2 differ diff --git a/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif-BoldItalic.woff2 b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif-BoldItalic.woff2 new file mode 100644 index 00000000..3d641e3d Binary files /dev/null and b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif-BoldItalic.woff2 differ diff --git a/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif-Italic.woff2 b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif-Italic.woff2 new file mode 100644 index 00000000..163819b5 Binary files /dev/null and b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif-Italic.woff2 differ diff --git a/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif.woff2 b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif.woff2 new file mode 100644 index 00000000..51776932 Binary files /dev/null and b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif.woff2 differ diff --git a/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/DejaVu/mathfonts.css b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/DejaVu/mathfonts.css new file mode 100644 index 00000000..ee48b1d3 --- /dev/null +++ b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/DejaVu/mathfonts.css @@ -0,0 +1,51 @@ +/* +Deja Vu is released under a Free License. See the files in this directory +for details. This fonts is available on most Linux distributions. +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: DejaVu Math TeX Gyre; + src: url('DejaVuMathTeXGyre.woff2'), url('DejaVuMathTeXGyre.woff'); +} +@font-face { + font-family: DejaVu Serif; + src: url('DejaVuSerif.woff2'), url('DejaVuSerif.woff'); +} +@font-face { + font-family: DejaVu Serif; + src: url('DejaVuSerif-Bold.woff2'), url('DejaVuSerif-Bold.woff'); + font-weight: bold; +} +@font-face { + font-family: DejaVu Serif; + src: url('DejaVuSerif-Italic.woff2'), url('DejaVuSerif-Italic.woff'); + font-style: italic; +} +@font-face { + font-family: DejaVu Serif; + src: url('DejaVuSerif-BoldItalic.woff2'), + url('DejaVuSerif-BoldItalic.woff'); + font-weight: bold; + font-style: italic; +} + +.htmlmathparagraph, m|mtext { + font-family: DejaVu Serif; +} +m|math { + font-family: DejaVu Math TeX Gyre; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* Calligraphic letters do not seem to be available */ +m|*.calligraphic { +} diff --git a/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/FiraMath/FiraMath-Regular.woff2 b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/FiraMath/FiraMath-Regular.woff2 new file mode 100644 index 00000000..c13030cd Binary files /dev/null and b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/FiraMath/FiraMath-Regular.woff2 differ diff --git a/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/FiraMath/mathfonts.css b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/FiraMath/mathfonts.css new file mode 100644 index 00000000..c05d74d6 --- /dev/null +++ b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/FiraMath/mathfonts.css @@ -0,0 +1,21 @@ +/* +The FiraMath font is released under the SIL Open Font License. See the files in +this directory for details. +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: Fira Math; + src: local('Fira Math'), local('FiraMath-Regular'), + url('FiraMath-Regular.woff2'), url('FiraMath-Regular.woff'); +} + +.htmlmathparagraph, m|mtext { + /* TODO: use FiraGO instead? */ + font-family: Fira Math; +} +m|math { + font-family: Fira Math; +} diff --git a/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenic.woff2 b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenic.woff2 new file mode 100644 index 00000000..3c27d39f Binary files /dev/null and b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenic.woff2 differ diff --git a/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicBold.woff2 b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicBold.woff2 new file mode 100644 index 00000000..e946d53e Binary files /dev/null and b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicBold.woff2 differ diff --git a/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicBoldIt.woff2 b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicBoldIt.woff2 new file mode 100644 index 00000000..0dd7d2ed Binary files /dev/null and b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicBoldIt.woff2 differ diff --git a/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicIt.woff2 b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicIt.woff2 new file mode 100644 index 00000000..e7dfb1d1 Binary files /dev/null and b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicIt.woff2 differ diff --git a/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicMath.woff2 b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicMath.woff2 new file mode 100644 index 00000000..2c488f2a Binary files /dev/null and b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicMath.woff2 differ diff --git a/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/mathfonts.css b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/mathfonts.css new file mode 100644 index 00000000..ea0116c9 --- /dev/null +++ b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/mathfonts.css @@ -0,0 +1,50 @@ +/* +The GFS Neohellenic fonts are released under the SIL Open Font License. See the +files in this directory for details. +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + + +@font-face { + font-family: GFS Neohellenic; + src: local('GFSNeohellenic-Regular'), + url('GFSNeohellenic.woff2'), + url('GFSNeohellenic.woff'); +} +@font-face { + font-family: GFS Neohellenic; + src: local('GFSNeohellenic-Bold'), + url('GFSNeohellenic-Bold.woff2'), + url('GFSNeohellenic-Bold.woff'); + font-weight: bold; +} +@font-face { + font-family: GFS Neohellenic; + src: local('GFSNeohellenic-Italic'), + url('GFSNeohellenic-It.woff2'), + url('GFSNeohellenic-It.woff'); + font-style: italic; +} +@font-face { + font-family: GFS Neohellenic; + src: local('GFSNeohellenic-BoldItalic'), + url('GFSNeohellenic-BoldIt.woff2'), + url('GFSNeohellenic-BoldIt.woff'); + font-weight: bold; + font-style: italic; +} +@font-face { + font-family: GFS Neohellenic Math; + src: local('GFSNeohellenicMath'), + url('GFSNeohellenicMath.woff2'), + url('GFSNeohellenicMath.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: GFS Neohellenic; +} +m|math { + font-family: GFS Neohellenic Math; +} diff --git a/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/GNUFreeSans/mathfonts.css b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/GNUFreeSans/mathfonts.css new file mode 100644 index 00000000..cbf76d3d --- /dev/null +++ b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/GNUFreeSans/mathfonts.css @@ -0,0 +1,47 @@ +/* +GNU FreeSans is released under the GNU General Public License. See the files in +this directory for details. OpenType MATH support is only available in the +development version. +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: FreeSans; + src: url('FreeSans.woff2'), url('FreeSans.woff'); +} +@font-face { + font-family: FreeSans; + src: url('FreeSansBold.woff2'), url('FreeSansBold.woff'); + font-weight: bold; +} +@font-face { + font-family: FreeSans; + src: url('FreeSansOblique.woff2'), url('FreeSansOblique.woff'); + font-style: oblique; +} +@font-face { + font-family: FreeSans; + src: url('FreeSansBoldOblique.woff2'), url('FreeSansBoldOblique.woff'); + font-weight: bold; + font-style: oblique; +} + +.htmlmathparagraph, m|mtext { + font-family: FreeSans; +} +m|math { + font-family: FreeSans; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* Calligraphic letters do not seem to be available */ +m|*.calligraphic { +} diff --git a/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/GNUFreeSerif/mathfonts.css b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/GNUFreeSerif/mathfonts.css new file mode 100644 index 00000000..9572fbfe --- /dev/null +++ b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/GNUFreeSerif/mathfonts.css @@ -0,0 +1,47 @@ +/* +GNU FreeSerif is released under the GNU General Public License. See the files in +this directory for details. OpenType MATH support is only available in the +development version. +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: FreeSerif; + src: url('FreeSerif.woff2'), url('FreeSerif.woff'); +} +@font-face { + font-family: FreeSerif; + src: url('FreeSerifBold.woff2'), url('FreeSerifBold.woff'); + font-weight: bold; +} +@font-face { + font-family: FreeSerif; + src: url('FreeSerifItalic.woff2'), url('FreeSerifItalic.woff'); + font-style: italic; +} +@font-face { + font-family: FreeSerif; + src: url('FreeSerifBoldItalic.woff2'), url('FreeSerifBoldItalic.woff'); + font-weight: bold; + font-style: italic; +} + +.htmlmathparagraph, m|mtext { + font-family: FreeSerif; +} +m|math { + font-family: FreeSerif; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* Calligraphic letters do not seem to be available */ +m|*.calligraphic { +} diff --git a/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/Garamond/EBGaramond12-Italic.woff2 b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/Garamond/EBGaramond12-Italic.woff2 new file mode 100644 index 00000000..21fe6278 Binary files /dev/null and b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/Garamond/EBGaramond12-Italic.woff2 differ diff --git a/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/Garamond/EBGaramond12-Regular.woff2 b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/Garamond/EBGaramond12-Regular.woff2 new file mode 100644 index 00000000..9d8c372e Binary files /dev/null and b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/Garamond/EBGaramond12-Regular.woff2 differ diff --git a/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/Garamond/Garamond-Math.woff2 b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/Garamond/Garamond-Math.woff2 new file mode 100644 index 00000000..72102330 Binary files /dev/null and b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/Garamond/Garamond-Math.woff2 differ diff --git a/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/Garamond/mathfonts.css b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/Garamond/mathfonts.css new file mode 100644 index 00000000..f8b1e9df --- /dev/null +++ b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/Garamond/mathfonts.css @@ -0,0 +1,35 @@ +/* +The Garamond fonts are released under the SIL Open Font License. See the files +in this directory for details. +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + + +@font-face { + font-family: EB Garamond; + src: local('EBGaramond12-Regular'), + url('EBGaramond12-Regular.woff2'), + url('EBGaramond12-Regular.woff'); +} +@font-face { + font-family: EB Garamond; + src: local('EBGaramond12-Italic'), + url('EBGaramond12-Italic.woff2'), + url('EBGaramond12-Italic.woff'); + font-style: italic; +} +@font-face { + font-family: Garamond Math; + src: local('Garamond-Math'), + url('Garamond-Math.woff2'), + url('Garamond-Math.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: EB Garamond; +} +m|math { + font-family: Garamond Math; +} diff --git a/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/LatinModern/latinmodern-math.woff2 b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/LatinModern/latinmodern-math.woff2 new file mode 100644 index 00000000..6110b17b Binary files /dev/null and b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/LatinModern/latinmodern-math.woff2 differ diff --git a/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/LatinModern/lmroman12-bold.woff2 b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/LatinModern/lmroman12-bold.woff2 new file mode 100644 index 00000000..df169efa Binary files /dev/null and b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/LatinModern/lmroman12-bold.woff2 differ diff --git a/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/LatinModern/lmroman12-italic.woff2 b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/LatinModern/lmroman12-italic.woff2 new file mode 100644 index 00000000..c4ef3ed4 Binary files /dev/null and b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/LatinModern/lmroman12-italic.woff2 differ diff --git a/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/LatinModern/lmroman12-regular.woff2 b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/LatinModern/lmroman12-regular.woff2 new file mode 100644 index 00000000..ae0f344e Binary files /dev/null and b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/LatinModern/lmroman12-regular.woff2 differ diff --git a/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/LatinModern/mathfonts.css b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/LatinModern/mathfonts.css new file mode 100644 index 00000000..b4b0ceeb --- /dev/null +++ b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/LatinModern/mathfonts.css @@ -0,0 +1,53 @@ +/* +The Latin Modern fonts are released under the GUST font license, which is +legally equivalent to the LaTeX Project Public License. See the files in this +directory for details. The fonts can be obtained from several TeX distributions +or package managers. + +The WOFF fonts have been obtained from +http://www.gust.org.pl/projects/e-foundry/ +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +/* Latin Modern Roman has various sizes. We use the generic name + "Latin Modern Roman" for the local versions and "LMRoman12" for the Web font. +*/ +@font-face { + font-family: LMRoman12; + src: url('lmroman12-regular.woff2'), url('lmroman12-regular.woff'); +} +@font-face { + font-family: LMRoman12; + src: url('lmroman12-bold.woff2'), url('lmroman12-bold.woff'); + font-weight: bold; +} +@font-face { + font-family: LMRoman12; + src: url('lmroman12-italic.woff2'), url('lmroman12-italic.woff'); + font-style: italic; +} +@font-face { + font-family: Latin Modern Math; + src: local('Latin Modern Math'), local('LatinModernMath-Regular'), + url('latinmodern-math.woff2'), url('latinmodern-math.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: Latin Modern Roman, LMRoman12; +} +m|math { + font-family: Latin Modern Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* Calligraphic letters do not seem to be available */ +m|*.calligraphic { +} diff --git a/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusmath-regular.woff2 b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusmath-regular.woff2 new file mode 100644 index 00000000..c76bab8c Binary files /dev/null and b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusmath-regular.woff2 differ diff --git a/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-bold.woff2 b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-bold.woff2 new file mode 100644 index 00000000..34b9f93b Binary files /dev/null and b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-bold.woff2 differ diff --git a/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-bolditalic.woff2 b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-bolditalic.woff2 new file mode 100644 index 00000000..19fbf7b9 Binary files /dev/null and b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-bolditalic.woff2 differ diff --git a/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-italic.woff2 b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-italic.woff2 new file mode 100644 index 00000000..dd20fdcf Binary files /dev/null and b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-italic.woff2 differ diff --git a/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-regular.woff2 b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-regular.woff2 new file mode 100644 index 00000000..a7ef60ef Binary files /dev/null and b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-regular.woff2 differ diff --git a/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/Libertinus/mathfonts.css b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/Libertinus/mathfonts.css new file mode 100644 index 00000000..fe6d41c2 --- /dev/null +++ b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/Libertinus/mathfonts.css @@ -0,0 +1,61 @@ +/* +The Libertinus fonts are released under the SIL Open Font and GPL Licenses. See +the files in this directory for details. +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: Libertinus Serif; + src: local('Libertinus Serif'), local('LibertinusSerif'), + url('libertinusserif-regular.woff2'), + url('libertinusserif-regular.woff'); +} +@font-face { + font-family: Libertinus Serif; + src: local('Libertinus Serif Bold'), local('LibertinusSerif-Bold'), + url('libertinusserif-bold.woff2'), + url('libertinusserif-bold.woff'); + font-weight: bold; +} +@font-face { + font-family: Libertinus Serif; + src: local('Libertinus Serif Italic'), local('LibertinusSerif-Italic'), + url('libertinusserif-italic.woff2'), + url('libertinusserif-italic.woff'); + font-style: italic; +} +@font-face { + font-family: Libertinus Serif; + src: local('Libertinus Serif Bold Italic'), + local('LibertinusSerif-BoldItalic'), + url('libertinusserif-bolditalic.woff2'), + url('libertinusserif-bolditalic.woff'); + font-weight: bold; + font-style: italic; +} +@font-face { + font-family: Libertinus Math; + src: local('Libertinus Math'), local('LibertinusMath'), + url('libertinusmath-regular.woff2'), + url('libertinusmath-regular.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: Libertinus Serif; +} +m|math { + font-family: Libertinus Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* No math script */ +m|*.calligraphic { +} diff --git a/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/LucidaBright/mathfonts.css b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/LucidaBright/mathfonts.css new file mode 100644 index 00000000..5f056577 --- /dev/null +++ b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/LucidaBright/mathfonts.css @@ -0,0 +1,58 @@ +/* +The commercial Lucida Bright fonts can be obtained from +http://tug.org/store/lucida/opentype.html and some Web services might +provide them as Web fonts. See also + http://www.microsoft.com/typography/fonts/family.aspx?FID=186 + http://www.microsoft.com/typography/fonts/family.aspx?FID=217 + +Warning: The CSS rules below have not been tested. +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +/* Uncomment and complete the URLs if you wish to use Web fonts */ +/* +@font-face { + font-family: Lucida Bright; + src: local('Lucida Bright'), url('...'); +} +@font-face { + font-family: Lucida Bright; + src: local('Lucida Bright Demibold'), url('...'); + font-weight: bolder; +} +@font-face { + font-family: Lucida Bright; + src: local('Lucida Bright Italic'), url('...'); + font-style: italic; +} +@font-face { + font-family: Lucida Bright; + src: local('Lucida Bright Demibold Italic'), url('...'); + font-weight: bolder; + font-style: italic; +} +@font-face { + font-family: Lucida Bright Math; + src: local('Lucida Bright Math'), url('...'); +} +*/ + +.htmlmathparagraph, m|mtext { + font-family: Lucida Bright; +} +m|math { + font-family: Lucida Bright Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* TODO: verify whether calligraphic letters are available in this font */ +m|*.calligraphic { +} diff --git a/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/Minion/mathfonts.css b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/Minion/mathfonts.css new file mode 100644 index 00000000..640b0eaf --- /dev/null +++ b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/Minion/mathfonts.css @@ -0,0 +1,37 @@ +/* +The commercial Minion Math fonts and can be obtained from +http://www.typoma.com/en/fonts.html and some Web services might provide them as +Web fonts. + +Warning: The CSS rules below have not been tested. More rules should probably +be added to make this work correctly. +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +/* Uncomment and complete the URLs if you wish to use Web fonts */ +/* +@font-face { + font-family: Minion Math; + src: local('Minion Math'), url('...'); +} +*/ + +.htmlmathparagraph, m|mtext { + font-family: Minion Math; +} +m|math { + font-family: Minion Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* TODO: verify whether calligraphic letters are available in this font */ +m|*.calligraphic { +} diff --git a/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/NeoEuler/mathfonts.css b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/NeoEuler/mathfonts.css new file mode 100644 index 00000000..8df86bf5 --- /dev/null +++ b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/NeoEuler/mathfonts.css @@ -0,0 +1,34 @@ +/* +Neo Euler is released under the SIL Open Font License. See the files in this +directory for details. The font is still in development. The font does not seem +to have a corresponding "non-MATH" font. + +The WOFF fonts have been obtained from +https://github.com/khaledhosny/euler-otf/ +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: Neo Euler; + src: local('Neo Euler'), url('euler.woff2'), url('euler.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: Neo Euler; +} +m|math { + font-family: Neo Euler; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* Calligraphic letters do not seem to be available */ +m|*.calligraphic { +} diff --git a/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoMath-Regular.woff2 b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoMath-Regular.woff2 new file mode 100644 index 00000000..279a98f0 Binary files /dev/null and b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoMath-Regular.woff2 differ diff --git a/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-Bold.woff2 b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-Bold.woff2 new file mode 100644 index 00000000..e4394884 Binary files /dev/null and b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-Bold.woff2 differ diff --git a/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-BoldItalic.woff2 b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-BoldItalic.woff2 new file mode 100644 index 00000000..0dc0baed Binary files /dev/null and b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-BoldItalic.woff2 differ diff --git a/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-Italic.woff2 b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-Italic.woff2 new file mode 100644 index 00000000..5594de32 Binary files /dev/null and b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-Italic.woff2 differ diff --git a/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-Regular.woff2 b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-Regular.woff2 new file mode 100644 index 00000000..263c488a Binary files /dev/null and b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-Regular.woff2 differ diff --git a/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/STIX/mathfonts.css b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/STIX/mathfonts.css new file mode 100644 index 00000000..4b287cee --- /dev/null +++ b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/STIX/mathfonts.css @@ -0,0 +1,69 @@ +/* +The STIX fonts are released under the SIL Open Font License. See the files in +this directory for details. The font can be obtained from several TeX +distributions or package managers. + +The WOFF fonts have been obtained from +http://downloads.sourceforge.net/project/stixfonts/ +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + + +@font-face { + font-family: STIX Two Text; + src: local('STIXTwoText'), + url('STIXTwoText-Regular.woff2'), + url('STIXTwoText-Regular.woff'); +} +@font-face { + font-family: STIX Two Text; + src: local('STIXTwoText-Bold'), + url('STIXTwoText-Bold.woff2'), + url('STIXTwoText-Bold.woff'); + font-weight: bold; +} +@font-face { + font-family: STIX Two Text; + src: local('STIXTwoText-Italic'), + url('STIXTwoText-Italic.woff2'), + url('STIXTwoText-Italic.woff'); + font-style: italic; +} +@font-face { + font-family: STIX Two Text; + src: local('STIXTwoText-BoldItalic'), + url('STIXTwoText-BoldItalic.woff2'), + url('STIXTwoText-BoldItalic.woff'); + font-weight: bold; + font-style: italic; +} +@font-face { + font-family: STIX Two Math; + src: local('STIXTwoMath-Regular'), + url('STIXTwoMath-Regular.woff2'), + url('STIXTwoMath-Regular.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: STIX Two Text; +} +m|math { + font-family: STIX Two Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +@font-feature-values STIX Two Math { @styleset { calligraphic: 1; } } +m|*.calligraphic { + font-variant-alternates: styleset(calligraphic); /* Recommended syntax */ + font-feature-settings: 'ss01'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'ss01'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'ss01'; /* Blink syntax */ +} diff --git a/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/mathfonts.css b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/mathfonts.css new file mode 100644 index 00000000..f7bbeaa0 --- /dev/null +++ b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/mathfonts.css @@ -0,0 +1,62 @@ +/* +The TeX Gyre Bonum fonts are released under the GUST font license, which is +legally equivalent to the LaTeX Project Public License. See the files in this +directory for details. The fonts can be obtained from several TeX distributions +or package managers. + +The WOFF fonts have been obtained from +http://www.gust.org.pl/projects/e-foundry/ +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: TeX Gyre Bonum; + src: local('TeXGyreBonum-Regular'), + url('texgyrebonum-regular.woff2'), url('texgyrebonum-regular.woff'); +} +@font-face { + font-family: TeX Gyre Bonum; + src: local('TeXGyreBonum-Bold'), + url('texgyrebonum-bold.woff2'), url('texgyrebonum-bold.woff'); + font-weight: bold; +} +@font-face { + font-family: TeX Gyre Bonum; + src: local('TeXGyreBonum-Italic'), + url('texgyrebonum-italic.woff2'), url('texgyrebonum-italic.woff'); + font-style: italic; +} +@font-face { + font-family: TeX Gyre Bonum; + src: local('TeXGyreBonum-BoldItalic'), + url('texgyrebonum-bolditalic.woff2'), + url('texgyrebonum-bolditalic.woff'); + font-weight: bold; + font-style: italic; +} +@font-face { + font-family: TeX Gyre Bonum Math; + src: local('TeX Gyre Bonum Math'), local('TeXGyreBonumMath-Regular'), + url('texgyrebonum-math.woff2'), + url('texgyrebonum-math.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: TeX Gyre Bonum; +} +m|math { + font-family: TeX Gyre Bonum Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* Calligraphic letters do not seem to be available */ +m|*.calligraphic { +} diff --git a/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-bold.woff2 b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-bold.woff2 new file mode 100644 index 00000000..013ca1bd Binary files /dev/null and b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-bold.woff2 differ diff --git a/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-bolditalic.woff2 b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-bolditalic.woff2 new file mode 100644 index 00000000..ae18fb8b Binary files /dev/null and b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-bolditalic.woff2 differ diff --git a/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-italic.woff2 b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-italic.woff2 new file mode 100644 index 00000000..42742390 Binary files /dev/null and b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-italic.woff2 differ diff --git a/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-math.woff2 b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-math.woff2 new file mode 100644 index 00000000..d16a1cea Binary files /dev/null and b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-math.woff2 differ diff --git a/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-regular.woff2 b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-regular.woff2 new file mode 100644 index 00000000..8aede98d Binary files /dev/null and b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-regular.woff2 differ diff --git a/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/TeXGyrePagella/mathfonts.css b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/TeXGyrePagella/mathfonts.css new file mode 100644 index 00000000..394686b0 --- /dev/null +++ b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/TeXGyrePagella/mathfonts.css @@ -0,0 +1,63 @@ +/* +The TeX Gyre Pagella fonts are released under the GUST font license, which is +legally equivalent to the LaTeX Project Public License. See the files in this +directory for details. The fonts can be obtained from several TeX distributions +or package managers. + +The WOFF fonts have been obtained from +http://www.gust.org.pl/projects/e-foundry/ +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: TeX Gyre Pagella; + src: local('TeXGyrePagella-Regular'), + url('texgyrepagella-regular.woff2'), + url('texgyrepagella-regular.woff'); +} +@font-face { + font-family: TeX Gyre Pagella; + src: local('TeXGyrePagella-Bold'), + url('texgyrepagella-bold.woff2'), url('texgyrepagella-bold.woff'); + font-weight: bold; +} +@font-face { + font-family: TeX Gyre Pagella; + src: local('TeXGyrePagella-Italic'), + url('texgyrepagella-italic.woff2'), url('texgyrepagella-italic.woff'); + font-style: italic; +} +@font-face { + font-family: TeX Gyre Pagella; + src: local('TeXGyrePagella-BoldItalic'), + url('texgyrepagella-bolditalic.woff2'), + url('texgyrepagella-bolditalic.woff'); + font-weight: bold; + font-style: italic; +} +@font-face { + font-family: TeX Gyre Pagella Math; + src: local('TeX Gyre Pagella Math'), local('TeXGyrePagellaMath-Regular'), + url('texgyrepagella-math.woff2'), + url('texgyrepagella-math.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: TeX Gyre Pagella; +} +m|math { + font-family: TeX Gyre Pagella Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* Calligraphic letters do not seem to be available */ +m|*.calligraphic { +} diff --git a/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/TeXGyrePagella/texgyrepagella-math.woff2 b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/TeXGyrePagella/texgyrepagella-math.woff2 new file mode 100644 index 00000000..0879c80a Binary files /dev/null and b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/TeXGyrePagella/texgyrepagella-math.woff2 differ diff --git a/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/mathfonts.css b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/mathfonts.css new file mode 100644 index 00000000..41c28c6b --- /dev/null +++ b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/mathfonts.css @@ -0,0 +1,61 @@ +/* +The TeX Gyre Schola fonts are released under the GUST font license, which is +legally equivalent to the LaTeX Project Public License. See the files in this +directory for details. The fonts can be obtained from several TeX distributions +or package managers. + +The WOFF fonts have been obtained from +http://www.gust.org.pl/projects/e-foundry/ +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: TeX Gyre Schola; + src: local('TeXGyreSchola-Regular'), + url('texgyreschola-regular.woff2'), url('texgyreschola-regular.woff'); +} +@font-face { + font-family: TeX Gyre Schola; + src: local('TeXGyreSchola-Bold'), + url('texgyreschola-bold.woff2'), url('texgyreschola-bold.woff'); + font-weight: bold; +} +@font-face { + font-family: TeX Gyre Schola; + src: local('TeXGyreSchola-Italic'), + url('texgyreschola-italic.woff2'), url('texgyreschola-italic.woff'); + font-style: italic; +} +@font-face { + font-family: TeX Gyre Schola; + src: local('TeXGyreSchola-BoldItalic'), + url('texgyreschola-bolditalic.woff2'), + url('texgyreschola-bolditalic.woff'); + font-weight: bold; + font-style: italic; +} +@font-face { + font-family: TeX Gyre Schola Math; + src: local('TeX Gyre Schola Math'), local('TeXGyreScholaMath-Regular'), + url('texgyreschola-math.woff2'), url('texgyreschola-math.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: TeX Gyre Schola; +} +m|math { + font-family: TeX Gyre Schola Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* Calligraphic letters do not seem to be available */ +m|*.calligraphic { +} diff --git a/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-bold.woff2 b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-bold.woff2 new file mode 100644 index 00000000..485f2c5b Binary files /dev/null and b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-bold.woff2 differ diff --git a/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-bolditalic.woff2 b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-bolditalic.woff2 new file mode 100644 index 00000000..6c8c3f52 Binary files /dev/null and b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-bolditalic.woff2 differ diff --git a/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-italic.woff2 b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-italic.woff2 new file mode 100644 index 00000000..afe8d4ef Binary files /dev/null and b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-italic.woff2 differ diff --git a/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-math.woff2 b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-math.woff2 new file mode 100644 index 00000000..674c4281 Binary files /dev/null and b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-math.woff2 differ diff --git a/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-regular.woff2 b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-regular.woff2 new file mode 100644 index 00000000..0dbec85e Binary files /dev/null and b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-regular.woff2 differ diff --git a/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/mathfonts.css b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/mathfonts.css new file mode 100644 index 00000000..d7a65374 --- /dev/null +++ b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/mathfonts.css @@ -0,0 +1,60 @@ +/* +The TeX Gyre Termes fonts are released under the GUST font license, which is +legally equivalent to the LaTeX Project Public License. See the files in this +directory for details. The fonts can be obtained from several TeX distributions +or package managers. + +The WOFF fonts have been obtained from +http://www.gust.org.pl/projects/e-foundry/ +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: TeX Gyre Termes; + src: local('TeXGyreTermes-Regular'), + url('texgyretermes-regular.woff2'), url('texgyretermes-regular.woff'); +} +@font-face { + font-family: TeX Gyre Termes; + src: local('TeXGyreTermes-Bold'), + url('texgyretermes-bold.woff2'), url('texgyretermes-bold.woff'); + font-weight: bold; +} +@font-face { + font-family: TeX Gyre Termes; + src: local('TeXGyreTermes-Italic'), + url('texgyretermes-italic.woff2'), url('texgyretermes-italic.woff'); + font-style: italic; +} +@font-face { + font-family: TeX Gyre Termes; + src: local('TeXGyreTermes-BoldItalic'), + url('texgyretermes-bolditalic.woff2'), url('texgyretermes-bolditalic.woff'); + font-weight: bold; + font-style: italic; +} +@font-face { + font-family: TeX Gyre Termes Math; + src: local('TeX Gyre Termes Math'), local('TeXGyreTermesMath-Regular'), + url('texgyretermes-math.woff2'), url('texgyretermes-math.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: TeX Gyre Termes; +} +m|math { + font-family: TeX Gyre Termes Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* Calligraphic letters do not seem to be available */ +m|*.calligraphic { +} diff --git a/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-bold.woff2 b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-bold.woff2 new file mode 100644 index 00000000..a346eb13 Binary files /dev/null and b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-bold.woff2 differ diff --git a/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-bolditalic.woff2 b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-bolditalic.woff2 new file mode 100644 index 00000000..571a2f07 Binary files /dev/null and b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-bolditalic.woff2 differ diff --git a/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-italic.woff2 b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-italic.woff2 new file mode 100644 index 00000000..401cd0ec Binary files /dev/null and b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-italic.woff2 differ diff --git a/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-math.woff2 b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-math.woff2 new file mode 100644 index 00000000..31c9adc2 Binary files /dev/null and b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-math.woff2 differ diff --git a/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-regular.woff2 b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-regular.woff2 new file mode 100644 index 00000000..1a15f9ad Binary files /dev/null and b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-regular.woff2 differ diff --git a/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-Bold.woff2 b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-Bold.woff2 new file mode 100644 index 00000000..7a12dd34 Binary files /dev/null and b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-Bold.woff2 differ diff --git a/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-BoldItalic.woff2 b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-BoldItalic.woff2 new file mode 100644 index 00000000..c4daad18 Binary files /dev/null and b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-BoldItalic.woff2 differ diff --git a/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-Italic.woff2 b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-Italic.woff2 new file mode 100644 index 00000000..9d434203 Binary files /dev/null and b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-Italic.woff2 differ diff --git a/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-Regular.woff2 b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-Regular.woff2 new file mode 100644 index 00000000..9acf905c Binary files /dev/null and b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-Regular.woff2 differ diff --git a/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/XITS/XITSMath-Bold.woff2 b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/XITS/XITSMath-Bold.woff2 new file mode 100644 index 00000000..c93f7230 Binary files /dev/null and b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/XITS/XITSMath-Bold.woff2 differ diff --git a/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/XITS/XITSMath-Regular.woff2 b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/XITS/XITSMath-Regular.woff2 new file mode 100644 index 00000000..fa9345cb Binary files /dev/null and b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/XITS/XITSMath-Regular.woff2 differ diff --git a/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/XITS/mathfonts.css b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/XITS/mathfonts.css new file mode 100644 index 00000000..9b62b7c3 --- /dev/null +++ b/io.sc.platform.lcdp.frontend/public/webjars/mathfonts/1.0.0/XITS/mathfonts.css @@ -0,0 +1,69 @@ +/* +XITS is released under the SIL Open Font License. See the files in this +directory for details. The font can be obtained from several TeX distributions +or package managers. + +The WOFF fonts have been obtained from +http://mirrors.ctan.org/fonts/ +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: XITS; + src: local('XITS'), + url('XITS-Regular.woff2'), url('XITS-Regular.woff'); +} +@font-face { + font-family: XITS; + src: local('XITS Bold'), local('XITS-Bold'), + url('XITS-Bold.woff2'), url('XITS-Bold.woff'); + font-weight: bold; +} +@font-face { + font-family: XITS; + src: local('XITS Italic'), local('XITS-Italic'), + url('XITS-Italic.woff2'), url('XITS-Italic.woff'); + font-style: italic; +} +@font-face { + font-family: XITS; + src: local('XITS Bold Italic'), local('XITS-BoldItalic'), + url('XITS-BoldItalic.woff2'), url('XITS-BoldItalic.woff'); + font-weight: bold; + font-style: italic; +} +@font-face { + font-family: XITS Math; + src: local('XITS Math'), local('XITSMath-Regular'), + url('XITSMath-Regular.woff2'), url('XITSMath-Regular.woff'); +} +@font-face { + font-family: XITS Math; + src: local('XITS Math Bold'), local('XITSMath-Bold'), + url('XITSMath-Bold.woff2'), url('XITSMathBold.woff'); + font-weight: bold; +} + +.htmlmathparagraph, m|mtext { + font-family: XITS; +} +m|math { + font-family: XITS Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +@font-feature-values XITS Math { @styleset { calligraphic: 1; } } +m|*.calligraphic { + font-variant-alternates: styleset(calligraphic); /* Recommended syntax */ + font-feature-settings: 'ss01'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'ss01'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'ss01'; /* Blink syntax */ +} diff --git a/io.sc.platform.mvc.frontend/package.json b/io.sc.platform.mvc.frontend/package.json index cd8ca17a..7cfb000e 100644 --- a/io.sc.platform.mvc.frontend/package.json +++ b/io.sc.platform.mvc.frontend/package.json @@ -92,7 +92,7 @@ "luckyexcel": "1.0.1", "mockjs": "1.1.0", "pinia": "2.1.7", - "platform-core": "8.1.203", + "platform-core": "8.1.204", "quasar": "2.15.3", "tailwindcss": "3.4.3", "vue": "3.4.24", diff --git a/io.sc.platform.mvc.frontend/public/index.html b/io.sc.platform.mvc.frontend/public/index.html index bc996180..cd23f259 100644 --- a/io.sc.platform.mvc.frontend/public/index.html +++ b/io.sc.platform.mvc.frontend/public/index.html @@ -1,20 +1,27 @@ - + - - - + + + - - - - + + + + + + + - + @@ -26,9 +33,11 @@ -
-
- +
+ +
+ + @@ -68,7 +77,7 @@ -
正在加载, 请稍后......
+
正在加载, 请稍后......
diff --git a/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/Asana/mathfonts.css b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/Asana/mathfonts.css new file mode 100644 index 00000000..780d5344 --- /dev/null +++ b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/Asana/mathfonts.css @@ -0,0 +1,40 @@ +/* +Asana Math is released under the SIL Open Font License. See the files in this +directory for details. The font can be obtained from several TeX distributions +or package managers. The font does not seem to have a corresponding "non-MATH" +font, it is recommended to use a Palatino-like font for the surrounding text. + +The WOFF fonts have been obtained from +http://mirrors.ctan.org/fonts/ +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: Asana Math; + src: local('Asana Math'), local('Asana-Math'), + url('Asana-Math.woff2'), url('Asana-Math.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: Asana Math; +} +m|math { + font-family: Asana Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +@font-feature-values Asana Math { @stylistic { calligraphic: 1; } } +m|*.calligraphic { + font-variant-alternates: stylistic(calligraphic); /* Recommended syntax */ + font-feature-settings: 'salt'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'salt'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'salt'; /* Blink syntax */ +} diff --git a/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/Cambria/mathfonts.css b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/Cambria/mathfonts.css new file mode 100644 index 00000000..bcbb5386 --- /dev/null +++ b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/Cambria/mathfonts.css @@ -0,0 +1,56 @@ +/* +The proprietary Cambria fonts are installed by default on Microsoft Windows 7 +and higher and are provided with some other Microsoft products such as Office. +Some Web services may also provide them as Web fonts. For details, see + http://www.microsoft.com/typography/fonts/family.aspx?FID=291 + http://www.microsoft.com/typography/fonts/family.aspx?FID=360 +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +/* Uncomment and complete the URLs if you wish to use Web fonts */ +/* +@font-face { + font-family: Cambria; + src: local('Cambria'), url('...'); +} +@font-face { + font-family: Cambria; + src: local('Cambria Bold'), url('...'); + font-weight: bold; +} +@font-face { + font-family: Cambria; + src: local('Cambria Italic'), url('...'); + font-style: italic; +} +@font-face { + font-family: Cambria; + src: local('Cambria Bold Italic'), url('...'); + font-weight: bold; + font-style: italic; +} +@font-face { + font-family: Cambria Math; + src: local('Cambria Math'), url('...'); +} +*/ + +.htmlmathparagraph, m|mtext { + font-family: Cambria; +} +m|math { + font-family: Cambria Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* TODO: verify whether calligraphic letters are available in this font */ +m|*.calligraphic { +} diff --git a/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif-Bold.woff2 b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif-Bold.woff2 new file mode 100644 index 00000000..c3620b3b Binary files /dev/null and b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif-Bold.woff2 differ diff --git a/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif-BoldItalic.woff2 b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif-BoldItalic.woff2 new file mode 100644 index 00000000..3d641e3d Binary files /dev/null and b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif-BoldItalic.woff2 differ diff --git a/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif-Italic.woff2 b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif-Italic.woff2 new file mode 100644 index 00000000..163819b5 Binary files /dev/null and b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif-Italic.woff2 differ diff --git a/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif.woff2 b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif.woff2 new file mode 100644 index 00000000..51776932 Binary files /dev/null and b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif.woff2 differ diff --git a/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/DejaVu/mathfonts.css b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/DejaVu/mathfonts.css new file mode 100644 index 00000000..ee48b1d3 --- /dev/null +++ b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/DejaVu/mathfonts.css @@ -0,0 +1,51 @@ +/* +Deja Vu is released under a Free License. See the files in this directory +for details. This fonts is available on most Linux distributions. +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: DejaVu Math TeX Gyre; + src: url('DejaVuMathTeXGyre.woff2'), url('DejaVuMathTeXGyre.woff'); +} +@font-face { + font-family: DejaVu Serif; + src: url('DejaVuSerif.woff2'), url('DejaVuSerif.woff'); +} +@font-face { + font-family: DejaVu Serif; + src: url('DejaVuSerif-Bold.woff2'), url('DejaVuSerif-Bold.woff'); + font-weight: bold; +} +@font-face { + font-family: DejaVu Serif; + src: url('DejaVuSerif-Italic.woff2'), url('DejaVuSerif-Italic.woff'); + font-style: italic; +} +@font-face { + font-family: DejaVu Serif; + src: url('DejaVuSerif-BoldItalic.woff2'), + url('DejaVuSerif-BoldItalic.woff'); + font-weight: bold; + font-style: italic; +} + +.htmlmathparagraph, m|mtext { + font-family: DejaVu Serif; +} +m|math { + font-family: DejaVu Math TeX Gyre; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* Calligraphic letters do not seem to be available */ +m|*.calligraphic { +} diff --git a/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/FiraMath/FiraMath-Regular.woff2 b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/FiraMath/FiraMath-Regular.woff2 new file mode 100644 index 00000000..c13030cd Binary files /dev/null and b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/FiraMath/FiraMath-Regular.woff2 differ diff --git a/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/FiraMath/mathfonts.css b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/FiraMath/mathfonts.css new file mode 100644 index 00000000..c05d74d6 --- /dev/null +++ b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/FiraMath/mathfonts.css @@ -0,0 +1,21 @@ +/* +The FiraMath font is released under the SIL Open Font License. See the files in +this directory for details. +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: Fira Math; + src: local('Fira Math'), local('FiraMath-Regular'), + url('FiraMath-Regular.woff2'), url('FiraMath-Regular.woff'); +} + +.htmlmathparagraph, m|mtext { + /* TODO: use FiraGO instead? */ + font-family: Fira Math; +} +m|math { + font-family: Fira Math; +} diff --git a/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenic.woff2 b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenic.woff2 new file mode 100644 index 00000000..3c27d39f Binary files /dev/null and b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenic.woff2 differ diff --git a/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicBold.woff2 b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicBold.woff2 new file mode 100644 index 00000000..e946d53e Binary files /dev/null and b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicBold.woff2 differ diff --git a/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicBoldIt.woff2 b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicBoldIt.woff2 new file mode 100644 index 00000000..0dd7d2ed Binary files /dev/null and b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicBoldIt.woff2 differ diff --git a/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicIt.woff2 b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicIt.woff2 new file mode 100644 index 00000000..e7dfb1d1 Binary files /dev/null and b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicIt.woff2 differ diff --git a/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicMath.woff2 b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicMath.woff2 new file mode 100644 index 00000000..2c488f2a Binary files /dev/null and b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicMath.woff2 differ diff --git a/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/mathfonts.css b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/mathfonts.css new file mode 100644 index 00000000..ea0116c9 --- /dev/null +++ b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/mathfonts.css @@ -0,0 +1,50 @@ +/* +The GFS Neohellenic fonts are released under the SIL Open Font License. See the +files in this directory for details. +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + + +@font-face { + font-family: GFS Neohellenic; + src: local('GFSNeohellenic-Regular'), + url('GFSNeohellenic.woff2'), + url('GFSNeohellenic.woff'); +} +@font-face { + font-family: GFS Neohellenic; + src: local('GFSNeohellenic-Bold'), + url('GFSNeohellenic-Bold.woff2'), + url('GFSNeohellenic-Bold.woff'); + font-weight: bold; +} +@font-face { + font-family: GFS Neohellenic; + src: local('GFSNeohellenic-Italic'), + url('GFSNeohellenic-It.woff2'), + url('GFSNeohellenic-It.woff'); + font-style: italic; +} +@font-face { + font-family: GFS Neohellenic; + src: local('GFSNeohellenic-BoldItalic'), + url('GFSNeohellenic-BoldIt.woff2'), + url('GFSNeohellenic-BoldIt.woff'); + font-weight: bold; + font-style: italic; +} +@font-face { + font-family: GFS Neohellenic Math; + src: local('GFSNeohellenicMath'), + url('GFSNeohellenicMath.woff2'), + url('GFSNeohellenicMath.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: GFS Neohellenic; +} +m|math { + font-family: GFS Neohellenic Math; +} diff --git a/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/GNUFreeSans/mathfonts.css b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/GNUFreeSans/mathfonts.css new file mode 100644 index 00000000..cbf76d3d --- /dev/null +++ b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/GNUFreeSans/mathfonts.css @@ -0,0 +1,47 @@ +/* +GNU FreeSans is released under the GNU General Public License. See the files in +this directory for details. OpenType MATH support is only available in the +development version. +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: FreeSans; + src: url('FreeSans.woff2'), url('FreeSans.woff'); +} +@font-face { + font-family: FreeSans; + src: url('FreeSansBold.woff2'), url('FreeSansBold.woff'); + font-weight: bold; +} +@font-face { + font-family: FreeSans; + src: url('FreeSansOblique.woff2'), url('FreeSansOblique.woff'); + font-style: oblique; +} +@font-face { + font-family: FreeSans; + src: url('FreeSansBoldOblique.woff2'), url('FreeSansBoldOblique.woff'); + font-weight: bold; + font-style: oblique; +} + +.htmlmathparagraph, m|mtext { + font-family: FreeSans; +} +m|math { + font-family: FreeSans; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* Calligraphic letters do not seem to be available */ +m|*.calligraphic { +} diff --git a/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/GNUFreeSerif/mathfonts.css b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/GNUFreeSerif/mathfonts.css new file mode 100644 index 00000000..9572fbfe --- /dev/null +++ b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/GNUFreeSerif/mathfonts.css @@ -0,0 +1,47 @@ +/* +GNU FreeSerif is released under the GNU General Public License. See the files in +this directory for details. OpenType MATH support is only available in the +development version. +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: FreeSerif; + src: url('FreeSerif.woff2'), url('FreeSerif.woff'); +} +@font-face { + font-family: FreeSerif; + src: url('FreeSerifBold.woff2'), url('FreeSerifBold.woff'); + font-weight: bold; +} +@font-face { + font-family: FreeSerif; + src: url('FreeSerifItalic.woff2'), url('FreeSerifItalic.woff'); + font-style: italic; +} +@font-face { + font-family: FreeSerif; + src: url('FreeSerifBoldItalic.woff2'), url('FreeSerifBoldItalic.woff'); + font-weight: bold; + font-style: italic; +} + +.htmlmathparagraph, m|mtext { + font-family: FreeSerif; +} +m|math { + font-family: FreeSerif; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* Calligraphic letters do not seem to be available */ +m|*.calligraphic { +} diff --git a/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/Garamond/EBGaramond12-Italic.woff2 b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/Garamond/EBGaramond12-Italic.woff2 new file mode 100644 index 00000000..21fe6278 Binary files /dev/null and b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/Garamond/EBGaramond12-Italic.woff2 differ diff --git a/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/Garamond/EBGaramond12-Regular.woff2 b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/Garamond/EBGaramond12-Regular.woff2 new file mode 100644 index 00000000..9d8c372e Binary files /dev/null and b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/Garamond/EBGaramond12-Regular.woff2 differ diff --git a/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/Garamond/Garamond-Math.woff2 b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/Garamond/Garamond-Math.woff2 new file mode 100644 index 00000000..72102330 Binary files /dev/null and b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/Garamond/Garamond-Math.woff2 differ diff --git a/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/Garamond/mathfonts.css b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/Garamond/mathfonts.css new file mode 100644 index 00000000..f8b1e9df --- /dev/null +++ b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/Garamond/mathfonts.css @@ -0,0 +1,35 @@ +/* +The Garamond fonts are released under the SIL Open Font License. See the files +in this directory for details. +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + + +@font-face { + font-family: EB Garamond; + src: local('EBGaramond12-Regular'), + url('EBGaramond12-Regular.woff2'), + url('EBGaramond12-Regular.woff'); +} +@font-face { + font-family: EB Garamond; + src: local('EBGaramond12-Italic'), + url('EBGaramond12-Italic.woff2'), + url('EBGaramond12-Italic.woff'); + font-style: italic; +} +@font-face { + font-family: Garamond Math; + src: local('Garamond-Math'), + url('Garamond-Math.woff2'), + url('Garamond-Math.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: EB Garamond; +} +m|math { + font-family: Garamond Math; +} diff --git a/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/LatinModern/latinmodern-math.woff2 b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/LatinModern/latinmodern-math.woff2 new file mode 100644 index 00000000..6110b17b Binary files /dev/null and b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/LatinModern/latinmodern-math.woff2 differ diff --git a/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/LatinModern/lmroman12-bold.woff2 b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/LatinModern/lmroman12-bold.woff2 new file mode 100644 index 00000000..df169efa Binary files /dev/null and b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/LatinModern/lmroman12-bold.woff2 differ diff --git a/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/LatinModern/lmroman12-italic.woff2 b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/LatinModern/lmroman12-italic.woff2 new file mode 100644 index 00000000..c4ef3ed4 Binary files /dev/null and b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/LatinModern/lmroman12-italic.woff2 differ diff --git a/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/LatinModern/lmroman12-regular.woff2 b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/LatinModern/lmroman12-regular.woff2 new file mode 100644 index 00000000..ae0f344e Binary files /dev/null and b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/LatinModern/lmroman12-regular.woff2 differ diff --git a/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/LatinModern/mathfonts.css b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/LatinModern/mathfonts.css new file mode 100644 index 00000000..b4b0ceeb --- /dev/null +++ b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/LatinModern/mathfonts.css @@ -0,0 +1,53 @@ +/* +The Latin Modern fonts are released under the GUST font license, which is +legally equivalent to the LaTeX Project Public License. See the files in this +directory for details. The fonts can be obtained from several TeX distributions +or package managers. + +The WOFF fonts have been obtained from +http://www.gust.org.pl/projects/e-foundry/ +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +/* Latin Modern Roman has various sizes. We use the generic name + "Latin Modern Roman" for the local versions and "LMRoman12" for the Web font. +*/ +@font-face { + font-family: LMRoman12; + src: url('lmroman12-regular.woff2'), url('lmroman12-regular.woff'); +} +@font-face { + font-family: LMRoman12; + src: url('lmroman12-bold.woff2'), url('lmroman12-bold.woff'); + font-weight: bold; +} +@font-face { + font-family: LMRoman12; + src: url('lmroman12-italic.woff2'), url('lmroman12-italic.woff'); + font-style: italic; +} +@font-face { + font-family: Latin Modern Math; + src: local('Latin Modern Math'), local('LatinModernMath-Regular'), + url('latinmodern-math.woff2'), url('latinmodern-math.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: Latin Modern Roman, LMRoman12; +} +m|math { + font-family: Latin Modern Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* Calligraphic letters do not seem to be available */ +m|*.calligraphic { +} diff --git a/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusmath-regular.woff2 b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusmath-regular.woff2 new file mode 100644 index 00000000..c76bab8c Binary files /dev/null and b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusmath-regular.woff2 differ diff --git a/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-bold.woff2 b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-bold.woff2 new file mode 100644 index 00000000..34b9f93b Binary files /dev/null and b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-bold.woff2 differ diff --git a/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-bolditalic.woff2 b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-bolditalic.woff2 new file mode 100644 index 00000000..19fbf7b9 Binary files /dev/null and b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-bolditalic.woff2 differ diff --git a/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-italic.woff2 b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-italic.woff2 new file mode 100644 index 00000000..dd20fdcf Binary files /dev/null and b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-italic.woff2 differ diff --git a/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-regular.woff2 b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-regular.woff2 new file mode 100644 index 00000000..a7ef60ef Binary files /dev/null and b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-regular.woff2 differ diff --git a/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/Libertinus/mathfonts.css b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/Libertinus/mathfonts.css new file mode 100644 index 00000000..fe6d41c2 --- /dev/null +++ b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/Libertinus/mathfonts.css @@ -0,0 +1,61 @@ +/* +The Libertinus fonts are released under the SIL Open Font and GPL Licenses. See +the files in this directory for details. +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: Libertinus Serif; + src: local('Libertinus Serif'), local('LibertinusSerif'), + url('libertinusserif-regular.woff2'), + url('libertinusserif-regular.woff'); +} +@font-face { + font-family: Libertinus Serif; + src: local('Libertinus Serif Bold'), local('LibertinusSerif-Bold'), + url('libertinusserif-bold.woff2'), + url('libertinusserif-bold.woff'); + font-weight: bold; +} +@font-face { + font-family: Libertinus Serif; + src: local('Libertinus Serif Italic'), local('LibertinusSerif-Italic'), + url('libertinusserif-italic.woff2'), + url('libertinusserif-italic.woff'); + font-style: italic; +} +@font-face { + font-family: Libertinus Serif; + src: local('Libertinus Serif Bold Italic'), + local('LibertinusSerif-BoldItalic'), + url('libertinusserif-bolditalic.woff2'), + url('libertinusserif-bolditalic.woff'); + font-weight: bold; + font-style: italic; +} +@font-face { + font-family: Libertinus Math; + src: local('Libertinus Math'), local('LibertinusMath'), + url('libertinusmath-regular.woff2'), + url('libertinusmath-regular.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: Libertinus Serif; +} +m|math { + font-family: Libertinus Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* No math script */ +m|*.calligraphic { +} diff --git a/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/LucidaBright/mathfonts.css b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/LucidaBright/mathfonts.css new file mode 100644 index 00000000..5f056577 --- /dev/null +++ b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/LucidaBright/mathfonts.css @@ -0,0 +1,58 @@ +/* +The commercial Lucida Bright fonts can be obtained from +http://tug.org/store/lucida/opentype.html and some Web services might +provide them as Web fonts. See also + http://www.microsoft.com/typography/fonts/family.aspx?FID=186 + http://www.microsoft.com/typography/fonts/family.aspx?FID=217 + +Warning: The CSS rules below have not been tested. +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +/* Uncomment and complete the URLs if you wish to use Web fonts */ +/* +@font-face { + font-family: Lucida Bright; + src: local('Lucida Bright'), url('...'); +} +@font-face { + font-family: Lucida Bright; + src: local('Lucida Bright Demibold'), url('...'); + font-weight: bolder; +} +@font-face { + font-family: Lucida Bright; + src: local('Lucida Bright Italic'), url('...'); + font-style: italic; +} +@font-face { + font-family: Lucida Bright; + src: local('Lucida Bright Demibold Italic'), url('...'); + font-weight: bolder; + font-style: italic; +} +@font-face { + font-family: Lucida Bright Math; + src: local('Lucida Bright Math'), url('...'); +} +*/ + +.htmlmathparagraph, m|mtext { + font-family: Lucida Bright; +} +m|math { + font-family: Lucida Bright Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* TODO: verify whether calligraphic letters are available in this font */ +m|*.calligraphic { +} diff --git a/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/Minion/mathfonts.css b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/Minion/mathfonts.css new file mode 100644 index 00000000..640b0eaf --- /dev/null +++ b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/Minion/mathfonts.css @@ -0,0 +1,37 @@ +/* +The commercial Minion Math fonts and can be obtained from +http://www.typoma.com/en/fonts.html and some Web services might provide them as +Web fonts. + +Warning: The CSS rules below have not been tested. More rules should probably +be added to make this work correctly. +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +/* Uncomment and complete the URLs if you wish to use Web fonts */ +/* +@font-face { + font-family: Minion Math; + src: local('Minion Math'), url('...'); +} +*/ + +.htmlmathparagraph, m|mtext { + font-family: Minion Math; +} +m|math { + font-family: Minion Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* TODO: verify whether calligraphic letters are available in this font */ +m|*.calligraphic { +} diff --git a/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/NeoEuler/mathfonts.css b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/NeoEuler/mathfonts.css new file mode 100644 index 00000000..8df86bf5 --- /dev/null +++ b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/NeoEuler/mathfonts.css @@ -0,0 +1,34 @@ +/* +Neo Euler is released under the SIL Open Font License. See the files in this +directory for details. The font is still in development. The font does not seem +to have a corresponding "non-MATH" font. + +The WOFF fonts have been obtained from +https://github.com/khaledhosny/euler-otf/ +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: Neo Euler; + src: local('Neo Euler'), url('euler.woff2'), url('euler.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: Neo Euler; +} +m|math { + font-family: Neo Euler; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* Calligraphic letters do not seem to be available */ +m|*.calligraphic { +} diff --git a/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoMath-Regular.woff2 b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoMath-Regular.woff2 new file mode 100644 index 00000000..279a98f0 Binary files /dev/null and b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoMath-Regular.woff2 differ diff --git a/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-Bold.woff2 b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-Bold.woff2 new file mode 100644 index 00000000..e4394884 Binary files /dev/null and b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-Bold.woff2 differ diff --git a/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-BoldItalic.woff2 b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-BoldItalic.woff2 new file mode 100644 index 00000000..0dc0baed Binary files /dev/null and b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-BoldItalic.woff2 differ diff --git a/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-Italic.woff2 b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-Italic.woff2 new file mode 100644 index 00000000..5594de32 Binary files /dev/null and b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-Italic.woff2 differ diff --git a/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-Regular.woff2 b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-Regular.woff2 new file mode 100644 index 00000000..263c488a Binary files /dev/null and b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-Regular.woff2 differ diff --git a/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/STIX/mathfonts.css b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/STIX/mathfonts.css new file mode 100644 index 00000000..4b287cee --- /dev/null +++ b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/STIX/mathfonts.css @@ -0,0 +1,69 @@ +/* +The STIX fonts are released under the SIL Open Font License. See the files in +this directory for details. The font can be obtained from several TeX +distributions or package managers. + +The WOFF fonts have been obtained from +http://downloads.sourceforge.net/project/stixfonts/ +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + + +@font-face { + font-family: STIX Two Text; + src: local('STIXTwoText'), + url('STIXTwoText-Regular.woff2'), + url('STIXTwoText-Regular.woff'); +} +@font-face { + font-family: STIX Two Text; + src: local('STIXTwoText-Bold'), + url('STIXTwoText-Bold.woff2'), + url('STIXTwoText-Bold.woff'); + font-weight: bold; +} +@font-face { + font-family: STIX Two Text; + src: local('STIXTwoText-Italic'), + url('STIXTwoText-Italic.woff2'), + url('STIXTwoText-Italic.woff'); + font-style: italic; +} +@font-face { + font-family: STIX Two Text; + src: local('STIXTwoText-BoldItalic'), + url('STIXTwoText-BoldItalic.woff2'), + url('STIXTwoText-BoldItalic.woff'); + font-weight: bold; + font-style: italic; +} +@font-face { + font-family: STIX Two Math; + src: local('STIXTwoMath-Regular'), + url('STIXTwoMath-Regular.woff2'), + url('STIXTwoMath-Regular.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: STIX Two Text; +} +m|math { + font-family: STIX Two Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +@font-feature-values STIX Two Math { @styleset { calligraphic: 1; } } +m|*.calligraphic { + font-variant-alternates: styleset(calligraphic); /* Recommended syntax */ + font-feature-settings: 'ss01'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'ss01'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'ss01'; /* Blink syntax */ +} diff --git a/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/mathfonts.css b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/mathfonts.css new file mode 100644 index 00000000..f7bbeaa0 --- /dev/null +++ b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/mathfonts.css @@ -0,0 +1,62 @@ +/* +The TeX Gyre Bonum fonts are released under the GUST font license, which is +legally equivalent to the LaTeX Project Public License. See the files in this +directory for details. The fonts can be obtained from several TeX distributions +or package managers. + +The WOFF fonts have been obtained from +http://www.gust.org.pl/projects/e-foundry/ +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: TeX Gyre Bonum; + src: local('TeXGyreBonum-Regular'), + url('texgyrebonum-regular.woff2'), url('texgyrebonum-regular.woff'); +} +@font-face { + font-family: TeX Gyre Bonum; + src: local('TeXGyreBonum-Bold'), + url('texgyrebonum-bold.woff2'), url('texgyrebonum-bold.woff'); + font-weight: bold; +} +@font-face { + font-family: TeX Gyre Bonum; + src: local('TeXGyreBonum-Italic'), + url('texgyrebonum-italic.woff2'), url('texgyrebonum-italic.woff'); + font-style: italic; +} +@font-face { + font-family: TeX Gyre Bonum; + src: local('TeXGyreBonum-BoldItalic'), + url('texgyrebonum-bolditalic.woff2'), + url('texgyrebonum-bolditalic.woff'); + font-weight: bold; + font-style: italic; +} +@font-face { + font-family: TeX Gyre Bonum Math; + src: local('TeX Gyre Bonum Math'), local('TeXGyreBonumMath-Regular'), + url('texgyrebonum-math.woff2'), + url('texgyrebonum-math.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: TeX Gyre Bonum; +} +m|math { + font-family: TeX Gyre Bonum Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* Calligraphic letters do not seem to be available */ +m|*.calligraphic { +} diff --git a/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-bold.woff2 b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-bold.woff2 new file mode 100644 index 00000000..013ca1bd Binary files /dev/null and b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-bold.woff2 differ diff --git a/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-bolditalic.woff2 b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-bolditalic.woff2 new file mode 100644 index 00000000..ae18fb8b Binary files /dev/null and b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-bolditalic.woff2 differ diff --git a/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-italic.woff2 b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-italic.woff2 new file mode 100644 index 00000000..42742390 Binary files /dev/null and b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-italic.woff2 differ diff --git a/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-math.woff2 b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-math.woff2 new file mode 100644 index 00000000..d16a1cea Binary files /dev/null and b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-math.woff2 differ diff --git a/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-regular.woff2 b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-regular.woff2 new file mode 100644 index 00000000..8aede98d Binary files /dev/null and b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-regular.woff2 differ diff --git a/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/TeXGyrePagella/mathfonts.css b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/TeXGyrePagella/mathfonts.css new file mode 100644 index 00000000..394686b0 --- /dev/null +++ b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/TeXGyrePagella/mathfonts.css @@ -0,0 +1,63 @@ +/* +The TeX Gyre Pagella fonts are released under the GUST font license, which is +legally equivalent to the LaTeX Project Public License. See the files in this +directory for details. The fonts can be obtained from several TeX distributions +or package managers. + +The WOFF fonts have been obtained from +http://www.gust.org.pl/projects/e-foundry/ +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: TeX Gyre Pagella; + src: local('TeXGyrePagella-Regular'), + url('texgyrepagella-regular.woff2'), + url('texgyrepagella-regular.woff'); +} +@font-face { + font-family: TeX Gyre Pagella; + src: local('TeXGyrePagella-Bold'), + url('texgyrepagella-bold.woff2'), url('texgyrepagella-bold.woff'); + font-weight: bold; +} +@font-face { + font-family: TeX Gyre Pagella; + src: local('TeXGyrePagella-Italic'), + url('texgyrepagella-italic.woff2'), url('texgyrepagella-italic.woff'); + font-style: italic; +} +@font-face { + font-family: TeX Gyre Pagella; + src: local('TeXGyrePagella-BoldItalic'), + url('texgyrepagella-bolditalic.woff2'), + url('texgyrepagella-bolditalic.woff'); + font-weight: bold; + font-style: italic; +} +@font-face { + font-family: TeX Gyre Pagella Math; + src: local('TeX Gyre Pagella Math'), local('TeXGyrePagellaMath-Regular'), + url('texgyrepagella-math.woff2'), + url('texgyrepagella-math.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: TeX Gyre Pagella; +} +m|math { + font-family: TeX Gyre Pagella Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* Calligraphic letters do not seem to be available */ +m|*.calligraphic { +} diff --git a/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/TeXGyrePagella/texgyrepagella-math.woff2 b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/TeXGyrePagella/texgyrepagella-math.woff2 new file mode 100644 index 00000000..0879c80a Binary files /dev/null and b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/TeXGyrePagella/texgyrepagella-math.woff2 differ diff --git a/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/mathfonts.css b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/mathfonts.css new file mode 100644 index 00000000..41c28c6b --- /dev/null +++ b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/mathfonts.css @@ -0,0 +1,61 @@ +/* +The TeX Gyre Schola fonts are released under the GUST font license, which is +legally equivalent to the LaTeX Project Public License. See the files in this +directory for details. The fonts can be obtained from several TeX distributions +or package managers. + +The WOFF fonts have been obtained from +http://www.gust.org.pl/projects/e-foundry/ +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: TeX Gyre Schola; + src: local('TeXGyreSchola-Regular'), + url('texgyreschola-regular.woff2'), url('texgyreschola-regular.woff'); +} +@font-face { + font-family: TeX Gyre Schola; + src: local('TeXGyreSchola-Bold'), + url('texgyreschola-bold.woff2'), url('texgyreschola-bold.woff'); + font-weight: bold; +} +@font-face { + font-family: TeX Gyre Schola; + src: local('TeXGyreSchola-Italic'), + url('texgyreschola-italic.woff2'), url('texgyreschola-italic.woff'); + font-style: italic; +} +@font-face { + font-family: TeX Gyre Schola; + src: local('TeXGyreSchola-BoldItalic'), + url('texgyreschola-bolditalic.woff2'), + url('texgyreschola-bolditalic.woff'); + font-weight: bold; + font-style: italic; +} +@font-face { + font-family: TeX Gyre Schola Math; + src: local('TeX Gyre Schola Math'), local('TeXGyreScholaMath-Regular'), + url('texgyreschola-math.woff2'), url('texgyreschola-math.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: TeX Gyre Schola; +} +m|math { + font-family: TeX Gyre Schola Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* Calligraphic letters do not seem to be available */ +m|*.calligraphic { +} diff --git a/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-bold.woff2 b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-bold.woff2 new file mode 100644 index 00000000..485f2c5b Binary files /dev/null and b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-bold.woff2 differ diff --git a/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-bolditalic.woff2 b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-bolditalic.woff2 new file mode 100644 index 00000000..6c8c3f52 Binary files /dev/null and b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-bolditalic.woff2 differ diff --git a/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-italic.woff2 b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-italic.woff2 new file mode 100644 index 00000000..afe8d4ef Binary files /dev/null and b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-italic.woff2 differ diff --git a/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-math.woff2 b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-math.woff2 new file mode 100644 index 00000000..674c4281 Binary files /dev/null and b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-math.woff2 differ diff --git a/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-regular.woff2 b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-regular.woff2 new file mode 100644 index 00000000..0dbec85e Binary files /dev/null and b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-regular.woff2 differ diff --git a/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/mathfonts.css b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/mathfonts.css new file mode 100644 index 00000000..d7a65374 --- /dev/null +++ b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/mathfonts.css @@ -0,0 +1,60 @@ +/* +The TeX Gyre Termes fonts are released under the GUST font license, which is +legally equivalent to the LaTeX Project Public License. See the files in this +directory for details. The fonts can be obtained from several TeX distributions +or package managers. + +The WOFF fonts have been obtained from +http://www.gust.org.pl/projects/e-foundry/ +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: TeX Gyre Termes; + src: local('TeXGyreTermes-Regular'), + url('texgyretermes-regular.woff2'), url('texgyretermes-regular.woff'); +} +@font-face { + font-family: TeX Gyre Termes; + src: local('TeXGyreTermes-Bold'), + url('texgyretermes-bold.woff2'), url('texgyretermes-bold.woff'); + font-weight: bold; +} +@font-face { + font-family: TeX Gyre Termes; + src: local('TeXGyreTermes-Italic'), + url('texgyretermes-italic.woff2'), url('texgyretermes-italic.woff'); + font-style: italic; +} +@font-face { + font-family: TeX Gyre Termes; + src: local('TeXGyreTermes-BoldItalic'), + url('texgyretermes-bolditalic.woff2'), url('texgyretermes-bolditalic.woff'); + font-weight: bold; + font-style: italic; +} +@font-face { + font-family: TeX Gyre Termes Math; + src: local('TeX Gyre Termes Math'), local('TeXGyreTermesMath-Regular'), + url('texgyretermes-math.woff2'), url('texgyretermes-math.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: TeX Gyre Termes; +} +m|math { + font-family: TeX Gyre Termes Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* Calligraphic letters do not seem to be available */ +m|*.calligraphic { +} diff --git a/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-bold.woff2 b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-bold.woff2 new file mode 100644 index 00000000..a346eb13 Binary files /dev/null and b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-bold.woff2 differ diff --git a/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-bolditalic.woff2 b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-bolditalic.woff2 new file mode 100644 index 00000000..571a2f07 Binary files /dev/null and b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-bolditalic.woff2 differ diff --git a/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-italic.woff2 b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-italic.woff2 new file mode 100644 index 00000000..401cd0ec Binary files /dev/null and b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-italic.woff2 differ diff --git a/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-math.woff2 b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-math.woff2 new file mode 100644 index 00000000..31c9adc2 Binary files /dev/null and b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-math.woff2 differ diff --git a/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-regular.woff2 b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-regular.woff2 new file mode 100644 index 00000000..1a15f9ad Binary files /dev/null and b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-regular.woff2 differ diff --git a/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-Bold.woff2 b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-Bold.woff2 new file mode 100644 index 00000000..7a12dd34 Binary files /dev/null and b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-Bold.woff2 differ diff --git a/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-BoldItalic.woff2 b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-BoldItalic.woff2 new file mode 100644 index 00000000..c4daad18 Binary files /dev/null and b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-BoldItalic.woff2 differ diff --git a/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-Italic.woff2 b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-Italic.woff2 new file mode 100644 index 00000000..9d434203 Binary files /dev/null and b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-Italic.woff2 differ diff --git a/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-Regular.woff2 b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-Regular.woff2 new file mode 100644 index 00000000..9acf905c Binary files /dev/null and b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-Regular.woff2 differ diff --git a/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/XITS/XITSMath-Bold.woff2 b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/XITS/XITSMath-Bold.woff2 new file mode 100644 index 00000000..c93f7230 Binary files /dev/null and b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/XITS/XITSMath-Bold.woff2 differ diff --git a/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/XITS/XITSMath-Regular.woff2 b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/XITS/XITSMath-Regular.woff2 new file mode 100644 index 00000000..fa9345cb Binary files /dev/null and b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/XITS/XITSMath-Regular.woff2 differ diff --git a/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/XITS/mathfonts.css b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/XITS/mathfonts.css new file mode 100644 index 00000000..9b62b7c3 --- /dev/null +++ b/io.sc.platform.mvc.frontend/public/webjars/mathfonts/1.0.0/XITS/mathfonts.css @@ -0,0 +1,69 @@ +/* +XITS is released under the SIL Open Font License. See the files in this +directory for details. The font can be obtained from several TeX distributions +or package managers. + +The WOFF fonts have been obtained from +http://mirrors.ctan.org/fonts/ +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: XITS; + src: local('XITS'), + url('XITS-Regular.woff2'), url('XITS-Regular.woff'); +} +@font-face { + font-family: XITS; + src: local('XITS Bold'), local('XITS-Bold'), + url('XITS-Bold.woff2'), url('XITS-Bold.woff'); + font-weight: bold; +} +@font-face { + font-family: XITS; + src: local('XITS Italic'), local('XITS-Italic'), + url('XITS-Italic.woff2'), url('XITS-Italic.woff'); + font-style: italic; +} +@font-face { + font-family: XITS; + src: local('XITS Bold Italic'), local('XITS-BoldItalic'), + url('XITS-BoldItalic.woff2'), url('XITS-BoldItalic.woff'); + font-weight: bold; + font-style: italic; +} +@font-face { + font-family: XITS Math; + src: local('XITS Math'), local('XITSMath-Regular'), + url('XITSMath-Regular.woff2'), url('XITSMath-Regular.woff'); +} +@font-face { + font-family: XITS Math; + src: local('XITS Math Bold'), local('XITSMath-Bold'), + url('XITSMath-Bold.woff2'), url('XITSMathBold.woff'); + font-weight: bold; +} + +.htmlmathparagraph, m|mtext { + font-family: XITS; +} +m|math { + font-family: XITS Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +@font-feature-values XITS Math { @styleset { calligraphic: 1; } } +m|*.calligraphic { + font-variant-alternates: styleset(calligraphic); /* Recommended syntax */ + font-feature-settings: 'ss01'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'ss01'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'ss01'; /* Blink syntax */ +} diff --git a/io.sc.platform.mvc/src/main/java/io/sc/platform/mvc/controller/support/RestCrudController.java b/io.sc.platform.mvc/src/main/java/io/sc/platform/mvc/controller/support/RestCrudController.java index 817da9c4..eed94556 100644 --- a/io.sc.platform.mvc/src/main/java/io/sc/platform/mvc/controller/support/RestCrudController.java +++ b/io.sc.platform.mvc/src/main/java/io/sc/platform/mvc/controller/support/RestCrudController.java @@ -158,7 +158,7 @@ public abstract class RestCrudController _query(HttpServletRequest request,HttpServletResponse response,E entity,QueryParameter queryParameter) throws Exception{ - List criterias =service.buildCriteriaFromEntity(entity); + List criterias =service.buildCriteriaFromEntity(request.getParameterNames(),entity); if(criterias!=null && !criterias.isEmpty()){ queryParameter.addCriterias(criterias); } diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/converter/OrderedSetStringConverter.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/converter/OrderedSetStringConverter.java new file mode 100644 index 00000000..a9232a7a --- /dev/null +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/converter/OrderedSetStringConverter.java @@ -0,0 +1,45 @@ +package io.sc.platform.orm.converter; + +import javax.persistence.AttributeConverter; +import java.util.Collections; +import java.util.HashSet; +import java.util.Set; +import java.util.TreeSet; + +public class OrderedSetStringConverter implements AttributeConverter, String>{ + + @Override + public String convertToDatabaseColumn(Set attribute) { + if (attribute==null || attribute.isEmpty()){ + return null; + } + Set orderedAttribute =new TreeSet<>(); + orderedAttribute.addAll(attribute); + + StringBuilder sb =new StringBuilder(); + for(String value : orderedAttribute){ + String _value =value==null?"":value.trim(); + if(_value.length()>0) { + sb.append(_value).append(","); + } + } + sb.setLength(sb.length()-1); + return sb.toString(); + } + + @Override + public Set convertToEntityAttribute(String dbData) { + if(dbData==null || "".equals(dbData.trim())){ + return null; + } + String[] splits =dbData.split(","); + if(splits==null || splits.length==0){ + return null; + } + Set result =new TreeSet<>(); + for(String split : splits){ + result.add(split.trim()); + } + return result; + } +} diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/JavaTypeAndValue.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/JavaTypeAndValue.java new file mode 100644 index 00000000..1a775051 --- /dev/null +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/JavaTypeAndValue.java @@ -0,0 +1,27 @@ +package io.sc.platform.orm.service.support; + +public class JavaTypeAndValue { + private Class javaType; + private Object value; + + public JavaTypeAndValue(Class javaType, Object value){ + this.javaType =javaType; + this.value =value; + } + + public Class getJavaType() { + return javaType; + } + + public void setJavaType(Class javaType) { + this.javaType = javaType; + } + + public Object getValue() { + return value; + } + + public void setValue(Object value) { + this.value = value; + } +} diff --git a/io.sc.platform.scheduler.core/src/main/java/io/sc/platform/scheduler/core/ExecutorRegistry.java b/io.sc.platform.scheduler.core/src/main/java/io/sc/platform/scheduler/core/ExecutorRegistry.java deleted file mode 100644 index 2190eaf3..00000000 --- a/io.sc.platform.scheduler.core/src/main/java/io/sc/platform/scheduler/core/ExecutorRegistry.java +++ /dev/null @@ -1,72 +0,0 @@ -package io.sc.platform.scheduler.core; - -import io.sc.platform.orm.api.vo.BaseVo; - -import java.util.Date; - -public class ExecutorRegistry extends BaseVo { - private static final String GROUP ="EXECUTOR"; - private String id; - private String registryGroup; - private String registryKey; - private String registryValue; - private Date updateTime; - - public ExecutorRegistry(){} - public ExecutorRegistry(String registryKey,String registryValue){ - this.registryGroup =GROUP; - this.registryKey =registryKey; - this.registryValue =registryValue; - } - - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public String getRegistryGroup() { - return registryGroup; - } - - public void setRegistryGroup(String registryGroup) { - this.registryGroup = registryGroup; - } - - public String getRegistryKey() { - return registryKey; - } - - public void setRegistryKey(String registryKey) { - this.registryKey = registryKey; - } - - public String getRegistryValue() { - return registryValue; - } - - public void setRegistryValue(String registryValue) { - this.registryValue = registryValue; - } - - public Date getUpdateTime() { - return updateTime; - } - - public void setUpdateTime(Date updateTime) { - this.updateTime = updateTime; - } - - @Override - public String toString() { - return "ExecutorRegistry {" + - "id='" + id + '\'' + - ", registryGroup='" + registryGroup + '\'' + - ", registryKey='" + registryKey + '\'' + - ", registryValue='" + registryValue + '\'' + - ", updateTime=" + updateTime + - '}'; - } -} diff --git a/io.sc.platform.scheduler.core/src/main/java/io/sc/platform/scheduler/core/configure/ExecutorProperties.java b/io.sc.platform.scheduler.core/src/main/java/io/sc/platform/scheduler/core/configure/ExecutorProperties.java new file mode 100644 index 00000000..e106c740 --- /dev/null +++ b/io.sc.platform.scheduler.core/src/main/java/io/sc/platform/scheduler/core/configure/ExecutorProperties.java @@ -0,0 +1,19 @@ +package io.sc.platform.scheduler.core.configure; + +import org.springframework.boot.context.properties.ConfigurationProperties; + +import java.util.HashSet; +import java.util.Set; + +@ConfigurationProperties("scheduler.executor") +public class ExecutorProperties { + private String name; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } +} diff --git a/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/configure/ManagerProperties.java b/io.sc.platform.scheduler.core/src/main/java/io/sc/platform/scheduler/core/configure/ManagerProperties.java similarity index 88% rename from io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/configure/ManagerProperties.java rename to io.sc.platform.scheduler.core/src/main/java/io/sc/platform/scheduler/core/configure/ManagerProperties.java index fe414ccb..2061b920 100644 --- a/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/configure/ManagerProperties.java +++ b/io.sc.platform.scheduler.core/src/main/java/io/sc/platform/scheduler/core/configure/ManagerProperties.java @@ -1,4 +1,4 @@ -package io.sc.platform.scheduler.executor.configure; +package io.sc.platform.scheduler.core.configure; import org.springframework.boot.context.properties.ConfigurationProperties; diff --git a/io.sc.platform.scheduler.core/src/main/java/io/sc/platform/scheduler/core/enums/ExecutorAddressType.java b/io.sc.platform.scheduler.core/src/main/java/io/sc/platform/scheduler/core/enums/ExecutorAddressType.java deleted file mode 100644 index 32245199..00000000 --- a/io.sc.platform.scheduler.core/src/main/java/io/sc/platform/scheduler/core/enums/ExecutorAddressType.java +++ /dev/null @@ -1,6 +0,0 @@ -package io.sc.platform.scheduler.core.enums; - -public enum ExecutorAddressType { - AUTO, // 自动注册 - MANUAL; // 手工录入 -} diff --git a/io.sc.platform.scheduler.core/src/main/java/io/sc/platform/scheduler/core/enums/ExecutorRouteStrategy.java b/io.sc.platform.scheduler.core/src/main/java/io/sc/platform/scheduler/core/enums/ExecutorRouteStrategy.java deleted file mode 100644 index 171b66a8..00000000 --- a/io.sc.platform.scheduler.core/src/main/java/io/sc/platform/scheduler/core/enums/ExecutorRouteStrategy.java +++ /dev/null @@ -1,14 +0,0 @@ -package io.sc.platform.scheduler.core.enums; - -public enum ExecutorRouteStrategy { - FIRST, //第一个 - LAST, //最后一个 - ROUND, //轮询 - RANDOM, //随机 - CONSISTENT_HASH, //一致性 Hash - LEAST_FREQUENTLY_USED, //最不经常使用 - LEAST_RECENTLY_USED, //最近最久未使用 - FAILOVER, //故障转移 - BUSYOVER, //忙碌转义 - SHARDING_BROADCAST; //分片广播 -} diff --git a/io.sc.platform.scheduler.core/src/main/java/io/sc/platform/scheduler/core/enums/ExpirationPolicy.java b/io.sc.platform.scheduler.core/src/main/java/io/sc/platform/scheduler/core/enums/ExpirationPolicy.java index 97f56cf7..6e49c6ba 100644 --- a/io.sc.platform.scheduler.core/src/main/java/io/sc/platform/scheduler/core/enums/ExpirationPolicy.java +++ b/io.sc.platform.scheduler.core/src/main/java/io/sc/platform/scheduler/core/enums/ExpirationPolicy.java @@ -1,6 +1,9 @@ package io.sc.platform.scheduler.core.enums; +/** + * 调度过期策略 + */ public enum ExpirationPolicy { - DO_NOTHING, //忽略 - FIRE_ONCE_NOW; //立即执行一次 + DO_NOTHING, //忽略(调度过期后,忽略过期的任务,从当前时间开始重新计算下次触发时间) + FIRE_ONCE_NOW; //立即执行一次(调度过期后,立即执行一次,并从当前时间开始重新计算下次触发时间) } diff --git a/io.sc.platform.scheduler.core/src/main/java/io/sc/platform/scheduler/core/enums/GlueType.java b/io.sc.platform.scheduler.core/src/main/java/io/sc/platform/scheduler/core/enums/GlueType.java deleted file mode 100644 index 35c5965a..00000000 --- a/io.sc.platform.scheduler.core/src/main/java/io/sc/platform/scheduler/core/enums/GlueType.java +++ /dev/null @@ -1,11 +0,0 @@ -package io.sc.platform.scheduler.core.enums; - -public enum GlueType { - BEAN, // Bean - GLUE_GROOVY, // groovy - GLUE_SHELL, // shell - GLUE_PYTHON, // python - GLUE_PHP, // php - GLUE_NODEJS, // nodejs - GLUE_POWERSHELL;// powershell -} diff --git a/io.sc.platform.scheduler.core/src/main/java/io/sc/platform/scheduler/core/enums/PermitStrategy.java b/io.sc.platform.scheduler.core/src/main/java/io/sc/platform/scheduler/core/enums/PermitStrategy.java new file mode 100644 index 00000000..f8e33839 --- /dev/null +++ b/io.sc.platform.scheduler.core/src/main/java/io/sc/platform/scheduler/core/enums/PermitStrategy.java @@ -0,0 +1,11 @@ +package io.sc.platform.scheduler.core.enums; + +/** + * 允许策略 + */ +public enum PermitStrategy { + ALL, // 允许所有 + NONE, // 禁止所有 + INCLUDE, // 包括 + EXCLUDE; // 排除 +} diff --git a/io.sc.platform.scheduler.core/src/main/java/io/sc/platform/scheduler/core/enums/RouteStrategy.java b/io.sc.platform.scheduler.core/src/main/java/io/sc/platform/scheduler/core/enums/RouteStrategy.java new file mode 100644 index 00000000..f481a452 --- /dev/null +++ b/io.sc.platform.scheduler.core/src/main/java/io/sc/platform/scheduler/core/enums/RouteStrategy.java @@ -0,0 +1,17 @@ +package io.sc.platform.scheduler.core.enums; + +/** + * 路由策略 + */ +public enum RouteStrategy { + FIRST, //第一个(固定选择第一个机器) + LAST, //最后一个(固定选择最后一个机器) + ROUND, //轮询() + RANDOM, //随机(随机选择在线的机器) + CONSISTENT_HASH, //一致性 Hash(每个任务按照 Hash 算法固定选择某一台机器,且所有任务均匀散列在不同机器上) + LEAST_FREQUENTLY_USED, //最不经常使用(使用频率最低的机器优先被选举) + LEAST_RECENTLY_USED, //最近最久未使用(最久未使用的机器优先被选举) + FAILOVER, //故障转移(按照顺序依次进行心跳检测,第一个心跳检测成功的机器选定为目标执行器并发起调度) + BUSYOVER, //忙碌转义(按照顺序依次进行空闲检测,第一个空闲检测成功的机器选定为目标执行器并发起调度) + SHARDING_BROADCAST; //分片广播(广播触发对应集群中所有机器执行一次任务,同时系统自动传递分片参数;可根据分片参数开发分片任务) +} diff --git a/io.sc.platform.scheduler.core/src/main/java/io/sc/platform/scheduler/core/enums/ScheduleType.java b/io.sc.platform.scheduler.core/src/main/java/io/sc/platform/scheduler/core/enums/ScheduleType.java new file mode 100644 index 00000000..e8c1707a --- /dev/null +++ b/io.sc.platform.scheduler.core/src/main/java/io/sc/platform/scheduler/core/enums/ScheduleType.java @@ -0,0 +1,11 @@ +package io.sc.platform.scheduler.core.enums; + +/** + * 调度类型 + */ +public enum ScheduleType { + NONE, //无(该类型不会主动触发调度) + CRON, //Cron(该类型将会通过CRON,触发任务调度) + FIX_RATE, //固定周期(该类型将会以固定速度,触发任务调度;按照固定的间隔时间,周期性触发) + FIX_DELAY; //固定延迟(该类型将会以固定延迟,触发任务调度;按照固定的延迟时间,从上次调度结束后开始计算延迟时间,到达延迟时间后触发下次调度) +} diff --git a/io.sc.platform.scheduler.core/src/main/java/io/sc/platform/scheduler/core/enums/TaskScheduleType.java b/io.sc.platform.scheduler.core/src/main/java/io/sc/platform/scheduler/core/enums/TaskScheduleType.java deleted file mode 100644 index 8dd4c8a7..00000000 --- a/io.sc.platform.scheduler.core/src/main/java/io/sc/platform/scheduler/core/enums/TaskScheduleType.java +++ /dev/null @@ -1,7 +0,0 @@ -package io.sc.platform.scheduler.core.enums; - -public enum TaskScheduleType { - NONE, //无 - CRON, //Cron - FIX_RATE; //固定周期 -} diff --git a/io.sc.platform.scheduler.core/src/main/java/io/sc/platform/scheduler/core/enums/TriggerStatus.java b/io.sc.platform.scheduler.core/src/main/java/io/sc/platform/scheduler/core/enums/TaskStatus.java similarity index 78% rename from io.sc.platform.scheduler.core/src/main/java/io/sc/platform/scheduler/core/enums/TriggerStatus.java rename to io.sc.platform.scheduler.core/src/main/java/io/sc/platform/scheduler/core/enums/TaskStatus.java index 1b9a0df5..da92ab22 100644 --- a/io.sc.platform.scheduler.core/src/main/java/io/sc/platform/scheduler/core/enums/TriggerStatus.java +++ b/io.sc.platform.scheduler.core/src/main/java/io/sc/platform/scheduler/core/enums/TaskStatus.java @@ -1,6 +1,6 @@ package io.sc.platform.scheduler.core.enums; -public enum TriggerStatus { +public enum TaskStatus { STOPED, //已停止 RUNNING; //运行中 } diff --git a/io.sc.platform.scheduler.core/src/main/java/io/sc/platform/scheduler/core/enums/TaskType.java b/io.sc.platform.scheduler.core/src/main/java/io/sc/platform/scheduler/core/enums/TaskType.java new file mode 100644 index 00000000..d28062e1 --- /dev/null +++ b/io.sc.platform.scheduler.core/src/main/java/io/sc/platform/scheduler/core/enums/TaskType.java @@ -0,0 +1,14 @@ +package io.sc.platform.scheduler.core.enums; + +/** + * 任务类型 + */ +public enum TaskType { + BEAN, // Bean(任务以 JobHandler 方式维护在执行器端;需要结合 "JobHandler" 属性匹配执行器中任务) + GROOVY, // groovy(任务以源码方式维护在调度中心;该模式的任务实际上是一段继承自 IJobHandler 的 Java 类代码并以 "groovy" 源码方式维护,它在执行器项目中运行,可使用 @Resource/@Autowire 注入执行器里中的其他服务) + SHELL, // shell(任务以源码方式维护在调度中心;该模式的任务实际上是一段 "shell" 脚本) + PYTHON, // python(任务以源码方式维护在调度中心;该模式的任务实际上是一段 "python" 脚本) + PHP, // php(任务以源码方式维护在调度中心;该模式的任务实际上是一段 "php" 脚本) + NODEJS, // nodejs(任务以源码方式维护在调度中心;该模式的任务实际上是一段 "nodejs" 脚本) + POWERSHELL;// powershell(任务以源码方式维护在调度中心;该模式的任务实际上是一段 "PowerShell" 脚本) +} diff --git a/io.sc.platform.scheduler.core/src/main/java/io/sc/platform/scheduler/core/enums/support/ExecutorDetail.java b/io.sc.platform.scheduler.core/src/main/java/io/sc/platform/scheduler/core/enums/support/ExecutorDetail.java new file mode 100644 index 00000000..882dbec5 --- /dev/null +++ b/io.sc.platform.scheduler.core/src/main/java/io/sc/platform/scheduler/core/enums/support/ExecutorDetail.java @@ -0,0 +1,38 @@ +package io.sc.platform.scheduler.core.enums.support; + +public class ExecutorDetail implements Comparable{ + private String url; + private boolean enable; + private boolean online; + + @Override + public int compareTo(ExecutorDetail o) { + return url.compareTo(o.getUrl()); + } + + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } + + public boolean isEnable() { + return enable; + } + + public void setEnable(boolean enable) { + this.enable = enable; + } + + public boolean isOnline() { + return online; + } + + public void setOnline(boolean online) { + this.online = online; + } + + +} diff --git a/io.sc.platform.scheduler.core/src/main/java/io/sc/platform/scheduler/core/exception/ExecutorAlreadyExistsException.java b/io.sc.platform.scheduler.core/src/main/java/io/sc/platform/scheduler/core/exception/ExecutorAlreadyExistsException.java new file mode 100644 index 00000000..65fda144 --- /dev/null +++ b/io.sc.platform.scheduler.core/src/main/java/io/sc/platform/scheduler/core/exception/ExecutorAlreadyExistsException.java @@ -0,0 +1,23 @@ +package io.sc.platform.scheduler.core.exception; + +public class ExecutorAlreadyExistsException extends RuntimeException{ + public ExecutorAlreadyExistsException() { + super(); + } + + public ExecutorAlreadyExistsException(String message, Throwable cause, boolean enableSuppression, boolean writableStackTrace) { + super(message, cause, enableSuppression, writableStackTrace); + } + + public ExecutorAlreadyExistsException(String message, Throwable cause) { + super(message, cause); + } + + public ExecutorAlreadyExistsException(String message) { + super(message); + } + + public ExecutorAlreadyExistsException(Throwable cause) { + super(cause); + } +} diff --git a/io.sc.platform.scheduler.core/src/main/java/io/sc/platform/scheduler/core/vo/Executor.java b/io.sc.platform.scheduler.core/src/main/java/io/sc/platform/scheduler/core/vo/Executor.java new file mode 100644 index 00000000..2e13d53f --- /dev/null +++ b/io.sc.platform.scheduler.core/src/main/java/io/sc/platform/scheduler/core/vo/Executor.java @@ -0,0 +1,74 @@ +package io.sc.platform.scheduler.core.vo; + +import io.sc.platform.orm.api.vo.AuditorVo; +import io.sc.platform.scheduler.core.enums.PermitStrategy; +import io.sc.platform.scheduler.core.enums.support.ExecutorDetail; + +import java.util.Set; +import java.util.TreeSet; + +public class Executor extends AuditorVo { + private String id; + private String applicationName; + private String name; + private String description; + private PermitStrategy permitStrategy; + private Set permitStrategyUrls =new TreeSet<>(); + private Set details =new TreeSet<>(); + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getApplicationName() { + return applicationName; + } + + public void setApplicationName(String applicationName) { + this.applicationName = applicationName; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public PermitStrategy getPermitStrategy() { + return permitStrategy; + } + + public void setPermitStrategy(PermitStrategy permitStrategy) { + this.permitStrategy = permitStrategy; + } + + public Set getPermitStrategyUrls() { + return permitStrategyUrls; + } + + public void setPermitStrategyUrls(Set permitStrategyUrls) { + this.permitStrategyUrls = permitStrategyUrls; + } + + public Set getDetails() { + return details; + } + + public void setDetails(Set details) { + this.details = details; + } +} diff --git a/io.sc.platform.scheduler.core/src/main/java/io/sc/platform/scheduler/core/vo/ExecutorRegistry.java b/io.sc.platform.scheduler.core/src/main/java/io/sc/platform/scheduler/core/vo/ExecutorRegistry.java new file mode 100644 index 00000000..78e57fd4 --- /dev/null +++ b/io.sc.platform.scheduler.core/src/main/java/io/sc/platform/scheduler/core/vo/ExecutorRegistry.java @@ -0,0 +1,71 @@ +package io.sc.platform.scheduler.core.vo; + +import io.sc.platform.orm.api.vo.BaseVo; + +import java.util.Date; + +public class ExecutorRegistry extends BaseVo { + private String id; + private String applicationName; + private String name; + private String url; + private Date registDate; + private Date now; + private Boolean online; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getApplicationName() { + return applicationName; + } + + public void setApplicationName(String applicationName) { + this.applicationName = applicationName; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } + + public Date getRegistDate() { + return registDate; + } + + public void setRegistDate(Date registDate) { + this.registDate = registDate; + } + + public Date getNow() { + return now; + } + + public void setNow(Date now) { + this.now = now; + } + + public Boolean getOnline() { + return online; + } + + public void setOnline(Boolean online) { + this.online = online; + } +} diff --git a/io.sc.platform.scheduler.core/src/main/java/io/sc/platform/scheduler/core/vo/ExecutorVo.java b/io.sc.platform.scheduler.core/src/main/java/io/sc/platform/scheduler/core/vo/ExecutorVo.java deleted file mode 100644 index 8bc665d1..00000000 --- a/io.sc.platform.scheduler.core/src/main/java/io/sc/platform/scheduler/core/vo/ExecutorVo.java +++ /dev/null @@ -1,63 +0,0 @@ -package io.sc.platform.scheduler.core.vo; - -import io.sc.platform.scheduler.core.enums.ExecutorAddressType; -import io.sc.platform.orm.api.vo.CorporationAuditorVo; - -import java.util.Set; - -public class ExecutorVo extends CorporationAuditorVo { - private String id; - private String appName; - private String name; - private String description; - private ExecutorAddressType addressType; - private Set addresses; - - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public String getAppName() { - return appName; - } - - public void setAppName(String appName) { - this.appName = appName; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getDescription() { - return description; - } - - public void setDescription(String description) { - this.description = description; - } - - public ExecutorAddressType getAddressType() { - return addressType; - } - - public void setAddressType(ExecutorAddressType addressType) { - this.addressType = addressType; - } - - public Set getAddresses() { - return addresses; - } - - public void setAddresses(Set addresses) { - this.addresses = addresses; - } -} diff --git a/io.sc.platform.scheduler.core/src/main/java/io/sc/platform/scheduler/core/vo/GlueVo.java b/io.sc.platform.scheduler.core/src/main/java/io/sc/platform/scheduler/core/vo/Glue.java similarity index 74% rename from io.sc.platform.scheduler.core/src/main/java/io/sc/platform/scheduler/core/vo/GlueVo.java rename to io.sc.platform.scheduler.core/src/main/java/io/sc/platform/scheduler/core/vo/Glue.java index 6e296434..2a7f97a0 100644 --- a/io.sc.platform.scheduler.core/src/main/java/io/sc/platform/scheduler/core/vo/GlueVo.java +++ b/io.sc.platform.scheduler.core/src/main/java/io/sc/platform/scheduler/core/vo/Glue.java @@ -1,11 +1,11 @@ package io.sc.platform.scheduler.core.vo; -import io.sc.platform.orm.api.vo.CorporationAuditorVo; -import io.sc.platform.scheduler.core.enums.GlueType; +import io.sc.platform.orm.api.vo.AuditorVo; +import io.sc.platform.scheduler.core.enums.TaskType; -public class GlueVo extends CorporationAuditorVo { +public class Glue extends AuditorVo { private String id; - private GlueType type; + private TaskType type; private String description; private String source; private String task; @@ -18,11 +18,11 @@ public class GlueVo extends CorporationAuditorVo { this.id = id; } - public GlueType getType() { + public TaskType getType() { return type; } - public void setType(GlueType type) { + public void setType(TaskType type) { this.type = type; } diff --git a/io.sc.platform.scheduler.core/src/main/java/io/sc/platform/scheduler/core/vo/TaskVo.java b/io.sc.platform.scheduler.core/src/main/java/io/sc/platform/scheduler/core/vo/Task.java similarity index 62% rename from io.sc.platform.scheduler.core/src/main/java/io/sc/platform/scheduler/core/vo/TaskVo.java rename to io.sc.platform.scheduler.core/src/main/java/io/sc/platform/scheduler/core/vo/Task.java index bb450f73..a4092f12 100644 --- a/io.sc.platform.scheduler.core/src/main/java/io/sc/platform/scheduler/core/vo/TaskVo.java +++ b/io.sc.platform.scheduler.core/src/main/java/io/sc/platform/scheduler/core/vo/Task.java @@ -1,31 +1,30 @@ package io.sc.platform.scheduler.core.vo; +import io.sc.platform.orm.api.vo.AuditorVo; import io.sc.platform.scheduler.core.enums.*; -import io.sc.platform.orm.api.vo.CorporationAuditorVo; -import javax.validation.constraints.Size; -import java.util.Set; - -public class TaskVo extends CorporationAuditorVo { +public class Task extends AuditorVo { private String id;//主键 + private TaskType type;//类型 + private TaskStatus status;//状态 private String parent;//父任务 private String executor;//执行器ID + private String executorApplicationName;//执行器应用名称 private String executorName;//执行器名称 private String name;//名称 private String description;//描述 private String author;//负责人 private String alarmEmail;//报警邮件 - private TaskScheduleType scheduleType;//调度类型 - private String scheduleConf;//调度配置 - private GlueType executorGlueType;//执行器 Glue 类型 - private String executorHandler;//执行器 Handler 名称 - private String executorParam;//执行器参数 - private ExecutorRouteStrategy routeStrategy;//路由策略 + private String parameter;//参数 + private ScheduleType scheduleType;//调度类型 + private String scheduleCron;//调度配置(cron 表达式) + private Integer scheduleFixRate;//调度配置(固定周期,单位秒) + private Integer scheduleFixDelay;//调度配置(固定延期,单位秒) + private RouteStrategy routeStrategy;//路由策略 private ExpirationPolicy expirationPolicy;//过期策略 private BlockStrategy blockStrategy;//阻塞策略 private int timeout;//超时时间,单位秒 private int failRetryCount;//失败重试次数 - private TriggerStatus triggerStatus;//调度状态 private long triggerLastTime;//上次调度时间 private long triggerNextTime;//下次调度时间 @@ -37,6 +36,22 @@ public class TaskVo extends CorporationAuditorVo { this.id = id; } + public TaskType getType() { + return type; + } + + public void setType(TaskType type) { + this.type = type; + } + + public TaskStatus getStatus() { + return status; + } + + public void setStatus(TaskStatus status) { + this.status = status; + } + public String getParent() { return parent; } @@ -53,6 +68,14 @@ public class TaskVo extends CorporationAuditorVo { this.executor = executor; } + public String getExecutorApplicationName() { + return executorApplicationName; + } + + public void setExecutorApplicationName(String executorApplicationName) { + this.executorApplicationName = executorApplicationName; + } + public String getExecutorName() { return executorName; } @@ -93,51 +116,51 @@ public class TaskVo extends CorporationAuditorVo { this.alarmEmail = alarmEmail; } - public TaskScheduleType getScheduleType() { - return scheduleType; + public String getParameter() { + return parameter; } - public void setScheduleType(TaskScheduleType scheduleType) { - this.scheduleType = scheduleType; + public void setParameter(String parameter) { + this.parameter = parameter; } - public String getScheduleConf() { - return scheduleConf; + public ScheduleType getScheduleType() { + return scheduleType; } - public void setScheduleConf(String scheduleConf) { - this.scheduleConf = scheduleConf; + public void setScheduleType(ScheduleType scheduleType) { + this.scheduleType = scheduleType; } - public GlueType getExecutorGlueType() { - return executorGlueType; + public String getScheduleCron() { + return scheduleCron; } - public void setExecutorGlueType(GlueType executorGlueType) { - this.executorGlueType = executorGlueType; + public void setScheduleCron(String scheduleCron) { + this.scheduleCron = scheduleCron; } - public String getExecutorHandler() { - return executorHandler; + public Integer getScheduleFixRate() { + return scheduleFixRate; } - public void setExecutorHandler(String executorHandler) { - this.executorHandler = executorHandler; + public void setScheduleFixRate(Integer scheduleFixRate) { + this.scheduleFixRate = scheduleFixRate; } - public String getExecutorParam() { - return executorParam; + public Integer getScheduleFixDelay() { + return scheduleFixDelay; } - public void setExecutorParam(String executorParam) { - this.executorParam = executorParam; + public void setScheduleFixDelay(Integer scheduleFixDelay) { + this.scheduleFixDelay = scheduleFixDelay; } - public ExecutorRouteStrategy getRouteStrategy() { + public RouteStrategy getRouteStrategy() { return routeStrategy; } - public void setRouteStrategy(ExecutorRouteStrategy routeStrategy) { + public void setRouteStrategy(RouteStrategy routeStrategy) { this.routeStrategy = routeStrategy; } @@ -173,14 +196,6 @@ public class TaskVo extends CorporationAuditorVo { this.failRetryCount = failRetryCount; } - public TriggerStatus getTriggerStatus() { - return triggerStatus; - } - - public void setTriggerStatus(TriggerStatus triggerStatus) { - this.triggerStatus = triggerStatus; - } - public long getTriggerLastTime() { return triggerLastTime; } diff --git a/io.sc.platform.scheduler.core/src/main/java/io/sc/platform/scheduler/core/TaskLog.java b/io.sc.platform.scheduler.core/src/main/java/io/sc/platform/scheduler/core/vo/TaskLog.java similarity index 98% rename from io.sc.platform.scheduler.core/src/main/java/io/sc/platform/scheduler/core/TaskLog.java rename to io.sc.platform.scheduler.core/src/main/java/io/sc/platform/scheduler/core/vo/TaskLog.java index ec9d1c2b..75c923be 100644 --- a/io.sc.platform.scheduler.core/src/main/java/io/sc/platform/scheduler/core/TaskLog.java +++ b/io.sc.platform.scheduler.core/src/main/java/io/sc/platform/scheduler/core/vo/TaskLog.java @@ -1,4 +1,4 @@ -package io.sc.platform.scheduler.core; +package io.sc.platform.scheduler.core.vo; import io.sc.platform.orm.api.vo.BaseVo; diff --git a/io.sc.platform.scheduler.core/src/main/java/io/sc/platform/scheduler/core/vo/TaskLogReportVo.java b/io.sc.platform.scheduler.core/src/main/java/io/sc/platform/scheduler/core/vo/TaskLogReport.java similarity index 96% rename from io.sc.platform.scheduler.core/src/main/java/io/sc/platform/scheduler/core/vo/TaskLogReportVo.java rename to io.sc.platform.scheduler.core/src/main/java/io/sc/platform/scheduler/core/vo/TaskLogReport.java index 9b6fbe9a..58a7f4e0 100644 --- a/io.sc.platform.scheduler.core/src/main/java/io/sc/platform/scheduler/core/vo/TaskLogReportVo.java +++ b/io.sc.platform.scheduler.core/src/main/java/io/sc/platform/scheduler/core/vo/TaskLogReport.java @@ -1,10 +1,11 @@ package io.sc.platform.scheduler.core.vo; + import io.sc.platform.orm.api.vo.BaseVo; import java.util.Date; -public class TaskLogReportVo extends BaseVo { +public class TaskLogReport extends BaseVo { private String id; private Date triggerDay; private int runningCount; diff --git a/io.sc.platform.scheduler.core/src/main/java/io/sc/platform/scheduler/core/vo/task/GroovyTask.java b/io.sc.platform.scheduler.core/src/main/java/io/sc/platform/scheduler/core/vo/task/GroovyTask.java new file mode 100644 index 00000000..a08db401 --- /dev/null +++ b/io.sc.platform.scheduler.core/src/main/java/io/sc/platform/scheduler/core/vo/task/GroovyTask.java @@ -0,0 +1,16 @@ +package io.sc.platform.scheduler.core.vo.task; + + +import io.sc.platform.scheduler.core.vo.Task; + +public class GroovyTask extends Task { + private String groovy; + + public String getGroovy() { + return groovy; + } + + public void setGroovy(String groovy) { + this.groovy = groovy; + } +} diff --git a/io.sc.platform.scheduler.core/src/main/java/io/sc/platform/scheduler/core/vo/task/NodeJsTask.java b/io.sc.platform.scheduler.core/src/main/java/io/sc/platform/scheduler/core/vo/task/NodeJsTask.java new file mode 100644 index 00000000..5ff0bf54 --- /dev/null +++ b/io.sc.platform.scheduler.core/src/main/java/io/sc/platform/scheduler/core/vo/task/NodeJsTask.java @@ -0,0 +1,15 @@ +package io.sc.platform.scheduler.core.vo.task; + +import io.sc.platform.scheduler.core.vo.Task; + +public class NodeJsTask extends Task { + private String nodejs; + + public String getNodejs() { + return nodejs; + } + + public void setNodejs(String nodejs) { + this.nodejs = nodejs; + } +} diff --git a/io.sc.platform.scheduler.core/src/main/java/io/sc/platform/scheduler/core/vo/task/PhpTask.java b/io.sc.platform.scheduler.core/src/main/java/io/sc/platform/scheduler/core/vo/task/PhpTask.java new file mode 100644 index 00000000..a051bdd0 --- /dev/null +++ b/io.sc.platform.scheduler.core/src/main/java/io/sc/platform/scheduler/core/vo/task/PhpTask.java @@ -0,0 +1,15 @@ +package io.sc.platform.scheduler.core.vo.task; + +import io.sc.platform.scheduler.core.vo.Task; + +public class PhpTask extends Task { + private String php; + + public String getPhp() { + return php; + } + + public void setPhp(String php) { + this.php = php; + } +} diff --git a/io.sc.platform.scheduler.core/src/main/java/io/sc/platform/scheduler/core/vo/task/PowerShellTask.java b/io.sc.platform.scheduler.core/src/main/java/io/sc/platform/scheduler/core/vo/task/PowerShellTask.java new file mode 100644 index 00000000..c8a172e1 --- /dev/null +++ b/io.sc.platform.scheduler.core/src/main/java/io/sc/platform/scheduler/core/vo/task/PowerShellTask.java @@ -0,0 +1,15 @@ +package io.sc.platform.scheduler.core.vo.task; + +import io.sc.platform.scheduler.core.vo.Task; + +public class PowerShellTask extends Task { + private String powershell; + + public String getPowershell() { + return powershell; + } + + public void setPowershell(String powershell) { + this.powershell = powershell; + } +} diff --git a/io.sc.platform.scheduler.core/src/main/java/io/sc/platform/scheduler/core/vo/task/PythonTask.java b/io.sc.platform.scheduler.core/src/main/java/io/sc/platform/scheduler/core/vo/task/PythonTask.java new file mode 100644 index 00000000..1e79f7db --- /dev/null +++ b/io.sc.platform.scheduler.core/src/main/java/io/sc/platform/scheduler/core/vo/task/PythonTask.java @@ -0,0 +1,15 @@ +package io.sc.platform.scheduler.core.vo.task; + +import io.sc.platform.scheduler.core.vo.Task; + +public class PythonTask extends Task { + private String python; + + public String getPython() { + return python; + } + + public void setPython(String python) { + this.python = python; + } +} diff --git a/io.sc.platform.scheduler.core/src/main/java/io/sc/platform/scheduler/core/vo/task/ShellTask.java b/io.sc.platform.scheduler.core/src/main/java/io/sc/platform/scheduler/core/vo/task/ShellTask.java new file mode 100644 index 00000000..55dc9204 --- /dev/null +++ b/io.sc.platform.scheduler.core/src/main/java/io/sc/platform/scheduler/core/vo/task/ShellTask.java @@ -0,0 +1,15 @@ +package io.sc.platform.scheduler.core.vo.task; + +import io.sc.platform.scheduler.core.vo.Task; + +public class ShellTask extends Task { + private String shell; + + public String getShell() { + return shell; + } + + public void setShell(String shell) { + this.shell = shell; + } +} diff --git a/io.sc.platform.scheduler.core/src/main/resources/META-INF/platform/plugins/messages.json b/io.sc.platform.scheduler.core/src/main/resources/META-INF/platform/plugins/messages.json index 950cecbb..c531e3a7 100644 --- a/io.sc.platform.scheduler.core/src/main/resources/META-INF/platform/plugins/messages.json +++ b/io.sc.platform.scheduler.core/src/main/resources/META-INF/platform/plugins/messages.json @@ -1,5 +1,6 @@ { "includes":[ - "io/sc/platform/scheduler/core/i18n/messages" + "io/sc/platform/scheduler/core/i18n/enums", + "io/sc/platform/scheduler/core/i18n/exception" ] } \ No newline at end of file diff --git a/io.sc.platform.scheduler.core/src/main/resources/io/sc/platform/scheduler/core/i18n/enums.properties b/io.sc.platform.scheduler.core/src/main/resources/io/sc/platform/scheduler/core/i18n/enums.properties new file mode 100644 index 00000000..04bf371c --- /dev/null +++ b/io.sc.platform.scheduler.core/src/main/resources/io/sc/platform/scheduler/core/i18n/enums.properties @@ -0,0 +1,38 @@ +io.sc.platform.scheduler.core.enums.BlockStrategy.SERIAL_EXECUTION=Serializable +io.sc.platform.scheduler.core.enums.BlockStrategy.DISCARD_LATER=Discard Later +io.sc.platform.scheduler.core.enums.BlockStrategy.COVER_EARLY=Cover Early + +io.sc.platform.scheduler.core.enums.ExpirationPolicy.DO_NOTHING=Do Nothing +io.sc.platform.scheduler.core.enums.ExpirationPolicy.FIRE_ONCE_NOW=Fire Once Now + +io.sc.platform.scheduler.core.enums.PermitStrategy.ALL=All +io.sc.platform.scheduler.core.enums.PermitStrategy.NONE=NONE +io.sc.platform.scheduler.core.enums.PermitStrategy.INCLUDE=Include +io.sc.platform.scheduler.core.enums.PermitStrategy.EXCLUDE=Exclude + +io.sc.platform.scheduler.core.enums.RouteStrategy.FIRST=First +io.sc.platform.scheduler.core.enums.RouteStrategy.LAST=Last +io.sc.platform.scheduler.core.enums.RouteStrategy.ROUND=Round +io.sc.platform.scheduler.core.enums.RouteStrategy.RANDOM=Random +io.sc.platform.scheduler.core.enums.RouteStrategy.CONSISTENT_HASH=Consistent Hash +io.sc.platform.scheduler.core.enums.RouteStrategy.LEAST_FREQUENTLY_USED=Least Frequently Used +io.sc.platform.scheduler.core.enums.RouteStrategy.LEAST_RECENTLY_USED=Least Recently Used +io.sc.platform.scheduler.core.enums.RouteStrategy.FAILOVER=Failover +io.sc.platform.scheduler.core.enums.RouteStrategy.BUSYOVER=Busyover +io.sc.platform.scheduler.core.enums.RouteStrategy.SHARDING_BROADCAST=Sharding Broadcast + +io.sc.platform.scheduler.core.enums.ScheduleType.NONE=None +io.sc.platform.scheduler.core.enums.ScheduleType.CRON=Cron +io.sc.platform.scheduler.core.enums.ScheduleType.FIX_RATE=Fix Rate +io.sc.platform.scheduler.core.enums.ScheduleType.FIX_DELAY=Fix Delay + +io.sc.platform.scheduler.core.enums.TaskStatus.STOPED=Stoped +io.sc.platform.scheduler.core.enums.TaskStatus.RUNNING=Running + +io.sc.platform.scheduler.core.enums.TaskType.BEAN=Bean +io.sc.platform.scheduler.core.enums.TaskType.GROOVY=Groovy +io.sc.platform.scheduler.core.enums.TaskType.SHELL=Shell +io.sc.platform.scheduler.core.enums.TaskType.PYTHON=Python +io.sc.platform.scheduler.core.enums.TaskType.PHP=Php +io.sc.platform.scheduler.core.enums.TaskType.NODEJS=NodeJs +io.sc.platform.scheduler.core.enums.TaskType.POWERSHELL=PowerShell \ No newline at end of file diff --git a/io.sc.platform.scheduler.core/src/main/resources/io/sc/platform/scheduler/core/i18n/enums_tw_CN.properties b/io.sc.platform.scheduler.core/src/main/resources/io/sc/platform/scheduler/core/i18n/enums_tw_CN.properties new file mode 100644 index 00000000..c6b472ea --- /dev/null +++ b/io.sc.platform.scheduler.core/src/main/resources/io/sc/platform/scheduler/core/i18n/enums_tw_CN.properties @@ -0,0 +1,38 @@ +io.sc.platform.scheduler.core.enums.BlockStrategy.SERIAL_EXECUTION=\u55AE\u6A5F\u4E32\u884C +io.sc.platform.scheduler.core.enums.BlockStrategy.DISCARD_LATER=\u4E1F\u68C4\u5F8C\u7E8C\u8ABF\u5EA6 +io.sc.platform.scheduler.core.enums.BlockStrategy.COVER_EARLY=\u8986\u84CB\u5148\u524D\u8ABF\u5EA6 + +io.sc.platform.scheduler.core.enums.ExpirationPolicy.DO_NOTHING=\u5FFD\u7565 +io.sc.platform.scheduler.core.enums.ExpirationPolicy.FIRE_ONCE_NOW=\u7ACB\u5373\u57F7\u884C\u4E00\u6B21 + +io.sc.platform.scheduler.core.enums.PermitStrategy.ALL=\u5141\u8A31\u6240\u6709 +io.sc.platform.scheduler.core.enums.PermitStrategy.NONE=\u7981\u6B62\u6240\u6709 +io.sc.platform.scheduler.core.enums.PermitStrategy.INCLUDE=\u5305\u542B +io.sc.platform.scheduler.core.enums.PermitStrategy.EXCLUDE=\u6392\u9664 + +io.sc.platform.scheduler.core.enums.RouteStrategy.FIRST=\u7B2C\u4E00\u500B +io.sc.platform.scheduler.core.enums.RouteStrategy.LAST=\u6700\u5F8C\u4E00\u500B +io.sc.platform.scheduler.core.enums.RouteStrategy.ROUND=\u8F2A\u8A62 +io.sc.platform.scheduler.core.enums.RouteStrategy.RANDOM=\u96A8\u6A5F +io.sc.platform.scheduler.core.enums.RouteStrategy.CONSISTENT_HASH=\u4E00\u81F4\u6027 Hash +io.sc.platform.scheduler.core.enums.RouteStrategy.LEAST_FREQUENTLY_USED=\u6700\u8FD1\u7D93\u5E38\u4F7F\u7528 +io.sc.platform.scheduler.core.enums.RouteStrategy.LEAST_RECENTLY_USED=\u6700\u8FD1\u6700\u4E45\u672A\u4F7F\u7528 +io.sc.platform.scheduler.core.enums.RouteStrategy.FAILOVER=\u6545\u969C\u8F49\u79FB +io.sc.platform.scheduler.core.enums.RouteStrategy.BUSYOVER=\u5FD9\u788C\u8F49\u79FB +io.sc.platform.scheduler.core.enums.RouteStrategy.SHARDING_BROADCAST=\u5206\u7247\u5EE3\u64AD + +io.sc.platform.scheduler.core.enums.ScheduleType.NONE=\u7121 +io.sc.platform.scheduler.core.enums.ScheduleType.CRON=Cron +io.sc.platform.scheduler.core.enums.ScheduleType.FIX_RATE=\u56FA\u5B9A\u9031\u671F +io.sc.platform.scheduler.core.enums.ScheduleType.FIX_DELAY=\u56FA\u5B9A\u5EF6\u9072 + +io.sc.platform.scheduler.core.enums.TaskStatus.STOPED=\u5DF2\u505C\u6B62 +io.sc.platform.scheduler.core.enums.TaskStatus.RUNNING=\u904B\u884C\u4E2D + +io.sc.platform.scheduler.core.enums.TaskType.BEAN=Bean +io.sc.platform.scheduler.core.enums.TaskType.GROOVY=Groovy +io.sc.platform.scheduler.core.enums.TaskType.SHELL=Shell +io.sc.platform.scheduler.core.enums.TaskType.PYTHON=Python +io.sc.platform.scheduler.core.enums.TaskType.PHP=Php +io.sc.platform.scheduler.core.enums.TaskType.NODEJS=NodeJs +io.sc.platform.scheduler.core.enums.TaskType.POWERSHELL=PowerShell \ No newline at end of file diff --git a/io.sc.platform.scheduler.core/src/main/resources/io/sc/platform/scheduler/core/i18n/enums_zh_CN.properties b/io.sc.platform.scheduler.core/src/main/resources/io/sc/platform/scheduler/core/i18n/enums_zh_CN.properties new file mode 100644 index 00000000..c510d5f7 --- /dev/null +++ b/io.sc.platform.scheduler.core/src/main/resources/io/sc/platform/scheduler/core/i18n/enums_zh_CN.properties @@ -0,0 +1,38 @@ +io.sc.platform.scheduler.core.enums.BlockStrategy.SERIAL_EXECUTION=\u5355\u673A\u4E32\u884C +io.sc.platform.scheduler.core.enums.BlockStrategy.DISCARD_LATER=\u4E22\u5F03\u540E\u7EED\u8C03\u5EA6 +io.sc.platform.scheduler.core.enums.BlockStrategy.COVER_EARLY=\u8986\u76D6\u5148\u524D\u8C03\u5EA6 + +io.sc.platform.scheduler.core.enums.ExpirationPolicy.DO_NOTHING=\u5FFD\u7565 +io.sc.platform.scheduler.core.enums.ExpirationPolicy.FIRE_ONCE_NOW=\u7ACB\u5373\u6267\u884C\u4E00\u6B21 + +io.sc.platform.scheduler.core.enums.PermitStrategy.ALL=\u5141\u8BB8\u6240\u6709 +io.sc.platform.scheduler.core.enums.PermitStrategy.NONE=\u7981\u6B62\u6240\u6709 +io.sc.platform.scheduler.core.enums.PermitStrategy.INCLUDE=\u5305\u542B +io.sc.platform.scheduler.core.enums.PermitStrategy.EXCLUDE=\u6392\u9664 + +io.sc.platform.scheduler.core.enums.RouteStrategy.FIRST=\u7B2C\u4E00\u4E2A +io.sc.platform.scheduler.core.enums.RouteStrategy.LAST=\u6700\u540E\u4E00\u4E2A +io.sc.platform.scheduler.core.enums.RouteStrategy.ROUND=\u8F6E\u8BE2 +io.sc.platform.scheduler.core.enums.RouteStrategy.RANDOM=\u968F\u673A +io.sc.platform.scheduler.core.enums.RouteStrategy.CONSISTENT_HASH=\u4E00\u81F4\u6027 Hash +io.sc.platform.scheduler.core.enums.RouteStrategy.LEAST_FREQUENTLY_USED=\u6700\u4E0D\u7ECF\u5E38\u4F7F\u7528 +io.sc.platform.scheduler.core.enums.RouteStrategy.LEAST_RECENTLY_USED=\u6700\u8FD1\u6700\u4E45\u672A\u4F7F\u7528 +io.sc.platform.scheduler.core.enums.RouteStrategy.FAILOVER=\u6545\u969C\u8F6C\u79FB +io.sc.platform.scheduler.core.enums.RouteStrategy.BUSYOVER=\u5FD9\u788C\u8F6C\u4E49 +io.sc.platform.scheduler.core.enums.RouteStrategy.SHARDING_BROADCAST=\u5206\u7247\u5E7F\u64AD + +io.sc.platform.scheduler.core.enums.ScheduleType.NONE=\u65E0 +io.sc.platform.scheduler.core.enums.ScheduleType.CRON=Cron +io.sc.platform.scheduler.core.enums.ScheduleType.FIX_RATE=\u56FA\u5B9A\u5468\u671F +io.sc.platform.scheduler.core.enums.ScheduleType.FIX_DELAY=\u56FA\u5B9A\u5EF6\u8FDF + +io.sc.platform.scheduler.core.enums.TaskStatus.STOPED=\u5DF2\u505C\u6B62 +io.sc.platform.scheduler.core.enums.TaskStatus.RUNNING=\u8FD0\u884C\u4E2D + +io.sc.platform.scheduler.core.enums.TaskType.BEAN=Bean +io.sc.platform.scheduler.core.enums.TaskType.GROOVY=Groovy +io.sc.platform.scheduler.core.enums.TaskType.SHELL=Shell +io.sc.platform.scheduler.core.enums.TaskType.PYTHON=Python +io.sc.platform.scheduler.core.enums.TaskType.PHP=Php +io.sc.platform.scheduler.core.enums.TaskType.NODEJS=NodeJs +io.sc.platform.scheduler.core.enums.TaskType.POWERSHELL=PowerShell \ No newline at end of file diff --git a/io.sc.platform.scheduler.core/src/main/resources/io/sc/platform/scheduler/core/i18n/exception.properties b/io.sc.platform.scheduler.core/src/main/resources/io/sc/platform/scheduler/core/i18n/exception.properties new file mode 100644 index 00000000..c0e20a6b --- /dev/null +++ b/io.sc.platform.scheduler.core/src/main/resources/io/sc/platform/scheduler/core/i18n/exception.properties @@ -0,0 +1 @@ +io.sc.platform.scheduler.core.exception.ExecutorAlreadyExistsException=The Executor with same application name and name already exists! \ No newline at end of file diff --git a/io.sc.platform.scheduler.core/src/main/resources/io/sc/platform/scheduler/core/i18n/exception_tw_CN.properties b/io.sc.platform.scheduler.core/src/main/resources/io/sc/platform/scheduler/core/i18n/exception_tw_CN.properties new file mode 100644 index 00000000..13083ab3 --- /dev/null +++ b/io.sc.platform.scheduler.core/src/main/resources/io/sc/platform/scheduler/core/i18n/exception_tw_CN.properties @@ -0,0 +1 @@ +io.sc.platform.scheduler.core.exception.ExecutorAlreadyExistsException=\u5177\u6709\u76F8\u540C\u61C9\u7528\u540D\u7A31\u548C\u57F7\u884C\u5668\u540D\u7A31\u7684\u57F7\u884C\u5668\u5DF2\u7D93\u5B58\u5728! \ No newline at end of file diff --git a/io.sc.platform.scheduler.core/src/main/resources/io/sc/platform/scheduler/core/i18n/exception_zh_CN.properties b/io.sc.platform.scheduler.core/src/main/resources/io/sc/platform/scheduler/core/i18n/exception_zh_CN.properties new file mode 100644 index 00000000..7b6330b7 --- /dev/null +++ b/io.sc.platform.scheduler.core/src/main/resources/io/sc/platform/scheduler/core/i18n/exception_zh_CN.properties @@ -0,0 +1 @@ +io.sc.platform.scheduler.core.exception.ExecutorAlreadyExistsException=\u5177\u6709\u76F8\u540C\u5E94\u7528\u540D\u79F0\u548C\u6267\u884C\u5668\u540D\u79F0\u7684\u6267\u884C\u5668\u5DF2\u7ECF\u5B58\u5728! \ No newline at end of file diff --git a/io.sc.platform.scheduler.core/src/main/resources/io/sc/platform/scheduler/core/i18n/messages.properties b/io.sc.platform.scheduler.core/src/main/resources/io/sc/platform/scheduler/core/i18n/messages.properties deleted file mode 100644 index 28e3d233..00000000 --- a/io.sc.platform.scheduler.core/src/main/resources/io/sc/platform/scheduler/core/i18n/messages.properties +++ /dev/null @@ -1,35 +0,0 @@ -io.sc.platform.scheduler.core.enums.BlockStrategy.SERIAL_EXECUTION=Serializable -io.sc.platform.scheduler.core.enums.BlockStrategy.DISCARD_LATER=Discard Later -io.sc.platform.scheduler.core.enums.BlockStrategy.COVER_EARLY=Cover Early - -io.sc.platform.scheduler.core.enums.ExecutorAddressType.AUTO=Auto -io.sc.platform.scheduler.core.enums.ExecutorAddressType.MANUAL=Manual - -io.sc.platform.scheduler.core.enums.ExecutorRouteStrategy.FIRST=First -io.sc.platform.scheduler.core.enums.ExecutorRouteStrategy.LAST=Last -io.sc.platform.scheduler.core.enums.ExecutorRouteStrategy.ROUND=Round -io.sc.platform.scheduler.core.enums.ExecutorRouteStrategy.RANDOM=Random -io.sc.platform.scheduler.core.enums.ExecutorRouteStrategy.CONSISTENT_HASH=Consistent Hash -io.sc.platform.scheduler.core.enums.ExecutorRouteStrategy.LEAST_FREQUENTLY_USED=Least Frequently Used -io.sc.platform.scheduler.core.enums.ExecutorRouteStrategy.LEAST_RECENTLY_USED=Least Recently Used -io.sc.platform.scheduler.core.enums.ExecutorRouteStrategy.FAILOVER=Failover -io.sc.platform.scheduler.core.enums.ExecutorRouteStrategy.BUSYOVER=Busyover -io.sc.platform.scheduler.core.enums.ExecutorRouteStrategy.SHARDING_BROADCAST=Sharding Broadcast - -io.sc.platform.scheduler.core.enums.ExpirationPolicy.DO_NOTHING=Do Nothing -io.sc.platform.scheduler.core.enums.ExpirationPolicy.FIRE_ONCE_NOW=Fire Once Now - -io.sc.platform.scheduler.core.enums.GlueType.BEAN=Bean -io.sc.platform.scheduler.core.enums.GlueType.GLUE_GROOVY=Groovy -io.sc.platform.scheduler.core.enums.GlueType.GLUE_SHELL=Shell -io.sc.platform.scheduler.core.enums.GlueType.GLUE_PYTHON=Python -io.sc.platform.scheduler.core.enums.GlueType.GLUE_PHP=Php -io.sc.platform.scheduler.core.enums.GlueType.GLUE_NODEJS=NodeJs -io.sc.platform.scheduler.core.enums.GlueType.GLUE_POWERSHELL=PowerShell - -io.sc.platform.scheduler.core.enums.TaskScheduleType.NONE=None -io.sc.platform.scheduler.core.enums.TaskScheduleType.CRON=Cron -io.sc.platform.scheduler.core.enums.TaskScheduleType.FIX_RATE=Fix Rate - -io.sc.platform.scheduler.core.enums.TriggerStatus.STOPED=Stoped -io.sc.platform.scheduler.core.enums.TriggerStatus.RUNNING=Running \ No newline at end of file diff --git a/io.sc.platform.scheduler.core/src/main/resources/io/sc/platform/scheduler/core/i18n/messages_tw_CN.properties b/io.sc.platform.scheduler.core/src/main/resources/io/sc/platform/scheduler/core/i18n/messages_tw_CN.properties deleted file mode 100644 index 7e81754e..00000000 --- a/io.sc.platform.scheduler.core/src/main/resources/io/sc/platform/scheduler/core/i18n/messages_tw_CN.properties +++ /dev/null @@ -1,35 +0,0 @@ -io.sc.platform.scheduler.core.enums.BlockStrategy.SERIAL_EXECUTION=\u55AE\u6A5F\u4E32\u884C -io.sc.platform.scheduler.core.enums.BlockStrategy.DISCARD_LATER=\u4E1F\u68C4\u5F8C\u7E8C\u8ABF\u5EA6 -io.sc.platform.scheduler.core.enums.BlockStrategy.COVER_EARLY=\u8986\u84CB\u5148\u524D\u8ABF\u5EA6 - -io.sc.platform.scheduler.core.enums.ExecutorAddressType.AUTO=\u81EA\u52D5\u8A3B\u518A -io.sc.platform.scheduler.core.enums.ExecutorAddressType.MANUAL=\u624B\u5DE5\u9304\u5165 - -io.sc.platform.scheduler.core.enums.ExecutorRouteStrategy.FIRST=\u7B2C\u4E00\u500B -io.sc.platform.scheduler.core.enums.ExecutorRouteStrategy.LAST=\u6700\u5F8C\u4E00\u500B -io.sc.platform.scheduler.core.enums.ExecutorRouteStrategy.ROUND=\u8F2A\u8A62 -io.sc.platform.scheduler.core.enums.ExecutorRouteStrategy.RANDOM=\u96A8\u6A5F -io.sc.platform.scheduler.core.enums.ExecutorRouteStrategy.CONSISTENT_HASH=\u4E00\u81F4\u6027 Hash -io.sc.platform.scheduler.core.enums.ExecutorRouteStrategy.LEAST_FREQUENTLY_USED=\u6700\u8FD1\u7D93\u5E38\u4F7F\u7528 -io.sc.platform.scheduler.core.enums.ExecutorRouteStrategy.LEAST_RECENTLY_USED=\u6700\u8FD1\u6700\u4E45\u672A\u4F7F\u7528 -io.sc.platform.scheduler.core.enums.ExecutorRouteStrategy.FAILOVER=\u6545\u969C\u8F49\u79FB -io.sc.platform.scheduler.core.enums.ExecutorRouteStrategy.BUSYOVER=\u5FD9\u788C\u8F49\u79FB -io.sc.platform.scheduler.core.enums.ExecutorRouteStrategy.SHARDING_BROADCAST=\u5206\u7247\u5EE3\u64AD - -io.sc.platform.scheduler.core.enums.ExpirationPolicy.DO_NOTHING=\u5FFD\u7565 -io.sc.platform.scheduler.core.enums.ExpirationPolicy.FIRE_ONCE_NOW=\u7ACB\u5373\u57F7\u884C\u4E00\u6B21 - -io.sc.platform.scheduler.core.enums.GlueType.BEAN=Bean -io.sc.platform.scheduler.core.enums.GlueType.GLUE_GROOVY=Groovy -io.sc.platform.scheduler.core.enums.GlueType.GLUE_SHELL=Shell -io.sc.platform.scheduler.core.enums.GlueType.GLUE_PYTHON=Python -io.sc.platform.scheduler.core.enums.GlueType.GLUE_PHP=Php -io.sc.platform.scheduler.core.enums.GlueType.GLUE_NODEJS=NodeJs -io.sc.platform.scheduler.core.enums.GlueType.GLUE_POWERSHELL=PowerShell - -io.sc.platform.scheduler.core.enums.TaskScheduleType.NONE=\u7121 -io.sc.platform.scheduler.core.enums.TaskScheduleType.CRON=Cron -io.sc.platform.scheduler.core.enums.TaskScheduleType.FIX_RATE=\u56FA\u5B9A\u9031\u671F - -io.sc.platform.scheduler.core.enums.TriggerStatus.STOPED=\u5DF2\u505C\u6B62 -io.sc.platform.scheduler.core.enums.TriggerStatus.RUNNING=\u904B\u884C\u4E2D \ No newline at end of file diff --git a/io.sc.platform.scheduler.core/src/main/resources/io/sc/platform/scheduler/core/i18n/messages_zh_CN.properties b/io.sc.platform.scheduler.core/src/main/resources/io/sc/platform/scheduler/core/i18n/messages_zh_CN.properties deleted file mode 100644 index 33917b36..00000000 --- a/io.sc.platform.scheduler.core/src/main/resources/io/sc/platform/scheduler/core/i18n/messages_zh_CN.properties +++ /dev/null @@ -1,35 +0,0 @@ -io.sc.platform.scheduler.core.enums.BlockStrategy.SERIAL_EXECUTION=\u5355\u673A\u4E32\u884C -io.sc.platform.scheduler.core.enums.BlockStrategy.DISCARD_LATER=\u4E22\u5F03\u540E\u7EED\u8C03\u5EA6 -io.sc.platform.scheduler.core.enums.BlockStrategy.COVER_EARLY=\u8986\u76D6\u5148\u524D\u8C03\u5EA6 - -io.sc.platform.scheduler.core.enums.ExecutorAddressType.AUTO=\u81EA\u52A8\u6CE8\u518C -io.sc.platform.scheduler.core.enums.ExecutorAddressType.MANUAL=\u624B\u5DE5\u5F55\u5165 - -io.sc.platform.scheduler.core.enums.ExecutorRouteStrategy.FIRST=\u7B2C\u4E00\u4E2A -io.sc.platform.scheduler.core.enums.ExecutorRouteStrategy.LAST=\u6700\u540E\u4E00\u4E2A -io.sc.platform.scheduler.core.enums.ExecutorRouteStrategy.ROUND=\u8F6E\u8BE2 -io.sc.platform.scheduler.core.enums.ExecutorRouteStrategy.RANDOM=\u968F\u673A -io.sc.platform.scheduler.core.enums.ExecutorRouteStrategy.CONSISTENT_HASH=\u4E00\u81F4\u6027 Hash -io.sc.platform.scheduler.core.enums.ExecutorRouteStrategy.LEAST_FREQUENTLY_USED=\u6700\u4E0D\u7ECF\u5E38\u4F7F\u7528 -io.sc.platform.scheduler.core.enums.ExecutorRouteStrategy.LEAST_RECENTLY_USED=\u6700\u8FD1\u6700\u4E45\u672A\u4F7F\u7528 -io.sc.platform.scheduler.core.enums.ExecutorRouteStrategy.FAILOVER=\u6545\u969C\u8F6C\u79FB -io.sc.platform.scheduler.core.enums.ExecutorRouteStrategy.BUSYOVER=\u5FD9\u788C\u8F6C\u4E49 -io.sc.platform.scheduler.core.enums.ExecutorRouteStrategy.SHARDING_BROADCAST=\u5206\u7247\u5E7F\u64AD - -io.sc.platform.scheduler.core.enums.ExpirationPolicy.DO_NOTHING=\u5FFD\u7565 -io.sc.platform.scheduler.core.enums.ExpirationPolicy.FIRE_ONCE_NOW=\u7ACB\u5373\u6267\u884C\u4E00\u6B21 - -io.sc.platform.scheduler.core.enums.GlueType.BEAN=Bean -io.sc.platform.scheduler.core.enums.GlueType.GLUE_GROOVY=Groovy -io.sc.platform.scheduler.core.enums.GlueType.GLUE_SHELL=Shell -io.sc.platform.scheduler.core.enums.GlueType.GLUE_PYTHON=Python -io.sc.platform.scheduler.core.enums.GlueType.GLUE_PHP=Php -io.sc.platform.scheduler.core.enums.GlueType.GLUE_NODEJS=NodeJs -io.sc.platform.scheduler.core.enums.GlueType.GLUE_POWERSHELL=PowerShell - -io.sc.platform.scheduler.core.enums.TaskScheduleType.NONE=\u65E0 -io.sc.platform.scheduler.core.enums.TaskScheduleType.CRON=Cron -io.sc.platform.scheduler.core.enums.TaskScheduleType.FIX_RATE=\u56FA\u5B9A\u5468\u671F - -io.sc.platform.scheduler.core.enums.TriggerStatus.STOPED=\u5DF2\u505C\u6B62 -io.sc.platform.scheduler.core.enums.TriggerStatus.RUNNING=\u8FD0\u884C\u4E2D \ No newline at end of file diff --git a/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/HandleCallbackParam.java b/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/HandleCallbackParam.java deleted file mode 100644 index ee7021b4..00000000 --- a/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/HandleCallbackParam.java +++ /dev/null @@ -1,64 +0,0 @@ -package io.sc.platform.scheduler.executor; - -import java.io.Serializable; - -public class HandleCallbackParam implements Serializable { - private static final long serialVersionUID = 42L; - - private long logId; - private long logDateTim; - - private int handleCode; - private String handleMsg; - - public HandleCallbackParam(){} - public HandleCallbackParam(long logId, long logDateTim, int handleCode, String handleMsg) { - this.logId = logId; - this.logDateTim = logDateTim; - this.handleCode = handleCode; - this.handleMsg = handleMsg; - } - - public long getLogId() { - return logId; - } - - public void setLogId(long logId) { - this.logId = logId; - } - - public long getLogDateTim() { - return logDateTim; - } - - public void setLogDateTim(long logDateTim) { - this.logDateTim = logDateTim; - } - - public int getHandleCode() { - return handleCode; - } - - public void setHandleCode(int handleCode) { - this.handleCode = handleCode; - } - - public String getHandleMsg() { - return handleMsg; - } - - public void setHandleMsg(String handleMsg) { - this.handleMsg = handleMsg; - } - - @Override - public String toString() { - return "HandleCallbackParam{" + - "logId=" + logId + - ", logDateTim=" + logDateTim + - ", handleCode=" + handleCode + - ", handleMsg='" + handleMsg + '\'' + - '}'; - } - -} diff --git a/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/JobHandler.java b/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/JobHandler.java deleted file mode 100644 index 605eb2d0..00000000 --- a/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/JobHandler.java +++ /dev/null @@ -1,11 +0,0 @@ -package io.sc.platform.scheduler.executor; - -public abstract class JobHandler { - public abstract void execute() throws Exception; - - public void init() throws Exception { - } - - public void destroy() throws Exception { - } -} diff --git a/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/LogResult.java b/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/LogResult.java deleted file mode 100644 index dbee9d38..00000000 --- a/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/LogResult.java +++ /dev/null @@ -1,56 +0,0 @@ -package io.sc.platform.scheduler.executor; - -import java.io.Serializable; - -/** - * Created by xuxueli on 17/3/23. - */ -public class LogResult implements Serializable { - private static final long serialVersionUID = 42L; - - public LogResult() { - } - public LogResult(int fromLineNum, int toLineNum, String logContent, boolean isEnd) { - this.fromLineNum = fromLineNum; - this.toLineNum = toLineNum; - this.logContent = logContent; - this.isEnd = isEnd; - } - - private int fromLineNum; - private int toLineNum; - private String logContent; - private boolean isEnd; - - public int getFromLineNum() { - return fromLineNum; - } - - public void setFromLineNum(int fromLineNum) { - this.fromLineNum = fromLineNum; - } - - public int getToLineNum() { - return toLineNum; - } - - public void setToLineNum(int toLineNum) { - this.toLineNum = toLineNum; - } - - public String getLogContent() { - return logContent; - } - - public void setLogContent(String logContent) { - this.logContent = logContent; - } - - public boolean isEnd() { - return isEnd; - } - - public void setEnd(boolean end) { - isEnd = end; - } -} diff --git a/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/RegistryConfig.java b/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/RegistryConfig.java deleted file mode 100644 index 3b344cd6..00000000 --- a/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/RegistryConfig.java +++ /dev/null @@ -1,13 +0,0 @@ -package io.sc.platform.scheduler.executor; - -/** - * Created by xuxueli on 17/5/10. - */ -public class RegistryConfig { - - public static final int BEAT_TIMEOUT = 30; - public static final int DEAD_TIMEOUT = BEAT_TIMEOUT * 3; - - public enum RegistType{ EXECUTOR, ADMIN } - -} diff --git a/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/RegistryParam.java b/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/RegistryParam.java deleted file mode 100644 index a1b83fb7..00000000 --- a/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/RegistryParam.java +++ /dev/null @@ -1,51 +0,0 @@ -package io.sc.platform.scheduler.executor; - -import java.io.Serializable; - -public class RegistryParam implements Serializable { - private static final long serialVersionUID = 42L; - - private String registryGroup; - private String registryKey; - private String registryValue; - - public RegistryParam(){} - public RegistryParam(String registryGroup, String registryKey, String registryValue) { - this.registryGroup = registryGroup; - this.registryKey = registryKey; - this.registryValue = registryValue; - } - - public String getRegistryGroup() { - return registryGroup; - } - - public void setRegistryGroup(String registryGroup) { - this.registryGroup = registryGroup; - } - - public String getRegistryKey() { - return registryKey; - } - - public void setRegistryKey(String registryKey) { - this.registryKey = registryKey; - } - - public String getRegistryValue() { - return registryValue; - } - - public void setRegistryValue(String registryValue) { - this.registryValue = registryValue; - } - - @Override - public String toString() { - return "RegistryParam{" + - "registryGroup='" + registryGroup + '\'' + - ", registryKey='" + registryKey + '\'' + - ", registryValue='" + registryValue + '\'' + - '}'; - } -} diff --git a/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/ReturnT.java b/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/ReturnT.java deleted file mode 100644 index ce0519b6..00000000 --- a/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/ReturnT.java +++ /dev/null @@ -1,57 +0,0 @@ -package io.sc.platform.scheduler.executor; - -import java.io.Serializable; - -/** - * common return - * @author xuxueli 2015-12-4 16:32:31 - * @param - */ -public class ReturnT implements Serializable { - public static final long serialVersionUID = 42L; - - public static final int SUCCESS_CODE = 200; - public static final int FAIL_CODE = 500; - - public static final ReturnT SUCCESS = new ReturnT(null); - public static final ReturnT FAIL = new ReturnT(FAIL_CODE, null); - - private int code; - private String msg; - private T content; - - public ReturnT(){} - public ReturnT(int code, String msg) { - this.code = code; - this.msg = msg; - } - public ReturnT(T content) { - this.code = SUCCESS_CODE; - this.content = content; - } - - public int getCode() { - return code; - } - public void setCode(int code) { - this.code = code; - } - public String getMsg() { - return msg; - } - public void setMsg(String msg) { - this.msg = msg; - } - public T getContent() { - return content; - } - public void setContent(T content) { - this.content = content; - } - - @Override - public String toString() { - return "ReturnT [code=" + code + ", msg=" + msg + ", content=" + content + "]"; - } - -} diff --git a/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/TriggerParam.java b/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/TriggerParam.java deleted file mode 100644 index 9d2ed421..00000000 --- a/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/TriggerParam.java +++ /dev/null @@ -1,139 +0,0 @@ -package io.sc.platform.scheduler.executor; - -import java.io.Serializable; - -public class TriggerParam implements Serializable{ - private static final long serialVersionUID = 42L; - private int jobId; - private String executorHandler; - private String executorParams; - private String executorBlockStrategy; - private int executorTimeout; - - private long logId; - private long logDateTime; - - private String glueType; - private String glueSource; - private long glueUpdatetime; - - private int broadcastIndex; - private int broadcastTotal; - - - public int getJobId() { - return jobId; - } - - public void setJobId(int jobId) { - this.jobId = jobId; - } - - public String getExecutorHandler() { - return executorHandler; - } - - public void setExecutorHandler(String executorHandler) { - this.executorHandler = executorHandler; - } - - public String getExecutorParams() { - return executorParams; - } - - public void setExecutorParams(String executorParams) { - this.executorParams = executorParams; - } - - public String getExecutorBlockStrategy() { - return executorBlockStrategy; - } - - public void setExecutorBlockStrategy(String executorBlockStrategy) { - this.executorBlockStrategy = executorBlockStrategy; - } - - public int getExecutorTimeout() { - return executorTimeout; - } - - public void setExecutorTimeout(int executorTimeout) { - this.executorTimeout = executorTimeout; - } - - public long getLogId() { - return logId; - } - - public void setLogId(long logId) { - this.logId = logId; - } - - public long getLogDateTime() { - return logDateTime; - } - - public void setLogDateTime(long logDateTime) { - this.logDateTime = logDateTime; - } - - public String getGlueType() { - return glueType; - } - - public void setGlueType(String glueType) { - this.glueType = glueType; - } - - public String getGlueSource() { - return glueSource; - } - - public void setGlueSource(String glueSource) { - this.glueSource = glueSource; - } - - public long getGlueUpdatetime() { - return glueUpdatetime; - } - - public void setGlueUpdatetime(long glueUpdatetime) { - this.glueUpdatetime = glueUpdatetime; - } - - public int getBroadcastIndex() { - return broadcastIndex; - } - - public void setBroadcastIndex(int broadcastIndex) { - this.broadcastIndex = broadcastIndex; - } - - public int getBroadcastTotal() { - return broadcastTotal; - } - - public void setBroadcastTotal(int broadcastTotal) { - this.broadcastTotal = broadcastTotal; - } - - - @Override - public String toString() { - return "TriggerParam{" + - "jobId=" + jobId + - ", executorHandler='" + executorHandler + '\'' + - ", executorParams='" + executorParams + '\'' + - ", executorBlockStrategy='" + executorBlockStrategy + '\'' + - ", executorTimeout=" + executorTimeout + - ", logId=" + logId + - ", logDateTime=" + logDateTime + - ", glueType='" + glueType + '\'' + - ", glueSource='" + glueSource + '\'' + - ", glueUpdatetime=" + glueUpdatetime + - ", broadcastIndex=" + broadcastIndex + - ", broadcastTotal=" + broadcastTotal + - '}'; - } - -} diff --git a/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/XxlJobContext.java b/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/XxlJobContext.java deleted file mode 100644 index bdc7df0c..00000000 --- a/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/XxlJobContext.java +++ /dev/null @@ -1,79 +0,0 @@ -package io.sc.platform.scheduler.executor; - -/** - * xxl-job context - * - * @author xuxueli 2020-05-21 - * [Dear hj] - */ -public class XxlJobContext { - public static final int HANDLE_CODE_SUCCESS = 200; - public static final int HANDLE_CODE_FAIL = 500; - public static final int HANDLE_CODE_TIMEOUT = 502; - - private static InheritableThreadLocal contextHolder = new InheritableThreadLocal(); // support for child thread of job handler) - - public static void setXxlJobContext(XxlJobContext xxlJobContext){ - contextHolder.set(xxlJobContext); - } - - public static XxlJobContext getXxlJobContext(){ - return contextHolder.get(); - } - - private final long jobId; - private final String jobParam; - private final String jobLogFileName; - private final int shardIndex; - private final int shardTotal; - private int handleCode; - private String handleMsg; - - - - - public XxlJobContext(long jobId, String jobParam, String jobLogFileName, int shardIndex, int shardTotal) { - this.jobId = jobId; - this.jobParam = jobParam; - this.jobLogFileName = jobLogFileName; - this.shardIndex = shardIndex; - this.shardTotal = shardTotal; - this.handleCode = HANDLE_CODE_SUCCESS; // default success - } - - public long getJobId() { - return jobId; - } - - public String getJobParam() { - return jobParam; - } - - public String getJobLogFileName() { - return jobLogFileName; - } - - public int getShardIndex() { - return shardIndex; - } - - public int getShardTotal() { - return shardTotal; - } - - public void setHandleCode(int handleCode) { - this.handleCode = handleCode; - } - - public int getHandleCode() { - return handleCode; - } - - public void setHandleMsg(String handleMsg) { - this.handleMsg = handleMsg; - } - - public String getHandleMsg() { - return handleMsg; - } -} \ No newline at end of file diff --git a/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/XxlJobExecutor.java b/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/XxlJobExecutor.java deleted file mode 100644 index e7c7d8d6..00000000 --- a/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/XxlJobExecutor.java +++ /dev/null @@ -1,96 +0,0 @@ -package io.sc.platform.scheduler.executor; - -import io.sc.platform.scheduler.executor.thread.JobLogFileCleanThread; -import io.sc.platform.scheduler.executor.thread.TriggerCallbackThread; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.util.ArrayList; -import java.util.List; - -/** - * Created by xuxueli on 2016/3/2 21:14. - */ -public class XxlJobExecutor { - private static final Logger logger = LoggerFactory.getLogger(XxlJobExecutor.class); - - // ---------------------- param ---------------------- - private String adminAddresses; - private String accessToken; - private String appname; - private String address; - private String ip; - private int port; - private String logPath; - private int logRetentionDays; - - public void setAdminAddresses(String adminAddresses) { - this.adminAddresses = adminAddresses; - } - public void setAccessToken(String accessToken) { - this.accessToken = accessToken; - } - public void setAppname(String appname) { - this.appname = appname; - } - public void setAddress(String address) { - this.address = address; - } - public void setIp(String ip) { - this.ip = ip; - } - public void setPort(int port) { - this.port = port; - } - public void setLogPath(String logPath) { - this.logPath = logPath; - } - public void setLogRetentionDays(int logRetentionDays) { - this.logRetentionDays = logRetentionDays; - } - - - // ---------------------- start + stop ---------------------- - public void start() throws Exception { - - // init logpath - XxlJobFileAppender.initLogPath(logPath); - - // init invoker, admin-client - initAdminBizList(adminAddresses, accessToken); - - - // init JobLogFileCleanThread - JobLogFileCleanThread.getInstance().start(logRetentionDays); - - // init TriggerCallbackThread - TriggerCallbackThread.getInstance().start(); - - // init executor-server - } - - - - // ---------------------- admin-client (rpc invoker) ---------------------- - private static List adminBizList; - private void initAdminBizList(String adminAddresses, String accessToken) throws Exception { - if (adminAddresses!=null && adminAddresses.trim().length()>0) { - for (String address: adminAddresses.trim().split(",")) { - if (address!=null && address.trim().length()>0) { - - AdminBiz adminBiz = new AdminBizClient(address.trim(), accessToken); - - if (adminBizList == null) { - adminBizList = new ArrayList(); - } - adminBizList.add(adminBiz); - } - } - } - } - - public static List getAdminBizList(){ - return adminBizList; - } - -} diff --git a/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/XxlJobFileAppender.java b/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/XxlJobFileAppender.java deleted file mode 100644 index 5470fe96..00000000 --- a/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/XxlJobFileAppender.java +++ /dev/null @@ -1,219 +0,0 @@ -package io.sc.platform.scheduler.executor; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.io.*; -import java.text.SimpleDateFormat; -import java.util.Date; - -/** - * store trigger log in each log-file - * @author xuxueli 2016-3-12 19:25:12 - */ -public class XxlJobFileAppender { - private static Logger logger = LoggerFactory.getLogger(XxlJobFileAppender.class); - - /** - * log base path - * - * strut like: - * ---/ - * ---/gluesource/ - * ---/gluesource/10_1514171108000.js - * ---/gluesource/10_1514171108000.js - * ---/2017-12-25/ - * ---/2017-12-25/639.log - * ---/2017-12-25/821.log - * - */ - private static String logBasePath = "/data/applogs/xxl-job/jobhandler"; - private static String glueSrcPath = logBasePath.concat("/gluesource"); - public static void initLogPath(String logPath){ - // init - if (logPath!=null && logPath.trim().length()>0) { - logBasePath = logPath; - } - // mk base dir - File logPathDir = new File(logBasePath); - if (!logPathDir.exists()) { - logPathDir.mkdirs(); - } - logBasePath = logPathDir.getPath(); - - // mk glue dir - File glueBaseDir = new File(logPathDir, "gluesource"); - if (!glueBaseDir.exists()) { - glueBaseDir.mkdirs(); - } - glueSrcPath = glueBaseDir.getPath(); - } - public static String getLogPath() { - return logBasePath; - } - public static String getGlueSrcPath() { - return glueSrcPath; - } - - /** - * log filename, like "logPath/yyyy-MM-dd/9999.log" - * - * @param triggerDate - * @param logId - * @return - */ - public static String makeLogFileName(Date triggerDate, long logId) { - - // filePath/yyyy-MM-dd - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); // avoid concurrent problem, can not be static - File logFilePath = new File(getLogPath(), sdf.format(triggerDate)); - if (!logFilePath.exists()) { - logFilePath.mkdir(); - } - - // filePath/yyyy-MM-dd/9999.log - String logFileName = logFilePath.getPath() - .concat(File.separator) - .concat(String.valueOf(logId)) - .concat(".log"); - return logFileName; - } - - /** - * append log - * - * @param logFileName - * @param appendLog - */ - public static void appendLog(String logFileName, String appendLog) { - - // log file - if (logFileName==null || logFileName.trim().length()==0) { - return; - } - File logFile = new File(logFileName); - - if (!logFile.exists()) { - try { - logFile.createNewFile(); - } catch (IOException e) { - logger.error(e.getMessage(), e); - return; - } - } - - // log - if (appendLog == null) { - appendLog = ""; - } - appendLog += "\r\n"; - - // append file content - FileOutputStream fos = null; - try { - fos = new FileOutputStream(logFile, true); - fos.write(appendLog.getBytes("utf-8")); - fos.flush(); - } catch (Exception e) { - logger.error(e.getMessage(), e); - } finally { - if (fos != null) { - try { - fos.close(); - } catch (IOException e) { - logger.error(e.getMessage(), e); - } - } - } - - } - - /** - * support read log-file - * - * @param logFileName - * @return log content - */ - public static LogResult readLog(String logFileName, int fromLineNum){ - - // valid log file - if (logFileName==null || logFileName.trim().length()==0) { - return new LogResult(fromLineNum, 0, "readLog fail, logFile not found", true); - } - File logFile = new File(logFileName); - - if (!logFile.exists()) { - return new LogResult(fromLineNum, 0, "readLog fail, logFile not exists", true); - } - - // read file - StringBuffer logContentBuffer = new StringBuffer(); - int toLineNum = 0; - LineNumberReader reader = null; - try { - //reader = new LineNumberReader(new FileReader(logFile)); - reader = new LineNumberReader(new InputStreamReader(new FileInputStream(logFile), "utf-8")); - String line = null; - - while ((line = reader.readLine())!=null) { - toLineNum = reader.getLineNumber(); // [from, to], start as 1 - if (toLineNum >= fromLineNum) { - logContentBuffer.append(line).append("\n"); - } - } - } catch (IOException e) { - logger.error(e.getMessage(), e); - } finally { - if (reader != null) { - try { - reader.close(); - } catch (IOException e) { - logger.error(e.getMessage(), e); - } - } - } - - // result - LogResult logResult = new LogResult(fromLineNum, toLineNum, logContentBuffer.toString(), false); - return logResult; - - /* - // it will return the number of characters actually skipped - reader.skip(Long.MAX_VALUE); - int maxLineNum = reader.getLineNumber(); - maxLineNum++; // 最大行号 - */ - } - - /** - * read log data - * @param logFile - * @return log line content - */ - public static String readLines(File logFile){ - BufferedReader reader = null; - try { - reader = new BufferedReader(new InputStreamReader(new FileInputStream(logFile), "utf-8")); - if (reader != null) { - StringBuilder sb = new StringBuilder(); - String line = null; - while ((line = reader.readLine()) != null) { - sb.append(line).append("\n"); - } - return sb.toString(); - } - } catch (IOException e) { - logger.error(e.getMessage(), e); - } finally { - if (reader != null) { - try { - reader.close(); - } catch (IOException e) { - logger.error(e.getMessage(), e); - } - } - } - return null; - } - -} diff --git a/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/XxlJobHelper.java b/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/XxlJobHelper.java deleted file mode 100644 index 38cb2efc..00000000 --- a/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/XxlJobHelper.java +++ /dev/null @@ -1,202 +0,0 @@ -package io.sc.platform.scheduler.executor; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.slf4j.helpers.FormattingTuple; -import org.slf4j.helpers.MessageFormatter; - -import java.io.PrintWriter; -import java.io.StringWriter; -import java.util.Date; -import io.sc.platform.scheduler.executor.util.DateUtil; - -/** - * helper for xxl-job - * - * @author xuxueli 2020-11-05 - */ -public class XxlJobHelper { - private static Logger logger = LoggerFactory.getLogger("xxl-job logger"); - - public static long getJobId() { - XxlJobContext xxlJobContext = XxlJobContext.getXxlJobContext(); - if (xxlJobContext == null) { - return -1; - } - return xxlJobContext.getJobId(); - } - - public static String getJobParam() { - XxlJobContext xxlJobContext = XxlJobContext.getXxlJobContext(); - if (xxlJobContext == null) { - return null; - } - return xxlJobContext.getJobParam(); - } - - public static String getJobLogFileName() { - XxlJobContext xxlJobContext = XxlJobContext.getXxlJobContext(); - if (xxlJobContext == null) { - return null; - } - return xxlJobContext.getJobLogFileName(); - } - - public static int getShardIndex() { - XxlJobContext xxlJobContext = XxlJobContext.getXxlJobContext(); - if (xxlJobContext == null) { - return -1; - } - return xxlJobContext.getShardIndex(); - } - - public static int getShardTotal() { - XxlJobContext xxlJobContext = XxlJobContext.getXxlJobContext(); - if (xxlJobContext == null) { - return -1; - } - return xxlJobContext.getShardTotal(); - } - - /** - * append log with pattern - * - * @param appendLogPattern like "aaa {} bbb {} ccc" - * @param appendLogArguments like "111, true" - */ - public static boolean log(String appendLogPattern, Object ... appendLogArguments) { - FormattingTuple ft = MessageFormatter.arrayFormat(appendLogPattern, appendLogArguments); - String appendLog = ft.getMessage(); - StackTraceElement callInfo = new Throwable().getStackTrace()[1]; - return logDetail(callInfo, appendLog); - } - - /** - * append exception stack - * - * @param e - */ - public static boolean log(Throwable e) { - StringWriter stringWriter = new StringWriter(); - e.printStackTrace(new PrintWriter(stringWriter)); - String appendLog = stringWriter.toString(); - StackTraceElement callInfo = new Throwable().getStackTrace()[1]; - return logDetail(callInfo, appendLog); - } - - /** - * append log - * - * @param callInfo - * @param appendLog - */ - private static boolean logDetail(StackTraceElement callInfo, String appendLog) { - XxlJobContext xxlJobContext = XxlJobContext.getXxlJobContext(); - if (xxlJobContext == null) { - return false; - } - - StringBuffer stringBuffer = new StringBuffer(); - stringBuffer.append(DateUtil.formatDateTime(new Date())).append(" ") - .append("["+ callInfo.getClassName() + "#" + callInfo.getMethodName() +"]").append("-") - .append("["+ callInfo.getLineNumber() +"]").append("-") - .append("["+ Thread.currentThread().getName() +"]").append(" ") - .append(appendLog!=null?appendLog:""); - String formatAppendLog = stringBuffer.toString(); - - // appendlog - String logFileName = xxlJobContext.getJobLogFileName(); - - if (logFileName!=null && logFileName.trim().length()>0) { - XxlJobFileAppender.appendLog(logFileName, formatAppendLog); - return true; - } else { - logger.info(">>>>>>>>>>> {}", formatAppendLog); - return false; - } - } - - // ---------------------- tool for handleResult ---------------------- - - /** - * handle success - * - * @return - */ - public static boolean handleSuccess(){ - return handleResult(XxlJobContext.HANDLE_CODE_SUCCESS, null); - } - - /** - * handle success with log msg - * - * @param handleMsg - * @return - */ - public static boolean handleSuccess(String handleMsg) { - return handleResult(XxlJobContext.HANDLE_CODE_SUCCESS, handleMsg); - } - - /** - * handle fail - * - * @return - */ - public static boolean handleFail(){ - return handleResult(XxlJobContext.HANDLE_CODE_FAIL, null); - } - - /** - * handle fail with log msg - * - * @param handleMsg - * @return - */ - public static boolean handleFail(String handleMsg) { - return handleResult(XxlJobContext.HANDLE_CODE_FAIL, handleMsg); - } - - /** - * handle timeout - * - * @return - */ - public static boolean handleTimeout(){ - return handleResult(XxlJobContext.HANDLE_CODE_TIMEOUT, null); - } - - /** - * handle timeout with log msg - * - * @param handleMsg - * @return - */ - public static boolean handleTimeout(String handleMsg){ - return handleResult(XxlJobContext.HANDLE_CODE_TIMEOUT, handleMsg); - } - - /** - * @param handleCode - * - * 200 : success - * 500 : fail - * 502 : timeout - * - * @param handleMsg - * @return - */ - public static boolean handleResult(int handleCode, String handleMsg) { - XxlJobContext xxlJobContext = XxlJobContext.getXxlJobContext(); - if (xxlJobContext == null) { - return false; - } - - xxlJobContext.setHandleCode(handleCode); - if (handleMsg != null) { - xxlJobContext.setHandleMsg(handleMsg); - } - return true; - } - - -} diff --git a/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/client/ExecutorCallbackClient.java b/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/client/ExecutorCallbackClient.java deleted file mode 100644 index c6b85a9d..00000000 --- a/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/client/ExecutorCallbackClient.java +++ /dev/null @@ -1,7 +0,0 @@ -package io.sc.platform.scheduler.executor.client; - -import io.sc.platform.scheduler.core.TaskLog; - -public interface ExecutorCallbackClient { - public void callback(String url, TaskLog taskLog); -} diff --git a/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/client/ExecutorRegistryClient.java b/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/client/ExecutorRegistryClient.java index 25721783..aad42a16 100644 --- a/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/client/ExecutorRegistryClient.java +++ b/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/client/ExecutorRegistryClient.java @@ -1,8 +1,6 @@ package io.sc.platform.scheduler.executor.client; -import io.sc.platform.scheduler.core.ExecutorRegistry; - public interface ExecutorRegistryClient { - public boolean registry(String url, ExecutorRegistry executorRegistry); - public boolean unRegistry(String url, ExecutorRegistry executorRegistry); + public boolean registry(); + public boolean unRegistry(); } diff --git a/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/component/ExecutorInitializer.java b/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/client/component/ExecutorInitializer.java similarity index 87% rename from io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/component/ExecutorInitializer.java rename to io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/client/component/ExecutorInitializer.java index 62bf9faa..9756b09e 100644 --- a/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/component/ExecutorInitializer.java +++ b/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/client/component/ExecutorInitializer.java @@ -1,7 +1,7 @@ -package io.sc.platform.scheduler.executor.component; +package io.sc.platform.scheduler.executor.client.component; import io.sc.platform.core.service.RuntimeService; -import io.sc.platform.scheduler.executor.thread.ExecutorRegistryThread; +import io.sc.platform.scheduler.executor.client.support.ExecutorRegistryThread; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.context.event.ApplicationReadyEvent; import org.springframework.cloud.context.environment.EnvironmentChangeEvent; @@ -13,7 +13,7 @@ import org.springframework.stereotype.Component; import java.util.Set; -@Component +@Component("io.sc.platform.scheduler.executor.client.component.ExecutorInitializer") public class ExecutorInitializer implements ApplicationListener { @Autowired private ApplicationContext applicationContext; @Autowired private RuntimeService runtimeService; @@ -44,7 +44,7 @@ public class ExecutorInitializer implements ApplicationListener changedKeys = event.getKeys(); for (String key : changedKeys) { // 如果是数据源配置信息发生变化 - if (key.startsWith("job.manager.urls[")) { + if (key.startsWith("scheduler.manager.urls[")) { if (registryThread != null) { registryThread.shutdown(); } diff --git a/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/client/impl/ExecutorCallbackClientImpl.java b/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/client/impl/ExecutorCallbackClientImpl.java deleted file mode 100644 index 449f2acc..00000000 --- a/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/client/impl/ExecutorCallbackClientImpl.java +++ /dev/null @@ -1,27 +0,0 @@ -package io.sc.platform.scheduler.executor.client.impl; - -import io.sc.platform.core.response.ResponseWrapper; -import io.sc.platform.core.util.UrlUtil; -import io.sc.platform.scheduler.core.TaskLog; -import io.sc.platform.scheduler.executor.client.ExecutorCallbackClient; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.web.client.RestClientException; -import org.springframework.web.client.RestTemplate; - -@Service -public class ExecutorCallbackClientImpl implements ExecutorCallbackClient { - private static final Logger logger = LoggerFactory.getLogger(ExecutorCallbackClientImpl.class); - @Autowired private RestTemplate restTemplate; - - @Override - public void callback(String url, TaskLog taskLog) { - try { - ResponseWrapper response = restTemplate.postForObject(UrlUtil.concatUrl(url,"callback"), taskLog, ResponseWrapper.class); - }catch (RestClientException e){ - logger.error("",e); - } - } -} diff --git a/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/client/impl/ExecutorRegistryClientImpl.java b/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/client/impl/ExecutorRegistryClientImpl.java index fdd42a10..c94a42cb 100644 --- a/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/client/impl/ExecutorRegistryClientImpl.java +++ b/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/client/impl/ExecutorRegistryClientImpl.java @@ -1,40 +1,107 @@ package io.sc.platform.scheduler.executor.client.impl; +import io.sc.platform.core.Environment; import io.sc.platform.core.response.ResponseWrapper; +import io.sc.platform.core.util.IpUtil; import io.sc.platform.core.util.UrlUtil; -import io.sc.platform.scheduler.core.ExecutorRegistry; +import io.sc.platform.scheduler.core.vo.ExecutorRegistry; +import io.sc.platform.scheduler.core.configure.ExecutorProperties; +import io.sc.platform.scheduler.core.configure.ManagerProperties; import io.sc.platform.scheduler.executor.client.ExecutorRegistryClient; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.ApplicationContext; import org.springframework.stereotype.Service; +import org.springframework.util.StringUtils; import org.springframework.web.client.RestClientException; import org.springframework.web.client.RestTemplate; -@Service +import javax.annotation.PostConstruct; +import java.util.Collections; +import java.util.Set; + +@Service("io.sc.platform.scheduler.executor.client.impl.ExecutorRegistryClientImpl") public class ExecutorRegistryClientImpl implements ExecutorRegistryClient { - private static final Logger logger = LoggerFactory.getLogger(ExecutorRegistryClientImpl.class); + private static final Logger log = LoggerFactory.getLogger(ExecutorRegistryClientImpl.class); + private static final String REGISTRY_PATH ="/api/scheduler/manager/executorRegistry/registry"; + private static final String UN_REGISTRY_PATH ="/api/scheduler/manager/executorRegistry/unRegistry"; + @Autowired private ApplicationContext applicationContext; + @Autowired private ManagerProperties managerProperties; + @Autowired private ExecutorProperties executorProperties; @Autowired private RestTemplate restTemplate; + private ExecutorRegistry executorRegistry; + private String successManagerUrl;//已经注册成功的调度管理器URL + + @PostConstruct + public void initExecutorRegistryClientImpl(){ + executorRegistry =new ExecutorRegistry(); + executorRegistry.setApplicationName(Environment.getInstance().getApplicationName()); + executorRegistry.setName(executorProperties.getName()); + + //构建执行器 URL + StringBuilder url =new StringBuilder(); + url.append(applicationContext.getEnvironment().getProperty("server.ssl.enabled",Boolean.class,false)?"https":"http"); + url.append("://").append(IpUtil.getLocalIp()); + url.append(":").append(applicationContext.getEnvironment().getProperty("server.port",String.class,"8080")); + url.append(applicationContext.getEnvironment().getProperty("server.servlet.context-path",String.class,"/")); + executorRegistry.setUrl(url.toString()); + } @Override - public boolean registry(String url, ExecutorRegistry executorRegistry) { - try { - ResponseWrapper response = restTemplate.postForObject(UrlUtil.concatUrl(url,"registry"), executorRegistry, ResponseWrapper.class); - return response.isSuccess(); - }catch (RestClientException e){ - logger.error("",e); - return false; - } + public boolean registry() { + return doManagerRegistryHttpRequest(REGISTRY_PATH); } @Override - public boolean unRegistry(String url, ExecutorRegistry executorRegistry) { - try { - ResponseWrapper response = restTemplate.postForObject(UrlUtil.concatUrl(url,"unRegistry"), executorRegistry, ResponseWrapper.class); - return response.isSuccess(); - }catch (RestClientException e){ - logger.error("",e); - return false; + public boolean unRegistry() { + return doManagerRegistryHttpRequest(UN_REGISTRY_PATH); + } + + private boolean doManagerRegistryHttpRequest(String path){ + boolean success =false; + if(StringUtils.hasText(successManagerUrl)){ + try { + ResponseWrapper response = restTemplate.postForObject(successManagerUrl, executorRegistry, ResponseWrapper.class); + if(response!=null) { + success = response.isSuccess(); + } + }catch (RestClientException e){ + log.error("failed registry to " + successManagerUrl,e); + } + } + if(!success){ + Set managerUrls =getManagerUrls(); + for(String managerUrl : managerUrls){ + String url =UrlUtil.concatUrl(managerUrl,path).trim(); + try { + ResponseWrapper response = restTemplate.postForObject(url, executorRegistry, ResponseWrapper.class); + if(response!=null){ + success =response.isSuccess(); + } + if(success){ + successManagerUrl =url; + break; + } + }catch (RestClientException e){ + log.error("failed registry to " + url,e); + } + } + } + if(success){ + log.info("success registry to " + successManagerUrl); + } + return success; + } + + private Set getManagerUrls(){ + if(managerProperties==null || managerProperties.getUrls()==null || managerProperties.getUrls().isEmpty()){ + StringBuilder sb =new StringBuilder("scheduler.manager.urls property NOT set in application.properties, e.x.").append("\n"); + sb.append("scheduler.manager.urls[0]=http://localhost:8080/api/scheduler/manager/executor").append("\n"); + sb.append("scheduler.manager.urls[1]=http://192.168.1.100:8080/api/scheduler/manager/executor").append("\n"); + log.error(sb.toString()); + return Collections.emptySet(); } + return managerProperties.getUrls(); } } diff --git a/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/client/support/ExecutorRegistryThread.java b/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/client/support/ExecutorRegistryThread.java new file mode 100644 index 00000000..7a12a5d1 --- /dev/null +++ b/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/client/support/ExecutorRegistryThread.java @@ -0,0 +1,39 @@ +package io.sc.platform.scheduler.executor.client.support; + +import io.sc.platform.scheduler.executor.client.ExecutorRegistryClient; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.context.ApplicationContext; + +import java.util.concurrent.TimeUnit; + +public class ExecutorRegistryThread extends Thread { + private static final Logger log = LoggerFactory.getLogger(ExecutorRegistryThread.class); + private static final int BEAT_TIMEOUT =30; + private ExecutorRegistryClient executorRegistryClient; + private volatile boolean running = true; + + public ExecutorRegistryThread(ApplicationContext applicationContext){ + this.executorRegistryClient =applicationContext.getBean(ExecutorRegistryClient.class); + } + + public void shutdown(){ + this.running =false; + } + + @Override + public void run() { + //固定频率注册 + while(running){ + executorRegistryClient.registry(); + try { + if (running) { TimeUnit.SECONDS.sleep(BEAT_TIMEOUT); } + } catch (InterruptedException e) { + if (running) { log.warn("executor registry thread interrupted, error msg:{}", e.getMessage()); } + } + } + + //停止或打断后反注册 + executorRegistryClient.unRegistry(); + } +} diff --git a/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/configure/ExecutorConfigurationAutoConfiguration.java b/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/configure/ExecutorConfigurationAutoConfiguration.java deleted file mode 100644 index 1cbfb426..00000000 --- a/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/configure/ExecutorConfigurationAutoConfiguration.java +++ /dev/null @@ -1,9 +0,0 @@ -package io.sc.platform.scheduler.executor.configure; - -import org.springframework.boot.context.properties.EnableConfigurationProperties; -import org.springframework.context.annotation.Configuration; - -@Configuration -@EnableConfigurationProperties({ManagerProperties.class}) -public class ExecutorConfigurationAutoConfiguration { -} diff --git a/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/manager/JobHandlerManager.java b/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/manager/JobHandlerManager.java deleted file mode 100644 index 061fbee2..00000000 --- a/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/manager/JobHandlerManager.java +++ /dev/null @@ -1,22 +0,0 @@ -package io.sc.platform.scheduler.executor.manager; - -import io.sc.platform.scheduler.executor.JobHandler; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.ConcurrentMap; - -public class JobHandlerManager { - private static Logger logger = LoggerFactory.getLogger(JobHandlerManager.class); - private static ConcurrentMap jobHandlerRepository = new ConcurrentHashMap(); - - public static JobHandler loadJobHandler(String name){ - return jobHandlerRepository.get(name); - } - public static JobHandler registJobHandler(String name, JobHandler jobHandler){ - logger.info("register jobhandler success, name:{}, jobHandler:{}", name, jobHandler); - return jobHandlerRepository.put(name, jobHandler); - } - -} diff --git a/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/manager/JobThreadManager.java b/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/manager/JobThreadManager.java deleted file mode 100644 index 94eb0db1..00000000 --- a/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/manager/JobThreadManager.java +++ /dev/null @@ -1,43 +0,0 @@ -package io.sc.platform.scheduler.executor.manager; - -import io.sc.platform.scheduler.executor.JobHandler; -import io.sc.platform.scheduler.executor.thread.JobThread; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.ConcurrentMap; - -public class JobThreadManager { - private static Logger logger = LoggerFactory.getLogger(JobThreadManager.class); - private static ConcurrentMap jobThreadRepository = new ConcurrentHashMap(); - - public static JobThread registJobThread(String jobId, JobHandler handler, String removeOldReason){ - JobThread newJobThread = new JobThread(jobId, handler); - newJobThread.start(); - logger.info("regist JobThread success, jobId:{}, handler:{}", new Object[]{jobId, handler}); - - JobThread oldJobThread = jobThreadRepository.put(jobId, newJobThread); // putIfAbsent | oh my god, map's put method return the old value!!! - if (oldJobThread != null) { - oldJobThread.toStop(removeOldReason); - oldJobThread.interrupt(); - } - - return newJobThread; - } - - public static JobThread removeJobThread(String jobId, String removeOldReason){ - JobThread oldJobThread = jobThreadRepository.remove(jobId); - if (oldJobThread != null) { - oldJobThread.toStop(removeOldReason); - oldJobThread.interrupt(); - - return oldJobThread; - } - return null; - } - - public static JobThread loadJobThread(String jobId){ - return jobThreadRepository.get(jobId); - } -} diff --git a/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/manager/RegistryManager.java b/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/manager/RegistryManager.java deleted file mode 100644 index e781625f..00000000 --- a/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/manager/RegistryManager.java +++ /dev/null @@ -1,16 +0,0 @@ -package io.sc.platform.scheduler.executor.manager; - -import io.sc.platform.scheduler.executor.configure.ManagerProperties; - -public class RegistryManager { - private ManagerProperties managerProperties; - - private static class RegistryManagerHolder{ - private static RegistryManager instance =new RegistryManager(); - } - - private RegistryManager(){} - public static RegistryManager getInstance(){ - return RegistryManagerHolder.instance; - } -} diff --git a/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/server/configure/ExecutorConfigurationAutoConfiguration.java b/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/server/configure/ExecutorConfigurationAutoConfiguration.java new file mode 100644 index 00000000..4e682742 --- /dev/null +++ b/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/server/configure/ExecutorConfigurationAutoConfiguration.java @@ -0,0 +1,11 @@ +package io.sc.platform.scheduler.executor.server.configure; + +import io.sc.platform.scheduler.core.configure.ExecutorProperties; +import io.sc.platform.scheduler.core.configure.ManagerProperties; +import org.springframework.boot.context.properties.EnableConfigurationProperties; +import org.springframework.context.annotation.Configuration; + +@Configuration +@EnableConfigurationProperties({ManagerProperties.class, ExecutorProperties.class}) +public class ExecutorConfigurationAutoConfiguration { +} diff --git a/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/controller/ExecutorWebController.java b/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/server/controller/ExecutorWebController.java similarity index 69% rename from io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/controller/ExecutorWebController.java rename to io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/server/controller/ExecutorWebController.java index c030ff2e..8922143a 100644 --- a/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/controller/ExecutorWebController.java +++ b/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/server/controller/ExecutorWebController.java @@ -1,13 +1,12 @@ -package io.sc.platform.scheduler.executor.controller; +package io.sc.platform.scheduler.executor.server.controller; -import io.sc.platform.scheduler.executor.service.ExecutorService; -import org.springframework.stereotype.Controller; +import io.sc.platform.scheduler.executor.server.service.ExecutorService; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; -@RestController -@RequestMapping("/api/scheduler/executor") +@RestController("io.sc.platform.scheduler.executor.server.controller.ExecutorWebController") +@RequestMapping("/api/scheduler/executor/executor") public class ExecutorWebController { @Resource private ExecutorService service; diff --git a/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/service/ExecutorService.java b/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/server/service/ExecutorService.java similarity index 80% rename from io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/service/ExecutorService.java rename to io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/server/service/ExecutorService.java index 9be94c0d..c705866e 100644 --- a/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/service/ExecutorService.java +++ b/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/server/service/ExecutorService.java @@ -1,4 +1,4 @@ -package io.sc.platform.scheduler.executor.service; +package io.sc.platform.scheduler.executor.server.service; import org.springframework.web.bind.annotation.PathVariable; diff --git a/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/server/service/impl/ExecutorServiceImpl.java b/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/server/service/impl/ExecutorServiceImpl.java new file mode 100644 index 00000000..50caa84c --- /dev/null +++ b/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/server/service/impl/ExecutorServiceImpl.java @@ -0,0 +1,33 @@ +package io.sc.platform.scheduler.executor.server.service.impl; + +import io.sc.platform.scheduler.executor.server.service.ExecutorService; +import org.springframework.stereotype.Service; + +@Service("io.sc.platform.scheduler.executor.server.service.impl.ExecutorServiceImpl") +public class ExecutorServiceImpl implements ExecutorService { + + @Override + public void beat() { + + } + + @Override + public boolean idleBeat(String jobId) { + return true; + } + + @Override + public void run() { + + } + + @Override + public void kill() { + + } + + @Override + public void log() { + + } +} diff --git a/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/service/impl/ExecutorServiceImpl.java b/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/service/impl/ExecutorServiceImpl.java deleted file mode 100644 index d08d01be..00000000 --- a/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/service/impl/ExecutorServiceImpl.java +++ /dev/null @@ -1,47 +0,0 @@ -package io.sc.platform.scheduler.executor.service.impl; - -import io.sc.platform.scheduler.executor.thread.JobThread; -import io.sc.platform.scheduler.executor.manager.JobThreadManager; -import io.sc.platform.scheduler.executor.service.ExecutorService; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -public class ExecutorServiceImpl implements ExecutorService { - private static Logger logger = LoggerFactory.getLogger(ExecutorServiceImpl.class); - - @Override - public void beat() { - - } - - @Override - public boolean idleBeat(String jobId) { - // isRunningOrHasQueue - boolean isRunningOrHasQueue = false; - JobThread jobThread = JobThreadManager.loadJobThread(jobId); - if (jobThread != null && jobThread.isRunningOrHasQueue()) { - isRunningOrHasQueue = true; - } - - if (isRunningOrHasQueue) { - logger.warn("job thread is running or has trigger queue."); - return false; - } - return true; - } - - @Override - public void run() { - - } - - @Override - public void kill() { - - } - - @Override - public void log() { - - } -} diff --git a/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/thread/ExecutorRegistryThread.java b/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/thread/ExecutorRegistryThread.java deleted file mode 100644 index 75c60583..00000000 --- a/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/thread/ExecutorRegistryThread.java +++ /dev/null @@ -1,81 +0,0 @@ -package io.sc.platform.scheduler.executor.thread; - -import io.sc.platform.core.Environment; -import io.sc.platform.core.util.IpUtil; -import io.sc.platform.scheduler.core.ExecutorRegistry; -import io.sc.platform.scheduler.executor.client.ExecutorRegistryClient; -import io.sc.platform.scheduler.executor.configure.ManagerProperties; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.context.ApplicationContext; - -import java.util.concurrent.TimeUnit; - -public class ExecutorRegistryThread extends Thread { - private static final Logger logger = LoggerFactory.getLogger(ExecutorRegistryThread.class); - private static final int BEAT_TIMEOUT =30; - - private ManagerProperties managerProperties; - private ExecutorRegistryClient executorRegistryClient; - private String appName; - private String executorServiceUrl; - private volatile boolean running = true; - - public ExecutorRegistryThread(ApplicationContext applicationContext){ - this.managerProperties =applicationContext.getBean(ManagerProperties.class); - this.executorRegistryClient =applicationContext.getBean(ExecutorRegistryClient.class); - this.appName =Environment.getInstance().getApplicationName(); - this.executorServiceUrl =buildExecutorServiceUrl(applicationContext); - } - - public void shutdown(){ - this.running =false; - } - - @Override - public void run() { - if(managerProperties==null || managerProperties.getUrls()==null || managerProperties.getUrls().isEmpty()){ - StringBuilder sb =new StringBuilder("scheduler.manager.urls property NOT set in application.properties, e.x.").append("\n"); - sb.append("scheduler.manager.urls[0]=http://localhost:8080/api/scheduler/manager/executor").append("\n"); - sb.append("scheduler.manager.urls[1]=http://192.168.1.100:8080/api/scheduler/manager/executor").append("\n"); - logger.error(sb.toString()); - return; - } - - //固定频率注册 - while(running){ - ExecutorRegistry executorRegistry = new ExecutorRegistry(appName, executorServiceUrl); - for(String url : managerProperties.getUrls()){ - //只要一个注册成功即可 - if(executorRegistryClient.registry(url,executorRegistry)){ - logger.debug("registry success, {}", new Object[]{executorRegistry}); - break; - } - } - try { - if (running) { TimeUnit.SECONDS.sleep(BEAT_TIMEOUT); } - } catch (InterruptedException e) { - if (running) { logger.warn("executor registry thread interrupted, error msg:{}", e.getMessage()); } - } - } - - //停止或打断后反注册 - ExecutorRegistry executorRegistry = new ExecutorRegistry(appName, executorServiceUrl); - for(String url : managerProperties.getUrls()){ - //只要一个反注册成功即可 - if(executorRegistryClient.unRegistry(url,executorRegistry)){ - logger.info("unregistry success, {}", new Object[]{executorRegistry}); - break; - } - } - } - - private String buildExecutorServiceUrl(ApplicationContext applicationContext){ - StringBuilder sb =new StringBuilder(); - sb.append(applicationContext.getEnvironment().getProperty("server.ssl.enabled",Boolean.class,false)?"https":"http"); - sb.append("://").append(IpUtil.getLocalIp()); - sb.append(":").append(applicationContext.getEnvironment().getProperty("server.port",String.class,"8080")); - sb.append(applicationContext.getEnvironment().getProperty("server.servlet.context-path",String.class,"/")); - return sb.toString(); - } -} diff --git a/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/thread/JobLogFileCleanThread.java b/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/thread/JobLogFileCleanThread.java deleted file mode 100644 index be13b5e0..00000000 --- a/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/thread/JobLogFileCleanThread.java +++ /dev/null @@ -1,124 +0,0 @@ -package io.sc.platform.scheduler.executor.thread; - -import io.sc.platform.scheduler.executor.XxlJobFileAppender; -import io.sc.platform.scheduler.executor.util.FileUtil; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.io.File; -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.util.Calendar; -import java.util.Date; -import java.util.concurrent.TimeUnit; - -/** - * job file clean thread - * - * @author xuxueli 2017-12-29 16:23:43 - */ -public class JobLogFileCleanThread { - private static Logger logger = LoggerFactory.getLogger(JobLogFileCleanThread.class); - - private static JobLogFileCleanThread instance = new JobLogFileCleanThread(); - public static JobLogFileCleanThread getInstance(){ - return instance; - } - - private Thread localThread; - private volatile boolean toStop = false; - public void start(final long logRetentionDays){ - - // limit min value - if (logRetentionDays < 3 ) { - return; - } - - localThread = new Thread(new Runnable() { - @Override - public void run() { - while (!toStop) { - try { - // clean log dir, over logRetentionDays - File[] childDirs = new File(XxlJobFileAppender.getLogPath()).listFiles(); - if (childDirs!=null && childDirs.length>0) { - - // today - Calendar todayCal = Calendar.getInstance(); - todayCal.set(Calendar.HOUR_OF_DAY,0); - todayCal.set(Calendar.MINUTE,0); - todayCal.set(Calendar.SECOND,0); - todayCal.set(Calendar.MILLISECOND,0); - - Date todayDate = todayCal.getTime(); - - for (File childFile: childDirs) { - - // valid - if (!childFile.isDirectory()) { - continue; - } - if (childFile.getName().indexOf("-") == -1) { - continue; - } - - // file create date - Date logFileCreateDate = null; - try { - SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); - logFileCreateDate = simpleDateFormat.parse(childFile.getName()); - } catch (ParseException e) { - logger.error(e.getMessage(), e); - } - if (logFileCreateDate == null) { - continue; - } - - if ((todayDate.getTime()-logFileCreateDate.getTime()) >= logRetentionDays * (24 * 60 * 60 * 1000) ) { - FileUtil.deleteRecursively(childFile); - } - - } - } - - } catch (Exception e) { - if (!toStop) { - logger.error(e.getMessage(), e); - } - - } - - try { - TimeUnit.DAYS.sleep(1); - } catch (InterruptedException e) { - if (!toStop) { - logger.error(e.getMessage(), e); - } - } - } - logger.info(">>>>>>>>>>> xxl-job, executor JobLogFileCleanThread thread destroy."); - - } - }); - localThread.setDaemon(true); - localThread.setName("xxl-job, executor JobLogFileCleanThread"); - localThread.start(); - } - - public void toStop() { - toStop = true; - - if (localThread == null) { - return; - } - - // interrupt and wait - localThread.interrupt(); - try { - localThread.join(); - } catch (InterruptedException e) { - logger.error(e.getMessage(), e); - } - } - -} diff --git a/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/thread/JobThread.java b/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/thread/JobThread.java deleted file mode 100644 index 6ee454b3..00000000 --- a/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/thread/JobThread.java +++ /dev/null @@ -1,238 +0,0 @@ -package io.sc.platform.scheduler.executor.thread; - -import io.sc.platform.scheduler.executor.*; -import io.sc.platform.scheduler.executor.manager.JobThreadManager; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.io.PrintWriter; -import java.io.StringWriter; -import java.util.Collections; -import java.util.Date; -import java.util.HashSet; -import java.util.Set; -import java.util.concurrent.*; - -public class JobThread extends Thread{ - private static Logger logger = LoggerFactory.getLogger(JobThread.class); - - private String jobId; - private JobHandler handler; - private LinkedBlockingQueue triggerQueue; - private Set triggerLogIdSet; // avoid repeat trigger for the same TRIGGER_LOG_ID - - private volatile boolean toStop = false; - private String stopReason; - - private boolean running = false; // if running job - private int idleTimes = 0; // idel times - - - public JobThread(String jobId, JobHandler handler) { - this.jobId = jobId; - this.handler = handler; - this.triggerQueue = new LinkedBlockingQueue(); - this.triggerLogIdSet = Collections.synchronizedSet(new HashSet()); - - // assign job thread name - this.setName("xxl-job, JobThread-"+jobId+"-"+System.currentTimeMillis()); - } - public JobHandler getHandler() { - return handler; - } - - /** - * new trigger to queue - * - * @param triggerParam - * @return - */ - public boolean pushTriggerQueue(TriggerParam triggerParam) { - if (triggerLogIdSet.contains(triggerParam.getLogId())) { - logger.warn("repeate trigger job, logId:{}", triggerParam.getLogId()); - return false; - } - triggerLogIdSet.add(triggerParam.getLogId()); - triggerQueue.add(triggerParam); - return true; - } - - /** - * kill job thread - * - * @param stopReason - */ - public void toStop(String stopReason) { - /** - * Thread.interrupt只支持终止线程的阻塞状态(wait、join、sleep), - * 在阻塞出抛出InterruptedException异常,但是并不会终止运行的线程本身; - * 所以需要注意,此处彻底销毁本线程,需要通过共享变量方式; - */ - this.toStop = true; - this.stopReason = stopReason; - } - - /** - * is running job - * @return - */ - public boolean isRunningOrHasQueue() { - return running || triggerQueue.size()>0; - } - - @Override - public void run() { - // init - try { - handler.init(); - } catch (Throwable e) { - logger.error(e.getMessage(), e); - } - - // execute - while(!toStop){ - running = false; - idleTimes++; - - TriggerParam triggerParam = null; - try { - // to check toStop signal, we need cycle, so wo cannot use queue.take(), instand of poll(timeout) - triggerParam = triggerQueue.poll(3L, TimeUnit.SECONDS); - if (triggerParam!=null) { - running = true; - idleTimes = 0; - triggerLogIdSet.remove(triggerParam.getLogId()); - - // log filename, like "logPath/yyyy-MM-dd/9999.log" - String logFileName = XxlJobFileAppender.makeLogFileName(new Date(triggerParam.getLogDateTime()), triggerParam.getLogId()); - XxlJobContext xxlJobContext = new XxlJobContext( - triggerParam.getJobId(), - triggerParam.getExecutorParams(), - logFileName, - triggerParam.getBroadcastIndex(), - triggerParam.getBroadcastTotal()); - - // init job context - XxlJobContext.setXxlJobContext(xxlJobContext); - - // execute - XxlJobHelper.log("
----------- xxl-job job execute start -----------
----------- Param:" + xxlJobContext.getJobParam()); - - if (triggerParam.getExecutorTimeout() > 0) { - // limit timeout - Thread futureThread = null; - try { - FutureTask futureTask = new FutureTask(new Callable() { - @Override - public Boolean call() throws Exception { - - // init job context - XxlJobContext.setXxlJobContext(xxlJobContext); - - handler.execute(); - return true; - } - }); - futureThread = new Thread(futureTask); - futureThread.start(); - - Boolean tempResult = futureTask.get(triggerParam.getExecutorTimeout(), TimeUnit.SECONDS); - } catch (TimeoutException e) { - - XxlJobHelper.log("
----------- xxl-job job execute timeout"); - XxlJobHelper.log(e); - - // handle result - XxlJobHelper.handleTimeout("job execute timeout "); - } finally { - futureThread.interrupt(); - } - } else { - // just execute - handler.execute(); - } - - // valid execute handle data - if (XxlJobContext.getXxlJobContext().getHandleCode() <= 0) { - XxlJobHelper.handleFail("job handle result lost."); - } else { - String tempHandleMsg = XxlJobContext.getXxlJobContext().getHandleMsg(); - tempHandleMsg = (tempHandleMsg!=null&&tempHandleMsg.length()>50000) - ?tempHandleMsg.substring(0, 50000).concat("...") - :tempHandleMsg; - XxlJobContext.getXxlJobContext().setHandleMsg(tempHandleMsg); - } - XxlJobHelper.log("
----------- xxl-job job execute end(finish) -----------
----------- Result: handleCode=" - + XxlJobContext.getXxlJobContext().getHandleCode() - + ", handleMsg = " - + XxlJobContext.getXxlJobContext().getHandleMsg() - ); - - } else { - if (idleTimes > 30) { - if(triggerQueue.size() == 0) { // avoid concurrent trigger causes jobId-lost - JobThreadManager.removeJobThread(jobId, "excutor idel times over limit."); - } - } - } - } catch (Throwable e) { - if (toStop) { - XxlJobHelper.log("
----------- JobThread toStop, stopReason:" + stopReason); - } - - // handle result - StringWriter stringWriter = new StringWriter(); - e.printStackTrace(new PrintWriter(stringWriter)); - String errorMsg = stringWriter.toString(); - - XxlJobHelper.handleFail(errorMsg); - - XxlJobHelper.log("
----------- JobThread Exception:" + errorMsg + "
----------- xxl-job job execute end(error) -----------"); - } finally { - if(triggerParam != null) { - // callback handler info - if (!toStop) { - // commonm - TriggerCallbackThread.pushCallBack(new HandleCallbackParam( - triggerParam.getLogId(), - triggerParam.getLogDateTime(), - XxlJobContext.getXxlJobContext().getHandleCode(), - XxlJobContext.getXxlJobContext().getHandleMsg() ) - ); - } else { - // is killed - TriggerCallbackThread.pushCallBack(new HandleCallbackParam( - triggerParam.getLogId(), - triggerParam.getLogDateTime(), - XxlJobContext.HANDLE_CODE_FAIL, - stopReason + " [job running, killed]" ) - ); - } - } - } - } - - // callback trigger request in queue - while(triggerQueue !=null && triggerQueue.size()>0){ - TriggerParam triggerParam = triggerQueue.poll(); - if (triggerParam!=null) { - // is killed - TriggerCallbackThread.pushCallBack(new HandleCallbackParam( - triggerParam.getLogId(), - triggerParam.getLogDateTime(), - XxlJobContext.HANDLE_CODE_FAIL, - stopReason + " [job not executed, in the job queue, killed.]") - ); - } - } - - // destroy - try { - handler.destroy(); - } catch (Throwable e) { - logger.error(e.getMessage(), e); - } - - logger.info(">>>>>>>>>>> xxl-job JobThread stoped, hashCode:{}", Thread.currentThread()); - } -} diff --git a/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/thread/TriggerCallbackThread.java b/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/thread/TriggerCallbackThread.java deleted file mode 100644 index 65d789fb..00000000 --- a/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/thread/TriggerCallbackThread.java +++ /dev/null @@ -1,254 +0,0 @@ -package io.sc.platform.scheduler.executor.thread; - -import io.sc.platform.scheduler.executor.*; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.io.File; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.concurrent.LinkedBlockingQueue; -import java.util.concurrent.TimeUnit; - -/** - * Created by xuxueli on 16/7/22. - */ -public class TriggerCallbackThread { - private static Logger logger = LoggerFactory.getLogger(TriggerCallbackThread.class); - - private static TriggerCallbackThread instance = new TriggerCallbackThread(); - public static TriggerCallbackThread getInstance(){ - return instance; - } - - /** - * job results callback queue - */ - private LinkedBlockingQueue callBackQueue = new LinkedBlockingQueue(); - public static void pushCallBack(HandleCallbackParam callback){ - getInstance().callBackQueue.add(callback); - logger.debug(">>>>>>>>>>> xxl-job, push callback request, logId:{}", callback.getLogId()); - } - - /** - * callback thread - */ - private Thread triggerCallbackThread; - private Thread triggerRetryCallbackThread; - private volatile boolean toStop = false; - public void start() { - - // valid - if (XxlJobExecutor.getAdminBizList() == null) { - logger.warn(">>>>>>>>>>> xxl-job, executor callback config fail, adminAddresses is null."); - return; - } - - // callback - triggerCallbackThread = new Thread(new Runnable() { - - @Override - public void run() { - - // normal callback - while(!toStop){ - try { - HandleCallbackParam callback = getInstance().callBackQueue.take(); - if (callback != null) { - - // callback list param - List callbackParamList = new ArrayList(); - int drainToNum = getInstance().callBackQueue.drainTo(callbackParamList); - callbackParamList.add(callback); - - // callback, will retry if error - if (callbackParamList!=null && callbackParamList.size()>0) { - doCallback(callbackParamList); - } - } - } catch (Exception e) { - if (!toStop) { - logger.error(e.getMessage(), e); - } - } - } - - // last callback - try { - List callbackParamList = new ArrayList(); - int drainToNum = getInstance().callBackQueue.drainTo(callbackParamList); - if (callbackParamList!=null && callbackParamList.size()>0) { - doCallback(callbackParamList); - } - } catch (Exception e) { - if (!toStop) { - logger.error(e.getMessage(), e); - } - } - logger.info(">>>>>>>>>>> xxl-job, executor callback thread destroy."); - - } - }); - triggerCallbackThread.setDaemon(true); - triggerCallbackThread.setName("xxl-job, executor TriggerCallbackThread"); - triggerCallbackThread.start(); - - - // retry - triggerRetryCallbackThread = new Thread(new Runnable() { - @Override - public void run() { - while(!toStop){ - try { - retryFailCallbackFile(); - } catch (Exception e) { - if (!toStop) { - logger.error(e.getMessage(), e); - } - - } - try { - TimeUnit.SECONDS.sleep(RegistryConfig.BEAT_TIMEOUT); - } catch (InterruptedException e) { - if (!toStop) { - logger.error(e.getMessage(), e); - } - } - } - logger.info(">>>>>>>>>>> xxl-job, executor retry callback thread destroy."); - } - }); - triggerRetryCallbackThread.setDaemon(true); - triggerRetryCallbackThread.start(); - - } - public void toStop(){ - toStop = true; - // stop callback, interrupt and wait - if (triggerCallbackThread != null) { // support empty admin address - triggerCallbackThread.interrupt(); - try { - triggerCallbackThread.join(); - } catch (InterruptedException e) { - logger.error(e.getMessage(), e); - } - } - - // stop retry, interrupt and wait - if (triggerRetryCallbackThread != null) { - triggerRetryCallbackThread.interrupt(); - try { - triggerRetryCallbackThread.join(); - } catch (InterruptedException e) { - logger.error(e.getMessage(), e); - } - } - - } - - /** - * do callback, will retry if error - * @param callbackParamList - */ - private void doCallback(List callbackParamList){ - /* - boolean callbackRet = false; - // callback, will retry if error - for (AdminBiz adminBiz: XxlJobExecutor.getAdminBizList()) { - try { - ReturnT callbackResult = adminBiz.callback(callbackParamList); - if (callbackResult!=null && ReturnT.SUCCESS_CODE == callbackResult.getCode()) { - callbackLog(callbackParamList, "
----------- xxl-job job callback finish."); - callbackRet = true; - break; - } else { - callbackLog(callbackParamList, "
----------- xxl-job job callback fail, callbackResult:" + callbackResult); - } - } catch (Exception e) { - callbackLog(callbackParamList, "
----------- xxl-job job callback error, errorMsg:" + e.getMessage()); - } - } - if (!callbackRet) { - appendFailCallbackFile(callbackParamList); - }*/ - } - - /** - * callback log - */ - private void callbackLog(List callbackParamList, String logContent){ - for (HandleCallbackParam callbackParam: callbackParamList) { - String logFileName = XxlJobFileAppender.makeLogFileName(new Date(callbackParam.getLogDateTim()), callbackParam.getLogId()); - XxlJobContext.setXxlJobContext(new XxlJobContext( - -1, - null, - logFileName, - -1, - -1)); - XxlJobHelper.log(logContent); - } - } - - - // ---------------------- fail-callback file ---------------------- - - private static String failCallbackFilePath = XxlJobFileAppender.getLogPath().concat(File.separator).concat("callbacklog").concat(File.separator); - private static String failCallbackFileName = failCallbackFilePath.concat("xxl-job-callback-{x}").concat(".log"); - - private void appendFailCallbackFile(List callbackParamList){ - /* - // valid - if (callbackParamList==null || callbackParamList.size()==0) { - return; - } - - // append file - byte[] callbackParamList_bytes = JdkSerializeTool.serialize(callbackParamList); - - File callbackLogFile = new File(failCallbackFileName.replace("{x}", String.valueOf(System.currentTimeMillis()))); - if (callbackLogFile.exists()) { - for (int i = 0; i < 100; i++) { - callbackLogFile = new File(failCallbackFileName.replace("{x}", String.valueOf(System.currentTimeMillis()).concat("-").concat(String.valueOf(i)) )); - if (!callbackLogFile.exists()) { - break; - } - } - } - FileUtil.writeFileContent(callbackLogFile, callbackParamList_bytes); - */ - } - - private void retryFailCallbackFile(){ - /* - // valid - File callbackLogPath = new File(failCallbackFilePath); - if (!callbackLogPath.exists()) { - return; - } - if (callbackLogPath.isFile()) { - callbackLogPath.delete(); - } - if (!(callbackLogPath.isDirectory() && callbackLogPath.list()!=null && callbackLogPath.list().length>0)) { - return; - } - - // load and clear file, retry - for (File callbaclLogFile: callbackLogPath.listFiles()) { - byte[] callbackParamList_bytes = FileUtil.readFileContent(callbaclLogFile); - - // avoid empty file - if(callbackParamList_bytes == null || callbackParamList_bytes.length < 1){ - callbaclLogFile.delete(); - continue; - } - - List callbackParamList = (List) JdkSerializeTool.deserialize(callbackParamList_bytes, List.class); - - callbaclLogFile.delete(); - doCallback(callbackParamList); - } - */ - } - -} diff --git a/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/util/FileUtil.java b/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/util/FileUtil.java deleted file mode 100644 index e96d4336..00000000 --- a/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/util/FileUtil.java +++ /dev/null @@ -1,181 +0,0 @@ -package io.sc.platform.scheduler.executor.util; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.io.File; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.io.IOException; - -/** - * file tool - * - * @author xuxueli 2017-12-29 17:56:48 - */ -public class FileUtil { - private static Logger logger = LoggerFactory.getLogger(FileUtil.class); - - - /** - * delete recursively - * - * @param root - * @return - */ - public static boolean deleteRecursively(File root) { - if (root != null && root.exists()) { - if (root.isDirectory()) { - File[] children = root.listFiles(); - if (children != null) { - for (File child : children) { - deleteRecursively(child); - } - } - } - return root.delete(); - } - return false; - } - - - public static void deleteFile(String fileName) { - // file - File file = new File(fileName); - if (file.exists()) { - file.delete(); - } - } - - - public static void writeFileContent(File file, byte[] data) { - - // file - if (!file.exists()) { - file.getParentFile().mkdirs(); - } - - // append file content - FileOutputStream fos = null; - try { - fos = new FileOutputStream(file); - fos.write(data); - fos.flush(); - } catch (Exception e) { - logger.error(e.getMessage(), e); - } finally { - if (fos != null) { - try { - fos.close(); - } catch (IOException e) { - logger.error(e.getMessage(), e); - } - } - } - - } - - public static byte[] readFileContent(File file) { - Long filelength = file.length(); - byte[] filecontent = new byte[filelength.intValue()]; - - FileInputStream in = null; - try { - in = new FileInputStream(file); - in.read(filecontent); - in.close(); - - return filecontent; - } catch (Exception e) { - logger.error(e.getMessage(), e); - return null; - } finally { - if (in != null) { - try { - in.close(); - } catch (IOException e) { - logger.error(e.getMessage(), e); - } - } - } - } - - - /*public static void appendFileLine(String fileName, String content) { - - // file - File file = new File(fileName); - if (!file.exists()) { - try { - file.createNewFile(); - } catch (IOException e) { - logger.error(e.getMessage(), e); - return; - } - } - - // content - if (content == null) { - content = ""; - } - content += "\r\n"; - - // append file content - FileOutputStream fos = null; - try { - fos = new FileOutputStream(file, true); - fos.write(content.getBytes("utf-8")); - fos.flush(); - } catch (Exception e) { - logger.error(e.getMessage(), e); - } finally { - if (fos != null) { - try { - fos.close(); - } catch (IOException e) { - logger.error(e.getMessage(), e); - } - } - } - - } - - public static List loadFileLines(String fileName){ - - List result = new ArrayList<>(); - - // valid log file - File file = new File(fileName); - if (!file.exists()) { - return result; - } - - // read file - StringBuffer logContentBuffer = new StringBuffer(); - int toLineNum = 0; - LineNumberReader reader = null; - try { - //reader = new LineNumberReader(new FileReader(logFile)); - reader = new LineNumberReader(new InputStreamReader(new FileInputStream(file), "utf-8")); - String line = null; - while ((line = reader.readLine())!=null) { - if (line!=null && line.trim().length()>0) { - result.add(line); - } - } - } catch (IOException e) { - logger.error(e.getMessage(), e); - } finally { - if (reader != null) { - try { - reader.close(); - } catch (IOException e) { - logger.error(e.getMessage(), e); - } - } - } - - return result; - }*/ - -} diff --git a/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/util/XxlJobRemotingUtil.java b/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/util/XxlJobRemotingUtil.java deleted file mode 100644 index c8f5deeb..00000000 --- a/io.sc.platform.scheduler.executor/src/main/java/io/sc/platform/scheduler/executor/util/XxlJobRemotingUtil.java +++ /dev/null @@ -1,158 +0,0 @@ -package io.sc.platform.scheduler.executor.util; - -import io.sc.platform.scheduler.executor.ReturnT; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import javax.net.ssl.*; -import java.io.BufferedReader; -import java.io.DataOutputStream; -import java.io.InputStreamReader; -import java.net.HttpURLConnection; -import java.net.URL; -import java.security.cert.CertificateException; -import java.security.cert.X509Certificate; - -/** - * @author xuxueli 2018-11-25 00:55:31 - */ -public class XxlJobRemotingUtil { - private static Logger logger = LoggerFactory.getLogger(XxlJobRemotingUtil.class); - public static final String XXL_JOB_ACCESS_TOKEN = "XXL-JOB-ACCESS-TOKEN"; - - - // trust-https start - private static void trustAllHosts(HttpsURLConnection connection) { - try { - SSLContext sc = SSLContext.getInstance("TLS"); - sc.init(null, trustAllCerts, new java.security.SecureRandom()); - SSLSocketFactory newFactory = sc.getSocketFactory(); - - connection.setSSLSocketFactory(newFactory); - } catch (Exception e) { - logger.error(e.getMessage(), e); - } - connection.setHostnameVerifier(new HostnameVerifier() { - @Override - public boolean verify(String hostname, SSLSession session) { - return true; - } - }); - } - private static final TrustManager[] trustAllCerts = new TrustManager[]{new X509TrustManager() { - @Override - public X509Certificate[] getAcceptedIssuers() { - return new X509Certificate[]{}; - } - @Override - public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException { - } - @Override - public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException { - } - }}; - // trust-https end - - - /** - * post - * - * @param url - * @param accessToken - * @param timeout - * @param requestObj - * @param returnTargClassOfT - * @return - */ - public static ReturnT postBody(String url, String accessToken, int timeout, Object requestObj, Class returnTargClassOfT) { - HttpURLConnection connection = null; - BufferedReader bufferedReader = null; - try { - // connection - URL realUrl = new URL(url); - connection = (HttpURLConnection) realUrl.openConnection(); - - // trust-https - boolean useHttps = url.startsWith("https"); - if (useHttps) { - HttpsURLConnection https = (HttpsURLConnection) connection; - trustAllHosts(https); - } - - // connection setting - connection.setRequestMethod("POST"); - connection.setDoOutput(true); - connection.setDoInput(true); - connection.setUseCaches(false); - connection.setReadTimeout(timeout * 1000); - connection.setConnectTimeout(3 * 1000); - connection.setRequestProperty("connection", "Keep-Alive"); - connection.setRequestProperty("Content-Type", "application/json;charset=UTF-8"); - connection.setRequestProperty("Accept-Charset", "application/json;charset=UTF-8"); - - if(accessToken!=null && accessToken.trim().length()>0){ - connection.setRequestProperty(XXL_JOB_ACCESS_TOKEN, accessToken); - } - - // do connection - connection.connect(); - - // write requestBody - if (requestObj != null) { - String requestBody = "GsonTool.toJson(requestObj)"; - - DataOutputStream dataOutputStream = new DataOutputStream(connection.getOutputStream()); - dataOutputStream.write(requestBody.getBytes("UTF-8")); - dataOutputStream.flush(); - dataOutputStream.close(); - } - - /*byte[] requestBodyBytes = requestBody.getBytes("UTF-8"); - connection.setRequestProperty("Content-Length", String.valueOf(requestBodyBytes.length)); - OutputStream outwritestream = connection.getOutputStream(); - outwritestream.write(requestBodyBytes); - outwritestream.flush(); - outwritestream.close();*/ - - // valid StatusCode - int statusCode = connection.getResponseCode(); - if (statusCode != 200) { - return new ReturnT(ReturnT.FAIL_CODE, "xxl-job remoting fail, StatusCode("+ statusCode +") invalid. for url : " + url); - } - - // result - bufferedReader = new BufferedReader(new InputStreamReader(connection.getInputStream(), "UTF-8")); - StringBuilder result = new StringBuilder(); - String line; - while ((line = bufferedReader.readLine()) != null) { - result.append(line); - } - String resultJson = result.toString(); - - // parse returnT - try { - ReturnT returnT = null;//GsonTool.fromJson(resultJson, ReturnT.class, returnTargClassOfT); - return returnT; - } catch (Exception e) { - logger.error("xxl-job remoting (url="+url+") response content invalid("+ resultJson +").", e); - return new ReturnT(ReturnT.FAIL_CODE, "xxl-job remoting (url="+url+") response content invalid("+ resultJson +")."); - } - - } catch (Exception e) { - logger.error(e.getMessage(), e); - return new ReturnT(ReturnT.FAIL_CODE, "xxl-job remoting error("+ e.getMessage() +"), for url : " + url); - } finally { - try { - if (bufferedReader != null) { - bufferedReader.close(); - } - if (connection != null) { - connection.disconnect(); - } - } catch (Exception e2) { - logger.error(e2.getMessage(), e2); - } - } - } - -} diff --git a/io.sc.platform.scheduler.executor/src/main/resources/META-INF/platform/plugins/security.json b/io.sc.platform.scheduler.executor/src/main/resources/META-INF/platform/plugins/security.json new file mode 100644 index 00000000..e46586ac --- /dev/null +++ b/io.sc.platform.scheduler.executor/src/main/resources/META-INF/platform/plugins/security.json @@ -0,0 +1,5 @@ +{ + "permitPatterns":[ + "/api/scheduler/executor/executor" + ] +} \ No newline at end of file diff --git a/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/Asana/mathfonts.css b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/Asana/mathfonts.css new file mode 100644 index 00000000..780d5344 --- /dev/null +++ b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/Asana/mathfonts.css @@ -0,0 +1,40 @@ +/* +Asana Math is released under the SIL Open Font License. See the files in this +directory for details. The font can be obtained from several TeX distributions +or package managers. The font does not seem to have a corresponding "non-MATH" +font, it is recommended to use a Palatino-like font for the surrounding text. + +The WOFF fonts have been obtained from +http://mirrors.ctan.org/fonts/ +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: Asana Math; + src: local('Asana Math'), local('Asana-Math'), + url('Asana-Math.woff2'), url('Asana-Math.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: Asana Math; +} +m|math { + font-family: Asana Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +@font-feature-values Asana Math { @stylistic { calligraphic: 1; } } +m|*.calligraphic { + font-variant-alternates: stylistic(calligraphic); /* Recommended syntax */ + font-feature-settings: 'salt'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'salt'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'salt'; /* Blink syntax */ +} diff --git a/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/Cambria/mathfonts.css b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/Cambria/mathfonts.css new file mode 100644 index 00000000..bcbb5386 --- /dev/null +++ b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/Cambria/mathfonts.css @@ -0,0 +1,56 @@ +/* +The proprietary Cambria fonts are installed by default on Microsoft Windows 7 +and higher and are provided with some other Microsoft products such as Office. +Some Web services may also provide them as Web fonts. For details, see + http://www.microsoft.com/typography/fonts/family.aspx?FID=291 + http://www.microsoft.com/typography/fonts/family.aspx?FID=360 +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +/* Uncomment and complete the URLs if you wish to use Web fonts */ +/* +@font-face { + font-family: Cambria; + src: local('Cambria'), url('...'); +} +@font-face { + font-family: Cambria; + src: local('Cambria Bold'), url('...'); + font-weight: bold; +} +@font-face { + font-family: Cambria; + src: local('Cambria Italic'), url('...'); + font-style: italic; +} +@font-face { + font-family: Cambria; + src: local('Cambria Bold Italic'), url('...'); + font-weight: bold; + font-style: italic; +} +@font-face { + font-family: Cambria Math; + src: local('Cambria Math'), url('...'); +} +*/ + +.htmlmathparagraph, m|mtext { + font-family: Cambria; +} +m|math { + font-family: Cambria Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* TODO: verify whether calligraphic letters are available in this font */ +m|*.calligraphic { +} diff --git a/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif-Bold.woff2 b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif-Bold.woff2 new file mode 100644 index 00000000..c3620b3b Binary files /dev/null and b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif-Bold.woff2 differ diff --git a/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif-BoldItalic.woff2 b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif-BoldItalic.woff2 new file mode 100644 index 00000000..3d641e3d Binary files /dev/null and b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif-BoldItalic.woff2 differ diff --git a/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif-Italic.woff2 b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif-Italic.woff2 new file mode 100644 index 00000000..163819b5 Binary files /dev/null and b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif-Italic.woff2 differ diff --git a/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif.woff2 b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif.woff2 new file mode 100644 index 00000000..51776932 Binary files /dev/null and b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif.woff2 differ diff --git a/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/DejaVu/mathfonts.css b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/DejaVu/mathfonts.css new file mode 100644 index 00000000..ee48b1d3 --- /dev/null +++ b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/DejaVu/mathfonts.css @@ -0,0 +1,51 @@ +/* +Deja Vu is released under a Free License. See the files in this directory +for details. This fonts is available on most Linux distributions. +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: DejaVu Math TeX Gyre; + src: url('DejaVuMathTeXGyre.woff2'), url('DejaVuMathTeXGyre.woff'); +} +@font-face { + font-family: DejaVu Serif; + src: url('DejaVuSerif.woff2'), url('DejaVuSerif.woff'); +} +@font-face { + font-family: DejaVu Serif; + src: url('DejaVuSerif-Bold.woff2'), url('DejaVuSerif-Bold.woff'); + font-weight: bold; +} +@font-face { + font-family: DejaVu Serif; + src: url('DejaVuSerif-Italic.woff2'), url('DejaVuSerif-Italic.woff'); + font-style: italic; +} +@font-face { + font-family: DejaVu Serif; + src: url('DejaVuSerif-BoldItalic.woff2'), + url('DejaVuSerif-BoldItalic.woff'); + font-weight: bold; + font-style: italic; +} + +.htmlmathparagraph, m|mtext { + font-family: DejaVu Serif; +} +m|math { + font-family: DejaVu Math TeX Gyre; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* Calligraphic letters do not seem to be available */ +m|*.calligraphic { +} diff --git a/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/FiraMath/FiraMath-Regular.woff2 b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/FiraMath/FiraMath-Regular.woff2 new file mode 100644 index 00000000..c13030cd Binary files /dev/null and b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/FiraMath/FiraMath-Regular.woff2 differ diff --git a/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/FiraMath/mathfonts.css b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/FiraMath/mathfonts.css new file mode 100644 index 00000000..c05d74d6 --- /dev/null +++ b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/FiraMath/mathfonts.css @@ -0,0 +1,21 @@ +/* +The FiraMath font is released under the SIL Open Font License. See the files in +this directory for details. +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: Fira Math; + src: local('Fira Math'), local('FiraMath-Regular'), + url('FiraMath-Regular.woff2'), url('FiraMath-Regular.woff'); +} + +.htmlmathparagraph, m|mtext { + /* TODO: use FiraGO instead? */ + font-family: Fira Math; +} +m|math { + font-family: Fira Math; +} diff --git a/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenic.woff2 b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenic.woff2 new file mode 100644 index 00000000..3c27d39f Binary files /dev/null and b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenic.woff2 differ diff --git a/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicBold.woff2 b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicBold.woff2 new file mode 100644 index 00000000..e946d53e Binary files /dev/null and b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicBold.woff2 differ diff --git a/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicBoldIt.woff2 b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicBoldIt.woff2 new file mode 100644 index 00000000..0dd7d2ed Binary files /dev/null and b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicBoldIt.woff2 differ diff --git a/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicIt.woff2 b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicIt.woff2 new file mode 100644 index 00000000..e7dfb1d1 Binary files /dev/null and b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicIt.woff2 differ diff --git a/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicMath.woff2 b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicMath.woff2 new file mode 100644 index 00000000..2c488f2a Binary files /dev/null and b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicMath.woff2 differ diff --git a/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/mathfonts.css b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/mathfonts.css new file mode 100644 index 00000000..ea0116c9 --- /dev/null +++ b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/mathfonts.css @@ -0,0 +1,50 @@ +/* +The GFS Neohellenic fonts are released under the SIL Open Font License. See the +files in this directory for details. +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + + +@font-face { + font-family: GFS Neohellenic; + src: local('GFSNeohellenic-Regular'), + url('GFSNeohellenic.woff2'), + url('GFSNeohellenic.woff'); +} +@font-face { + font-family: GFS Neohellenic; + src: local('GFSNeohellenic-Bold'), + url('GFSNeohellenic-Bold.woff2'), + url('GFSNeohellenic-Bold.woff'); + font-weight: bold; +} +@font-face { + font-family: GFS Neohellenic; + src: local('GFSNeohellenic-Italic'), + url('GFSNeohellenic-It.woff2'), + url('GFSNeohellenic-It.woff'); + font-style: italic; +} +@font-face { + font-family: GFS Neohellenic; + src: local('GFSNeohellenic-BoldItalic'), + url('GFSNeohellenic-BoldIt.woff2'), + url('GFSNeohellenic-BoldIt.woff'); + font-weight: bold; + font-style: italic; +} +@font-face { + font-family: GFS Neohellenic Math; + src: local('GFSNeohellenicMath'), + url('GFSNeohellenicMath.woff2'), + url('GFSNeohellenicMath.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: GFS Neohellenic; +} +m|math { + font-family: GFS Neohellenic Math; +} diff --git a/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/GNUFreeSans/mathfonts.css b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/GNUFreeSans/mathfonts.css new file mode 100644 index 00000000..cbf76d3d --- /dev/null +++ b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/GNUFreeSans/mathfonts.css @@ -0,0 +1,47 @@ +/* +GNU FreeSans is released under the GNU General Public License. See the files in +this directory for details. OpenType MATH support is only available in the +development version. +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: FreeSans; + src: url('FreeSans.woff2'), url('FreeSans.woff'); +} +@font-face { + font-family: FreeSans; + src: url('FreeSansBold.woff2'), url('FreeSansBold.woff'); + font-weight: bold; +} +@font-face { + font-family: FreeSans; + src: url('FreeSansOblique.woff2'), url('FreeSansOblique.woff'); + font-style: oblique; +} +@font-face { + font-family: FreeSans; + src: url('FreeSansBoldOblique.woff2'), url('FreeSansBoldOblique.woff'); + font-weight: bold; + font-style: oblique; +} + +.htmlmathparagraph, m|mtext { + font-family: FreeSans; +} +m|math { + font-family: FreeSans; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* Calligraphic letters do not seem to be available */ +m|*.calligraphic { +} diff --git a/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/GNUFreeSerif/mathfonts.css b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/GNUFreeSerif/mathfonts.css new file mode 100644 index 00000000..9572fbfe --- /dev/null +++ b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/GNUFreeSerif/mathfonts.css @@ -0,0 +1,47 @@ +/* +GNU FreeSerif is released under the GNU General Public License. See the files in +this directory for details. OpenType MATH support is only available in the +development version. +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: FreeSerif; + src: url('FreeSerif.woff2'), url('FreeSerif.woff'); +} +@font-face { + font-family: FreeSerif; + src: url('FreeSerifBold.woff2'), url('FreeSerifBold.woff'); + font-weight: bold; +} +@font-face { + font-family: FreeSerif; + src: url('FreeSerifItalic.woff2'), url('FreeSerifItalic.woff'); + font-style: italic; +} +@font-face { + font-family: FreeSerif; + src: url('FreeSerifBoldItalic.woff2'), url('FreeSerifBoldItalic.woff'); + font-weight: bold; + font-style: italic; +} + +.htmlmathparagraph, m|mtext { + font-family: FreeSerif; +} +m|math { + font-family: FreeSerif; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* Calligraphic letters do not seem to be available */ +m|*.calligraphic { +} diff --git a/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/Garamond/EBGaramond12-Italic.woff2 b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/Garamond/EBGaramond12-Italic.woff2 new file mode 100644 index 00000000..21fe6278 Binary files /dev/null and b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/Garamond/EBGaramond12-Italic.woff2 differ diff --git a/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/Garamond/EBGaramond12-Regular.woff2 b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/Garamond/EBGaramond12-Regular.woff2 new file mode 100644 index 00000000..9d8c372e Binary files /dev/null and b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/Garamond/EBGaramond12-Regular.woff2 differ diff --git a/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/Garamond/Garamond-Math.woff2 b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/Garamond/Garamond-Math.woff2 new file mode 100644 index 00000000..72102330 Binary files /dev/null and b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/Garamond/Garamond-Math.woff2 differ diff --git a/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/Garamond/mathfonts.css b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/Garamond/mathfonts.css new file mode 100644 index 00000000..f8b1e9df --- /dev/null +++ b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/Garamond/mathfonts.css @@ -0,0 +1,35 @@ +/* +The Garamond fonts are released under the SIL Open Font License. See the files +in this directory for details. +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + + +@font-face { + font-family: EB Garamond; + src: local('EBGaramond12-Regular'), + url('EBGaramond12-Regular.woff2'), + url('EBGaramond12-Regular.woff'); +} +@font-face { + font-family: EB Garamond; + src: local('EBGaramond12-Italic'), + url('EBGaramond12-Italic.woff2'), + url('EBGaramond12-Italic.woff'); + font-style: italic; +} +@font-face { + font-family: Garamond Math; + src: local('Garamond-Math'), + url('Garamond-Math.woff2'), + url('Garamond-Math.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: EB Garamond; +} +m|math { + font-family: Garamond Math; +} diff --git a/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/LatinModern/latinmodern-math.woff2 b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/LatinModern/latinmodern-math.woff2 new file mode 100644 index 00000000..6110b17b Binary files /dev/null and b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/LatinModern/latinmodern-math.woff2 differ diff --git a/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/LatinModern/lmroman12-bold.woff2 b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/LatinModern/lmroman12-bold.woff2 new file mode 100644 index 00000000..df169efa Binary files /dev/null and b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/LatinModern/lmroman12-bold.woff2 differ diff --git a/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/LatinModern/lmroman12-italic.woff2 b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/LatinModern/lmroman12-italic.woff2 new file mode 100644 index 00000000..c4ef3ed4 Binary files /dev/null and b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/LatinModern/lmroman12-italic.woff2 differ diff --git a/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/LatinModern/lmroman12-regular.woff2 b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/LatinModern/lmroman12-regular.woff2 new file mode 100644 index 00000000..ae0f344e Binary files /dev/null and b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/LatinModern/lmroman12-regular.woff2 differ diff --git a/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/LatinModern/mathfonts.css b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/LatinModern/mathfonts.css new file mode 100644 index 00000000..b4b0ceeb --- /dev/null +++ b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/LatinModern/mathfonts.css @@ -0,0 +1,53 @@ +/* +The Latin Modern fonts are released under the GUST font license, which is +legally equivalent to the LaTeX Project Public License. See the files in this +directory for details. The fonts can be obtained from several TeX distributions +or package managers. + +The WOFF fonts have been obtained from +http://www.gust.org.pl/projects/e-foundry/ +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +/* Latin Modern Roman has various sizes. We use the generic name + "Latin Modern Roman" for the local versions and "LMRoman12" for the Web font. +*/ +@font-face { + font-family: LMRoman12; + src: url('lmroman12-regular.woff2'), url('lmroman12-regular.woff'); +} +@font-face { + font-family: LMRoman12; + src: url('lmroman12-bold.woff2'), url('lmroman12-bold.woff'); + font-weight: bold; +} +@font-face { + font-family: LMRoman12; + src: url('lmroman12-italic.woff2'), url('lmroman12-italic.woff'); + font-style: italic; +} +@font-face { + font-family: Latin Modern Math; + src: local('Latin Modern Math'), local('LatinModernMath-Regular'), + url('latinmodern-math.woff2'), url('latinmodern-math.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: Latin Modern Roman, LMRoman12; +} +m|math { + font-family: Latin Modern Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* Calligraphic letters do not seem to be available */ +m|*.calligraphic { +} diff --git a/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusmath-regular.woff2 b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusmath-regular.woff2 new file mode 100644 index 00000000..c76bab8c Binary files /dev/null and b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusmath-regular.woff2 differ diff --git a/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-bold.woff2 b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-bold.woff2 new file mode 100644 index 00000000..34b9f93b Binary files /dev/null and b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-bold.woff2 differ diff --git a/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-bolditalic.woff2 b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-bolditalic.woff2 new file mode 100644 index 00000000..19fbf7b9 Binary files /dev/null and b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-bolditalic.woff2 differ diff --git a/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-italic.woff2 b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-italic.woff2 new file mode 100644 index 00000000..dd20fdcf Binary files /dev/null and b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-italic.woff2 differ diff --git a/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-regular.woff2 b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-regular.woff2 new file mode 100644 index 00000000..a7ef60ef Binary files /dev/null and b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-regular.woff2 differ diff --git a/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/Libertinus/mathfonts.css b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/Libertinus/mathfonts.css new file mode 100644 index 00000000..fe6d41c2 --- /dev/null +++ b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/Libertinus/mathfonts.css @@ -0,0 +1,61 @@ +/* +The Libertinus fonts are released under the SIL Open Font and GPL Licenses. See +the files in this directory for details. +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: Libertinus Serif; + src: local('Libertinus Serif'), local('LibertinusSerif'), + url('libertinusserif-regular.woff2'), + url('libertinusserif-regular.woff'); +} +@font-face { + font-family: Libertinus Serif; + src: local('Libertinus Serif Bold'), local('LibertinusSerif-Bold'), + url('libertinusserif-bold.woff2'), + url('libertinusserif-bold.woff'); + font-weight: bold; +} +@font-face { + font-family: Libertinus Serif; + src: local('Libertinus Serif Italic'), local('LibertinusSerif-Italic'), + url('libertinusserif-italic.woff2'), + url('libertinusserif-italic.woff'); + font-style: italic; +} +@font-face { + font-family: Libertinus Serif; + src: local('Libertinus Serif Bold Italic'), + local('LibertinusSerif-BoldItalic'), + url('libertinusserif-bolditalic.woff2'), + url('libertinusserif-bolditalic.woff'); + font-weight: bold; + font-style: italic; +} +@font-face { + font-family: Libertinus Math; + src: local('Libertinus Math'), local('LibertinusMath'), + url('libertinusmath-regular.woff2'), + url('libertinusmath-regular.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: Libertinus Serif; +} +m|math { + font-family: Libertinus Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* No math script */ +m|*.calligraphic { +} diff --git a/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/LucidaBright/mathfonts.css b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/LucidaBright/mathfonts.css new file mode 100644 index 00000000..5f056577 --- /dev/null +++ b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/LucidaBright/mathfonts.css @@ -0,0 +1,58 @@ +/* +The commercial Lucida Bright fonts can be obtained from +http://tug.org/store/lucida/opentype.html and some Web services might +provide them as Web fonts. See also + http://www.microsoft.com/typography/fonts/family.aspx?FID=186 + http://www.microsoft.com/typography/fonts/family.aspx?FID=217 + +Warning: The CSS rules below have not been tested. +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +/* Uncomment and complete the URLs if you wish to use Web fonts */ +/* +@font-face { + font-family: Lucida Bright; + src: local('Lucida Bright'), url('...'); +} +@font-face { + font-family: Lucida Bright; + src: local('Lucida Bright Demibold'), url('...'); + font-weight: bolder; +} +@font-face { + font-family: Lucida Bright; + src: local('Lucida Bright Italic'), url('...'); + font-style: italic; +} +@font-face { + font-family: Lucida Bright; + src: local('Lucida Bright Demibold Italic'), url('...'); + font-weight: bolder; + font-style: italic; +} +@font-face { + font-family: Lucida Bright Math; + src: local('Lucida Bright Math'), url('...'); +} +*/ + +.htmlmathparagraph, m|mtext { + font-family: Lucida Bright; +} +m|math { + font-family: Lucida Bright Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* TODO: verify whether calligraphic letters are available in this font */ +m|*.calligraphic { +} diff --git a/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/Minion/mathfonts.css b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/Minion/mathfonts.css new file mode 100644 index 00000000..640b0eaf --- /dev/null +++ b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/Minion/mathfonts.css @@ -0,0 +1,37 @@ +/* +The commercial Minion Math fonts and can be obtained from +http://www.typoma.com/en/fonts.html and some Web services might provide them as +Web fonts. + +Warning: The CSS rules below have not been tested. More rules should probably +be added to make this work correctly. +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +/* Uncomment and complete the URLs if you wish to use Web fonts */ +/* +@font-face { + font-family: Minion Math; + src: local('Minion Math'), url('...'); +} +*/ + +.htmlmathparagraph, m|mtext { + font-family: Minion Math; +} +m|math { + font-family: Minion Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* TODO: verify whether calligraphic letters are available in this font */ +m|*.calligraphic { +} diff --git a/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/NeoEuler/mathfonts.css b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/NeoEuler/mathfonts.css new file mode 100644 index 00000000..8df86bf5 --- /dev/null +++ b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/NeoEuler/mathfonts.css @@ -0,0 +1,34 @@ +/* +Neo Euler is released under the SIL Open Font License. See the files in this +directory for details. The font is still in development. The font does not seem +to have a corresponding "non-MATH" font. + +The WOFF fonts have been obtained from +https://github.com/khaledhosny/euler-otf/ +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: Neo Euler; + src: local('Neo Euler'), url('euler.woff2'), url('euler.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: Neo Euler; +} +m|math { + font-family: Neo Euler; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* Calligraphic letters do not seem to be available */ +m|*.calligraphic { +} diff --git a/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoMath-Regular.woff2 b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoMath-Regular.woff2 new file mode 100644 index 00000000..279a98f0 Binary files /dev/null and b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoMath-Regular.woff2 differ diff --git a/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-Bold.woff2 b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-Bold.woff2 new file mode 100644 index 00000000..e4394884 Binary files /dev/null and b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-Bold.woff2 differ diff --git a/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-BoldItalic.woff2 b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-BoldItalic.woff2 new file mode 100644 index 00000000..0dc0baed Binary files /dev/null and b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-BoldItalic.woff2 differ diff --git a/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-Italic.woff2 b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-Italic.woff2 new file mode 100644 index 00000000..5594de32 Binary files /dev/null and b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-Italic.woff2 differ diff --git a/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-Regular.woff2 b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-Regular.woff2 new file mode 100644 index 00000000..263c488a Binary files /dev/null and b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-Regular.woff2 differ diff --git a/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/STIX/mathfonts.css b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/STIX/mathfonts.css new file mode 100644 index 00000000..4b287cee --- /dev/null +++ b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/STIX/mathfonts.css @@ -0,0 +1,69 @@ +/* +The STIX fonts are released under the SIL Open Font License. See the files in +this directory for details. The font can be obtained from several TeX +distributions or package managers. + +The WOFF fonts have been obtained from +http://downloads.sourceforge.net/project/stixfonts/ +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + + +@font-face { + font-family: STIX Two Text; + src: local('STIXTwoText'), + url('STIXTwoText-Regular.woff2'), + url('STIXTwoText-Regular.woff'); +} +@font-face { + font-family: STIX Two Text; + src: local('STIXTwoText-Bold'), + url('STIXTwoText-Bold.woff2'), + url('STIXTwoText-Bold.woff'); + font-weight: bold; +} +@font-face { + font-family: STIX Two Text; + src: local('STIXTwoText-Italic'), + url('STIXTwoText-Italic.woff2'), + url('STIXTwoText-Italic.woff'); + font-style: italic; +} +@font-face { + font-family: STIX Two Text; + src: local('STIXTwoText-BoldItalic'), + url('STIXTwoText-BoldItalic.woff2'), + url('STIXTwoText-BoldItalic.woff'); + font-weight: bold; + font-style: italic; +} +@font-face { + font-family: STIX Two Math; + src: local('STIXTwoMath-Regular'), + url('STIXTwoMath-Regular.woff2'), + url('STIXTwoMath-Regular.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: STIX Two Text; +} +m|math { + font-family: STIX Two Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +@font-feature-values STIX Two Math { @styleset { calligraphic: 1; } } +m|*.calligraphic { + font-variant-alternates: styleset(calligraphic); /* Recommended syntax */ + font-feature-settings: 'ss01'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'ss01'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'ss01'; /* Blink syntax */ +} diff --git a/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/mathfonts.css b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/mathfonts.css new file mode 100644 index 00000000..f7bbeaa0 --- /dev/null +++ b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/mathfonts.css @@ -0,0 +1,62 @@ +/* +The TeX Gyre Bonum fonts are released under the GUST font license, which is +legally equivalent to the LaTeX Project Public License. See the files in this +directory for details. The fonts can be obtained from several TeX distributions +or package managers. + +The WOFF fonts have been obtained from +http://www.gust.org.pl/projects/e-foundry/ +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: TeX Gyre Bonum; + src: local('TeXGyreBonum-Regular'), + url('texgyrebonum-regular.woff2'), url('texgyrebonum-regular.woff'); +} +@font-face { + font-family: TeX Gyre Bonum; + src: local('TeXGyreBonum-Bold'), + url('texgyrebonum-bold.woff2'), url('texgyrebonum-bold.woff'); + font-weight: bold; +} +@font-face { + font-family: TeX Gyre Bonum; + src: local('TeXGyreBonum-Italic'), + url('texgyrebonum-italic.woff2'), url('texgyrebonum-italic.woff'); + font-style: italic; +} +@font-face { + font-family: TeX Gyre Bonum; + src: local('TeXGyreBonum-BoldItalic'), + url('texgyrebonum-bolditalic.woff2'), + url('texgyrebonum-bolditalic.woff'); + font-weight: bold; + font-style: italic; +} +@font-face { + font-family: TeX Gyre Bonum Math; + src: local('TeX Gyre Bonum Math'), local('TeXGyreBonumMath-Regular'), + url('texgyrebonum-math.woff2'), + url('texgyrebonum-math.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: TeX Gyre Bonum; +} +m|math { + font-family: TeX Gyre Bonum Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* Calligraphic letters do not seem to be available */ +m|*.calligraphic { +} diff --git a/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-bold.woff2 b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-bold.woff2 new file mode 100644 index 00000000..013ca1bd Binary files /dev/null and b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-bold.woff2 differ diff --git a/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-bolditalic.woff2 b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-bolditalic.woff2 new file mode 100644 index 00000000..ae18fb8b Binary files /dev/null and b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-bolditalic.woff2 differ diff --git a/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-italic.woff2 b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-italic.woff2 new file mode 100644 index 00000000..42742390 Binary files /dev/null and b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-italic.woff2 differ diff --git a/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-math.woff2 b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-math.woff2 new file mode 100644 index 00000000..d16a1cea Binary files /dev/null and b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-math.woff2 differ diff --git a/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-regular.woff2 b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-regular.woff2 new file mode 100644 index 00000000..8aede98d Binary files /dev/null and b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-regular.woff2 differ diff --git a/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/TeXGyrePagella/mathfonts.css b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/TeXGyrePagella/mathfonts.css new file mode 100644 index 00000000..394686b0 --- /dev/null +++ b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/TeXGyrePagella/mathfonts.css @@ -0,0 +1,63 @@ +/* +The TeX Gyre Pagella fonts are released under the GUST font license, which is +legally equivalent to the LaTeX Project Public License. See the files in this +directory for details. The fonts can be obtained from several TeX distributions +or package managers. + +The WOFF fonts have been obtained from +http://www.gust.org.pl/projects/e-foundry/ +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: TeX Gyre Pagella; + src: local('TeXGyrePagella-Regular'), + url('texgyrepagella-regular.woff2'), + url('texgyrepagella-regular.woff'); +} +@font-face { + font-family: TeX Gyre Pagella; + src: local('TeXGyrePagella-Bold'), + url('texgyrepagella-bold.woff2'), url('texgyrepagella-bold.woff'); + font-weight: bold; +} +@font-face { + font-family: TeX Gyre Pagella; + src: local('TeXGyrePagella-Italic'), + url('texgyrepagella-italic.woff2'), url('texgyrepagella-italic.woff'); + font-style: italic; +} +@font-face { + font-family: TeX Gyre Pagella; + src: local('TeXGyrePagella-BoldItalic'), + url('texgyrepagella-bolditalic.woff2'), + url('texgyrepagella-bolditalic.woff'); + font-weight: bold; + font-style: italic; +} +@font-face { + font-family: TeX Gyre Pagella Math; + src: local('TeX Gyre Pagella Math'), local('TeXGyrePagellaMath-Regular'), + url('texgyrepagella-math.woff2'), + url('texgyrepagella-math.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: TeX Gyre Pagella; +} +m|math { + font-family: TeX Gyre Pagella Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* Calligraphic letters do not seem to be available */ +m|*.calligraphic { +} diff --git a/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/TeXGyrePagella/texgyrepagella-math.woff2 b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/TeXGyrePagella/texgyrepagella-math.woff2 new file mode 100644 index 00000000..0879c80a Binary files /dev/null and b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/TeXGyrePagella/texgyrepagella-math.woff2 differ diff --git a/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/mathfonts.css b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/mathfonts.css new file mode 100644 index 00000000..41c28c6b --- /dev/null +++ b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/mathfonts.css @@ -0,0 +1,61 @@ +/* +The TeX Gyre Schola fonts are released under the GUST font license, which is +legally equivalent to the LaTeX Project Public License. See the files in this +directory for details. The fonts can be obtained from several TeX distributions +or package managers. + +The WOFF fonts have been obtained from +http://www.gust.org.pl/projects/e-foundry/ +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: TeX Gyre Schola; + src: local('TeXGyreSchola-Regular'), + url('texgyreschola-regular.woff2'), url('texgyreschola-regular.woff'); +} +@font-face { + font-family: TeX Gyre Schola; + src: local('TeXGyreSchola-Bold'), + url('texgyreschola-bold.woff2'), url('texgyreschola-bold.woff'); + font-weight: bold; +} +@font-face { + font-family: TeX Gyre Schola; + src: local('TeXGyreSchola-Italic'), + url('texgyreschola-italic.woff2'), url('texgyreschola-italic.woff'); + font-style: italic; +} +@font-face { + font-family: TeX Gyre Schola; + src: local('TeXGyreSchola-BoldItalic'), + url('texgyreschola-bolditalic.woff2'), + url('texgyreschola-bolditalic.woff'); + font-weight: bold; + font-style: italic; +} +@font-face { + font-family: TeX Gyre Schola Math; + src: local('TeX Gyre Schola Math'), local('TeXGyreScholaMath-Regular'), + url('texgyreschola-math.woff2'), url('texgyreschola-math.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: TeX Gyre Schola; +} +m|math { + font-family: TeX Gyre Schola Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* Calligraphic letters do not seem to be available */ +m|*.calligraphic { +} diff --git a/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-bold.woff2 b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-bold.woff2 new file mode 100644 index 00000000..485f2c5b Binary files /dev/null and b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-bold.woff2 differ diff --git a/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-bolditalic.woff2 b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-bolditalic.woff2 new file mode 100644 index 00000000..6c8c3f52 Binary files /dev/null and b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-bolditalic.woff2 differ diff --git a/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-italic.woff2 b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-italic.woff2 new file mode 100644 index 00000000..afe8d4ef Binary files /dev/null and b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-italic.woff2 differ diff --git a/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-math.woff2 b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-math.woff2 new file mode 100644 index 00000000..674c4281 Binary files /dev/null and b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-math.woff2 differ diff --git a/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-regular.woff2 b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-regular.woff2 new file mode 100644 index 00000000..0dbec85e Binary files /dev/null and b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-regular.woff2 differ diff --git a/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/mathfonts.css b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/mathfonts.css new file mode 100644 index 00000000..d7a65374 --- /dev/null +++ b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/mathfonts.css @@ -0,0 +1,60 @@ +/* +The TeX Gyre Termes fonts are released under the GUST font license, which is +legally equivalent to the LaTeX Project Public License. See the files in this +directory for details. The fonts can be obtained from several TeX distributions +or package managers. + +The WOFF fonts have been obtained from +http://www.gust.org.pl/projects/e-foundry/ +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: TeX Gyre Termes; + src: local('TeXGyreTermes-Regular'), + url('texgyretermes-regular.woff2'), url('texgyretermes-regular.woff'); +} +@font-face { + font-family: TeX Gyre Termes; + src: local('TeXGyreTermes-Bold'), + url('texgyretermes-bold.woff2'), url('texgyretermes-bold.woff'); + font-weight: bold; +} +@font-face { + font-family: TeX Gyre Termes; + src: local('TeXGyreTermes-Italic'), + url('texgyretermes-italic.woff2'), url('texgyretermes-italic.woff'); + font-style: italic; +} +@font-face { + font-family: TeX Gyre Termes; + src: local('TeXGyreTermes-BoldItalic'), + url('texgyretermes-bolditalic.woff2'), url('texgyretermes-bolditalic.woff'); + font-weight: bold; + font-style: italic; +} +@font-face { + font-family: TeX Gyre Termes Math; + src: local('TeX Gyre Termes Math'), local('TeXGyreTermesMath-Regular'), + url('texgyretermes-math.woff2'), url('texgyretermes-math.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: TeX Gyre Termes; +} +m|math { + font-family: TeX Gyre Termes Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* Calligraphic letters do not seem to be available */ +m|*.calligraphic { +} diff --git a/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-bold.woff2 b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-bold.woff2 new file mode 100644 index 00000000..a346eb13 Binary files /dev/null and b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-bold.woff2 differ diff --git a/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-bolditalic.woff2 b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-bolditalic.woff2 new file mode 100644 index 00000000..571a2f07 Binary files /dev/null and b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-bolditalic.woff2 differ diff --git a/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-italic.woff2 b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-italic.woff2 new file mode 100644 index 00000000..401cd0ec Binary files /dev/null and b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-italic.woff2 differ diff --git a/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-math.woff2 b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-math.woff2 new file mode 100644 index 00000000..31c9adc2 Binary files /dev/null and b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-math.woff2 differ diff --git a/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-regular.woff2 b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-regular.woff2 new file mode 100644 index 00000000..1a15f9ad Binary files /dev/null and b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-regular.woff2 differ diff --git a/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-Bold.woff2 b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-Bold.woff2 new file mode 100644 index 00000000..7a12dd34 Binary files /dev/null and b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-Bold.woff2 differ diff --git a/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-BoldItalic.woff2 b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-BoldItalic.woff2 new file mode 100644 index 00000000..c4daad18 Binary files /dev/null and b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-BoldItalic.woff2 differ diff --git a/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-Italic.woff2 b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-Italic.woff2 new file mode 100644 index 00000000..9d434203 Binary files /dev/null and b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-Italic.woff2 differ diff --git a/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-Regular.woff2 b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-Regular.woff2 new file mode 100644 index 00000000..9acf905c Binary files /dev/null and b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-Regular.woff2 differ diff --git a/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/XITS/XITSMath-Bold.woff2 b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/XITS/XITSMath-Bold.woff2 new file mode 100644 index 00000000..c93f7230 Binary files /dev/null and b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/XITS/XITSMath-Bold.woff2 differ diff --git a/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/XITS/XITSMath-Regular.woff2 b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/XITS/XITSMath-Regular.woff2 new file mode 100644 index 00000000..fa9345cb Binary files /dev/null and b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/XITS/XITSMath-Regular.woff2 differ diff --git a/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/XITS/mathfonts.css b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/XITS/mathfonts.css new file mode 100644 index 00000000..9b62b7c3 --- /dev/null +++ b/io.sc.platform.scheduler.manager.frontend/public/webjars/mathfonts/1.0.0/XITS/mathfonts.css @@ -0,0 +1,69 @@ +/* +XITS is released under the SIL Open Font License. See the files in this +directory for details. The font can be obtained from several TeX distributions +or package managers. + +The WOFF fonts have been obtained from +http://mirrors.ctan.org/fonts/ +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: XITS; + src: local('XITS'), + url('XITS-Regular.woff2'), url('XITS-Regular.woff'); +} +@font-face { + font-family: XITS; + src: local('XITS Bold'), local('XITS-Bold'), + url('XITS-Bold.woff2'), url('XITS-Bold.woff'); + font-weight: bold; +} +@font-face { + font-family: XITS; + src: local('XITS Italic'), local('XITS-Italic'), + url('XITS-Italic.woff2'), url('XITS-Italic.woff'); + font-style: italic; +} +@font-face { + font-family: XITS; + src: local('XITS Bold Italic'), local('XITS-BoldItalic'), + url('XITS-BoldItalic.woff2'), url('XITS-BoldItalic.woff'); + font-weight: bold; + font-style: italic; +} +@font-face { + font-family: XITS Math; + src: local('XITS Math'), local('XITSMath-Regular'), + url('XITSMath-Regular.woff2'), url('XITSMath-Regular.woff'); +} +@font-face { + font-family: XITS Math; + src: local('XITS Math Bold'), local('XITSMath-Bold'), + url('XITSMath-Bold.woff2'), url('XITSMathBold.woff'); + font-weight: bold; +} + +.htmlmathparagraph, m|mtext { + font-family: XITS; +} +m|math { + font-family: XITS Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +@font-feature-values XITS Math { @styleset { calligraphic: 1; } } +m|*.calligraphic { + font-variant-alternates: styleset(calligraphic); /* Recommended syntax */ + font-feature-settings: 'ss01'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'ss01'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'ss01'; /* Blink syntax */ +} diff --git a/io.sc.platform.scheduler.manager.frontend/src/views/scheduler/Log.vue b/io.sc.platform.scheduler.manager.frontend/src/views/Log.vue similarity index 100% rename from io.sc.platform.scheduler.manager.frontend/src/views/scheduler/Log.vue rename to io.sc.platform.scheduler.manager.frontend/src/views/Log.vue diff --git a/io.sc.platform.scheduler.manager.frontend/src/views/scheduler/Report.vue b/io.sc.platform.scheduler.manager.frontend/src/views/Report.vue similarity index 100% rename from io.sc.platform.scheduler.manager.frontend/src/views/scheduler/Report.vue rename to io.sc.platform.scheduler.manager.frontend/src/views/Report.vue diff --git a/io.sc.platform.scheduler.manager.frontend/src/views/executor/Executor.vue b/io.sc.platform.scheduler.manager.frontend/src/views/executor/Executor.vue new file mode 100644 index 00000000..3a8f3c85 --- /dev/null +++ b/io.sc.platform.scheduler.manager.frontend/src/views/executor/Executor.vue @@ -0,0 +1,178 @@ + + diff --git a/io.sc.platform.scheduler.manager.frontend/src/views/executor/ExecutorRegistryDialog.vue b/io.sc.platform.scheduler.manager.frontend/src/views/executor/ExecutorRegistryDialog.vue new file mode 100644 index 00000000..7540e347 --- /dev/null +++ b/io.sc.platform.scheduler.manager.frontend/src/views/executor/ExecutorRegistryDialog.vue @@ -0,0 +1,94 @@ + + diff --git a/io.sc.platform.scheduler.manager.frontend/src/views/scheduler/Executor.vue b/io.sc.platform.scheduler.manager.frontend/src/views/scheduler/Executor.vue deleted file mode 100644 index 1734640c..00000000 --- a/io.sc.platform.scheduler.manager.frontend/src/views/scheduler/Executor.vue +++ /dev/null @@ -1,134 +0,0 @@ - - diff --git a/io.sc.platform.scheduler.manager.frontend/src/views/scheduler/Task.vue b/io.sc.platform.scheduler.manager.frontend/src/views/scheduler/Task.vue deleted file mode 100644 index 37fd72d9..00000000 --- a/io.sc.platform.scheduler.manager.frontend/src/views/scheduler/Task.vue +++ /dev/null @@ -1,283 +0,0 @@ - - diff --git a/io.sc.platform.scheduler.manager.frontend/src/views/task/ExecutorRegistryDialog.vue b/io.sc.platform.scheduler.manager.frontend/src/views/task/ExecutorRegistryDialog.vue new file mode 100644 index 00000000..82ad102b --- /dev/null +++ b/io.sc.platform.scheduler.manager.frontend/src/views/task/ExecutorRegistryDialog.vue @@ -0,0 +1,68 @@ + + diff --git a/io.sc.platform.scheduler.manager.frontend/src/views/task/Task.vue b/io.sc.platform.scheduler.manager.frontend/src/views/task/Task.vue new file mode 100644 index 00000000..a25ff111 --- /dev/null +++ b/io.sc.platform.scheduler.manager.frontend/src/views/task/Task.vue @@ -0,0 +1,413 @@ + + diff --git a/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/controller/ExecutorWebController.java b/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/controller/ExecutorWebController.java deleted file mode 100644 index b783f02a..00000000 --- a/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/controller/ExecutorWebController.java +++ /dev/null @@ -1,15 +0,0 @@ -package io.sc.platform.scheduler.manager.controller; - -import io.sc.platform.mvc.controller.support.RestCrudController; -import io.sc.platform.scheduler.core.vo.ExecutorVo; -import io.sc.platform.scheduler.manager.jpa.entity.ExecutorEntity; -import io.sc.platform.scheduler.manager.jpa.repository.ExecutorRepository; -import io.sc.platform.scheduler.manager.service.ExecutorService; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -@RestController -@RequestMapping("/api/scheduler/executor") -public class ExecutorWebController extends RestCrudController { - -} diff --git a/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/controller/TaskWebController.java b/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/controller/TaskWebController.java deleted file mode 100644 index 2c874299..00000000 --- a/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/controller/TaskWebController.java +++ /dev/null @@ -1,15 +0,0 @@ -package io.sc.platform.scheduler.manager.controller; - -import io.sc.platform.mvc.controller.support.RestCrudController; -import io.sc.platform.scheduler.core.vo.TaskVo; -import io.sc.platform.scheduler.manager.jpa.entity.TaskEntity; -import io.sc.platform.scheduler.manager.jpa.repository.TaskRepository; -import io.sc.platform.scheduler.manager.service.TaskService; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -@RestController -@RequestMapping("/api/scheduler/task") -public class TaskWebController extends RestCrudController { - -} diff --git a/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/jpa/entity/ExecutorEntity.java b/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/jpa/entity/ExecutorEntity.java deleted file mode 100644 index 7112abff..00000000 --- a/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/jpa/entity/ExecutorEntity.java +++ /dev/null @@ -1,109 +0,0 @@ -package io.sc.platform.scheduler.manager.jpa.entity; - -import io.sc.platform.scheduler.core.enums.ExecutorAddressType; -import io.sc.platform.scheduler.core.vo.ExecutorVo; -import io.sc.platform.orm.converter.SetStringConverter; -import io.sc.platform.orm.entity.CorporationAuditorEntity; -import org.hibernate.annotations.GenericGenerator; - -import javax.persistence.*; -import javax.validation.constraints.Size; -import java.util.Set; - -@Entity -@Table(name="JOB_EXECUTOR") -public class ExecutorEntity extends CorporationAuditorEntity { - //主键 - @Id - @GeneratedValue(generator = "system-uuid") - @GenericGenerator(name = "system-uuid", strategy = "uuid2") - @Column(name="ID_", length=36) - @Size(max=36) - private String id; - - //应用名称 - @Column(name="APP_NAME_", length=255) - @Size(min=1,max=255) - private String appName; - - //名称 - @Column(name="NAME_", length=255) - @Size(min=1,max=255) - private String name; - - //描述 - @Column(name="DESCRIPTION_", length=255) - @Size(max=255) - private String description; - - //地址类型 - @Column(name="ADDRESS_TYPE_") - @Enumerated(EnumType.STRING) - private ExecutorAddressType addressType; - - //地址列表 - @Column(name="ADDRESS_LIST_") - @Convert(converter = SetStringConverter.class) - private Set addresses; - - @Override - public ExecutorVo toVo() { - ExecutorVo vo =new ExecutorVo(); - super.toVo(vo); - vo.setId(this.getId()); - vo.setAppName(this.getAppName()); - vo.setName(this.getName()); - vo.setDescription(this.getDescription()); - vo.setAddressType(this.getAddressType()); - vo.setAddresses(this.getAddresses()); - return vo; - } - - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public String getAppName() { - return appName; - } - - public void setAppName(String appName) { - this.appName = appName; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getDescription() { - return description; - } - - public void setDescription(String description) { - this.description = description; - } - - public ExecutorAddressType getAddressType() { - return addressType; - } - - public void setAddressType(ExecutorAddressType addressType) { - this.addressType = addressType; - } - - public Set getAddresses() { - return addresses; - } - - public void setAddresses(Set addresses) { - this.addresses = addresses; - } -} diff --git a/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/jpa/entity/ExecutorRegistryEntity.java b/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/jpa/entity/ExecutorRegistryEntity.java deleted file mode 100644 index 5bb8f9ee..00000000 --- a/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/jpa/entity/ExecutorRegistryEntity.java +++ /dev/null @@ -1,100 +0,0 @@ -package io.sc.platform.scheduler.manager.jpa.entity; - -import io.sc.platform.scheduler.core.ExecutorRegistry; -import io.sc.platform.orm.entity.BaseEntity; -import org.hibernate.annotations.GenericGenerator; - -import javax.persistence.*; -import javax.validation.constraints.Size; -import java.util.Date; - -@Entity -@Table(name="JOB_EXECUTOR_REGISTRY") -public class ExecutorRegistryEntity extends BaseEntity { - //主键 - @Id - @GeneratedValue(generator = "system-uuid") - @GenericGenerator(name = "system-uuid", strategy = "uuid2") - @Column(name="ID_", length=36) - @Size(max=36) - private String id; - - //名称 - @Column(name="REGISTRY_GROUP_", length=255) - @Size(max=255) - private String registryGroup; - - //名称 - @Column(name="REGISTRY_KEY_", length=255) - @Size(max=255) - private String registryKey; - - //名称 - @Column(name="REGISTRY_VALUE_", length=255) - @Size(max=255) - private String registryValue; - - @Column(name="UPDATE_TIME_") - @Temporal(TemporalType.TIMESTAMP) - private Date updateTime; - - public static ExecutorRegistryEntity fromVo(ExecutorRegistry executorRegistry){ - ExecutorRegistryEntity entity =new ExecutorRegistryEntity(); - entity.setRegistryGroup(executorRegistry.getRegistryGroup()); - entity.setRegistryKey(executorRegistry.getRegistryKey()); - entity.setRegistryValue(executorRegistry.getRegistryValue()); - entity.setUpdateTime(new Date()); - return entity; - } - - @Override - public ExecutorRegistry toVo() { - ExecutorRegistry vo =new ExecutorRegistry(); - vo.setId(this.getId()); - vo.setRegistryGroup(this.getRegistryGroup()); - vo.setRegistryKey(this.getRegistryKey()); - vo.setRegistryValue(this.getRegistryValue()); - vo.setUpdateTime(this.getUpdateTime()); - return vo; - } - - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public String getRegistryGroup() { - return registryGroup; - } - - public void setRegistryGroup(String registryGroup) { - this.registryGroup = registryGroup; - } - - public String getRegistryKey() { - return registryKey; - } - - public void setRegistryKey(String registryKey) { - this.registryKey = registryKey; - } - - public String getRegistryValue() { - return registryValue; - } - - public void setRegistryValue(String registryValue) { - this.registryValue = registryValue; - } - - public Date getUpdateTime() { - return updateTime; - } - - public void setUpdateTime(Date updateTime) { - this.updateTime = updateTime; - } -} diff --git a/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/jpa/entity/GlueEntity.java b/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/jpa/entity/GlueEntity.java deleted file mode 100644 index 4c710041..00000000 --- a/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/jpa/entity/GlueEntity.java +++ /dev/null @@ -1,91 +0,0 @@ -package io.sc.platform.scheduler.manager.jpa.entity; - -import io.sc.platform.orm.entity.CorporationAuditorEntity; -import io.sc.platform.scheduler.core.enums.GlueType; -import io.sc.platform.scheduler.core.vo.GlueVo; -import org.hibernate.annotations.GenericGenerator; -import org.springframework.util.StringUtils; - -import javax.persistence.*; -import javax.validation.constraints.Size; - -@Entity -@Table(name="JOB_GLUE") -public class GlueEntity extends CorporationAuditorEntity { - //主键 - @Id - @GeneratedValue(generator = "system-uuid") - @GenericGenerator(name = "system-uuid", strategy = "uuid2") - @Column(name="ID_", length=36) - @Size(max=36) - private String id; - - @Column(name="GLUE_TYPE_") - @Enumerated(EnumType.STRING) - private GlueType type; - - @Column(name="DESCRIPTION_", length=255) - @Size(max=255) - private String description; - - @Column(name="SOURCE_") - private String source; - - @ManyToOne(fetch=FetchType.LAZY) - @JoinColumn(name="TASK_ID_") - private TaskEntity task; - - @Override - public GlueVo toVo() { - GlueVo vo =new GlueVo(); - super.toVo(vo); - vo.setId(this.getId()); - vo.setType(this.getType()); - vo.setDescription(this.getDescription()); - vo.setSource(this.getSource()); - if(task!=null && StringUtils.hasText(task.getId())){ - vo.setTask(task.getId()); - } - return vo; - } - - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public GlueType getType() { - return type; - } - - public void setType(GlueType type) { - this.type = type; - } - - public String getDescription() { - return description; - } - - public void setDescription(String description) { - this.description = description; - } - - public String getSource() { - return source; - } - - public void setSource(String source) { - this.source = source; - } - - public TaskEntity getTask() { - return task; - } - - public void setTask(TaskEntity task) { - this.task = task; - } -} diff --git a/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/jpa/entity/TaskEntity.java b/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/jpa/entity/TaskEntity.java deleted file mode 100644 index e0e5f5ec..00000000 --- a/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/jpa/entity/TaskEntity.java +++ /dev/null @@ -1,311 +0,0 @@ -package io.sc.platform.scheduler.manager.jpa.entity; - -import io.sc.platform.scheduler.core.enums.*; -import io.sc.platform.scheduler.core.vo.TaskVo; -import io.sc.platform.orm.entity.CorporationAuditorEntity; -import org.hibernate.annotations.GenericGenerator; -import org.springframework.util.StringUtils; - -import javax.persistence.*; -import javax.validation.constraints.Size; - -@Entity -@Table(name="JOB_TASK") -public class TaskEntity extends CorporationAuditorEntity { - //主键 - @Id - @GeneratedValue(generator = "system-uuid") - @GenericGenerator(name = "system-uuid", strategy = "uuid2") - @Column(name="ID_", length=36) - @Size(max=36) - private String id; - - //父任务 - @ManyToOne(fetch=FetchType.LAZY) - @JoinColumn(name="PARENT_ID_") - private TaskEntity parent; - - //执行器ID - @ManyToOne(fetch=FetchType.LAZY) - @JoinColumn(name="EXECUTOR_ID_") - private ExecutorEntity executor; - - //名称 - @Column(name="NAME_", length=255) - @Size(min=1,max=255) - private String name; - - //描述 - @Column(name="DESCRIPTION_", length=255) - @Size(max=255) - private String description; - - //负责人 - @Column(name="AUTHOR_", length=255) - @Size(max=255) - private String author; - - //报警邮件 - @Column(name="ALARM_EMAIL_", length=255) - @Size(max=255) - private String alarmEmail; - - //调度类型 - @Column(name="SCHEDULE_TYPE_") - @Enumerated(EnumType.STRING) - private TaskScheduleType scheduleType; - - //调度配置 - @Column(name="SCHEDULE_CONF_", length=255) - @Size(max=255) - private String scheduleConf; - - //Glue 类型 - @Column(name="EXECUTOR_GLUE_TYPE_") - @Enumerated(EnumType.STRING) - private GlueType executorGlueType; - - //Handler名称 - @Column(name="EXECUTOR_HANDLER_", length=255) - @Size(max=255) - private String executorHandler; - - //参数 - @Column(name="EXECUTOR_PARAM_", length=1024) - @Size(max=1024) - private String executorParam; - - //路由策略 - @Column(name="ROUTE_STRATEGY_") - @Enumerated(EnumType.STRING) - private ExecutorRouteStrategy routeStrategy; - - //过期策略 - @Column(name="EXPIRATION_POLICY_") - @Enumerated(EnumType.STRING) - private ExpirationPolicy expirationPolicy; - - //阻塞策略 - @Column(name="BLOCK_STRATEGY_") - @Enumerated(EnumType.STRING) - private BlockStrategy blockStrategy; - - //超时时间,单位秒 - @Column(name="TIMEOUT_") - private int timeout; - - //失败重试次数 - @Column(name="FAIL_RETRY_COUNT_") - private int failRetryCount; - - //调度状态 - @Column(name="TRIGGER_STATUS_") - @Enumerated(EnumType.STRING) - private TriggerStatus triggerStatus; - - //上次调度时间 - @Column(name="TRIGGER_LAST_TIME_") - private long triggerLastTime; - - //下次调度时间 - @Column(name="TRIGGER_NEXT_TIME_") - private long triggerNextTime; - - - @Override - public TaskVo toVo() { - TaskVo vo =new TaskVo(); - super.toVo(vo); - vo.setId(this.getId()); - if(parent!=null && StringUtils.hasText(parent.getId())){ - vo.setParent(parent.getId()); - } - if(executor!=null && StringUtils.hasText(executor.getId())){ - vo.setExecutor(executor.getId()); - vo.setExecutorName(executor.getName()); - } - vo.setName(this.getName()); - vo.setDescription(this.getDescription()); - vo.setAuthor(this.getAuthor()); - vo.setAlarmEmail(this.getAlarmEmail()); - - vo.setScheduleType(this.getScheduleType()); - vo.setScheduleConf(this.getScheduleConf()); - - vo.setExecutorGlueType(this.getExecutorGlueType()); - vo.setExecutorHandler(this.getExecutorHandler()); - vo.setExecutorParam(this.getExecutorParam()); - - vo.setRouteStrategy(this.getRouteStrategy()); - vo.setExpirationPolicy(this.getExpirationPolicy()); - vo.setBlockStrategy(this.getBlockStrategy()); - vo.setTimeout(this.getTimeout()); - vo.setFailRetryCount(this.getFailRetryCount()); - - vo.setTriggerStatus(this.getTriggerStatus()); - vo.setTriggerLastTime(this.getTriggerLastTime()); - vo.setTriggerNextTime(this.getTriggerNextTime()); - - return vo; - } - - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public TaskEntity getParent() { - return parent; - } - - public void setParent(TaskEntity parent) { - this.parent = parent; - } - - public ExecutorEntity getExecutor() { - return executor; - } - - public void setExecutor(ExecutorEntity executor) { - this.executor = executor; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getDescription() { - return description; - } - - public void setDescription(String description) { - this.description = description; - } - - public String getAuthor() { - return author; - } - - public void setAuthor(String author) { - this.author = author; - } - - public String getAlarmEmail() { - return alarmEmail; - } - - public void setAlarmEmail(String alarmEmail) { - this.alarmEmail = alarmEmail; - } - - public TaskScheduleType getScheduleType() { - return scheduleType; - } - - public void setScheduleType(TaskScheduleType scheduleType) { - this.scheduleType = scheduleType; - } - - public String getScheduleConf() { - return scheduleConf; - } - - public void setScheduleConf(String scheduleConf) { - this.scheduleConf = scheduleConf; - } - - public GlueType getExecutorGlueType() { - return executorGlueType; - } - - public void setExecutorGlueType(GlueType executorGlueType) { - this.executorGlueType = executorGlueType; - } - - public String getExecutorHandler() { - return executorHandler; - } - - public void setExecutorHandler(String executorHandler) { - this.executorHandler = executorHandler; - } - - public String getExecutorParam() { - return executorParam; - } - - public void setExecutorParam(String executorParam) { - this.executorParam = executorParam; - } - - public ExecutorRouteStrategy getRouteStrategy() { - return routeStrategy; - } - - public void setRouteStrategy(ExecutorRouteStrategy routeStrategy) { - this.routeStrategy = routeStrategy; - } - - public ExpirationPolicy getExpirationPolicy() { - return expirationPolicy; - } - - public void setExpirationPolicy(ExpirationPolicy expirationPolicy) { - this.expirationPolicy = expirationPolicy; - } - - public BlockStrategy getBlockStrategy() { - return blockStrategy; - } - - public void setBlockStrategy(BlockStrategy blockStrategy) { - this.blockStrategy = blockStrategy; - } - - public int getTimeout() { - return timeout; - } - - public void setTimeout(int timeout) { - this.timeout = timeout; - } - - public int getFailRetryCount() { - return failRetryCount; - } - - public void setFailRetryCount(int failRetryCount) { - this.failRetryCount = failRetryCount; - } - - public TriggerStatus getTriggerStatus() { - return triggerStatus; - } - - public void setTriggerStatus(TriggerStatus triggerStatus) { - this.triggerStatus = triggerStatus; - } - - public long getTriggerLastTime() { - return triggerLastTime; - } - - public void setTriggerLastTime(long triggerLastTime) { - this.triggerLastTime = triggerLastTime; - } - - public long getTriggerNextTime() { - return triggerNextTime; - } - - public void setTriggerNextTime(long triggerNextTime) { - this.triggerNextTime = triggerNextTime; - } -} diff --git a/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/jpa/repository/ExecutorRegistryRepository.java b/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/jpa/repository/ExecutorRegistryRepository.java deleted file mode 100644 index c80e5749..00000000 --- a/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/jpa/repository/ExecutorRegistryRepository.java +++ /dev/null @@ -1,13 +0,0 @@ -package io.sc.platform.scheduler.manager.jpa.repository; - -import io.sc.platform.scheduler.core.enums.ExecutorAddressType; -import io.sc.platform.scheduler.manager.jpa.entity.ExecutorEntity; -import io.sc.platform.scheduler.manager.jpa.entity.ExecutorRegistryEntity; -import io.sc.platform.orm.repository.DaoRepository; -import org.springframework.data.repository.query.Param; - -import java.util.List; - -public interface ExecutorRegistryRepository extends DaoRepository { - -} diff --git a/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/jpa/repository/ExecutorRepository.java b/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/jpa/repository/ExecutorRepository.java deleted file mode 100644 index dae15984..00000000 --- a/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/jpa/repository/ExecutorRepository.java +++ /dev/null @@ -1,12 +0,0 @@ -package io.sc.platform.scheduler.manager.jpa.repository; - -import io.sc.platform.scheduler.core.enums.ExecutorAddressType; -import io.sc.platform.scheduler.manager.jpa.entity.ExecutorEntity; -import io.sc.platform.orm.repository.DaoRepository; -import org.springframework.data.repository.query.Param; - -import java.util.List; - -public interface ExecutorRepository extends DaoRepository { - public List findByAddressType(@Param("addressType") ExecutorAddressType addressType); -} diff --git a/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/jpa/repository/TaskLogReportRepository.java b/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/jpa/repository/TaskLogReportRepository.java deleted file mode 100644 index 36899d6b..00000000 --- a/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/jpa/repository/TaskLogReportRepository.java +++ /dev/null @@ -1,7 +0,0 @@ -package io.sc.platform.scheduler.manager.jpa.repository; - -import io.sc.platform.scheduler.manager.jpa.entity.ReportEntity; -import io.sc.platform.orm.repository.DaoRepository; - -public interface TaskLogReportRepository extends DaoRepository { -} diff --git a/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/jpa/repository/TaskLogRepository.java b/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/jpa/repository/TaskLogRepository.java deleted file mode 100644 index abb06e41..00000000 --- a/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/jpa/repository/TaskLogRepository.java +++ /dev/null @@ -1,7 +0,0 @@ -package io.sc.platform.scheduler.manager.jpa.repository; - -import io.sc.platform.scheduler.manager.jpa.entity.TaskLogEntity; -import io.sc.platform.orm.repository.DaoRepository; - -public interface TaskLogRepository extends DaoRepository { -} diff --git a/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/jpa/repository/TaskRepository.java b/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/jpa/repository/TaskRepository.java deleted file mode 100644 index 0a0dac1d..00000000 --- a/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/jpa/repository/TaskRepository.java +++ /dev/null @@ -1,8 +0,0 @@ -package io.sc.platform.scheduler.manager.jpa.repository; - -import io.sc.platform.scheduler.manager.jpa.entity.ExecutorRegistryEntity; -import io.sc.platform.scheduler.manager.jpa.entity.TaskEntity; -import io.sc.platform.orm.repository.DaoRepository; - -public interface TaskRepository extends DaoRepository { -} diff --git a/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/controller/ExecutorRegistryWebController.java b/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/controller/ExecutorRegistryWebController.java similarity index 56% rename from io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/controller/ExecutorRegistryWebController.java rename to io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/controller/ExecutorRegistryWebController.java index e24c84f3..17e99f3a 100644 --- a/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/controller/ExecutorRegistryWebController.java +++ b/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/controller/ExecutorRegistryWebController.java @@ -1,19 +1,19 @@ -package io.sc.platform.scheduler.manager.controller; +package io.sc.platform.scheduler.manager.server.controller; -import io.sc.platform.scheduler.core.ExecutorRegistry; -import io.sc.platform.scheduler.manager.jpa.entity.ExecutorRegistryEntity; -import io.sc.platform.scheduler.manager.jpa.repository.ExecutorRegistryRepository; -import io.sc.platform.scheduler.manager.service.ExecutorRegistryService; import io.sc.platform.mvc.controller.support.RestCrudController; +import io.sc.platform.scheduler.core.vo.ExecutorRegistry; +import io.sc.platform.scheduler.manager.server.jpa.entity.ExecutorRegistryEntity; +import io.sc.platform.scheduler.manager.server.jpa.repository.ExecutorRegistryRepository; +import io.sc.platform.scheduler.manager.server.service.ExecutorRegistryService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -@RestController -@RequestMapping("/api/job/manager/executor") -public class ExecutorRegistryWebController { +@RestController("io.sc.platform.scheduler.manager.server.controller.ExecutorRegistryWebController") +@RequestMapping("/api/scheduler/manager/executorRegistry") +public class ExecutorRegistryWebController extends RestCrudController { @Autowired private ExecutorRegistryService executorRegistryService; @PostMapping("registry") diff --git a/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/controller/ExecutorWebController.java b/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/controller/ExecutorWebController.java new file mode 100644 index 00000000..f0157f02 --- /dev/null +++ b/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/controller/ExecutorWebController.java @@ -0,0 +1,31 @@ +package io.sc.platform.scheduler.manager.server.controller; + +import io.sc.platform.mvc.controller.support.RestCrudController; +import io.sc.platform.orm.service.support.QueryParameter; +import io.sc.platform.scheduler.core.vo.Executor; +import io.sc.platform.scheduler.core.vo.ExecutorRegistry; +import io.sc.platform.scheduler.manager.server.jpa.entity.ExecutorEntity; +import io.sc.platform.scheduler.manager.server.jpa.repository.ExecutorRepository; +import io.sc.platform.scheduler.manager.server.service.ExecutorService; +import org.springframework.data.domain.Page; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +@RestController("io.sc.platform.scheduler.manager.server.controller.ExecutorWebController") +@RequestMapping("/api/scheduler/manager/executor") +public class ExecutorWebController extends RestCrudController { + @Override + protected Page query(HttpServletRequest request, HttpServletResponse response, QueryParameter queryParameter) throws Exception { + return service.queryWithDetail(queryParameter); + } + + @PostMapping("addFromRegistry") + public void addFromRegistry(@RequestBody ExecutorRegistry executorRegistry) throws Exception { + service.addFromRegistry(executorRegistry); + } +} diff --git a/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/controller/ReportWebController.java b/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/controller/ReportWebController.java similarity index 56% rename from io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/controller/ReportWebController.java rename to io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/controller/ReportWebController.java index 846bc1cb..a259fb5a 100644 --- a/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/controller/ReportWebController.java +++ b/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/controller/ReportWebController.java @@ -1,12 +1,12 @@ -package io.sc.platform.scheduler.manager.controller; +package io.sc.platform.scheduler.manager.server.controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.Map; -@RestController -@RequestMapping("api/scheduler/report") +@RestController("io.sc.platform.scheduler.manager.server.controller.ReportWebController") +@RequestMapping("api/scheduler/scheduler/report") public class ReportWebController { public Map dashboard(){ diff --git a/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/controller/ExecutorCallbackWebController.java b/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/controller/TaskLogWebController.java similarity index 51% rename from io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/controller/ExecutorCallbackWebController.java rename to io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/controller/TaskLogWebController.java index 517e25e5..19c3b486 100644 --- a/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/controller/ExecutorCallbackWebController.java +++ b/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/controller/TaskLogWebController.java @@ -1,19 +1,16 @@ -package io.sc.platform.scheduler.manager.controller; +package io.sc.platform.scheduler.manager.server.controller; -import io.sc.platform.scheduler.core.TaskLog; -import io.sc.platform.scheduler.manager.jpa.entity.TaskLogEntity; -import io.sc.platform.scheduler.manager.jpa.repository.TaskLogRepository; -import io.sc.platform.scheduler.manager.service.TaskLogService; -import io.sc.platform.mvc.controller.support.RestCrudController; +import io.sc.platform.scheduler.core.vo.TaskLog; +import io.sc.platform.scheduler.manager.server.service.TaskLogService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -@RestController -@RequestMapping("/api/job/manager/executor") -public class ExecutorCallbackWebController { +@RestController("io.sc.platform.scheduler.manager.server.controller.TaskLogWebController") +@RequestMapping("/api/scheduler/manager/taskLog") +public class TaskLogWebController { @Autowired private TaskLogService taskLogService; @PostMapping("callback") diff --git a/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/controller/TaskWebController.java b/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/controller/TaskWebController.java new file mode 100644 index 00000000..8207b8c8 --- /dev/null +++ b/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/controller/TaskWebController.java @@ -0,0 +1,15 @@ +package io.sc.platform.scheduler.manager.server.controller; + +import io.sc.platform.mvc.controller.support.RestCrudController; +import io.sc.platform.scheduler.core.vo.Task; +import io.sc.platform.scheduler.manager.server.jpa.entity.TaskEntity; +import io.sc.platform.scheduler.manager.server.jpa.repository.TaskRepository; +import io.sc.platform.scheduler.manager.server.service.TaskService; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController("io.sc.platform.scheduler.manager.server.controller.TaskWebController") +@RequestMapping("/api/scheduler/manager/task") +public class TaskWebController extends RestCrudController { + +} diff --git a/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/jpa/entity/ExecutorEntity.java b/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/jpa/entity/ExecutorEntity.java new file mode 100644 index 00000000..3193eb62 --- /dev/null +++ b/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/jpa/entity/ExecutorEntity.java @@ -0,0 +1,116 @@ +package io.sc.platform.scheduler.manager.server.jpa.entity; + +import io.sc.platform.orm.converter.OrderedSetStringConverter; +import io.sc.platform.orm.entity.AuditorEntity; +import io.sc.platform.scheduler.core.vo.Executor; +import io.sc.platform.scheduler.core.enums.PermitStrategy; +import org.hibernate.annotations.GenericGenerator; + +import javax.persistence.*; +import javax.validation.constraints.Size; +import java.util.Set; +import java.util.TreeSet; + +@Entity(name="io.sc.platform.scheduler.manager.server.jpa.entity.ExecutorEntity") +@Table(name="JOB_EXECUTOR") +public class ExecutorEntity extends AuditorEntity { + //主键 + @Id + @GeneratedValue(generator = "system-uuid") + @GenericGenerator(name = "system-uuid", strategy = "uuid2") + @Column(name="ID_", length=36) + @Size(max=36) + private String id; + + //应用ID + @Column(name="APPLICATION_NAME_", length=255) + @Size(min=1,max=255) + private String applicationName; + + //名称 + @Column(name="NAME_", length=255) + @Size(min=1,max=255) + private String name; + + //描述 + @Column(name="DESCRIPTION_", length=255) + @Size(max=255) + private String description; + + //执行器启用策略 + @Column(name="PERMIT_STRATEGY_") + @Enumerated(EnumType.STRING) + private PermitStrategy permitStrategy; + + + //执行器启用策略列表 + @Column(name="PERMIT_STRATEGY_URLS_") + @Convert(converter = OrderedSetStringConverter.class) + private Set permitStrategyUrls =new TreeSet<>(); + + public ExecutorEntity(){} + public ExecutorEntity(String id){ + this.id =id; + } + + @Override + public Executor toVo() { + Executor vo =new Executor(); + super.toVo(vo); + vo.setId(this.getId()); + vo.setApplicationName(this.getApplicationName()); + vo.setName(this.getName()); + vo.setDescription(this.getDescription()); + vo.setPermitStrategy(this.getPermitStrategy()); + vo.setPermitStrategyUrls(this.getPermitStrategyUrls()); + return vo; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getApplicationName() { + return applicationName; + } + + public void setApplicationName(String applicationName) { + this.applicationName = applicationName; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public PermitStrategy getPermitStrategy() { + return permitStrategy; + } + + public void setPermitStrategy(PermitStrategy permitStrategy) { + this.permitStrategy = permitStrategy; + } + + public Set getPermitStrategyUrls() { + return permitStrategyUrls; + } + + public void setPermitStrategyUrls(Set permitStrategyUrls) { + this.permitStrategyUrls = permitStrategyUrls; + } +} diff --git a/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/jpa/entity/ExecutorRegistryEntity.java b/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/jpa/entity/ExecutorRegistryEntity.java new file mode 100644 index 00000000..ff6afebc --- /dev/null +++ b/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/jpa/entity/ExecutorRegistryEntity.java @@ -0,0 +1,124 @@ +package io.sc.platform.scheduler.manager.server.jpa.entity; + +import io.sc.platform.scheduler.core.vo.ExecutorRegistry; +import io.sc.platform.orm.entity.BaseEntity; +import org.hibernate.annotations.Formula; +import org.hibernate.annotations.GenericGenerator; + +import javax.persistence.*; +import javax.validation.constraints.Size; +import java.util.Date; + +@Entity(name="io.sc.platform.scheduler.manager.server.jpa.entity.ExecutorRegistryEntity") +@Table(name="JOB_EXECUTOR_REGISTRY") +public class ExecutorRegistryEntity extends BaseEntity { + //主键 + @Id + @GeneratedValue(generator = "system-uuid") + @GenericGenerator(name = "system-uuid", strategy = "uuid2") + @Column(name="ID_", length=36) + @Size(max=36) + private String id; + + //应用ID + @Column(name="APPLICATION_NAME_", length=255) + @Size(min=1,max=255) + private String applicationName; + + //名称 + @Column(name="NAME_", length=255) + @Size(min=1,max=255) + private String name; + + //URL + @Column(name="URL_", length=1024) + @Size(min=1,max=1024) + private String url; + + //注册日期 + @Column(name="REGIST_DATE_") + @Temporal(TemporalType.TIMESTAMP) + private Date registDate; + + @Formula("current_timestamp") + private Date now; + + public ExecutorRegistryEntity(){} + public ExecutorRegistryEntity(String id){ + this.id =id; + } + + public static ExecutorRegistryEntity fromVo(ExecutorRegistry vo){ + ExecutorRegistryEntity entity =new ExecutorRegistryEntity(); + entity.setId(vo.getId()); + entity.setApplicationName(vo.getApplicationName()); + entity.setName(vo.getName()); + entity.setUrl(vo.getUrl()); + entity.setRegistDate(vo.getRegistDate()); + entity.setNow(vo.getNow()); + return entity; + } + + @Override + public ExecutorRegistry toVo() { + ExecutorRegistry vo =new ExecutorRegistry(); + super.toVo(vo); + vo.setId(this.getId()); + vo.setApplicationName(this.getApplicationName()); + vo.setName(this.getName()); + vo.setUrl(this.getUrl()); + vo.setRegistDate(this.getRegistDate()); + vo.setNow(this.getNow()); + System.out.println((this.getNow().getTime() - this.getRegistDate().getTime())); + vo.setOnline((this.getNow().getTime() - this.getRegistDate().getTime())<40*1000); + return vo; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getApplicationName() { + return applicationName; + } + + public void setApplicationName(String applicationName) { + this.applicationName = applicationName; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } + + public Date getRegistDate() { + return registDate; + } + + public void setRegistDate(Date registDate) { + this.registDate = registDate; + } + + public Date getNow() { + return now; + } + + public void setNow(Date now) { + this.now = now; + } +} diff --git a/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/jpa/entity/ReportEntity.java b/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/jpa/entity/ReportEntity.java similarity index 84% rename from io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/jpa/entity/ReportEntity.java rename to io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/jpa/entity/ReportEntity.java index 852ee628..25e47ff8 100644 --- a/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/jpa/entity/ReportEntity.java +++ b/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/jpa/entity/ReportEntity.java @@ -1,6 +1,6 @@ -package io.sc.platform.scheduler.manager.jpa.entity; +package io.sc.platform.scheduler.manager.server.jpa.entity; -import io.sc.platform.scheduler.core.vo.TaskLogReportVo; +import io.sc.platform.scheduler.core.vo.TaskLogReport; import io.sc.platform.orm.entity.BaseEntity; import org.hibernate.annotations.GenericGenerator; @@ -8,9 +8,9 @@ import javax.persistence.*; import javax.validation.constraints.Size; import java.util.Date; -@Entity +@Entity(name="io.sc.platform.scheduler.manager.server.jpa.entity.ReportEntity") @Table(name="JOB_REPORT") -public class ReportEntity extends BaseEntity { +public class ReportEntity extends BaseEntity { //主键 @Id @GeneratedValue(generator = "system-uuid") @@ -37,8 +37,8 @@ public class ReportEntity extends BaseEntity { private Date updateTime; @Override - public TaskLogReportVo toVo() { - TaskLogReportVo vo =new TaskLogReportVo(); + public TaskLogReport toVo() { + TaskLogReport vo =new TaskLogReport(); vo.setId(this.getId()); vo.setTriggerDay(this.getTriggerDay()); vo.setRunningCount(this.getRunningCount()); diff --git a/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/jpa/entity/TaskEntity.java b/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/jpa/entity/TaskEntity.java new file mode 100644 index 00000000..2fae135f --- /dev/null +++ b/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/jpa/entity/TaskEntity.java @@ -0,0 +1,339 @@ +package io.sc.platform.scheduler.manager.server.jpa.entity; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import io.sc.platform.orm.entity.AuditorEntity; +import io.sc.platform.scheduler.core.vo.Task; +import io.sc.platform.scheduler.core.enums.*; +import io.sc.platform.scheduler.manager.server.jpa.entity.task.*; +import org.hibernate.annotations.GenericGenerator; +import org.springframework.util.StringUtils; + +import javax.persistence.*; +import javax.validation.constraints.Size; + +@Entity(name="io.sc.platform.scheduler.manager.server.jpa.entity.TaskEntity") +@Table(name="JOB_TASK") +@Inheritance(strategy = InheritanceType.SINGLE_TABLE) +@DiscriminatorColumn(name="TYPE_",discriminatorType=DiscriminatorType.STRING,length=20) +@JsonIgnoreProperties(ignoreUnknown=true) +@JsonTypeInfo(use=JsonTypeInfo.Id.NAME, include=JsonTypeInfo.As.PROPERTY, property="type",visible=true,defaultImpl = BeanTaskEntity.class ) +@JsonSubTypes({ + @JsonSubTypes.Type(value = BeanTaskEntity.class, name = "BEAN"), + @JsonSubTypes.Type(value = GroovyTaskEntity.class, name = "GROOVY"), + @JsonSubTypes.Type(value = ShellTaskEntity.class, name = "SHELL"), + @JsonSubTypes.Type(value = PythonTaskEntity.class, name = "PYTHON"), + @JsonSubTypes.Type(value = PhpTaskEntity.class, name = "PHP"), + @JsonSubTypes.Type(value = NodeJsTaskEntity.class, name = "NODEJS"), + @JsonSubTypes.Type(value = PowerShellTaskEntity.class, name = "POWERSHELL"), +}) +public class TaskEntity extends AuditorEntity { + //主键 + @Id + @GeneratedValue(generator = "system-uuid") + @GenericGenerator(name = "system-uuid", strategy = "uuid2") + @Column(name="ID_", length=36) + @Size(max=36) + private String id; + + //任务类型 + @Column(name="TYPE_",insertable=false,updatable=false) + @Enumerated(EnumType.STRING) + private TaskType type; + + //状态 + @Column(name="STATUS_") + @Enumerated(EnumType.STRING) + private TaskStatus status =TaskStatus.STOPED; + + //父任务 + @ManyToOne(fetch=FetchType.LAZY) + @JoinColumn(name="PARENT_ID_") + private TaskEntity parent; + + //执行器ID + @ManyToOne(fetch=FetchType.LAZY) + @JoinColumn(name="EXECUTOR_ID_") + private ExecutorEntity executor; + + //名称 + @Column(name="NAME_", length=255) + @Size(min=1,max=255) + private String name; + + //描述 + @Column(name="DESCRIPTION_", length=255) + @Size(max=255) + private String description; + + //负责人 + @Column(name="AUTHOR_", length=255) + @Size(max=255) + private String author; + + //报警邮件 + @Column(name="ALARM_EMAIL_", length=255) + @Size(max=255) + private String alarmEmail; + + //任务执行时参数 + @Column(name="PARAMETER_", length=1024) + @Size(max=1024) + private String parameter; + + //调度类型 + @Column(name="SCHEDULE_TYPE_") + @Enumerated(EnumType.STRING) + private ScheduleType scheduleType; + + //调度配置(cron 表达式) + @Column(name="SCHEDULE_CRON_", length=255) + @Size(max=255) + private String scheduleCron; + + //调度配置(固定周期,单位秒) + @Column(name="SCHEDULE_FIX_RATE_") + private Integer scheduleFixRate; + + //调度配置(固定延期,单位秒) + @Column(name="SCHEDULE_FIX_DELAY_") + private Integer scheduleFixDelay; + + //路由策略 + @Column(name="ROUTE_STRATEGY_") + @Enumerated(EnumType.STRING) + private RouteStrategy routeStrategy; + + //过期策略 + @Column(name="EXPIRATION_POLICY_") + @Enumerated(EnumType.STRING) + private ExpirationPolicy expirationPolicy; + + //阻塞策略 + @Column(name="BLOCK_STRATEGY_") + @Enumerated(EnumType.STRING) + private BlockStrategy blockStrategy; + + //超时时间,单位秒 + @Column(name="TIMEOUT_") + private int timeout; + + //失败重试次数 + @Column(name="FAIL_RETRY_COUNT_") + private int failRetryCount; + + //上次调度时间 + @Column(name="TRIGGER_LAST_TIME_") + private long triggerLastTime; + + //下次调度时间 + @Column(name="TRIGGER_NEXT_TIME_") + private long triggerNextTime; + + public TaskEntity(){} + public TaskEntity(String id){ + this.id =id; + } + + @Override + public void toVo(Task vo) { + if(vo!=null){ + vo.setId(this.getId()); + vo.setType(this.getType()); + vo.setStatus(this.getStatus()); + if(parent!=null && StringUtils.hasText(parent.getId())){ + vo.setParent(parent.getId()); + } + if(executor!=null && StringUtils.hasText(executor.getId())){ + vo.setExecutor(executor.getId()); + vo.setExecutorApplicationName(executor.getApplicationName()); + vo.setExecutorName(executor.getName()); + } + vo.setName(this.getName()); + vo.setDescription(this.getDescription()); + vo.setAuthor(this.getAuthor()); + vo.setAlarmEmail(this.getAlarmEmail()); + vo.setParameter(this.getParameter()); + vo.setScheduleType(this.getScheduleType()); + vo.setScheduleCron(this.getScheduleCron()); + vo.setScheduleFixRate(this.getScheduleFixRate()); + vo.setScheduleFixDelay(this.getScheduleFixDelay()); + vo.setRouteStrategy(this.getRouteStrategy()); + vo.setExpirationPolicy(this.getExpirationPolicy()); + vo.setBlockStrategy(this.getBlockStrategy()); + vo.setTimeout(this.getTimeout()); + vo.setFailRetryCount(this.getFailRetryCount()); + vo.setTriggerLastTime(this.getTriggerLastTime()); + vo.setTriggerNextTime(this.getTriggerNextTime()); + } + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public TaskType getType() { + return type; + } + + public void setType(TaskType type) { + this.type = type; + } + + public TaskStatus getStatus() { + return status; + } + + public void setStatus(TaskStatus status) { + this.status = status; + } + + public TaskEntity getParent() { + return parent; + } + + public void setParent(TaskEntity parent) { + this.parent = parent; + } + + public ExecutorEntity getExecutor() { + return executor; + } + + public void setExecutor(ExecutorEntity executor) { + this.executor = executor; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public String getAuthor() { + return author; + } + + public void setAuthor(String author) { + this.author = author; + } + + public String getAlarmEmail() { + return alarmEmail; + } + + public void setAlarmEmail(String alarmEmail) { + this.alarmEmail = alarmEmail; + } + + public String getParameter() { + return parameter; + } + + public void setParameter(String parameter) { + this.parameter = parameter; + } + + public ScheduleType getScheduleType() { + return scheduleType; + } + + public void setScheduleType(ScheduleType scheduleType) { + this.scheduleType = scheduleType; + } + + public String getScheduleCron() { + return scheduleCron; + } + + public void setScheduleCron(String scheduleCron) { + this.scheduleCron = scheduleCron; + } + + public Integer getScheduleFixRate() { + return scheduleFixRate; + } + + public void setScheduleFixRate(Integer scheduleFixRate) { + this.scheduleFixRate = scheduleFixRate; + } + + public Integer getScheduleFixDelay() { + return scheduleFixDelay; + } + + public void setScheduleFixDelay(Integer scheduleFixDelay) { + this.scheduleFixDelay = scheduleFixDelay; + } + + public RouteStrategy getRouteStrategy() { + return routeStrategy; + } + + public void setRouteStrategy(RouteStrategy routeStrategy) { + this.routeStrategy = routeStrategy; + } + + public ExpirationPolicy getExpirationPolicy() { + return expirationPolicy; + } + + public void setExpirationPolicy(ExpirationPolicy expirationPolicy) { + this.expirationPolicy = expirationPolicy; + } + + public BlockStrategy getBlockStrategy() { + return blockStrategy; + } + + public void setBlockStrategy(BlockStrategy blockStrategy) { + this.blockStrategy = blockStrategy; + } + + public int getTimeout() { + return timeout; + } + + public void setTimeout(int timeout) { + this.timeout = timeout; + } + + public int getFailRetryCount() { + return failRetryCount; + } + + public void setFailRetryCount(int failRetryCount) { + this.failRetryCount = failRetryCount; + } + + public long getTriggerLastTime() { + return triggerLastTime; + } + + public void setTriggerLastTime(long triggerLastTime) { + this.triggerLastTime = triggerLastTime; + } + + public long getTriggerNextTime() { + return triggerNextTime; + } + + public void setTriggerNextTime(long triggerNextTime) { + this.triggerNextTime = triggerNextTime; + } +} diff --git a/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/jpa/entity/TaskLogEntity.java b/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/jpa/entity/TaskLogEntity.java similarity index 96% rename from io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/jpa/entity/TaskLogEntity.java rename to io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/jpa/entity/TaskLogEntity.java index 6db82152..65b110b6 100644 --- a/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/jpa/entity/TaskLogEntity.java +++ b/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/jpa/entity/TaskLogEntity.java @@ -1,6 +1,6 @@ -package io.sc.platform.scheduler.manager.jpa.entity; +package io.sc.platform.scheduler.manager.server.jpa.entity; -import io.sc.platform.scheduler.core.TaskLog; +import io.sc.platform.scheduler.core.vo.TaskLog; import io.sc.platform.orm.entity.BaseEntity; import org.hibernate.annotations.GenericGenerator; @@ -8,7 +8,7 @@ import javax.persistence.*; import javax.validation.constraints.Size; import java.util.Date; -@Entity +@Entity(name="io.sc.platform.scheduler.manager.server.jpa.entity.TaskLogEntity") @Table(name="JOB_TASK_LOG") public class TaskLogEntity extends BaseEntity { //主键 diff --git a/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/jpa/entity/task/GroovyTaskEntity.java b/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/jpa/entity/task/GroovyTaskEntity.java new file mode 100644 index 00000000..d3bb29ae --- /dev/null +++ b/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/jpa/entity/task/GroovyTaskEntity.java @@ -0,0 +1,34 @@ +package io.sc.platform.scheduler.manager.server.jpa.entity.task; + +import io.sc.platform.scheduler.core.vo.task.BeanTask; +import io.sc.platform.scheduler.core.vo.task.GroovyTask; +import io.sc.platform.scheduler.manager.server.jpa.entity.TaskEntity; + +import javax.persistence.Column; +import javax.persistence.DiscriminatorValue; +import javax.persistence.Entity; +import javax.validation.constraints.Size; + +@Entity +@DiscriminatorValue("GROOVY") +public class GroovyTaskEntity extends TaskEntity { + //groovy 源码 + @Column(name="GROOVY_") + private String groovy; + + @Override + public GroovyTask toVo() { + GroovyTask vo =new GroovyTask(); + super.toVo(vo); + vo.setGroovy(this.getGroovy()); + return vo; + } + + public String getGroovy() { + return groovy; + } + + public void setGroovy(String groovy) { + this.groovy = groovy; + } +} diff --git a/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/jpa/entity/task/NodeJsTaskEntity.java b/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/jpa/entity/task/NodeJsTaskEntity.java new file mode 100644 index 00000000..ca61924b --- /dev/null +++ b/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/jpa/entity/task/NodeJsTaskEntity.java @@ -0,0 +1,32 @@ +package io.sc.platform.scheduler.manager.server.jpa.entity.task; + +import io.sc.platform.scheduler.core.vo.task.NodeJsTask; +import io.sc.platform.scheduler.manager.server.jpa.entity.TaskEntity; + +import javax.persistence.Column; +import javax.persistence.DiscriminatorValue; +import javax.persistence.Entity; + +@Entity +@DiscriminatorValue("NODEJS") +public class NodeJsTaskEntity extends TaskEntity { + //shell 脚本 + @Column(name="NODEJS_") + private String nodejs; + + @Override + public NodeJsTask toVo() { + NodeJsTask vo =new NodeJsTask(); + super.toVo(vo); + vo.setNodejs(this.getNodejs()); + return vo; + } + + public String getNodejs() { + return nodejs; + } + + public void setNodejs(String nodejs) { + this.nodejs = nodejs; + } +} diff --git a/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/jpa/entity/task/PhpTaskEntity.java b/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/jpa/entity/task/PhpTaskEntity.java new file mode 100644 index 00000000..dda21b68 --- /dev/null +++ b/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/jpa/entity/task/PhpTaskEntity.java @@ -0,0 +1,33 @@ +package io.sc.platform.scheduler.manager.server.jpa.entity.task; + +import io.sc.platform.scheduler.core.vo.task.NodeJsTask; +import io.sc.platform.scheduler.core.vo.task.PhpTask; +import io.sc.platform.scheduler.manager.server.jpa.entity.TaskEntity; + +import javax.persistence.Column; +import javax.persistence.DiscriminatorValue; +import javax.persistence.Entity; + +@Entity +@DiscriminatorValue("PHP") +public class PhpTaskEntity extends TaskEntity { + //shell 脚本 + @Column(name="PHP_") + private String php; + + @Override + public PhpTask toVo() { + PhpTask vo =new PhpTask(); + super.toVo(vo); + vo.setPhp(this.getPhp()); + return vo; + } + + public String getPhp() { + return php; + } + + public void setPhp(String php) { + this.php = php; + } +} diff --git a/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/jpa/entity/task/PowerShellTaskEntity.java b/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/jpa/entity/task/PowerShellTaskEntity.java new file mode 100644 index 00000000..eb827671 --- /dev/null +++ b/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/jpa/entity/task/PowerShellTaskEntity.java @@ -0,0 +1,32 @@ +package io.sc.platform.scheduler.manager.server.jpa.entity.task; + +import io.sc.platform.scheduler.core.vo.task.PowerShellTask; +import io.sc.platform.scheduler.manager.server.jpa.entity.TaskEntity; + +import javax.persistence.Column; +import javax.persistence.DiscriminatorValue; +import javax.persistence.Entity; + +@Entity +@DiscriminatorValue("POWERSHELL") +public class PowerShellTaskEntity extends TaskEntity { + //shell 脚本 + @Column(name="POWERSHELL_") + private String powershell; + + @Override + public PowerShellTask toVo() { + PowerShellTask vo =new PowerShellTask(); + super.toVo(vo); + vo.setPowershell(this.getPowershell()); + return vo; + } + + public String getPowershell() { + return powershell; + } + + public void setPowershell(String powershell) { + this.powershell = powershell; + } +} diff --git a/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/jpa/entity/task/PythonTaskEntity.java b/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/jpa/entity/task/PythonTaskEntity.java new file mode 100644 index 00000000..bea1707b --- /dev/null +++ b/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/jpa/entity/task/PythonTaskEntity.java @@ -0,0 +1,32 @@ +package io.sc.platform.scheduler.manager.server.jpa.entity.task; + +import io.sc.platform.scheduler.core.vo.task.PythonTask; +import io.sc.platform.scheduler.manager.server.jpa.entity.TaskEntity; + +import javax.persistence.Column; +import javax.persistence.DiscriminatorValue; +import javax.persistence.Entity; + +@Entity +@DiscriminatorValue("PYTHON") +public class PythonTaskEntity extends TaskEntity { + //shell 脚本 + @Column(name="PYTHON_") + private String python; + + @Override + public PythonTask toVo() { + PythonTask vo =new PythonTask(); + super.toVo(vo); + vo.setPython(this.getPython()); + return vo; + } + + public String getPython() { + return python; + } + + public void setPython(String python) { + this.python = python; + } +} diff --git a/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/jpa/entity/task/ShellTaskEntity.java b/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/jpa/entity/task/ShellTaskEntity.java new file mode 100644 index 00000000..594b78a5 --- /dev/null +++ b/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/jpa/entity/task/ShellTaskEntity.java @@ -0,0 +1,34 @@ +package io.sc.platform.scheduler.manager.server.jpa.entity.task; + +import io.sc.platform.scheduler.core.vo.task.PowerShellTask; +import io.sc.platform.scheduler.core.vo.task.ShellTask; +import io.sc.platform.scheduler.core.vo.task.ShellTask; +import io.sc.platform.scheduler.manager.server.jpa.entity.TaskEntity; + +import javax.persistence.Column; +import javax.persistence.DiscriminatorValue; +import javax.persistence.Entity; + +@Entity +@DiscriminatorValue("SHELL") +public class ShellTaskEntity extends TaskEntity { + //shell 脚本 + @Column(name="SHELL_") + private String shell; + + @Override + public ShellTask toVo() { + ShellTask vo =new ShellTask(); + super.toVo(vo); + vo.setShell(this.getShell()); + return vo; + } + + public String getShell() { + return shell; + } + + public void setShell(String shell) { + this.shell = shell; + } +} diff --git a/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/jpa/repository/ExecutorRegistryRepository.java b/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/jpa/repository/ExecutorRegistryRepository.java new file mode 100644 index 00000000..f60f2cc6 --- /dev/null +++ b/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/jpa/repository/ExecutorRegistryRepository.java @@ -0,0 +1,10 @@ +package io.sc.platform.scheduler.manager.server.jpa.repository; + +import io.sc.platform.orm.repository.DaoRepository; +import io.sc.platform.scheduler.manager.server.jpa.entity.ExecutorRegistryEntity; +import org.springframework.stereotype.Service; + +@Service("io.sc.platform.scheduler.manager.server.jpa.repository.ExecutorRegistryRepository") +public interface ExecutorRegistryRepository extends DaoRepository { + +} diff --git a/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/jpa/repository/ExecutorRepository.java b/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/jpa/repository/ExecutorRepository.java new file mode 100644 index 00000000..3d2e0f9f --- /dev/null +++ b/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/jpa/repository/ExecutorRepository.java @@ -0,0 +1,13 @@ +package io.sc.platform.scheduler.manager.server.jpa.repository; + +import io.sc.platform.orm.repository.DaoRepository; +import io.sc.platform.scheduler.manager.server.jpa.entity.ExecutorEntity; +import org.springframework.data.repository.query.Param; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service("io.sc.platform.scheduler.manager.server.jpa.repository.ExecutorRepository") +public interface ExecutorRepository extends DaoRepository { + public ExecutorEntity findByApplicationNameAndName(String applicationName,String name); +} diff --git a/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/jpa/repository/TaskLogReportRepository.java b/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/jpa/repository/TaskLogReportRepository.java new file mode 100644 index 00000000..d06a1446 --- /dev/null +++ b/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/jpa/repository/TaskLogReportRepository.java @@ -0,0 +1,9 @@ +package io.sc.platform.scheduler.manager.server.jpa.repository; + +import io.sc.platform.scheduler.manager.server.jpa.entity.ReportEntity; +import io.sc.platform.orm.repository.DaoRepository; +import org.springframework.stereotype.Service; + +@Service("io.sc.platform.scheduler.manager.server.jpa.repository.TaskLogReportRepository") +public interface TaskLogReportRepository extends DaoRepository { +} diff --git a/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/jpa/repository/TaskLogRepository.java b/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/jpa/repository/TaskLogRepository.java new file mode 100644 index 00000000..3bbe485e --- /dev/null +++ b/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/jpa/repository/TaskLogRepository.java @@ -0,0 +1,9 @@ +package io.sc.platform.scheduler.manager.server.jpa.repository; + +import io.sc.platform.scheduler.manager.server.jpa.entity.TaskLogEntity; +import io.sc.platform.orm.repository.DaoRepository; +import org.springframework.stereotype.Service; + +@Service("io.sc.platform.scheduler.manager.server.jpa.repository.TaskLogRepository") +public interface TaskLogRepository extends DaoRepository { +} diff --git a/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/jpa/repository/TaskRepository.java b/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/jpa/repository/TaskRepository.java new file mode 100644 index 00000000..81876390 --- /dev/null +++ b/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/jpa/repository/TaskRepository.java @@ -0,0 +1,9 @@ +package io.sc.platform.scheduler.manager.server.jpa.repository; + +import io.sc.platform.scheduler.manager.server.jpa.entity.TaskEntity; +import io.sc.platform.orm.repository.DaoRepository; +import org.springframework.stereotype.Service; + +@Service("io.sc.platform.scheduler.manager.server.jpa.repository.TaskRepository") +public interface TaskRepository extends DaoRepository { +} diff --git a/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/service/ExecutorRegistryService.java b/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/service/ExecutorRegistryService.java new file mode 100644 index 00000000..1dfa7f24 --- /dev/null +++ b/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/service/ExecutorRegistryService.java @@ -0,0 +1,11 @@ +package io.sc.platform.scheduler.manager.server.service; + +import io.sc.platform.scheduler.core.vo.ExecutorRegistry; +import io.sc.platform.scheduler.manager.server.jpa.entity.ExecutorRegistryEntity; +import io.sc.platform.scheduler.manager.server.jpa.repository.ExecutorRegistryRepository; +import io.sc.platform.orm.service.DaoService; + +public interface ExecutorRegistryService extends DaoService { + public void registry(ExecutorRegistry registry); + public void unRegistry(ExecutorRegistry registry); +} diff --git a/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/service/ExecutorService.java b/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/service/ExecutorService.java new file mode 100644 index 00000000..6c15ce2d --- /dev/null +++ b/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/service/ExecutorService.java @@ -0,0 +1,14 @@ +package io.sc.platform.scheduler.manager.server.service; + +import io.sc.platform.orm.service.DaoService; +import io.sc.platform.orm.service.support.QueryParameter; +import io.sc.platform.scheduler.core.vo.Executor; +import io.sc.platform.scheduler.core.vo.ExecutorRegistry; +import io.sc.platform.scheduler.manager.server.jpa.entity.ExecutorEntity; +import io.sc.platform.scheduler.manager.server.jpa.repository.ExecutorRepository; +import org.springframework.data.domain.Page; + +public interface ExecutorService extends DaoService { + public Page queryWithDetail(QueryParameter queryParameter) throws Exception; + public ExecutorEntity addFromRegistry(ExecutorRegistry executorRegistry) throws Exception; +} diff --git a/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/service/JobService.java b/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/service/JobService.java new file mode 100644 index 00000000..74cf035b --- /dev/null +++ b/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/service/JobService.java @@ -0,0 +1,12 @@ +package io.sc.platform.scheduler.manager.server.service; + +import io.sc.platform.scheduler.manager.server.jpa.entity.TaskEntity; +import io.sc.platform.scheduler.manager.server.jpa.repository.TaskRepository; +import io.sc.platform.orm.service.DaoService; + +public interface JobService extends DaoService { + + + public void start(String id); + public void stop(String id); +} diff --git a/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/service/ReportService.java b/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/service/ReportService.java similarity index 64% rename from io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/service/ReportService.java rename to io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/service/ReportService.java index aaf23588..fbff6f85 100644 --- a/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/service/ReportService.java +++ b/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/service/ReportService.java @@ -1,4 +1,4 @@ -package io.sc.platform.scheduler.manager.service; +package io.sc.platform.scheduler.manager.server.service; import java.util.Map; diff --git a/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/service/TaskLogService.java b/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/service/TaskLogService.java new file mode 100644 index 00000000..a6aa8073 --- /dev/null +++ b/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/service/TaskLogService.java @@ -0,0 +1,10 @@ +package io.sc.platform.scheduler.manager.server.service; + +import io.sc.platform.scheduler.core.vo.TaskLog; +import io.sc.platform.scheduler.manager.server.jpa.entity.TaskLogEntity; +import io.sc.platform.scheduler.manager.server.jpa.repository.TaskLogRepository; +import io.sc.platform.orm.service.DaoService; + +public interface TaskLogService extends DaoService { + public void callback(TaskLog taskLog); +} diff --git a/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/service/TaskService.java b/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/service/TaskService.java new file mode 100644 index 00000000..349ecb2c --- /dev/null +++ b/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/service/TaskService.java @@ -0,0 +1,9 @@ +package io.sc.platform.scheduler.manager.server.service; + +import io.sc.platform.orm.service.DaoService; +import io.sc.platform.scheduler.manager.server.jpa.entity.TaskEntity; +import io.sc.platform.scheduler.manager.server.jpa.repository.TaskRepository; + +public interface TaskService extends DaoService { + +} diff --git a/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/service/impl/ExecutorRegistryServiceImpl.java b/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/service/impl/ExecutorRegistryServiceImpl.java new file mode 100644 index 00000000..2aec1a41 --- /dev/null +++ b/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/service/impl/ExecutorRegistryServiceImpl.java @@ -0,0 +1,47 @@ +package io.sc.platform.scheduler.manager.server.service.impl; + +import io.sc.platform.jdbc.sql.dialect.Dialect; +import io.sc.platform.jdbc.sql.dialect.DialectFactory; +import io.sc.platform.orm.service.impl.DaoServiceImpl; +import io.sc.platform.scheduler.core.vo.ExecutorRegistry; +import io.sc.platform.scheduler.manager.server.jpa.entity.ExecutorRegistryEntity; +import io.sc.platform.scheduler.manager.server.jpa.repository.ExecutorRegistryRepository; +import io.sc.platform.scheduler.manager.server.service.ExecutorRegistryService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.stereotype.Service; + +import javax.annotation.PostConstruct; +import javax.sql.DataSource; +import java.util.UUID; + +@Service("io.sc.platform.scheduler.manager.server.service.impl.ExecutorRegistryServiceImpl") +public class ExecutorRegistryServiceImpl extends DaoServiceImpl implements ExecutorRegistryService { + @Autowired private JdbcTemplate jdbcTemplate; + @Autowired private DataSource dataSource; + private Dialect dialect; + private String updateSql; + private String insertSql; + private String deleteSql; + + @PostConstruct + public void initExecutorRegistryServiceImpl(){ + dialect = DialectFactory.newInstance(dataSource); + updateSql ="update JOB_EXECUTOR_REGISTRY set REGIST_DATE_=" + dialect.currentTimeStamp() + " where APPLICATION_NAME_=? and NAME_=? and URL_=?"; + insertSql ="insert into JOB_EXECUTOR_REGISTRY(ID_,APPLICATION_NAME_,NAME_,URL_,REGIST_DATE_) values(?,?,?,?," + dialect.currentTimeStamp() + ")"; + deleteSql ="delete from JOB_EXECUTOR_REGISTRY where APPLICATION_NAME_=? and NAME_=? and URL_=?"; + } + + @Override + public void registry(ExecutorRegistry registry) { + int count =jdbcTemplate.update(updateSql,registry.getApplicationName(),registry.getName(),registry.getUrl()); + if(count<1){ + jdbcTemplate.update(insertSql,UUID.randomUUID().toString(),registry.getApplicationName(),registry.getName(),registry.getUrl()); + } + } + + @Override + public void unRegistry(ExecutorRegistry registry) { + jdbcTemplate.update(deleteSql,registry.getApplicationName(),registry.getName(),registry.getUrl()); + } +} diff --git a/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/service/impl/ExecutorServiceImpl.java b/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/service/impl/ExecutorServiceImpl.java new file mode 100644 index 00000000..f14c8160 --- /dev/null +++ b/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/service/impl/ExecutorServiceImpl.java @@ -0,0 +1,170 @@ +package io.sc.platform.scheduler.manager.server.service.impl; + +import io.sc.platform.orm.service.impl.DaoServiceImpl; +import io.sc.platform.orm.service.support.QueryParameter; +import io.sc.platform.orm.util.EntityVoUtil; +import io.sc.platform.scheduler.core.vo.Executor; +import io.sc.platform.scheduler.core.vo.ExecutorRegistry; +import io.sc.platform.scheduler.core.enums.PermitStrategy; +import io.sc.platform.scheduler.core.enums.support.ExecutorDetail; +import io.sc.platform.scheduler.core.exception.ExecutorAlreadyExistsException; +import io.sc.platform.scheduler.manager.server.jpa.entity.ExecutorEntity; +import io.sc.platform.scheduler.manager.server.jpa.repository.ExecutorRepository; +import io.sc.platform.scheduler.manager.server.service.ExecutorRegistryService; +import io.sc.platform.scheduler.manager.server.service.ExecutorService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.domain.Page; +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.stereotype.Service; + +import java.util.*; + +@Service("io.sc.platform.scheduler.manager.server.service.impl.ExecutorServiceImpl") +public class ExecutorServiceImpl extends DaoServiceImpl implements ExecutorService { + @Autowired private JdbcTemplate jdbcTemplate; + @Autowired private ExecutorRegistryService executorRegistryService; + + @Override + public Page queryWithDetail(QueryParameter queryParameter) throws Exception { + Page page =EntityVoUtil.toVo(super.query(queryParameter)); + if(page!=null && page.getContent()!=null && !page.getContent().isEmpty()){ + List executorRegistries =EntityVoUtil.toVo(executorRegistryService.getRepository().findAll()); + List executors =page.getContent(); + for(Executor executor : executors){ + executor.setDetails(buildDetails(executor,executorRegistries)); + } + } + return page; + } + + @Override + public ExecutorEntity addFromRegistry(ExecutorRegistry executorRegistry) throws Exception { + ExecutorEntity entity =repository.findByApplicationNameAndName(executorRegistry.getApplicationName(),executorRegistry.getName()); + if(entity==null) { + entity =new ExecutorEntity(); + entity.setApplicationName(executorRegistry.getApplicationName()); + entity.setName(executorRegistry.getName()); + entity.setPermitStrategy(PermitStrategy.ALL); + return super.add(entity); + } + throw new ExecutorAlreadyExistsException(); + } + + private Set buildDetails(Executor executor, List executorRegistries){ + switch (executor.getPermitStrategy()){ + case ALL: + return buildAllDetails(executor,executorRegistries); + case NONE: + return buildNoneDetails(executor,executorRegistries); + case INCLUDE: + return buildIncludeDetails(executor,executorRegistries); + case EXCLUDE: + return buildExcludeDetails(executor,executorRegistries); + default: + return Collections.emptySet(); + } + } + + private Set buildAllDetails(Executor executor, List registries){ + Set result =new TreeSet<>(); + for(ExecutorRegistry registry : registries){ + String applicationName =registry.getApplicationName()==null?"":registry.getApplicationName(); + String name =registry.getName()==null?"":registry.getName(); + if(applicationName.equals(registry.getApplicationName()) && name.equals(registry.getName())){ + long interval =registry.getNow().getTime() - registry.getRegistDate().getTime(); + ExecutorDetail detail =new ExecutorDetail(); + detail.setEnable(true); + detail.setOnline(interval<40*1000); + detail.setUrl(registry.getUrl()); + result.add(detail); + } + } + return result; + } + private Set buildNoneDetails(Executor executor, List registries){ + Set result =new TreeSet<>(); + for(ExecutorRegistry registry : registries){ + String applicationName =registry.getApplicationName()==null?"":registry.getApplicationName(); + String name =registry.getName()==null?"":registry.getName(); + if(applicationName.equals(registry.getApplicationName()) && name.equals(registry.getName())){ + long interval =registry.getNow().getTime() - registry.getRegistDate().getTime(); + ExecutorDetail detail =new ExecutorDetail(); + detail.setEnable(false); + detail.setOnline(interval<40*1000); + detail.setUrl(registry.getUrl()); + result.add(detail); + } + } + return result; + } + private Set buildIncludeDetails(Executor executor, List registries){ + Map cache =new TreeMap<>(); + Set urls =executor.getPermitStrategyUrls(); + for(String url : urls){ + ExecutorDetail detail =new ExecutorDetail(); + detail.setEnable(true); + detail.setOnline(false); + detail.setUrl(url); + cache.put(detail.getUrl(),detail); + } + + for(ExecutorRegistry registry : registries){ + String applicationName =registry.getApplicationName()==null?"":registry.getApplicationName(); + String name =registry.getName()==null?"":registry.getName(); + if(applicationName.equals(registry.getApplicationName()) && name.equals(registry.getName())){ + long interval =registry.getNow().getTime() - registry.getRegistDate().getTime(); + ExecutorDetail detail =cache.get(registry.getUrl()); + if(detail==null){ + detail =new ExecutorDetail(); + detail.setEnable(false); + }else { + detail.setEnable(true); + } + detail.setOnline(interval<40*1000); + detail.setUrl(registry.getUrl()); + cache.put(detail.getUrl(),detail); + } + } + + Set result =new TreeSet<>(); + for(Map.Entry entry : cache.entrySet()){ + result.add(entry.getValue()); + } + return result; + } + private Set buildExcludeDetails(Executor executor, List registries){ + Map cache =new TreeMap<>(); + Set urls =executor.getPermitStrategyUrls(); + for(String url : urls){ + ExecutorDetail detail =new ExecutorDetail(); + detail.setEnable(false); + detail.setOnline(false); + detail.setUrl(url); + cache.put(detail.getUrl(),detail); + } + + for(ExecutorRegistry registry : registries){ + String applicationName =registry.getApplicationName()==null?"":registry.getApplicationName(); + String name =registry.getName()==null?"":registry.getName(); + if(applicationName.equals(registry.getApplicationName()) && name.equals(registry.getName())){ + long interval =registry.getNow().getTime() - registry.getRegistDate().getTime(); + ExecutorDetail detail =cache.get(registry.getUrl()); + if(detail!=null){ + detail.setEnable(false); + }else { + detail =new ExecutorDetail(); + detail.setEnable(true); + } + detail.setOnline(interval<40*1000); + detail.setUrl(registry.getUrl()); + cache.put(detail.getUrl(),detail); + } + } + + Set result =new TreeSet<>(); + for(Map.Entry entry : cache.entrySet()){ + result.add(entry.getValue()); + } + return result; + } +} diff --git a/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/service/impl/JobServiceImpl.java b/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/service/impl/JobServiceImpl.java new file mode 100644 index 00000000..97db8fd9 --- /dev/null +++ b/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/service/impl/JobServiceImpl.java @@ -0,0 +1,28 @@ +package io.sc.platform.scheduler.manager.server.service.impl; + +import io.sc.platform.scheduler.core.enums.ScheduleType; +import io.sc.platform.scheduler.manager.server.jpa.entity.TaskEntity; +import io.sc.platform.scheduler.manager.server.jpa.repository.TaskRepository; +import io.sc.platform.scheduler.manager.server.service.JobService; +import io.sc.platform.orm.service.impl.DaoServiceImpl; +import org.springframework.stereotype.Service; + +@Service("io.sc.platform.scheduler.manager.server.service.impl.JobServiceImpl") +public class JobServiceImpl extends DaoServiceImpl implements JobService { + @Override + public void start(String id) { + TaskEntity taskEntity =this.findById(id); + if(taskEntity==null){ + return; + } + if(ScheduleType.NONE.equals(taskEntity.getScheduleType())){ + throw new RuntimeException(); + } + long nextTriggerTime = 0; + } + + @Override + public void stop(String id) { + + } +} diff --git a/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/service/impl/ReportServiceImpl.java b/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/service/impl/ReportServiceImpl.java new file mode 100644 index 00000000..d56ccb8b --- /dev/null +++ b/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/service/impl/ReportServiceImpl.java @@ -0,0 +1,14 @@ +package io.sc.platform.scheduler.manager.server.service.impl; + +import io.sc.platform.scheduler.manager.server.service.ReportService; +import org.springframework.stereotype.Service; + +import java.util.Map; + +@Service("io.sc.platform.scheduler.manager.server.service.impl.ReportServiceImpl") +public class ReportServiceImpl implements ReportService { + @Override + public Map dashboard() { + return null; + } +} diff --git a/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/service/impl/TaskLogServiceImpl.java b/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/service/impl/TaskLogServiceImpl.java similarity index 64% rename from io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/service/impl/TaskLogServiceImpl.java rename to io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/service/impl/TaskLogServiceImpl.java index 8ecaadd8..79ce794c 100644 --- a/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/service/impl/TaskLogServiceImpl.java +++ b/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/service/impl/TaskLogServiceImpl.java @@ -1,13 +1,9 @@ -package io.sc.platform.scheduler.manager.service.impl; +package io.sc.platform.scheduler.manager.server.service.impl; -import io.sc.platform.scheduler.core.ExecutorRegistry; -import io.sc.platform.scheduler.core.TaskLog; -import io.sc.platform.scheduler.manager.jpa.entity.ExecutorRegistryEntity; -import io.sc.platform.scheduler.manager.jpa.entity.TaskLogEntity; -import io.sc.platform.scheduler.manager.jpa.repository.ExecutorRegistryRepository; -import io.sc.platform.scheduler.manager.jpa.repository.TaskLogRepository; -import io.sc.platform.scheduler.manager.service.ExecutorRegistryService; -import io.sc.platform.scheduler.manager.service.TaskLogService; +import io.sc.platform.scheduler.core.vo.TaskLog; +import io.sc.platform.scheduler.manager.server.jpa.entity.TaskLogEntity; +import io.sc.platform.scheduler.manager.server.jpa.repository.TaskLogRepository; +import io.sc.platform.scheduler.manager.server.service.TaskLogService; import io.sc.platform.orm.service.impl.DaoServiceImpl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.jdbc.core.JdbcTemplate; @@ -15,9 +11,8 @@ import org.springframework.stereotype.Service; import org.springframework.util.StringUtils; import java.util.Date; -import java.util.UUID; -@Service +@Service("io.sc.platform.scheduler.manager.server.service.impl.TaskLogServiceImpl") public class TaskLogServiceImpl extends DaoServiceImpl implements TaskLogService { @Autowired private JdbcTemplate jdbcTemplate; diff --git a/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/service/impl/TaskServiceImpl.java b/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/service/impl/TaskServiceImpl.java new file mode 100644 index 00000000..8a4af441 --- /dev/null +++ b/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/service/impl/TaskServiceImpl.java @@ -0,0 +1,12 @@ +package io.sc.platform.scheduler.manager.server.service.impl; + +import io.sc.platform.orm.service.impl.DaoServiceImpl; +import io.sc.platform.scheduler.manager.server.jpa.entity.TaskEntity; +import io.sc.platform.scheduler.manager.server.jpa.repository.TaskRepository; +import io.sc.platform.scheduler.manager.server.service.TaskService; +import org.springframework.stereotype.Service; + +@Service("io.sc.platform.scheduler.manager.server.service.impl.TaskServiceImpl") +public class TaskServiceImpl extends DaoServiceImpl implements TaskService { + +} diff --git a/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/support/ExecutorRegistryRowMapper.java b/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/support/ExecutorRegistryRowMapper.java new file mode 100644 index 00000000..74609866 --- /dev/null +++ b/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/server/support/ExecutorRegistryRowMapper.java @@ -0,0 +1,21 @@ +package io.sc.platform.scheduler.manager.server.support; + +import io.sc.platform.scheduler.core.vo.ExecutorRegistry; +import org.springframework.jdbc.core.RowMapper; + +import java.sql.ResultSet; +import java.sql.SQLException; + +public class ExecutorRegistryRowMapper implements RowMapper { + @Override + public ExecutorRegistry mapRow(ResultSet rs, int rowNum) throws SQLException { + ExecutorRegistry registry =new ExecutorRegistry(); + registry.setId(rs.getString("ID_")); + registry.setApplicationName(rs.getString("APPLICATION_NAME_")); + registry.setName(rs.getString("NAME_")); + registry.setUrl(rs.getString("URL_")); + registry.setRegistDate(rs.getTimestamp("REGIST_DATE_")); + registry.setNow(rs.getTimestamp("NOW_")); + return registry; + } +} diff --git a/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/service/ExecutorRegistryService.java b/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/service/ExecutorRegistryService.java deleted file mode 100644 index d6b70808..00000000 --- a/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/service/ExecutorRegistryService.java +++ /dev/null @@ -1,11 +0,0 @@ -package io.sc.platform.scheduler.manager.service; - -import io.sc.platform.scheduler.core.ExecutorRegistry; -import io.sc.platform.scheduler.manager.jpa.entity.ExecutorRegistryEntity; -import io.sc.platform.scheduler.manager.jpa.repository.ExecutorRegistryRepository; -import io.sc.platform.orm.service.DaoService; - -public interface ExecutorRegistryService extends DaoService { - public void registry(ExecutorRegistry executorRegistry); - public void unRegistry(ExecutorRegistry executorRegistry); -} diff --git a/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/service/ExecutorService.java b/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/service/ExecutorService.java deleted file mode 100644 index 9d7fa5e0..00000000 --- a/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/service/ExecutorService.java +++ /dev/null @@ -1,9 +0,0 @@ -package io.sc.platform.scheduler.manager.service; - -import io.sc.platform.orm.service.DaoService; -import io.sc.platform.scheduler.manager.jpa.entity.ExecutorEntity; -import io.sc.platform.scheduler.manager.jpa.repository.ExecutorRepository; - -public interface ExecutorService extends DaoService { - -} diff --git a/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/service/JobService.java b/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/service/JobService.java deleted file mode 100644 index bc5b42a3..00000000 --- a/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/service/JobService.java +++ /dev/null @@ -1,12 +0,0 @@ -package io.sc.platform.scheduler.manager.service; - -import io.sc.platform.scheduler.manager.jpa.entity.TaskEntity; -import io.sc.platform.scheduler.manager.jpa.repository.TaskRepository; -import io.sc.platform.orm.service.DaoService; - -public interface JobService extends DaoService { - - - public void start(String id); - public void stop(String id); -} diff --git a/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/service/TaskLogService.java b/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/service/TaskLogService.java deleted file mode 100644 index 79793db1..00000000 --- a/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/service/TaskLogService.java +++ /dev/null @@ -1,12 +0,0 @@ -package io.sc.platform.scheduler.manager.service; - -import io.sc.platform.scheduler.core.TaskLog; -import io.sc.platform.scheduler.manager.jpa.entity.ExecutorRegistryEntity; -import io.sc.platform.scheduler.manager.jpa.entity.TaskLogEntity; -import io.sc.platform.scheduler.manager.jpa.repository.ExecutorRegistryRepository; -import io.sc.platform.scheduler.manager.jpa.repository.TaskLogRepository; -import io.sc.platform.orm.service.DaoService; - -public interface TaskLogService extends DaoService { - public void callback(TaskLog taskLog); -} diff --git a/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/service/TaskService.java b/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/service/TaskService.java deleted file mode 100644 index 34bc5c31..00000000 --- a/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/service/TaskService.java +++ /dev/null @@ -1,9 +0,0 @@ -package io.sc.platform.scheduler.manager.service; - -import io.sc.platform.orm.service.DaoService; -import io.sc.platform.scheduler.manager.jpa.entity.TaskEntity; -import io.sc.platform.scheduler.manager.jpa.repository.TaskRepository; - -public interface TaskService extends DaoService { - -} diff --git a/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/service/impl/ExecutorRegistryServiceImpl.java b/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/service/impl/ExecutorRegistryServiceImpl.java deleted file mode 100644 index 7699ad88..00000000 --- a/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/service/impl/ExecutorRegistryServiceImpl.java +++ /dev/null @@ -1,49 +0,0 @@ -package io.sc.platform.scheduler.manager.service.impl; - -import io.sc.platform.scheduler.core.ExecutorRegistry; -import io.sc.platform.scheduler.manager.jpa.entity.ExecutorRegistryEntity; -import io.sc.platform.scheduler.manager.jpa.repository.ExecutorRegistryRepository; -import io.sc.platform.scheduler.manager.service.ExecutorRegistryService; -import io.sc.platform.orm.service.impl.DaoServiceImpl; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.jdbc.core.JdbcTemplate; -import org.springframework.stereotype.Service; - -import java.util.Date; -import java.util.UUID; - -@Service -public class ExecutorRegistryServiceImpl extends DaoServiceImpl implements ExecutorRegistryService { - @Autowired private JdbcTemplate jdbcTemplate; - - @Override - public void registry(ExecutorRegistry executorRegistry) { - int count =jdbcTemplate.update( - "update JOB_EXECUTOR_REGISTRY set UPDATE_TIME_=? where REGISTRY_GROUP_=? and REGISTRY_KEY_=? and REGISTRY_VALUE_=?", - new Date(), - executorRegistry.getRegistryGroup(), - executorRegistry.getRegistryKey(), - executorRegistry.getRegistryValue() - ); - if(count<1){ - jdbcTemplate.update( - "insert into JOB_EXECUTOR_REGISTRY(ID_,REGISTRY_GROUP_,REGISTRY_KEY_,REGISTRY_VALUE_,UPDATE_TIME_) values(?,?,?,?,?)", - UUID.randomUUID().toString(), - executorRegistry.getRegistryGroup(), - executorRegistry.getRegistryKey(), - executorRegistry.getRegistryValue(), - new Date() - ); - } - } - - @Override - public void unRegistry(ExecutorRegistry executorRegistry) { - jdbcTemplate.update( - "delete from JOB_EXECUTOR_REGISTRY where REGISTRY_GROUP_=? and REGISTRY_KEY_=? and REGISTRY_VALUE_=?", - executorRegistry.getRegistryGroup(), - executorRegistry.getRegistryKey(), - executorRegistry.getRegistryValue() - ); - } -} diff --git a/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/service/impl/ExecutorServiceImpl.java b/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/service/impl/ExecutorServiceImpl.java deleted file mode 100644 index 43c31596..00000000 --- a/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/service/impl/ExecutorServiceImpl.java +++ /dev/null @@ -1,12 +0,0 @@ -package io.sc.platform.scheduler.manager.service.impl; - -import io.sc.platform.orm.service.impl.DaoServiceImpl; -import io.sc.platform.scheduler.manager.jpa.entity.ExecutorEntity; -import io.sc.platform.scheduler.manager.jpa.repository.ExecutorRepository; -import io.sc.platform.scheduler.manager.service.ExecutorService; -import org.springframework.stereotype.Service; - -@Service -public class ExecutorServiceImpl extends DaoServiceImpl implements ExecutorService { - -} diff --git a/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/service/impl/JobServiceImpl.java b/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/service/impl/JobServiceImpl.java deleted file mode 100644 index 3c781762..00000000 --- a/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/service/impl/JobServiceImpl.java +++ /dev/null @@ -1,26 +0,0 @@ -package io.sc.platform.scheduler.manager.service.impl; - -import io.sc.platform.scheduler.core.enums.TaskScheduleType; -import io.sc.platform.scheduler.manager.jpa.entity.TaskEntity; -import io.sc.platform.scheduler.manager.jpa.repository.TaskRepository; -import io.sc.platform.scheduler.manager.service.JobService; -import io.sc.platform.orm.service.impl.DaoServiceImpl; - -public class JobServiceImpl extends DaoServiceImpl implements JobService { - @Override - public void start(String id) { - TaskEntity taskEntity =this.findById(id); - if(taskEntity==null){ - return; - } - if(TaskScheduleType.NONE.equals(taskEntity.getScheduleType())){ - throw new RuntimeException(); - } - long nextTriggerTime = 0; - } - - @Override - public void stop(String id) { - - } -} diff --git a/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/service/impl/ReportServiceImpl.java b/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/service/impl/ReportServiceImpl.java deleted file mode 100644 index f244429b..00000000 --- a/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/service/impl/ReportServiceImpl.java +++ /dev/null @@ -1,13 +0,0 @@ -package io.sc.platform.scheduler.manager.service.impl; - -import io.sc.platform.scheduler.manager.service.ReportService; -import org.springframework.beans.factory.annotation.Autowired; - -import java.util.Map; - -public class ReportServiceImpl implements ReportService { - @Override - public Map dashboard() { - return null; - } -} diff --git a/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/service/impl/TaskServiceImpl.java b/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/service/impl/TaskServiceImpl.java deleted file mode 100644 index 6857b7d2..00000000 --- a/io.sc.platform.scheduler.manager/src/main/java/io/sc/platform/scheduler/manager/service/impl/TaskServiceImpl.java +++ /dev/null @@ -1,12 +0,0 @@ -package io.sc.platform.scheduler.manager.service.impl; - -import io.sc.platform.orm.service.impl.DaoServiceImpl; -import io.sc.platform.scheduler.manager.jpa.entity.TaskEntity; -import io.sc.platform.scheduler.manager.jpa.repository.TaskRepository; -import io.sc.platform.scheduler.manager.service.TaskService; -import org.springframework.stereotype.Service; - -@Service -public class TaskServiceImpl extends DaoServiceImpl implements TaskService { - -} diff --git a/io.sc.platform.scheduler.manager/src/main/resources/META-INF/platform/plugins/security.json b/io.sc.platform.scheduler.manager/src/main/resources/META-INF/platform/plugins/security.json new file mode 100644 index 00000000..8e0b7ebf --- /dev/null +++ b/io.sc.platform.scheduler.manager/src/main/resources/META-INF/platform/plugins/security.json @@ -0,0 +1,6 @@ +{ + "permitPatterns":[ + "/api/scheduler/manager/executorRegistry/registry", + "/api/scheduler/manager/executorRegistry/unRegistry" + ] +} \ No newline at end of file diff --git a/io.sc.platform.security.frontend/package.json b/io.sc.platform.security.frontend/package.json index e111886a..1b255eef 100644 --- a/io.sc.platform.security.frontend/package.json +++ b/io.sc.platform.security.frontend/package.json @@ -93,7 +93,7 @@ "luckyexcel": "1.0.1", "mockjs": "1.1.0", "pinia": "2.1.7", - "platform-core": "8.1.203", + "platform-core": "8.1.204", "quasar": "2.14.5", "tailwindcss": "3.4.0", "vue": "3.4.3", diff --git a/io.sc.platform.system.frontend/package.json b/io.sc.platform.system.frontend/package.json index 53d96e0e..afe4974b 100644 --- a/io.sc.platform.system.frontend/package.json +++ b/io.sc.platform.system.frontend/package.json @@ -92,7 +92,7 @@ "luckyexcel": "1.0.1", "mockjs": "1.1.0", "pinia": "2.1.7", - "platform-core": "8.1.203", + "platform-core": "8.1.204", "quasar": "2.15.3", "tailwindcss": "3.4.3", "vue": "3.4.24", diff --git a/io.sc.platform.system.frontend/public/index.html b/io.sc.platform.system.frontend/public/index.html index bc996180..cd23f259 100644 --- a/io.sc.platform.system.frontend/public/index.html +++ b/io.sc.platform.system.frontend/public/index.html @@ -1,20 +1,27 @@ - + - - - + + + - - - - + + + + + + + - + @@ -26,9 +33,11 @@ -
-
- +
+ +
+ + @@ -68,7 +77,7 @@ -
正在加载, 请稍后......
+
正在加载, 请稍后......
diff --git a/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/Asana/mathfonts.css b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/Asana/mathfonts.css new file mode 100644 index 00000000..780d5344 --- /dev/null +++ b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/Asana/mathfonts.css @@ -0,0 +1,40 @@ +/* +Asana Math is released under the SIL Open Font License. See the files in this +directory for details. The font can be obtained from several TeX distributions +or package managers. The font does not seem to have a corresponding "non-MATH" +font, it is recommended to use a Palatino-like font for the surrounding text. + +The WOFF fonts have been obtained from +http://mirrors.ctan.org/fonts/ +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: Asana Math; + src: local('Asana Math'), local('Asana-Math'), + url('Asana-Math.woff2'), url('Asana-Math.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: Asana Math; +} +m|math { + font-family: Asana Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +@font-feature-values Asana Math { @stylistic { calligraphic: 1; } } +m|*.calligraphic { + font-variant-alternates: stylistic(calligraphic); /* Recommended syntax */ + font-feature-settings: 'salt'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'salt'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'salt'; /* Blink syntax */ +} diff --git a/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/Cambria/mathfonts.css b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/Cambria/mathfonts.css new file mode 100644 index 00000000..bcbb5386 --- /dev/null +++ b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/Cambria/mathfonts.css @@ -0,0 +1,56 @@ +/* +The proprietary Cambria fonts are installed by default on Microsoft Windows 7 +and higher and are provided with some other Microsoft products such as Office. +Some Web services may also provide them as Web fonts. For details, see + http://www.microsoft.com/typography/fonts/family.aspx?FID=291 + http://www.microsoft.com/typography/fonts/family.aspx?FID=360 +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +/* Uncomment and complete the URLs if you wish to use Web fonts */ +/* +@font-face { + font-family: Cambria; + src: local('Cambria'), url('...'); +} +@font-face { + font-family: Cambria; + src: local('Cambria Bold'), url('...'); + font-weight: bold; +} +@font-face { + font-family: Cambria; + src: local('Cambria Italic'), url('...'); + font-style: italic; +} +@font-face { + font-family: Cambria; + src: local('Cambria Bold Italic'), url('...'); + font-weight: bold; + font-style: italic; +} +@font-face { + font-family: Cambria Math; + src: local('Cambria Math'), url('...'); +} +*/ + +.htmlmathparagraph, m|mtext { + font-family: Cambria; +} +m|math { + font-family: Cambria Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* TODO: verify whether calligraphic letters are available in this font */ +m|*.calligraphic { +} diff --git a/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif-Bold.woff2 b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif-Bold.woff2 new file mode 100644 index 00000000..c3620b3b Binary files /dev/null and b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif-Bold.woff2 differ diff --git a/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif-BoldItalic.woff2 b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif-BoldItalic.woff2 new file mode 100644 index 00000000..3d641e3d Binary files /dev/null and b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif-BoldItalic.woff2 differ diff --git a/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif-Italic.woff2 b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif-Italic.woff2 new file mode 100644 index 00000000..163819b5 Binary files /dev/null and b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif-Italic.woff2 differ diff --git a/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif.woff2 b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif.woff2 new file mode 100644 index 00000000..51776932 Binary files /dev/null and b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif.woff2 differ diff --git a/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/DejaVu/mathfonts.css b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/DejaVu/mathfonts.css new file mode 100644 index 00000000..ee48b1d3 --- /dev/null +++ b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/DejaVu/mathfonts.css @@ -0,0 +1,51 @@ +/* +Deja Vu is released under a Free License. See the files in this directory +for details. This fonts is available on most Linux distributions. +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: DejaVu Math TeX Gyre; + src: url('DejaVuMathTeXGyre.woff2'), url('DejaVuMathTeXGyre.woff'); +} +@font-face { + font-family: DejaVu Serif; + src: url('DejaVuSerif.woff2'), url('DejaVuSerif.woff'); +} +@font-face { + font-family: DejaVu Serif; + src: url('DejaVuSerif-Bold.woff2'), url('DejaVuSerif-Bold.woff'); + font-weight: bold; +} +@font-face { + font-family: DejaVu Serif; + src: url('DejaVuSerif-Italic.woff2'), url('DejaVuSerif-Italic.woff'); + font-style: italic; +} +@font-face { + font-family: DejaVu Serif; + src: url('DejaVuSerif-BoldItalic.woff2'), + url('DejaVuSerif-BoldItalic.woff'); + font-weight: bold; + font-style: italic; +} + +.htmlmathparagraph, m|mtext { + font-family: DejaVu Serif; +} +m|math { + font-family: DejaVu Math TeX Gyre; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* Calligraphic letters do not seem to be available */ +m|*.calligraphic { +} diff --git a/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/FiraMath/FiraMath-Regular.woff2 b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/FiraMath/FiraMath-Regular.woff2 new file mode 100644 index 00000000..c13030cd Binary files /dev/null and b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/FiraMath/FiraMath-Regular.woff2 differ diff --git a/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/FiraMath/mathfonts.css b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/FiraMath/mathfonts.css new file mode 100644 index 00000000..c05d74d6 --- /dev/null +++ b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/FiraMath/mathfonts.css @@ -0,0 +1,21 @@ +/* +The FiraMath font is released under the SIL Open Font License. See the files in +this directory for details. +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: Fira Math; + src: local('Fira Math'), local('FiraMath-Regular'), + url('FiraMath-Regular.woff2'), url('FiraMath-Regular.woff'); +} + +.htmlmathparagraph, m|mtext { + /* TODO: use FiraGO instead? */ + font-family: Fira Math; +} +m|math { + font-family: Fira Math; +} diff --git a/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenic.woff2 b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenic.woff2 new file mode 100644 index 00000000..3c27d39f Binary files /dev/null and b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenic.woff2 differ diff --git a/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicBold.woff2 b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicBold.woff2 new file mode 100644 index 00000000..e946d53e Binary files /dev/null and b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicBold.woff2 differ diff --git a/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicBoldIt.woff2 b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicBoldIt.woff2 new file mode 100644 index 00000000..0dd7d2ed Binary files /dev/null and b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicBoldIt.woff2 differ diff --git a/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicIt.woff2 b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicIt.woff2 new file mode 100644 index 00000000..e7dfb1d1 Binary files /dev/null and b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicIt.woff2 differ diff --git a/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicMath.woff2 b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicMath.woff2 new file mode 100644 index 00000000..2c488f2a Binary files /dev/null and b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicMath.woff2 differ diff --git a/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/mathfonts.css b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/mathfonts.css new file mode 100644 index 00000000..ea0116c9 --- /dev/null +++ b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/mathfonts.css @@ -0,0 +1,50 @@ +/* +The GFS Neohellenic fonts are released under the SIL Open Font License. See the +files in this directory for details. +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + + +@font-face { + font-family: GFS Neohellenic; + src: local('GFSNeohellenic-Regular'), + url('GFSNeohellenic.woff2'), + url('GFSNeohellenic.woff'); +} +@font-face { + font-family: GFS Neohellenic; + src: local('GFSNeohellenic-Bold'), + url('GFSNeohellenic-Bold.woff2'), + url('GFSNeohellenic-Bold.woff'); + font-weight: bold; +} +@font-face { + font-family: GFS Neohellenic; + src: local('GFSNeohellenic-Italic'), + url('GFSNeohellenic-It.woff2'), + url('GFSNeohellenic-It.woff'); + font-style: italic; +} +@font-face { + font-family: GFS Neohellenic; + src: local('GFSNeohellenic-BoldItalic'), + url('GFSNeohellenic-BoldIt.woff2'), + url('GFSNeohellenic-BoldIt.woff'); + font-weight: bold; + font-style: italic; +} +@font-face { + font-family: GFS Neohellenic Math; + src: local('GFSNeohellenicMath'), + url('GFSNeohellenicMath.woff2'), + url('GFSNeohellenicMath.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: GFS Neohellenic; +} +m|math { + font-family: GFS Neohellenic Math; +} diff --git a/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/GNUFreeSans/mathfonts.css b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/GNUFreeSans/mathfonts.css new file mode 100644 index 00000000..cbf76d3d --- /dev/null +++ b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/GNUFreeSans/mathfonts.css @@ -0,0 +1,47 @@ +/* +GNU FreeSans is released under the GNU General Public License. See the files in +this directory for details. OpenType MATH support is only available in the +development version. +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: FreeSans; + src: url('FreeSans.woff2'), url('FreeSans.woff'); +} +@font-face { + font-family: FreeSans; + src: url('FreeSansBold.woff2'), url('FreeSansBold.woff'); + font-weight: bold; +} +@font-face { + font-family: FreeSans; + src: url('FreeSansOblique.woff2'), url('FreeSansOblique.woff'); + font-style: oblique; +} +@font-face { + font-family: FreeSans; + src: url('FreeSansBoldOblique.woff2'), url('FreeSansBoldOblique.woff'); + font-weight: bold; + font-style: oblique; +} + +.htmlmathparagraph, m|mtext { + font-family: FreeSans; +} +m|math { + font-family: FreeSans; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* Calligraphic letters do not seem to be available */ +m|*.calligraphic { +} diff --git a/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/GNUFreeSerif/mathfonts.css b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/GNUFreeSerif/mathfonts.css new file mode 100644 index 00000000..9572fbfe --- /dev/null +++ b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/GNUFreeSerif/mathfonts.css @@ -0,0 +1,47 @@ +/* +GNU FreeSerif is released under the GNU General Public License. See the files in +this directory for details. OpenType MATH support is only available in the +development version. +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: FreeSerif; + src: url('FreeSerif.woff2'), url('FreeSerif.woff'); +} +@font-face { + font-family: FreeSerif; + src: url('FreeSerifBold.woff2'), url('FreeSerifBold.woff'); + font-weight: bold; +} +@font-face { + font-family: FreeSerif; + src: url('FreeSerifItalic.woff2'), url('FreeSerifItalic.woff'); + font-style: italic; +} +@font-face { + font-family: FreeSerif; + src: url('FreeSerifBoldItalic.woff2'), url('FreeSerifBoldItalic.woff'); + font-weight: bold; + font-style: italic; +} + +.htmlmathparagraph, m|mtext { + font-family: FreeSerif; +} +m|math { + font-family: FreeSerif; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* Calligraphic letters do not seem to be available */ +m|*.calligraphic { +} diff --git a/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/Garamond/EBGaramond12-Italic.woff2 b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/Garamond/EBGaramond12-Italic.woff2 new file mode 100644 index 00000000..21fe6278 Binary files /dev/null and b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/Garamond/EBGaramond12-Italic.woff2 differ diff --git a/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/Garamond/EBGaramond12-Regular.woff2 b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/Garamond/EBGaramond12-Regular.woff2 new file mode 100644 index 00000000..9d8c372e Binary files /dev/null and b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/Garamond/EBGaramond12-Regular.woff2 differ diff --git a/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/Garamond/Garamond-Math.woff2 b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/Garamond/Garamond-Math.woff2 new file mode 100644 index 00000000..72102330 Binary files /dev/null and b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/Garamond/Garamond-Math.woff2 differ diff --git a/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/Garamond/mathfonts.css b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/Garamond/mathfonts.css new file mode 100644 index 00000000..f8b1e9df --- /dev/null +++ b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/Garamond/mathfonts.css @@ -0,0 +1,35 @@ +/* +The Garamond fonts are released under the SIL Open Font License. See the files +in this directory for details. +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + + +@font-face { + font-family: EB Garamond; + src: local('EBGaramond12-Regular'), + url('EBGaramond12-Regular.woff2'), + url('EBGaramond12-Regular.woff'); +} +@font-face { + font-family: EB Garamond; + src: local('EBGaramond12-Italic'), + url('EBGaramond12-Italic.woff2'), + url('EBGaramond12-Italic.woff'); + font-style: italic; +} +@font-face { + font-family: Garamond Math; + src: local('Garamond-Math'), + url('Garamond-Math.woff2'), + url('Garamond-Math.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: EB Garamond; +} +m|math { + font-family: Garamond Math; +} diff --git a/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/LatinModern/latinmodern-math.woff2 b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/LatinModern/latinmodern-math.woff2 new file mode 100644 index 00000000..6110b17b Binary files /dev/null and b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/LatinModern/latinmodern-math.woff2 differ diff --git a/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/LatinModern/lmroman12-bold.woff2 b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/LatinModern/lmroman12-bold.woff2 new file mode 100644 index 00000000..df169efa Binary files /dev/null and b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/LatinModern/lmroman12-bold.woff2 differ diff --git a/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/LatinModern/lmroman12-italic.woff2 b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/LatinModern/lmroman12-italic.woff2 new file mode 100644 index 00000000..c4ef3ed4 Binary files /dev/null and b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/LatinModern/lmroman12-italic.woff2 differ diff --git a/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/LatinModern/lmroman12-regular.woff2 b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/LatinModern/lmroman12-regular.woff2 new file mode 100644 index 00000000..ae0f344e Binary files /dev/null and b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/LatinModern/lmroman12-regular.woff2 differ diff --git a/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/LatinModern/mathfonts.css b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/LatinModern/mathfonts.css new file mode 100644 index 00000000..b4b0ceeb --- /dev/null +++ b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/LatinModern/mathfonts.css @@ -0,0 +1,53 @@ +/* +The Latin Modern fonts are released under the GUST font license, which is +legally equivalent to the LaTeX Project Public License. See the files in this +directory for details. The fonts can be obtained from several TeX distributions +or package managers. + +The WOFF fonts have been obtained from +http://www.gust.org.pl/projects/e-foundry/ +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +/* Latin Modern Roman has various sizes. We use the generic name + "Latin Modern Roman" for the local versions and "LMRoman12" for the Web font. +*/ +@font-face { + font-family: LMRoman12; + src: url('lmroman12-regular.woff2'), url('lmroman12-regular.woff'); +} +@font-face { + font-family: LMRoman12; + src: url('lmroman12-bold.woff2'), url('lmroman12-bold.woff'); + font-weight: bold; +} +@font-face { + font-family: LMRoman12; + src: url('lmroman12-italic.woff2'), url('lmroman12-italic.woff'); + font-style: italic; +} +@font-face { + font-family: Latin Modern Math; + src: local('Latin Modern Math'), local('LatinModernMath-Regular'), + url('latinmodern-math.woff2'), url('latinmodern-math.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: Latin Modern Roman, LMRoman12; +} +m|math { + font-family: Latin Modern Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* Calligraphic letters do not seem to be available */ +m|*.calligraphic { +} diff --git a/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusmath-regular.woff2 b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusmath-regular.woff2 new file mode 100644 index 00000000..c76bab8c Binary files /dev/null and b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusmath-regular.woff2 differ diff --git a/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-bold.woff2 b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-bold.woff2 new file mode 100644 index 00000000..34b9f93b Binary files /dev/null and b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-bold.woff2 differ diff --git a/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-bolditalic.woff2 b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-bolditalic.woff2 new file mode 100644 index 00000000..19fbf7b9 Binary files /dev/null and b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-bolditalic.woff2 differ diff --git a/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-italic.woff2 b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-italic.woff2 new file mode 100644 index 00000000..dd20fdcf Binary files /dev/null and b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-italic.woff2 differ diff --git a/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-regular.woff2 b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-regular.woff2 new file mode 100644 index 00000000..a7ef60ef Binary files /dev/null and b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-regular.woff2 differ diff --git a/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/Libertinus/mathfonts.css b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/Libertinus/mathfonts.css new file mode 100644 index 00000000..fe6d41c2 --- /dev/null +++ b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/Libertinus/mathfonts.css @@ -0,0 +1,61 @@ +/* +The Libertinus fonts are released under the SIL Open Font and GPL Licenses. See +the files in this directory for details. +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: Libertinus Serif; + src: local('Libertinus Serif'), local('LibertinusSerif'), + url('libertinusserif-regular.woff2'), + url('libertinusserif-regular.woff'); +} +@font-face { + font-family: Libertinus Serif; + src: local('Libertinus Serif Bold'), local('LibertinusSerif-Bold'), + url('libertinusserif-bold.woff2'), + url('libertinusserif-bold.woff'); + font-weight: bold; +} +@font-face { + font-family: Libertinus Serif; + src: local('Libertinus Serif Italic'), local('LibertinusSerif-Italic'), + url('libertinusserif-italic.woff2'), + url('libertinusserif-italic.woff'); + font-style: italic; +} +@font-face { + font-family: Libertinus Serif; + src: local('Libertinus Serif Bold Italic'), + local('LibertinusSerif-BoldItalic'), + url('libertinusserif-bolditalic.woff2'), + url('libertinusserif-bolditalic.woff'); + font-weight: bold; + font-style: italic; +} +@font-face { + font-family: Libertinus Math; + src: local('Libertinus Math'), local('LibertinusMath'), + url('libertinusmath-regular.woff2'), + url('libertinusmath-regular.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: Libertinus Serif; +} +m|math { + font-family: Libertinus Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* No math script */ +m|*.calligraphic { +} diff --git a/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/LucidaBright/mathfonts.css b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/LucidaBright/mathfonts.css new file mode 100644 index 00000000..5f056577 --- /dev/null +++ b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/LucidaBright/mathfonts.css @@ -0,0 +1,58 @@ +/* +The commercial Lucida Bright fonts can be obtained from +http://tug.org/store/lucida/opentype.html and some Web services might +provide them as Web fonts. See also + http://www.microsoft.com/typography/fonts/family.aspx?FID=186 + http://www.microsoft.com/typography/fonts/family.aspx?FID=217 + +Warning: The CSS rules below have not been tested. +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +/* Uncomment and complete the URLs if you wish to use Web fonts */ +/* +@font-face { + font-family: Lucida Bright; + src: local('Lucida Bright'), url('...'); +} +@font-face { + font-family: Lucida Bright; + src: local('Lucida Bright Demibold'), url('...'); + font-weight: bolder; +} +@font-face { + font-family: Lucida Bright; + src: local('Lucida Bright Italic'), url('...'); + font-style: italic; +} +@font-face { + font-family: Lucida Bright; + src: local('Lucida Bright Demibold Italic'), url('...'); + font-weight: bolder; + font-style: italic; +} +@font-face { + font-family: Lucida Bright Math; + src: local('Lucida Bright Math'), url('...'); +} +*/ + +.htmlmathparagraph, m|mtext { + font-family: Lucida Bright; +} +m|math { + font-family: Lucida Bright Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* TODO: verify whether calligraphic letters are available in this font */ +m|*.calligraphic { +} diff --git a/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/Minion/mathfonts.css b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/Minion/mathfonts.css new file mode 100644 index 00000000..640b0eaf --- /dev/null +++ b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/Minion/mathfonts.css @@ -0,0 +1,37 @@ +/* +The commercial Minion Math fonts and can be obtained from +http://www.typoma.com/en/fonts.html and some Web services might provide them as +Web fonts. + +Warning: The CSS rules below have not been tested. More rules should probably +be added to make this work correctly. +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +/* Uncomment and complete the URLs if you wish to use Web fonts */ +/* +@font-face { + font-family: Minion Math; + src: local('Minion Math'), url('...'); +} +*/ + +.htmlmathparagraph, m|mtext { + font-family: Minion Math; +} +m|math { + font-family: Minion Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* TODO: verify whether calligraphic letters are available in this font */ +m|*.calligraphic { +} diff --git a/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/NeoEuler/mathfonts.css b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/NeoEuler/mathfonts.css new file mode 100644 index 00000000..8df86bf5 --- /dev/null +++ b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/NeoEuler/mathfonts.css @@ -0,0 +1,34 @@ +/* +Neo Euler is released under the SIL Open Font License. See the files in this +directory for details. The font is still in development. The font does not seem +to have a corresponding "non-MATH" font. + +The WOFF fonts have been obtained from +https://github.com/khaledhosny/euler-otf/ +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: Neo Euler; + src: local('Neo Euler'), url('euler.woff2'), url('euler.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: Neo Euler; +} +m|math { + font-family: Neo Euler; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* Calligraphic letters do not seem to be available */ +m|*.calligraphic { +} diff --git a/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoMath-Regular.woff2 b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoMath-Regular.woff2 new file mode 100644 index 00000000..279a98f0 Binary files /dev/null and b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoMath-Regular.woff2 differ diff --git a/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-Bold.woff2 b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-Bold.woff2 new file mode 100644 index 00000000..e4394884 Binary files /dev/null and b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-Bold.woff2 differ diff --git a/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-BoldItalic.woff2 b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-BoldItalic.woff2 new file mode 100644 index 00000000..0dc0baed Binary files /dev/null and b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-BoldItalic.woff2 differ diff --git a/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-Italic.woff2 b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-Italic.woff2 new file mode 100644 index 00000000..5594de32 Binary files /dev/null and b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-Italic.woff2 differ diff --git a/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-Regular.woff2 b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-Regular.woff2 new file mode 100644 index 00000000..263c488a Binary files /dev/null and b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-Regular.woff2 differ diff --git a/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/STIX/mathfonts.css b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/STIX/mathfonts.css new file mode 100644 index 00000000..4b287cee --- /dev/null +++ b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/STIX/mathfonts.css @@ -0,0 +1,69 @@ +/* +The STIX fonts are released under the SIL Open Font License. See the files in +this directory for details. The font can be obtained from several TeX +distributions or package managers. + +The WOFF fonts have been obtained from +http://downloads.sourceforge.net/project/stixfonts/ +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + + +@font-face { + font-family: STIX Two Text; + src: local('STIXTwoText'), + url('STIXTwoText-Regular.woff2'), + url('STIXTwoText-Regular.woff'); +} +@font-face { + font-family: STIX Two Text; + src: local('STIXTwoText-Bold'), + url('STIXTwoText-Bold.woff2'), + url('STIXTwoText-Bold.woff'); + font-weight: bold; +} +@font-face { + font-family: STIX Two Text; + src: local('STIXTwoText-Italic'), + url('STIXTwoText-Italic.woff2'), + url('STIXTwoText-Italic.woff'); + font-style: italic; +} +@font-face { + font-family: STIX Two Text; + src: local('STIXTwoText-BoldItalic'), + url('STIXTwoText-BoldItalic.woff2'), + url('STIXTwoText-BoldItalic.woff'); + font-weight: bold; + font-style: italic; +} +@font-face { + font-family: STIX Two Math; + src: local('STIXTwoMath-Regular'), + url('STIXTwoMath-Regular.woff2'), + url('STIXTwoMath-Regular.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: STIX Two Text; +} +m|math { + font-family: STIX Two Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +@font-feature-values STIX Two Math { @styleset { calligraphic: 1; } } +m|*.calligraphic { + font-variant-alternates: styleset(calligraphic); /* Recommended syntax */ + font-feature-settings: 'ss01'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'ss01'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'ss01'; /* Blink syntax */ +} diff --git a/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/mathfonts.css b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/mathfonts.css new file mode 100644 index 00000000..f7bbeaa0 --- /dev/null +++ b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/mathfonts.css @@ -0,0 +1,62 @@ +/* +The TeX Gyre Bonum fonts are released under the GUST font license, which is +legally equivalent to the LaTeX Project Public License. See the files in this +directory for details. The fonts can be obtained from several TeX distributions +or package managers. + +The WOFF fonts have been obtained from +http://www.gust.org.pl/projects/e-foundry/ +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: TeX Gyre Bonum; + src: local('TeXGyreBonum-Regular'), + url('texgyrebonum-regular.woff2'), url('texgyrebonum-regular.woff'); +} +@font-face { + font-family: TeX Gyre Bonum; + src: local('TeXGyreBonum-Bold'), + url('texgyrebonum-bold.woff2'), url('texgyrebonum-bold.woff'); + font-weight: bold; +} +@font-face { + font-family: TeX Gyre Bonum; + src: local('TeXGyreBonum-Italic'), + url('texgyrebonum-italic.woff2'), url('texgyrebonum-italic.woff'); + font-style: italic; +} +@font-face { + font-family: TeX Gyre Bonum; + src: local('TeXGyreBonum-BoldItalic'), + url('texgyrebonum-bolditalic.woff2'), + url('texgyrebonum-bolditalic.woff'); + font-weight: bold; + font-style: italic; +} +@font-face { + font-family: TeX Gyre Bonum Math; + src: local('TeX Gyre Bonum Math'), local('TeXGyreBonumMath-Regular'), + url('texgyrebonum-math.woff2'), + url('texgyrebonum-math.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: TeX Gyre Bonum; +} +m|math { + font-family: TeX Gyre Bonum Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* Calligraphic letters do not seem to be available */ +m|*.calligraphic { +} diff --git a/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-bold.woff2 b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-bold.woff2 new file mode 100644 index 00000000..013ca1bd Binary files /dev/null and b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-bold.woff2 differ diff --git a/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-bolditalic.woff2 b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-bolditalic.woff2 new file mode 100644 index 00000000..ae18fb8b Binary files /dev/null and b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-bolditalic.woff2 differ diff --git a/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-italic.woff2 b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-italic.woff2 new file mode 100644 index 00000000..42742390 Binary files /dev/null and b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-italic.woff2 differ diff --git a/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-math.woff2 b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-math.woff2 new file mode 100644 index 00000000..d16a1cea Binary files /dev/null and b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-math.woff2 differ diff --git a/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-regular.woff2 b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-regular.woff2 new file mode 100644 index 00000000..8aede98d Binary files /dev/null and b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-regular.woff2 differ diff --git a/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/TeXGyrePagella/mathfonts.css b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/TeXGyrePagella/mathfonts.css new file mode 100644 index 00000000..394686b0 --- /dev/null +++ b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/TeXGyrePagella/mathfonts.css @@ -0,0 +1,63 @@ +/* +The TeX Gyre Pagella fonts are released under the GUST font license, which is +legally equivalent to the LaTeX Project Public License. See the files in this +directory for details. The fonts can be obtained from several TeX distributions +or package managers. + +The WOFF fonts have been obtained from +http://www.gust.org.pl/projects/e-foundry/ +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: TeX Gyre Pagella; + src: local('TeXGyrePagella-Regular'), + url('texgyrepagella-regular.woff2'), + url('texgyrepagella-regular.woff'); +} +@font-face { + font-family: TeX Gyre Pagella; + src: local('TeXGyrePagella-Bold'), + url('texgyrepagella-bold.woff2'), url('texgyrepagella-bold.woff'); + font-weight: bold; +} +@font-face { + font-family: TeX Gyre Pagella; + src: local('TeXGyrePagella-Italic'), + url('texgyrepagella-italic.woff2'), url('texgyrepagella-italic.woff'); + font-style: italic; +} +@font-face { + font-family: TeX Gyre Pagella; + src: local('TeXGyrePagella-BoldItalic'), + url('texgyrepagella-bolditalic.woff2'), + url('texgyrepagella-bolditalic.woff'); + font-weight: bold; + font-style: italic; +} +@font-face { + font-family: TeX Gyre Pagella Math; + src: local('TeX Gyre Pagella Math'), local('TeXGyrePagellaMath-Regular'), + url('texgyrepagella-math.woff2'), + url('texgyrepagella-math.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: TeX Gyre Pagella; +} +m|math { + font-family: TeX Gyre Pagella Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* Calligraphic letters do not seem to be available */ +m|*.calligraphic { +} diff --git a/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/TeXGyrePagella/texgyrepagella-math.woff2 b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/TeXGyrePagella/texgyrepagella-math.woff2 new file mode 100644 index 00000000..0879c80a Binary files /dev/null and b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/TeXGyrePagella/texgyrepagella-math.woff2 differ diff --git a/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/mathfonts.css b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/mathfonts.css new file mode 100644 index 00000000..41c28c6b --- /dev/null +++ b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/mathfonts.css @@ -0,0 +1,61 @@ +/* +The TeX Gyre Schola fonts are released under the GUST font license, which is +legally equivalent to the LaTeX Project Public License. See the files in this +directory for details. The fonts can be obtained from several TeX distributions +or package managers. + +The WOFF fonts have been obtained from +http://www.gust.org.pl/projects/e-foundry/ +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: TeX Gyre Schola; + src: local('TeXGyreSchola-Regular'), + url('texgyreschola-regular.woff2'), url('texgyreschola-regular.woff'); +} +@font-face { + font-family: TeX Gyre Schola; + src: local('TeXGyreSchola-Bold'), + url('texgyreschola-bold.woff2'), url('texgyreschola-bold.woff'); + font-weight: bold; +} +@font-face { + font-family: TeX Gyre Schola; + src: local('TeXGyreSchola-Italic'), + url('texgyreschola-italic.woff2'), url('texgyreschola-italic.woff'); + font-style: italic; +} +@font-face { + font-family: TeX Gyre Schola; + src: local('TeXGyreSchola-BoldItalic'), + url('texgyreschola-bolditalic.woff2'), + url('texgyreschola-bolditalic.woff'); + font-weight: bold; + font-style: italic; +} +@font-face { + font-family: TeX Gyre Schola Math; + src: local('TeX Gyre Schola Math'), local('TeXGyreScholaMath-Regular'), + url('texgyreschola-math.woff2'), url('texgyreschola-math.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: TeX Gyre Schola; +} +m|math { + font-family: TeX Gyre Schola Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* Calligraphic letters do not seem to be available */ +m|*.calligraphic { +} diff --git a/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-bold.woff2 b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-bold.woff2 new file mode 100644 index 00000000..485f2c5b Binary files /dev/null and b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-bold.woff2 differ diff --git a/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-bolditalic.woff2 b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-bolditalic.woff2 new file mode 100644 index 00000000..6c8c3f52 Binary files /dev/null and b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-bolditalic.woff2 differ diff --git a/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-italic.woff2 b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-italic.woff2 new file mode 100644 index 00000000..afe8d4ef Binary files /dev/null and b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-italic.woff2 differ diff --git a/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-math.woff2 b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-math.woff2 new file mode 100644 index 00000000..674c4281 Binary files /dev/null and b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-math.woff2 differ diff --git a/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-regular.woff2 b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-regular.woff2 new file mode 100644 index 00000000..0dbec85e Binary files /dev/null and b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-regular.woff2 differ diff --git a/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/mathfonts.css b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/mathfonts.css new file mode 100644 index 00000000..d7a65374 --- /dev/null +++ b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/mathfonts.css @@ -0,0 +1,60 @@ +/* +The TeX Gyre Termes fonts are released under the GUST font license, which is +legally equivalent to the LaTeX Project Public License. See the files in this +directory for details. The fonts can be obtained from several TeX distributions +or package managers. + +The WOFF fonts have been obtained from +http://www.gust.org.pl/projects/e-foundry/ +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: TeX Gyre Termes; + src: local('TeXGyreTermes-Regular'), + url('texgyretermes-regular.woff2'), url('texgyretermes-regular.woff'); +} +@font-face { + font-family: TeX Gyre Termes; + src: local('TeXGyreTermes-Bold'), + url('texgyretermes-bold.woff2'), url('texgyretermes-bold.woff'); + font-weight: bold; +} +@font-face { + font-family: TeX Gyre Termes; + src: local('TeXGyreTermes-Italic'), + url('texgyretermes-italic.woff2'), url('texgyretermes-italic.woff'); + font-style: italic; +} +@font-face { + font-family: TeX Gyre Termes; + src: local('TeXGyreTermes-BoldItalic'), + url('texgyretermes-bolditalic.woff2'), url('texgyretermes-bolditalic.woff'); + font-weight: bold; + font-style: italic; +} +@font-face { + font-family: TeX Gyre Termes Math; + src: local('TeX Gyre Termes Math'), local('TeXGyreTermesMath-Regular'), + url('texgyretermes-math.woff2'), url('texgyretermes-math.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: TeX Gyre Termes; +} +m|math { + font-family: TeX Gyre Termes Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* Calligraphic letters do not seem to be available */ +m|*.calligraphic { +} diff --git a/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-bold.woff2 b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-bold.woff2 new file mode 100644 index 00000000..a346eb13 Binary files /dev/null and b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-bold.woff2 differ diff --git a/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-bolditalic.woff2 b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-bolditalic.woff2 new file mode 100644 index 00000000..571a2f07 Binary files /dev/null and b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-bolditalic.woff2 differ diff --git a/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-italic.woff2 b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-italic.woff2 new file mode 100644 index 00000000..401cd0ec Binary files /dev/null and b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-italic.woff2 differ diff --git a/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-math.woff2 b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-math.woff2 new file mode 100644 index 00000000..31c9adc2 Binary files /dev/null and b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-math.woff2 differ diff --git a/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-regular.woff2 b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-regular.woff2 new file mode 100644 index 00000000..1a15f9ad Binary files /dev/null and b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-regular.woff2 differ diff --git a/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-Bold.woff2 b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-Bold.woff2 new file mode 100644 index 00000000..7a12dd34 Binary files /dev/null and b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-Bold.woff2 differ diff --git a/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-BoldItalic.woff2 b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-BoldItalic.woff2 new file mode 100644 index 00000000..c4daad18 Binary files /dev/null and b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-BoldItalic.woff2 differ diff --git a/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-Italic.woff2 b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-Italic.woff2 new file mode 100644 index 00000000..9d434203 Binary files /dev/null and b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-Italic.woff2 differ diff --git a/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-Regular.woff2 b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-Regular.woff2 new file mode 100644 index 00000000..9acf905c Binary files /dev/null and b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-Regular.woff2 differ diff --git a/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/XITS/XITSMath-Bold.woff2 b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/XITS/XITSMath-Bold.woff2 new file mode 100644 index 00000000..c93f7230 Binary files /dev/null and b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/XITS/XITSMath-Bold.woff2 differ diff --git a/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/XITS/XITSMath-Regular.woff2 b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/XITS/XITSMath-Regular.woff2 new file mode 100644 index 00000000..fa9345cb Binary files /dev/null and b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/XITS/XITSMath-Regular.woff2 differ diff --git a/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/XITS/mathfonts.css b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/XITS/mathfonts.css new file mode 100644 index 00000000..9b62b7c3 --- /dev/null +++ b/io.sc.platform.system.frontend/public/webjars/mathfonts/1.0.0/XITS/mathfonts.css @@ -0,0 +1,69 @@ +/* +XITS is released under the SIL Open Font License. See the files in this +directory for details. The font can be obtained from several TeX distributions +or package managers. + +The WOFF fonts have been obtained from +http://mirrors.ctan.org/fonts/ +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: XITS; + src: local('XITS'), + url('XITS-Regular.woff2'), url('XITS-Regular.woff'); +} +@font-face { + font-family: XITS; + src: local('XITS Bold'), local('XITS-Bold'), + url('XITS-Bold.woff2'), url('XITS-Bold.woff'); + font-weight: bold; +} +@font-face { + font-family: XITS; + src: local('XITS Italic'), local('XITS-Italic'), + url('XITS-Italic.woff2'), url('XITS-Italic.woff'); + font-style: italic; +} +@font-face { + font-family: XITS; + src: local('XITS Bold Italic'), local('XITS-BoldItalic'), + url('XITS-BoldItalic.woff2'), url('XITS-BoldItalic.woff'); + font-weight: bold; + font-style: italic; +} +@font-face { + font-family: XITS Math; + src: local('XITS Math'), local('XITSMath-Regular'), + url('XITSMath-Regular.woff2'), url('XITSMath-Regular.woff'); +} +@font-face { + font-family: XITS Math; + src: local('XITS Math Bold'), local('XITSMath-Bold'), + url('XITSMath-Bold.woff2'), url('XITSMathBold.woff'); + font-weight: bold; +} + +.htmlmathparagraph, m|mtext { + font-family: XITS; +} +m|math { + font-family: XITS Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +@font-feature-values XITS Math { @styleset { calligraphic: 1; } } +m|*.calligraphic { + font-variant-alternates: styleset(calligraphic); /* Recommended syntax */ + font-feature-settings: 'ss01'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'ss01'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'ss01'; /* Blink syntax */ +} diff --git a/io.sc.standard.frontend/package.json b/io.sc.standard.frontend/package.json index f053fbb3..e1448219 100644 --- a/io.sc.standard.frontend/package.json +++ b/io.sc.standard.frontend/package.json @@ -92,7 +92,7 @@ "luckyexcel": "1.0.1", "mockjs": "1.1.0", "pinia": "2.1.7", - "platform-core": "8.1.203", + "platform-core": "8.1.204", "quasar": "2.15.3", "tailwindcss": "3.4.3", "vue": "3.4.24", diff --git a/io.sc.standard.frontend/public/index.html b/io.sc.standard.frontend/public/index.html index bc996180..cd23f259 100644 --- a/io.sc.standard.frontend/public/index.html +++ b/io.sc.standard.frontend/public/index.html @@ -1,20 +1,27 @@ - + - - - + + + - - - - + + + + + + + - + @@ -26,9 +33,11 @@ -
-
- +
+ +
+ + @@ -68,7 +77,7 @@ -
正在加载, 请稍后......
+
正在加载, 请稍后......
diff --git a/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/Asana/mathfonts.css b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/Asana/mathfonts.css new file mode 100644 index 00000000..780d5344 --- /dev/null +++ b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/Asana/mathfonts.css @@ -0,0 +1,40 @@ +/* +Asana Math is released under the SIL Open Font License. See the files in this +directory for details. The font can be obtained from several TeX distributions +or package managers. The font does not seem to have a corresponding "non-MATH" +font, it is recommended to use a Palatino-like font for the surrounding text. + +The WOFF fonts have been obtained from +http://mirrors.ctan.org/fonts/ +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: Asana Math; + src: local('Asana Math'), local('Asana-Math'), + url('Asana-Math.woff2'), url('Asana-Math.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: Asana Math; +} +m|math { + font-family: Asana Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +@font-feature-values Asana Math { @stylistic { calligraphic: 1; } } +m|*.calligraphic { + font-variant-alternates: stylistic(calligraphic); /* Recommended syntax */ + font-feature-settings: 'salt'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'salt'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'salt'; /* Blink syntax */ +} diff --git a/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/Cambria/mathfonts.css b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/Cambria/mathfonts.css new file mode 100644 index 00000000..bcbb5386 --- /dev/null +++ b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/Cambria/mathfonts.css @@ -0,0 +1,56 @@ +/* +The proprietary Cambria fonts are installed by default on Microsoft Windows 7 +and higher and are provided with some other Microsoft products such as Office. +Some Web services may also provide them as Web fonts. For details, see + http://www.microsoft.com/typography/fonts/family.aspx?FID=291 + http://www.microsoft.com/typography/fonts/family.aspx?FID=360 +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +/* Uncomment and complete the URLs if you wish to use Web fonts */ +/* +@font-face { + font-family: Cambria; + src: local('Cambria'), url('...'); +} +@font-face { + font-family: Cambria; + src: local('Cambria Bold'), url('...'); + font-weight: bold; +} +@font-face { + font-family: Cambria; + src: local('Cambria Italic'), url('...'); + font-style: italic; +} +@font-face { + font-family: Cambria; + src: local('Cambria Bold Italic'), url('...'); + font-weight: bold; + font-style: italic; +} +@font-face { + font-family: Cambria Math; + src: local('Cambria Math'), url('...'); +} +*/ + +.htmlmathparagraph, m|mtext { + font-family: Cambria; +} +m|math { + font-family: Cambria Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* TODO: verify whether calligraphic letters are available in this font */ +m|*.calligraphic { +} diff --git a/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif-Bold.woff2 b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif-Bold.woff2 new file mode 100644 index 00000000..c3620b3b Binary files /dev/null and b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif-Bold.woff2 differ diff --git a/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif-BoldItalic.woff2 b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif-BoldItalic.woff2 new file mode 100644 index 00000000..3d641e3d Binary files /dev/null and b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif-BoldItalic.woff2 differ diff --git a/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif-Italic.woff2 b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif-Italic.woff2 new file mode 100644 index 00000000..163819b5 Binary files /dev/null and b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif-Italic.woff2 differ diff --git a/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif.woff2 b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif.woff2 new file mode 100644 index 00000000..51776932 Binary files /dev/null and b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/DejaVu/DejaVuSerif.woff2 differ diff --git a/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/DejaVu/mathfonts.css b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/DejaVu/mathfonts.css new file mode 100644 index 00000000..ee48b1d3 --- /dev/null +++ b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/DejaVu/mathfonts.css @@ -0,0 +1,51 @@ +/* +Deja Vu is released under a Free License. See the files in this directory +for details. This fonts is available on most Linux distributions. +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: DejaVu Math TeX Gyre; + src: url('DejaVuMathTeXGyre.woff2'), url('DejaVuMathTeXGyre.woff'); +} +@font-face { + font-family: DejaVu Serif; + src: url('DejaVuSerif.woff2'), url('DejaVuSerif.woff'); +} +@font-face { + font-family: DejaVu Serif; + src: url('DejaVuSerif-Bold.woff2'), url('DejaVuSerif-Bold.woff'); + font-weight: bold; +} +@font-face { + font-family: DejaVu Serif; + src: url('DejaVuSerif-Italic.woff2'), url('DejaVuSerif-Italic.woff'); + font-style: italic; +} +@font-face { + font-family: DejaVu Serif; + src: url('DejaVuSerif-BoldItalic.woff2'), + url('DejaVuSerif-BoldItalic.woff'); + font-weight: bold; + font-style: italic; +} + +.htmlmathparagraph, m|mtext { + font-family: DejaVu Serif; +} +m|math { + font-family: DejaVu Math TeX Gyre; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* Calligraphic letters do not seem to be available */ +m|*.calligraphic { +} diff --git a/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/FiraMath/FiraMath-Regular.woff2 b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/FiraMath/FiraMath-Regular.woff2 new file mode 100644 index 00000000..c13030cd Binary files /dev/null and b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/FiraMath/FiraMath-Regular.woff2 differ diff --git a/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/FiraMath/mathfonts.css b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/FiraMath/mathfonts.css new file mode 100644 index 00000000..c05d74d6 --- /dev/null +++ b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/FiraMath/mathfonts.css @@ -0,0 +1,21 @@ +/* +The FiraMath font is released under the SIL Open Font License. See the files in +this directory for details. +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: Fira Math; + src: local('Fira Math'), local('FiraMath-Regular'), + url('FiraMath-Regular.woff2'), url('FiraMath-Regular.woff'); +} + +.htmlmathparagraph, m|mtext { + /* TODO: use FiraGO instead? */ + font-family: Fira Math; +} +m|math { + font-family: Fira Math; +} diff --git a/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenic.woff2 b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenic.woff2 new file mode 100644 index 00000000..3c27d39f Binary files /dev/null and b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenic.woff2 differ diff --git a/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicBold.woff2 b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicBold.woff2 new file mode 100644 index 00000000..e946d53e Binary files /dev/null and b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicBold.woff2 differ diff --git a/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicBoldIt.woff2 b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicBoldIt.woff2 new file mode 100644 index 00000000..0dd7d2ed Binary files /dev/null and b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicBoldIt.woff2 differ diff --git a/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicIt.woff2 b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicIt.woff2 new file mode 100644 index 00000000..e7dfb1d1 Binary files /dev/null and b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicIt.woff2 differ diff --git a/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicMath.woff2 b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicMath.woff2 new file mode 100644 index 00000000..2c488f2a Binary files /dev/null and b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/GFSNeohellenicMath.woff2 differ diff --git a/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/mathfonts.css b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/mathfonts.css new file mode 100644 index 00000000..ea0116c9 --- /dev/null +++ b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/GFS_NeoHellenic/mathfonts.css @@ -0,0 +1,50 @@ +/* +The GFS Neohellenic fonts are released under the SIL Open Font License. See the +files in this directory for details. +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + + +@font-face { + font-family: GFS Neohellenic; + src: local('GFSNeohellenic-Regular'), + url('GFSNeohellenic.woff2'), + url('GFSNeohellenic.woff'); +} +@font-face { + font-family: GFS Neohellenic; + src: local('GFSNeohellenic-Bold'), + url('GFSNeohellenic-Bold.woff2'), + url('GFSNeohellenic-Bold.woff'); + font-weight: bold; +} +@font-face { + font-family: GFS Neohellenic; + src: local('GFSNeohellenic-Italic'), + url('GFSNeohellenic-It.woff2'), + url('GFSNeohellenic-It.woff'); + font-style: italic; +} +@font-face { + font-family: GFS Neohellenic; + src: local('GFSNeohellenic-BoldItalic'), + url('GFSNeohellenic-BoldIt.woff2'), + url('GFSNeohellenic-BoldIt.woff'); + font-weight: bold; + font-style: italic; +} +@font-face { + font-family: GFS Neohellenic Math; + src: local('GFSNeohellenicMath'), + url('GFSNeohellenicMath.woff2'), + url('GFSNeohellenicMath.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: GFS Neohellenic; +} +m|math { + font-family: GFS Neohellenic Math; +} diff --git a/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/GNUFreeSans/mathfonts.css b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/GNUFreeSans/mathfonts.css new file mode 100644 index 00000000..cbf76d3d --- /dev/null +++ b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/GNUFreeSans/mathfonts.css @@ -0,0 +1,47 @@ +/* +GNU FreeSans is released under the GNU General Public License. See the files in +this directory for details. OpenType MATH support is only available in the +development version. +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: FreeSans; + src: url('FreeSans.woff2'), url('FreeSans.woff'); +} +@font-face { + font-family: FreeSans; + src: url('FreeSansBold.woff2'), url('FreeSansBold.woff'); + font-weight: bold; +} +@font-face { + font-family: FreeSans; + src: url('FreeSansOblique.woff2'), url('FreeSansOblique.woff'); + font-style: oblique; +} +@font-face { + font-family: FreeSans; + src: url('FreeSansBoldOblique.woff2'), url('FreeSansBoldOblique.woff'); + font-weight: bold; + font-style: oblique; +} + +.htmlmathparagraph, m|mtext { + font-family: FreeSans; +} +m|math { + font-family: FreeSans; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* Calligraphic letters do not seem to be available */ +m|*.calligraphic { +} diff --git a/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/GNUFreeSerif/mathfonts.css b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/GNUFreeSerif/mathfonts.css new file mode 100644 index 00000000..9572fbfe --- /dev/null +++ b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/GNUFreeSerif/mathfonts.css @@ -0,0 +1,47 @@ +/* +GNU FreeSerif is released under the GNU General Public License. See the files in +this directory for details. OpenType MATH support is only available in the +development version. +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: FreeSerif; + src: url('FreeSerif.woff2'), url('FreeSerif.woff'); +} +@font-face { + font-family: FreeSerif; + src: url('FreeSerifBold.woff2'), url('FreeSerifBold.woff'); + font-weight: bold; +} +@font-face { + font-family: FreeSerif; + src: url('FreeSerifItalic.woff2'), url('FreeSerifItalic.woff'); + font-style: italic; +} +@font-face { + font-family: FreeSerif; + src: url('FreeSerifBoldItalic.woff2'), url('FreeSerifBoldItalic.woff'); + font-weight: bold; + font-style: italic; +} + +.htmlmathparagraph, m|mtext { + font-family: FreeSerif; +} +m|math { + font-family: FreeSerif; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* Calligraphic letters do not seem to be available */ +m|*.calligraphic { +} diff --git a/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/Garamond/EBGaramond12-Italic.woff2 b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/Garamond/EBGaramond12-Italic.woff2 new file mode 100644 index 00000000..21fe6278 Binary files /dev/null and b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/Garamond/EBGaramond12-Italic.woff2 differ diff --git a/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/Garamond/EBGaramond12-Regular.woff2 b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/Garamond/EBGaramond12-Regular.woff2 new file mode 100644 index 00000000..9d8c372e Binary files /dev/null and b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/Garamond/EBGaramond12-Regular.woff2 differ diff --git a/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/Garamond/Garamond-Math.woff2 b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/Garamond/Garamond-Math.woff2 new file mode 100644 index 00000000..72102330 Binary files /dev/null and b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/Garamond/Garamond-Math.woff2 differ diff --git a/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/Garamond/mathfonts.css b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/Garamond/mathfonts.css new file mode 100644 index 00000000..f8b1e9df --- /dev/null +++ b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/Garamond/mathfonts.css @@ -0,0 +1,35 @@ +/* +The Garamond fonts are released under the SIL Open Font License. See the files +in this directory for details. +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + + +@font-face { + font-family: EB Garamond; + src: local('EBGaramond12-Regular'), + url('EBGaramond12-Regular.woff2'), + url('EBGaramond12-Regular.woff'); +} +@font-face { + font-family: EB Garamond; + src: local('EBGaramond12-Italic'), + url('EBGaramond12-Italic.woff2'), + url('EBGaramond12-Italic.woff'); + font-style: italic; +} +@font-face { + font-family: Garamond Math; + src: local('Garamond-Math'), + url('Garamond-Math.woff2'), + url('Garamond-Math.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: EB Garamond; +} +m|math { + font-family: Garamond Math; +} diff --git a/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/LatinModern/latinmodern-math.woff2 b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/LatinModern/latinmodern-math.woff2 new file mode 100644 index 00000000..6110b17b Binary files /dev/null and b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/LatinModern/latinmodern-math.woff2 differ diff --git a/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/LatinModern/lmroman12-bold.woff2 b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/LatinModern/lmroman12-bold.woff2 new file mode 100644 index 00000000..df169efa Binary files /dev/null and b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/LatinModern/lmroman12-bold.woff2 differ diff --git a/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/LatinModern/lmroman12-italic.woff2 b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/LatinModern/lmroman12-italic.woff2 new file mode 100644 index 00000000..c4ef3ed4 Binary files /dev/null and b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/LatinModern/lmroman12-italic.woff2 differ diff --git a/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/LatinModern/lmroman12-regular.woff2 b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/LatinModern/lmroman12-regular.woff2 new file mode 100644 index 00000000..ae0f344e Binary files /dev/null and b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/LatinModern/lmroman12-regular.woff2 differ diff --git a/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/LatinModern/mathfonts.css b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/LatinModern/mathfonts.css new file mode 100644 index 00000000..b4b0ceeb --- /dev/null +++ b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/LatinModern/mathfonts.css @@ -0,0 +1,53 @@ +/* +The Latin Modern fonts are released under the GUST font license, which is +legally equivalent to the LaTeX Project Public License. See the files in this +directory for details. The fonts can be obtained from several TeX distributions +or package managers. + +The WOFF fonts have been obtained from +http://www.gust.org.pl/projects/e-foundry/ +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +/* Latin Modern Roman has various sizes. We use the generic name + "Latin Modern Roman" for the local versions and "LMRoman12" for the Web font. +*/ +@font-face { + font-family: LMRoman12; + src: url('lmroman12-regular.woff2'), url('lmroman12-regular.woff'); +} +@font-face { + font-family: LMRoman12; + src: url('lmroman12-bold.woff2'), url('lmroman12-bold.woff'); + font-weight: bold; +} +@font-face { + font-family: LMRoman12; + src: url('lmroman12-italic.woff2'), url('lmroman12-italic.woff'); + font-style: italic; +} +@font-face { + font-family: Latin Modern Math; + src: local('Latin Modern Math'), local('LatinModernMath-Regular'), + url('latinmodern-math.woff2'), url('latinmodern-math.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: Latin Modern Roman, LMRoman12; +} +m|math { + font-family: Latin Modern Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* Calligraphic letters do not seem to be available */ +m|*.calligraphic { +} diff --git a/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusmath-regular.woff2 b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusmath-regular.woff2 new file mode 100644 index 00000000..c76bab8c Binary files /dev/null and b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusmath-regular.woff2 differ diff --git a/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-bold.woff2 b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-bold.woff2 new file mode 100644 index 00000000..34b9f93b Binary files /dev/null and b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-bold.woff2 differ diff --git a/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-bolditalic.woff2 b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-bolditalic.woff2 new file mode 100644 index 00000000..19fbf7b9 Binary files /dev/null and b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-bolditalic.woff2 differ diff --git a/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-italic.woff2 b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-italic.woff2 new file mode 100644 index 00000000..dd20fdcf Binary files /dev/null and b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-italic.woff2 differ diff --git a/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-regular.woff2 b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-regular.woff2 new file mode 100644 index 00000000..a7ef60ef Binary files /dev/null and b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/Libertinus/libertinusserif-regular.woff2 differ diff --git a/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/Libertinus/mathfonts.css b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/Libertinus/mathfonts.css new file mode 100644 index 00000000..fe6d41c2 --- /dev/null +++ b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/Libertinus/mathfonts.css @@ -0,0 +1,61 @@ +/* +The Libertinus fonts are released under the SIL Open Font and GPL Licenses. See +the files in this directory for details. +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: Libertinus Serif; + src: local('Libertinus Serif'), local('LibertinusSerif'), + url('libertinusserif-regular.woff2'), + url('libertinusserif-regular.woff'); +} +@font-face { + font-family: Libertinus Serif; + src: local('Libertinus Serif Bold'), local('LibertinusSerif-Bold'), + url('libertinusserif-bold.woff2'), + url('libertinusserif-bold.woff'); + font-weight: bold; +} +@font-face { + font-family: Libertinus Serif; + src: local('Libertinus Serif Italic'), local('LibertinusSerif-Italic'), + url('libertinusserif-italic.woff2'), + url('libertinusserif-italic.woff'); + font-style: italic; +} +@font-face { + font-family: Libertinus Serif; + src: local('Libertinus Serif Bold Italic'), + local('LibertinusSerif-BoldItalic'), + url('libertinusserif-bolditalic.woff2'), + url('libertinusserif-bolditalic.woff'); + font-weight: bold; + font-style: italic; +} +@font-face { + font-family: Libertinus Math; + src: local('Libertinus Math'), local('LibertinusMath'), + url('libertinusmath-regular.woff2'), + url('libertinusmath-regular.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: Libertinus Serif; +} +m|math { + font-family: Libertinus Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* No math script */ +m|*.calligraphic { +} diff --git a/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/LucidaBright/mathfonts.css b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/LucidaBright/mathfonts.css new file mode 100644 index 00000000..5f056577 --- /dev/null +++ b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/LucidaBright/mathfonts.css @@ -0,0 +1,58 @@ +/* +The commercial Lucida Bright fonts can be obtained from +http://tug.org/store/lucida/opentype.html and some Web services might +provide them as Web fonts. See also + http://www.microsoft.com/typography/fonts/family.aspx?FID=186 + http://www.microsoft.com/typography/fonts/family.aspx?FID=217 + +Warning: The CSS rules below have not been tested. +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +/* Uncomment and complete the URLs if you wish to use Web fonts */ +/* +@font-face { + font-family: Lucida Bright; + src: local('Lucida Bright'), url('...'); +} +@font-face { + font-family: Lucida Bright; + src: local('Lucida Bright Demibold'), url('...'); + font-weight: bolder; +} +@font-face { + font-family: Lucida Bright; + src: local('Lucida Bright Italic'), url('...'); + font-style: italic; +} +@font-face { + font-family: Lucida Bright; + src: local('Lucida Bright Demibold Italic'), url('...'); + font-weight: bolder; + font-style: italic; +} +@font-face { + font-family: Lucida Bright Math; + src: local('Lucida Bright Math'), url('...'); +} +*/ + +.htmlmathparagraph, m|mtext { + font-family: Lucida Bright; +} +m|math { + font-family: Lucida Bright Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* TODO: verify whether calligraphic letters are available in this font */ +m|*.calligraphic { +} diff --git a/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/Minion/mathfonts.css b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/Minion/mathfonts.css new file mode 100644 index 00000000..640b0eaf --- /dev/null +++ b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/Minion/mathfonts.css @@ -0,0 +1,37 @@ +/* +The commercial Minion Math fonts and can be obtained from +http://www.typoma.com/en/fonts.html and some Web services might provide them as +Web fonts. + +Warning: The CSS rules below have not been tested. More rules should probably +be added to make this work correctly. +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +/* Uncomment and complete the URLs if you wish to use Web fonts */ +/* +@font-face { + font-family: Minion Math; + src: local('Minion Math'), url('...'); +} +*/ + +.htmlmathparagraph, m|mtext { + font-family: Minion Math; +} +m|math { + font-family: Minion Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* TODO: verify whether calligraphic letters are available in this font */ +m|*.calligraphic { +} diff --git a/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/NeoEuler/mathfonts.css b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/NeoEuler/mathfonts.css new file mode 100644 index 00000000..8df86bf5 --- /dev/null +++ b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/NeoEuler/mathfonts.css @@ -0,0 +1,34 @@ +/* +Neo Euler is released under the SIL Open Font License. See the files in this +directory for details. The font is still in development. The font does not seem +to have a corresponding "non-MATH" font. + +The WOFF fonts have been obtained from +https://github.com/khaledhosny/euler-otf/ +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: Neo Euler; + src: local('Neo Euler'), url('euler.woff2'), url('euler.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: Neo Euler; +} +m|math { + font-family: Neo Euler; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* Calligraphic letters do not seem to be available */ +m|*.calligraphic { +} diff --git a/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoMath-Regular.woff2 b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoMath-Regular.woff2 new file mode 100644 index 00000000..279a98f0 Binary files /dev/null and b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoMath-Regular.woff2 differ diff --git a/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-Bold.woff2 b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-Bold.woff2 new file mode 100644 index 00000000..e4394884 Binary files /dev/null and b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-Bold.woff2 differ diff --git a/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-BoldItalic.woff2 b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-BoldItalic.woff2 new file mode 100644 index 00000000..0dc0baed Binary files /dev/null and b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-BoldItalic.woff2 differ diff --git a/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-Italic.woff2 b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-Italic.woff2 new file mode 100644 index 00000000..5594de32 Binary files /dev/null and b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-Italic.woff2 differ diff --git a/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-Regular.woff2 b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-Regular.woff2 new file mode 100644 index 00000000..263c488a Binary files /dev/null and b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/STIX/STIXTwoText-Regular.woff2 differ diff --git a/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/STIX/mathfonts.css b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/STIX/mathfonts.css new file mode 100644 index 00000000..4b287cee --- /dev/null +++ b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/STIX/mathfonts.css @@ -0,0 +1,69 @@ +/* +The STIX fonts are released under the SIL Open Font License. See the files in +this directory for details. The font can be obtained from several TeX +distributions or package managers. + +The WOFF fonts have been obtained from +http://downloads.sourceforge.net/project/stixfonts/ +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + + +@font-face { + font-family: STIX Two Text; + src: local('STIXTwoText'), + url('STIXTwoText-Regular.woff2'), + url('STIXTwoText-Regular.woff'); +} +@font-face { + font-family: STIX Two Text; + src: local('STIXTwoText-Bold'), + url('STIXTwoText-Bold.woff2'), + url('STIXTwoText-Bold.woff'); + font-weight: bold; +} +@font-face { + font-family: STIX Two Text; + src: local('STIXTwoText-Italic'), + url('STIXTwoText-Italic.woff2'), + url('STIXTwoText-Italic.woff'); + font-style: italic; +} +@font-face { + font-family: STIX Two Text; + src: local('STIXTwoText-BoldItalic'), + url('STIXTwoText-BoldItalic.woff2'), + url('STIXTwoText-BoldItalic.woff'); + font-weight: bold; + font-style: italic; +} +@font-face { + font-family: STIX Two Math; + src: local('STIXTwoMath-Regular'), + url('STIXTwoMath-Regular.woff2'), + url('STIXTwoMath-Regular.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: STIX Two Text; +} +m|math { + font-family: STIX Two Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +@font-feature-values STIX Two Math { @styleset { calligraphic: 1; } } +m|*.calligraphic { + font-variant-alternates: styleset(calligraphic); /* Recommended syntax */ + font-feature-settings: 'ss01'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'ss01'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'ss01'; /* Blink syntax */ +} diff --git a/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/mathfonts.css b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/mathfonts.css new file mode 100644 index 00000000..f7bbeaa0 --- /dev/null +++ b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/mathfonts.css @@ -0,0 +1,62 @@ +/* +The TeX Gyre Bonum fonts are released under the GUST font license, which is +legally equivalent to the LaTeX Project Public License. See the files in this +directory for details. The fonts can be obtained from several TeX distributions +or package managers. + +The WOFF fonts have been obtained from +http://www.gust.org.pl/projects/e-foundry/ +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: TeX Gyre Bonum; + src: local('TeXGyreBonum-Regular'), + url('texgyrebonum-regular.woff2'), url('texgyrebonum-regular.woff'); +} +@font-face { + font-family: TeX Gyre Bonum; + src: local('TeXGyreBonum-Bold'), + url('texgyrebonum-bold.woff2'), url('texgyrebonum-bold.woff'); + font-weight: bold; +} +@font-face { + font-family: TeX Gyre Bonum; + src: local('TeXGyreBonum-Italic'), + url('texgyrebonum-italic.woff2'), url('texgyrebonum-italic.woff'); + font-style: italic; +} +@font-face { + font-family: TeX Gyre Bonum; + src: local('TeXGyreBonum-BoldItalic'), + url('texgyrebonum-bolditalic.woff2'), + url('texgyrebonum-bolditalic.woff'); + font-weight: bold; + font-style: italic; +} +@font-face { + font-family: TeX Gyre Bonum Math; + src: local('TeX Gyre Bonum Math'), local('TeXGyreBonumMath-Regular'), + url('texgyrebonum-math.woff2'), + url('texgyrebonum-math.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: TeX Gyre Bonum; +} +m|math { + font-family: TeX Gyre Bonum Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* Calligraphic letters do not seem to be available */ +m|*.calligraphic { +} diff --git a/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-bold.woff2 b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-bold.woff2 new file mode 100644 index 00000000..013ca1bd Binary files /dev/null and b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-bold.woff2 differ diff --git a/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-bolditalic.woff2 b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-bolditalic.woff2 new file mode 100644 index 00000000..ae18fb8b Binary files /dev/null and b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-bolditalic.woff2 differ diff --git a/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-italic.woff2 b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-italic.woff2 new file mode 100644 index 00000000..42742390 Binary files /dev/null and b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-italic.woff2 differ diff --git a/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-math.woff2 b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-math.woff2 new file mode 100644 index 00000000..d16a1cea Binary files /dev/null and b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-math.woff2 differ diff --git a/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-regular.woff2 b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-regular.woff2 new file mode 100644 index 00000000..8aede98d Binary files /dev/null and b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/TeXGyreBonum/texgyrebonum-regular.woff2 differ diff --git a/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/TeXGyrePagella/mathfonts.css b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/TeXGyrePagella/mathfonts.css new file mode 100644 index 00000000..394686b0 --- /dev/null +++ b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/TeXGyrePagella/mathfonts.css @@ -0,0 +1,63 @@ +/* +The TeX Gyre Pagella fonts are released under the GUST font license, which is +legally equivalent to the LaTeX Project Public License. See the files in this +directory for details. The fonts can be obtained from several TeX distributions +or package managers. + +The WOFF fonts have been obtained from +http://www.gust.org.pl/projects/e-foundry/ +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: TeX Gyre Pagella; + src: local('TeXGyrePagella-Regular'), + url('texgyrepagella-regular.woff2'), + url('texgyrepagella-regular.woff'); +} +@font-face { + font-family: TeX Gyre Pagella; + src: local('TeXGyrePagella-Bold'), + url('texgyrepagella-bold.woff2'), url('texgyrepagella-bold.woff'); + font-weight: bold; +} +@font-face { + font-family: TeX Gyre Pagella; + src: local('TeXGyrePagella-Italic'), + url('texgyrepagella-italic.woff2'), url('texgyrepagella-italic.woff'); + font-style: italic; +} +@font-face { + font-family: TeX Gyre Pagella; + src: local('TeXGyrePagella-BoldItalic'), + url('texgyrepagella-bolditalic.woff2'), + url('texgyrepagella-bolditalic.woff'); + font-weight: bold; + font-style: italic; +} +@font-face { + font-family: TeX Gyre Pagella Math; + src: local('TeX Gyre Pagella Math'), local('TeXGyrePagellaMath-Regular'), + url('texgyrepagella-math.woff2'), + url('texgyrepagella-math.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: TeX Gyre Pagella; +} +m|math { + font-family: TeX Gyre Pagella Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* Calligraphic letters do not seem to be available */ +m|*.calligraphic { +} diff --git a/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/TeXGyrePagella/texgyrepagella-math.woff2 b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/TeXGyrePagella/texgyrepagella-math.woff2 new file mode 100644 index 00000000..0879c80a Binary files /dev/null and b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/TeXGyrePagella/texgyrepagella-math.woff2 differ diff --git a/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/mathfonts.css b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/mathfonts.css new file mode 100644 index 00000000..41c28c6b --- /dev/null +++ b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/mathfonts.css @@ -0,0 +1,61 @@ +/* +The TeX Gyre Schola fonts are released under the GUST font license, which is +legally equivalent to the LaTeX Project Public License. See the files in this +directory for details. The fonts can be obtained from several TeX distributions +or package managers. + +The WOFF fonts have been obtained from +http://www.gust.org.pl/projects/e-foundry/ +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: TeX Gyre Schola; + src: local('TeXGyreSchola-Regular'), + url('texgyreschola-regular.woff2'), url('texgyreschola-regular.woff'); +} +@font-face { + font-family: TeX Gyre Schola; + src: local('TeXGyreSchola-Bold'), + url('texgyreschola-bold.woff2'), url('texgyreschola-bold.woff'); + font-weight: bold; +} +@font-face { + font-family: TeX Gyre Schola; + src: local('TeXGyreSchola-Italic'), + url('texgyreschola-italic.woff2'), url('texgyreschola-italic.woff'); + font-style: italic; +} +@font-face { + font-family: TeX Gyre Schola; + src: local('TeXGyreSchola-BoldItalic'), + url('texgyreschola-bolditalic.woff2'), + url('texgyreschola-bolditalic.woff'); + font-weight: bold; + font-style: italic; +} +@font-face { + font-family: TeX Gyre Schola Math; + src: local('TeX Gyre Schola Math'), local('TeXGyreScholaMath-Regular'), + url('texgyreschola-math.woff2'), url('texgyreschola-math.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: TeX Gyre Schola; +} +m|math { + font-family: TeX Gyre Schola Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* Calligraphic letters do not seem to be available */ +m|*.calligraphic { +} diff --git a/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-bold.woff2 b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-bold.woff2 new file mode 100644 index 00000000..485f2c5b Binary files /dev/null and b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-bold.woff2 differ diff --git a/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-bolditalic.woff2 b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-bolditalic.woff2 new file mode 100644 index 00000000..6c8c3f52 Binary files /dev/null and b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-bolditalic.woff2 differ diff --git a/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-italic.woff2 b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-italic.woff2 new file mode 100644 index 00000000..afe8d4ef Binary files /dev/null and b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-italic.woff2 differ diff --git a/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-math.woff2 b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-math.woff2 new file mode 100644 index 00000000..674c4281 Binary files /dev/null and b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-math.woff2 differ diff --git a/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-regular.woff2 b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-regular.woff2 new file mode 100644 index 00000000..0dbec85e Binary files /dev/null and b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/TeXGyreSchola/texgyreschola-regular.woff2 differ diff --git a/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/mathfonts.css b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/mathfonts.css new file mode 100644 index 00000000..d7a65374 --- /dev/null +++ b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/mathfonts.css @@ -0,0 +1,60 @@ +/* +The TeX Gyre Termes fonts are released under the GUST font license, which is +legally equivalent to the LaTeX Project Public License. See the files in this +directory for details. The fonts can be obtained from several TeX distributions +or package managers. + +The WOFF fonts have been obtained from +http://www.gust.org.pl/projects/e-foundry/ +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: TeX Gyre Termes; + src: local('TeXGyreTermes-Regular'), + url('texgyretermes-regular.woff2'), url('texgyretermes-regular.woff'); +} +@font-face { + font-family: TeX Gyre Termes; + src: local('TeXGyreTermes-Bold'), + url('texgyretermes-bold.woff2'), url('texgyretermes-bold.woff'); + font-weight: bold; +} +@font-face { + font-family: TeX Gyre Termes; + src: local('TeXGyreTermes-Italic'), + url('texgyretermes-italic.woff2'), url('texgyretermes-italic.woff'); + font-style: italic; +} +@font-face { + font-family: TeX Gyre Termes; + src: local('TeXGyreTermes-BoldItalic'), + url('texgyretermes-bolditalic.woff2'), url('texgyretermes-bolditalic.woff'); + font-weight: bold; + font-style: italic; +} +@font-face { + font-family: TeX Gyre Termes Math; + src: local('TeX Gyre Termes Math'), local('TeXGyreTermesMath-Regular'), + url('texgyretermes-math.woff2'), url('texgyretermes-math.woff'); +} + +.htmlmathparagraph, m|mtext { + font-family: TeX Gyre Termes; +} +m|math { + font-family: TeX Gyre Termes Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +/* Calligraphic letters do not seem to be available */ +m|*.calligraphic { +} diff --git a/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-bold.woff2 b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-bold.woff2 new file mode 100644 index 00000000..a346eb13 Binary files /dev/null and b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-bold.woff2 differ diff --git a/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-bolditalic.woff2 b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-bolditalic.woff2 new file mode 100644 index 00000000..571a2f07 Binary files /dev/null and b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-bolditalic.woff2 differ diff --git a/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-italic.woff2 b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-italic.woff2 new file mode 100644 index 00000000..401cd0ec Binary files /dev/null and b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-italic.woff2 differ diff --git a/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-math.woff2 b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-math.woff2 new file mode 100644 index 00000000..31c9adc2 Binary files /dev/null and b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-math.woff2 differ diff --git a/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-regular.woff2 b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-regular.woff2 new file mode 100644 index 00000000..1a15f9ad Binary files /dev/null and b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/TeXGyreTermes/texgyretermes-regular.woff2 differ diff --git a/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-Bold.woff2 b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-Bold.woff2 new file mode 100644 index 00000000..7a12dd34 Binary files /dev/null and b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-Bold.woff2 differ diff --git a/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-BoldItalic.woff2 b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-BoldItalic.woff2 new file mode 100644 index 00000000..c4daad18 Binary files /dev/null and b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-BoldItalic.woff2 differ diff --git a/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-Italic.woff2 b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-Italic.woff2 new file mode 100644 index 00000000..9d434203 Binary files /dev/null and b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-Italic.woff2 differ diff --git a/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-Regular.woff2 b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-Regular.woff2 new file mode 100644 index 00000000..9acf905c Binary files /dev/null and b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/XITS/XITS-Regular.woff2 differ diff --git a/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/XITS/XITSMath-Bold.woff2 b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/XITS/XITSMath-Bold.woff2 new file mode 100644 index 00000000..c93f7230 Binary files /dev/null and b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/XITS/XITSMath-Bold.woff2 differ diff --git a/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/XITS/XITSMath-Regular.woff2 b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/XITS/XITSMath-Regular.woff2 new file mode 100644 index 00000000..fa9345cb Binary files /dev/null and b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/XITS/XITSMath-Regular.woff2 differ diff --git a/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/XITS/mathfonts.css b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/XITS/mathfonts.css new file mode 100644 index 00000000..9b62b7c3 --- /dev/null +++ b/io.sc.standard.frontend/public/webjars/mathfonts/1.0.0/XITS/mathfonts.css @@ -0,0 +1,69 @@ +/* +XITS is released under the SIL Open Font License. See the files in this +directory for details. The font can be obtained from several TeX distributions +or package managers. + +The WOFF fonts have been obtained from +http://mirrors.ctan.org/fonts/ +*/ + +@namespace url('http://www.w3.org/1999/xhtml'); +@namespace m url('http://www.w3.org/1998/Math/MathML'); + +@font-face { + font-family: XITS; + src: local('XITS'), + url('XITS-Regular.woff2'), url('XITS-Regular.woff'); +} +@font-face { + font-family: XITS; + src: local('XITS Bold'), local('XITS-Bold'), + url('XITS-Bold.woff2'), url('XITS-Bold.woff'); + font-weight: bold; +} +@font-face { + font-family: XITS; + src: local('XITS Italic'), local('XITS-Italic'), + url('XITS-Italic.woff2'), url('XITS-Italic.woff'); + font-style: italic; +} +@font-face { + font-family: XITS; + src: local('XITS Bold Italic'), local('XITS-BoldItalic'), + url('XITS-BoldItalic.woff2'), url('XITS-BoldItalic.woff'); + font-weight: bold; + font-style: italic; +} +@font-face { + font-family: XITS Math; + src: local('XITS Math'), local('XITSMath-Regular'), + url('XITSMath-Regular.woff2'), url('XITSMath-Regular.woff'); +} +@font-face { + font-family: XITS Math; + src: local('XITS Math Bold'), local('XITSMath-Bold'), + url('XITSMath-Bold.woff2'), url('XITSMathBold.woff'); + font-weight: bold; +} + +.htmlmathparagraph, m|mtext { + font-family: XITS; +} +m|math { + font-family: XITS Math; +} + +.oldstylenumbers { + font-variant-numeric: oldstyle-nums; /* Recommended syntax */ + font-feature-settings: 'onum'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'onum'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'onum'; /* Blink syntax */ +} + +@font-feature-values XITS Math { @styleset { calligraphic: 1; } } +m|*.calligraphic { + font-variant-alternates: styleset(calligraphic); /* Recommended syntax */ + font-feature-settings: 'ss01'; /* OpenType feature syntax */ + -moz-font-feature-settings: 'ss01'; /* Gecko <= 33 syntax */ + -webkit-font-feature-settings: 'ss01'; /* Blink syntax */ +} diff --git a/settings.gradle b/settings.gradle index c0a49324..6ea9bda7 100755 --- a/settings.gradle +++ b/settings.gradle @@ -1,4 +1,6 @@ include ':app.platform' +include ':app.platform.scheduler.executor' +include ':app.platform.scheduler.manager' include ':com.xxl.job.admin' include ':com.xxl.job.core' include ':com.xxl.job.executor'