muon-ui 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/README.md +1 -1
  2. package/dist/{build-BxDRaTmF.cjs → build-xwfaxosJ.cjs} +47 -11
  3. package/dist/build-xwfaxosJ.cjs.map +1 -0
  4. package/dist/cli.cjs +12 -5
  5. package/dist/cli.cjs.map +1 -1
  6. package/dist/index.cjs +2 -2
  7. package/dist/index.mjs +2 -2
  8. package/dist/native/linux64/muon-bootstrap +0 -0
  9. package/dist/native/linux64/muon-prepare +0 -0
  10. package/dist/native/linuxarm/muon-bootstrap +0 -0
  11. package/dist/native/linuxarm/muon-prepare +0 -0
  12. package/dist/native/linuxarm64/muon-bootstrap +0 -0
  13. package/dist/native/linuxarm64/muon-prepare +0 -0
  14. package/dist/native/windows32/muon-bootstrap.exe +0 -0
  15. package/dist/native/windows32/muon-prepare.exe +0 -0
  16. package/dist/native/windows64/muon-bootstrap.exe +0 -0
  17. package/dist/native/windows64/muon-prepare.exe +0 -0
  18. package/dist/runtime/linux64/LICENSE_muon +97 -0
  19. package/dist/runtime/linux64/libmuon-ui.so +0 -0
  20. package/dist/runtime/linux64/muon-core +0 -0
  21. package/dist/runtime/linuxarm/LICENSE_muon +97 -0
  22. package/dist/runtime/linuxarm/libmuon-ui.so +0 -0
  23. package/dist/runtime/linuxarm/muon-core +0 -0
  24. package/dist/runtime/linuxarm64/LICENSE_muon +97 -0
  25. package/dist/runtime/linuxarm64/libmuon-ui.so +0 -0
  26. package/dist/runtime/linuxarm64/muon-core +0 -0
  27. package/dist/runtime/windows32/LICENSE_muon +97 -0
  28. package/dist/runtime/windows32/libcardio.dll +0 -0
  29. package/dist/runtime/windows32/libmuon-ui.dll +0 -0
  30. package/dist/runtime/windows32/muon-core.exe +0 -0
  31. package/dist/runtime/windows64/LICENSE_muon +97 -0
  32. package/dist/runtime/windows64/libcardio.dll +0 -0
  33. package/dist/runtime/windows64/libmuon-ui.dll +0 -0
  34. package/dist/runtime/windows64/muon-core.exe +0 -0
  35. package/dist/vite.cjs +34 -26
  36. package/dist/vite.cjs.map +1 -1
  37. package/dist/vite.mjs +70 -33
  38. package/dist/vite.mjs.map +1 -1
  39. package/muon.d.ts +17 -0
  40. package/package.json +7 -7
  41. package/vite.d.ts +18 -2
  42. package/dist/build-BxDRaTmF.cjs.map +0 -1
package/dist/cli.cjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.cjs","names":[],"sources":["../src/generated/packageMetadata.ts","../src/cli.ts"],"sourcesContent":["// @ts-nocheck\n// This file is auto-generated by screw-up plugin\n// Do not edit manually\n\nexport const name = \"muon-ui\";\nexport const version = \"0.2.0\";\nexport const description = \"A multi-platform GUI application framework that uses CEF as its backend\";\nexport const author = \"Kouji Matsui (@kekyo@mi.kekyo.net)\";\nexport const license = \"MIT\";\nexport const repository_url = \"https://github.com/kekyo/muon-ui.git\";\nexport const git_commit_hash = \"6251ff88aafa8ae873657f39aed1ebba2fa329a4\";\n","#!/usr/bin/env node\n// muon - Multi-platform GUI application framework that uses CEF as its backend\n// Copyright (c) Kouji Matsui. (@kekyo@mi.kekyo.net)\n// Under MIT.\n// https://github.com/kekyo/muon\n\nimport { Command } from \"commander\";\n\nimport {\n getDefaultMuonPrepareTarget,\n runMuonPrepare,\n type MuonPrepareOptions,\n} from \"./prepare.js\";\nimport {\n embedMuonConfigInBootstrapFile,\n embedMuonConfigInCoreFile,\n embedMuonConfigInRuntime,\n type EmbedMuonConfigResult,\n} from \"./embed-config.js\";\nimport { buildMuonApp, type MuonBuildOptions } from \"./build.js\";\nimport { git_commit_hash, version } from \"./generated/packageMetadata.js\";\n\ninterface PrepareCommandOptions {\n muonPath: string | undefined;\n cefPath: string | undefined;\n stageDir: string | undefined;\n target: string | undefined;\n cacheDir: string | undefined;\n force: boolean | undefined;\n quiet: boolean | undefined;\n json: boolean | undefined;\n}\n\ninterface EmbedConfigCommandOptions {\n runtimePath: string | undefined;\n corePath: string | undefined;\n bootstrapPath: string | undefined;\n config: string | undefined;\n outputRuntimePath: string | undefined;\n output: string | undefined;\n outputBootstrap: string | undefined;\n json: boolean | undefined;\n}\n\ninterface BuildCommandOptions {\n target: string[];\n all: boolean | undefined;\n assets: string | undefined;\n config: string | undefined;\n outDir: string | undefined;\n name: string | undefined;\n json: boolean | undefined;\n}\n\nconst readTargetValues = (value: string): string[] => {\n return value\n .split(\",\")\n .map((value) => value.trim())\n .filter((value) => value.length > 0);\n};\n\nconst appendTargetValues = (value: string, previous: string[]): string[] => {\n return [...previous, ...readTargetValues(value)];\n};\n\nconst validateEmbedConfigOptions = (\n options: EmbedConfigCommandOptions,\n): void => {\n if (options.runtimePath !== undefined && options.corePath !== undefined) {\n throw new Error(\"Specify at most one of --runtime-path or --core-path.\");\n }\n if (\n options.runtimePath === undefined &&\n options.corePath === undefined &&\n options.bootstrapPath === undefined\n ) {\n throw new Error(\n \"Specify at least one of --runtime-path, --core-path, or --bootstrap-path.\",\n );\n }\n if (\n options.corePath !== undefined &&\n options.outputRuntimePath !== undefined\n ) {\n throw new Error(\"--output-runtime-path requires --runtime-path.\");\n }\n if (options.runtimePath !== undefined && options.output !== undefined) {\n throw new Error(\"--output requires --core-path.\");\n }\n if (\n options.bootstrapPath === undefined &&\n options.outputBootstrap !== undefined\n ) {\n throw new Error(\"--output-bootstrap requires --bootstrap-path.\");\n }\n};\n\nconst runBuildCommand = async (\n commandOptions: BuildCommandOptions,\n): Promise<void> => {\n const targets = commandOptions.target;\n if (commandOptions.all === true && targets.length > 0) {\n throw new Error(\"Specify either --all or --target, not both.\");\n }\n\n const buildOptions: MuonBuildOptions = {\n root: process.cwd(),\n allTargets: commandOptions.all === true,\n };\n\n if (targets.length > 0) {\n buildOptions.targets = targets;\n }\n if (commandOptions.assets !== undefined) {\n buildOptions.assetSourcePath = commandOptions.assets;\n }\n if (commandOptions.config !== undefined) {\n buildOptions.configPath = commandOptions.config;\n }\n if (commandOptions.outDir !== undefined) {\n buildOptions.outputRoot = commandOptions.outDir;\n }\n if (commandOptions.name !== undefined) {\n buildOptions.appName = commandOptions.name;\n }\n\n const result = await buildMuonApp(buildOptions);\n if (commandOptions.json === true) {\n console.log(JSON.stringify(result, null, 2));\n } else {\n for (const target of result.targets) {\n console.log(target.outputPath);\n }\n }\n};\n\nconst runPrepareCommand = async (\n commandOptions: PrepareCommandOptions,\n): Promise<void> => {\n const prepareOptions: MuonPrepareOptions = {\n muonPath: commandOptions.muonPath ?? \"\",\n cefPath: commandOptions.cefPath,\n stageDir: commandOptions.stageDir,\n target:\n commandOptions.target ??\n getDefaultMuonPrepareTarget(process.platform, process.arch),\n cacheDir: commandOptions.cacheDir,\n force: commandOptions.force === true,\n quiet: commandOptions.quiet === true,\n prepareExecutablePath: undefined,\n environment: process.env,\n cwd: process.cwd(),\n };\n const result = await runMuonPrepare(prepareOptions);\n if (commandOptions.json === true) {\n console.log(JSON.stringify(result, null, 2));\n } else {\n console.log(result.stagePath ?? result.cefPath);\n }\n};\n\nconst printEmbedConfigResult = (\n result: EmbedMuonConfigResult,\n json: boolean | undefined,\n): void => {\n if (json === true) {\n console.log(JSON.stringify(result, null, 2));\n } else {\n console.log(result.outputPath);\n }\n};\n\nconst runEmbedConfigCommand = async (\n commandOptions: EmbedConfigCommandOptions,\n): Promise<void> => {\n validateEmbedConfigOptions(commandOptions);\n const configPath = commandOptions.config ?? \"\";\n const coreResult =\n commandOptions.corePath !== undefined\n ? await embedMuonConfigInCoreFile({\n corePath: commandOptions.corePath,\n configPath,\n outputPath: commandOptions.output,\n })\n : commandOptions.runtimePath !== undefined\n ? await embedMuonConfigInRuntime({\n runtimePath: commandOptions.runtimePath,\n configPath,\n outputRuntimePath: commandOptions.outputRuntimePath,\n })\n : undefined;\n const bootstrapResult =\n commandOptions.bootstrapPath === undefined\n ? undefined\n : await embedMuonConfigInBootstrapFile({\n bootstrapPath: commandOptions.bootstrapPath,\n configPath,\n outputPath: commandOptions.outputBootstrap,\n });\n if (coreResult !== undefined && bootstrapResult !== undefined) {\n if (commandOptions.json === true) {\n console.log(\n JSON.stringify(\n {\n core: coreResult,\n bootstrap: bootstrapResult,\n },\n null,\n 2,\n ),\n );\n } else {\n console.log(`${coreResult.outputPath}\\n${bootstrapResult.outputPath}`);\n }\n return;\n }\n const result = coreResult ?? bootstrapResult;\n if (result === undefined) {\n throw new Error(\"No embed-config target was specified.\");\n }\n printEmbedConfigResult(result, commandOptions.json);\n};\n\nconst createCliCommand = (): Command => {\n const program = new Command();\n\n program\n .name(\"muon\")\n .description(\n \"Multi-platform GUI application framework that uses CEF as its backend\",\n )\n .version(`${version}-${git_commit_hash}`)\n .showSuggestionAfterError()\n .action(() => {\n program.outputHelp({ error: true });\n process.exitCode = 1;\n });\n\n program\n .command(\"build\")\n .description(\"Build CEF-free Muon app distribution directories\")\n .option(\n \"--target <target>\",\n \"target alias or comma-separated target aliases\",\n appendTargetValues,\n [],\n )\n .option(\"--all\", \"build all supported targets\")\n .option(\"--assets <path>\", \"asset root path\")\n .option(\"--config <path>\", \"muon config path\")\n .option(\"--out-dir <path>\", \"output root directory\")\n .option(\"--name <name>\", \"launcher file name\")\n .option(\"--json\", \"write result as JSON\")\n .action(async (options: BuildCommandOptions) => {\n await runBuildCommand(options);\n });\n\n program\n .command(\"prepare\")\n .description(\"Prepare a Muon runtime with CEF files\")\n .requiredOption(\"--muon-path <path>\", \"Muon runtime file root\")\n .option(\"--cef-path <path>\", \"CEF file root\")\n .option(\"--stage-dir <path>\", \"prepared runtime output directory\")\n .option(\"--target <target>\", \"prepare target\")\n .option(\"--cache-dir <path>\", \"CEF artifact cache directory\")\n .option(\"--force\", \"rebuild an existing prepared runtime\")\n .option(\"-q, --quiet\", \"suppress native prepare progress messages\")\n .option(\"--json\", \"write result as JSON\")\n .action(async (options: PrepareCommandOptions) => {\n await runPrepareCommand(options);\n });\n\n program\n .command(\"embed-config\")\n .description(\"Embed muon.json into Muon runtime files\")\n .option(\"--runtime-path <path>\", \"prepared runtime directory\")\n .option(\"--core-path <path>\", \"muon-core executable path\")\n .option(\"--bootstrap-path <path>\", \"muon-bootstrap executable path\")\n .requiredOption(\"--config <path>\", \"muon config path\")\n .option(\"--output-runtime-path <path>\", \"patched runtime output directory\")\n .option(\"--output <path>\", \"patched muon-core output path\")\n .option(\"--output-bootstrap <path>\", \"patched bootstrap output path\")\n .option(\"--json\", \"write result as JSON\")\n .action(async (options: EmbedConfigCommandOptions) => {\n await runEmbedConfigCommand(options);\n });\n\n return program;\n};\n\nconst main = async (): Promise<void> => {\n try {\n await createCliCommand().parseAsync(process.argv);\n } catch (error) {\n console.error(error instanceof Error ? error.message : String(error));\n process.exitCode = 1;\n }\n};\n\nvoid main();\n"],"mappings":"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"}
1
+ {"version":3,"file":"cli.cjs","names":[],"sources":["../src/generated/packageMetadata.ts","../src/cli.ts"],"sourcesContent":["// @ts-nocheck\n// This file is auto-generated by screw-up plugin\n// Do not edit manually\n\nexport const name = \"muon-ui\";\nexport const version = \"0.3.0\";\nexport const description = \"A multi-platform GUI application framework that uses CEF as its backend\";\nexport const author = \"Kouji Matsui (@kekyo@mi.kekyo.net)\";\nexport const license = \"MIT\";\nexport const repository_url = \"https://github.com/kekyo/muon-ui.git\";\nexport const git_commit_hash = \"e3c2c87d50dddb0bf6c2b4d5ebf0a37ab2d3b433\";\n","#!/usr/bin/env node\n// muon - Multi-platform GUI application framework that uses CEF as its backend\n// Copyright (c) Kouji Matsui. (@kekyo@mi.kekyo.net)\n// Under MIT.\n// https://github.com/kekyo/muon\n\nimport { Command } from \"commander\";\n\nimport {\n getDefaultMuonPrepareTarget,\n runMuonPrepare,\n type MuonPrepareOptions,\n} from \"./prepare.js\";\nimport { ensureMuonGitignoreEntry } from \"./gitignore.js\";\nimport {\n embedMuonConfigInBootstrapFile,\n embedMuonConfigInCoreFile,\n embedMuonConfigInRuntime,\n type EmbedMuonConfigResult,\n} from \"./embed-config.js\";\nimport { buildMuonApp, type MuonBuildOptions } from \"./build.js\";\nimport { git_commit_hash, version } from \"./generated/packageMetadata.js\";\n\ninterface PrepareCommandOptions {\n muonPath: string | undefined;\n cefPath: string | undefined;\n stageDir: string | undefined;\n target: string | undefined;\n cacheDir: string | undefined;\n force: boolean | undefined;\n quiet: boolean | undefined;\n json: boolean | undefined;\n}\n\ninterface EmbedConfigCommandOptions {\n runtimePath: string | undefined;\n corePath: string | undefined;\n bootstrapPath: string | undefined;\n config: string | undefined;\n outputRuntimePath: string | undefined;\n output: string | undefined;\n outputBootstrap: string | undefined;\n json: boolean | undefined;\n}\n\ninterface BuildCommandOptions {\n target: string[];\n all: boolean | undefined;\n assets: string | undefined;\n config: string | undefined;\n outDir: string | undefined;\n name: string | undefined;\n json: boolean | undefined;\n}\n\nconst readTargetValues = (value: string): string[] => {\n return value\n .split(\",\")\n .map((value) => value.trim())\n .filter((value) => value.length > 0);\n};\n\nconst appendTargetValues = (value: string, previous: string[]): string[] => {\n return [...previous, ...readTargetValues(value)];\n};\n\nconst validateEmbedConfigOptions = (\n options: EmbedConfigCommandOptions,\n): void => {\n if (options.runtimePath !== undefined && options.corePath !== undefined) {\n throw new Error(\"Specify at most one of --runtime-path or --core-path.\");\n }\n if (\n options.runtimePath === undefined &&\n options.corePath === undefined &&\n options.bootstrapPath === undefined\n ) {\n throw new Error(\n \"Specify at least one of --runtime-path, --core-path, or --bootstrap-path.\",\n );\n }\n if (\n options.corePath !== undefined &&\n options.outputRuntimePath !== undefined\n ) {\n throw new Error(\"--output-runtime-path requires --runtime-path.\");\n }\n if (options.runtimePath !== undefined && options.output !== undefined) {\n throw new Error(\"--output requires --core-path.\");\n }\n if (\n options.bootstrapPath === undefined &&\n options.outputBootstrap !== undefined\n ) {\n throw new Error(\"--output-bootstrap requires --bootstrap-path.\");\n }\n};\n\nconst runBuildCommand = async (\n commandOptions: BuildCommandOptions,\n): Promise<void> => {\n const targets = commandOptions.target;\n if (commandOptions.all === true && targets.length > 0) {\n throw new Error(\"Specify either --all or --target, not both.\");\n }\n\n const buildOptions: MuonBuildOptions = {\n root: process.cwd(),\n allTargets: commandOptions.all === true,\n };\n\n if (targets.length > 0) {\n buildOptions.targets = targets;\n }\n if (commandOptions.assets !== undefined) {\n buildOptions.assetSourcePath = commandOptions.assets;\n }\n if (commandOptions.config !== undefined) {\n buildOptions.configPath = commandOptions.config;\n }\n if (commandOptions.outDir !== undefined) {\n buildOptions.outputRoot = commandOptions.outDir;\n }\n if (commandOptions.name !== undefined) {\n buildOptions.appName = commandOptions.name;\n }\n\n const result = await buildMuonApp(buildOptions);\n if (commandOptions.json === true) {\n console.log(JSON.stringify(result, null, 2));\n } else {\n for (const target of result.targets) {\n console.log(target.outputPath);\n }\n }\n};\n\nconst runPrepareCommand = async (\n commandOptions: PrepareCommandOptions,\n): Promise<void> => {\n const prepareOptions: MuonPrepareOptions = {\n muonPath: commandOptions.muonPath ?? \"\",\n cefPath: commandOptions.cefPath,\n stageDir: commandOptions.stageDir,\n target:\n commandOptions.target ??\n getDefaultMuonPrepareTarget(process.platform, process.arch),\n cacheDir: commandOptions.cacheDir,\n force: commandOptions.force === true,\n quiet: commandOptions.quiet === true,\n prepareExecutablePath: undefined,\n environment: process.env,\n cwd: process.cwd(),\n };\n const result = await runMuonPrepare(prepareOptions);\n if (commandOptions.json === true) {\n console.log(JSON.stringify(result, null, 2));\n } else {\n console.log(result.stagePath ?? result.cefPath);\n }\n};\n\nconst runInitCommand = async (): Promise<void> => {\n const result = await ensureMuonGitignoreEntry(process.cwd());\n console.log(\n result.changed ? `Updated ${result.gitignorePath}` : result.gitignorePath,\n );\n};\n\nconst printEmbedConfigResult = (\n result: EmbedMuonConfigResult,\n json: boolean | undefined,\n): void => {\n if (json === true) {\n console.log(JSON.stringify(result, null, 2));\n } else {\n console.log(result.outputPath);\n }\n};\n\nconst runEmbedConfigCommand = async (\n commandOptions: EmbedConfigCommandOptions,\n): Promise<void> => {\n validateEmbedConfigOptions(commandOptions);\n const configPath = commandOptions.config ?? \"\";\n const coreResult =\n commandOptions.corePath !== undefined\n ? await embedMuonConfigInCoreFile({\n corePath: commandOptions.corePath,\n configPath,\n outputPath: commandOptions.output,\n })\n : commandOptions.runtimePath !== undefined\n ? await embedMuonConfigInRuntime({\n runtimePath: commandOptions.runtimePath,\n configPath,\n outputRuntimePath: commandOptions.outputRuntimePath,\n })\n : undefined;\n const bootstrapResult =\n commandOptions.bootstrapPath === undefined\n ? undefined\n : await embedMuonConfigInBootstrapFile({\n bootstrapPath: commandOptions.bootstrapPath,\n configPath,\n outputPath: commandOptions.outputBootstrap,\n });\n if (coreResult !== undefined && bootstrapResult !== undefined) {\n if (commandOptions.json === true) {\n console.log(\n JSON.stringify(\n {\n core: coreResult,\n bootstrap: bootstrapResult,\n },\n null,\n 2,\n ),\n );\n } else {\n console.log(`${coreResult.outputPath}\\n${bootstrapResult.outputPath}`);\n }\n return;\n }\n const result = coreResult ?? bootstrapResult;\n if (result === undefined) {\n throw new Error(\"No embed-config target was specified.\");\n }\n printEmbedConfigResult(result, commandOptions.json);\n};\n\nconst createCliCommand = (): Command => {\n const program = new Command();\n\n program\n .name(\"muon\")\n .description(\n \"Multi-platform GUI application framework that uses CEF as its backend\",\n )\n .version(`${version}-${git_commit_hash}`)\n .showSuggestionAfterError()\n .action(() => {\n program.outputHelp({ error: true });\n process.exitCode = 1;\n });\n\n program\n .command(\"build\")\n .description(\"Build CEF-free Muon app distribution directories\")\n .option(\n \"--target <target>\",\n \"target alias or comma-separated target aliases\",\n appendTargetValues,\n [],\n )\n .option(\"--all\", \"build all supported targets\")\n .option(\"--assets <path>\", \"asset root path\")\n .option(\"--config <path>\", \"muon config path\")\n .option(\"--out-dir <path>\", \"output root directory\")\n .option(\"--name <name>\", \"launcher file name\")\n .option(\"--json\", \"write result as JSON\")\n .action(async (options: BuildCommandOptions) => {\n await runBuildCommand(options);\n });\n\n program\n .command(\"init\")\n .description(\"Initialize Muon project helper files\")\n .action(async () => {\n await runInitCommand();\n });\n\n program\n .command(\"prepare\")\n .description(\"Prepare a Muon runtime with CEF files\")\n .requiredOption(\"--muon-path <path>\", \"Muon runtime file root\")\n .option(\"--cef-path <path>\", \"CEF file root\")\n .option(\"--stage-dir <path>\", \"prepared runtime output directory\")\n .option(\"--target <target>\", \"prepare target\")\n .option(\"--cache-dir <path>\", \"CEF artifact cache directory\")\n .option(\"--force\", \"rebuild an existing prepared runtime\")\n .option(\"-q, --quiet\", \"suppress native prepare progress messages\")\n .option(\"--json\", \"write result as JSON\")\n .action(async (options: PrepareCommandOptions) => {\n await runPrepareCommand(options);\n });\n\n program\n .command(\"embed-config\")\n .description(\"Embed muon.json into Muon runtime files\")\n .option(\"--runtime-path <path>\", \"prepared runtime directory\")\n .option(\"--core-path <path>\", \"muon-core executable path\")\n .option(\"--bootstrap-path <path>\", \"muon-bootstrap executable path\")\n .requiredOption(\"--config <path>\", \"muon config path\")\n .option(\"--output-runtime-path <path>\", \"patched runtime output directory\")\n .option(\"--output <path>\", \"patched muon-core output path\")\n .option(\"--output-bootstrap <path>\", \"patched bootstrap output path\")\n .option(\"--json\", \"write result as JSON\")\n .action(async (options: EmbedConfigCommandOptions) => {\n await runEmbedConfigCommand(options);\n });\n\n return program;\n};\n\nconst main = async (): Promise<void> => {\n try {\n await createCliCommand().parseAsync(process.argv);\n } catch (error) {\n console.error(error instanceof Error ? error.message : String(error));\n process.exitCode = 1;\n }\n};\n\nvoid main();\n"],"mappings":"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"}
package/dist/index.cjs CHANGED
@@ -1,9 +1,9 @@
1
1
  /*!
2
2
  * name: muon-ui
3
- * version: 0.2.0
3
+ * version: 0.3.0
4
4
  * description: A multi-platform GUI application framework that uses CEF as its backend
5
5
  * author: Kouji Matsui (@kekyo@mi.kekyo.net)
6
6
  * license: MIT
7
7
  * repository.url: https://github.com/kekyo/muon-ui.git
8
- * git.commit.hash: 6251ff88aafa8ae873657f39aed1ebba2fa329a4
8
+ * git.commit.hash: e3c2c87d50dddb0bf6c2b4d5ebf0a37ab2d3b433
9
9
  */
package/dist/index.mjs CHANGED
@@ -1,9 +1,9 @@
1
1
  /*!
2
2
  * name: muon-ui
3
- * version: 0.2.0
3
+ * version: 0.3.0
4
4
  * description: A multi-platform GUI application framework that uses CEF as its backend
5
5
  * author: Kouji Matsui (@kekyo@mi.kekyo.net)
6
6
  * license: MIT
7
7
  * repository.url: https://github.com/kekyo/muon-ui.git
8
- * git.commit.hash: 6251ff88aafa8ae873657f39aed1ebba2fa329a4
8
+ * git.commit.hash: e3c2c87d50dddb0bf6c2b4d5ebf0a37ab2d3b433
9
9
  */
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -264,3 +264,100 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
264
264
  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
265
265
  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
266
266
  SOFTWARE.
267
+
268
+ ## Noto color emoji
269
+
270
+ Source: https://github.com/googlefonts/noto-emoji/
271
+
272
+ Copyright 2013 Google LLC
273
+
274
+ This Font Software is licensed under the SIL Open Font License, Version 1.1.
275
+ This license is copied below, and is also available with a FAQ at:
276
+ https://scripts.sil.org/OFL
277
+
278
+ -----------------------------------------------------------
279
+ SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
280
+ -----------------------------------------------------------
281
+
282
+ PREAMBLE
283
+ The goals of the Open Font License (OFL) are to stimulate worldwide
284
+ development of collaborative font projects, to support the font creation
285
+ efforts of academic and linguistic communities, and to provide a free and
286
+ open framework in which fonts may be shared and improved in partnership
287
+ with others.
288
+
289
+ The OFL allows the licensed fonts to be used, studied, modified and
290
+ redistributed freely as long as they are not sold by themselves. The
291
+ fonts, including any derivative works, can be bundled, embedded,
292
+ redistributed and/or sold with any software provided that any reserved
293
+ names are not used by derivative works. The fonts and derivatives,
294
+ however, cannot be released under any other type of license. The
295
+ requirement for fonts to remain under this license does not apply
296
+ to any document created using the fonts or their derivatives.
297
+
298
+ DEFINITIONS
299
+ "Font Software" refers to the set of files released by the Copyright
300
+ Holder(s) under this license and clearly marked as such. This may
301
+ include source files, build scripts and documentation.
302
+
303
+ "Reserved Font Name" refers to any names specified as such after the
304
+ copyright statement(s).
305
+
306
+ "Original Version" refers to the collection of Font Software components as
307
+ distributed by the Copyright Holder(s).
308
+
309
+ "Modified Version" refers to any derivative made by adding to, deleting,
310
+ or substituting -- in part or in whole -- any of the components of the
311
+ Original Version, by changing formats or by porting the Font Software to a
312
+ new environment.
313
+
314
+ "Author" refers to any designer, engineer, programmer, technical
315
+ writer or other person who contributed to the Font Software.
316
+
317
+ PERMISSION & CONDITIONS
318
+ Permission is hereby granted, free of charge, to any person obtaining
319
+ a copy of the Font Software, to use, study, copy, merge, embed, modify,
320
+ redistribute, and sell modified and unmodified copies of the Font
321
+ Software, subject to the following conditions:
322
+
323
+ 1) Neither the Font Software nor any of its individual components,
324
+ in Original or Modified Versions, may be sold by itself.
325
+
326
+ 2) Original or Modified Versions of the Font Software may be bundled,
327
+ redistributed and/or sold with any software, provided that each copy
328
+ contains the above copyright notice and this license. These can be
329
+ included either as stand-alone text files, human-readable headers or
330
+ in the appropriate machine-readable metadata fields within text or
331
+ binary files as long as those fields can be easily viewed by the user.
332
+
333
+ 3) No Modified Version of the Font Software may use the Reserved Font
334
+ Name(s) unless explicit written permission is granted by the corresponding
335
+ Copyright Holder. This restriction only applies to the primary font name as
336
+ presented to the users.
337
+
338
+ 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
339
+ Software shall not be used to promote, endorse or advertise any
340
+ Modified Version, except to acknowledge the contribution(s) of the
341
+ Copyright Holder(s) and the Author(s) or with their explicit written
342
+ permission.
343
+
344
+ 5) The Font Software, modified or unmodified, in part or in whole,
345
+ must be distributed entirely under this license, and must not be
346
+ distributed under any other license. The requirement for fonts to
347
+ remain under this license does not apply to any document created
348
+ using the Font Software.
349
+
350
+ TERMINATION
351
+ This license becomes null and void if any of the above conditions are
352
+ not met.
353
+
354
+ DISCLAIMER
355
+ THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
356
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
357
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
358
+ OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
359
+ COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
360
+ INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
361
+ DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
362
+ FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
363
+ OTHER DEALINGS IN THE FONT SOFTWARE.
Binary file
Binary file
@@ -264,3 +264,100 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
264
264
  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
265
265
  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
266
266
  SOFTWARE.
267
+
268
+ ## Noto color emoji
269
+
270
+ Source: https://github.com/googlefonts/noto-emoji/
271
+
272
+ Copyright 2013 Google LLC
273
+
274
+ This Font Software is licensed under the SIL Open Font License, Version 1.1.
275
+ This license is copied below, and is also available with a FAQ at:
276
+ https://scripts.sil.org/OFL
277
+
278
+ -----------------------------------------------------------
279
+ SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
280
+ -----------------------------------------------------------
281
+
282
+ PREAMBLE
283
+ The goals of the Open Font License (OFL) are to stimulate worldwide
284
+ development of collaborative font projects, to support the font creation
285
+ efforts of academic and linguistic communities, and to provide a free and
286
+ open framework in which fonts may be shared and improved in partnership
287
+ with others.
288
+
289
+ The OFL allows the licensed fonts to be used, studied, modified and
290
+ redistributed freely as long as they are not sold by themselves. The
291
+ fonts, including any derivative works, can be bundled, embedded,
292
+ redistributed and/or sold with any software provided that any reserved
293
+ names are not used by derivative works. The fonts and derivatives,
294
+ however, cannot be released under any other type of license. The
295
+ requirement for fonts to remain under this license does not apply
296
+ to any document created using the fonts or their derivatives.
297
+
298
+ DEFINITIONS
299
+ "Font Software" refers to the set of files released by the Copyright
300
+ Holder(s) under this license and clearly marked as such. This may
301
+ include source files, build scripts and documentation.
302
+
303
+ "Reserved Font Name" refers to any names specified as such after the
304
+ copyright statement(s).
305
+
306
+ "Original Version" refers to the collection of Font Software components as
307
+ distributed by the Copyright Holder(s).
308
+
309
+ "Modified Version" refers to any derivative made by adding to, deleting,
310
+ or substituting -- in part or in whole -- any of the components of the
311
+ Original Version, by changing formats or by porting the Font Software to a
312
+ new environment.
313
+
314
+ "Author" refers to any designer, engineer, programmer, technical
315
+ writer or other person who contributed to the Font Software.
316
+
317
+ PERMISSION & CONDITIONS
318
+ Permission is hereby granted, free of charge, to any person obtaining
319
+ a copy of the Font Software, to use, study, copy, merge, embed, modify,
320
+ redistribute, and sell modified and unmodified copies of the Font
321
+ Software, subject to the following conditions:
322
+
323
+ 1) Neither the Font Software nor any of its individual components,
324
+ in Original or Modified Versions, may be sold by itself.
325
+
326
+ 2) Original or Modified Versions of the Font Software may be bundled,
327
+ redistributed and/or sold with any software, provided that each copy
328
+ contains the above copyright notice and this license. These can be
329
+ included either as stand-alone text files, human-readable headers or
330
+ in the appropriate machine-readable metadata fields within text or
331
+ binary files as long as those fields can be easily viewed by the user.
332
+
333
+ 3) No Modified Version of the Font Software may use the Reserved Font
334
+ Name(s) unless explicit written permission is granted by the corresponding
335
+ Copyright Holder. This restriction only applies to the primary font name as
336
+ presented to the users.
337
+
338
+ 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
339
+ Software shall not be used to promote, endorse or advertise any
340
+ Modified Version, except to acknowledge the contribution(s) of the
341
+ Copyright Holder(s) and the Author(s) or with their explicit written
342
+ permission.
343
+
344
+ 5) The Font Software, modified or unmodified, in part or in whole,
345
+ must be distributed entirely under this license, and must not be
346
+ distributed under any other license. The requirement for fonts to
347
+ remain under this license does not apply to any document created
348
+ using the Font Software.
349
+
350
+ TERMINATION
351
+ This license becomes null and void if any of the above conditions are
352
+ not met.
353
+
354
+ DISCLAIMER
355
+ THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
356
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
357
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
358
+ OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
359
+ COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
360
+ INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
361
+ DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
362
+ FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
363
+ OTHER DEALINGS IN THE FONT SOFTWARE.
Binary file
Binary file
@@ -264,3 +264,100 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
264
264
  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
265
265
  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
266
266
  SOFTWARE.
267
+
268
+ ## Noto color emoji
269
+
270
+ Source: https://github.com/googlefonts/noto-emoji/
271
+
272
+ Copyright 2013 Google LLC
273
+
274
+ This Font Software is licensed under the SIL Open Font License, Version 1.1.
275
+ This license is copied below, and is also available with a FAQ at:
276
+ https://scripts.sil.org/OFL
277
+
278
+ -----------------------------------------------------------
279
+ SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
280
+ -----------------------------------------------------------
281
+
282
+ PREAMBLE
283
+ The goals of the Open Font License (OFL) are to stimulate worldwide
284
+ development of collaborative font projects, to support the font creation
285
+ efforts of academic and linguistic communities, and to provide a free and
286
+ open framework in which fonts may be shared and improved in partnership
287
+ with others.
288
+
289
+ The OFL allows the licensed fonts to be used, studied, modified and
290
+ redistributed freely as long as they are not sold by themselves. The
291
+ fonts, including any derivative works, can be bundled, embedded,
292
+ redistributed and/or sold with any software provided that any reserved
293
+ names are not used by derivative works. The fonts and derivatives,
294
+ however, cannot be released under any other type of license. The
295
+ requirement for fonts to remain under this license does not apply
296
+ to any document created using the fonts or their derivatives.
297
+
298
+ DEFINITIONS
299
+ "Font Software" refers to the set of files released by the Copyright
300
+ Holder(s) under this license and clearly marked as such. This may
301
+ include source files, build scripts and documentation.
302
+
303
+ "Reserved Font Name" refers to any names specified as such after the
304
+ copyright statement(s).
305
+
306
+ "Original Version" refers to the collection of Font Software components as
307
+ distributed by the Copyright Holder(s).
308
+
309
+ "Modified Version" refers to any derivative made by adding to, deleting,
310
+ or substituting -- in part or in whole -- any of the components of the
311
+ Original Version, by changing formats or by porting the Font Software to a
312
+ new environment.
313
+
314
+ "Author" refers to any designer, engineer, programmer, technical
315
+ writer or other person who contributed to the Font Software.
316
+
317
+ PERMISSION & CONDITIONS
318
+ Permission is hereby granted, free of charge, to any person obtaining
319
+ a copy of the Font Software, to use, study, copy, merge, embed, modify,
320
+ redistribute, and sell modified and unmodified copies of the Font
321
+ Software, subject to the following conditions:
322
+
323
+ 1) Neither the Font Software nor any of its individual components,
324
+ in Original or Modified Versions, may be sold by itself.
325
+
326
+ 2) Original or Modified Versions of the Font Software may be bundled,
327
+ redistributed and/or sold with any software, provided that each copy
328
+ contains the above copyright notice and this license. These can be
329
+ included either as stand-alone text files, human-readable headers or
330
+ in the appropriate machine-readable metadata fields within text or
331
+ binary files as long as those fields can be easily viewed by the user.
332
+
333
+ 3) No Modified Version of the Font Software may use the Reserved Font
334
+ Name(s) unless explicit written permission is granted by the corresponding
335
+ Copyright Holder. This restriction only applies to the primary font name as
336
+ presented to the users.
337
+
338
+ 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
339
+ Software shall not be used to promote, endorse or advertise any
340
+ Modified Version, except to acknowledge the contribution(s) of the
341
+ Copyright Holder(s) and the Author(s) or with their explicit written
342
+ permission.
343
+
344
+ 5) The Font Software, modified or unmodified, in part or in whole,
345
+ must be distributed entirely under this license, and must not be
346
+ distributed under any other license. The requirement for fonts to
347
+ remain under this license does not apply to any document created
348
+ using the Font Software.
349
+
350
+ TERMINATION
351
+ This license becomes null and void if any of the above conditions are
352
+ not met.
353
+
354
+ DISCLAIMER
355
+ THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
356
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
357
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
358
+ OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
359
+ COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
360
+ INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
361
+ DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
362
+ FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
363
+ OTHER DEALINGS IN THE FONT SOFTWARE.
Binary file
@@ -264,3 +264,100 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
264
264
  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
265
265
  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
266
266
  SOFTWARE.
267
+
268
+ ## Noto color emoji
269
+
270
+ Source: https://github.com/googlefonts/noto-emoji/
271
+
272
+ Copyright 2013 Google LLC
273
+
274
+ This Font Software is licensed under the SIL Open Font License, Version 1.1.
275
+ This license is copied below, and is also available with a FAQ at:
276
+ https://scripts.sil.org/OFL
277
+
278
+ -----------------------------------------------------------
279
+ SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
280
+ -----------------------------------------------------------
281
+
282
+ PREAMBLE
283
+ The goals of the Open Font License (OFL) are to stimulate worldwide
284
+ development of collaborative font projects, to support the font creation
285
+ efforts of academic and linguistic communities, and to provide a free and
286
+ open framework in which fonts may be shared and improved in partnership
287
+ with others.
288
+
289
+ The OFL allows the licensed fonts to be used, studied, modified and
290
+ redistributed freely as long as they are not sold by themselves. The
291
+ fonts, including any derivative works, can be bundled, embedded,
292
+ redistributed and/or sold with any software provided that any reserved
293
+ names are not used by derivative works. The fonts and derivatives,
294
+ however, cannot be released under any other type of license. The
295
+ requirement for fonts to remain under this license does not apply
296
+ to any document created using the fonts or their derivatives.
297
+
298
+ DEFINITIONS
299
+ "Font Software" refers to the set of files released by the Copyright
300
+ Holder(s) under this license and clearly marked as such. This may
301
+ include source files, build scripts and documentation.
302
+
303
+ "Reserved Font Name" refers to any names specified as such after the
304
+ copyright statement(s).
305
+
306
+ "Original Version" refers to the collection of Font Software components as
307
+ distributed by the Copyright Holder(s).
308
+
309
+ "Modified Version" refers to any derivative made by adding to, deleting,
310
+ or substituting -- in part or in whole -- any of the components of the
311
+ Original Version, by changing formats or by porting the Font Software to a
312
+ new environment.
313
+
314
+ "Author" refers to any designer, engineer, programmer, technical
315
+ writer or other person who contributed to the Font Software.
316
+
317
+ PERMISSION & CONDITIONS
318
+ Permission is hereby granted, free of charge, to any person obtaining
319
+ a copy of the Font Software, to use, study, copy, merge, embed, modify,
320
+ redistribute, and sell modified and unmodified copies of the Font
321
+ Software, subject to the following conditions:
322
+
323
+ 1) Neither the Font Software nor any of its individual components,
324
+ in Original or Modified Versions, may be sold by itself.
325
+
326
+ 2) Original or Modified Versions of the Font Software may be bundled,
327
+ redistributed and/or sold with any software, provided that each copy
328
+ contains the above copyright notice and this license. These can be
329
+ included either as stand-alone text files, human-readable headers or
330
+ in the appropriate machine-readable metadata fields within text or
331
+ binary files as long as those fields can be easily viewed by the user.
332
+
333
+ 3) No Modified Version of the Font Software may use the Reserved Font
334
+ Name(s) unless explicit written permission is granted by the corresponding
335
+ Copyright Holder. This restriction only applies to the primary font name as
336
+ presented to the users.
337
+
338
+ 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
339
+ Software shall not be used to promote, endorse or advertise any
340
+ Modified Version, except to acknowledge the contribution(s) of the
341
+ Copyright Holder(s) and the Author(s) or with their explicit written
342
+ permission.
343
+
344
+ 5) The Font Software, modified or unmodified, in part or in whole,
345
+ must be distributed entirely under this license, and must not be
346
+ distributed under any other license. The requirement for fonts to
347
+ remain under this license does not apply to any document created
348
+ using the Font Software.
349
+
350
+ TERMINATION
351
+ This license becomes null and void if any of the above conditions are
352
+ not met.
353
+
354
+ DISCLAIMER
355
+ THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
356
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
357
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
358
+ OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
359
+ COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
360
+ INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
361
+ DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
362
+ FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
363
+ OTHER DEALINGS IN THE FONT SOFTWARE.
@@ -264,3 +264,100 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
264
264
  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
265
265
  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
266
266
  SOFTWARE.
267
+
268
+ ## Noto color emoji
269
+
270
+ Source: https://github.com/googlefonts/noto-emoji/
271
+
272
+ Copyright 2013 Google LLC
273
+
274
+ This Font Software is licensed under the SIL Open Font License, Version 1.1.
275
+ This license is copied below, and is also available with a FAQ at:
276
+ https://scripts.sil.org/OFL
277
+
278
+ -----------------------------------------------------------
279
+ SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
280
+ -----------------------------------------------------------
281
+
282
+ PREAMBLE
283
+ The goals of the Open Font License (OFL) are to stimulate worldwide
284
+ development of collaborative font projects, to support the font creation
285
+ efforts of academic and linguistic communities, and to provide a free and
286
+ open framework in which fonts may be shared and improved in partnership
287
+ with others.
288
+
289
+ The OFL allows the licensed fonts to be used, studied, modified and
290
+ redistributed freely as long as they are not sold by themselves. The
291
+ fonts, including any derivative works, can be bundled, embedded,
292
+ redistributed and/or sold with any software provided that any reserved
293
+ names are not used by derivative works. The fonts and derivatives,
294
+ however, cannot be released under any other type of license. The
295
+ requirement for fonts to remain under this license does not apply
296
+ to any document created using the fonts or their derivatives.
297
+
298
+ DEFINITIONS
299
+ "Font Software" refers to the set of files released by the Copyright
300
+ Holder(s) under this license and clearly marked as such. This may
301
+ include source files, build scripts and documentation.
302
+
303
+ "Reserved Font Name" refers to any names specified as such after the
304
+ copyright statement(s).
305
+
306
+ "Original Version" refers to the collection of Font Software components as
307
+ distributed by the Copyright Holder(s).
308
+
309
+ "Modified Version" refers to any derivative made by adding to, deleting,
310
+ or substituting -- in part or in whole -- any of the components of the
311
+ Original Version, by changing formats or by porting the Font Software to a
312
+ new environment.
313
+
314
+ "Author" refers to any designer, engineer, programmer, technical
315
+ writer or other person who contributed to the Font Software.
316
+
317
+ PERMISSION & CONDITIONS
318
+ Permission is hereby granted, free of charge, to any person obtaining
319
+ a copy of the Font Software, to use, study, copy, merge, embed, modify,
320
+ redistribute, and sell modified and unmodified copies of the Font
321
+ Software, subject to the following conditions:
322
+
323
+ 1) Neither the Font Software nor any of its individual components,
324
+ in Original or Modified Versions, may be sold by itself.
325
+
326
+ 2) Original or Modified Versions of the Font Software may be bundled,
327
+ redistributed and/or sold with any software, provided that each copy
328
+ contains the above copyright notice and this license. These can be
329
+ included either as stand-alone text files, human-readable headers or
330
+ in the appropriate machine-readable metadata fields within text or
331
+ binary files as long as those fields can be easily viewed by the user.
332
+
333
+ 3) No Modified Version of the Font Software may use the Reserved Font
334
+ Name(s) unless explicit written permission is granted by the corresponding
335
+ Copyright Holder. This restriction only applies to the primary font name as
336
+ presented to the users.
337
+
338
+ 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
339
+ Software shall not be used to promote, endorse or advertise any
340
+ Modified Version, except to acknowledge the contribution(s) of the
341
+ Copyright Holder(s) and the Author(s) or with their explicit written
342
+ permission.
343
+
344
+ 5) The Font Software, modified or unmodified, in part or in whole,
345
+ must be distributed entirely under this license, and must not be
346
+ distributed under any other license. The requirement for fonts to
347
+ remain under this license does not apply to any document created
348
+ using the Font Software.
349
+
350
+ TERMINATION
351
+ This license becomes null and void if any of the above conditions are
352
+ not met.
353
+
354
+ DISCLAIMER
355
+ THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
356
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
357
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
358
+ OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
359
+ COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
360
+ INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
361
+ DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
362
+ FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
363
+ OTHER DEALINGS IN THE FONT SOFTWARE.