Big News: Socket raises $60M Series C at a $1B valuation to secure software supply chains for AI-driven development.Announcement
Sign In

@ot-builder/cli-proc

Package Overview
Dependencies
Maintainers
1
Versions
81
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@ot-builder/cli-proc - npm Package Compare versions

Comparing version
1.6.2
to
1.6.3
+58
-1
CHANGELOG.json

@@ -5,3 +5,60 @@ {

{
"date": "Sat, 15 Apr 2023 01:05:12 GMT",
"date": "Sat, 22 Apr 2023 00:59:44 GMT",
"tag": "@ot-builder/cli-proc_v1.6.3",
"version": "1.6.3",
"comments": {
"patch": [
{
"author": "otbbuilder-dev@users.noreply.github.com",
"package": "@ot-builder/cli-proc",
"commit": "b19d6f897aa2a52a78cc95ca4832baeda71446a2",
"comment": "Fix handling of ignore glyph set when merging fonts"
},
{
"author": "beachball",
"package": "@ot-builder/cli-proc",
"comment": "Bump @ot-builder/io-bin-font to v1.6.3",
"commit": "b19d6f897aa2a52a78cc95ca4832baeda71446a2"
},
{
"author": "beachball",
"package": "@ot-builder/cli-proc",
"comment": "Bump @ot-builder/primitive to v1.6.3",
"commit": "b19d6f897aa2a52a78cc95ca4832baeda71446a2"
},
{
"author": "beachball",
"package": "@ot-builder/cli-proc",
"comment": "Bump @ot-builder/common-impl to v1.6.3",
"commit": "b19d6f897aa2a52a78cc95ca4832baeda71446a2"
},
{
"author": "beachball",
"package": "@ot-builder/cli-proc",
"comment": "Bump @ot-builder/rectify to v1.6.3",
"commit": "b19d6f897aa2a52a78cc95ca4832baeda71446a2"
},
{
"author": "beachball",
"package": "@ot-builder/cli-proc",
"comment": "Bump @ot-builder/trace to v1.6.3",
"commit": "b19d6f897aa2a52a78cc95ca4832baeda71446a2"
},
{
"author": "beachball",
"package": "@ot-builder/cli-proc",
"comment": "Bump @ot-builder/prelude to v1.6.3",
"commit": "b19d6f897aa2a52a78cc95ca4832baeda71446a2"
},
{
"author": "beachball",
"package": "@ot-builder/cli-proc",
"comment": "Bump @ot-builder/ot to v1.6.3",
"commit": "b19d6f897aa2a52a78cc95ca4832baeda71446a2"
}
]
}
},
{
"date": "Sat, 15 Apr 2023 01:06:43 GMT",
"tag": "@ot-builder/cli-proc_v1.6.2",

@@ -8,0 +65,0 @@ "version": "1.6.2",

# Change Log - @ot-builder/cli-proc
This log was last generated on Sat, 15 Apr 2023 01:05:12 GMT and should not be manually modified.
This log was last generated on Sat, 22 Apr 2023 00:59:44 GMT and should not be manually modified.
<!-- Start content -->
## 1.6.3
Sat, 22 Apr 2023 00:59:44 GMT
### Patches
- Fix handling of ignore glyph set when merging fonts (otbbuilder-dev@users.noreply.github.com)
- Bump @ot-builder/io-bin-font to v1.6.3
- Bump @ot-builder/primitive to v1.6.3
- Bump @ot-builder/common-impl to v1.6.3
- Bump @ot-builder/rectify to v1.6.3
- Bump @ot-builder/trace to v1.6.3
- Bump @ot-builder/prelude to v1.6.3
- Bump @ot-builder/ot to v1.6.3
## 1.6.2
Sat, 15 Apr 2023 01:05:12 GMT
Sat, 15 Apr 2023 01:06:43 GMT

@@ -11,0 +26,0 @@ ### Patches

+5
-2
import * as Ot from "@ot-builder/ot";
import { Data } from "@ot-builder/prelude";
import { FeatureConsolidationSource } from "./consolidate/feature";
export declare class GsubGposMerger<L> implements FeatureConsolidationSource<L> {
export declare class GsubGposMerger<L extends Ot.GsubGpos.LookupProp> implements FeatureConsolidationSource<L> {
readonly variationDimensions: Data.Order<Ot.Var.Dim>;
readonly preferred: Ot.GsubGpos.TableT<L>;
readonly less: Ot.GsubGpos.TableT<L>;
constructor(variationDimensions: Data.Order<Ot.Var.Dim>, preferred: Ot.GsubGpos.TableT<L>, less: Ot.GsubGpos.TableT<L>);
private readonly preferredGdef;
private readonly lessGdef;
constructor(variationDimensions: Data.Order<Ot.Var.Dim>, preferred: Ot.GsubGpos.TableT<L>, less: Ot.GsubGpos.TableT<L>, preferredGdef: Data.Maybe<Ot.Gdef.Table>, lessGdef: Data.Maybe<Ot.Gdef.Table>);
resolve(): Ot.GsubGpos.TableT<L>;
private getLookups;
private amendIgnoreSet;
private mergeScriptList;

@@ -12,0 +15,0 @@ private mergeScript;

@@ -5,9 +5,12 @@ "use strict";

const ImpLib = require("@ot-builder/common-impl");
const Ot = require("@ot-builder/ot");
const feature_1 = require("./consolidate/feature");
const utils_1 = require("./utils");
class GsubGposMerger {
constructor(variationDimensions, preferred, less) {
constructor(variationDimensions, preferred, less, preferredGdef, lessGdef) {
this.variationDimensions = variationDimensions;
this.preferred = preferred;
this.less = less;
this.preferredGdef = preferredGdef;
this.lessGdef = lessGdef;
this.featureMergingPlans = new Map();

@@ -28,4 +31,55 @@ this.featureVariationCollection = new Map();

getLookups() {
const result = [];
for (const lookup of this.preferred.lookups) {
result.push(lookup);
if (this.preferredGdef && this.lessGdef) {
this.amendIgnoreSet(lookup, this.preferredGdef, this.lessGdef);
}
}
for (const lookup of this.less.lookups) {
result.push(lookup);
if (this.preferredGdef && this.lessGdef) {
this.amendIgnoreSet(lookup, this.lessGdef, this.preferredGdef);
}
}
return [...this.preferred.lookups, ...this.less.lookups];
}
amendIgnoreSet(lookup, currentGdef, counterGdef) {
if (!lookup.ignoreGlyphs)
return;
if (!currentGdef.glyphClassDef || !counterGdef.glyphClassDef)
return;
let hasBase = false, hasLigature = false, hasMark = false;
for (const [g, c] of currentGdef.glyphClassDef) {
if (!lookup.ignoreGlyphs.has(g))
continue;
switch (c) {
case Ot.Gdef.GlyphClass.Base:
hasBase = true;
break;
case Ot.Gdef.GlyphClass.Ligature:
hasLigature = true;
break;
case Ot.Gdef.GlyphClass.Mark:
hasMark = true;
break;
}
}
for (const [g, c] of counterGdef.glyphClassDef) {
switch (c) {
case Ot.Gdef.GlyphClass.Base:
if (hasBase)
lookup.ignoreGlyphs.add(g);
break;
case Ot.Gdef.GlyphClass.Ligature:
if (hasLigature)
lookup.ignoreGlyphs.add(g);
break;
case Ot.Gdef.GlyphClass.Mark:
if (hasMark)
lookup.ignoreGlyphs.add(g);
break;
}
}
}
mergeScriptList() {

@@ -32,0 +86,0 @@ return (0, utils_1.mergeMapAlt)(this.preferred.scripts, this.less.scripts, this.mergeScript.bind(this));

@@ -8,3 +8,3 @@ import * as Ot from "@ot-builder/ot";

export declare function consolidateFont<GS extends Ot.GlyphStore>(font: Ot.Font<GS>): void;
export declare function consolidateGsubGpos<L>(fvar: Data.Maybe<Ot.Fvar.Table>, preferred: Ot.GsubGpos.TableT<L>): Ot.GsubGpos.TableT<L>;
export declare function consolidateGsubGpos<L extends Ot.GsubGpos.LookupProp>(fvar: Data.Maybe<Ot.Fvar.Table>, preferred: Ot.GsubGpos.TableT<L>): Ot.GsubGpos.TableT<L>;
//# sourceMappingURL=index.d.ts.map

@@ -35,4 +35,4 @@ "use strict";

basis.cmap = mergeCmap(override.cmap, basis.cmap);
basis.gsub = mergeGsubGpos(override.fvar, override.gsub, basis.gsub);
basis.gpos = mergeGsubGpos(override.fvar, override.gpos, basis.gpos);
basis.gsub = mergeGsubGpos(override.fvar, override.gsub, basis.gsub, override.gdef, basis.gdef);
basis.gpos = mergeGsubGpos(override.fvar, override.gpos, basis.gpos, override.gdef, basis.gdef);
basis.gdef = mergeGdef(override.gdef, basis.gdef);

@@ -42,4 +42,4 @@ }

basis.cmap = mergeCmap(basis.cmap, override.cmap);
basis.gsub = mergeGsubGpos(basis.fvar, basis.gsub, override.gsub);
basis.gpos = mergeGsubGpos(basis.fvar, basis.gpos, override.gpos);
basis.gsub = mergeGsubGpos(basis.fvar, basis.gsub, override.gsub, basis.gdef, override.gdef);
basis.gpos = mergeGsubGpos(basis.fvar, basis.gpos, override.gpos, basis.gdef, override.gdef);
basis.gdef = mergeGdef(basis.gdef, override.gdef);

@@ -72,7 +72,7 @@ }

result.ligCarets = (0, utils_1.mergeMapOpt)(preferred.ligCarets, less.ligCarets, utils_1.Prime);
result.markAttachClassDef = (0, utils_1.mergeMapOpt)(preferred.markAttachClassDef, less.markAttachClassDef, utils_1.Prime);
result.markAttachClassDef = (0, utils_1.mergeClassDefOpt)(preferred.markAttachClassDef, less.markAttachClassDef);
result.markGlyphSets = (0, utils_1.combineList)(preferred.markGlyphSets, less.markGlyphSets);
return result;
}
function mergeGsubGpos(fvar, preferred, less) {
function mergeGsubGpos(fvar, preferred, less, preferredGdef, lessGdef) {
if (!preferred)

@@ -82,7 +82,7 @@ return less;

return preferred;
const merger = new gsub_gpos_merger_1.GsubGposMerger(ImpLib.Order.fromList("Dimensions", fvar ? fvar.axes.map(a => a.dim) : []), preferred, less);
const merger = new gsub_gpos_merger_1.GsubGposMerger(ImpLib.Order.fromList("Dimensions", fvar ? fvar.axes.map(a => a.dim) : []), preferred, less, preferredGdef, lessGdef);
return merger.resolve();
}
function consolidateGsubGpos(fvar, preferred) {
const merger = new gsub_gpos_merger_1.GsubGposMerger(ImpLib.Order.fromList("Dimensions", fvar ? fvar.axes.map(a => a.dim) : []), preferred, { scripts: new Map(), features: [], lookups: [], featureVariations: [] });
const merger = new gsub_gpos_merger_1.GsubGposMerger(ImpLib.Order.fromList("Dimensions", fvar ? fvar.axes.map(a => a.dim) : []), preferred, { scripts: new Map(), features: [], lookups: [], featureVariations: [] }, null, null);
return merger.resolve();

@@ -89,0 +89,0 @@ }

@@ -5,4 +5,6 @@ import { Data } from "@ot-builder/prelude";

export declare function mergeMap<K, V>(preferred: Map<K, V>, less: Map<K, V>, mergeValue: (a: V, b: V) => V): Map<K, V>;
export declare function mergeClassDefOpt<K>(preferred: Data.Maybe<Map<K, number>>, less: Data.Maybe<Map<K, number>>): Data.Maybe<Map<K, number>>;
export declare function mergeClassDef<K>(preferred: Map<K, number>, less: Map<K, number>): Map<K, number>;
export declare function mergeMapAlt<K, V>(preferred: Map<K, V>, less: Map<K, V>, mergeValue: (a: undefined | V, b: undefined | V) => V): Map<K, V>;
export declare function Prime<K>(a: K, b: K): K;
//# sourceMappingURL=utils.d.ts.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.Prime = exports.mergeMapAlt = exports.mergeMap = exports.mergeMapOpt = exports.combineList = void 0;
exports.Prime = exports.mergeMapAlt = exports.mergeClassDef = exports.mergeClassDefOpt = exports.mergeMap = exports.mergeMapOpt = exports.combineList = void 0;
function combineList(a, b) {
return [...(a || []), ...(a || [])];
return [...(a || []), ...(b || [])];
}

@@ -29,2 +29,22 @@ exports.combineList = combineList;

exports.mergeMap = mergeMap;
function mergeClassDefOpt(preferred, less) {
if (!preferred)
return less;
if (!less)
return preferred;
return mergeClassDef(preferred, less);
}
exports.mergeClassDefOpt = mergeClassDefOpt;
function mergeClassDef(preferred, less) {
const m = new Map(preferred);
let maxClass = 0;
for (const v of m.values())
if (v > maxClass)
maxClass = v;
for (const [k, v] of less)
if (!m.has(k))
m.set(k, v + maxClass);
return m;
}
exports.mergeClassDef = mergeClassDef;
function mergeMapAlt(preferred, less, mergeValue) {

@@ -31,0 +51,0 @@ const keySet = new Set([...preferred.keys(), ...less.keys()]);

{
"name": "@ot-builder/cli-proc",
"version": "1.6.2",
"version": "1.6.3",
"license": "MIT",

@@ -27,9 +27,9 @@ "repository": {

"tslib": "^2.0.0",
"@ot-builder/io-bin-font": "1.6.2",
"@ot-builder/primitive": "1.6.2",
"@ot-builder/common-impl": "1.6.2",
"@ot-builder/rectify": "1.6.2",
"@ot-builder/trace": "1.6.2",
"@ot-builder/prelude": "1.6.2",
"@ot-builder/ot": "1.6.2"
"@ot-builder/io-bin-font": "1.6.3",
"@ot-builder/primitive": "1.6.3",
"@ot-builder/common-impl": "1.6.3",
"@ot-builder/rectify": "1.6.3",
"@ot-builder/trace": "1.6.3",
"@ot-builder/prelude": "1.6.3",
"@ot-builder/ot": "1.6.3"
},

@@ -36,0 +36,0 @@ "devDependencies": {