@ot-builder/io-bin-ttf 1.0.11 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.json CHANGED
@@ -2,7 +2,235 @@
2
2
  "name": "@ot-builder/io-bin-ttf",
3
3
  "entries": [
4
4
  {
5
- "date": "Sat, 17 Jul 2021 01:05:36 GMT",
5
+ "date": "Sat, 09 Oct 2021 01:05:28 GMT",
6
+ "tag": "@ot-builder/io-bin-ttf_v1.2.0",
7
+ "version": "1.2.0",
8
+ "comments": {
9
+ "minor": [
10
+ {
11
+ "author": "otbbuilder-dev@users.noreply.github.com",
12
+ "package": "@ot-builder/io-bin-ttf",
13
+ "comment": "Add support for VTT private tables",
14
+ "commit": "cd0361ffd9d2fc5081804b14f9bfddc7fe296008"
15
+ },
16
+ {
17
+ "author": "beachball",
18
+ "package": "@ot-builder/io-bin-ttf",
19
+ "comment": "Bump @ot-builder/bin-util to v1.2.0",
20
+ "commit": "cd0361ffd9d2fc5081804b14f9bfddc7fe296008"
21
+ },
22
+ {
23
+ "author": "beachball",
24
+ "package": "@ot-builder/io-bin-ttf",
25
+ "comment": "Bump @ot-builder/common-impl to v1.2.0",
26
+ "commit": "cd0361ffd9d2fc5081804b14f9bfddc7fe296008"
27
+ },
28
+ {
29
+ "author": "beachball",
30
+ "package": "@ot-builder/io-bin-ttf",
31
+ "comment": "Bump @ot-builder/errors to v1.2.0",
32
+ "commit": "cd0361ffd9d2fc5081804b14f9bfddc7fe296008"
33
+ },
34
+ {
35
+ "author": "beachball",
36
+ "package": "@ot-builder/io-bin-ttf",
37
+ "comment": "Bump @ot-builder/ot-glyphs to v1.2.0",
38
+ "commit": "cd0361ffd9d2fc5081804b14f9bfddc7fe296008"
39
+ },
40
+ {
41
+ "author": "beachball",
42
+ "package": "@ot-builder/io-bin-ttf",
43
+ "comment": "Bump @ot-builder/ot-metadata to v1.2.0",
44
+ "commit": "cd0361ffd9d2fc5081804b14f9bfddc7fe296008"
45
+ },
46
+ {
47
+ "author": "beachball",
48
+ "package": "@ot-builder/io-bin-ttf",
49
+ "comment": "Bump @ot-builder/prelude to v1.2.0",
50
+ "commit": "cd0361ffd9d2fc5081804b14f9bfddc7fe296008"
51
+ },
52
+ {
53
+ "author": "beachball",
54
+ "package": "@ot-builder/io-bin-ttf",
55
+ "comment": "Bump @ot-builder/primitive to v1.2.0",
56
+ "commit": "cd0361ffd9d2fc5081804b14f9bfddc7fe296008"
57
+ },
58
+ {
59
+ "author": "beachball",
60
+ "package": "@ot-builder/io-bin-ttf",
61
+ "comment": "Bump @ot-builder/stat-glyphs to v1.2.0",
62
+ "commit": "cd0361ffd9d2fc5081804b14f9bfddc7fe296008"
63
+ },
64
+ {
65
+ "author": "beachball",
66
+ "package": "@ot-builder/io-bin-ttf",
67
+ "comment": "Bump @ot-builder/var-store to v1.2.0",
68
+ "commit": "cd0361ffd9d2fc5081804b14f9bfddc7fe296008"
69
+ },
70
+ {
71
+ "author": "beachball",
72
+ "package": "@ot-builder/io-bin-ttf",
73
+ "comment": "Bump @ot-builder/variance to v1.2.0",
74
+ "commit": "cd0361ffd9d2fc5081804b14f9bfddc7fe296008"
75
+ },
76
+ {
77
+ "author": "beachball",
78
+ "package": "@ot-builder/io-bin-ttf",
79
+ "comment": "Bump @ot-builder/ot-sfnt to v1.2.0",
80
+ "commit": "cd0361ffd9d2fc5081804b14f9bfddc7fe296008"
81
+ },
82
+ {
83
+ "author": "beachball",
84
+ "package": "@ot-builder/io-bin-ttf",
85
+ "comment": "Bump @ot-builder/io-bin-metadata to v1.2.0",
86
+ "commit": "cd0361ffd9d2fc5081804b14f9bfddc7fe296008"
87
+ },
88
+ {
89
+ "author": "beachball",
90
+ "package": "@ot-builder/io-bin-ttf",
91
+ "comment": "Bump @ot-builder/io-bin-sfnt to v1.2.0",
92
+ "commit": "cd0361ffd9d2fc5081804b14f9bfddc7fe296008"
93
+ },
94
+ {
95
+ "author": "beachball",
96
+ "package": "@ot-builder/io-bin-ttf",
97
+ "comment": "Bump @ot-builder/test-util to v1.2.0",
98
+ "commit": "cd0361ffd9d2fc5081804b14f9bfddc7fe296008"
99
+ }
100
+ ]
101
+ }
102
+ },
103
+ {
104
+ "date": "Sat, 25 Sep 2021 01:08:03 GMT",
105
+ "tag": "@ot-builder/io-bin-ttf_v1.1.2",
106
+ "version": "1.1.2",
107
+ "comments": {
108
+ "patch": [
109
+ {
110
+ "author": "beachball",
111
+ "package": "@ot-builder/io-bin-ttf",
112
+ "comment": "Bump @ot-builder/bin-util to v1.1.2",
113
+ "commit": "ef0cdbe0d09a64a7f2ed4f86c9158fa9d8fe699f"
114
+ },
115
+ {
116
+ "author": "beachball",
117
+ "package": "@ot-builder/io-bin-ttf",
118
+ "comment": "Bump @ot-builder/common-impl to v1.1.2",
119
+ "commit": "ef0cdbe0d09a64a7f2ed4f86c9158fa9d8fe699f"
120
+ },
121
+ {
122
+ "author": "beachball",
123
+ "package": "@ot-builder/io-bin-ttf",
124
+ "comment": "Bump @ot-builder/errors to v1.1.2",
125
+ "commit": "ef0cdbe0d09a64a7f2ed4f86c9158fa9d8fe699f"
126
+ },
127
+ {
128
+ "author": "beachball",
129
+ "package": "@ot-builder/io-bin-ttf",
130
+ "comment": "Bump @ot-builder/ot-glyphs to v1.1.2",
131
+ "commit": "ef0cdbe0d09a64a7f2ed4f86c9158fa9d8fe699f"
132
+ },
133
+ {
134
+ "author": "beachball",
135
+ "package": "@ot-builder/io-bin-ttf",
136
+ "comment": "Bump @ot-builder/ot-metadata to v1.1.2",
137
+ "commit": "ef0cdbe0d09a64a7f2ed4f86c9158fa9d8fe699f"
138
+ },
139
+ {
140
+ "author": "beachball",
141
+ "package": "@ot-builder/io-bin-ttf",
142
+ "comment": "Bump @ot-builder/prelude to v1.1.2",
143
+ "commit": "ef0cdbe0d09a64a7f2ed4f86c9158fa9d8fe699f"
144
+ },
145
+ {
146
+ "author": "beachball",
147
+ "package": "@ot-builder/io-bin-ttf",
148
+ "comment": "Bump @ot-builder/primitive to v1.1.2",
149
+ "commit": "ef0cdbe0d09a64a7f2ed4f86c9158fa9d8fe699f"
150
+ },
151
+ {
152
+ "author": "beachball",
153
+ "package": "@ot-builder/io-bin-ttf",
154
+ "comment": "Bump @ot-builder/stat-glyphs to v1.1.2",
155
+ "commit": "ef0cdbe0d09a64a7f2ed4f86c9158fa9d8fe699f"
156
+ },
157
+ {
158
+ "author": "beachball",
159
+ "package": "@ot-builder/io-bin-ttf",
160
+ "comment": "Bump @ot-builder/var-store to v1.1.2",
161
+ "commit": "ef0cdbe0d09a64a7f2ed4f86c9158fa9d8fe699f"
162
+ },
163
+ {
164
+ "author": "beachball",
165
+ "package": "@ot-builder/io-bin-ttf",
166
+ "comment": "Bump @ot-builder/variance to v1.1.2",
167
+ "commit": "ef0cdbe0d09a64a7f2ed4f86c9158fa9d8fe699f"
168
+ },
169
+ {
170
+ "author": "beachball",
171
+ "package": "@ot-builder/io-bin-ttf",
172
+ "comment": "Bump @ot-builder/ot-sfnt to v1.1.2",
173
+ "commit": "ef0cdbe0d09a64a7f2ed4f86c9158fa9d8fe699f"
174
+ },
175
+ {
176
+ "author": "beachball",
177
+ "package": "@ot-builder/io-bin-ttf",
178
+ "comment": "Bump @ot-builder/io-bin-metadata to v1.1.2",
179
+ "commit": "ef0cdbe0d09a64a7f2ed4f86c9158fa9d8fe699f"
180
+ },
181
+ {
182
+ "author": "beachball",
183
+ "package": "@ot-builder/io-bin-ttf",
184
+ "comment": "Bump @ot-builder/io-bin-sfnt to v1.1.2",
185
+ "commit": "ef0cdbe0d09a64a7f2ed4f86c9158fa9d8fe699f"
186
+ },
187
+ {
188
+ "author": "beachball",
189
+ "package": "@ot-builder/io-bin-ttf",
190
+ "comment": "Bump @ot-builder/test-util to v1.1.2",
191
+ "commit": "ef0cdbe0d09a64a7f2ed4f86c9158fa9d8fe699f"
192
+ }
193
+ ]
194
+ }
195
+ },
196
+ {
197
+ "date": "Sat, 11 Sep 2021 01:09:21 GMT",
198
+ "tag": "@ot-builder/io-bin-ttf_v1.1.1",
199
+ "version": "1.1.1",
200
+ "comments": {
201
+ "patch": [
202
+ {
203
+ "author": "otbbuilder-dev@users.noreply.github.com",
204
+ "package": "@ot-builder/io-bin-ttf",
205
+ "commit": "28bc4c48910f10dcabb090ab68e610ce499caa95",
206
+ "comment": "Bump @ot-builder/io-bin-ttf to v1.1.1"
207
+ }
208
+ ]
209
+ }
210
+ },
211
+ {
212
+ "date": "Sun, 18 Jul 2021 02:14:19 GMT",
213
+ "tag": "@ot-builder/io-bin-ttf_v1.1.0",
214
+ "version": "1.1.0",
215
+ "comments": {
216
+ "minor": [
217
+ {
218
+ "comment": "Cleanup unnecessary namespaces",
219
+ "author": "otbbuilder-dev@users.noreply.github.com",
220
+ "commit": "c79ab97437319873bfe49602a21eab95d78083e3",
221
+ "package": "@ot-builder/io-bin-ttf"
222
+ },
223
+ {
224
+ "comment": "Bump @ot-builder/io-bin-ttf to v1.1.0",
225
+ "author": "otbbuilder-dev@users.noreply.github.com",
226
+ "commit": "c79ab97437319873bfe49602a21eab95d78083e3",
227
+ "package": "@ot-builder/io-bin-ttf"
228
+ }
229
+ ]
230
+ }
231
+ },
232
+ {
233
+ "date": "Sat, 17 Jul 2021 01:08:07 GMT",
6
234
  "tag": "@ot-builder/io-bin-ttf_v1.0.11",
7
235
  "version": "1.0.11",
8
236
  "comments": {
package/CHANGELOG.md CHANGED
@@ -1,12 +1,72 @@
1
1
  # Change Log - @ot-builder/io-bin-ttf
2
2
 
3
- This log was last generated on Sat, 17 Jul 2021 01:05:36 GMT and should not be manually modified.
3
+ This log was last generated on Sat, 09 Oct 2021 01:05:28 GMT and should not be manually modified.
4
4
 
5
5
  <!-- Start content -->
6
6
 
7
+ ## 1.2.0
8
+
9
+ Sat, 09 Oct 2021 01:05:28 GMT
10
+
11
+ ### Minor changes
12
+
13
+ - Add support for VTT private tables (otbbuilder-dev@users.noreply.github.com)
14
+ - Bump @ot-builder/bin-util to v1.2.0
15
+ - Bump @ot-builder/common-impl to v1.2.0
16
+ - Bump @ot-builder/errors to v1.2.0
17
+ - Bump @ot-builder/ot-glyphs to v1.2.0
18
+ - Bump @ot-builder/ot-metadata to v1.2.0
19
+ - Bump @ot-builder/prelude to v1.2.0
20
+ - Bump @ot-builder/primitive to v1.2.0
21
+ - Bump @ot-builder/stat-glyphs to v1.2.0
22
+ - Bump @ot-builder/var-store to v1.2.0
23
+ - Bump @ot-builder/variance to v1.2.0
24
+ - Bump @ot-builder/ot-sfnt to v1.2.0
25
+ - Bump @ot-builder/io-bin-metadata to v1.2.0
26
+ - Bump @ot-builder/io-bin-sfnt to v1.2.0
27
+ - Bump @ot-builder/test-util to v1.2.0
28
+
29
+ ## 1.1.2
30
+
31
+ Sat, 25 Sep 2021 01:08:03 GMT
32
+
33
+ ### Patches
34
+
35
+ - Bump @ot-builder/bin-util to v1.1.2
36
+ - Bump @ot-builder/common-impl to v1.1.2
37
+ - Bump @ot-builder/errors to v1.1.2
38
+ - Bump @ot-builder/ot-glyphs to v1.1.2
39
+ - Bump @ot-builder/ot-metadata to v1.1.2
40
+ - Bump @ot-builder/prelude to v1.1.2
41
+ - Bump @ot-builder/primitive to v1.1.2
42
+ - Bump @ot-builder/stat-glyphs to v1.1.2
43
+ - Bump @ot-builder/var-store to v1.1.2
44
+ - Bump @ot-builder/variance to v1.1.2
45
+ - Bump @ot-builder/ot-sfnt to v1.1.2
46
+ - Bump @ot-builder/io-bin-metadata to v1.1.2
47
+ - Bump @ot-builder/io-bin-sfnt to v1.1.2
48
+ - Bump @ot-builder/test-util to v1.1.2
49
+
50
+ ## 1.1.1
51
+
52
+ Sat, 11 Sep 2021 01:09:21 GMT
53
+
54
+ ### Patches
55
+
56
+ - Bump @ot-builder/io-bin-ttf to v1.1.1 (otbbuilder-dev@users.noreply.github.com)
57
+
58
+ ## 1.1.0
59
+
60
+ Sun, 18 Jul 2021 02:14:19 GMT
61
+
62
+ ### Minor changes
63
+
64
+ - Cleanup unnecessary namespaces (otbbuilder-dev@users.noreply.github.com)
65
+ - Bump @ot-builder/io-bin-ttf to v1.1.0 (otbbuilder-dev@users.noreply.github.com)
66
+
7
67
  ## 1.0.11
8
68
 
9
- Sat, 17 Jul 2021 01:05:36 GMT
69
+ Sat, 17 Jul 2021 01:08:07 GMT
10
70
 
11
71
  ### Patches
12
72
 
@@ -1,5 +1,5 @@
1
1
  import { BinaryView, Frag } from "@ot-builder/bin-util";
2
- import { ImpLib } from "@ot-builder/common-impl";
2
+ import * as ImpLib from "@ot-builder/common-impl";
3
3
  import { Cvt } from "@ot-builder/ot-glyphs";
4
4
  import { OtVar } from "@ot-builder/variance";
5
5
  export declare const CvarIo: {
@@ -0,0 +1,7 @@
1
+ export interface TtfWritingExtraInfoSink {
2
+ setComponentInfo(glyphID: number, componentID: number, flags: number, targetGID: number, arg1: number, arg2: number, argXScale: number, argScale01: number, argScale10: number, argYScale: number): void;
3
+ }
4
+ export declare class NopTtfWritingExtraInfoSink implements TtfWritingExtraInfoSink {
5
+ setComponentInfo(): void;
6
+ }
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NopTtfWritingExtraInfoSink = void 0;
4
+ class NopTtfWritingExtraInfoSink {
5
+ setComponentInfo() { }
6
+ }
7
+ exports.NopTtfWritingExtraInfoSink = NopTtfWritingExtraInfoSink;
8
+ //# sourceMappingURL=index.js.map
package/lib/glyf/read.js CHANGED
@@ -5,7 +5,7 @@ const bin_util_1 = require("@ot-builder/bin-util");
5
5
  const ot_glyphs_1 = require("@ot-builder/ot-glyphs");
6
6
  const primitive_1 = require("@ot-builder/primitive");
7
7
  const shared_1 = require("./shared");
8
- const PointFlags = bin_util_1.Read((view, numberOfCoordinates) => {
8
+ const PointFlags = (0, bin_util_1.Read)((view, numberOfCoordinates) => {
9
9
  const flags = [];
10
10
  let ixFlag = 0;
11
11
  while (ixFlag < numberOfCoordinates) {
@@ -24,7 +24,7 @@ const PointFlags = bin_util_1.Read((view, numberOfCoordinates) => {
24
24
  }
25
25
  return flags;
26
26
  });
27
- const XCoordinates = bin_util_1.Read((view, flags) => {
27
+ const XCoordinates = (0, bin_util_1.Read)((view, flags) => {
28
28
  const coordinatesX = [];
29
29
  let prevX = 0;
30
30
  for (const flag of flags) {
@@ -49,7 +49,7 @@ const XCoordinates = bin_util_1.Read((view, flags) => {
49
49
  }
50
50
  return coordinatesX;
51
51
  });
52
- const YCoordinates = bin_util_1.Read((view, flags) => {
52
+ const YCoordinates = (0, bin_util_1.Read)((view, flags) => {
53
53
  const coordinatesY = [];
54
54
  let prevY = 0;
55
55
  for (const flag of flags) {
@@ -70,7 +70,7 @@ const YCoordinates = bin_util_1.Read((view, flags) => {
70
70
  }
71
71
  return coordinatesY;
72
72
  });
73
- const SimpleGlyph = bin_util_1.Read((view, numberOfContours) => {
73
+ const SimpleGlyph = (0, bin_util_1.Read)((view, numberOfContours) => {
74
74
  const endPtsOfContours = view.array(numberOfContours, primitive_1.UInt16);
75
75
  const instructionLength = view.uint16();
76
76
  const instructions = view.bytes(instructionLength);
@@ -95,7 +95,7 @@ const SimpleGlyph = bin_util_1.Read((view, numberOfContours) => {
95
95
  instructions
96
96
  };
97
97
  });
98
- const ComponentArgs = bin_util_1.Read((view, flags) => {
98
+ const ComponentArgs = (0, bin_util_1.Read)((view, flags) => {
99
99
  let arg1 = 0;
100
100
  let arg2 = 0;
101
101
  if (shared_1.ComponentFlag.ARGS_ARE_XY_VALUES & flags) {
@@ -120,7 +120,7 @@ const ComponentArgs = bin_util_1.Read((view, flags) => {
120
120
  }
121
121
  return [arg1, arg2];
122
122
  });
123
- const ComponentTransformMatrix = bin_util_1.Read((view, flags) => {
123
+ const ComponentTransformMatrix = (0, bin_util_1.Read)((view, flags) => {
124
124
  let scaleX = 1;
125
125
  let scaleY = 1;
126
126
  let scale01 = 0;
@@ -141,7 +141,7 @@ const ComponentTransformMatrix = bin_util_1.Read((view, flags) => {
141
141
  }
142
142
  return { scaleX, scaleY, scale01, scale10 };
143
143
  });
144
- const CompositeGlyph = bin_util_1.Read((view, gOrd) => {
144
+ const CompositeGlyph = (0, bin_util_1.Read)((view, gOrd) => {
145
145
  const references = [];
146
146
  let instructions = null;
147
147
  let flags = 0;
@@ -177,7 +177,7 @@ const CompositeGlyph = bin_util_1.Read((view, gOrd) => {
177
177
  }
178
178
  return { references, instructions };
179
179
  });
180
- exports.GlyfTableRead = bin_util_1.Read((view, loca, gOrd, coStat) => {
180
+ exports.GlyfTableRead = (0, bin_util_1.Read)((view, loca, gOrd, coStat) => {
181
181
  for (let gid = 0; gid < gOrd.length; gid++) {
182
182
  const glyph = gOrd.at(gid);
183
183
  const offset = loca.glyphOffsets[gid];
@@ -14,7 +14,7 @@ export declare enum ComponentFlag {
14
14
  ARGS_ARE_XY_VALUES = 2,
15
15
  ROUND_XY_TO_GRID = 4,
16
16
  WE_HAVE_A_SCALE = 8,
17
- RESERVED = 16,
17
+ NON_OVERLAPPING = 16,
18
18
  MORE_COMPONENTS = 32,
19
19
  WE_HAVE_AN_X_AND_Y_SCALE = 64,
20
20
  WE_HAVE_A_TWO_BY_TWO = 128,
@@ -19,7 +19,7 @@ var ComponentFlag;
19
19
  ComponentFlag[ComponentFlag["ARGS_ARE_XY_VALUES"] = 2] = "ARGS_ARE_XY_VALUES";
20
20
  ComponentFlag[ComponentFlag["ROUND_XY_TO_GRID"] = 4] = "ROUND_XY_TO_GRID";
21
21
  ComponentFlag[ComponentFlag["WE_HAVE_A_SCALE"] = 8] = "WE_HAVE_A_SCALE";
22
- ComponentFlag[ComponentFlag["RESERVED"] = 16] = "RESERVED";
22
+ ComponentFlag[ComponentFlag["NON_OVERLAPPING"] = 16] = "NON_OVERLAPPING";
23
23
  ComponentFlag[ComponentFlag["MORE_COMPONENTS"] = 32] = "MORE_COMPONENTS";
24
24
  ComponentFlag[ComponentFlag["WE_HAVE_AN_X_AND_Y_SCALE"] = 64] = "WE_HAVE_AN_X_AND_Y_SCALE";
25
25
  ComponentFlag[ComponentFlag["WE_HAVE_A_TWO_BY_TWO"] = 128] = "WE_HAVE_A_TWO_BY_TWO";
@@ -1,6 +1,7 @@
1
1
  import { Write } from "@ot-builder/bin-util";
2
2
  import { OtGlyph } from "@ot-builder/ot-glyphs";
3
3
  import { Data } from "@ot-builder/prelude";
4
+ import { TtfWritingExtraInfoSink } from "../extra-info-sink/index";
4
5
  import { LocaTable } from "./loca";
5
- export declare const GlyfTableWrite: Write<Data.Order<OtGlyph>, [outLoca: LocaTable, stat: OtGlyph.Stat.Sink]>;
6
+ export declare const GlyfTableWrite: Write<Data.Order<OtGlyph>, [outLoca: LocaTable, stat: OtGlyph.Stat.Sink, extraInfoSink: TtfWritingExtraInfoSink]>;
6
7
  //# sourceMappingURL=write.d.ts.map
package/lib/glyf/write.js CHANGED
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.GlyfTableWrite = void 0;
4
4
  const bin_util_1 = require("@ot-builder/bin-util");
5
- const common_impl_1 = require("@ot-builder/common-impl");
5
+ const ImpLib = require("@ot-builder/common-impl");
6
6
  const ot_glyphs_1 = require("@ot-builder/ot-glyphs");
7
7
  const primitive_1 = require("@ot-builder/primitive");
8
8
  const variance_1 = require("@ot-builder/variance");
@@ -80,8 +80,8 @@ function collectSimpleGlyphOutlineData(sg) {
80
80
  endPtsOfContours += contour.length;
81
81
  endPtsOfContoursArray.push(endPtsOfContours);
82
82
  for (const z of contour) {
83
- const px = common_impl_1.ImpLib.Arith.Round.Coord(variance_1.OtVar.Ops.originOf(z.x));
84
- const py = common_impl_1.ImpLib.Arith.Round.Coord(variance_1.OtVar.Ops.originOf(z.y));
83
+ const px = ImpLib.Arith.Round.Coord(variance_1.OtVar.Ops.originOf(z.x));
84
+ const py = ImpLib.Arith.Round.Coord(variance_1.OtVar.Ops.originOf(z.y));
85
85
  let flag = z.kind === ot_glyphs_1.OtGlyph.PointType.Corner ? shared_1.SimpleGlyphFlag.ON_CURVE_POINT : 0;
86
86
  flag |= FlagShrinker.decideAndWrite(px - cx, shared_1.SimpleGlyphFlag.X_SHORT_VECTOR, shared_1.SimpleGlyphFlag.X_IS_SAME_OR_POSITIVE_X_SHORT_VECTOR, fragX);
87
87
  flag |= FlagShrinker.decideAndWrite(py - cy, shared_1.SimpleGlyphFlag.Y_SHORT_VECTOR, shared_1.SimpleGlyphFlag.Y_IS_SAME_OR_POSITIVE_Y_SHORT_VECTOR, fragY);
@@ -93,7 +93,7 @@ function collectSimpleGlyphOutlineData(sg) {
93
93
  }
94
94
  return { flags: shrinker.finalizeAndGetFlags(), fragX, fragY, endPtsOfContoursArray };
95
95
  }
96
- const SimpleGlyphData = bin_util_1.Write((frag, sg) => {
96
+ const SimpleGlyphData = (0, bin_util_1.Write)((frag, sg) => {
97
97
  const st = sg.getStatData();
98
98
  frag.int16(st.eigenContours)
99
99
  .int16(st.extent.xMin)
@@ -120,8 +120,8 @@ function analyzeComponent(ref) {
120
120
  }
121
121
  }
122
122
  else {
123
- arg1 = common_impl_1.ImpLib.Arith.Round.Coord(variance_1.OtVar.Ops.originOf(ref.transform.dx));
124
- arg2 = common_impl_1.ImpLib.Arith.Round.Coord(variance_1.OtVar.Ops.originOf(ref.transform.dy));
123
+ arg1 = ImpLib.Arith.Round.Coord(variance_1.OtVar.Ops.originOf(ref.transform.dx));
124
+ arg2 = ImpLib.Arith.Round.Coord(variance_1.OtVar.Ops.originOf(ref.transform.dy));
125
125
  flag |= shared_1.ComponentFlag.ARGS_ARE_XY_VALUES;
126
126
  if (arg1 !== primitive_1.Int8.from(arg1) || arg2 !== primitive_1.Int8.from(arg2)) {
127
127
  flag |= shared_1.ComponentFlag.ARG_1_AND_2_ARE_WORDS;
@@ -185,7 +185,7 @@ function writeComponentTransform(frag, flag, transform) {
185
185
  frag.push(primitive_1.F2D14, transform.yy);
186
186
  }
187
187
  }
188
- const CompositeGlyphData = bin_util_1.Write((frag, cg, gOrd) => {
188
+ const CompositeGlyphData = (0, bin_util_1.Write)((frag, cg, iGlyph, gOrd, extraInfoSink) => {
189
189
  const st = cg.getStatData();
190
190
  frag.int16(-1)
191
191
  .int16(st.extent.xMin)
@@ -201,22 +201,25 @@ const CompositeGlyphData = bin_util_1.Write((frag, cg, gOrd) => {
201
201
  flag |= shared_1.ComponentFlag.MORE_COMPONENTS;
202
202
  else if (cg.instructions.byteLength)
203
203
  flag |= shared_1.ComponentFlag.WE_HAVE_INSTRUCTIONS;
204
+ const targetGID = gOrd.reverse(ref.to);
204
205
  frag.uint16(flag);
205
- frag.uint16(gOrd.reverse(ref.to));
206
+ frag.uint16(targetGID);
206
207
  writeComponentArgs(frag, flag, arg1, arg2);
207
208
  writeComponentTransform(frag, flag, ref.transform);
208
209
  if (flag & shared_1.ComponentFlag.WE_HAVE_INSTRUCTIONS) {
209
210
  frag.uint16(cg.instructions.byteLength);
210
211
  frag.bytes(cg.instructions);
211
212
  }
213
+ extraInfoSink.setComponentInfo(iGlyph, rid, flag, targetGID, arg1, arg2, ref.transform.xx, ref.transform.yx, ref.transform.xy, ref.transform.yy);
212
214
  }
213
215
  });
214
- exports.GlyfTableWrite = bin_util_1.Write((frag, gOrd, outLoca, stat) => {
216
+ exports.GlyfTableWrite = (0, bin_util_1.Write)((frag, gOrd, outLoca, stat, extraInfoSink) => {
215
217
  const sink = new StdGlyfDataSink(outLoca, frag);
216
218
  sink.begin();
217
219
  stat.setNumGlyphs(gOrd.length);
218
220
  const classifier = new classifier_1.GlyphClassifier(gOrd);
219
- for (const glyph of gOrd) {
221
+ for (let iGlyph = 0; iGlyph < gOrd.length; iGlyph++) {
222
+ const glyph = gOrd.at(iGlyph);
220
223
  const cg = classifier.classify(glyph);
221
224
  cg.stat(stat);
222
225
  const fGlyph = new bin_util_1.Frag();
@@ -224,7 +227,7 @@ exports.GlyfTableWrite = bin_util_1.Write((frag, gOrd, outLoca, stat) => {
224
227
  fGlyph.push(SimpleGlyphData, cg);
225
228
  }
226
229
  else if (cg instanceof classifier_1.CompositeGlyph) {
227
- fGlyph.push(CompositeGlyphData, cg, gOrd);
230
+ fGlyph.push(CompositeGlyphData, cg, iGlyph, gOrd, extraInfoSink);
228
231
  }
229
232
  sink.add(fGlyph);
230
233
  }
@@ -240,7 +243,7 @@ class StdGlyfDataSink {
240
243
  begin() { }
241
244
  add(fGlyph) {
242
245
  this.loca.glyphOffsets.push(this.offset);
243
- const bGlyph = bin_util_1.alignBufferSize(bin_util_1.Frag.pack(fGlyph), shared_1.GlyfOffsetAlign);
246
+ const bGlyph = (0, bin_util_1.alignBufferSize)(bin_util_1.Frag.pack(fGlyph), shared_1.GlyfOffsetAlign);
244
247
  this.frag.bytes(bGlyph);
245
248
  this.offset += bGlyph.byteLength;
246
249
  }
package/lib/gvar/read.js CHANGED
@@ -9,7 +9,7 @@ const var_store_1 = require("@ot-builder/var-store");
9
9
  const variance_1 = require("@ot-builder/variance");
10
10
  const tvd_access_1 = require("../shared/tvd-access");
11
11
  const shared_1 = require("./shared");
12
- exports.GvarTableRead = bin_util_1.Read((view, gOrd, cfg, ignore, designSpace) => {
12
+ exports.GvarTableRead = (0, bin_util_1.Read)((view, gOrd, cfg, ignore, designSpace) => {
13
13
  const header = view.next(GvarHeader, gOrd, cfg, designSpace);
14
14
  const ms = new variance_1.OtVar.MasterSet();
15
15
  for (let gid = 0; gid < gOrd.length; gid++) {
@@ -25,7 +25,7 @@ exports.GvarTableRead = bin_util_1.Read((view, gOrd, cfg, ignore, designSpace) =
25
25
  });
26
26
  }
27
27
  });
28
- const GvarHeader = bin_util_1.Read((bp, gOrd, cfg, designSpace) => {
28
+ const GvarHeader = (0, bin_util_1.Read)((bp, gOrd, cfg, designSpace) => {
29
29
  const majorVersion = bp.uint16();
30
30
  const minorVersion = bp.uint16();
31
31
  const axisCount = bp.uint16();
@@ -1,5 +1,5 @@
1
1
  import { Write } from "@ot-builder/bin-util";
2
- import { ImpLib } from "@ot-builder/common-impl";
2
+ import * as ImpLib from "@ot-builder/common-impl";
3
3
  import { OtGlyph } from "@ot-builder/ot-glyphs";
4
4
  import { Data } from "@ot-builder/prelude";
5
5
  import { OtVar } from "@ot-builder/variance";
package/lib/gvar/write.js CHANGED
@@ -6,7 +6,7 @@ const ot_glyphs_1 = require("@ot-builder/ot-glyphs");
6
6
  const primitive_1 = require("@ot-builder/primitive");
7
7
  const var_store_1 = require("@ot-builder/var-store");
8
8
  const shared_1 = require("./shared");
9
- exports.GvarTableWrite = bin_util_1.Write((frag, gOrd, cfg, designSpace, acEmpty) => {
9
+ exports.GvarTableWrite = (0, bin_util_1.Write)((frag, gOrd, cfg, designSpace, acEmpty) => {
10
10
  const ta = new var_store_1.TupleAllocator();
11
11
  const context = {
12
12
  designSpace: designSpace,
@@ -23,7 +23,7 @@ exports.GvarTableWrite = bin_util_1.Write((frag, gOrd, cfg, designSpace, acEmpty
23
23
  }
24
24
  if (tvd) {
25
25
  hasMeaningfulData = true;
26
- const tvdBuffer = bin_util_1.alignBufferSize(bin_util_1.Frag.pack(tvd), shared_1.GvarOffsetAlign);
26
+ const tvdBuffer = (0, bin_util_1.alignBufferSize)(bin_util_1.Frag.pack(tvd), shared_1.GvarOffsetAlign);
27
27
  gvarOffsets.push(gvarBody.size);
28
28
  gvarBody.bytes(tvdBuffer);
29
29
  if (cfg.ttf.gvarForceZeroGapsBetweenGVD)
package/lib/index.d.ts CHANGED
@@ -2,24 +2,26 @@ import { LocaTable } from "./glyf/loca";
2
2
  export * from "./cvt/index";
3
3
  export * from "./cvar/index";
4
4
  export * from "./fpgm-prep/index";
5
- export * from "./cfg";
5
+ export * from "./cfg/index";
6
+ export * from "./extra-info-sink/index";
6
7
  export * from "./rectify/rectify";
8
+ export * from "./glyf/shared";
7
9
  export declare namespace Loca {
8
10
  type Table = LocaTable;
9
11
  const Tag = "loca";
10
12
  const Io: {
11
- read(view: import("@ot-builder/bin-util").BinaryView, head: import("@ot-builder/ot-metadata").Head.Table, maxp: import("@ot-builder/ot-metadata").Maxp.Table): LocaTable;
12
- write(frag: import("@ot-builder/bin-util").Frag, loca: LocaTable, head: import("@ot-builder/ot-metadata").Head.Table): void;
13
+ read(view: import("@ot-builder/bin-util").BinaryView, head: import("@ot-builder/ot-metadata/lib/tables/head").Table, maxp: import("@ot-builder/ot-metadata/lib/tables/maxp").Table): LocaTable;
14
+ write(frag: import("@ot-builder/bin-util").Frag, loca: LocaTable, head: import("@ot-builder/ot-metadata/lib/tables/head").Table): void;
13
15
  };
14
16
  }
15
17
  export declare namespace Glyf {
16
18
  const Tag = "glyf";
17
- const Read: import("@ot-builder/bin-util").Read<void, [loca: LocaTable, gOrd: import("@ot-builder/prelude/lib/data").Order<import("@ot-builder/ot-glyphs").OtGlyph>, coStat: import("@ot-builder/ot-glyphs/lib/ot-glyph/co-stat").OtGlyphCoStat.Source]>;
18
- const Write: import("@ot-builder/bin-util").Write<import("@ot-builder/prelude/lib/data").Order<import("@ot-builder/ot-glyphs").OtGlyph>, [outLoca: LocaTable, stat: import("@ot-builder/ot-glyphs/lib/ot-glyph/stat").OtGlyphStat.Sink]>;
19
+ const Read: import("@ot-builder/bin-util").Read<void, [loca: LocaTable, gOrd: import("@ot-builder/prelude/lib/data").Order<import("@ot-builder/ot-glyphs").OtGlyph>, coStat: import("@ot-builder/ot-glyphs/lib/ot-glyph/co-stat").Source]>;
20
+ const Write: import("@ot-builder/bin-util").Write<import("@ot-builder/prelude/lib/data").Order<import("@ot-builder/ot-glyphs").OtGlyph>, [outLoca: LocaTable, stat: import("@ot-builder/ot-glyphs/lib/ot-glyph/stat").Sink, extraInfoSink: import("./extra-info-sink/index").TtfWritingExtraInfoSink]>;
19
21
  }
20
22
  export declare namespace Gvar {
21
23
  const Tag = "gvar";
22
- const Read: import("@ot-builder/bin-util").Read<void, [gOrd: import("@ot-builder/prelude/lib/data").Order<import("@ot-builder/ot-glyphs").OtGlyph>, cfg: import("./cfg").TtfCfg, ignore: import("./gvar/read").GvarReadIgnore, designSpace: import("@ot-builder/variance/lib/otvar-impl").DesignSpace]>;
23
- const Write: import("@ot-builder/bin-util").Write<import("@ot-builder/prelude/lib/data").Order<import("@ot-builder/ot-glyphs").OtGlyph>, [cfg: import("./cfg").TtfCfg, designSpace: import("@ot-builder/variance/lib/otvar-impl").DesignSpace, acEmpty?: import("@ot-builder/common-impl/lib/access").Access<boolean> | undefined]>;
24
+ const Read: import("@ot-builder/bin-util").Read<void, [gOrd: import("@ot-builder/prelude/lib/data").Order<import("@ot-builder/ot-glyphs").OtGlyph>, cfg: import("./cfg/index").TtfCfg, ignore: import("./gvar/read").GvarReadIgnore, designSpace: import("@ot-builder/variance/lib/otvar-impl").DesignSpace]>;
25
+ const Write: import("@ot-builder/bin-util").Write<import("@ot-builder/prelude/lib/data").Order<import("@ot-builder/ot-glyphs").OtGlyph>, [cfg: import("./cfg/index").TtfCfg, designSpace: import("@ot-builder/variance/lib/otvar-impl").DesignSpace, acEmpty?: import("@ot-builder/common-impl").Access<boolean> | undefined]>;
24
26
  }
25
27
  //# sourceMappingURL=index.d.ts.map
package/lib/index.js CHANGED
@@ -9,11 +9,13 @@ const write_1 = require("./glyf/write");
9
9
  const read_2 = require("./gvar/read");
10
10
  const shared_2 = require("./gvar/shared");
11
11
  const write_2 = require("./gvar/write");
12
- tslib_1.__exportStar(require("./cvt/index"), exports);
13
- tslib_1.__exportStar(require("./cvar/index"), exports);
14
- tslib_1.__exportStar(require("./fpgm-prep/index"), exports);
15
- tslib_1.__exportStar(require("./cfg"), exports);
16
- tslib_1.__exportStar(require("./rectify/rectify"), exports);
12
+ (0, tslib_1.__exportStar)(require("./cvt/index"), exports);
13
+ (0, tslib_1.__exportStar)(require("./cvar/index"), exports);
14
+ (0, tslib_1.__exportStar)(require("./fpgm-prep/index"), exports);
15
+ (0, tslib_1.__exportStar)(require("./cfg/index"), exports);
16
+ (0, tslib_1.__exportStar)(require("./extra-info-sink/index"), exports);
17
+ (0, tslib_1.__exportStar)(require("./rectify/rectify"), exports);
18
+ (0, tslib_1.__exportStar)(require("./glyf/shared"), exports);
17
19
  var Loca;
18
20
  (function (Loca) {
19
21
  Loca.Tag = loca_1.LocaTag;
package/package.json CHANGED
@@ -1,10 +1,20 @@
1
1
  {
2
2
  "name": "@ot-builder/io-bin-ttf",
3
3
  "description": "",
4
- "version": "1.0.11",
4
+ "version": "1.2.0",
5
5
  "license": "MIT",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "https://github.com/ot-builder/monorepo.git",
9
+ "directory": "packages/io-bin-ttf"
10
+ },
6
11
  "main": "./lib/index.js",
7
12
  "types": "./lib/index.d.ts",
13
+ "files": [
14
+ "lib/**/*.js",
15
+ "lib/**/*.json",
16
+ "lib/**/*.d.ts"
17
+ ],
8
18
  "scripts": {
9
19
  "build": "tsc -b ./tsconfig.package.json",
10
20
  "clean": "rimraf lib .cache",
@@ -14,23 +24,23 @@
14
24
  "access": "public"
15
25
  },
16
26
  "dependencies": {
17
- "@ot-builder/bin-util": "1.0.11",
18
- "@ot-builder/common-impl": "1.0.11",
19
- "@ot-builder/errors": "1.0.11",
20
- "@ot-builder/ot-glyphs": "1.0.11",
21
- "@ot-builder/ot-metadata": "1.0.11",
22
- "@ot-builder/prelude": "1.0.11",
23
- "@ot-builder/primitive": "1.0.11",
24
- "@ot-builder/stat-glyphs": "1.0.11",
25
- "@ot-builder/var-store": "1.0.11",
26
- "@ot-builder/variance": "1.0.11",
27
+ "@ot-builder/bin-util": "1.2.0",
28
+ "@ot-builder/common-impl": "1.2.0",
29
+ "@ot-builder/errors": "1.2.0",
30
+ "@ot-builder/ot-glyphs": "1.2.0",
31
+ "@ot-builder/ot-metadata": "1.2.0",
32
+ "@ot-builder/prelude": "1.2.0",
33
+ "@ot-builder/primitive": "1.2.0",
34
+ "@ot-builder/stat-glyphs": "1.2.0",
35
+ "@ot-builder/var-store": "1.2.0",
36
+ "@ot-builder/variance": "1.2.0",
27
37
  "tslib": "^2.0.0"
28
38
  },
29
39
  "devDependencies": {
30
- "@ot-builder/ot-sfnt": "1.0.11",
31
- "@ot-builder/io-bin-metadata": "1.0.11",
32
- "@ot-builder/io-bin-sfnt": "1.0.11",
33
- "@ot-builder/test-util": "1.0.11",
40
+ "@ot-builder/ot-sfnt": "1.2.0",
41
+ "@ot-builder/io-bin-metadata": "1.2.0",
42
+ "@ot-builder/io-bin-sfnt": "1.2.0",
43
+ "@ot-builder/test-util": "1.2.0",
34
44
  "@types/jest": "^26.0.23",
35
45
  "jest": "^27.0.6"
36
46
  }