@a3s-lab/office 0.37.4 → 0.38.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 (33) hide show
  1. package/README.md +10 -1
  2. package/dist/{0~4808.js → 0~5024.js} +150 -2
  3. package/dist/0~7240.js +26 -4
  4. package/dist/0~document-editor.js +455 -13
  5. package/dist/0~spreadsheet-editor.js +52 -36
  6. package/dist/0~work-docx-export.js +215 -18
  7. package/dist/0~work-docx-import.js +4 -2
  8. package/dist/0~work-office-diagnostics.js +57 -1
  9. package/dist/4174.js +313 -112
  10. package/dist/5416.js +56 -44
  11. package/dist/core.js +56 -10
  12. package/dist/internal/features/work/editors/document-font-dialog-model.d.ts +5 -4
  13. package/dist/internal/features/work/editors/document-font-dialog-opentype-model.d.ts +53 -0
  14. package/dist/internal/features/work/editors/document-font-dialog-script-font-model.d.ts +5 -0
  15. package/dist/internal/features/work/editors/spreadsheet-auto-filter-menu.d.ts +2 -2
  16. package/dist/internal/features/work/editors/spreadsheet-auto-filter.d.ts +3 -3
  17. package/dist/internal/features/work/editors/spreadsheet-date-time-command.d.ts +2 -1
  18. package/dist/internal/features/work/editors/spreadsheet-editor-support.d.ts +2 -2
  19. package/dist/internal/features/work/editors/spreadsheet-filter-reconciliation.d.ts +3 -2
  20. package/dist/internal/features/work/work-document-equations.d.ts +4 -3
  21. package/dist/internal/features/work/work-document-format-changes.d.ts +2 -0
  22. package/dist/internal/features/work/work-document-opentype.d.ts +39 -0
  23. package/dist/internal/features/work/work-document-word-line-metrics.d.ts +1 -0
  24. package/dist/internal/features/work/work-docx-opentype-diagnostics.d.ts +3 -0
  25. package/dist/internal/features/work/work-docx-opentype-export.d.ts +19 -0
  26. package/dist/internal/features/work/work-docx-opentype-import.d.ts +8 -0
  27. package/dist/internal/features/work/work-docx-run-formatting-import.d.ts +2 -0
  28. package/dist/internal/features/work/work-spreadsheet-dynamic-filter.d.ts +3 -2
  29. package/dist/internal/features/work/work-types.d.ts +3 -0
  30. package/dist/office-kernel.wasm +0 -0
  31. package/dist/styles.css +7 -3
  32. package/docs/latest/en/browser-editor-architecture.md +4 -2
  33. package/package.json +6 -1
package/dist/4174.js CHANGED
@@ -2967,6 +2967,276 @@ function documentKerningFontSizePoints(value) {
2967
2967
  if (!Number.isFinite(amount) || amount <= 0) return DOCUMENT_DEFAULT_FONT_SIZE_POINTS;
2968
2968
  return match[2]?.toLowerCase() === 'px' ? 0.75 * amount : amount;
2969
2969
  }
2970
+ const DOCUMENT_OPEN_TYPE_ATTRIBUTE = 'data-office-opentype-features';
2971
+ const DOCUMENT_OPEN_TYPE_LIGATURES = [
2972
+ 'none',
2973
+ 'standard',
2974
+ 'contextual',
2975
+ 'historical',
2976
+ 'discretional',
2977
+ 'standardContextual',
2978
+ 'standardHistorical',
2979
+ 'contextualHistorical',
2980
+ 'standardDiscretional',
2981
+ 'contextualDiscretional',
2982
+ 'historicalDiscretional',
2983
+ 'standardContextualHistorical',
2984
+ 'standardContextualDiscretional',
2985
+ 'standardHistoricalDiscretional',
2986
+ 'contextualHistoricalDiscretional',
2987
+ 'all'
2988
+ ];
2989
+ const DOCUMENT_OPEN_TYPE_NUMBER_FORMS = [
2990
+ 'default',
2991
+ 'lining',
2992
+ 'oldStyle'
2993
+ ];
2994
+ const DOCUMENT_OPEN_TYPE_NUMBER_SPACINGS = [
2995
+ 'default',
2996
+ 'proportional',
2997
+ 'tabular'
2998
+ ];
2999
+ const OPEN_TYPE_FEATURE_KEYS = [
3000
+ 'ligatures',
3001
+ 'numberForm',
3002
+ 'numberSpacing',
3003
+ 'stylisticSets',
3004
+ 'contextualAlternates'
3005
+ ];
3006
+ const OPEN_TYPE_FEATURE_KEY_SET = new Set(OPEN_TYPE_FEATURE_KEYS);
3007
+ const LIGATURE_SET = new Set(DOCUMENT_OPEN_TYPE_LIGATURES);
3008
+ const NUMBER_FORM_SET = new Set(DOCUMENT_OPEN_TYPE_NUMBER_FORMS);
3009
+ const NUMBER_SPACING_SET = new Set(DOCUMENT_OPEN_TYPE_NUMBER_SPACINGS);
3010
+ const MAX_STYLISTIC_SET_ENTRIES = 4096;
3011
+ const MIN_STYLISTIC_SET_ID = 1;
3012
+ const MAX_STYLISTIC_SET_ID = 20;
3013
+ const MAX_SERIALIZED_OPEN_TYPE_BYTES = 1024;
3014
+ const LIGATURE_STANDARD = 1;
3015
+ const LIGATURE_CONTEXTUAL = 2;
3016
+ const LIGATURE_HISTORICAL = 4;
3017
+ const LIGATURE_DISCRETIONAL = 8;
3018
+ const LIGATURE_FLAGS = new Map([
3019
+ [
3020
+ 'none',
3021
+ 0
3022
+ ],
3023
+ [
3024
+ 'standard',
3025
+ LIGATURE_STANDARD
3026
+ ],
3027
+ [
3028
+ 'contextual',
3029
+ LIGATURE_CONTEXTUAL
3030
+ ],
3031
+ [
3032
+ 'historical',
3033
+ LIGATURE_HISTORICAL
3034
+ ],
3035
+ [
3036
+ 'discretional',
3037
+ LIGATURE_DISCRETIONAL
3038
+ ],
3039
+ [
3040
+ 'standardContextual',
3041
+ LIGATURE_STANDARD | LIGATURE_CONTEXTUAL
3042
+ ],
3043
+ [
3044
+ 'standardHistorical',
3045
+ LIGATURE_STANDARD | LIGATURE_HISTORICAL
3046
+ ],
3047
+ [
3048
+ 'contextualHistorical',
3049
+ LIGATURE_CONTEXTUAL | LIGATURE_HISTORICAL
3050
+ ],
3051
+ [
3052
+ 'standardDiscretional',
3053
+ LIGATURE_STANDARD | LIGATURE_DISCRETIONAL
3054
+ ],
3055
+ [
3056
+ 'contextualDiscretional',
3057
+ LIGATURE_CONTEXTUAL | LIGATURE_DISCRETIONAL
3058
+ ],
3059
+ [
3060
+ 'historicalDiscretional',
3061
+ LIGATURE_HISTORICAL | LIGATURE_DISCRETIONAL
3062
+ ],
3063
+ [
3064
+ 'standardContextualHistorical',
3065
+ LIGATURE_STANDARD | LIGATURE_CONTEXTUAL | LIGATURE_HISTORICAL
3066
+ ],
3067
+ [
3068
+ 'standardContextualDiscretional',
3069
+ LIGATURE_STANDARD | LIGATURE_CONTEXTUAL | LIGATURE_DISCRETIONAL
3070
+ ],
3071
+ [
3072
+ 'standardHistoricalDiscretional',
3073
+ LIGATURE_STANDARD | LIGATURE_HISTORICAL | LIGATURE_DISCRETIONAL
3074
+ ],
3075
+ [
3076
+ 'contextualHistoricalDiscretional',
3077
+ LIGATURE_CONTEXTUAL | LIGATURE_HISTORICAL | LIGATURE_DISCRETIONAL
3078
+ ],
3079
+ [
3080
+ 'all',
3081
+ LIGATURE_STANDARD | LIGATURE_CONTEXTUAL | LIGATURE_HISTORICAL | LIGATURE_DISCRETIONAL
3082
+ ]
3083
+ ]);
3084
+ function normalizeDocumentOpenTypeLigatures(value) {
3085
+ return 'string' == typeof value && LIGATURE_SET.has(value) ? value : null;
3086
+ }
3087
+ function normalizeDocumentOpenTypeNumberForm(value) {
3088
+ return 'string' == typeof value && NUMBER_FORM_SET.has(value) ? value : null;
3089
+ }
3090
+ function normalizeDocumentOpenTypeNumberSpacing(value) {
3091
+ return 'string' == typeof value && NUMBER_SPACING_SET.has(value) ? value : null;
3092
+ }
3093
+ function normalizeDocumentOpenTypeStylisticSets(value) {
3094
+ if (!Array.isArray(value) || value.length > MAX_STYLISTIC_SET_ENTRIES) return null;
3095
+ const result = [];
3096
+ const seen = new Set();
3097
+ for (const candidate of value){
3098
+ if (!Number.isSafeInteger(candidate) || candidate < MIN_STYLISTIC_SET_ID || candidate > MAX_STYLISTIC_SET_ID) return null;
3099
+ if (!seen.has(candidate)) {
3100
+ seen.add(candidate);
3101
+ result.push(candidate);
3102
+ }
3103
+ }
3104
+ return result;
3105
+ }
3106
+ function normalizeDocumentOpenTypeFeatures(value) {
3107
+ if (!work_document_opentype_isRecord(value)) return null;
3108
+ if (Object.keys(value).some((key)=>!OPEN_TYPE_FEATURE_KEY_SET.has(key))) return null;
3109
+ const result = {};
3110
+ if (void 0 !== value.ligatures) {
3111
+ const ligatures = normalizeDocumentOpenTypeLigatures(value.ligatures);
3112
+ if (null === ligatures) return null;
3113
+ result.ligatures = ligatures;
3114
+ }
3115
+ if (void 0 !== value.numberForm) {
3116
+ const numberForm = normalizeDocumentOpenTypeNumberForm(value.numberForm);
3117
+ if (null === numberForm) return null;
3118
+ result.numberForm = numberForm;
3119
+ }
3120
+ if (void 0 !== value.numberSpacing) {
3121
+ const numberSpacing = normalizeDocumentOpenTypeNumberSpacing(value.numberSpacing);
3122
+ if (null === numberSpacing) return null;
3123
+ result.numberSpacing = numberSpacing;
3124
+ }
3125
+ if (void 0 !== value.stylisticSets) {
3126
+ const stylisticSets = normalizeDocumentOpenTypeStylisticSets(value.stylisticSets);
3127
+ if (null === stylisticSets) return null;
3128
+ result.stylisticSets = stylisticSets;
3129
+ }
3130
+ if (void 0 !== value.contextualAlternates) {
3131
+ if ('boolean' != typeof value.contextualAlternates) return null;
3132
+ result.contextualAlternates = value.contextualAlternates;
3133
+ }
3134
+ return Object.keys(result).length ? result : null;
3135
+ }
3136
+ function serializeDocumentOpenTypeFeatures(value) {
3137
+ const features = normalizeDocumentOpenTypeFeatures(value);
3138
+ return features ? JSON.stringify(features) : null;
3139
+ }
3140
+ function parseDocumentOpenTypeFeatures(value) {
3141
+ if ('string' != typeof value || !value.length || value.length > MAX_SERIALIZED_OPEN_TYPE_BYTES) return null;
3142
+ let parsed;
3143
+ try {
3144
+ parsed = JSON.parse(value);
3145
+ } catch {
3146
+ return null;
3147
+ }
3148
+ const features = normalizeDocumentOpenTypeFeatures(parsed);
3149
+ return features && JSON.stringify(features) === value ? features : null;
3150
+ }
3151
+ function documentOpenTypeFeaturesFromElement(element) {
3152
+ return parseDocumentOpenTypeFeatures(element.getAttribute(DOCUMENT_OPEN_TYPE_ATTRIBUTE));
3153
+ }
3154
+ function documentOpenTypeDomAttributes(value) {
3155
+ const features = normalizeDocumentOpenTypeFeatures(value);
3156
+ const serialized = features ? serializeDocumentOpenTypeFeatures(features) : null;
3157
+ if (!features || !serialized) return {};
3158
+ const style = documentOpenTypeCss(features);
3159
+ return {
3160
+ [DOCUMENT_OPEN_TYPE_ATTRIBUTE]: serialized,
3161
+ ...style ? {
3162
+ style
3163
+ } : {}
3164
+ };
3165
+ }
3166
+ function documentOpenTypeCss(value) {
3167
+ const properties = documentOpenTypeCssProperties(value);
3168
+ return [
3169
+ properties.fontFeatureSettings ? `font-feature-settings: ${properties.fontFeatureSettings}` : '',
3170
+ properties.fontVariantLigatures ? `font-variant-ligatures: ${properties.fontVariantLigatures}` : '',
3171
+ properties.fontVariantNumeric ? `font-variant-numeric: ${properties.fontVariantNumeric}` : ''
3172
+ ].filter(Boolean).join('; ');
3173
+ }
3174
+ function documentOpenTypeCssProperties(value) {
3175
+ const features = normalizeDocumentOpenTypeFeatures(value);
3176
+ if (!features) return {};
3177
+ const featureSettings = openTypeFeatureSettingsValue(features.ligatures, features.stylisticSets);
3178
+ const contextualAlternates = contextualAlternateValue(features.contextualAlternates);
3179
+ const numberVariants = numberStylesValue(features.numberForm, features.numberSpacing);
3180
+ return {
3181
+ ...featureSettings ? {
3182
+ fontFeatureSettings: featureSettings
3183
+ } : {},
3184
+ ...contextualAlternates ? {
3185
+ fontVariantLigatures: contextualAlternates
3186
+ } : {},
3187
+ ...numberVariants ? {
3188
+ fontVariantNumeric: numberVariants
3189
+ } : {}
3190
+ };
3191
+ }
3192
+ function isDocumentOpenTypeFeaturePatch(value) {
3193
+ if (!work_document_opentype_isRecord(value) || !Object.keys(value).length) return false;
3194
+ if (Object.keys(value).some((key)=>!OPEN_TYPE_FEATURE_KEY_SET.has(key))) return false;
3195
+ if (void 0 !== value.ligatures && null !== value.ligatures && null === normalizeDocumentOpenTypeLigatures(value.ligatures)) return false;
3196
+ if (void 0 !== value.numberForm && null !== value.numberForm && null === normalizeDocumentOpenTypeNumberForm(value.numberForm)) return false;
3197
+ if (void 0 !== value.numberSpacing && null !== value.numberSpacing && null === normalizeDocumentOpenTypeNumberSpacing(value.numberSpacing)) return false;
3198
+ if (void 0 !== value.stylisticSets && null !== value.stylisticSets && null === normalizeDocumentOpenTypeStylisticSets(value.stylisticSets)) return false;
3199
+ return void 0 === value.contextualAlternates || null === value.contextualAlternates || 'boolean' == typeof value.contextualAlternates;
3200
+ }
3201
+ function patchDocumentOpenTypeFeatures(source, patch) {
3202
+ if (!isDocumentOpenTypeFeaturePatch(patch)) return null;
3203
+ const result = {
3204
+ ...normalizeDocumentOpenTypeFeatures(source) ?? {}
3205
+ };
3206
+ for (const key of OPEN_TYPE_FEATURE_KEYS){
3207
+ if (!(key in patch)) continue;
3208
+ const value = patch[key];
3209
+ if (null === value) delete result[key];
3210
+ else if (void 0 !== value) if ('stylisticSets' === key) result.stylisticSets = normalizeDocumentOpenTypeStylisticSets(value) ?? [];
3211
+ else Object.assign(result, {
3212
+ [key]: value
3213
+ });
3214
+ }
3215
+ return normalizeDocumentOpenTypeFeatures(result);
3216
+ }
3217
+ function openTypeFeatureSettingsValue(ligatures, stylisticSets) {
3218
+ if (void 0 === ligatures && void 0 === stylisticSets) return '';
3219
+ const values = [];
3220
+ const flags = void 0 === ligatures ? void 0 : LIGATURE_FLAGS.get(ligatures);
3221
+ if (void 0 !== flags) values.push(`"liga" ${flags & LIGATURE_STANDARD ? 1 : 0}`, `"clig" ${flags & LIGATURE_CONTEXTUAL ? 1 : 0}`, `"hlig" ${flags & LIGATURE_HISTORICAL ? 1 : 0}`, `"dlig" ${flags & LIGATURE_DISCRETIONAL ? 1 : 0}`);
3222
+ if (void 0 !== stylisticSets) values.push(...stylisticSets.map((id)=>`"ss${String(id).padStart(2, '0')}" 1`));
3223
+ return values.length ? values.join(', ') : 'normal';
3224
+ }
3225
+ function contextualAlternateValue(value) {
3226
+ if (void 0 === value) return '';
3227
+ return value ? 'contextual' : 'no-contextual';
3228
+ }
3229
+ function numberStylesValue(form, spacing) {
3230
+ if (void 0 === form && void 0 === spacing) return '';
3231
+ const values = [
3232
+ 'lining' === form ? 'lining-nums' : 'oldStyle' === form ? 'oldstyle-nums' : '',
3233
+ 'proportional' === spacing ? 'proportional-nums' : 'tabular' === spacing ? 'tabular-nums' : ''
3234
+ ].filter(Boolean);
3235
+ return values.length ? values.join(' ') : 'normal';
3236
+ }
3237
+ function work_document_opentype_isRecord(value) {
3238
+ return 'object' == typeof value && null !== value && !Array.isArray(value);
3239
+ }
2970
3240
  const EQUATION_SELECTOR = 'span[data-document-equation]';
2971
3241
  const MATHML_NAMESPACE = 'http://www.w3.org/1998/Math/MathML';
2972
3242
  const MAX_EQUATION_DEPTH = 32;
@@ -3252,9 +3522,6 @@ const MAX_EQUATION_WORD_GRADIENT_STOPS = 10;
3252
3522
  const EQUATION_WORD_ANGLE_UNITS_PER_DEGREE = 60000;
3253
3523
  const EQUATION_WORD_PERCENTAGE_UNITS_PER_PERCENT = 1000;
3254
3524
  const MAX_EQUATION_WORD_COLOR_TRANSFORMS = 64;
3255
- const MAX_EQUATION_WORD_STYLISTIC_SET_ENTRIES = 4096;
3256
- const MIN_EQUATION_WORD_STYLISTIC_SET_ID = 1;
3257
- const MAX_EQUATION_WORD_STYLISTIC_SET_ID = 20;
3258
3525
  const MIN_EQUATION_WORD_COLOR_PERCENTAGE = -2147483648;
3259
3526
  const MAX_EQUATION_WORD_COLOR_PERCENTAGE = 2147483647;
3260
3527
  const MAX_EQUATION_WORD_FIXED_COLOR_PERCENTAGE = 100000;
@@ -3487,86 +3754,6 @@ const WORD_PROPERTIES_3D_MATERIAL_PRESETS = new Set([
3487
3754
  'softMetal',
3488
3755
  'none'
3489
3756
  ]);
3490
- const WORD_LIGATURE_STANDARD = 1;
3491
- const WORD_LIGATURE_CONTEXTUAL = 2;
3492
- const WORD_LIGATURE_HISTORICAL = 4;
3493
- const WORD_LIGATURE_DISCRETIONAL = 8;
3494
- const WORD_LIGATURE_FLAGS = new Map([
3495
- [
3496
- 'none',
3497
- 0
3498
- ],
3499
- [
3500
- 'standard',
3501
- WORD_LIGATURE_STANDARD
3502
- ],
3503
- [
3504
- 'contextual',
3505
- WORD_LIGATURE_CONTEXTUAL
3506
- ],
3507
- [
3508
- 'historical',
3509
- WORD_LIGATURE_HISTORICAL
3510
- ],
3511
- [
3512
- 'discretional',
3513
- WORD_LIGATURE_DISCRETIONAL
3514
- ],
3515
- [
3516
- 'standardContextual',
3517
- WORD_LIGATURE_STANDARD | WORD_LIGATURE_CONTEXTUAL
3518
- ],
3519
- [
3520
- 'standardHistorical',
3521
- WORD_LIGATURE_STANDARD | WORD_LIGATURE_HISTORICAL
3522
- ],
3523
- [
3524
- 'contextualHistorical',
3525
- WORD_LIGATURE_CONTEXTUAL | WORD_LIGATURE_HISTORICAL
3526
- ],
3527
- [
3528
- 'standardDiscretional',
3529
- WORD_LIGATURE_STANDARD | WORD_LIGATURE_DISCRETIONAL
3530
- ],
3531
- [
3532
- 'contextualDiscretional',
3533
- WORD_LIGATURE_CONTEXTUAL | WORD_LIGATURE_DISCRETIONAL
3534
- ],
3535
- [
3536
- 'historicalDiscretional',
3537
- WORD_LIGATURE_HISTORICAL | WORD_LIGATURE_DISCRETIONAL
3538
- ],
3539
- [
3540
- 'standardContextualHistorical',
3541
- WORD_LIGATURE_STANDARD | WORD_LIGATURE_CONTEXTUAL | WORD_LIGATURE_HISTORICAL
3542
- ],
3543
- [
3544
- 'standardContextualDiscretional',
3545
- WORD_LIGATURE_STANDARD | WORD_LIGATURE_CONTEXTUAL | WORD_LIGATURE_DISCRETIONAL
3546
- ],
3547
- [
3548
- 'standardHistoricalDiscretional',
3549
- WORD_LIGATURE_STANDARD | WORD_LIGATURE_HISTORICAL | WORD_LIGATURE_DISCRETIONAL
3550
- ],
3551
- [
3552
- 'contextualHistoricalDiscretional',
3553
- WORD_LIGATURE_CONTEXTUAL | WORD_LIGATURE_HISTORICAL | WORD_LIGATURE_DISCRETIONAL
3554
- ],
3555
- [
3556
- 'all',
3557
- WORD_LIGATURE_STANDARD | WORD_LIGATURE_CONTEXTUAL | WORD_LIGATURE_HISTORICAL | WORD_LIGATURE_DISCRETIONAL
3558
- ]
3559
- ]);
3560
- const WORD_NUMBER_FORMS = new Set([
3561
- 'default',
3562
- 'lining',
3563
- 'oldStyle'
3564
- ]);
3565
- const WORD_NUMBER_SPACINGS = new Set([
3566
- 'default',
3567
- 'proportional',
3568
- 'tabular'
3569
- ]);
3570
3757
  const WORD_SCENE_3D_CAMERA_PRESETS = new Set([
3571
3758
  'legacyObliqueTopLeft',
3572
3759
  'legacyObliqueTop',
@@ -5054,10 +5241,10 @@ function normalizeEquationWordRunProperties(source) {
5054
5241
  const textFillEffect = void 0 === source.textFillEffect ? void 0 : normalizeEquationWordTextFillEffect(source.textFillEffect);
5055
5242
  const scene3D = void 0 === source.scene3D ? void 0 : normalizeEquationWordScene3D(source.scene3D);
5056
5243
  const properties3D = void 0 === source.properties3D ? void 0 : normalizeEquationWordProperties3D(source.properties3D);
5057
- const ligatures = void 0 === source.ligatures ? void 0 : WORD_LIGATURE_FLAGS.has(source.ligatures) ? source.ligatures : null;
5058
- const numberForm = void 0 === source.numberForm ? void 0 : WORD_NUMBER_FORMS.has(source.numberForm) ? source.numberForm : null;
5059
- const numberSpacing = void 0 === source.numberSpacing ? void 0 : WORD_NUMBER_SPACINGS.has(source.numberSpacing) ? source.numberSpacing : null;
5060
- const stylisticSets = void 0 === source.stylisticSets ? void 0 : normalizeEquationWordStylisticSets(source.stylisticSets);
5244
+ const ligatures = void 0 === source.ligatures ? void 0 : normalizeDocumentOpenTypeLigatures(source.ligatures);
5245
+ const numberForm = void 0 === source.numberForm ? void 0 : normalizeDocumentOpenTypeNumberForm(source.numberForm);
5246
+ const numberSpacing = void 0 === source.numberSpacing ? void 0 : normalizeDocumentOpenTypeNumberSpacing(source.numberSpacing);
5247
+ const stylisticSets = void 0 === source.stylisticSets ? void 0 : normalizeDocumentOpenTypeStylisticSets(source.stylisticSets);
5061
5248
  const characterSpacingTwips = void 0 === source.characterSpacingTwips ? void 0 : normalizeEquationInteger(source.characterSpacingTwips, -MAX_EQUATION_CHARACTER_SPACING_TWIPS, MAX_EQUATION_CHARACTER_SPACING_TWIPS);
5062
5249
  const characterScalePercent = void 0 === source.characterScalePercent ? void 0 : 'number' == typeof source.characterScalePercent ? normalizeDocumentCharacterScalePercent(source.characterScalePercent) : null;
5063
5250
  const kerningThresholdHalfPoints = void 0 === source.kerningThresholdHalfPoints ? void 0 : 'number' == typeof source.kerningThresholdHalfPoints ? normalizeDocumentKerningThresholdHalfPoints(source.kerningThresholdHalfPoints) : null;
@@ -5241,19 +5428,6 @@ function normalizeEquationWordRunProperties(source) {
5241
5428
  };
5242
5429
  return Object.keys(normalized).length ? normalized : void 0;
5243
5430
  }
5244
- function normalizeEquationWordStylisticSets(source) {
5245
- if (!Array.isArray(source) || source.length > MAX_EQUATION_WORD_STYLISTIC_SET_ENTRIES) return null;
5246
- const normalized = [];
5247
- const seen = new Set();
5248
- for (const id of source){
5249
- if ('number' != typeof id || !Number.isInteger(id) || id < MIN_EQUATION_WORD_STYLISTIC_SET_ID || id > MAX_EQUATION_WORD_STYLISTIC_SET_ID) return null;
5250
- if (!seen.has(id)) {
5251
- seen.add(id);
5252
- normalized.push(id);
5253
- }
5254
- }
5255
- return normalized;
5256
- }
5257
5431
  function equationWordRunEffectsConflict(source) {
5258
5432
  if (true === source.allCaps && true === source.smallCaps) return true;
5259
5433
  if (true === source.strike && true === source.doubleStrike) return true;
@@ -5936,23 +6110,26 @@ function wordPropertiesMathMlAttributes(properties, text) {
5936
6110
  }
5937
6111
  function wordRunOpenTypeFeatureStyles(ligatures, stylisticSets) {
5938
6112
  if (void 0 === ligatures && void 0 === stylisticSets) return '';
5939
- const values = [];
5940
- const flags = void 0 === ligatures ? void 0 : WORD_LIGATURE_FLAGS.get(ligatures);
5941
- if (void 0 !== flags) values.push(`"liga" ${flags & WORD_LIGATURE_STANDARD ? 1 : 0}`, `"clig" ${flags & WORD_LIGATURE_CONTEXTUAL ? 1 : 0}`, `"hlig" ${flags & WORD_LIGATURE_HISTORICAL ? 1 : 0}`, `"dlig" ${flags & WORD_LIGATURE_DISCRETIONAL ? 1 : 0}`);
5942
- if (void 0 !== stylisticSets) values.push(...stylisticSets.map((id)=>`"ss${String(id).padStart(2, '0')}" 1`));
5943
- return `font-feature-settings:${values.length ? values.join(', ') : 'normal'}`;
6113
+ const value = documentOpenTypeCssProperties({
6114
+ ligatures,
6115
+ stylisticSets
6116
+ }).fontFeatureSettings;
6117
+ return value ? `font-feature-settings:${value}` : '';
5944
6118
  }
5945
6119
  function wordRunContextualAlternateStyles(contextualAlternates) {
5946
6120
  if (void 0 === contextualAlternates) return '';
5947
- return `font-variant-ligatures:${contextualAlternates ? 'contextual' : 'no-contextual'}`;
6121
+ const value = documentOpenTypeCssProperties({
6122
+ contextualAlternates
6123
+ }).fontVariantLigatures;
6124
+ return value ? `font-variant-ligatures:${value}` : '';
5948
6125
  }
5949
6126
  function wordRunNumberStyles(numberForm, numberSpacing) {
5950
6127
  if (void 0 === numberForm && void 0 === numberSpacing) return '';
5951
- const values = [
5952
- 'lining' === numberForm ? 'lining-nums' : 'oldStyle' === numberForm ? 'oldstyle-nums' : '',
5953
- 'proportional' === numberSpacing ? 'proportional-nums' : 'tabular' === numberSpacing ? 'tabular-nums' : ''
5954
- ].filter(Boolean);
5955
- return `font-variant-numeric:${values.length ? values.join(' ') : 'normal'}`;
6128
+ const value = documentOpenTypeCssProperties({
6129
+ numberForm,
6130
+ numberSpacing
6131
+ }).fontVariantNumeric;
6132
+ return value ? `font-variant-numeric:${value}` : '';
5956
6133
  }
5957
6134
  function wordRunTextFillMathMlColor(effect) {
5958
6135
  if (!effect) return;
@@ -7407,6 +7584,8 @@ function sanitizeAttributes(element, tag) {
7407
7584
  const characterSpacingAttributes = documentCharacterSpacingDomAttributes(characterSpacing);
7408
7585
  const kerningThreshold = 'span' === tag ? documentKerningThresholdHalfPointsFromElement(element) : null;
7409
7586
  const kerningAttributes = documentKerningDomAttributes(kerningThreshold, fontSize);
7587
+ const openTypeFeatures = 'span' === tag ? documentOpenTypeFeaturesFromElement(element) : null;
7588
+ const openTypeAttributes = documentOpenTypeDomAttributes(openTypeFeatures);
7410
7589
  const emphasisMark = 'span' === tag ? documentEmphasisMarkFromElement(element) : null;
7411
7590
  const emphasisAttributes = documentEmphasisMarkDomAttributes(emphasisMark);
7412
7591
  const hiddenText = 'span' === tag ? documentHiddenTextFromElement(element) : null;
@@ -7441,6 +7620,7 @@ function sanitizeAttributes(element, tag) {
7441
7620
  element.removeAttribute(DOCUMENT_CHARACTER_POSITION_ATTRIBUTE);
7442
7621
  element.removeAttribute(DOCUMENT_CHARACTER_SPACING_ATTRIBUTE);
7443
7622
  element.removeAttribute(DOCUMENT_KERNING_THRESHOLD_ATTRIBUTE);
7623
+ element.removeAttribute(DOCUMENT_OPEN_TYPE_ATTRIBUTE);
7444
7624
  element.removeAttribute(DOCUMENT_EMPHASIS_MARK_ATTRIBUTE);
7445
7625
  element.removeAttribute(DOCUMENT_HIDDEN_TEXT_ATTRIBUTE);
7446
7626
  element.removeAttribute(DOCUMENT_LEGACY_TEXT_OUTLINE_ATTRIBUTE);
@@ -7466,6 +7646,7 @@ function sanitizeAttributes(element, tag) {
7466
7646
  characterPositionAttributes.style ?? '',
7467
7647
  characterSpacingAttributes.style ?? '',
7468
7648
  kerningAttributes.style ?? '',
7649
+ openTypeAttributes.style ?? '',
7469
7650
  emphasisAttributes.style ?? '',
7470
7651
  underlineAttributes.style ?? '',
7471
7652
  strikeAttributes.style ?? '',
@@ -7527,6 +7708,8 @@ function sanitizeAttributes(element, tag) {
7527
7708
  for (const [name, value] of Object.entries(proofingAttributes))element.setAttribute(name, value);
7528
7709
  const nativeHighlight = highlightAttributes[DOCUMENT_HIGHLIGHT_ATTRIBUTE];
7529
7710
  if (nativeHighlight) element.setAttribute(DOCUMENT_HIGHLIGHT_ATTRIBUTE, nativeHighlight);
7711
+ const serializedOpenType = openTypeAttributes[DOCUMENT_OPEN_TYPE_ATTRIBUTE];
7712
+ if (serializedOpenType) element.setAttribute(DOCUMENT_OPEN_TYPE_ATTRIBUTE, serializedOpenType);
7530
7713
  }
7531
7714
  if ('span' === tag && scriptFonts) {
7532
7715
  for (const [name, value] of Object.entries(scriptFontAttributes))if ('style' !== name) element.setAttribute(name, value);
@@ -7574,6 +7757,7 @@ function sanitizeAttributes(element, tag) {
7574
7757
  DOCUMENT_CHARACTER_POSITION_ATTRIBUTE,
7575
7758
  DOCUMENT_CHARACTER_SPACING_ATTRIBUTE,
7576
7759
  DOCUMENT_KERNING_THRESHOLD_ATTRIBUTE,
7760
+ DOCUMENT_OPEN_TYPE_ATTRIBUTE,
7577
7761
  DOCUMENT_EMPHASIS_MARK_ATTRIBUTE,
7578
7762
  DOCUMENT_HIDDEN_TEXT_ATTRIBUTE,
7579
7763
  DOCUMENT_LEGACY_TEXT_OUTLINE_ATTRIBUTE,
@@ -8522,6 +8706,7 @@ const ALLOWED_ATTRIBUTES = {
8522
8706
  'runShading',
8523
8707
  'proofingLanguages',
8524
8708
  'noProof',
8709
+ 'openTypeFeatures',
8525
8710
  "scriptFonts",
8526
8711
  "scriptFontSlot",
8527
8712
  'themeColor',
@@ -8622,6 +8807,7 @@ function importedDocumentCharacterFormatting(formatting) {
8622
8807
  runShading: formatting.runShading,
8623
8808
  proofingLanguages: serializeDocumentProofingLanguages(formatting.proofingLanguages) ?? void 0,
8624
8809
  noProof: formatting.noProof,
8810
+ openTypeFeatures: serializeDocumentOpenTypeFeatures(formatting.openTypeFeatures) ?? void 0,
8625
8811
  color: formatting.color,
8626
8812
  fontFamily: formatting.fontFamily,
8627
8813
  scriptFonts: serializeDocumentScriptFonts(formatting.scriptFonts) ?? void 0,
@@ -8740,6 +8926,12 @@ function normalizeCharacterFormatMark(value) {
8740
8926
  attrs[key] = noProof;
8741
8927
  continue;
8742
8928
  }
8929
+ if ('textStyle' === type && 'openTypeFeatures' === key) {
8930
+ const features = serializeDocumentOpenTypeFeatures('string' == typeof candidate ? parseDocumentOpenTypeFeatures(candidate) : candidate);
8931
+ if (!features) return null;
8932
+ attrs[key] = features;
8933
+ continue;
8934
+ }
8743
8935
  if ('highlight' === type && 'nativeHighlight' === key) {
8744
8936
  const highlight = normalizeDocumentHighlight(candidate);
8745
8937
  if (!highlight) return null;
@@ -16709,6 +16901,10 @@ const DocumentTextStyle = TextStyle.extend({
16709
16901
  {
16710
16902
  tag: `span[${DOCUMENT_NO_PROOF_ATTRIBUTE}]`,
16711
16903
  consuming: false
16904
+ },
16905
+ {
16906
+ tag: `span[${DOCUMENT_OPEN_TYPE_ATTRIBUTE}]`,
16907
+ consuming: false
16712
16908
  }
16713
16909
  ];
16714
16910
  },
@@ -16778,6 +16974,11 @@ const DocumentTextStyle = TextStyle.extend({
16778
16974
  parseHTML: (element)=>normalizeDocumentNoProof(element.getAttribute(DOCUMENT_NO_PROOF_ATTRIBUTE)),
16779
16975
  renderHTML: (attributes)=>documentProofingDomAttributes(parseDocumentProofingLanguages(attributes.proofingLanguages), attributes.noProof, normalizeDocumentScriptFontSlot(attributes.scriptFontSlot))
16780
16976
  },
16977
+ openTypeFeatures: {
16978
+ default: null,
16979
+ parseHTML: (element)=>serializeDocumentOpenTypeFeatures(documentOpenTypeFeaturesFromElement(element)),
16980
+ renderHTML: (attributes)=>documentOpenTypeDomAttributes(parseDocumentOpenTypeFeatures(attributes.openTypeFeatures))
16981
+ },
16781
16982
  kerningThresholdHalfPoints: {
16782
16983
  default: null,
16783
16984
  parseHTML: (element)=>documentKerningThresholdHalfPointsFromElement(element),
@@ -21538,4 +21739,4 @@ function registerDocumentPageSurfaceGeometry(element, provider) {
21538
21739
  function documentPageSurfaceGeometryForElement(element) {
21539
21740
  return documentPageSurfaceProviders.get(element)?.() ?? null;
21540
21741
  }
21541
- export { DEFAULT_DOCUMENT_TABLE_CELL_FORMAT, DEFAULT_DOCUMENT_TABLE_CELL_MARGINS, DEFAULT_DOCUMENT_TABLE_GEOMETRY, DOCUMENT_BOOKMARK_DUPLICATE_MESSAGE, DOCUMENT_CHUNK_HYDRATION_META, DOCUMENT_CHUNK_PAGINATION_META, DOCUMENT_CHUNK_VISIBLE_IDS_META, DOCUMENT_LEGACY_TEXT_EFFECT_NAMES, DOCUMENT_LEGACY_TEXT_EMBOSS_ATTRIBUTE, DOCUMENT_LEGACY_TEXT_IMPRINT_ATTRIBUTE, DOCUMENT_LEGACY_TEXT_OUTLINE_ATTRIBUTE, DOCUMENT_LEGACY_TEXT_SHADOW_ATTRIBUTE, DOCUMENT_PAGE_BORDER_EDGES, DOCUMENT_PAGE_MARGIN_KEYS, DOCUMENT_PARAGRAPH_CHANGE_ATTRIBUTES, DOCUMENT_PARAGRAPH_FORMAT_ATTRIBUTES, DOCUMENT_STRIKE_STYLE_ATTRIBUTE, DOCUMENT_TABLE_ROW_ID_ATTRIBUTE, DOCUMENT_TABLE_ROW_TEXT_ID_ATTRIBUTE, DOCUMENT_TABLE_STYLE_OPTIONS, DOCUMENT_UNDERLINE_STYLE_ATTRIBUTE, DocumentCharacterFormatting, DocumentEquation, DocumentFontFamily, DocumentHighlight, DocumentImage, DocumentParagraphFormatting, DocumentScriptFontFormatting, DocumentStrike, DocumentSubscript, DocumentSuperscript, DocumentTableRowIdentity, DocumentTextStyle, DocumentUnderline, MAX_DOCUMENT_IMAGE_RELATIVE_HEIGHT, MAX_DOCUMENT_NUMBERING_START, activeDocumentBookmark, activeDocumentSection, activeDocumentTableStyle, applyDocumentImageCropToElement, applyDocumentImageIdentityToElement, applyDocumentImageLayerToElement, applyDocumentImageWrapContourToElement, applyDocumentPageGeometry, applyDocumentTableGeometryToElement, applyDocumentTableRowIdentityToElement, applyDocumentTextCaseStyle, canChangeDocumentIndent, canInsertDocumentComment, canSetDocumentTableRowRepeatHeader, clampDocumentMargin, collectDocumentChanges, collectDocumentCommentAnchors, collectDocumentNotes, collectDocumentTextLayoutParagraphs, createDocumentBibliography, createDocumentEquationElement, createDocumentImageIdentityRegistry, createDocumentNoteElement, createSchemaDerivedWorkDocumentModel, createWorkDocumentBlob, createWorkDocumentExtensions, createWorkDocumentModel, createWorkOfficeDocumentCollaborationBinding as createOfficeDocumentCollaborationBinding, defaultDocumentImageWrapContour, documentAutoLineHeight, documentBookmarkNameExists, documentBookmarkReferenceInstruction, documentBulletListStyle, documentCaptionKind, documentCaptionLabel, documentCharacterPositionDomAttributes, documentCharacterPositionHalfPointsFromElement, documentCharacterPositionPoints, documentCharacterScaleDomAttributes, documentCharacterScalePercentFromElement, documentCharacterSpacingDomAttributes, documentCharacterSpacingPoints, documentCharacterSpacingTwipsFromElement, documentChunkMountedIds, documentCitationCount, documentCitationInstruction, documentCitationStyle, documentCitationStyleDetails, documentCitationTags, documentCitationTagsFromInstruction, documentCommentDraftRange, documentCommentViews, documentContentLayoutProperties, documentEmphasisMarkDomAttributes, documentEmphasisMarkFromElement, documentEquationFromElement, documentEquationText, documentHasIndex, documentHasTableOfContents, documentHiddenTextDomAttributes, documentHiddenTextFromElement, documentHiddenTextKeyboardShortcut, documentImageCropFromElement, documentImageIdentityFromElement, documentImageLayerFromElement, documentImageLayoutFromElement, documentImageLayoutOptions, documentImagePositionFromElement, documentImageProperties, documentImageWrapContourFromElement, documentInitialSectionLayout, documentKerningDomAttributes, documentKerningIsEffective, documentKerningThresholdHalfPointsFromElement, documentKerningThresholdPoints, documentLazyHtmlChunkFragment, documentLazyHtmlProjection, documentLazyHtmlProjectionFingerprint, documentLegacyTextEffectsConflict, documentLegacyTextEffectsCss, documentLegacyTextEffectsDomAttributes, documentLegacyTextEffectsFromElement, documentLegacyTextEffectsFromTextStyleAttributes, documentModelForContent, documentModelForHtml, documentModelHasTrustedInitialIntegrityFeatures, documentModelUsesWindowing, documentNoteKey, documentNoteKind, documentOrderedListState, documentPageBordersVisible, documentPageChromeLegacyFields, documentPageGeometryForLayout, documentPageHorizontalMarginTwips, documentPageMarginBody, documentPageMarginsForLayout, documentPageMetrics, documentPageSurfaceGeometryForElement, documentPaperSizeForGeometry, documentParagraphDirection, documentParagraphIndent, documentParagraphPagination, documentParagraphSpacing, documentParagraphTabStops, documentSectionById, documentSectionDomAttributes, documentSections, documentStrikeDomAttributes, documentStrikeFormattingFromElement, documentStrikeStyle, documentTabLeaderLabel, documentTableBordersFromElement, documentTableCellFormat, documentTableCellMarginOverridesFromElement, documentTableColumnPercentagesFromElement, documentTableGeometryFromElement, documentTableHorizontalAlignment, documentTableRowIdentityFromElement, documentTableRowOptions, documentTableSizing, documentTextCaseFromWordFlags, documentTextCaseKeyboardShortcuts, documentTextLayoutBatches, documentTextStatistics, documentTransactionsOnlyHydrateChunks, documentUnderlineColor, documentUnderlineDomAttributes, documentUnderlineFormattingFromElement, documentUnderlineKeyboardShortcuts, documentUnderlineStyle, documentWordLineHeightFactor, docxBookmarkReferenceTarget, docxDocumentFieldKind, editorDocumentBookmarkReferenceTargets, editorDocumentCaptionTargets, fileNameWithoutExtension, forgetWorkSourceBlob as forgetSourceBlob, importWorkDocumentFile, importedDocumentCharacterFormatting, initializeWorkOfficeDocumentCollaboration as initializeOfficeDocumentCollaboration, invalidateDocumentLazyHtmlProjection, isContourImageLayout, isDocumentCharacterFormatMark, isValidDocumentCitationTag, materializeLazyDocumentEditorRoot, measureDocumentLayoutBlocksIncrementally, millimetersToPixels, mountWorkLiveDocumentCapture, moveWorkSourceBlob, nextDocumentTabAlignment, normalizeDocumentBookmarkName, normalizeDocumentBookmarkNativeId, normalizeDocumentBookmarkReferencesHtml, normalizeDocumentBookmarksHtml, normalizeDocumentCaptionsHtml, normalizeDocumentCharacterPositionHalfPoints, normalizeDocumentCharacterScalePercent, normalizeDocumentCharacterSpacingTwips, normalizeDocumentCitationsHtml, normalizeDocumentColumns, normalizeDocumentEmphasisMark, normalizeDocumentEquation, normalizeDocumentFieldsHtml, normalizeDocumentHiddenText, normalizeDocumentHtml, normalizeDocumentImageAlignment, normalizeDocumentImageCrop, normalizeDocumentImageIdentity, normalizeDocumentImageLayer, normalizeDocumentImageLayoutOptions, normalizeDocumentImagePosition, normalizeDocumentImageWrapContour, normalizeDocumentImageWrapSide, normalizeDocumentKerningThresholdHalfPoints, normalizeDocumentLegacyTextEffect, normalizeDocumentLegacyTextEffects, normalizeDocumentNotesHtml, normalizeDocumentPageBorders, normalizeDocumentPageChrome, normalizeDocumentPageGeometry, normalizeDocumentPageMargins, normalizeDocumentPaperSource, normalizeDocumentParagraphIndent, normalizeDocumentStrikeStyle, normalizeDocumentTabStops, normalizeDocumentTableBorderStyle, normalizeDocumentTableBorderWidth, normalizeDocumentTableRowHeightRule, normalizeDocumentTableRowIdentity, normalizeDocumentTableVerticalAlign, normalizeDocumentTextCase, normalizeDocumentUnderlineColor, normalizeDocumentUnderlineStyle, normalizeTableColor, normalizedTabPosition, pageTwipsToMillimeters, parseDocumentCharacterFormatting, parseDocumentParagraphFormatting, patchDocumentLazyHtmlProjection, positionWorkLiveDocumentCapture, readWorkOfficeDocumentCollaboration as readOfficeDocumentCollaboration, readWorkSourceBlob as readSourceBlob, registerDocumentPageSurfaceGeometry, rememberWorkSourceBlob as registerSourceBlob, renderDocumentAutoLineHeight, renderDocumentTableBorders, renderDocumentTableCellMarginOverrides, resolveAllDocumentChanges, resolveDocumentPageBorders, resolveDocumentPageChrome, resolveDocumentPageMargins, resolveDocumentPageSize, resolveWorkDocumentEditorInput, retainAnchoredDocumentComments, sanitizeDocumentPageChromeHtml, selectedDocumentChunkId, selectedDocumentIndexDraft, selectedDocumentIndexEntry, selectedDocumentIndexOptions, selectedDocumentTableOfContentsOptions, serializeDocumentCharacterFormatting, serializeDocumentParagraphFormatting, serializeDocumentTabStops, serializeWorkDocumentNode, setCustomDocumentColumns, supportedDocxBookmarkReferenceInstruction, syncDocumentContentFromHtml, transferChangedDocumentTextStatistics, uniqueDocumentImageIdentity, updateDocumentColumnWidth, updateDocumentCustomPageMillimeters, updateDocumentGutterPosition, updateDocumentMirrorMargins, updateDocumentPageChromeVariant, updateDocumentPageMarginMillimeters, updateDocumentPageMarginMode, updateDocumentPageOrientation, updateDocumentPaperSizePreset, validateDocumentBookmarkName, windowDocumentModel, workDocumentSchema, workOfficeDocumentCollaborationFragment as officeDocumentCollaborationFragment, work_document_model_codec_createWorkDocumentModelFromContent as createWorkDocumentModelFromContent, work_document_model_codec_materializeWorkDocumentContent as materializeWorkDocumentContent, work_document_model_createSchemaValidatedWorkDocumentModel as createSchemaValidatedWorkDocumentModel, work_document_page_margins_twipsToMillimeters, work_file_download_downloadBlob, work_file_download_safeFileName, wrapsBesideImage };
21742
+ export { DEFAULT_DOCUMENT_TABLE_CELL_FORMAT, DEFAULT_DOCUMENT_TABLE_CELL_MARGINS, DEFAULT_DOCUMENT_TABLE_GEOMETRY, DOCUMENT_BOOKMARK_DUPLICATE_MESSAGE, DOCUMENT_CHUNK_HYDRATION_META, DOCUMENT_CHUNK_PAGINATION_META, DOCUMENT_CHUNK_VISIBLE_IDS_META, DOCUMENT_LEGACY_TEXT_EFFECT_NAMES, DOCUMENT_LEGACY_TEXT_EMBOSS_ATTRIBUTE, DOCUMENT_LEGACY_TEXT_IMPRINT_ATTRIBUTE, DOCUMENT_LEGACY_TEXT_OUTLINE_ATTRIBUTE, DOCUMENT_LEGACY_TEXT_SHADOW_ATTRIBUTE, DOCUMENT_OPEN_TYPE_ATTRIBUTE, DOCUMENT_PAGE_BORDER_EDGES, DOCUMENT_PAGE_MARGIN_KEYS, DOCUMENT_PARAGRAPH_CHANGE_ATTRIBUTES, DOCUMENT_PARAGRAPH_FORMAT_ATTRIBUTES, DOCUMENT_STRIKE_STYLE_ATTRIBUTE, DOCUMENT_TABLE_ROW_ID_ATTRIBUTE, DOCUMENT_TABLE_ROW_TEXT_ID_ATTRIBUTE, DOCUMENT_TABLE_STYLE_OPTIONS, DOCUMENT_UNDERLINE_STYLE_ATTRIBUTE, DocumentCharacterFormatting, DocumentEquation, DocumentFontFamily, DocumentHighlight, DocumentImage, DocumentParagraphFormatting, DocumentScriptFontFormatting, DocumentStrike, DocumentSubscript, DocumentSuperscript, DocumentTableRowIdentity, DocumentTextStyle, DocumentUnderline, MAX_DOCUMENT_IMAGE_RELATIVE_HEIGHT, MAX_DOCUMENT_NUMBERING_START, activeDocumentBookmark, activeDocumentSection, activeDocumentTableStyle, applyDocumentImageCropToElement, applyDocumentImageIdentityToElement, applyDocumentImageLayerToElement, applyDocumentImageWrapContourToElement, applyDocumentPageGeometry, applyDocumentTableGeometryToElement, applyDocumentTableRowIdentityToElement, applyDocumentTextCaseStyle, canChangeDocumentIndent, canInsertDocumentComment, canSetDocumentTableRowRepeatHeader, clampDocumentMargin, collectDocumentChanges, collectDocumentCommentAnchors, collectDocumentNotes, collectDocumentTextLayoutParagraphs, createDocumentBibliography, createDocumentEquationElement, createDocumentImageIdentityRegistry, createDocumentNoteElement, createSchemaDerivedWorkDocumentModel, createWorkDocumentBlob, createWorkDocumentExtensions, createWorkDocumentModel, createWorkOfficeDocumentCollaborationBinding as createOfficeDocumentCollaborationBinding, defaultDocumentImageWrapContour, documentAutoLineHeight, documentBookmarkNameExists, documentBookmarkReferenceInstruction, documentBulletListStyle, documentCaptionKind, documentCaptionLabel, documentCharacterPositionDomAttributes, documentCharacterPositionHalfPointsFromElement, documentCharacterPositionPoints, documentCharacterScaleDomAttributes, documentCharacterScalePercentFromElement, documentCharacterSpacingDomAttributes, documentCharacterSpacingPoints, documentCharacterSpacingTwipsFromElement, documentChunkMountedIds, documentCitationCount, documentCitationInstruction, documentCitationStyle, documentCitationStyleDetails, documentCitationTags, documentCitationTagsFromInstruction, documentCommentDraftRange, documentCommentViews, documentContentLayoutProperties, documentEmphasisMarkDomAttributes, documentEmphasisMarkFromElement, documentEquationFromElement, documentEquationText, documentHasIndex, documentHasTableOfContents, documentHiddenTextDomAttributes, documentHiddenTextFromElement, documentHiddenTextKeyboardShortcut, documentImageCropFromElement, documentImageIdentityFromElement, documentImageLayerFromElement, documentImageLayoutFromElement, documentImageLayoutOptions, documentImagePositionFromElement, documentImageProperties, documentImageWrapContourFromElement, documentInitialSectionLayout, documentKerningDomAttributes, documentKerningIsEffective, documentKerningThresholdHalfPointsFromElement, documentKerningThresholdPoints, documentLazyHtmlChunkFragment, documentLazyHtmlProjection, documentLazyHtmlProjectionFingerprint, documentLegacyTextEffectsConflict, documentLegacyTextEffectsCss, documentLegacyTextEffectsDomAttributes, documentLegacyTextEffectsFromElement, documentLegacyTextEffectsFromTextStyleAttributes, documentModelForContent, documentModelForHtml, documentModelHasTrustedInitialIntegrityFeatures, documentModelUsesWindowing, documentNoteKey, documentNoteKind, documentOpenTypeCssProperties, documentOpenTypeDomAttributes, documentOpenTypeFeaturesFromElement, documentOrderedListState, documentPageBordersVisible, documentPageChromeLegacyFields, documentPageGeometryForLayout, documentPageHorizontalMarginTwips, documentPageMarginBody, documentPageMarginsForLayout, documentPageMetrics, documentPageSurfaceGeometryForElement, documentPaperSizeForGeometry, documentParagraphDirection, documentParagraphIndent, documentParagraphPagination, documentParagraphSpacing, documentParagraphTabStops, documentSectionById, documentSectionDomAttributes, documentSections, documentStrikeDomAttributes, documentStrikeFormattingFromElement, documentStrikeStyle, documentTabLeaderLabel, documentTableBordersFromElement, documentTableCellFormat, documentTableCellMarginOverridesFromElement, documentTableColumnPercentagesFromElement, documentTableGeometryFromElement, documentTableHorizontalAlignment, documentTableRowIdentityFromElement, documentTableRowOptions, documentTableSizing, documentTextCaseFromWordFlags, documentTextCaseKeyboardShortcuts, documentTextLayoutBatches, documentTextStatistics, documentTransactionsOnlyHydrateChunks, documentUnderlineColor, documentUnderlineDomAttributes, documentUnderlineFormattingFromElement, documentUnderlineKeyboardShortcuts, documentUnderlineStyle, documentWordLineHeightFactor, docxBookmarkReferenceTarget, docxDocumentFieldKind, editorDocumentBookmarkReferenceTargets, editorDocumentCaptionTargets, fileNameWithoutExtension, forgetWorkSourceBlob as forgetSourceBlob, importWorkDocumentFile, importedDocumentCharacterFormatting, initializeWorkOfficeDocumentCollaboration as initializeOfficeDocumentCollaboration, invalidateDocumentLazyHtmlProjection, isContourImageLayout, isDocumentCharacterFormatMark, isDocumentOpenTypeFeaturePatch, isValidDocumentCitationTag, materializeLazyDocumentEditorRoot, measureDocumentLayoutBlocksIncrementally, millimetersToPixels, mountWorkLiveDocumentCapture, moveWorkSourceBlob, nextDocumentTabAlignment, normalizeDocumentBookmarkName, normalizeDocumentBookmarkNativeId, normalizeDocumentBookmarkReferencesHtml, normalizeDocumentBookmarksHtml, normalizeDocumentCaptionsHtml, normalizeDocumentCharacterPositionHalfPoints, normalizeDocumentCharacterScalePercent, normalizeDocumentCharacterSpacingTwips, normalizeDocumentCitationsHtml, normalizeDocumentColumns, normalizeDocumentEmphasisMark, normalizeDocumentEquation, normalizeDocumentFieldsHtml, normalizeDocumentHiddenText, normalizeDocumentHtml, normalizeDocumentImageAlignment, normalizeDocumentImageCrop, normalizeDocumentImageIdentity, normalizeDocumentImageLayer, normalizeDocumentImageLayoutOptions, normalizeDocumentImagePosition, normalizeDocumentImageWrapContour, normalizeDocumentImageWrapSide, normalizeDocumentKerningThresholdHalfPoints, normalizeDocumentLegacyTextEffect, normalizeDocumentLegacyTextEffects, normalizeDocumentNotesHtml, normalizeDocumentOpenTypeFeatures, normalizeDocumentOpenTypeLigatures, normalizeDocumentOpenTypeNumberForm, normalizeDocumentOpenTypeNumberSpacing, normalizeDocumentOpenTypeStylisticSets, normalizeDocumentPageBorders, normalizeDocumentPageChrome, normalizeDocumentPageGeometry, normalizeDocumentPageMargins, normalizeDocumentPaperSource, normalizeDocumentParagraphIndent, normalizeDocumentStrikeStyle, normalizeDocumentTabStops, normalizeDocumentTableBorderStyle, normalizeDocumentTableBorderWidth, normalizeDocumentTableRowHeightRule, normalizeDocumentTableRowIdentity, normalizeDocumentTableVerticalAlign, normalizeDocumentTextCase, normalizeDocumentUnderlineColor, normalizeDocumentUnderlineStyle, normalizeTableColor, normalizedTabPosition, pageTwipsToMillimeters, parseDocumentCharacterFormatting, parseDocumentOpenTypeFeatures, parseDocumentParagraphFormatting, patchDocumentLazyHtmlProjection, patchDocumentOpenTypeFeatures, positionWorkLiveDocumentCapture, readWorkOfficeDocumentCollaboration as readOfficeDocumentCollaboration, readWorkSourceBlob as readSourceBlob, registerDocumentPageSurfaceGeometry, rememberWorkSourceBlob as registerSourceBlob, renderDocumentAutoLineHeight, renderDocumentTableBorders, renderDocumentTableCellMarginOverrides, resolveAllDocumentChanges, resolveDocumentPageBorders, resolveDocumentPageChrome, resolveDocumentPageMargins, resolveDocumentPageSize, resolveWorkDocumentEditorInput, retainAnchoredDocumentComments, sanitizeDocumentPageChromeHtml, selectedDocumentChunkId, selectedDocumentIndexDraft, selectedDocumentIndexEntry, selectedDocumentIndexOptions, selectedDocumentTableOfContentsOptions, serializeDocumentCharacterFormatting, serializeDocumentOpenTypeFeatures, serializeDocumentParagraphFormatting, serializeDocumentTabStops, serializeWorkDocumentNode, setCustomDocumentColumns, supportedDocxBookmarkReferenceInstruction, syncDocumentContentFromHtml, transferChangedDocumentTextStatistics, uniqueDocumentImageIdentity, updateDocumentColumnWidth, updateDocumentCustomPageMillimeters, updateDocumentGutterPosition, updateDocumentMirrorMargins, updateDocumentPageChromeVariant, updateDocumentPageMarginMillimeters, updateDocumentPageMarginMode, updateDocumentPageOrientation, updateDocumentPaperSizePreset, validateDocumentBookmarkName, windowDocumentModel, workDocumentSchema, workOfficeDocumentCollaborationFragment as officeDocumentCollaborationFragment, work_document_model_codec_createWorkDocumentModelFromContent as createWorkDocumentModelFromContent, work_document_model_codec_materializeWorkDocumentContent as materializeWorkDocumentContent, work_document_model_createSchemaValidatedWorkDocumentModel as createSchemaValidatedWorkDocumentModel, work_document_page_margins_twipsToMillimeters, work_file_download_downloadBlob, work_file_download_safeFileName, wrapsBesideImage };