@zenuml/core 4.4.1 → 4.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +46 -0
- package/dist/cli/assets/Arch_AWS-Elastic-Beanstalk_16-BQhSFqRk.mjs +4 -0
- package/dist/cli/assets/Arch_Amazon-Cognito_16-BGlE6NnW.mjs +4 -0
- package/dist/cli/assets/Arch_Amazon-Kinesis_16-C_nCVk3q.mjs +4 -0
- package/dist/cli/assets/Arch_Amazon-Lightsail_16-Caj6kl2R.mjs +4 -0
- package/dist/cli/assets/Arch_Amazon-SageMaker_16-DrLi5pZN.mjs +4 -0
- package/dist/cli/assets/CloudIcons-qEDx5IlS.mjs +1500 -0
- package/dist/cli/zenuml.mjs +114 -37
- package/dist/fonts/IBM-Plex-LICENSE.txt +93 -0
- package/dist/fonts/IBMPlexSans-Regular-Latin1.woff2 +0 -0
- package/dist/fonts/MS-Sans-Serif-NOTICE.txt +11 -0
- package/dist/fonts/MS-Sans-Serif.ttf +0 -0
- package/dist/zenuml.esm.mjs +4762 -4647
- package/dist/zenuml.js +496 -496
- package/package.json +3 -2
- package/types/index.d.ts +46 -0
package/dist/cli/zenuml.mjs
CHANGED
|
@@ -2158,7 +2158,7 @@ class sequenceParser extends antlr4.Parser {
|
|
|
2158
2158
|
|
|
2159
2159
|
|
|
2160
2160
|
group() {
|
|
2161
|
-
let localctx = new GroupContext(this, this._ctx, this.state);
|
|
2161
|
+
let localctx = new GroupContext$1(this, this._ctx, this.state);
|
|
2162
2162
|
this.enterRule(localctx, 6, sequenceParser.RULE_group);
|
|
2163
2163
|
var _la = 0; // Token type
|
|
2164
2164
|
try {
|
|
@@ -5224,9 +5224,9 @@ class HeadContext extends antlr4.ParserRuleContext {
|
|
|
5224
5224
|
i = null;
|
|
5225
5225
|
}
|
|
5226
5226
|
if(i===null) {
|
|
5227
|
-
return this.getTypedRuleContexts(GroupContext);
|
|
5227
|
+
return this.getTypedRuleContexts(GroupContext$1);
|
|
5228
5228
|
} else {
|
|
5229
|
-
return this.getTypedRuleContext(GroupContext,i);
|
|
5229
|
+
return this.getTypedRuleContext(GroupContext$1,i);
|
|
5230
5230
|
}
|
|
5231
5231
|
};
|
|
5232
5232
|
|
|
@@ -5262,7 +5262,7 @@ class HeadContext extends antlr4.ParserRuleContext {
|
|
|
5262
5262
|
|
|
5263
5263
|
|
|
5264
5264
|
|
|
5265
|
-
class GroupContext extends antlr4.ParserRuleContext {
|
|
5265
|
+
let GroupContext$1 = class GroupContext extends antlr4.ParserRuleContext {
|
|
5266
5266
|
|
|
5267
5267
|
constructor(parser, parent, invokingState) {
|
|
5268
5268
|
if(parent===undefined) {
|
|
@@ -5316,7 +5316,7 @@ class GroupContext extends antlr4.ParserRuleContext {
|
|
|
5316
5316
|
}
|
|
5317
5317
|
|
|
5318
5318
|
|
|
5319
|
-
}
|
|
5319
|
+
};
|
|
5320
5320
|
|
|
5321
5321
|
|
|
5322
5322
|
|
|
@@ -8702,7 +8702,7 @@ class TextExprContext extends antlr4.ParserRuleContext {
|
|
|
8702
8702
|
sequenceParser.ProgContext = ProgContext$3;
|
|
8703
8703
|
sequenceParser.TitleContext = TitleContext$1;
|
|
8704
8704
|
sequenceParser.HeadContext = HeadContext;
|
|
8705
|
-
sequenceParser.GroupContext = GroupContext;
|
|
8705
|
+
sequenceParser.GroupContext = GroupContext$1;
|
|
8706
8706
|
sequenceParser.StarterExpContext = StarterExpContext;
|
|
8707
8707
|
sequenceParser.StarterContext = StarterContext;
|
|
8708
8708
|
sequenceParser.ParticipantContext = ParticipantContext;
|
|
@@ -9691,7 +9691,7 @@ function validate(code) {
|
|
|
9691
9691
|
|
|
9692
9692
|
sequenceParser.ProgContext;
|
|
9693
9693
|
const RootContext = rootContext;
|
|
9694
|
-
sequenceParser.GroupContext;
|
|
9694
|
+
const GroupContext = sequenceParser.GroupContext;
|
|
9695
9695
|
sequenceParser.ParticipantContext;
|
|
9696
9696
|
const Participants = function (ctx) {
|
|
9697
9697
|
const toCollector = ToCollector;
|
|
@@ -10960,6 +10960,7 @@ const IBM_PLEX_SANS_FAMILY = "IBM Plex Sans";
|
|
|
10960
10960
|
const DIAGRAM_FONT_STACK = `"${IBM_PLEX_SANS_FAMILY}", Helvetica, Verdana, serif`;
|
|
10961
10961
|
const IBM_PLEX_SANS_400_WOFF2_BASE64 = "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";
|
|
10962
10962
|
const IBM_PLEX_SANS_400_DATA_URI = `data:font/woff2;base64,${IBM_PLEX_SANS_400_WOFF2_BASE64}`;
|
|
10963
|
+
const IBM_PLEX_SANS_FONT_FACE_CSS = `@font-face { font-family: "${IBM_PLEX_SANS_FAMILY}"; font-weight: 400; font-style: normal; src: url(${IBM_PLEX_SANS_400_DATA_URI}) format("woff2"); }`;
|
|
10963
10964
|
|
|
10964
10965
|
const FONT_FAMILY = DIAGRAM_FONT_STACK;
|
|
10965
10966
|
const FONT_SIZE_PARTICIPANT = "14px";
|
|
@@ -11334,21 +11335,19 @@ function buildLifelines(participants, diagramHeight) {
|
|
|
11334
11335
|
dashed: true
|
|
11335
11336
|
}));
|
|
11336
11337
|
}
|
|
11337
|
-
function
|
|
11338
|
+
function collectGroupSpecs(head) {
|
|
11339
|
+
return (head?.children ?? []).filter((c) => c instanceof GroupContext).map((g) => ({
|
|
11340
|
+
// getFormattedText is installed on every context in src/parser/index.js
|
|
11341
|
+
name: g.name()?.getFormattedText() ?? "",
|
|
11342
|
+
participantNames: Participants(g).Array().map((e) => e.name)
|
|
11343
|
+
}));
|
|
11344
|
+
}
|
|
11345
|
+
function buildGroups(participants, diagramHeight, groupSpecs) {
|
|
11338
11346
|
const GROUP_OUTLINE_MARGIN = -2;
|
|
11339
|
-
const
|
|
11340
|
-
for (const p of participants) {
|
|
11341
|
-
if (p.groupId != null) {
|
|
11342
|
-
const existing = groupMap.get(p.groupId);
|
|
11343
|
-
if (existing) {
|
|
11344
|
-
existing.push(p);
|
|
11345
|
-
} else {
|
|
11346
|
-
groupMap.set(p.groupId, [p]);
|
|
11347
|
-
}
|
|
11348
|
-
}
|
|
11349
|
-
}
|
|
11347
|
+
const byName = new Map(participants.map((p) => [p.name, p]));
|
|
11350
11348
|
const groups = [];
|
|
11351
|
-
for (const
|
|
11349
|
+
for (const spec of groupSpecs) {
|
|
11350
|
+
const members = spec.participantNames.map((n) => byName.get(n)).filter((p) => p !== void 0);
|
|
11352
11351
|
if (members.length === 0) continue;
|
|
11353
11352
|
let minLeft = Infinity;
|
|
11354
11353
|
let maxRight = -Infinity;
|
|
@@ -11365,7 +11364,7 @@ function buildGroups(participants, diagramHeight) {
|
|
|
11365
11364
|
const y = minY - 20 + 1.5;
|
|
11366
11365
|
const height = Math.max(0, diagramHeight - y + 13);
|
|
11367
11366
|
groups.push({
|
|
11368
|
-
name:
|
|
11367
|
+
name: spec.name,
|
|
11369
11368
|
x,
|
|
11370
11369
|
y,
|
|
11371
11370
|
width,
|
|
@@ -12572,7 +12571,11 @@ function buildGeometry(input) {
|
|
|
12572
12571
|
inner.x + inner.width - frameBorder.right
|
|
12573
12572
|
);
|
|
12574
12573
|
}
|
|
12575
|
-
const groups = buildGroups(
|
|
12574
|
+
const groups = buildGroups(
|
|
12575
|
+
participants,
|
|
12576
|
+
diagramHeight,
|
|
12577
|
+
collectGroupSpecs(rootContext?.head?.())
|
|
12578
|
+
);
|
|
12576
12579
|
return {
|
|
12577
12580
|
width: diagramWidth,
|
|
12578
12581
|
height: diagramHeight,
|
|
@@ -12595,25 +12598,76 @@ function buildGeometry(input) {
|
|
|
12595
12598
|
|
|
12596
12599
|
const ActorSvg = "<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <g>\n <path d=\"M15.5489 4.19771C15.5489 5.18773 15.1485 6.13721 14.4358 6.83726C13.7231 7.53731 12.7565 7.93058 11.7486 7.93058C10.7407 7.93058 9.77403 7.53731 9.06133 6.83726C8.34863 6.13721 7.94824 5.18773 7.94824 4.19771C7.94824 3.20768 8.34863 2.25822 9.06133 1.55818C9.77403 0.858126 10.7407 0.464844 11.7486 0.464844C12.7565 0.464844 13.7231 0.858126 14.4358 1.55818C15.1485 2.25822 15.5489 3.20768 15.5489 4.19771Z\" stroke=\"currentColor\"/>\n <path d=\"M6.54883 11.2152L17.2025 11.2073M11.7471 8.06641V19.5806V8.06641ZM11.7471 19.4385L6.79789 23.5738L11.7471 19.4385ZM11.7551 19.4385L17.1864 23.3055L11.7551 19.4385Z\" stroke=\"currentColor\"/>\n </g>\n</svg>\n";
|
|
12597
12600
|
|
|
12601
|
+
const actor = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
|
|
12602
|
+
__proto__: null,
|
|
12603
|
+
default: ActorSvg
|
|
12604
|
+
}, Symbol.toStringTag, { value: 'Module' }));
|
|
12605
|
+
|
|
12598
12606
|
const BoundarySvg = "<svg width=\"101\" height=\"78\" viewBox=\"0 0 101 78\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n\t<path d=\"M96.3563 39.4479C96.3563 48.4904 92.6755 57.1625 86.1237 63.5566C79.5718 69.9506 70.6856 73.5427 61.4199 73.5427C52.1541 73.5427 43.2679 69.9506 36.7161 63.5566C30.1642 57.1625 26.4834 48.4904 26.4834 39.4479C26.4834 30.147 30.1642 21.2271 36.7161 14.6504C43.2679 8.07366 52.1541 4.37891 61.4199 4.37891C70.6856 4.37891 79.5718 8.07366 86.1237 14.6504C92.6755 21.2271 96.3563 30.147 96.3563 39.4479V39.4479Z\" stroke=\"currentColor\" stroke-width=\"4.2083\"/>\n\t<path d=\"M27.3611 39.4482H3.93945\" stroke=\"currentColor\" stroke-width=\"4.2083\"/>\n\t<path d=\"M4.91504 4.37891V74.5168\" stroke=\"currentColor\" stroke-width=\"4.2083\"/>\n</svg>\n";
|
|
12599
12607
|
|
|
12608
|
+
const Robustness_Diagram_Boundary = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
|
|
12609
|
+
__proto__: null,
|
|
12610
|
+
default: BoundarySvg
|
|
12611
|
+
}, Symbol.toStringTag, { value: 'Module' }));
|
|
12612
|
+
|
|
12600
12613
|
const ControlSvg = "<svg width=\"77\" height=\"86\" viewBox=\"0 0 77 86\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n\t<g>\n\t\t<path d=\"M74.0149 46.8888C74.0149 51.5755 73.0918 56.2163 71.2983 60.5463C69.5048 64.8762 66.876 68.8105 63.562 72.1245C60.248 75.4385 56.3137 78.0673 51.9838 79.8608C47.6538 81.6543 43.013 82.5774 38.3263 82.5774C33.6396 82.5774 28.9988 81.6543 24.6689 79.8608C20.3389 78.0673 16.4046 75.4385 13.0907 72.1245C9.77666 68.8105 7.14785 64.8762 5.35433 60.5463C3.56081 56.2163 2.6377 51.5755 2.6377 46.8888C2.6377 42.2021 3.56081 37.5613 5.35433 33.2314C7.14785 28.9014 9.77666 24.9671 13.0907 21.6532C16.4046 18.3392 20.3389 15.7104 24.6689 13.9168C28.9988 12.1233 33.6396 11.2002 38.3263 11.2002C43.013 11.2002 47.6538 12.1233 51.9838 13.9168C56.3137 15.7104 60.248 18.3392 63.562 21.6532C66.876 24.9671 69.5048 28.9014 71.2983 33.2314C73.0918 37.5613 74.0149 42.2021 74.0149 46.8888V46.8888Z\" stroke=\"currentColor\" stroke-width=\"3.5833\"/>\n\t\t<path d=\"M47.5352 2.30371L37.5352 11.5001L47.5352 20.6966\" stroke=\"currentColor\" stroke-width=\"3.5833\"/>\n\t</g>\n</svg>\n";
|
|
12601
12614
|
|
|
12615
|
+
const Robustness_Diagram_Control = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
|
|
12616
|
+
__proto__: null,
|
|
12617
|
+
default: ControlSvg
|
|
12618
|
+
}, Symbol.toStringTag, { value: 'Module' }));
|
|
12619
|
+
|
|
12602
12620
|
const DatabaseSvg = "<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <ellipse cx=\"12\" cy=\"4.5\" rx=\"9.75\" ry=\"2.75\" stroke=\"currentColor\" stroke-width=\"1\"/>\n <path d=\"M2.25 4.5v15a9.75 2.75 0 0 0 19.5 0v-15\" stroke=\"currentColor\" stroke-width=\"1\"/>\n <path d=\"M2.25 9.5a9.75 2.75 0 0 0 19.5 0\" stroke=\"currentColor\" stroke-width=\"1\"/>\n <path d=\"M2.25 14.5a9.75 2.75 0 0 0 19.5 0\" stroke=\"currentColor\" stroke-width=\"1\"/>\n</svg>\n";
|
|
12603
12621
|
|
|
12622
|
+
const database = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
|
|
12623
|
+
__proto__: null,
|
|
12624
|
+
default: DatabaseSvg
|
|
12625
|
+
}, Symbol.toStringTag, { value: 'Module' }));
|
|
12626
|
+
|
|
12604
12627
|
const EntitySvg = "<svg width=\"77\" height=\"80\" viewBox=\"0 0 77 80\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n\t<g>\n\t\t<path d=\"M74.0149 38.8888C74.0149 43.5755 73.0918 48.2163 71.2983 52.5463C69.5048 56.8762 66.876 60.8105 63.562 64.1245C60.248 67.4385 56.3137 70.0673 51.9838 71.8608C47.6538 73.6543 43.013 74.5774 38.3263 74.5774C33.6396 74.5774 28.9988 73.6543 24.6689 71.8608C20.3389 70.0673 16.4046 67.4385 13.0907 64.1245C9.77666 60.8105 7.14785 56.8762 5.35433 52.5463C3.56081 48.2163 2.6377 43.5755 2.6377 38.8888C2.6377 34.2021 3.56081 29.5613 5.35433 25.2314C7.14785 20.9014 9.77666 16.9671 13.0907 13.6532C16.4046 10.3392 20.3389 7.71035 24.6689 5.91683C28.9988 4.12331 33.6396 3.2002 38.3263 3.2002C43.013 3.2002 47.6538 4.12331 51.9838 5.91683C56.3137 7.71035 60.248 10.3392 63.562 13.6532C66.876 16.9671 69.5048 20.9014 71.2983 25.2314C73.0918 29.5613 74.0149 34.2021 74.0149 38.8888V38.8888Z\" stroke=\"currentColor\" stroke-width=\"3.3333\"/>\n\t\t<path d=\"M2.69922 75.4727L75.6992 75.5154\" stroke=\"currentColor\" stroke-width=\"3.3333\"/>\n\t</g>\n</svg>\n";
|
|
12605
12628
|
|
|
12606
|
-
const
|
|
12629
|
+
const Robustness_Diagram_Entity = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
|
|
12630
|
+
__proto__: null,
|
|
12631
|
+
default: EntitySvg
|
|
12632
|
+
}, Symbol.toStringTag, { value: 'Module' }));
|
|
12633
|
+
|
|
12634
|
+
const icon_374 = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg width=\"48px\" height=\"48px\" viewBox=\"0 0 48 48\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n <title>Icon-Resource/Compute/Res_Amazon-EC2_Instance_48</title>\n <g id=\"Icon-Resource/Compute/Res_Amazon-EC2_Instance_48\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n <path d=\"M9,39 L39,39 L39,9 L9,9 L9,39 Z M46,13 L46,11 L41,11 L41,8 C41,7.448 40.552,7 40,7 L37,7 L37,2 L35,2 L35,7 L31,7 L31,2 L29,2 L29,7 L25,7 L25,2 L23,2 L23,7 L19,7 L19,2 L17,2 L17,7 L13,7 L13,2 L11,2 L11,7 L8,7 C7.447,7 7,7.448 7,8 L7,11 L2,11 L2,13 L7,13 L7,17 L2,17 L2,19 L7,19 L7,23 L2,23 L2,25 L7,25 L7,29 L2,29 L2,31 L7,31 L7,35 L2,35 L2,37 L7,37 L7,40 C7,40.553 7.447,41 8,41 L11,41 L11,46 L13,46 L13,41 L17,41 L17,46 L19,46 L19,41 L23,41 L23,46 L25,46 L25,41 L29,41 L29,46 L31,46 L31,41 L35,41 L35,46 L37,46 L37,41 L40,41 C40.552,41 41,40.553 41,40 L41,37 L46,37 L46,35 L41,35 L41,31 L46,31 L46,29 L41,29 L41,25 L46,25 L46,23 L41,23 L41,19 L46,19 L46,17 L41,17 L41,13 L46,13 Z\" id=\"Amazon-EC2-Instance_Resource-Icon_light-bg\" fill=\"#ED7100\"></path>\n </g>\n</svg>\n";
|
|
12607
12635
|
|
|
12608
|
-
const
|
|
12636
|
+
const icon_160 = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg width=\"48px\" height=\"48px\" viewBox=\"0 0 48 48\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n <title>Icon-Resource/Security-Identity-and-Compliance/Res_AWS-Identity-Access-Management_IAM-Access-Analyzer_48</title>\n <g id=\"Icon-Resource/Security-Identity-and-Compliance/Res_AWS-Identity-Access-Management_IAM-Access-Analyzer_48\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n <path d=\"M15,25.001 L19,25.001 L19,23.001 L15,23.001 L15,25.001 Z M4,27.001 L11,27.001 L11,20.001 L4,20.001 L4,27.001 Z M12,29.001 L3,29.001 C2.448,29.001 2,28.553 2,28.001 L2,19.001 C2,18.448 2.448,18.001 3,18.001 L12,18.001 C12.552,18.001 13,18.448 13,19.001 L13,28.001 C13,28.553 12.552,29.001 12,29.001 L12,29.001 Z M43.2,27.001 L40,21.891 L36.8,27.001 L43.2,27.001 Z M45.87,28.481 C45.696,28.799 45.362,28.998 45,29.0010017 L35,29.0010017 C34.448,29.002 33.999,28.555 33.9979861,28.003 C33.997,27.815 34.05,27.631 34.149,27.471 L39.149,19.471 C39.44,19.001 40.058,18.857 40.526,19.148 C40.658,19.229 40.769,19.34 40.851,19.471 L45.851,27.471 C46.038,27.779 46.046,28.165 45.87,28.481 L45.87,28.481 Z M43,41.001 C43,39.344 41.657,38.001 40,38.001 C38.343,38.001 37,39.344 37,41.001 C37,42.658 38.343,44.001 40,44.001 C41.657,44.001 43,42.658 43,41.001 L43,41.001 Z M45,41.001 C45.003,43.762 42.767,46.003 40.005,46.0060018 C37.625,46.008 35.573,44.333 35.101,42.001 L7,42.001 C6.448,42.001 6,41.553 6,41.001 L6,31.001 L8,31.001 L8,40.001 L35.101,40.001 C35.649,37.295 38.288,35.546 40.995,36.096 C43.327,36.569 45.003,38.621 45,41.001 L45,41.001 Z M22,25.001 L26,25.001 L26,23.001 L22,23.001 L22,25.001 Z M37,7.001 C37,8.658 38.343,10.001 40,10.001 C41.657,10.001 43,8.658 43,7.001 C43,5.344 41.657,4.001 40,4.001 C38.343,4.001 37,5.344 37,7.001 L37,7.001 Z M8,16.001 L6,16.001 L6,7.001 C6,6.448 6.448,6.001 7,6.001 L35.101,6.001 C35.652,3.295 38.294,1.55 40.999,2.102 C43.704,2.654 45.45,5.295 44.897,8.001 C44.346,10.706 41.704,12.452 38.999,11.9 C37.035,11.499 35.501,9.965 35.101,8.001 L8,8.001 L8,16.001 Z M29,25.001 L33,25.001 L33,23.001 L29,23.001 L29,25.001 Z\" id=\"AWS-Identity-and-Access-Management_AWS-IAM-Access-Analyzer_Resource-Icon_light-bg\" fill=\"#DD344C\"></path>\n </g>\n</svg>";
|
|
12609
12637
|
|
|
12610
|
-
const
|
|
12638
|
+
const icon_372 = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg width=\"48px\" height=\"48px\" viewBox=\"0 0 48 48\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n <title>Icon-Resource/Compute/Res_AWS-Lambda_Lambda-Function_48</title>\n <g id=\"Icon-Resource/Compute/Res_AWS-Lambda_Lambda-Function_48\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n <path d=\"M24,44 C12.972,44 4,35.028 4,24 C4,12.972 12.972,4 24,4 C35.028,4 44,12.972 44,24 C44,35.028 35.028,44 24,44 L24,44 Z M24,2 C11.869,2 2,11.869 2,24 C2,36.131 11.869,46 24,46 C36.131,46 46,36.131 46,24 C46,11.869 36.131,2 24,2 L24,2 Z M17.231,35.25 L11.876,35.25 L18.221,21.959 L20.902,27.492 L17.231,35.25 Z M19.114,19.215 C18.946,18.87 18.597,18.651 18.214,18.651 L18.211,18.651 C17.826,18.652 17.477,18.874 17.312,19.221 L9.389,35.819 C9.24,36.129 9.262,36.493 9.445,36.783 C9.628,37.074 9.947,37.25 10.291,37.25 L17.864,37.25 C18.251,37.25 18.603,37.027 18.769,36.678 L22.915,27.915 C23.044,27.642 23.043,27.323 22.911,27.051 L19.114,19.215 Z M36.125,35.25 L30.673,35.25 L20.761,13.953 C20.597,13.601 20.243,13.375 19.854,13.375 L16.251,13.375 L16.255,9.25 L23.475,9.25 L33.339,30.545 C33.503,30.898 33.856,31.125 34.246,31.125 L36.125,31.125 L36.125,35.25 Z M37.125,29.125 L34.885,29.125 L25.021,7.83 C24.856,7.477 24.503,7.25 24.113,7.25 L15.256,7.25 C14.704,7.25 14.257,7.697 14.256,8.249 L14.25,14.374 C14.25,14.64 14.355,14.894 14.543,15.082 C14.73,15.27 14.984,15.375 15.25,15.375 L19.217,15.375 L29.129,36.672 C29.293,37.024 29.646,37.25 30.035,37.25 L37.125,37.25 C37.678,37.25 38.125,36.803 38.125,36.25 L38.125,30.125 C38.125,29.572 37.678,29.125 37.125,29.125 L37.125,29.125 Z\" id=\"Amazon-Lambda-Lambda-Function_Resource-Icon_light-bg\" fill=\"#ED7100\"></path>\n </g>\n</svg>\n";
|
|
12611
12639
|
|
|
12612
|
-
const
|
|
12640
|
+
const icon_185 = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg width=\"48px\" height=\"48px\" viewBox=\"0 0 48 48\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n <title>Icon-Resource/Application-Integration/Res_Amazon-Simple-Notification-Service_Topic_48</title>\n <g id=\"Icon-Resource/Application-Integration/Res_Amazon-Simple-Notification-Service_Topic_48\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n <path d=\"M44,38.5 L46,38.5 L46,36.5 L44,36.5 L44,38.5 Z M46,33 L46,34.5 L44,34.5 L44,34 L43.5,34 L43.5,32 L45,32 C45.553,32 46,32.447 46,33 L46,33 Z M13.5,34 L16.5,34 L16.5,32 L13.5,32 L13.5,34 Z M37.5,34 L40.5,34 L40.5,32 L37.5,32 L37.5,34 Z M19.5,34 L22.5,34 L22.5,32 L19.5,32 L19.5,34 Z M7.5,34 L10.5,34 L10.5,32 L7.5,32 L7.5,34 Z M31.5,34 L34.5,34 L34.5,32 L31.5,32 L31.5,34 Z M25.5,34 L28.5,34 L28.5,32 L25.5,32 L25.5,34 Z M3,32 L4.5,32 L4.5,34 L4,34 L4,34.5 L2,34.5 L2,33 C2,32.447 2.447,32 3,32 L3,32 Z M2,38.5 L4,38.5 L4,36.5 L2,36.5 L2,38.5 Z M4,41 L4.5,41 L4.5,43 L3,43 C2.447,43 2,42.553 2,42 L2,40.5 L4,40.5 L4,41 Z M19.5,43 L22.5,43 L22.5,41 L19.5,41 L19.5,43 Z M31.5,43 L34.5,43 L34.5,41 L31.5,41 L31.5,43 Z M37.5,43 L40.5,43 L40.5,41 L37.5,41 L37.5,43 Z M7.5,43 L10.5,43 L10.5,41 L7.5,41 L7.5,43 Z M25.5,43 L28.5,43 L28.5,41 L25.5,41 L25.5,43 Z M13.5,43 L16.5,43 L16.5,41 L13.5,41 L13.5,43 Z M44,40.5 L46,40.5 L46,42 C46,42.553 45.553,43 45,43 L43.5,43 L43.5,41 L44,41 L44,40.5 Z M44,25.5 L46,25.5 L46,23.5 L44,23.5 L44,25.5 Z M46,20 L46,21.5 L44,21.5 L44,21 L43.5,21 L43.5,19 L45,19 C45.553,19 46,19.447 46,20 L46,20 Z M31.5,21 L34.5,21 L34.5,19 L31.5,19 L31.5,21 Z M7.5,21 L10.5,21 L10.5,19 L7.5,19 L7.5,21 Z M37.5,21 L40.5,21 L40.5,19 L37.5,19 L37.5,21 Z M13.5,21 L16.5,21 L16.5,19 L13.5,19 L13.5,21 Z M19.5,21 L22.5,21 L22.5,19 L19.5,19 L19.5,21 Z M25.5,21 L28.5,21 L28.5,19 L25.5,19 L25.5,21 Z M3,19 L4.5,19 L4.5,21 L4,21 L4,21.5 L2,21.5 L2,20 C2,19.447 2.447,19 3,19 L3,19 Z M2,25.5 L4,25.5 L4,23.5 L2,23.5 L2,25.5 Z M4,28 L4.5,28 L4.5,30 L3,30 C2.447,30 2,29.553 2,29 L2,27.5 L4,27.5 L4,28 Z M19.5,30 L22.5,30 L22.5,28 L19.5,28 L19.5,30 Z M31.5,30 L34.5,30 L34.5,28 L31.5,28 L31.5,30 Z M7.5,30 L10.5,30 L10.5,28 L7.5,28 L7.5,30 Z M13.5,30 L16.5,30 L16.5,28 L13.5,28 L13.5,30 Z M37.5,30 L40.5,30 L40.5,28 L37.5,28 L37.5,30 Z M25.5,30 L28.5,30 L28.5,28 L25.5,28 L25.5,30 Z M44,27.5 L46,27.5 L46,29 C46,29.553 45.553,30 45,30 L43.5,30 L43.5,28 L44,28 L44,27.5 Z M4,15 L44,15 L44,7 L4,7 L4,15 Z M45,5 L3,5 C2.447,5 2,5.447 2,6 L2,16 C2,16.553 2.447,17 3,17 L45,17 C45.553,17 46,16.553 46,16 L46,6 C46,5.447 45.553,5 45,5 L45,5 Z\" id=\"Amazon-Simple-Notification-Service_Topic_Resource-Icon_light-bg\" fill=\"#E7157B\"></path>\n </g>\n</svg>";
|
|
12613
12641
|
|
|
12614
|
-
const
|
|
12642
|
+
const icon_181 = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg width=\"48px\" height=\"48px\" viewBox=\"0 0 48 48\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n <title>Icon-Resource/Application-Integration/Res_Amazon-Simple-Queue-Service_Queue_48</title>\n <g id=\"Icon-Resource/Application-Integration/Res_Amazon-Simple-Queue-Service_Queue_48\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n <path d=\"M37.449,22.261 L37.449,26.221 L35.026,24.207 L37.449,22.261 Z M37.81,29.121 C37.993,29.273 38.22,29.352 38.449,29.352 C38.594,29.352 38.738,29.321 38.874,29.257 C39.224,29.092 39.449,28.74 39.449,28.352 L39.449,20.176 C39.449,19.791 39.228,19.441 38.882,19.275 C38.535,19.108 38.123,19.156 37.823,19.397 L32.819,23.414 C32.585,23.602 32.448,23.885 32.4449503,24.185 C32.442,24.486 32.575,24.771 32.806,24.963 L37.81,29.121 Z M10.527,22.307 L12.951,24.322 L10.527,26.267 L10.527,22.307 Z M9.095,29.253 C9.232,29.32 9.38,29.352 9.527,29.352 C9.751,29.352 9.972,29.277 10.153,29.132 L15.158,25.115 C15.392,24.927 15.529,24.644 15.5320497,24.344 C15.535,24.043 15.402,23.758 15.171,23.566 L10.166,19.407 C9.868,19.16 9.453,19.107 9.102,19.271 C8.752,19.436 8.527,19.788 8.527,20.176 L8.527,28.352 C8.527,28.737 8.748,29.087 9.095,29.253 L9.095,29.253 Z M28.368,34.027 L30.368,34.027 L30.368,14.747 L28.368,14.747 L28.368,34.027 Z M23.121,34.027 L25.121,34.027 L25.121,14.747 L23.121,14.747 L23.121,34.027 Z M17.711,34.027 L19.711,34.027 L19.711,14.747 L17.711,14.747 L17.711,34.027 Z M3.999,35.773 L43.977,35.773 L43.977,13.001 L3.999,13.001 L3.999,35.773 Z M44.977,11 L3,11 C2.447,11 2,11.448 2,12 L2,36.773 C2,37.325 2.447,37.773 3,37.773 L44.977,37.773 C45.53,37.773 45.977,37.325 45.977,36.773 L45.977,12 C45.977,11.448 45.53,11 44.977,11 L44.977,11 Z\" id=\"Amazon-Simple-Notification-Service_Queue\" fill=\"#E7157B\"></path>\n </g>\n</svg>";
|
|
12615
12643
|
|
|
12616
|
-
const
|
|
12644
|
+
const icon_461 = "<svg id=\"a2c88306-fa03-4e5b-b192-401f0b77808b\" xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"><defs><linearGradient id=\"b403aca7-f387-4434-96b4-ae157edc835f\" x1=\"-175.993\" y1=\"-343.723\" x2=\"-175.993\" y2=\"-359.232\" gradientTransform=\"translate(212.573 370.548) scale(1.156 1.029)\" gradientUnits=\"userSpaceOnUse\"><stop offset=\"0\" stop-color=\"#fea11b\" /><stop offset=\"0.284\" stop-color=\"#fea51a\" /><stop offset=\"0.547\" stop-color=\"#feb018\" /><stop offset=\"0.8\" stop-color=\"#ffc314\" /><stop offset=\"1\" stop-color=\"#ffd70f\" /></linearGradient></defs><title>Icon-compute-29</title><g><path d=\"M2.37,7.475H3.2a.267.267,0,0,1,.267.267v6.148a.533.533,0,0,1-.533.533H2.1a0,0,0,0,1,0,0V7.741a.267.267,0,0,1,.267-.267Z\" transform=\"translate(12.507 16.705) rotate(134.919)\" fill=\"#50e6ff\" /><path d=\"M2.325,3.6h.833a.267.267,0,0,1,.267.267v6.583a0,0,0,0,1,0,0H2.591a.533.533,0,0,1-.533-.533V3.865A.267.267,0,0,1,2.325,3.6Z\" transform=\"translate(5.759 0.114) rotate(44.919)\" fill=\"#1490df\" /></g><g><path d=\"M14.53,7.475h.833a.533.533,0,0,1,.533.533v6.148a.267.267,0,0,1-.267.267H14.8a.267.267,0,0,1-.267-.267V7.475a0,0,0,0,1,0,0Z\" transform=\"translate(12.223 -7.555) rotate(45.081)\" fill=\"#50e6ff\" /><path d=\"M15.108,3.6h.833a0,0,0,0,1,0,0v6.583a.267.267,0,0,1-.267.267h-.833a.267.267,0,0,1-.267-.267V4.131a.533.533,0,0,1,.533-.533Z\" transform=\"translate(31.022 1.222) rotate(135.081)\" fill=\"#1490df\" /></g><path d=\"M8.459,9.9H4.87a.193.193,0,0,1-.2-.181.166.166,0,0,1,.018-.075L8.991,1.13a.206.206,0,0,1,.186-.106h4.245a.193.193,0,0,1,.2.181.165.165,0,0,1-.035.1L8.534,7.966h4.928a.193.193,0,0,1,.2.181.176.176,0,0,1-.052.122L5.421,16.788c-.077.046-.624.5-.356-.189h0Z\" fill=\"url(#b403aca7-f387-4434-96b4-ae157edc835f)\" /></svg>";
|
|
12645
|
+
|
|
12646
|
+
const coreIcons = {
|
|
12647
|
+
actor: () => Promise.resolve().then(() => actor),
|
|
12648
|
+
boundary: () => Promise.resolve().then(() => Robustness_Diagram_Boundary),
|
|
12649
|
+
control: () => Promise.resolve().then(() => Robustness_Diagram_Control),
|
|
12650
|
+
database: () => Promise.resolve().then(() => database),
|
|
12651
|
+
entity: () => Promise.resolve().then(() => Robustness_Diagram_Entity),
|
|
12652
|
+
cognito: () => import('./assets/Arch_Amazon-Cognito_16-BGlE6NnW.mjs'),
|
|
12653
|
+
elasticbeantalk: () => import('./assets/Arch_AWS-Elastic-Beanstalk_16-BQhSFqRk.mjs'),
|
|
12654
|
+
kinesis: () => import('./assets/Arch_Amazon-Kinesis_16-C_nCVk3q.mjs'),
|
|
12655
|
+
lightsail: () => import('./assets/Arch_Amazon-Lightsail_16-Caj6kl2R.mjs'),
|
|
12656
|
+
sagemaker: () => import('./assets/Arch_Amazon-SageMaker_16-DrLi5pZN.mjs')
|
|
12657
|
+
};
|
|
12658
|
+
const loadCloudIcon = async (key) => {
|
|
12659
|
+
const { cloudIcons } = await import('./assets/CloudIcons-qEDx5IlS.mjs');
|
|
12660
|
+
return cloudIcons[key] ?? null;
|
|
12661
|
+
};
|
|
12662
|
+
const loadIcon = async (iconKey) => {
|
|
12663
|
+
if (!iconKey) return null;
|
|
12664
|
+
const normalizedKey = iconKey.toLowerCase();
|
|
12665
|
+
const coreLoader = coreIcons[iconKey] ?? coreIcons[normalizedKey];
|
|
12666
|
+
if (coreLoader) {
|
|
12667
|
+
return (await coreLoader()).default;
|
|
12668
|
+
}
|
|
12669
|
+
return loadCloudIcon(normalizedKey);
|
|
12670
|
+
};
|
|
12617
12671
|
|
|
12618
12672
|
const PRESENTATION_ATTRIBUTES = /* @__PURE__ */ new Set([
|
|
12619
12673
|
"fill",
|
|
@@ -12647,20 +12701,41 @@ function parseRawSvg(raw) {
|
|
|
12647
12701
|
const ICONS = {
|
|
12648
12702
|
actor: parseRawSvg(ActorSvg),
|
|
12649
12703
|
database: parseRawSvg(DatabaseSvg),
|
|
12650
|
-
ec2: parseRawSvg(
|
|
12651
|
-
lambda: parseRawSvg(
|
|
12652
|
-
azurefunction: parseRawSvg(
|
|
12653
|
-
sqs: parseRawSvg(
|
|
12654
|
-
sns: parseRawSvg(
|
|
12655
|
-
iam: parseRawSvg(
|
|
12704
|
+
ec2: parseRawSvg(icon_374),
|
|
12705
|
+
lambda: parseRawSvg(icon_372),
|
|
12706
|
+
azurefunction: parseRawSvg(icon_461),
|
|
12707
|
+
sqs: parseRawSvg(icon_181),
|
|
12708
|
+
sns: parseRawSvg(icon_185),
|
|
12709
|
+
iam: parseRawSvg(icon_160),
|
|
12656
12710
|
boundary: parseRawSvg(BoundarySvg),
|
|
12657
12711
|
control: parseRawSvg(ControlSvg),
|
|
12658
12712
|
entity: parseRawSvg(EntitySvg)
|
|
12659
12713
|
};
|
|
12714
|
+
const loadedIcons = /* @__PURE__ */ new Map();
|
|
12715
|
+
const iconLoads = /* @__PURE__ */ new Map();
|
|
12716
|
+
function loadExtraIcon(key) {
|
|
12717
|
+
let load = iconLoads.get(key);
|
|
12718
|
+
if (!load) {
|
|
12719
|
+
load = loadIcon(key).then((raw) => {
|
|
12720
|
+
if (raw) loadedIcons.set(key, parseRawSvg(raw));
|
|
12721
|
+
}).catch(() => {
|
|
12722
|
+
});
|
|
12723
|
+
iconLoads.set(key, load);
|
|
12724
|
+
}
|
|
12725
|
+
return load;
|
|
12726
|
+
}
|
|
12727
|
+
async function ensureDiagramIconsLoaded(code) {
|
|
12728
|
+
const keys = /* @__PURE__ */ new Set();
|
|
12729
|
+
for (const match of code.matchAll(/@([A-Za-z][\w]*)/g)) {
|
|
12730
|
+
const key = match[1].toLowerCase();
|
|
12731
|
+
if (!ICONS[key]) keys.add(key);
|
|
12732
|
+
}
|
|
12733
|
+
await Promise.all([...keys].map(loadExtraIcon));
|
|
12734
|
+
}
|
|
12660
12735
|
function getIcon(type) {
|
|
12661
12736
|
if (!type) return void 0;
|
|
12662
12737
|
const key = type.toLowerCase();
|
|
12663
|
-
return ICONS[key];
|
|
12738
|
+
return ICONS[key] ?? loadedIcons.get(key);
|
|
12664
12739
|
}
|
|
12665
12740
|
|
|
12666
12741
|
function esc(s) {
|
|
@@ -13335,7 +13410,7 @@ function resolvePalette(theme) {
|
|
|
13335
13410
|
}
|
|
13336
13411
|
function buildThemeStyles(p) {
|
|
13337
13412
|
return `
|
|
13338
|
-
|
|
13413
|
+
${IBM_PLEX_SANS_FONT_FACE_CSS}
|
|
13339
13414
|
.frame-border-outer { fill: ${p.frameBorder}; }
|
|
13340
13415
|
.frame-border-inner { fill: ${p.frameBg}; }
|
|
13341
13416
|
.frame-header-bg { fill: ${p.frameBg}; }
|
|
@@ -13930,6 +14005,7 @@ async function renderMarkdownFile(inputArg, args, config) {
|
|
|
13930
14005
|
const imageFilePath = join(imageDir, imageFilename);
|
|
13931
14006
|
let result;
|
|
13932
14007
|
try {
|
|
14008
|
+
await ensureDiagramIconsLoaded(block.code);
|
|
13933
14009
|
result = renderToSvg(block.code, renderOptions);
|
|
13934
14010
|
} catch (err) {
|
|
13935
14011
|
throw new Error(
|
|
@@ -14190,6 +14266,7 @@ async function renderOneFile(inputArg, args, config) {
|
|
|
14190
14266
|
let svgWidth;
|
|
14191
14267
|
let svgHeight;
|
|
14192
14268
|
try {
|
|
14269
|
+
await ensureDiagramIconsLoaded(code);
|
|
14193
14270
|
const result = renderToSvg(code, renderOptions);
|
|
14194
14271
|
svg = result.svg;
|
|
14195
14272
|
svgWidth = result.width;
|
|
@@ -14335,5 +14412,5 @@ if (import.meta.main) {
|
|
|
14335
14412
|
main().finally(() => closeBrowser());
|
|
14336
14413
|
}
|
|
14337
14414
|
|
|
14338
|
-
export { extractZenumlBlocks, startWatchMode };
|
|
14415
|
+
export { icon_374 as a, icon_372 as b, icon_185 as c, icon_181 as d, icon_160 as e, extractZenumlBlocks, icon_461 as i, startWatchMode };
|
|
14339
14416
|
//# sourceMappingURL=zenuml.mjs.map
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
Copyright © 2017 IBM Corp. with Reserved Font Name "Plex"
|
|
2
|
+
|
|
3
|
+
This Font Software is licensed under the SIL Open Font License, Version 1.1.
|
|
4
|
+
|
|
5
|
+
This license is copied below, and is also available with a FAQ at: http://scripts.sil.org/OFL
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
-----------------------------------------------------------
|
|
9
|
+
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
|
|
10
|
+
-----------------------------------------------------------
|
|
11
|
+
|
|
12
|
+
PREAMBLE
|
|
13
|
+
The goals of the Open Font License (OFL) are to stimulate worldwide
|
|
14
|
+
development of collaborative font projects, to support the font creation
|
|
15
|
+
efforts of academic and linguistic communities, and to provide a free and
|
|
16
|
+
open framework in which fonts may be shared and improved in partnership
|
|
17
|
+
with others.
|
|
18
|
+
|
|
19
|
+
The OFL allows the licensed fonts to be used, studied, modified and
|
|
20
|
+
redistributed freely as long as they are not sold by themselves. The
|
|
21
|
+
fonts, including any derivative works, can be bundled, embedded,
|
|
22
|
+
redistributed and/or sold with any software provided that any reserved
|
|
23
|
+
names are not used by derivative works. The fonts and derivatives,
|
|
24
|
+
however, cannot be released under any other type of license. The
|
|
25
|
+
requirement for fonts to remain under this license does not apply
|
|
26
|
+
to any document created using the fonts or their derivatives.
|
|
27
|
+
|
|
28
|
+
DEFINITIONS
|
|
29
|
+
"Font Software" refers to the set of files released by the Copyright
|
|
30
|
+
Holder(s) under this license and clearly marked as such. This may
|
|
31
|
+
include source files, build scripts and documentation.
|
|
32
|
+
|
|
33
|
+
"Reserved Font Name" refers to any names specified as such after the
|
|
34
|
+
copyright statement(s).
|
|
35
|
+
|
|
36
|
+
"Original Version" refers to the collection of Font Software components as
|
|
37
|
+
distributed by the Copyright Holder(s).
|
|
38
|
+
|
|
39
|
+
"Modified Version" refers to any derivative made by adding to, deleting,
|
|
40
|
+
or substituting -- in part or in whole -- any of the components of the
|
|
41
|
+
Original Version, by changing formats or by porting the Font Software to a
|
|
42
|
+
new environment.
|
|
43
|
+
|
|
44
|
+
"Author" refers to any designer, engineer, programmer, technical
|
|
45
|
+
writer or other person who contributed to the Font Software.
|
|
46
|
+
|
|
47
|
+
PERMISSION & CONDITIONS
|
|
48
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
|
49
|
+
a copy of the Font Software, to use, study, copy, merge, embed, modify,
|
|
50
|
+
redistribute, and sell modified and unmodified copies of the Font
|
|
51
|
+
Software, subject to the following conditions:
|
|
52
|
+
|
|
53
|
+
1) Neither the Font Software nor any of its individual components,
|
|
54
|
+
in Original or Modified Versions, may be sold by itself.
|
|
55
|
+
|
|
56
|
+
2) Original or Modified Versions of the Font Software may be bundled,
|
|
57
|
+
redistributed and/or sold with any software, provided that each copy
|
|
58
|
+
contains the above copyright notice and this license. These can be
|
|
59
|
+
included either as stand-alone text files, human-readable headers or
|
|
60
|
+
in the appropriate machine-readable metadata fields within text or
|
|
61
|
+
binary files as long as those fields can be easily viewed by the user.
|
|
62
|
+
|
|
63
|
+
3) No Modified Version of the Font Software may use the Reserved Font
|
|
64
|
+
Name(s) unless explicit written permission is granted by the corresponding
|
|
65
|
+
Copyright Holder. This restriction only applies to the primary font name as
|
|
66
|
+
presented to the users.
|
|
67
|
+
|
|
68
|
+
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
|
|
69
|
+
Software shall not be used to promote, endorse or advertise any
|
|
70
|
+
Modified Version, except to acknowledge the contribution(s) of the
|
|
71
|
+
Copyright Holder(s) and the Author(s) or with their explicit written
|
|
72
|
+
permission.
|
|
73
|
+
|
|
74
|
+
5) The Font Software, modified or unmodified, in part or in whole,
|
|
75
|
+
must be distributed entirely under this license, and must not be
|
|
76
|
+
distributed under any other license. The requirement for fonts to
|
|
77
|
+
remain under this license does not apply to any document created
|
|
78
|
+
using the Font Software.
|
|
79
|
+
|
|
80
|
+
TERMINATION
|
|
81
|
+
This license becomes null and void if any of the above conditions are
|
|
82
|
+
not met.
|
|
83
|
+
|
|
84
|
+
DISCLAIMER
|
|
85
|
+
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
86
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
|
|
87
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
|
88
|
+
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
|
|
89
|
+
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
|
90
|
+
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
|
|
91
|
+
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
|
92
|
+
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
|
|
93
|
+
OTHER DEALINGS IN THE FONT SOFTWARE.
|
|
Binary file
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
MS-Sans-Serif.ttf
|
|
2
|
+
|
|
3
|
+
"MS Sans Serif" by lou, built with FontStruct.
|
|
4
|
+
Copyright lou 2017.
|
|
5
|
+
Source: http://fontstruct.com/fontstructions/show/1384746/ms-sans-serif
|
|
6
|
+
|
|
7
|
+
Licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported
|
|
8
|
+
licence (CC BY-SA 3.0): http://creativecommons.org/licenses/by-sa/3.0/
|
|
9
|
+
|
|
10
|
+
The file is redistributed unmodified. FontStruct is a trademark of
|
|
11
|
+
FSI FontShop International GmbH.
|
|
Binary file
|