@flighthq/bitmapfont-formats 0.5.1-next.920.da8f530 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/README.md +2 -2
  2. package/dist/.tsbuildinfo.contract +1 -0
  3. package/dist/.tsbuildinfo.runtime +1 -0
  4. package/dist/bitmapFontBinary.d.ts +4 -0
  5. package/dist/bitmapFontBinary.d.ts.map +1 -0
  6. package/dist/bitmapFontBinary.js +129 -0
  7. package/dist/bitmapFontBinary.js.map +1 -0
  8. package/dist/bitmapFontDetect.d.ts +59 -0
  9. package/dist/bitmapFontDetect.d.ts.map +1 -0
  10. package/dist/bitmapFontDetect.js +133 -0
  11. package/dist/bitmapFontDetect.js.map +1 -0
  12. package/dist/bitmapFontFnt.d.ts +2 -1
  13. package/dist/bitmapFontFnt.d.ts.map +1 -1
  14. package/dist/bitmapFontFnt.js +1 -1
  15. package/dist/bitmapFontFnt.js.map +1 -1
  16. package/dist/bitmapFontFormatKind.d.ts +37 -0
  17. package/dist/bitmapFontFormatKind.d.ts.map +1 -0
  18. package/dist/bitmapFontFormatKind.js +123 -0
  19. package/dist/bitmapFontFormatKind.js.map +1 -0
  20. package/dist/bitmapFontJson.d.ts +2 -1
  21. package/dist/bitmapFontJson.d.ts.map +1 -1
  22. package/dist/bitmapFontJson.js +4 -3
  23. package/dist/bitmapFontJson.js.map +1 -1
  24. package/dist/bitmapFontRecord.d.ts +3 -1
  25. package/dist/bitmapFontRecord.d.ts.map +1 -1
  26. package/dist/bitmapFontRecord.js +1 -2
  27. package/dist/bitmapFontRecord.js.map +1 -1
  28. package/dist/bitmapFontXml.d.ts +2 -1
  29. package/dist/bitmapFontXml.d.ts.map +1 -1
  30. package/dist/bitmapFontXml.js +1 -1
  31. package/dist/bitmapFontXml.js.map +1 -1
  32. package/dist/bitmapfontFormatRequirements.d.ts +9 -0
  33. package/dist/bitmapfontFormatRequirements.d.ts.map +1 -0
  34. package/dist/bitmapfontFormatRequirements.js +9 -0
  35. package/dist/bitmapfontFormatRequirements.js.map +1 -0
  36. package/dist/contract.bitmapfont-formats-types.d.ts +2 -0
  37. package/dist/contract.bitmapfont-formats-types.d.ts.map +1 -0
  38. package/dist/contract.bitmapfont-formats-types.js +4 -0
  39. package/dist/contract.bitmapfont-formats-types.js.map +1 -0
  40. package/dist/contract.d.ts +10 -3
  41. package/dist/contract.d.ts.map +1 -1
  42. package/dist/contract.js +10 -3
  43. package/dist/contract.js.map +1 -1
  44. package/dist/explainBitmapFontParse.d.ts +4 -0
  45. package/dist/explainBitmapFontParse.d.ts.map +1 -0
  46. package/dist/explainBitmapFontParse.js +194 -0
  47. package/dist/explainBitmapFontParse.js.map +1 -0
  48. package/dist/index.d.ts +9 -1
  49. package/dist/index.d.ts.map +1 -1
  50. package/dist/index.js +9 -1
  51. package/dist/index.js.map +1 -1
  52. package/dist/types.d.ts +59 -0
  53. package/dist/types.d.ts.map +1 -0
  54. package/dist/types.js +5 -0
  55. package/dist/types.js.map +1 -0
  56. package/package.json +13 -7
  57. package/src/bitmapFontBinary.test.ts +196 -0
  58. package/src/bitmapFontDetect.test.ts +335 -0
  59. package/src/bitmapFontFnt.test.ts +5 -2
  60. package/src/bitmapFontFormatKind.test.ts +71 -0
  61. package/src/bitmapFontJson.test.ts +5 -5
  62. package/src/bitmapFontRecord.test.ts +3 -2
  63. package/src/bitmapFontXml.test.ts +2 -2
  64. package/src/explainBitmapFontParse.test.ts +161 -0
@@ -0,0 +1,133 @@
1
+ import { decodeUTF8 } from '@flighthq/encoding/contract';
2
+ import { getKindMapKeys, withKindMapEntry, withoutKindMapEntry } from '@flighthq/registry/contract';
3
+ import { parseBitmapFontBinary } from './bitmapFontBinary.js';
4
+ import { parseBitmapFontFnt } from './bitmapFontFnt.js';
5
+ import { readBitmapFontFormatKind } from './bitmapFontFormatKind.js';
6
+ import { parseBitmapFontJson } from './bitmapFontJson.js';
7
+ import { parseBitmapFontXml } from './bitmapFontXml.js';
8
+ import { BitmapFontFormatKindBmFontBinary, BitmapFontFormatKindBmFontJson, BitmapFontFormatKindBmFontText, BitmapFontFormatKindBmFontXml, } from './types.js';
9
+ /**
10
+ * Installs the formats named in `options` into the registry.
11
+ *
12
+ * ★ THE SEAM IS EXPLICIT AND NOTHING REGISTERS ON IMPORT. This package declares `"sideEffects": false`, so the
13
+ * built-ins are seeded by the registry's own initializer rather than by front-end modules registering
14
+ * themselves — and options stay inert data a caller applies when they choose.
15
+ *
16
+ * Re-registering a kind is last-write-wins. Detection does not depend on registration order: every built-in
17
+ * detector asks one shared discrimination and answers only for its own kind.
18
+ */
19
+ export function applyBitmapFontImportOptions(options) {
20
+ for (const format of options.formats ?? [])
21
+ bindBitmapFontFormat(format.kind, format.entry);
22
+ }
23
+ /** Sniff the bytes of a bitmap font descriptor and return its format kind, or `null` when no registered format
24
+ * recognises it.
25
+ *
26
+ * Detection is structural, not extension-based, which matters more here than for most families: BMFont writes
27
+ * its binary, text and XML forms all under `.fnt`, so the extension cannot name the format.
28
+ *
29
+ * Returns `null` for unknown or corrupt input — never throws. */
30
+ export function detectBitmapFontFormat(bytes) {
31
+ for (const [kind, entry] of getRegistry()) {
32
+ if (entry.detect(bytes))
33
+ return kind;
34
+ }
35
+ return null;
36
+ }
37
+ /** Retrieve the registered entry for a `BitmapFontFormatKind`, or `null` when none is registered.
38
+ *
39
+ * Useful for introspecting which formats are available, or for calling one format's detector or parser
40
+ * directly without going through detection. */
41
+ export function getBitmapFontFormat(kind) {
42
+ return getRegistry().get(kind) ?? null;
43
+ }
44
+ /** Return a sorted snapshot of every bound bitmap font format kind. */
45
+ export function getBitmapFontFormatKinds() {
46
+ const kinds = [];
47
+ getKindMapKeys(kinds, getRegistry());
48
+ return kinds;
49
+ }
50
+ /** Parse a bitmap font descriptor into a `BitmapFont`, auto-detecting the format.
51
+ *
52
+ * Pass `formatKind` to skip detection when the format is already known. Returns `null` when the format is not
53
+ * recognised, or when the recognised front end rejects the document — an expected failure, not a throw. */
54
+ export function parseBitmapFont(bytes, formatKind, options, diagnostics) {
55
+ const kind = formatKind ?? detectBitmapFontFormat(bytes);
56
+ if (kind === null || kind === undefined)
57
+ return null;
58
+ return getBitmapFontFormat(kind)?.parse(bytes, options, diagnostics) ?? null;
59
+ }
60
+ /** Register a custom bitmap font format for `detectBitmapFontFormat` and `parseBitmapFont`.
61
+ *
62
+ * Last-write-wins: registering a built-in kind replaces it. Third-party formats should use a vendor-prefixed
63
+ * kind (e.g. `'acme.MyFont'`) so they cannot collide with a built-in.
64
+ *
65
+ * A custom detector should be as narrow as the built-ins are — they are mutually exclusive, so detection does
66
+ * not depend on registration order today, and a broad custom detector is the one way to reintroduce that
67
+ * dependence. */
68
+ export function registerBitmapFontFormat(kind, entry) {
69
+ bindBitmapFontFormat(kind, entry);
70
+ }
71
+ export const bmFontBinaryFormat = {
72
+ entry: {
73
+ detect: (bytes) => readBitmapFontFormatKind(bytes) === BitmapFontFormatKindBmFontBinary,
74
+ parse: (bytes, options, diagnostics) => parseBitmapFontBinary(bytes, options, diagnostics),
75
+ },
76
+ kind: BitmapFontFormatKindBmFontBinary,
77
+ };
78
+ export const bmFontJsonFormat = {
79
+ entry: {
80
+ detect: (bytes) => readBitmapFontFormatKind(bytes) === BitmapFontFormatKindBmFontJson,
81
+ parse: (bytes, options, diagnostics) => parseBitmapFontJson(decodeUTF8(bytes), options, diagnostics),
82
+ },
83
+ kind: BitmapFontFormatKindBmFontJson,
84
+ };
85
+ export const bmFontTextFormat = {
86
+ entry: {
87
+ detect: (bytes) => readBitmapFontFormatKind(bytes) === BitmapFontFormatKindBmFontText,
88
+ parse: (bytes, options, diagnostics) => parseBitmapFontFnt(decodeUTF8(bytes), options, diagnostics),
89
+ },
90
+ kind: BitmapFontFormatKindBmFontText,
91
+ };
92
+ export const bmFontXmlFormat = {
93
+ entry: {
94
+ detect: (bytes) => readBitmapFontFormatKind(bytes) === BitmapFontFormatKindBmFontXml,
95
+ parse: (bytes, options, diagnostics) => parseBitmapFontXml(decodeUTF8(bytes), options, diagnostics),
96
+ },
97
+ kind: BitmapFontFormatKindBmFontXml,
98
+ };
99
+ /**
100
+ * Every built-in bitmap font format.
101
+ *
102
+ * Naming this is equivalent to what the registry seeds itself with, and it is what a caller passes when they want
103
+ * every format. A caller wanting a subset names the descriptors they want, and the front ends they leave out —
104
+ * with their XML or JSON readers — never link. The list is alphabetical by kind because nothing depends on its
105
+ * order; `describe('bitmapFontAllFormats')` measures that.
106
+ */
107
+ export const bitmapFontAllFormats = [
108
+ bmFontBinaryFormat,
109
+ bmFontJsonFormat,
110
+ bmFontTextFormat,
111
+ bmFontXmlFormat,
112
+ ];
113
+ /** Remove a format binding, including a caller override of a built-in kind. */
114
+ export function unregisterBitmapFontFormat(kind) {
115
+ _registry = withoutKindMapEntry(getRegistry(), kind);
116
+ }
117
+ function bindBitmapFontFormat(kind, entry) {
118
+ _registry = withKindMapEntry(getRegistry(), kind, entry);
119
+ }
120
+ // Seeded from the full preset, so the built-in set lives in exactly one place instead of being stated here and
121
+ // restated by anyone assembling the same set. Built-ins are seeded here rather than self-registering from their
122
+ // own modules on import: this package declares `"sideEffects": false`, so a top-level
123
+ // `registerBitmapFontFormat` call in each front end would be the import-time side effect the SDK bans, and it
124
+ // would drag every front end into any consumer that imported one.
125
+ function getRegistry() {
126
+ if (_registry !== null)
127
+ return _registry;
128
+ _registry = new Map();
129
+ applyBitmapFontImportOptions({ formats: bitmapFontAllFormats });
130
+ return _registry;
131
+ }
132
+ let _registry = null;
133
+ //# sourceMappingURL=bitmapFontDetect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bitmapFontDetect.js","sourceRoot":"","sources":["../src/bitmapFontDetect.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
- import type { BitmapFont, ImportDiagnostic, BitmapFontParseOptions } from '@flighthq/types/contract';
1
+ import type { BitmapFont, BitmapFontParseOptions } from '@flighthq/bitmapfont/contract';
2
+ import type { ImportDiagnostic } from '@flighthq/importdiagnostics/contract';
2
3
  export declare function formatBitmapFontFnt(font: Readonly<BitmapFont>): string;
3
4
  export declare function parseBitmapFontFnt(text: string, options?: Readonly<BitmapFontParseOptions>, diagnostics?: ImportDiagnostic[]): BitmapFont | null;
4
5
  //# sourceMappingURL=bitmapFontFnt.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bitmapFontFnt.d.ts","sourceRoot":"","sources":["../src/bitmapFontFnt.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,UAAU,EACV,gBAAgB,EAKhB,sBAAsB,EAGvB,MAAM,0BAA0B,CAAC;AAYlC,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,MAAM,CAwCtE;AAOD,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,QAAQ,CAAC,sBAAsB,CAAC,EAC1C,WAAW,CAAC,EAAE,gBAAgB,EAAE,GAC/B,UAAU,GAAG,IAAI,CAInB"}
1
+ {"version":3,"file":"bitmapFontFnt.d.ts","sourceRoot":"","sources":["../src/bitmapFontFnt.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAyB,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAE/G,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAa7E,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,MAAM,CAwCtE;AAOD,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,QAAQ,CAAC,sBAAsB,CAAC,EAC1C,WAAW,CAAC,EAAE,gBAAgB,EAAE,GAC/B,UAAU,GAAG,IAAI,CAInB"}
@@ -1,5 +1,5 @@
1
1
  import { getBitmapFontMetrics, unpackBitmapFontKerningKey } from '@flighthq/bitmapfont/contract';
2
- import { buildBitmapFontFromRecord, reportDroppedBitmapFontRecords } from './bitmapFontRecord';
2
+ import { buildBitmapFontFromRecord, reportDroppedBitmapFontRecords } from './bitmapFontRecord.js';
3
3
  // Re-emits a `BitmapFont` as the classic AngelCode/BMFont text `.fnt` (`info`/`common`/`page`/`char`/
4
4
  // `kerning` lines of `key=value` pairs). Lossless for the fields the model carries — the glyph table
5
5
  // (including each glyph's `page`), kerning pairs, encoding, and line metrics all round-trip
@@ -1 +1 @@
1
- {"version":3,"file":"bitmapFontFnt.js","sourceRoot":"","sources":["../src/bitmapFontFnt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bitmapFontFnt.js","sourceRoot":"","sources":["../src/bitmapFontFnt.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ import type { BitmapFontFormatKind } from './types.ts';
2
+ /**
3
+ * The bitmap-font content discrimination, with NO registry behind it.
4
+ *
5
+ * ★ IT LIVES HERE SO A CALLER CAN ASK WHICH FORMAT A FILE IS WITHOUT INSTALLING FOUR PARSERS. This was a private
6
+ * function of `bitmapFontDetect.ts`, which is also where the registry, the appliers and all four front ends live —
7
+ * so the only way to reach the answer was to import the module that seeds the full preset. A build-time analyzer
8
+ * needs exactly this answer and none of that: it reads a `.fnt`, learns which ONE of the three forms BMFont wrote,
9
+ * and names that parser alone. The four detectors in `bitmapFontDetect.ts` still ask this same function, so the
10
+ * move cannot make a detector and the analyzer disagree.
11
+ *
12
+ * It is a pure function of bytes. It registers nothing, reads no module state, and pulls in no front end.
13
+ */
14
+ /**
15
+ * The ONE discrimination all four built-in detectors ask, which is what makes them mutually exclusive.
16
+ *
17
+ * Each detector compares this answer against its own kind, so exactly one can be true for any file and none of
18
+ * them is a broad net another has to be registered ahead of. That matters unusually much for this family: BMFont
19
+ * writes all three of its `.fnt` forms — binary, text and XML — under the SAME extension, so the format is
20
+ * knowable only from the content and a loose detector has nothing to fall back on.
21
+ *
22
+ * The four discriminants are format facts and cannot overlap by construction:
23
+ * - binary: the three bytes `BMF` followed by version 3, which is the exact header the binary front end
24
+ * requires, so a detector and its parser cannot disagree.
25
+ * - XML: the first non-space character is `<` and the root element is `<font>`, which is the root the XML front
26
+ * end requires.
27
+ * - JSON: the first non-space character is `{` AND the object carries the `common` and `chars` blocks the JSON
28
+ * front end requires. The extra condition is not decoration: `.json` is shared with seven other families, so
29
+ * a detector that claimed every JSON object would link this front end into any build with a config file.
30
+ * - text: neither of the above, and a line whose first token is one of the grammar's own block names.
31
+ *
32
+ * Only the first bytes are decoded for the text discrimination — a font descriptor carries thousands of char
33
+ * lines and detection runs over every candidate asset in a build, so reading the whole file to find out it is a
34
+ * font at all would be paid once per registered format.
35
+ */
36
+ export declare function readBitmapFontFormatKind(bytes: Readonly<Uint8Array>): BitmapFontFormatKind | null;
37
+ //# sourceMappingURL=bitmapFontFormatKind.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bitmapFontFormatKind.d.ts","sourceRoot":"","sources":["../src/bitmapFontFormatKind.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAEvD;;;;;;;;;;;GAWG;AACH;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,oBAAoB,GAAG,IAAI,CAYjG"}
@@ -0,0 +1,123 @@
1
+ import { decodeUTF8 } from '@flighthq/encoding/contract';
2
+ import { BitmapFontFormatKindBmFontBinary, BitmapFontFormatKindBmFontJson, BitmapFontFormatKindBmFontText, BitmapFontFormatKindBmFontXml, } from './types.js';
3
+ /**
4
+ * The bitmap-font content discrimination, with NO registry behind it.
5
+ *
6
+ * ★ IT LIVES HERE SO A CALLER CAN ASK WHICH FORMAT A FILE IS WITHOUT INSTALLING FOUR PARSERS. This was a private
7
+ * function of `bitmapFontDetect.ts`, which is also where the registry, the appliers and all four front ends live —
8
+ * so the only way to reach the answer was to import the module that seeds the full preset. A build-time analyzer
9
+ * needs exactly this answer and none of that: it reads a `.fnt`, learns which ONE of the three forms BMFont wrote,
10
+ * and names that parser alone. The four detectors in `bitmapFontDetect.ts` still ask this same function, so the
11
+ * move cannot make a detector and the analyzer disagree.
12
+ *
13
+ * It is a pure function of bytes. It registers nothing, reads no module state, and pulls in no front end.
14
+ */
15
+ /**
16
+ * The ONE discrimination all four built-in detectors ask, which is what makes them mutually exclusive.
17
+ *
18
+ * Each detector compares this answer against its own kind, so exactly one can be true for any file and none of
19
+ * them is a broad net another has to be registered ahead of. That matters unusually much for this family: BMFont
20
+ * writes all three of its `.fnt` forms — binary, text and XML — under the SAME extension, so the format is
21
+ * knowable only from the content and a loose detector has nothing to fall back on.
22
+ *
23
+ * The four discriminants are format facts and cannot overlap by construction:
24
+ * - binary: the three bytes `BMF` followed by version 3, which is the exact header the binary front end
25
+ * requires, so a detector and its parser cannot disagree.
26
+ * - XML: the first non-space character is `<` and the root element is `<font>`, which is the root the XML front
27
+ * end requires.
28
+ * - JSON: the first non-space character is `{` AND the object carries the `common` and `chars` blocks the JSON
29
+ * front end requires. The extra condition is not decoration: `.json` is shared with seven other families, so
30
+ * a detector that claimed every JSON object would link this front end into any build with a config file.
31
+ * - text: neither of the above, and a line whose first token is one of the grammar's own block names.
32
+ *
33
+ * Only the first bytes are decoded for the text discrimination — a font descriptor carries thousands of char
34
+ * lines and detection runs over every candidate asset in a build, so reading the whole file to find out it is a
35
+ * font at all would be paid once per registered format.
36
+ */
37
+ export function readBitmapFontFormatKind(bytes) {
38
+ if (bytes.length >= 4 && bytes[0] === 66 && bytes[1] === 77 && bytes[2] === 70 && bytes[3] === 3) {
39
+ return BitmapFontFormatKindBmFontBinary;
40
+ }
41
+ const head = decodeUTF8(bytes, 0, Math.min(bytes.length, DETECT_WINDOW_BYTES));
42
+ const trimmed = head.trimStart();
43
+ if (trimmed === '')
44
+ return null;
45
+ if (trimmed.startsWith('<')) {
46
+ return readXmlRootElementName(trimmed) === 'font' ? BitmapFontFormatKindBmFontXml : null;
47
+ }
48
+ if (trimmed.startsWith('{'))
49
+ return isBmFontJsonObject(bytes) ? BitmapFontFormatKindBmFontJson : null;
50
+ return hasBmFontTextBlock(trimmed) ? BitmapFontFormatKindBmFontText : null;
51
+ }
52
+ /**
53
+ * Whether the bytes are a JSON object carrying the two blocks the JSON front end requires.
54
+ *
55
+ * ★ THE OPENING BRACE IS NOT ENOUGH, AND THE COMPOSITE ANALYZER IS WHAT PROVED IT. `.json` is shared with seven
56
+ * other format families, so claiming every JSON object put the BMFont JSON front end into the bundle of any build
57
+ * with an app config or a Tiled map beside its assets — the exact bundle inflation content-aware analysis exists
58
+ * to prevent. Requiring `common` and `chars` asks the same question `parseBitmapFontJson` asks (it returns null
59
+ * without either), so the detector still cannot disagree with its parser.
60
+ *
61
+ * This is the one branch that decodes and parses the WHOLE document rather than the detection window: a `chars`
62
+ * array carries thousands of entries and can push `common` past any fixed prefix, so a windowed answer here would
63
+ * be wrong for exactly the large fonts it was meant to make cheap. The sibling JSON families pay the same cost.
64
+ */
65
+ function isBmFontJsonObject(bytes) {
66
+ let raw;
67
+ try {
68
+ raw = JSON.parse(decodeUTF8(bytes));
69
+ }
70
+ catch {
71
+ return false;
72
+ }
73
+ if (raw === null || typeof raw !== 'object' || Array.isArray(raw))
74
+ return false;
75
+ const obj = raw;
76
+ const hasChars = Array.isArray(obj.chars) || (obj.chars !== null && typeof obj.chars === 'object');
77
+ return hasChars && obj.common !== null && typeof obj.common === 'object';
78
+ }
79
+ // Whether the head of a text document opens with one of the BMFont text grammar's own block names. `info` and
80
+ // `common` are the two blocks every writer emits first; `page` and `char` are accepted so a fragment that omits
81
+ // the header is still recognised as this grammar rather than as prose.
82
+ function hasBmFontTextBlock(head) {
83
+ for (const rawLine of head.split(/\r\n?|\n/)) {
84
+ const line = rawLine.trim();
85
+ if (line === '')
86
+ continue;
87
+ const spaceAt = line.search(/\s/);
88
+ const tag = spaceAt < 0 ? line : line.slice(0, spaceAt);
89
+ if (tag === 'info' || tag === 'common' || tag === 'page' || tag === 'char' || tag === 'chars')
90
+ return true;
91
+ return false;
92
+ }
93
+ return false;
94
+ }
95
+ // The name of the first ELEMENT in an XML document, skipping the declaration, comments and the doctype, or
96
+ // `null` when the text does not open an element.
97
+ function readXmlRootElementName(trimmed) {
98
+ let index = 0;
99
+ while (index < trimmed.length) {
100
+ if (!trimmed.startsWith('<', index)) {
101
+ const next = trimmed.indexOf('<', index);
102
+ if (next < 0)
103
+ return null;
104
+ index = next;
105
+ continue;
106
+ }
107
+ if (trimmed.startsWith('<?', index) || trimmed.startsWith('<!', index)) {
108
+ const comment = trimmed.startsWith('<!--', index);
109
+ const close = comment ? trimmed.indexOf('-->', index) : trimmed.indexOf('>', index);
110
+ if (close < 0)
111
+ return null;
112
+ index = close + (comment ? 3 : 1);
113
+ continue;
114
+ }
115
+ const match = /^<([A-Za-z_][\w.:-]*)/.exec(trimmed.slice(index));
116
+ return match === null ? null : match[1];
117
+ }
118
+ return null;
119
+ }
120
+ // Enough to carry an XML declaration, a doctype, a comment and the first grammar line of any of the three text
121
+ // forms. A descriptor whose first block starts further in than this is not something any BMFont writer emits.
122
+ const DETECT_WINDOW_BYTES = 4096;
123
+ //# sourceMappingURL=bitmapFontFormatKind.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bitmapFontFormatKind.js","sourceRoot":"","sources":["../src/bitmapFontFormatKind.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
- import type { BitmapFont, ImportDiagnostic, BitmapFontParseOptions } from '@flighthq/types/contract';
1
+ import type { BitmapFont, BitmapFontParseOptions } from '@flighthq/bitmapfont/contract';
2
+ import type { ImportDiagnostic } from '@flighthq/importdiagnostics/contract';
2
3
  export declare function parseBitmapFontJson(text: string, options?: Readonly<BitmapFontParseOptions>, diagnostics?: ImportDiagnostic[]): BitmapFont | null;
3
4
  //# sourceMappingURL=bitmapFontJson.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bitmapFontJson.d.ts","sourceRoot":"","sources":["../src/bitmapFontJson.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,gBAAgB,EAKhB,sBAAsB,EAEvB,MAAM,0BAA0B,CAAC;AAWlC,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,QAAQ,CAAC,sBAAsB,CAAC,EAC1C,WAAW,CAAC,EAAE,gBAAgB,EAAE,GAC/B,UAAU,GAAG,IAAI,CAInB"}
1
+ {"version":3,"file":"bitmapFontJson.d.ts","sourceRoot":"","sources":["../src/bitmapFontJson.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAsB,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAC5G,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAY7E,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,QAAQ,CAAC,sBAAsB,CAAC,EAC1C,WAAW,CAAC,EAAE,gBAAgB,EAAE,GAC/B,UAAU,GAAG,IAAI,CAInB"}
@@ -1,4 +1,4 @@
1
- import { buildBitmapFontFromRecord, reportDroppedBitmapFontRecords } from './bitmapFontRecord';
1
+ import { buildBitmapFontFromRecord, reportDroppedBitmapFontRecords } from './bitmapFontRecord.js';
2
2
  // Parses the JSON AngelCode/BMFont export into a `BitmapFont`. The shape mirrors the text/XML blocks as
3
3
  // an object: `{ common: { lineHeight, base }, pages: [file, …], chars: [{ id, x, … }], kernings: [{
4
4
  // first, second, amount }] }`, where `pages` is a filename array whose index is the page id. A
@@ -37,10 +37,11 @@ function parseBitmapFontJsonRecord(text, diagnostics) {
37
37
  let droppedChars = 0;
38
38
  let droppedKernings = 0;
39
39
  const rawChars = root.chars;
40
- if (!Array.isArray(rawChars))
40
+ const charIterable = Array.isArray(rawChars) ? rawChars : isObject(rawChars) ? Object.values(rawChars) : null;
41
+ if (charIterable === null)
41
42
  return null;
42
43
  const chars = [];
43
- for (const raw of rawChars) {
44
+ for (const raw of charIterable) {
44
45
  const char = readJsonChar(raw);
45
46
  if (char === null)
46
47
  droppedChars++;
@@ -1 +1 @@
1
- {"version":3,"file":"bitmapFontJson.js","sourceRoot":"","sources":["../src/bitmapFontJson.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bitmapFontJson.js","sourceRoot":"","sources":["../src/bitmapFontJson.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
- import type { BitmapFont, ImportDiagnostic, BitmapFontParseOptions, BitmapFontRecord } from '@flighthq/types/contract';
1
+ import type { BitmapFont, BitmapFontParseOptions } from '@flighthq/bitmapfont/contract';
2
+ import type { ImportDiagnostic } from '@flighthq/importdiagnostics/contract';
3
+ import type { BitmapFontRecord } from './types.ts';
2
4
  export declare function buildBitmapFontFromRecord(record: Readonly<BitmapFontRecord>, options?: Readonly<BitmapFontParseOptions>): BitmapFont | null;
3
5
  /**
4
6
  * Reports the records a parse dropped, once per kind rather than once per record.
@@ -1 +1 @@
1
- {"version":3,"file":"bitmapFontRecord.d.ts","sourceRoot":"","sources":["../src/bitmapFontRecord.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,UAAU,EACV,gBAAgB,EAIhB,sBAAsB,EACtB,gBAAgB,EAEjB,MAAM,0BAA0B,CAAC;AAclC,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,QAAQ,CAAC,gBAAgB,CAAC,EAClC,OAAO,CAAC,EAAE,QAAQ,CAAC,sBAAsB,CAAC,GACzC,UAAU,GAAG,IAAI,CAyDnB;AAED;;;;;;;GAOG;AACH,wBAAgB,8BAA8B,CAC5C,WAAW,EAAE,gBAAgB,EAAE,GAAG,SAAS,EAC3C,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,GACf,IAAI,CAgBN"}
1
+ {"version":3,"file":"bitmapFontRecord.d.ts","sourceRoot":"","sources":["../src/bitmapFontRecord.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,UAAU,EAIV,sBAAsB,EACvB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAG7E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAanD,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,QAAQ,CAAC,gBAAgB,CAAC,EAClC,OAAO,CAAC,EAAE,QAAQ,CAAC,sBAAsB,CAAC,GACzC,UAAU,GAAG,IAAI,CAyDnB;AAED;;;;;;;GAOG;AACH,wBAAgB,8BAA8B,CAC5C,WAAW,EAAE,gBAAgB,EAAE,GAAG,SAAS,EAC3C,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,GACf,IAAI,CAgBN"}
@@ -1,6 +1,5 @@
1
1
  import { createBitmapFont } from '@flighthq/bitmapfont/contract';
2
- import { reportImportDiagnostic } from '@flighthq/importdiagnostics/contract';
3
- import { ImportDiagnosticSeverity } from '@flighthq/types/contract';
2
+ import { ImportDiagnosticSeverity, reportImportDiagnostic } from '@flighthq/importdiagnostics/contract';
4
3
  // Maps a parsed `BitmapFontRecord` onto a `BitmapFont` via `createBitmapFont`, resolving every atlas
5
4
  // page the record declares through `options.resolvePage` (called once per page id). The resolved
6
5
  // atlases become the font's page-indexed `pages` (page id = index), and each `char`'s `page` carries
@@ -1 +1 @@
1
- {"version":3,"file":"bitmapFontRecord.js","sourceRoot":"","sources":["../src/bitmapFontRecord.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bitmapFontRecord.js","sourceRoot":"","sources":["../src/bitmapFontRecord.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
- import type { BitmapFont, ImportDiagnostic, BitmapFontParseOptions } from '@flighthq/types/contract';
1
+ import type { BitmapFont, BitmapFontParseOptions } from '@flighthq/bitmapfont/contract';
2
+ import type { ImportDiagnostic } from '@flighthq/importdiagnostics/contract';
2
3
  export declare function parseBitmapFontXml(text: string, options?: Readonly<BitmapFontParseOptions>, diagnostics?: ImportDiagnostic[]): BitmapFont | null;
3
4
  //# sourceMappingURL=bitmapFontXml.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bitmapFontXml.d.ts","sourceRoot":"","sources":["../src/bitmapFontXml.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,gBAAgB,EAIhB,sBAAsB,EAEvB,MAAM,0BAA0B,CAAC;AAiBlC,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,QAAQ,CAAC,sBAAsB,CAAC,EAC1C,WAAW,CAAC,EAAE,gBAAgB,EAAE,GAC/B,UAAU,GAAG,IAAI,CAInB"}
1
+ {"version":3,"file":"bitmapFontXml.d.ts","sourceRoot":"","sources":["../src/bitmapFontXml.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACxF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAkB7E,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,QAAQ,CAAC,sBAAsB,CAAC,EAC1C,WAAW,CAAC,EAAE,gBAAgB,EAAE,GAC/B,UAAU,GAAG,IAAI,CAInB"}
@@ -1,5 +1,5 @@
1
1
  import { getXmlElementAttribute, getXmlElementAttributeNumber, getXmlElementChildByName, getXmlElementChildrenByName, parseXmlDocument, } from '@flighthq/xml/contract';
2
- import { buildBitmapFontFromRecord, reportDroppedBitmapFontRecords } from './bitmapFontRecord';
2
+ import { buildBitmapFontFromRecord, reportDroppedBitmapFontRecords } from './bitmapFontRecord.js';
3
3
  // Parses the XML AngelCode/BMFont `.fnt` variant into a `BitmapFont`. The document is
4
4
  // `<font><info/><common/><pages><page/></pages><chars><char/></chars><kernings><kerning/></kernings></font>`
5
5
  // with every field an element attribute. Semantics match `parseBitmapFontFnt` — the same line metrics,
@@ -1 +1 @@
1
- {"version":3,"file":"bitmapFontXml.js","sourceRoot":"","sources":["../src/bitmapFontXml.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bitmapFontXml.js","sourceRoot":"","sources":["../src/bitmapFontXml.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * The requirement-key namespace for this format family.
3
+ *
4
+ * Every format package exports one, and the catalog sweep in `catalog-rows.test.ts` reads them off the packages
5
+ * rather than keeping its own list — so a family whose namespace is not exported here is a family the catalog can
6
+ * silently stop covering.
7
+ */
8
+ export declare const BITMAP_FONT_REQUIREMENT_KEY_NAMESPACE = "bitmapfont";
9
+ //# sourceMappingURL=bitmapfontFormatRequirements.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bitmapfontFormatRequirements.d.ts","sourceRoot":"","sources":["../src/bitmapfontFormatRequirements.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,eAAO,MAAM,qCAAqC,eAAe,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * The requirement-key namespace for this format family.
3
+ *
4
+ * Every format package exports one, and the catalog sweep in `catalog-rows.test.ts` reads them off the packages
5
+ * rather than keeping its own list — so a family whose namespace is not exported here is a family the catalog can
6
+ * silently stop covering.
7
+ */
8
+ export const BITMAP_FONT_REQUIREMENT_KEY_NAMESPACE = 'bitmapfont';
9
+ //# sourceMappingURL=bitmapfontFormatRequirements.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bitmapfontFormatRequirements.js","sourceRoot":"","sources":["../src/bitmapfontFormatRequirements.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,qCAAqC,GAAG,YAAY,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './types.ts';
2
+ //# sourceMappingURL=contract.bitmapfont-formats-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contract.bitmapfont-formats-types.d.ts","sourceRoot":"","sources":["../src/contract.bitmapfont-formats-types.ts"],"names":[],"mappings":"AAEA,cAAc,YAAY,CAAC"}
@@ -0,0 +1,4 @@
1
+ // Acyclic build entry selected by contract-only projects through the `.bitmapfont-formats-types` module suffix.
2
+ // The published @flighthq/bitmapfont-formats/contract entry remains contract.ts, which adds runtime values.
3
+ export * from './types.js';
4
+ //# sourceMappingURL=contract.bitmapfont-formats-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contract.bitmapfont-formats-types.js","sourceRoot":"","sources":["../src/contract.bitmapfont-formats-types.ts"],"names":[],"mappings":"AAAA,gHAAgH;AAChH,4GAA4G;AAC5G,cAAc,YAAY,CAAC"}
@@ -1,4 +1,11 @@
1
- export { formatBitmapFontFnt, parseBitmapFontFnt } from './bitmapFontFnt';
2
- export { parseBitmapFontJson } from './bitmapFontJson';
3
- export { parseBitmapFontXml } from './bitmapFontXml';
1
+ export * from './bitmapfontFormatRequirements.ts';
2
+ export * from './bitmapFontDetect.ts';
3
+ export * from './bitmapFontBinary.ts';
4
+ export * from './bitmapFontFnt.ts';
5
+ export * from './bitmapFontFormatKind.ts';
6
+ export * from './bitmapFontJson.ts';
7
+ export * from './bitmapFontRecord.ts';
8
+ export * from './bitmapFontXml.ts';
9
+ export * from './explainBitmapFontParse.ts';
10
+ export * from './types.ts';
4
11
  //# sourceMappingURL=contract.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,mCAAmC,CAAC;AAClD,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,YAAY,CAAC"}
package/dist/contract.js CHANGED
@@ -1,4 +1,11 @@
1
- export { formatBitmapFontFnt, parseBitmapFontFnt } from './bitmapFontFnt';
2
- export { parseBitmapFontJson } from './bitmapFontJson';
3
- export { parseBitmapFontXml } from './bitmapFontXml';
1
+ export * from './bitmapfontFormatRequirements.js';
2
+ export * from './bitmapFontDetect.js';
3
+ export * from './bitmapFontBinary.js';
4
+ export * from './bitmapFontFnt.js';
5
+ export * from './bitmapFontFormatKind.js';
6
+ export * from './bitmapFontJson.js';
7
+ export * from './bitmapFontRecord.js';
8
+ export * from './bitmapFontXml.js';
9
+ export * from './explainBitmapFontParse.js';
10
+ export * from './types.js';
4
11
  //# sourceMappingURL=contract.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"contract.js","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"contract.js","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,mCAAmC,CAAC;AAClD,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,YAAY,CAAC"}