@plait/common 0.77.1 → 0.77.3

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.
@@ -6,5 +6,5 @@ export declare const DEFAULT_ROUTE_MARGIN = 30;
6
6
  export declare const TRANSPARENT = "transparent";
7
7
  export declare const ROTATE_HANDLE_DISTANCE_TO_ELEMENT = 20;
8
8
  export declare const ROTATE_HANDLE_SIZE = 18;
9
- export declare const DEFAULT_FONT_FAMILY = "PingFangSC-Regular, \"PingFang SC\"";
9
+ export declare const DEFAULT_FONT_FAMILY = "-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'PingFang SC', 'Noto Sans', 'Noto Sans CJK SC', 'Microsoft Yahei', 'Hiragino Sans GB', Arial, sans-serif";
10
10
  export declare const DEFAULT_FILL = "none";
@@ -6,6 +6,6 @@ export const DEFAULT_ROUTE_MARGIN = 30;
6
6
  export const TRANSPARENT = 'transparent';
7
7
  export const ROTATE_HANDLE_DISTANCE_TO_ELEMENT = 20;
8
8
  export const ROTATE_HANDLE_SIZE = 18;
9
- export const DEFAULT_FONT_FAMILY = 'PingFangSC-Regular, "PingFang SC"';
9
+ export const DEFAULT_FONT_FAMILY = `-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'PingFang SC', 'Noto Sans', 'Noto Sans CJK SC', 'Microsoft Yahei', 'Hiragino Sans GB', Arial, sans-serif`;
10
10
  export const DEFAULT_FILL = 'none';
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9zcmMvY29uc3RhbnRzL2RlZmF1bHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sSUFBSSxHQUFHLENBQUMsQ0FBQztBQUN0QixNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsU0FBUyxDQUFDO0FBQ3ZDLE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLENBQUMsQ0FBQztBQUN4QyxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyx1QkFBdUIsQ0FBQztBQUN6RCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxFQUFFLENBQUM7QUFDdkMsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLGFBQWEsQ0FBQztBQUN6QyxNQUFNLENBQUMsTUFBTSxpQ0FBaUMsR0FBRyxFQUFFLENBQUM7QUFDcEQsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsRUFBRSxDQUFDO0FBQ3JDLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLG1DQUFtQyxDQUFDO0FBQ3ZFLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgQkFTRSA9IDQ7XG5leHBvcnQgY29uc3QgUFJJTUFSWV9DT0xPUiA9ICcjNjY5OEZGJztcbmV4cG9ydCBjb25zdCBSRVNJWkVfSEFORExFX0RJQU1FVEVSID0gOTtcbmV4cG9ydCBjb25zdCBXaXRoVGV4dFBsdWdpbktleSA9ICdwbGFpdC10ZXh0LXBsdWdpbi1rZXknO1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfUk9VVEVfTUFSR0lOID0gMzA7XG5leHBvcnQgY29uc3QgVFJBTlNQQVJFTlQgPSAndHJhbnNwYXJlbnQnO1xuZXhwb3J0IGNvbnN0IFJPVEFURV9IQU5ETEVfRElTVEFOQ0VfVE9fRUxFTUVOVCA9IDIwO1xuZXhwb3J0IGNvbnN0IFJPVEFURV9IQU5ETEVfU0laRSA9IDE4O1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfRk9OVF9GQU1JTFkgPSAnUGluZ0ZhbmdTQy1SZWd1bGFyLCBcIlBpbmdGYW5nIFNDXCInO1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfRklMTCA9ICdub25lJztcbiJdfQ==
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9zcmMvY29uc3RhbnRzL2RlZmF1bHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sSUFBSSxHQUFHLENBQUMsQ0FBQztBQUN0QixNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsU0FBUyxDQUFDO0FBQ3ZDLE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLENBQUMsQ0FBQztBQUN4QyxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyx1QkFBdUIsQ0FBQztBQUN6RCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxFQUFFLENBQUM7QUFDdkMsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLGFBQWEsQ0FBQztBQUN6QyxNQUFNLENBQUMsTUFBTSxpQ0FBaUMsR0FBRyxFQUFFLENBQUM7QUFDcEQsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsRUFBRSxDQUFDO0FBQ3JDLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLGlLQUFpSyxDQUFDO0FBQ3JNLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgQkFTRSA9IDQ7XG5leHBvcnQgY29uc3QgUFJJTUFSWV9DT0xPUiA9ICcjNjY5OEZGJztcbmV4cG9ydCBjb25zdCBSRVNJWkVfSEFORExFX0RJQU1FVEVSID0gOTtcbmV4cG9ydCBjb25zdCBXaXRoVGV4dFBsdWdpbktleSA9ICdwbGFpdC10ZXh0LXBsdWdpbi1rZXknO1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfUk9VVEVfTUFSR0lOID0gMzA7XG5leHBvcnQgY29uc3QgVFJBTlNQQVJFTlQgPSAndHJhbnNwYXJlbnQnO1xuZXhwb3J0IGNvbnN0IFJPVEFURV9IQU5ETEVfRElTVEFOQ0VfVE9fRUxFTUVOVCA9IDIwO1xuZXhwb3J0IGNvbnN0IFJPVEFURV9IQU5ETEVfU0laRSA9IDE4O1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfRk9OVF9GQU1JTFkgPSBgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAnU2Vnb2UgVUknLCBSb2JvdG8sICdQaW5nRmFuZyBTQycsICdOb3RvIFNhbnMnLCAnTm90byBTYW5zIENKSyBTQycsICdNaWNyb3NvZnQgWWFoZWknLCAnSGlyYWdpbm8gU2FucyBHQicsIEFyaWFsLCBzYW5zLXNlcmlmYDtcbmV4cG9ydCBjb25zdCBERUZBVUxUX0ZJTEwgPSAnbm9uZSc7XG4iXX0=
@@ -74,7 +74,7 @@ export class ImageGenerator extends Generator {
74
74
  }
75
75
  const currentForeignObject = this.options.getRectangle(current);
76
76
  updateForeignObject(this.g, currentForeignObject.width, currentForeignObject.height, currentForeignObject.x, currentForeignObject.y);
77
- if (currentForeignObject && current.angle) {
77
+ if (currentForeignObject && current.angle !== undefined) {
78
78
  setAngleForG(this.g, RectangleClient.getCenterPoint(currentForeignObject), current.angle);
79
79
  }
80
80
  const activeG = PlaitBoard.getActiveHost(this.board);
@@ -95,4 +95,4 @@ export class ImageGenerator extends Generator {
95
95
  this.activeGenerator?.destroy();
96
96
  }
97
97
  }
98
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UuZ2VuZXJhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tbW9uL3NyYy9pbWFnZS9pbWFnZS5nZW5lcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILG1CQUFtQixFQUNuQixVQUFVLEVBRVYsZUFBZSxFQUNmLG1CQUFtQixFQUNuQixPQUFPLEVBQ1AsbUJBQW1CLEVBQ25CLGlCQUFpQixFQUNqQixZQUFZLEVBQ1osbUJBQW1CLEVBQ3RCLE1BQU0sYUFBYSxDQUFDO0FBQ3JCLE9BQU8sRUFBRSxTQUFTLEVBQXdDLE1BQU0seUJBQXlCLENBQUM7QUFDMUYsT0FBTyxFQUFtQixlQUFlLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDdEYsT0FBTyxFQUFtQixxQkFBcUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBR3hGLE1BQU0sQ0FBQyxNQUFNLCtCQUErQixHQUFHLHNCQUFzQixDQUFDO0FBT3RFLE1BQU0sT0FBTyxjQUFzRCxTQUFRLFNBSTFFO2FBQ1UsUUFBRyxHQUFHLGlCQUFpQixBQUFwQixDQUFxQjtJQVkvQixZQUFtQixLQUFpQixFQUFTLE9BQWlDO1FBQzFFLEtBQUssQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFEUCxVQUFLLEdBQUwsS0FBSyxDQUFZO1FBQVMsWUFBTyxHQUFQLE9BQU8sQ0FBMEI7UUFKOUUsWUFBTyxHQUFHLEtBQUssQ0FBQztJQU1oQixDQUFDO0lBRUQsT0FBTyxDQUFDLE9BQVU7UUFDZCxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQsSUFBSSxDQUFDLE9BQVU7UUFDWCxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN2QixNQUFNLENBQUMsR0FBRyxPQUFPLEVBQUUsQ0FBQztRQUNwQixNQUFNLGdC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LElBQUksQ0FBQyxlQUFlLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUM3RSxNQUFNLEtBQUssR0FBd0I7WUFDL0IsT0FBTztTQUNWLENBQUM7UUFDRixJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxPQUFPO1FBQ0gsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2hCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxPQUFPLEVBQUUsQ0FBQztRQUNsQyxJQUFJLENBQUMsZUFBZSxFQUFFLE9BQU8sRUFBRSxDQUFDO0lBQ3BDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFDVElWRV9TVFJPS0VfV0lEVEgsXG4gICAgUGxhaXRCb2FyZCxcbiAgICBQbGFpdEVsZW1lbnQsXG4gICAgUmVjdGFuZ2xlQ2xpZW50LFxuICAgIGNyZWF0ZUZvcmVpZ25PYmplY3QsXG4gICAgY3JlYXRlRyxcbiAgICBnZXRTZWxlY3RlZEVsZW1lbnRzLFxuICAgIGlzU2VsZWN0aW9uTW92aW5nLFxuICAgIHNldEFuZ2xlRm9yRyxcbiAgICB1cGRhdGVGb3JlaWduT2JqZWN0XG59IGZyb20gJ0BwbGFpdC9jb3JlJztcbmltcG9ydCB7IEdlbmVyYXRvciwgR2VuZXJhdG9yRXh0cmFEYXRhLCBHZW5lcmF0b3JPcHRpb25zIH0gZnJvbSAnLi4vZ2VuZXJhdG9ycy9nZW5lcmF0b3InO1xuaW1wb3J0IHsgQ29tbW9uSW1hZ2VJdGVtLCBoYXNSZXNpemVIYW5kbGUsIGdldEVsZW1lbnRPZkZvY3VzZWRJbWFnZSB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IEFjdGl2ZUdlbmVyYXRvciwgY3JlYXRlQWN0aXZlR2VuZXJhdG9yIH0gZnJvbSAnLi4vZ2VuZXJhdG9ycy9hY3RpdmUuZ2VuZXJhdG9yJztcbmltcG9ydCB7IFBsYWl0SW1hZ2VCb2FyZCwgSW1hZ2VDb21wb25lbnRSZWYsIEltYWdlUHJvcHMgfSBmcm9tICcuL3dpdGgtaW1hZ2UnO1xuXG5leHBvcnQgY29uc3QgRk9SRUlHTl9PQkpFQ1RfSU1BR0VfQ0xBU1NfTkFNRSA9ICdmb3JlaWduLW9iamVjdC1pbWFnZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW1hZ2VHZW5lcmF0b3JPcHRpb25zPFQ+IHtcbiAgICBnZXRSZWN0YW5nbGU6IChlbGVtZW50OiBUKSA9PiBSZWN0YW5nbGVDbGllbnQ7XG4gICAgZ2V0SW1hZ2VJdGVtOiAoZWxlbWVudDogVCkgPT4gQ29tbW9uSW1hZ2VJdGVtO1xufVxuXG5leHBvcnQgY2xhc3MgSW1hZ2VHZW5lcmF0b3I8VCBleHRlbmRzIFBsYWl0RWxlbWVudCA9IFBsYWl0RWxlbWVudD4gZXh0ZW5kcyBHZW5lcmF0b3I8XG4gICAgVCxcbiAgICBHZW5lcmF0b3JFeHRyYURhdGEsXG4gICAgSW1hZ2VHZW5lcmF0b3JPcHRpb25zPFQ+ICYgR2VuZXJhdG9yT3B0aW9uc1xuPiB7XG4gICAgc3RhdGljIGtleSA9ICdpbWFnZS1nZW5lcmF0b3InO1xuXG4gICAgZm9yZWlnbk9iamVjdCE6IFNWR0ZvcmVpZ25PYmplY3RFbGVtZW50O1xuXG4gICAgaW1hZ2VDb21wb25lbnRSZWYhOiBJbWFnZUNvbXBvbmVudFJlZjtcblxuICAgIGFjdGl2ZUdlbmVyYXRvciE6IEFjdGl2ZUdlbmVyYXRvcjtcblxuICAgIGlzRm9jdXMgPSBmYWxzZTtcblxuICAgIGVsZW1lbnQhOiBUO1xuXG4gICAgY29uc3RydWN0b3IocHVibGljIGJvYXJkOiBQbGFpdEJvYXJkLCBwdWJsaWMgb3B0aW9uczogSW1hZ2VHZW5lcmF0b3JPcHRpb25zPFQ+KSB7XG4gICAgICAgIHN1cGVyKGJvYXJkLCBvcHRpb25zKTtcbiAgICB9XG5cbiAgICBjYW5EcmF3KGVsZW1lbnQ6IFQpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5vcHRpb25zLmdldEltYWdlSXRlbShlbGVtZW50KTtcbiAgICB9XG5cbiAgICBkcmF3KGVsZW1lbnQ6IFQpOiBTVkdHRWxlbWVudCB7XG4gICAgICAgIHRoaXMuZWxlbWVudCA9IGVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IGcgPSBjcmVhdGVHKCk7XG4gICAgICAgIGNvbnN0IGZvcmVpZ25SZWN0YW5nbGUgPSB0aGlzLm9wdGlvbnMuZ2V0UmVjdGFuZ2xlKGVsZW1lbnQpO1xuICAgICAgICB0aGlzLmZvcmVpZ25PYmplY3QgPSBjcmVhdGVGb3JlaWduT2JqZWN0KGZvcmVpZ25SZWN0YW5nbGUueCwgZm9yZWlnblJlY3RhbmdsZS55LCBmb3JlaWduUmVjdGFuZ2xlLndpZHRoLCBmb3JlaWduUmVjdGFuZ2xlLmhlaWdodCk7XG4gICAgICAgIHRoaXMuZm9yZWlnbk9iamVjdC5jbGFzc0xpc3QuYWRkKEZPUkVJR05fT0JKRUNUX0lNQUdFX0NMQVNTX05BTUUpO1xuICAgICAgICBnLmFwcGVuZCh0aGlzLmZvcmVpZ25PYmplY3QpO1xuICAgICAgICBjb25zdCBwcm9wczogSW1hZ2VQcm9wcyA9IHtcbiAgICAgICAgICAgIGJvYXJkOiB0aGlzLmJvYXJkLFxuICAgICAgICAgICAgaW1hZ2VJdGVtOiB0aGlzLm9wdGlvbnMuZ2V0SW1hZ2VJdGVtKGVsZW1lbnQpLFxuICAgICAgICAgICAgZWxlbWVudCxcbiAgICAgICAgICAgIGdldFJlY3RhbmdsZTogKCkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLm9wdGlvbnMuZ2V0UmVjdGFuZ2xlKGVsZW1lbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgICB0aGlzLmltYWdlQ29tcG9uZW50UmVmID0gKCh0aGlzLmJvYXJkIGFzIHVua25vd24pIGFzIFBsYWl0SW1hZ2VCb2FyZCkucmVuZGVySW1hZ2UodGhpcy5mb3JlaWduT2JqZWN0LCBwcm9wcyk7XG5cbiAgICAgICAgdGhpcy5hY3RpdmVHZW5lcmF0b3IgPSBjcmVhdGVBY3RpdmVHZW5lcmF0b3IodGhpcy5ib2FyZCwge1xuICAgICAgICAgICAgZ2V0U3Ryb2tlV2lkdGg6ICgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBzZWxlY3RlZEVsZW1lbnRzID0gZ2V0U2VsZWN0ZWRFbGVtZW50cyh0aGlzLmJvYXJkKTtcbiAgICAgICAgICAgICAgICBpZiAoIShzZWxlY3RlZEVsZW1lbnRzLmxlbmd0aCA9PT0gMSAmJiAhaXNTZWxlY3Rpb25Nb3ZpbmcodGhpcy5ib2FyZCkpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBBQ1RJVkVfU1RST0tFX1dJRFRIO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBBQ1RJVkVfU1RST0tFX1dJRFRIO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBnZXRTdHJva2VPcGFjaXR5OiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWRFbGVtZW50cyA9IGdldFNlbGVjdGVkRWxlbWVudHModGhpcy5ib2FyZCk7XG4gICAgICAgICAgICAgICAgaWYgKChzZWxlY3RlZEVsZW1lbnRzLmxlbmd0aCA9PT0gMSAmJiAhaXNTZWxlY3Rpb25Nb3ZpbmcodGhpcy5ib2FyZCkpIHx8ICFzZWxlY3RlZEVsZW1lbnRzLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gMC41O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBnZXRSZWN0YW5nbGU6ICgpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zLmdldFJlY3RhbmdsZSh0aGlzLmVsZW1lbnQpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGhhc1Jlc2l6ZUhhbmRsZTogKCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGlzU2VsZWN0ZWRJbWFnZUVsZW1lbnQgPSBoYXNSZXNpemVIYW5kbGUodGhpcy5ib2FyZCwgdGhpcy5lbGVtZW50KTtcbiAgICAgICAgICAgICAgICBjb25zdCBpc1NlbGVjdGVkSW1hZ2UgPSAhIWdldEVsZW1lbnRPZkZvY3VzZWRJbWFnZSh0aGlzLmJvYXJkKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gaXNTZWxlY3RlZEltYWdlIHx8IGlzU2VsZWN0ZWRJbWFnZUVsZW1lbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gZztcbiAgICB9XG5cbiAgICB1cGRhdGVJbWFnZShub2RlRzogU1ZHR0VsZW1lbnQsIHByZXZpb3VzOiBULCBjdXJyZW50OiBUKSB7XG4gICAgICAgIHRoaXMuZWxlbWVudCA9IGN1cnJlbnQ7XG4gICAgICAgIGlmIChwcmV2aW91cyAhPT0gY3VycmVudCAmJiB0aGlzLmltYWdlQ29tcG9uZW50UmVmKSB7XG4gICAgICAgICAgICBjb25zdCBwcm9wcyA9IHtcbiAgICAgICAgICAgICAgICBpbWFnZUl0ZW06IHRoaXMub3B0aW9ucy5nZXRJbWFnZUl0ZW0oY3VycmVudCksXG4gICAgICAgICAgICAgICAgZWxlbWVudDogY3VycmVudCxcbiAgICAgICAgICAgICAgICBnZXRSZWN0YW5nbGU6ICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMub3B0aW9ucy5nZXRSZWN0YW5nbGUoY3VycmVudCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIHRoaXMuaW1hZ2VDb21wb25lbnRSZWYudXBkYXRlKHByb3BzKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBjdXJyZW50Rm9yZWlnbk9iamVjdCA9IHRoaXMub3B0aW9ucy5nZXRSZWN0YW5nbGUoY3VycmVudCk7XG4gICAgICAgIHVwZGF0ZUZvcmVpZ25PYmplY3QoXG4gICAgICAgICAgICB0aGlzLmchLFxuICAgICAgICAgICAgY3VycmVudEZvcmVpZ25PYmplY3Qud2lkdGgsXG4gICAgICAgICAgICBjdXJyZW50Rm9yZWlnbk9iamVjdC5oZWlnaHQsXG4gICAgICAgICAgICBjdXJyZW50Rm9yZWlnbk9iamVjdC54LFxuICAgICAgICAgICAgY3VycmVudEZvcmVpZ25PYmplY3QueVxuICAgICAgICApO1xuICAgICAgICBpZiAoY3VycmVudEZvcmVpZ25PYmplY3QgJiYgY3VycmVudC5hbmdsZSkge1xuICAgICAgICAgICAgc2V0QW5nbGVGb3JHKHRoaXMuZyEsIFJlY3RhbmdsZUNsaWVudC5nZXRDZW50ZXJQb2ludChjdXJyZW50Rm9yZWlnbk9iamVjdCksIGN1cnJlbnQuYW5nbGUpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGFjdGl2ZUcgPSBQbGFpdEJvYXJkLmdldEFjdGl2ZUhvc3QodGhpcy5ib2FyZCk7XG4gICAgICAgIHRoaXMuYWN0aXZlR2VuZXJhdG9yLnByb2Nlc3NEcmF3aW5nKGN1cnJlbnQsIGFjdGl2ZUcsIHsgc2VsZWN0ZWQ6IHRoaXMuaXNGb2N1cyB9KTtcbiAgICB9XG5cbiAgICBzZXRGb2N1cyhlbGVtZW50OiBQbGFpdEVsZW1lbnQsIGlzRm9jdXM6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5pc0ZvY3VzID0gaXNGb2N1cztcbiAgICAgICAgY29uc3QgYWN0aXZlRyA9IFBsYWl0Qm9hcmQuZ2V0QWN0aXZlSG9zdCh0aGlzLmJvYXJkKTtcbiAgICAgICAgdGhpcy5hY3RpdmVHZW5lcmF0b3IucHJvY2Vzc0RyYXdpbmcoZWxlbWVudCwgYWN0aXZlRywgeyBzZWxlY3RlZDogaXNGb2N1cyB9KTtcbiAgICAgICAgY29uc3QgcHJvcHM6IFBhcnRpYWw8SW1hZ2VQcm9wcz4gPSB7XG4gICAgICAgICAgICBpc0ZvY3VzXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuaW1hZ2VDb21wb25lbnRSZWYudXBkYXRlKHByb3BzKTtcbiAgICB9XG5cbiAgICBkZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5kZXN0cm95KCk7XG4gICAgICAgIHRoaXMuaW1hZ2VDb21wb25lbnRSZWY/LmRlc3Ryb3koKTtcbiAgICAgICAgdGhpcy5hY3RpdmVHZW5lcmF0b3I/LmRlc3Ryb3koKTtcbiAgICB9XG59XG4iXX0=
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UuZ2VuZXJhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tbW9uL3NyYy9pbWFnZS9pbWFnZS5nZW5lcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILG1CQUFtQixFQUNuQixVQUFVLEVBRVYsZUFBZSxFQUNmLG1CQUFtQixFQUNuQixPQUFPLEVBQ1AsbUJBQW1CLEVBQ25CLGlCQUFpQixFQUNqQixZQUFZLEVBQ1osbUJBQW1CLEVBQ3RCLE1BQU0sYUFBYSxDQUFDO0FBQ3JCLE9BQU8sRUFBRSxTQUFTLEVBQXdDLE1BQU0seUJBQXlCLENBQUM7QUFDMUYsT0FBTyxFQUFtQixlQUFlLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDdEYsT0FBTyxFQUFtQixxQkFBcUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBR3hGLE1BQU0sQ0FBQyxNQUFNLCtCQUErQixHQUFHLHNCQUFzQixDQUFDO0FBT3RFLE1BQU0sT0FBTyxjQUFzRCxTQUFRLFNBSTFFO2FBQ1UsUUFBRyxHQUFHLGlCQUFpQixBQUFwQixDQUFxQjtJQVkvQixZQUFtQixLQUFpQixFQUFTLE9BQWlDO1FBQzFFLEtBQUssQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFEUCxVQUFLLEdBQUwsS0FBSyxDQUFZO1FBQVMsWUFBTyxHQUFQLE9BQU8sQ0FBMEI7UUFKOUUsWUFBTyxHQUFHLEtBQUssQ0FBQztJQU1oQixDQUFDO0lBRUQsT0FBTyxDQUFDLE9BQVU7UUFDZCxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQsSUFBSSxDQUFDLE9BQVU7UUFDWCxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN2QixNQUFNLENBQUMsR0FBRyxPQUFPLEVBQUUsQ0FBQztRQUNwQixNQUFNLGdC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Q0FBQztRQUNyRCxJQUFJLENBQUMsZUFBZSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDN0UsTUFBTSxLQUFLLEdBQXdCO1lBQy9CLE9BQU87U0FDVixDQUFDO1FBQ0YsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsT0FBTztRQUNILEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNoQixJQUFJLENBQUMsaUJBQWlCLEVBQUUsT0FBTyxFQUFFLENBQUM7UUFDbEMsSUFBSSxDQUFDLGVBQWUsRUFBRSxPQUFPLEVBQUUsQ0FBQztJQUNwQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBQ1RJVkVfU1RST0tFX1dJRFRILFxuICAgIFBsYWl0Qm9hcmQsXG4gICAgUGxhaXRFbGVtZW50LFxuICAgIFJlY3RhbmdsZUNsaWVudCxcbiAgICBjcmVhdGVGb3JlaWduT2JqZWN0LFxuICAgIGNyZWF0ZUcsXG4gICAgZ2V0U2VsZWN0ZWRFbGVtZW50cyxcbiAgICBpc1NlbGVjdGlvbk1vdmluZyxcbiAgICBzZXRBbmdsZUZvckcsXG4gICAgdXBkYXRlRm9yZWlnbk9iamVjdFxufSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBHZW5lcmF0b3IsIEdlbmVyYXRvckV4dHJhRGF0YSwgR2VuZXJhdG9yT3B0aW9ucyB9IGZyb20gJy4uL2dlbmVyYXRvcnMvZ2VuZXJhdG9yJztcbmltcG9ydCB7IENvbW1vbkltYWdlSXRlbSwgaGFzUmVzaXplSGFuZGxlLCBnZXRFbGVtZW50T2ZGb2N1c2VkSW1hZ2UgfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgeyBBY3RpdmVHZW5lcmF0b3IsIGNyZWF0ZUFjdGl2ZUdlbmVyYXRvciB9IGZyb20gJy4uL2dlbmVyYXRvcnMvYWN0aXZlLmdlbmVyYXRvcic7XG5pbXBvcnQgeyBQbGFpdEltYWdlQm9hcmQsIEltYWdlQ29tcG9uZW50UmVmLCBJbWFnZVByb3BzIH0gZnJvbSAnLi93aXRoLWltYWdlJztcblxuZXhwb3J0IGNvbnN0IEZPUkVJR05fT0JKRUNUX0lNQUdFX0NMQVNTX05BTUUgPSAnZm9yZWlnbi1vYmplY3QtaW1hZ2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEltYWdlR2VuZXJhdG9yT3B0aW9uczxUPiB7XG4gICAgZ2V0UmVjdGFuZ2xlOiAoZWxlbWVudDogVCkgPT4gUmVjdGFuZ2xlQ2xpZW50O1xuICAgIGdldEltYWdlSXRlbTogKGVsZW1lbnQ6IFQpID0+IENvbW1vbkltYWdlSXRlbTtcbn1cblxuZXhwb3J0IGNsYXNzIEltYWdlR2VuZXJhdG9yPFQgZXh0ZW5kcyBQbGFpdEVsZW1lbnQgPSBQbGFpdEVsZW1lbnQ+IGV4dGVuZHMgR2VuZXJhdG9yPFxuICAgIFQsXG4gICAgR2VuZXJhdG9yRXh0cmFEYXRhLFxuICAgIEltYWdlR2VuZXJhdG9yT3B0aW9uczxUPiAmIEdlbmVyYXRvck9wdGlvbnNcbj4ge1xuICAgIHN0YXRpYyBrZXkgPSAnaW1hZ2UtZ2VuZXJhdG9yJztcblxuICAgIGZvcmVpZ25PYmplY3QhOiBTVkdGb3JlaWduT2JqZWN0RWxlbWVudDtcblxuICAgIGltYWdlQ29tcG9uZW50UmVmITogSW1hZ2VDb21wb25lbnRSZWY7XG5cbiAgICBhY3RpdmVHZW5lcmF0b3IhOiBBY3RpdmVHZW5lcmF0b3I7XG5cbiAgICBpc0ZvY3VzID0gZmFsc2U7XG5cbiAgICBlbGVtZW50ITogVDtcblxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBib2FyZDogUGxhaXRCb2FyZCwgcHVibGljIG9wdGlvbnM6IEltYWdlR2VuZXJhdG9yT3B0aW9uczxUPikge1xuICAgICAgICBzdXBlcihib2FyZCwgb3B0aW9ucyk7XG4gICAgfVxuXG4gICAgY2FuRHJhdyhlbGVtZW50OiBUKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMub3B0aW9ucy5nZXRJbWFnZUl0ZW0oZWxlbWVudCk7XG4gICAgfVxuXG4gICAgZHJhdyhlbGVtZW50OiBUKTogU1ZHR0VsZW1lbnQge1xuICAgICAgICB0aGlzLmVsZW1lbnQgPSBlbGVtZW50O1xuICAgICAgICBjb25zdCBnID0gY3JlYXRlRygpO1xuICAgICAgICBjb25zdCBmb3JlaWduUmVjdGFuZ2xlID0gdGhpcy5vcHRpb25zLmdldFJlY3RhbmdsZShlbGVtZW50KTtcbiAgICAgICAgdGhpcy5mb3JlaWduT2JqZWN0ID0gY3JlYXRlRm9yZWlnbk9iamVjdChmb3JlaWduUmVjdGFuZ2xlLngsIGZvcmVpZ25SZWN0YW5nbGUueSwgZm9yZWlnblJlY3RhbmdsZS53aWR0aCwgZm9yZWlnblJlY3RhbmdsZS5oZWlnaHQpO1xuICAgICAgICB0aGlzLmZvcmVpZ25PYmplY3QuY2xhc3NMaXN0LmFkZChGT1JFSUdOX09CSkVDVF9JTUFHRV9DTEFTU19OQU1FKTtcbiAgICAgICAgZy5hcHBlbmQodGhpcy5mb3JlaWduT2JqZWN0KTtcbiAgICAgICAgY29uc3QgcHJvcHM6IEltYWdlUHJvcHMgPSB7XG4gICAgICAgICAgICBib2FyZDogdGhpcy5ib2FyZCxcbiAgICAgICAgICAgIGltYWdlSXRlbTogdGhpcy5vcHRpb25zLmdldEltYWdlSXRlbShlbGVtZW50KSxcbiAgICAgICAgICAgIGVsZW1lbnQsXG4gICAgICAgICAgICBnZXRSZWN0YW5nbGU6ICgpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zLmdldFJlY3RhbmdsZShlbGVtZW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5pbWFnZUNvbXBvbmVudFJlZiA9ICh0aGlzLmJvYXJkIGFzIHVua25vd24gYXMgUGxhaXRJbWFnZUJvYXJkKS5yZW5kZXJJbWFnZSh0aGlzLmZvcmVpZ25PYmplY3QsIHByb3BzKTtcblxuICAgICAgICB0aGlzLmFjdGl2ZUdlbmVyYXRvciA9IGNyZWF0ZUFjdGl2ZUdlbmVyYXRvcih0aGlzLmJvYXJkLCB7XG4gICAgICAgICAgICBnZXRTdHJva2VXaWR0aDogKCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkRWxlbWVudHMgPSBnZXRTZWxlY3RlZEVsZW1lbnRzKHRoaXMuYm9hcmQpO1xuICAgICAgICAgICAgICAgIGlmICghKHNlbGVjdGVkRWxlbWVudHMubGVuZ3RoID09PSAxICYmICFpc1NlbGVjdGlvbk1vdmluZyh0aGlzLmJvYXJkKSkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEFDVElWRV9TVFJPS0VfV0lEVEg7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEFDVElWRV9TVFJPS0VfV0lEVEg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGdldFN0cm9rZU9wYWNpdHk6ICgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBzZWxlY3RlZEVsZW1lbnRzID0gZ2V0U2VsZWN0ZWRFbGVtZW50cyh0aGlzLmJvYXJkKTtcbiAgICAgICAgICAgICAgICBpZiAoKHNlbGVjdGVkRWxlbWVudHMubGVuZ3RoID09PSAxICYmICFpc1NlbGVjdGlvbk1vdmluZyh0aGlzLmJvYXJkKSkgfHwgIXNlbGVjdGVkRWxlbWVudHMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAxO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAwLjU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGdldFJlY3RhbmdsZTogKCkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLm9wdGlvbnMuZ2V0UmVjdGFuZ2xlKHRoaXMuZWxlbWVudCk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgaGFzUmVzaXplSGFuZGxlOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgaXNTZWxlY3RlZEltYWdlRWxlbWVudCA9IGhhc1Jlc2l6ZUhhbmRsZSh0aGlzLmJvYXJkLCB0aGlzLmVsZW1lbnQpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGlzU2VsZWN0ZWRJbWFnZSA9ICEhZ2V0RWxlbWVudE9mRm9jdXNlZEltYWdlKHRoaXMuYm9hcmQpO1xuICAgICAgICAgICAgICAgIHJldHVybiBpc1NlbGVjdGVkSW1hZ2UgfHwgaXNTZWxlY3RlZEltYWdlRWxlbWVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBnO1xuICAgIH1cblxuICAgIHVwZGF0ZUltYWdlKG5vZGVHOiBTVkdHRWxlbWVudCwgcHJldmlvdXM6IFQsIGN1cnJlbnQ6IFQpIHtcbiAgICAgICAgdGhpcy5lbGVtZW50ID0gY3VycmVudDtcbiAgICAgICAgaWYgKHByZXZpb3VzICE9PSBjdXJyZW50ICYmIHRoaXMuaW1hZ2VDb21wb25lbnRSZWYpIHtcbiAgICAgICAgICAgIGNvbnN0IHByb3BzID0ge1xuICAgICAgICAgICAgICAgIGltYWdlSXRlbTogdGhpcy5vcHRpb25zLmdldEltYWdlSXRlbShjdXJyZW50KSxcbiAgICAgICAgICAgICAgICBlbGVtZW50OiBjdXJyZW50LFxuICAgICAgICAgICAgICAgIGdldFJlY3RhbmdsZTogKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zLmdldFJlY3RhbmdsZShjdXJyZW50KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgdGhpcy5pbWFnZUNvbXBvbmVudFJlZi51cGRhdGUocHJvcHMpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGN1cnJlbnRGb3JlaWduT2JqZWN0ID0gdGhpcy5vcHRpb25zLmdldFJlY3RhbmdsZShjdXJyZW50KTtcbiAgICAgICAgdXBkYXRlRm9yZWlnbk9iamVjdChcbiAgICAgICAgICAgIHRoaXMuZyEsXG4gICAgICAgICAgICBjdXJyZW50Rm9yZWlnbk9iamVjdC53aWR0aCxcbiAgICAgICAgICAgIGN1cnJlbnRGb3JlaWduT2JqZWN0LmhlaWdodCxcbiAgICAgICAgICAgIGN1cnJlbnRGb3JlaWduT2JqZWN0LngsXG4gICAgICAgICAgICBjdXJyZW50Rm9yZWlnbk9iamVjdC55XG4gICAgICAgICk7XG4gICAgICAgIGlmIChjdXJyZW50Rm9yZWlnbk9iamVjdCAmJiBjdXJyZW50LmFuZ2xlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHNldEFuZ2xlRm9yRyh0aGlzLmchLCBSZWN0YW5nbGVDbGllbnQuZ2V0Q2VudGVyUG9pbnQoY3VycmVudEZvcmVpZ25PYmplY3QpLCBjdXJyZW50LmFuZ2xlKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBhY3RpdmVHID0gUGxhaXRCb2FyZC5nZXRBY3RpdmVIb3N0KHRoaXMuYm9hcmQpO1xuICAgICAgICB0aGlzLmFjdGl2ZUdlbmVyYXRvci5wcm9jZXNzRHJhd2luZyhjdXJyZW50LCBhY3RpdmVHLCB7IHNlbGVjdGVkOiB0aGlzLmlzRm9jdXMgfSk7XG4gICAgfVxuXG4gICAgc2V0Rm9jdXMoZWxlbWVudDogUGxhaXRFbGVtZW50LCBpc0ZvY3VzOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuaXNGb2N1cyA9IGlzRm9jdXM7XG4gICAgICAgIGNvbnN0IGFjdGl2ZUcgPSBQbGFpdEJvYXJkLmdldEFjdGl2ZUhvc3QodGhpcy5ib2FyZCk7XG4gICAgICAgIHRoaXMuYWN0aXZlR2VuZXJhdG9yLnByb2Nlc3NEcmF3aW5nKGVsZW1lbnQsIGFjdGl2ZUcsIHsgc2VsZWN0ZWQ6IGlzRm9jdXMgfSk7XG4gICAgICAgIGNvbnN0IHByb3BzOiBQYXJ0aWFsPEltYWdlUHJvcHM+ID0ge1xuICAgICAgICAgICAgaXNGb2N1c1xuICAgICAgICB9O1xuICAgICAgICB0aGlzLmltYWdlQ29tcG9uZW50UmVmLnVwZGF0ZShwcm9wcyk7XG4gICAgfVxuXG4gICAgZGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIuZGVzdHJveSgpO1xuICAgICAgICB0aGlzLmltYWdlQ29tcG9uZW50UmVmPy5kZXN0cm95KCk7XG4gICAgICAgIHRoaXMuYWN0aXZlR2VuZXJhdG9yPy5kZXN0cm95KCk7XG4gICAgfVxufVxuIl19
@@ -1,6 +1,5 @@
1
1
  import { Node } from 'slate';
2
2
  import { getLineHeightByFontSize } from '../utils/text';
3
- import { IS_WINDOWS } from '@plait/core';
4
3
  export function measureElement(element, options, containerMaxWidth = 10000) {
5
4
  const canvas = document.createElement('canvas');
6
5
  const ctx = canvas.getContext('2d');
@@ -31,37 +30,8 @@ export function measureElement(element, options, containerMaxWidth = 10000) {
31
30
  lineTexts.forEach((text, index) => {
32
31
  const font = getFont(text, { fontFamily: options.fontFamily, fontSize: options.fontSize });
33
32
  ctx.font = font;
34
- // Windows 平台下的特殊处理
35
- if (IS_WINDOWS) {
36
- let adjustedWidth = 0;
37
- // 逐字符处理
38
- for (let i = 0; i < text.text.length; i++) {
39
- const char = text.text[i];
40
- const charMetrics = ctx.measureText(char);
41
- // 判断是否为汉字(通过 Unicode 范围)
42
- if (/[\u4e00-\u9fa5]/.test(char)) {
43
- adjustedWidth += charMetrics.width;
44
- }
45
- else {
46
- // 非汉字字符的宽度调整
47
- if (/[a-zA-Z]/.test(char)) {
48
- adjustedWidth += charMetrics.width + 1.5; // 字母
49
- }
50
- else if (/[0-9]/.test(char)) {
51
- adjustedWidth += charMetrics.width + 1.5; // 数字
52
- }
53
- else {
54
- adjustedWidth += charMetrics.width + 0.8; // 其他符号
55
- }
56
- }
57
- }
58
- lineWidth += adjustedWidth;
59
- }
60
- else {
61
- lineWidth += ctx.measureText(text.text).width;
62
- }
33
+ lineWidth += ctx.measureText(text.text).width;
63
34
  const isLast = index === lineTexts.length - 1;
64
- // skip when text is empty and is not last text of line
65
35
  if (text['font-size'] && (isLast || text.text !== '')) {
66
36
  const lineHeight = getLineHeightByFontSize(parseFloat(text['font-size']));
67
37
  if (lineHeight > maxLineHeight) {
@@ -86,4 +56,4 @@ export function measureElement(element, options, containerMaxWidth = 10000) {
86
56
  const getFont = (text, options) => {
87
57
  return `${text.italic ? 'italic ' : ''} ${text.bold ? 'bold ' : ''} ${text['font-size'] || options.fontSize}px ${options.fontFamily} `;
88
58
  };
89
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1tZWFzdXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tbW9uL3NyYy90ZXh0L3RleHQtbWVhc3VyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBRTdCLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXpDLE1BQU0sVUFBVSxjQUFjLENBQzFCLE9BQXlCLEVBQ3pCLE9BR0MsRUFDRCxvQkFBNEIsS0FBSztJQUVqQyxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2hELE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUE2QixDQUFDO0lBQ2hFLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDeEMsTUFBTSxLQUFLLEdBQW1CLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDbkMsS0FBSyxNQUFNLFNBQVMsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUNsQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsU0FBUyxDQUFDO1FBQ3pCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckMsTUFBTSxTQUFTLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsaUJBQXlCLEVBQUUsS0FBYSxFQUFFLEVBQUU7WUFDM0QsTUFBTSxXQUFXLEdBQUcsRUFBRSxHQUFHLElBQUksRUFBRSxJQUFJLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQztZQUN6RCxJQUFJLEtBQUssS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFD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VSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQzFFLElBQUksVUFBVSxHQUFHLGFBQWEsRUFBRSxDQUFDO29CQUM3QixhQUFhLEdBQUcsVUFBVSxDQUFDO2dCQUMvQixDQUFDO1lBQ0wsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxTQUFTLElBQUksaUJBQWlCLEVBQUUsQ0FBQztZQUNqQyxJQUFJLFNBQVMsR0FBRyxLQUFLLEVBQUUsQ0FBQztnQkFDcEIsS0FBSyxHQUFHLFNBQVMsQ0FBQztZQUN0QixDQUFDO1lBQ0QsTUFBTSxJQUFJLGFBQWEsQ0FBQztRQUM1QixDQUFDO2FBQU0sQ0FBQztZQUNKLEtBQUssR0FBRyxpQkFBaUIsQ0FBQztZQUMxQixNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxpQkFBaUIsQ0FBQyxDQUFDO1lBQ2hFLE1BQU0sSUFBSSxhQUFhLEdBQUcsY0FBYyxDQUFDO1FBQzdDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUNILE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7QUFDN0IsQ0FBQztBQUVELE1BQU0sT0FBTyxHQUFHLENBQ1osSUFBZ0IsRUFDaEIsT0FHQyxFQUNILEVBQUU7SUFDQSxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxRQUFRLE1BQU0sT0FBTyxDQUFDLFVBQVUsR0FBRyxDQUFDO0FBQzNJLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5vZGUgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBDdXN0b21UZXh0LCBQYXJhZ3JhcGhFbGVtZW50IH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBnZXRMaW5lSGVpZ2h0QnlGb250U2l6ZSB9IGZyb20gJy4uL3V0aWxzL3RleHQnO1xuaW1wb3J0IHsgSVNfV0lORE9XUyB9IGZyb20gJ0BwbGFpdC9jb3JlJztcblxuZXhwb3J0IGZ1bmN0aW9uIG1lYXN1cmVFbGVtZW50KFxuICAgIGVsZW1lbnQ6IFBhcmFncmFwaEVsZW1lbnQsXG4gICAgb3B0aW9uczoge1xuICAgICAgICBmb250U2l6ZTogbnVtYmVyO1xuICAgICAgICBmb250RmFtaWx5OiBzdHJpbmc7XG4gICAgfSxcbiAgICBjb250YWluZXJNYXhXaWR0aDogbnVtYmVyID0gMTAwMDBcbikge1xuICAgIGNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpO1xuICAgIGNvbnN0IGN0eCA9IGNhbnZhcy5nZXRDb250ZXh0KCcyZCcpIGFzIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDtcbiAgICBjb25zdCB0ZXh0RW50cmllcyA9IE5vZGUudGV4dHMoZWxlbWVudCk7XG4gICAgY29uc3QgbGluZXM6IEN1c3RvbVRleHRbXVtdID0gW1tdXTtcbiAgICBmb3IgKGNvbnN0IHRleHRFbnRyeSBvZiB0ZXh0RW50cmllcykge1xuICAgICAgICBjb25zdCBbdGV4dF0gPSB0ZXh0RW50cnk7XG4gICAgICAgIGNvbnN0IHRleHRTdHJpbmcgPSBOb2RlLnN0cmluZyh0ZXh0KTtcbiAgICAgICAgY29uc3QgdGV4dEFycmF5ID0gdGV4dFN0cmluZy5zcGxpdCgnXFxuJyk7XG4gICAgICAgIHRleHRBcnJheS5mb3JFYWNoKChzZWdtZW50VGV4dFN0cmluZzogc3RyaW5nLCBpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBzZWdtZW50VGV4dCA9IHsgLi4udGV4dCwgdGV4dDogc2VnbWVudFRleHRTdHJpbmcgfTtcbiAgICAgICAgICAgIGlmIChpbmRleCA9PT0gMCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRMaW5lID0gbGluZXNbbGluZXMubGVuZ3RoIC0gMV07XG4gICAgICAgICAgICAgICAgY3VycmVudExpbmUucHVzaChzZWdtZW50VGV4dCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnN0IG5ld0xpbmU6IEN1c3RvbVRleHRbXSA9IFtdO1xuICAgICAgICAgICAgICAgIG5ld0xpbmUucHVzaChzZWdtZW50VGV4dCk7XG4gICAgICAgICAgICAgICAgbGluZXMucHVzaChuZXdMaW5lKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGxldCB3aWR0aCA9IDA7XG4gICAgbGV0IGhlaWdodCA9IDA7XG4gICAgbGluZXMuZm9yRWFjaCgobGluZVRleHRzOiBDdXN0b21UZXh0W10sIGluZGV4OiBudW1iZXIpID0+IHtcbiAgICAgICAgbGV0IGxpbmVXaWR0aCA9IDA7XG4gICAgICAgIGxldCBtYXhMaW5lSGVpZ2h0ID0gZ2V0TGluZUhlaWdodEJ5Rm9udFNpemUob3B0aW9ucy5mb250U2l6ZSk7XG4gICAgICAgIGxpbmVUZXh0cy5mb3JFYWNoKCh0ZXh0OiBDdXN0b21UZXh0LCBpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBmb250ID0gZ2V0Rm9udCh0ZXh0LCB7IGZvbnRGYW1pbHk6IG9wdGlvbnMuZm9udEZhbWlseSwgZm9udFNpemU6IG9wdGlvbnMuZm9udFNpemUgfSk7XG4gICAgICAgICAgICBjdHguZm9udCA9IGZvbnQ7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIC8vIFdpbmRvd3Mg5bmz5Y+w5LiL55qE54m55q6K5aSE55CGXG4gICAgICAgICAgICBpZiAoSVNfV0lORE9XUykge1xuICAgICAgICAgICAgICAgIGxldCBhZGp1c3RlZFdpZHRoID0gMDtcbiAgICAgICAgICAgICAgICAvLyDpgJDlrZfnrKblpITnkIZcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRleHQudGV4dC5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyID0gdGV4dC50ZXh0W2ldO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyTWV0cmljcyA9IGN0eC5tZWFzdXJlVGV4dChjaGFyKTtcbiAgICAgICAgICAgICAgICAgICAgLy8g5Yik5pat5piv5ZCm5Li65rGJ5a2X77yI6YCa6L+HIFVuaWNvZGUg6IyD5Zu077yJXG4gICAgICAgICAgICAgICAgICAgIGlmICgvW1xcdTRlMDAtXFx1OWZhNV0vLnRlc3QoY2hhcikpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFkanVzdGVkV2lkdGggKz0gY2hhck1ldHJpY3Mud2lkdGg7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyDpnZ7msYnlrZflrZfnrKbnmoTlrr3luqbosIPmlbRcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICgvW2EtekEtWl0vLnRlc3QoY2hhcikpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZGp1c3RlZFdpZHRoICs9IGNoYXJNZXRyaWNzLndpZHRoICsgMS41OyAvLyDlrZfmr41cbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoL1swLTldLy50ZXN0KGNoYXIpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWRqdXN0ZWRXaWR0aCArPSBjaGFyTWV0cmljcy53aWR0aCArIDEuNTsgLy8g5pWw5a2XXG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkanVzdGVkV2lkdGggKz0gY2hhck1ldHJpY3Mud2lkdGggKyAwLjg7IC8vIOWFtuS7luespuWPt1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGxpbmVXaWR0aCArPSBhZGp1c3RlZFdpZHRoO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBsaW5lV2lkdGggKz0gY3R4Lm1lYXN1cmVUZXh0KHRleHQudGV4dCkud2lkdGg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IGlzTGFzdCA9IGluZGV4ID09PSBsaW5lVGV4dHMubGVuZ3RoIC0gMTtcbiAgICAgICAgICAgIC8vIHNraXAgd2hlbiB0ZXh0IGlzIGVtcHR5IGFuZCBpcyBub3QgbGFzdCB0ZXh0IG9mIGxpbmVcbiAgICAgICAgICAgIGlmICh0ZXh0Wydmb250LXNpemUnXSAmJiAoaXNMYXN0IHx8IHRleHQudGV4dCAhPT0gJycpKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgbGluZUhlaWdodCA9IGdldExpbmVIZWlnaHRCeUZvbnRTaXplKHBhcnNlRmxvYXQodGV4dFsnZm9udC1zaXplJ10pKTtcbiAgICAgICAgICAgICAgICBpZiAobGluZUhlaWdodCA+IG1heExpbmVIZWlnaHQpIHtcbiAgICAgICAgICAgICAgICAgICAgbWF4TGluZUhlaWdodCA9IGxpbmVIZWlnaHQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgaWYgKGxpbmVXaWR0aCA8PSBjb250YWluZXJNYXhXaWR0aCkge1xuICAgICAgICAgICAgaWYgKGxpbmVXaWR0aCA+IHdpZHRoKSB7XG4gICAgICAgICAgICAgICAgd2lkdGggPSBsaW5lV2lkdGg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBoZWlnaHQgKz0gbWF4TGluZUhlaWdodDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHdpZHRoID0gY29udGFpbmVyTWF4V2lkdGg7XG4gICAgICAgICAgICBjb25zdCBsaW5lV3JhcE51bWJlciA9IE1hdGguY2VpbChsaW5lV2lkdGggLyBjb250YWluZXJNYXhXaWR0aCk7XG4gICAgICAgICAgICBoZWlnaHQgKz0gbWF4TGluZUhlaWdodCAqIGxpbmVXcmFwTnVtYmVyO1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIHsgd2lkdGgsIGhlaWdodCB9O1xufVxuXG5jb25zdCBnZXRGb250ID0gKFxuICAgIHRleHQ6IEN1c3RvbVRleHQsXG4gICAgb3B0aW9uczoge1xuICAgICAgICBmb250U2l6ZTogbnVtYmVyO1xuICAgICAgICBmb250RmFtaWx5OiBzdHJpbmc7XG4gICAgfVxuKSA9PiB7XG4gICAgcmV0dXJuIGAke3RleHQuaXRhbGljID8gJ2l0YWxpYyAnIDogJyd9ICR7dGV4dC5ib2xkID8gJ2JvbGQgJyA6ICcnfSAke3RleHRbJ2ZvbnQtc2l6ZSddIHx8IG9wdGlvbnMuZm9udFNpemV9cHggJHtvcHRpb25zLmZvbnRGYW1pbHl9IGA7XG59O1xuIl19
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1tZWFzdXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tbW9uL3NyYy90ZXh0L3RleHQtbWVhc3VyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBRTdCLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV4RCxNQUFNLFVBQVUsY0FBYyxDQUMxQixPQUF5QixFQUN6QixPQUdDLEVBQ0Qsb0JBQTRCLEtBQUs7SUFFakMsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNoRCxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBNkIsQ0FBQztJQUNoRSxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3hDLE1BQU0sS0FBSyxHQUFtQixDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ25DLEtBQUssTUFBTSxTQUFTLElBQUksV0FBVyxFQUFFLENBQUM7UUFDbEMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLFNBQVMsQ0FBQztRQUN6QixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3JDLE1BQU0sU0FBUyxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLGlCQUF5QixFQUFFLEtBQWEsRUFBRSxFQUFFO1lBQzNELE1BQU0sV0FBVyxHQUFHLEVBQUUsR0FBRyxJQUFJLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixFQUFFLENBQUM7WUFDekQsSUFBSSxLQUFLLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ2QsTUFBTSxXQUFXLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBQzVDLFdBQVcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDbEMsQ0FBQztpQkFBTSxDQUFDO2dCQUNKLE1BQU0sT0FBTyxHQUFpQixFQUFFLENBQUM7Z0JBQ2pDLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7Z0JBQzFCLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDeEIsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUNELElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQztJQUNkLElBQUksTUFBTSxHQUFHLENBQUMsQ0FBQztJQUNmLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUF1QixFQUFFLEtBQWEsRUFBRSxFQUFFO1FBQ3JELElBQUksU0FBUyxHQUFHLENBQUMsQ0FBQztRQUNsQixJQUFJLGFBQWEsR0FBRyx1QkFBdUIsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDOUQsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQWdCLEVBQUUsS0FBYSxFQUFFLEVBQUU7WUFDbEQsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksRUFBRSxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsVUFBVSxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztZQUMzRixHQUFHLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztZQUNoQixTQUFTLElBQUksR0FBRyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDO1lBQzlDLE1BQU0sTUFBTSxHQUFHLEtBQUssS0FBSyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztZQUM5QyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUM7Z0JBQ3BELE1BQU0sVUFBVSxHQUFHLHVCQUF1QixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUMxRSxJQUFJLFVBQVUsR0FBRyxhQUFhLEVBQUUsQ0FBQztvQkFDN0IsYUFBYSxHQUFHLFVBQVUsQ0FBQztnQkFDL0IsQ0FBQztZQUNMLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksU0FBUyxJQUFJLGlCQUFpQixFQUFFLENBQUM7WUFDakMsSUFBSSxTQUFTLEdBQUcsS0FBSyxFQUFFLENBQUM7Z0JBQ3BCLEtBQUssR0FBRyxTQUFTLENBQUM7WUFDdEIsQ0FBQztZQUNELE1BQU0sSUFBSSxhQUFhLENBQUM7UUFDNUIsQ0FBQzthQUFNLENBQUM7WUFDSixLQUFLLEdBQUcsaUJBQWlCLENBQUM7WUFDMUIsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsaUJBQWlCLENBQUMsQ0FBQztZQUNoRSxNQUFNLElBQUksYUFBYSxHQUFHLGNBQWMsQ0FBQztRQUM3QyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDSCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO0FBQzdCLENBQUM7QUFFRCxNQUFNLE9BQU8sR0FBRyxDQUNaLElBQWdCLEVBQ2hCLE9BR0MsRUFDSCxFQUFFO0lBQ0EsT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxPQUFPLENBQUMsUUFBUSxNQUFNLE9BQU8sQ0FBQyxVQUFVLEdBQUcsQ0FBQztBQUMzSSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOb2RlIH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgQ3VzdG9tVGV4dCwgUGFyYWdyYXBoRWxlbWVudCB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgZ2V0TGluZUhlaWdodEJ5Rm9udFNpemUgfSBmcm9tICcuLi91dGlscy90ZXh0JztcblxuZXhwb3J0IGZ1bmN0aW9uIG1lYXN1cmVFbGVtZW50KFxuICAgIGVsZW1lbnQ6IFBhcmFncmFwaEVsZW1lbnQsXG4gICAgb3B0aW9uczoge1xuICAgICAgICBmb250U2l6ZTogbnVtYmVyO1xuICAgICAgICBmb250RmFtaWx5OiBzdHJpbmc7XG4gICAgfSxcbiAgICBjb250YWluZXJNYXhXaWR0aDogbnVtYmVyID0gMTAwMDBcbikge1xuICAgIGNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpO1xuICAgIGNvbnN0IGN0eCA9IGNhbnZhcy5nZXRDb250ZXh0KCcyZCcpIGFzIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDtcbiAgICBjb25zdCB0ZXh0RW50cmllcyA9IE5vZGUudGV4dHMoZWxlbWVudCk7XG4gICAgY29uc3QgbGluZXM6IEN1c3RvbVRleHRbXVtdID0gW1tdXTtcbiAgICBmb3IgKGNvbnN0IHRleHRFbnRyeSBvZiB0ZXh0RW50cmllcykge1xuICAgICAgICBjb25zdCBbdGV4dF0gPSB0ZXh0RW50cnk7XG4gICAgICAgIGNvbnN0IHRleHRTdHJpbmcgPSBOb2RlLnN0cmluZyh0ZXh0KTtcbiAgICAgICAgY29uc3QgdGV4dEFycmF5ID0gdGV4dFN0cmluZy5zcGxpdCgnXFxuJyk7XG4gICAgICAgIHRleHRBcnJheS5mb3JFYWNoKChzZWdtZW50VGV4dFN0cmluZzogc3RyaW5nLCBpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBzZWdtZW50VGV4dCA9IHsgLi4udGV4dCwgdGV4dDogc2VnbWVudFRleHRTdHJpbmcgfTtcbiAgICAgICAgICAgIGlmIChpbmRleCA9PT0gMCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRMaW5lID0gbGluZXNbbGluZXMubGVuZ3RoIC0gMV07XG4gICAgICAgICAgICAgICAgY3VycmVudExpbmUucHVzaChzZWdtZW50VGV4dCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnN0IG5ld0xpbmU6IEN1c3RvbVRleHRbXSA9IFtdO1xuICAgICAgICAgICAgICAgIG5ld0xpbmUucHVzaChzZWdtZW50VGV4dCk7XG4gICAgICAgICAgICAgICAgbGluZXMucHVzaChuZXdMaW5lKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGxldCB3aWR0aCA9IDA7XG4gICAgbGV0IGhlaWdodCA9IDA7XG4gICAgbGluZXMuZm9yRWFjaCgobGluZVRleHRzOiBDdXN0b21UZXh0W10sIGluZGV4OiBudW1iZXIpID0+IHtcbiAgICAgICAgbGV0IGxpbmVXaWR0aCA9IDA7XG4gICAgICAgIGxldCBtYXhMaW5lSGVpZ2h0ID0gZ2V0TGluZUhlaWdodEJ5Rm9udFNpemUob3B0aW9ucy5mb250U2l6ZSk7XG4gICAgICAgIGxpbmVUZXh0cy5mb3JFYWNoKCh0ZXh0OiBDdXN0b21UZXh0LCBpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBmb250ID0gZ2V0Rm9udCh0ZXh0LCB7IGZvbnRGYW1pbHk6IG9wdGlvbnMuZm9udEZhbWlseSwgZm9udFNpemU6IG9wdGlvbnMuZm9udFNpemUgfSk7XG4gICAgICAgICAgICBjdHguZm9udCA9IGZvbnQ7XG4gICAgICAgICAgICBsaW5lV2lkdGggKz0gY3R4Lm1lYXN1cmVUZXh0KHRleHQudGV4dCkud2lkdGg7XG4gICAgICAgICAgICBjb25zdCBpc0xhc3QgPSBpbmRleCA9PT0gbGluZVRleHRzLmxlbmd0aCAtIDE7XG4gICAgICAgICAgICBpZiAodGV4dFsnZm9udC1zaXplJ10gJiYgKGlzTGFzdCB8fCB0ZXh0LnRleHQgIT09ICcnKSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGxpbmVIZWlnaHQgPSBnZXRMaW5lSGVpZ2h0QnlGb250U2l6ZShwYXJzZUZsb2F0KHRleHRbJ2ZvbnQtc2l6ZSddKSk7XG4gICAgICAgICAgICAgICAgaWYgKGxpbmVIZWlnaHQgPiBtYXhMaW5lSGVpZ2h0KSB7XG4gICAgICAgICAgICAgICAgICAgIG1heExpbmVIZWlnaHQgPSBsaW5lSGVpZ2h0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIGlmIChsaW5lV2lkdGggPD0gY29udGFpbmVyTWF4V2lkdGgpIHtcbiAgICAgICAgICAgIGlmIChsaW5lV2lkdGggPiB3aWR0aCkge1xuICAgICAgICAgICAgICAgIHdpZHRoID0gbGluZVdpZHRoO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaGVpZ2h0ICs9IG1heExpbmVIZWlnaHQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB3aWR0aCA9IGNvbnRhaW5lck1heFdpZHRoO1xuICAgICAgICAgICAgY29uc3QgbGluZVdyYXBOdW1iZXIgPSBNYXRoLmNlaWwobGluZVdpZHRoIC8gY29udGFpbmVyTWF4V2lkdGgpO1xuICAgICAgICAgICAgaGVpZ2h0ICs9IG1heExpbmVIZWlnaHQgKiBsaW5lV3JhcE51bWJlcjtcbiAgICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiB7IHdpZHRoLCBoZWlnaHQgfTtcbn1cblxuY29uc3QgZ2V0Rm9udCA9IChcbiAgICB0ZXh0OiBDdXN0b21UZXh0LFxuICAgIG9wdGlvbnM6IHtcbiAgICAgICAgZm9udFNpemU6IG51bWJlcjtcbiAgICAgICAgZm9udEZhbWlseTogc3RyaW5nO1xuICAgIH1cbikgPT4ge1xuICAgIHJldHVybiBgJHt0ZXh0Lml0YWxpYyA/ICdpdGFsaWMgJyA6ICcnfSAke3RleHQuYm9sZCA/ICdib2xkICcgOiAnJ30gJHt0ZXh0Wydmb250LXNpemUnXSB8fCBvcHRpb25zLmZvbnRTaXplfXB4ICR7b3B0aW9ucy5mb250RmFtaWx5fSBgO1xufTtcbiJdfQ==
@@ -1,4 +1,4 @@
1
- import { RectangleClient, toActiveRectangleFromViewBoxRectangle, PlaitGroupElement, getSelectionAngle, getElementsInGroup, setAngleForG, drawCircle, PlaitBoard, RESIZE_HANDLE_CLASS_NAME, DEFAULT_COLOR, createG, setStrokeLinecap, drawRectangle, ACTIVE_STROKE_WIDTH, SELECTION_RECTANGLE_CLASS_NAME, ResizeCursorClass, RESIZE_CURSORS, setDragging, rotatePoints, isSelectionMoving, getSelectedElements, distanceBetweenPointAndPoint, Point, Direction, hotkeys, PlaitElement, createDebugGenerator, idCreator, Transforms, createForeignObject, updateForeignObject, getHighestSelectedElements, getRectangleByElements, MERGING, PlaitPointerType, isMainPointer, toViewBoxPoint, toHostPoint, PRESS_AND_MOVE_BUFFER, isDragging, throttleRAF, getRectangleByGroup, ElementFlavour, isSelectedElementOrGroup, Selection, isMovingElements, getHitElementsBySelection, createGroupRectangleG, getSelectedGroups, getHighestSelectedGroups, getSelectedIsolatedElements, getSelectedIsolatedElementsCanAddToGroup, getGroupByElement, IS_WINDOWS, updateForeignObjectWidth, IS_TEXT_EDITABLE } from '@plait/core';
1
+ import { RectangleClient, toActiveRectangleFromViewBoxRectangle, PlaitGroupElement, getSelectionAngle, getElementsInGroup, setAngleForG, drawCircle, PlaitBoard, RESIZE_HANDLE_CLASS_NAME, DEFAULT_COLOR, createG, setStrokeLinecap, drawRectangle, ACTIVE_STROKE_WIDTH, SELECTION_RECTANGLE_CLASS_NAME, ResizeCursorClass, RESIZE_CURSORS, setDragging, rotatePoints, isSelectionMoving, getSelectedElements, distanceBetweenPointAndPoint, Point, Direction, hotkeys, PlaitElement, createDebugGenerator, idCreator, Transforms, createForeignObject, updateForeignObject, getHighestSelectedElements, getRectangleByElements, MERGING, PlaitPointerType, isMainPointer, toViewBoxPoint, toHostPoint, PRESS_AND_MOVE_BUFFER, isDragging, throttleRAF, getRectangleByGroup, ElementFlavour, isSelectedElementOrGroup, Selection, isMovingElements, getHitElementsBySelection, createGroupRectangleG, getSelectedGroups, getHighestSelectedGroups, getSelectedIsolatedElements, getSelectedIsolatedElementsCanAddToGroup, getGroupByElement, updateForeignObjectWidth, IS_TEXT_EDITABLE } from '@plait/core';
2
2
  import { isKeyHotkey } from 'is-hotkey';
3
3
  import { Node, Operation, Transforms as Transforms$1, Range, Editor } from 'slate';
4
4
  import { fromEvent, timer } from 'rxjs';
@@ -11,7 +11,7 @@ const DEFAULT_ROUTE_MARGIN = 30;
11
11
  const TRANSPARENT = 'transparent';
12
12
  const ROTATE_HANDLE_DISTANCE_TO_ELEMENT = 20;
13
13
  const ROTATE_HANDLE_SIZE = 18;
14
- const DEFAULT_FONT_FAMILY = 'PingFangSC-Regular, "PingFang SC"';
14
+ const DEFAULT_FONT_FAMILY = `-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'PingFang SC', 'Noto Sans', 'Noto Sans CJK SC', 'Microsoft Yahei', 'Hiragino Sans GB', Arial, sans-serif`;
15
15
  const DEFAULT_FILL = 'none';
16
16
 
17
17
  var MediaKeys;
@@ -1415,7 +1415,7 @@ class ImageGenerator extends Generator {
1415
1415
  }
1416
1416
  const currentForeignObject = this.options.getRectangle(current);
1417
1417
  updateForeignObject(this.g, currentForeignObject.width, currentForeignObject.height, currentForeignObject.x, currentForeignObject.y);
1418
- if (currentForeignObject && current.angle) {
1418
+ if (currentForeignObject && current.angle !== undefined) {
1419
1419
  setAngleForG(this.g, RectangleClient.getCenterPoint(currentForeignObject), current.angle);
1420
1420
  }
1421
1421
  const activeG = PlaitBoard.getActiveHost(this.board);
@@ -2038,37 +2038,8 @@ function measureElement(element, options, containerMaxWidth = 10000) {
2038
2038
  lineTexts.forEach((text, index) => {
2039
2039
  const font = getFont(text, { fontFamily: options.fontFamily, fontSize: options.fontSize });
2040
2040
  ctx.font = font;
2041
- // Windows 平台下的特殊处理
2042
- if (IS_WINDOWS) {
2043
- let adjustedWidth = 0;
2044
- // 逐字符处理
2045
- for (let i = 0; i < text.text.length; i++) {
2046
- const char = text.text[i];
2047
- const charMetrics = ctx.measureText(char);
2048
- // 判断是否为汉字(通过 Unicode 范围)
2049
- if (/[\u4e00-\u9fa5]/.test(char)) {
2050
- adjustedWidth += charMetrics.width;
2051
- }
2052
- else {
2053
- // 非汉字字符的宽度调整
2054
- if (/[a-zA-Z]/.test(char)) {
2055
- adjustedWidth += charMetrics.width + 1.5; // 字母
2056
- }
2057
- else if (/[0-9]/.test(char)) {
2058
- adjustedWidth += charMetrics.width + 1.5; // 数字
2059
- }
2060
- else {
2061
- adjustedWidth += charMetrics.width + 0.8; // 其他符号
2062
- }
2063
- }
2064
- }
2065
- lineWidth += adjustedWidth;
2066
- }
2067
- else {
2068
- lineWidth += ctx.measureText(text.text).width;
2069
- }
2041
+ lineWidth += ctx.measureText(text.text).width;
2070
2042
  const isLast = index === lineTexts.length - 1;
2071
- // skip when text is empty and is not last text of line
2072
2043
  if (text['font-size'] && (isLast || text.text !== '')) {
2073
2044
  const lineHeight = getLineHeightByFontSize(parseFloat(text['font-size']));
2074
2045
  if (lineHeight > maxLineHeight) {