postext 1.57.2 → 1.58.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 (77) hide show
  1. package/dist/__tests__/bundle/configLayers.test.d.ts +2 -0
  2. package/dist/__tests__/bundle/configLayers.test.d.ts.map +1 -0
  3. package/dist/__tests__/bundle/configLayers.test.js +180 -0
  4. package/dist/__tests__/bundle/configLayers.test.js.map +1 -0
  5. package/dist/__tests__/bundle/contextDefaultsBundle.test.js +4 -2
  6. package/dist/__tests__/bundle/contextDefaultsBundle.test.js.map +1 -1
  7. package/dist/__tests__/bundle/designOverflowPin.test.js +1 -1
  8. package/dist/__tests__/bundle/gridBreakRulesPin.test.js +3 -3
  9. package/dist/__tests__/bundle/gridBreakRulesPin.test.js.map +1 -1
  10. package/dist/__tests__/bundle/markRadiusPin.test.js +1 -1
  11. package/dist/__tests__/bundle/shapingLanguagePin.test.js +3 -3
  12. package/dist/__tests__/bundle/taskBoxPin.test.js +1 -1
  13. package/dist/__tests__/bundle.test.js +7 -7
  14. package/dist/__tests__/bundle.test.js.map +1 -1
  15. package/dist/__tests__/codeBlocks.test.js +1 -1
  16. package/dist/__tests__/composedTemplates.test.js +1 -1
  17. package/dist/__tests__/exports.test.js +7 -0
  18. package/dist/__tests__/exports.test.js.map +1 -1
  19. package/dist/__tests__/hardBreaks.test.js +1 -1
  20. package/dist/__tests__/headingInlineMarks.test.js +1 -1
  21. package/dist/__tests__/mathSizeMigration.test.js +2 -2
  22. package/dist/__tests__/pipeline/boxParagraphStyles.test.js +1 -1
  23. package/dist/__tests__/pipeline/calloutInlineResourceGap.test.js +1 -1
  24. package/dist/__tests__/pipeline/calloutSplitMinLinesChild.test.js +1 -1
  25. package/dist/__tests__/pipeline/colonListRoom.test.js +1 -1
  26. package/dist/__tests__/pipeline/compoundBreaks.test.js +1 -1
  27. package/dist/__tests__/pipeline/dashBreaks.test.js +1 -1
  28. package/dist/__tests__/pipeline/headingSplitOrphans.test.js +1 -1
  29. package/dist/__tests__/pipeline/inlineFigureSpace.test.js +1 -1
  30. package/dist/__tests__/pipeline/paragraphContainerTail.test.js +1 -1
  31. package/dist/__tests__/pipeline/raggedOptimal.test.js +1 -1
  32. package/dist/__tests__/pipeline/scratchDeepSky.test.d.ts.map +1 -1
  33. package/dist/__tests__/pipeline/scratchDeepSky.test.js +3 -1
  34. package/dist/__tests__/pipeline/scratchDeepSky.test.js.map +1 -1
  35. package/dist/__tests__/presets/hongloumeng.test.js +7 -8
  36. package/dist/__tests__/presets/hongloumeng.test.js.map +1 -1
  37. package/dist/__tests__/presets/showcaseDesignOverflow.test.js +14 -6
  38. package/dist/__tests__/presets/showcaseDesignOverflow.test.js.map +1 -1
  39. package/dist/__tests__/presets/showcaseShapingLanguage.test.js +9 -4
  40. package/dist/__tests__/presets/showcaseShapingLanguage.test.js.map +1 -1
  41. package/dist/__tests__/slashBreaks.test.js +1 -1
  42. package/dist/__tests__/verseLines.test.js +1 -1
  43. package/dist/bundle/api.d.ts +12 -0
  44. package/dist/bundle/api.d.ts.map +1 -1
  45. package/dist/bundle/api.js +2 -0
  46. package/dist/bundle/api.js.map +1 -1
  47. package/dist/bundle/codec.d.ts +20 -4
  48. package/dist/bundle/codec.d.ts.map +1 -1
  49. package/dist/bundle/codec.js +59 -53
  50. package/dist/bundle/codec.js.map +1 -1
  51. package/dist/bundle/configVersion.d.ts +17 -3
  52. package/dist/bundle/configVersion.d.ts.map +1 -1
  53. package/dist/bundle/configVersion.js +24 -6
  54. package/dist/bundle/configVersion.js.map +1 -1
  55. package/dist/bundle/types.d.ts +12 -3
  56. package/dist/bundle/types.d.ts.map +1 -1
  57. package/dist/defaults/configLayers.d.ts +56 -0
  58. package/dist/defaults/configLayers.d.ts.map +1 -0
  59. package/dist/defaults/configLayers.js +286 -0
  60. package/dist/defaults/configLayers.js.map +1 -0
  61. package/dist/defaults/index.d.ts +1 -0
  62. package/dist/defaults/index.d.ts.map +1 -1
  63. package/dist/defaults/index.js +1 -0
  64. package/dist/defaults/index.js.map +1 -1
  65. package/dist/index.d.ts +2 -1
  66. package/dist/index.d.ts.map +1 -1
  67. package/dist/index.js +1 -1
  68. package/dist/index.js.map +1 -1
  69. package/dist/knuthPlass/pretextAdapter.d.ts +7 -2
  70. package/dist/knuthPlass/pretextAdapter.d.ts.map +1 -1
  71. package/dist/knuthPlass/pretextAdapter.js +11 -12
  72. package/dist/knuthPlass/pretextAdapter.js.map +1 -1
  73. package/dist/math/mathjax.js +44 -11
  74. package/dist/measure/plain.d.ts.map +1 -1
  75. package/dist/measure/plain.js +44 -11
  76. package/dist/measure/plain.js.map +1 -1
  77. package/package.json +11 -11
@@ -5,6 +5,7 @@
5
5
  // reverse. Nothing here touches storage.
6
6
  import { scoreFormatOfFile } from '../music/types.js';
7
7
  import { cloneDefaultColorPalette, defaultResourceTypes, stripConfigDefaults } from '../defaults/index.js';
8
+ import { leastConfigOverride } from '../defaults/configLayers.js';
8
9
  import { bitmapInfo, bundleStart, chapterFileName, extensionForBitmapFormat, extensionForImageMime, extensionForResource, extensionForVideo, fontsToCustomFonts, isBitmapFile, isBundleManifest, isPdfFile, isSvgFile, mimeForFile, pickBundleStart, pickChapterSpecs, pickLocaleOverrides, resolveBundleConfigLocale, resolveBundleLocale, resourceFromSpec, slugify, svgSize, uniqueSlug, } from './manifest.js';
9
10
  import { CONFIG_VERSION, migrateBundleConfig } from './configVersion.js';
10
11
  import { contourRowsOf, contourWantsAlpha, traceResourceContour, withContourTrace } from '../contour/index.js';
@@ -86,7 +87,8 @@ export async function readBundle(manifest, readFile, options = {}) {
86
87
  return merged;
87
88
  });
88
89
  // The file's own resolution, when the pictures are laid out by it.
89
- const layoutPolicy = (overrides?.config?.layout ?? manifest.config?.layout ?? options.baseConfig?.layout)?.bitmapResolution;
90
+ const localeLayout = overrides?.config?.layout;
91
+ const layoutPolicy = (localeLayout?.bitmapResolution !== undefined ? localeLayout : manifest.config?.layout ?? options.baseConfig?.layout)?.bitmapResolution;
90
92
  const readResolution = options.readResolution ?? layoutPolicy === 'file';
91
93
  const blobs = [];
92
94
  const resources = await Promise.all(localizedSpecs.map(async (spec) => {
@@ -209,9 +211,18 @@ export async function readBundle(manifest, readFile, options = {}) {
209
211
  // own base configuration keeps its heading breaks, but its other keys,
210
212
  // when no layer replaces them, are the ones the old reader set the book
211
213
  // with, so they are pinned with the rest.
212
- const baseConfig = migrateBundleConfig(options.baseConfig ?? bundleBaseConfig(resolveBundleConfigLocale(manifest, locale)), [manifest.config ?? {}, overrides?.config ?? {}], manifest.configVersion, { content: chapters.map((c) => c.markdown) });
214
+ const readerBase = options.baseConfig ?? bundleBaseConfig(resolveBundleConfigLocale(manifest, locale));
215
+ const migrateOptions = { content: chapters.map((c) => c.markdown) };
216
+ const baseConfig = migrateBundleConfig(readerBase, [manifest.config ?? {}, overrides?.config ?? {}], manifest.configVersion, migrateOptions);
213
217
  const customFonts = [...(manifest.config?.customFonts ?? []), ...families];
214
218
  let config = customFonts.length > 0 ? { ...baseConfig, customFonts } : baseConfig;
219
+ // A book in several languages: its general settings, the shared layer
220
+ // alone, read the same way (#1209).
221
+ let sharedConfig;
222
+ if (manifest.localized && Object.keys(manifest.localized).length > 0) {
223
+ const shared = overrides?.config ? migrateBundleConfig(readerBase, [manifest.config ?? {}], manifest.configVersion, migrateOptions) : baseConfig;
224
+ sharedConfig = customFonts.length > 0 ? { ...shared, customFonts } : shared;
225
+ }
215
226
  // An uploaded output profile (`print.customProfile`), named by its path in
216
227
  // the bundle.
217
228
  const profile = config.print?.customProfile;
@@ -220,6 +231,9 @@ export async function readBundle(manifest, readFile, options = {}) {
220
231
  if (bytes) {
221
232
  blobs.push({ fileId: ids.blob(profile.fileId), file: profile.fileId, bytes, mime: 'application/vnd.iccprofile' });
222
233
  config = { ...config, print: { ...config.print, customProfile: { ...profile, fileId: ids.blob(profile.fileId) } } };
234
+ if (sharedConfig?.print?.customProfile?.fileId === profile.fileId) {
235
+ sharedConfig = { ...sharedConfig, print: { ...sharedConfig.print, customProfile: { ...sharedConfig.print.customProfile, fileId: ids.blob(profile.fileId) } } };
236
+ }
223
237
  }
224
238
  else {
225
239
  onWarning?.(`output profile "${profile.fileId}" not found, ignored`);
@@ -234,7 +248,7 @@ export async function readBundle(manifest, readFile, options = {}) {
234
248
  const traced = options.traceContours === false
235
249
  ? resources
236
250
  : await traceBundleContours(resources, blobs, config, options.decodeContour ? { decode: options.decodeContour } : {});
237
- return { manifest, locale: served, chapters, config, resources: traced, blobs, fonts, ...(start ? { start } : {}) };
251
+ return { manifest, locale: served, chapters, config, ...(sharedConfig ? { sharedConfig } : {}), resources: traced, blobs, fonts, ...(start ? { start } : {}) };
238
252
  }
239
253
  /** Whether a configuration has a page-template frame that pushes with its
240
254
  * pictures' contour (#883). */
@@ -412,7 +426,8 @@ export function planBundle(meta, content) {
412
426
  if (content.thumbnail && thumbnailPath) {
413
427
  files.push({ path: thumbnailPath, fileId: content.thumbnail.fileId, kind: 'blob', owner: 'thumbnail' });
414
428
  }
415
- const configWithoutFonts = { ...stripConfigDefaults(content.config) };
429
+ const sharedSource = content.sharedConfig ?? content.config;
430
+ const configWithoutFonts = { ...stripConfigDefaults(sharedSource) };
416
431
  delete configWithoutFonts.customFonts;
417
432
  // An uploaded output profile travels as a file, named by its path.
418
433
  const profile = configWithoutFonts.print?.customProfile;
@@ -464,7 +479,7 @@ export function planBundle(meta, content) {
464
479
  if (entry.description && entry.description !== meta.description)
465
480
  overrides.description = entry.description;
466
481
  if (entry.config) {
467
- const config = localizedConfig(entry.config, configWithoutFonts, content.config);
482
+ const config = localizedConfig(entry.config, configWithoutFonts, sharedSource, !!content.sharedConfig);
468
483
  if (Object.keys(config).length > 0)
469
484
  overrides.config = config;
470
485
  }
@@ -527,6 +542,13 @@ export function planBundle(meta, content) {
527
542
  }
528
543
  localizedSpecs[locale] = overrides;
529
544
  }
545
+ // General settings of their own: the primary edition is an override too.
546
+ if (content.sharedConfig && meta.locale) {
547
+ const config = localizedConfig(content.config, configWithoutFonts, sharedSource, true);
548
+ if (Object.keys(config).length > 0)
549
+ localizedSpecs[meta.locale] = { config, ...localizedSpecs[meta.locale] };
550
+ }
551
+ const writesLocalized = Object.keys(localizedSpecs).length > 0;
530
552
  const manifest = {
531
553
  version: 2,
532
554
  configVersion: CONFIG_VERSION,
@@ -542,7 +564,7 @@ export function planBundle(meta, content) {
542
564
  config: configWithoutFonts,
543
565
  ...(resources.length > 0 ? { resources } : {}),
544
566
  ...(fonts.length > 0 ? { fonts } : {}),
545
- ...(localized ? { localized: localizedSpecs } : {}),
567
+ ...(localized || writesLocalized ? { localized: localizedSpecs } : {}),
546
568
  };
547
569
  return { manifest, files, chapterFiles, ...(Object.keys(localeChapterFiles).length > 0 ? { localeChapterFiles } : {}), warnings };
548
570
  }
@@ -555,55 +577,39 @@ function localeFolder(locale) {
555
577
  function sameJson(a, b) {
556
578
  return JSON.stringify(a) === JSON.stringify(b);
557
579
  }
558
- /** The top-level keys of a locale's configuration that differ from the
559
- * shared (stripped) configuration, each stripped of its defaults. A key
560
- * whose value is all defaults while the shared one is not is written as
561
- * given (`layout: {}`), so that it still replaces the shared key.
580
+ /** A locale's configuration as an override of the shared (stripped)
581
+ * settings (#1209): the fields it sets differently, `null` for a shared
582
+ * value it reads at its default (see `mergeConfigLayers`).
562
583
  *
563
- * The locale is read as its keys over the shared ones, so the defaults
564
- * that depend on the rest of the configuration (the language, the writing
565
- * mode, a character grid) are those of that whole, `sharedSource` (the
566
- * shared configuration as given) under `own` (#651): a locale that only
567
- * sets `headings` on a shared character grid keeps `balancing.enabled:
568
- * true`. A shared key the locale leaves out is written for it too when
569
- * its own defaults keep a value the shared ones dropped (`index.see.italic:
570
- * true` under a Japanese locale). */
571
- function localizedConfig(own, shared, sharedSource) {
572
- const raw = own;
573
- const base = shared;
574
- const whole = { ...sharedSource };
575
- for (const key of Object.keys(raw))
576
- if (raw[key] !== undefined)
577
- whole[key] = raw[key];
578
- const stripped = stripConfigDefaults(whole);
579
- const out = {};
580
- for (const key of Object.keys(raw)) {
581
- if (key === 'customFonts' || raw[key] === undefined)
582
- continue;
583
- if (sameJson(stripped[key], base[key]))
584
- continue;
585
- out[key] = stripped[key] ?? raw[key];
584
+ * The locale is stripped of its defaults as a whole, so the defaults that
585
+ * depend on the rest of the configuration (the language, the writing
586
+ * mode, a character grid) are its own: a value the shared settings drop
587
+ * as a default of their language is written for a locale whose default
588
+ * differs (`index.see.italic: true` under a Japanese locale), and one
589
+ * they keep that is the locale's default is not taken out by mistake.
590
+ * `own` is the whole edition (`whole`), or its top-level keys over the
591
+ * shared ones (#651: a locale that only sets `headings` on a shared
592
+ * character grid keeps `balancing.enabled: true`). */
593
+ function localizedConfig(own, shared, sharedSource, whole) {
594
+ const merged = whole ? { ...own } : { ...sharedSource };
595
+ if (!whole)
596
+ for (const [key, value] of Object.entries(own))
597
+ if (value !== undefined)
598
+ merged[key] = value;
599
+ const target = stripConfigDefaults(merged);
600
+ delete target.customFonts;
601
+ // The output profile travels once, under the shared name of its file.
602
+ const profile = target.print?.customProfile;
603
+ if (profile && profile.fileId === sharedSource.print?.customProfile?.fileId && shared.print?.customProfile) {
604
+ target.print = { ...target.print, customProfile: shared.print.customProfile };
586
605
  }
587
- const sharedStripped = stripConfigDefaults(sharedSource);
588
- for (const key of Object.keys(sharedSource)) {
589
- if (key === 'customFonts' || raw[key] !== undefined)
590
- continue;
591
- if (!heldBy(stripped[key], sharedStripped[key]))
592
- out[key] = stripped[key];
593
- }
594
- return out;
595
- }
596
- /** Whether everything `value` sets is set the same in `holder` (which may
597
- * set more): objects field by field, anything else as a whole. */
598
- function heldBy(value, holder) {
599
- if (value === undefined)
600
- return true;
601
- const fields = (v) => typeof v === 'object' && v !== null && !Array.isArray(v) ? v : undefined;
602
- const a = fields(value);
603
- const b = fields(holder);
604
- if (a && b)
605
- return Object.keys(a).every((key) => heldBy(a[key], b[key]));
606
- return sameJson(value, holder);
606
+ // A `null` the locale reads the same without (the shared value is its
607
+ // default too) is not written.
608
+ return leastConfigOverride(shared, target, (c) => {
609
+ const out = stripConfigDefaults(c);
610
+ delete out.customFonts;
611
+ return out;
612
+ });
607
613
  }
608
614
  function toBytes(data) {
609
615
  return data instanceof Uint8Array ? data : new Uint8Array(data);
@@ -1 +1 @@
1
- {"version":3,"file":"codec.js","sourceRoot":"","sources":["../../src/bundle/codec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codec.js","sourceRoot":"","sources":["../../src/bundle/codec.ts"],"names":[],"mappings":"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"}
@@ -198,6 +198,13 @@ import type { PostextConfig } from '../types.js';
198
198
  * (`bodyText.breakAfterSlashes`), and a word wider than its line is
199
199
  * divided after a slash first, where up to 1.51 the rich breaker broke
200
200
  * after a slash only inside a web address ({@link pinLegacySlashBreaks}).
201
+ * - 20 (#1172): a fence in a notation language (```` ```abc ````) is a
202
+ * music score ({@link pinLegacyScoreFences}).
203
+ * - 21 (#1209): a bundle's `localized[…].config` is an override merged
204
+ * over the shared `config` field by field ({@link mergeConfigLayers}),
205
+ * where up to 1.57 each of its top-level keys replaced the shared one
206
+ * whole. Nothing to pin: a bundle stamped 20 or less is read the old
207
+ * way.
201
208
  *
202
209
  * A configuration stored without a version was written for postext 1.4 or
203
210
  * earlier. One stored under 3 to 7 was written by a 1.5 prerelease, and
@@ -223,9 +230,10 @@ import type { PostextConfig } from '../types.js';
223
230
  * development build and gets the version-18 and version-19 pins; one stored
224
231
  * as 18 was written by postext 1.52 and gets the version-19 pin; one stored
225
232
  * as 19 was written by postext 1.53 and gets the version-20 pin (which every
226
- * older one gets too).
233
+ * older one gets too); one stored as 20 or less has its locale layer read
234
+ * key by key.
227
235
  */
228
- export declare const CONFIG_VERSION = 20;
236
+ export declare const CONFIG_VERSION = 21;
229
237
  /** The rules that read page templates and label styles (#853). They add
230
238
  * keys and change no older one, so they pin nothing: kept to say where
231
239
  * the number came from. */
@@ -233,6 +241,9 @@ export declare const COMPOSED_PAGES_RULES = 15;
233
241
  /** The rules that draw connectors in a template's decoration (#1056): new
234
242
  * keys only, nothing to pin. */
235
243
  export declare const CONNECTOR_RULES = 16;
244
+ /** The rules that merge a bundle's locale configuration over the shared one
245
+ * field by field (#1209). */
246
+ export declare const LOCALE_LAYER_RULES = 21;
236
247
  /**
237
248
  * How much larger postext 1.4 set maths than the size it documents:
238
249
  * MathJax gives a formula's box in `ex`, one `ex` of its TeX font is
@@ -804,7 +815,10 @@ export declare function migrateConfig<T extends Partial<PostextConfig>>(config:
804
815
  /**
805
816
  * A bundle's configuration in today's terms: `base` (the reader's own)
806
817
  * under the manifest's `config` and the locale's overrides, both stored
807
- * under `configVersion`. Top-level keys replace one another wholesale, so
818
+ * under `configVersion`. The manifest's top-level keys replace the base's
819
+ * whole; the locale's override is merged over them field by field
820
+ * ({@link mergeConfigLayers}) when the bundle was written for rules 21 or
821
+ * later, and replaces them key by key when it is older. So
808
822
  * the heading breaks are pinned layer by layer (the base's are taken as
809
823
  * they are) and the maths size once, on the `math` the layers leave in
810
824
  * force — the size 1.4 set this bundle's formulas at, whichever layer
@@ -1 +1 @@
1
- {"version":3,"file":"configVersion.d.ts","sourceRoot":"","sources":["../../src/bundle/configVersion.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"configVersion.d.ts","sourceRoot":"","sources":["../../src/bundle/configVersion.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,7 @@ import { markdownHasScore } from '../music/types.js';
15
15
  import { KNOWN_CONTAINERS } from '../parse/blockParser.js';
16
16
  import { codeFenceOpen } from '../parse/codeFence.js';
17
17
  import { hasCJK } from '../measure/cjk.js';
18
+ import { mergeConfigLayers } from '../defaults/configLayers.js';
18
19
  /**
19
20
  * The configuration rules this engine writes: 19 since #1164 (18 from #1149, 17 from #1119, 16 from #1056, 15 from #853, 14 from
20
21
  * postext 1.30, 13 from 1.29, 12 from 1.28, 11 from 1.25, 10 from 1.24, 9 from 1.23, 8 from 1.5). Thirteen rules changed in 1.5 and
@@ -214,6 +215,13 @@ import { hasCJK } from '../measure/cjk.js';
214
215
  * (`bodyText.breakAfterSlashes`), and a word wider than its line is
215
216
  * divided after a slash first, where up to 1.51 the rich breaker broke
216
217
  * after a slash only inside a web address ({@link pinLegacySlashBreaks}).
218
+ * - 20 (#1172): a fence in a notation language (```` ```abc ````) is a
219
+ * music score ({@link pinLegacyScoreFences}).
220
+ * - 21 (#1209): a bundle's `localized[…].config` is an override merged
221
+ * over the shared `config` field by field ({@link mergeConfigLayers}),
222
+ * where up to 1.57 each of its top-level keys replaced the shared one
223
+ * whole. Nothing to pin: a bundle stamped 20 or less is read the old
224
+ * way.
217
225
  *
218
226
  * A configuration stored without a version was written for postext 1.4 or
219
227
  * earlier. One stored under 3 to 7 was written by a 1.5 prerelease, and
@@ -239,9 +247,10 @@ import { hasCJK } from '../measure/cjk.js';
239
247
  * development build and gets the version-18 and version-19 pins; one stored
240
248
  * as 18 was written by postext 1.52 and gets the version-19 pin; one stored
241
249
  * as 19 was written by postext 1.53 and gets the version-20 pin (which every
242
- * older one gets too).
250
+ * older one gets too); one stored as 20 or less has its locale layer read
251
+ * key by key.
243
252
  */
244
- export const CONFIG_VERSION = 20;
253
+ export const CONFIG_VERSION = 21;
245
254
  /** The rules that merge a partial heading break onto its level's. */
246
255
  const HEADING_BREAK_RULES = 3;
247
256
  /** The rules that set a formula's em at the documented size. */
@@ -361,6 +370,9 @@ const SLASH_BREAK_RULES = 19;
361
370
  /** The rules that read a fence in a notation language (```` ```abc ````) as
362
371
  * a music score (#1172). */
363
372
  const SCORE_FENCE_RULES = 20;
373
+ /** The rules that merge a bundle's locale configuration over the shared one
374
+ * field by field (#1209). */
375
+ export const LOCALE_LAYER_RULES = 21;
364
376
  /** Up to 1.4 a drop cap with no `fontSize` was as tall as the line boxes it
365
377
  * spans divided by this, the share of a letter's size its capitals take. */
366
378
  const CAP_HEIGHT = 0.72;
@@ -2006,7 +2018,10 @@ export function migrateConfig(config, configVersion, options = {}) {
2006
2018
  /**
2007
2019
  * A bundle's configuration in today's terms: `base` (the reader's own)
2008
2020
  * under the manifest's `config` and the locale's overrides, both stored
2009
- * under `configVersion`. Top-level keys replace one another wholesale, so
2021
+ * under `configVersion`. The manifest's top-level keys replace the base's
2022
+ * whole; the locale's override is merged over them field by field
2023
+ * ({@link mergeConfigLayers}) when the bundle was written for rules 21 or
2024
+ * later, and replaces them key by key when it is older. So
2010
2025
  * the heading breaks are pinned layer by layer (the base's are taken as
2011
2026
  * they are) and the maths size once, on the `math` the layers leave in
2012
2027
  * force — the size 1.4 set this bundle's formulas at, whichever layer
@@ -2048,9 +2063,12 @@ export function migrateConfig(config, configVersion, options = {}) {
2048
2063
  export function migrateBundleConfig(base, layers, configVersion, options = {}) {
2049
2064
  const rules = rulesOf(configVersion);
2050
2065
  let merged = { ...base };
2051
- for (const layer of layers) {
2052
- Object.assign(merged, rules < HEADING_BREAK_RULES ? pinLegacyHeadingBreaks(layer) : layer);
2053
- }
2066
+ layers.forEach((layer, i) => {
2067
+ if (i > 0 && rules >= LOCALE_LAYER_RULES)
2068
+ merged = mergeConfigLayers(merged, layer);
2069
+ else
2070
+ Object.assign(merged, rules < HEADING_BREAK_RULES ? pinLegacyHeadingBreaks(layer) : layer);
2071
+ });
2054
2072
  const content = rules < CONFIG_VERSION ? readContent(options.content) : undefined;
2055
2073
  if (rules < MATH_SIZE_RULES && mayHaveMaths(content))
2056
2074
  merged = pinLegacyMathSize(merged);