Skip to content

Commit

Permalink
Added tests for new name table entries
Browse files Browse the repository at this point in the history
Test now checks for defaults for `postScriptName` and also `uniqueID`

Generating a `uniqueID` now provides a fallback empty string if no `manufacturer` exists.
  • Loading branch information
mattlag committed Aug 29, 2024
1 parent 3f1c626 commit b1d381a
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 6 deletions.
3 changes: 2 additions & 1 deletion src/tables/sfnt.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -297,7 +297,8 @@ function fontToSfntTable(font) {
names[platform] = names[platform] || {};

if (!names[platform].uniqueID) {
names[platform].uniqueID = {en: font.getEnglishName('manufacturer') + ':' + englishFullName};
const manufacturer = font.getEnglishName('manufacturer') || '';
names[platform].uniqueID = { en: `${manufacturer}: ${englishFullName}` };
}

if (!names[platform].postScriptName) {
Expand Down
16 changes: 11 additions & 5 deletions test/tables/sfnt.spec.mjs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import assert from 'assert';
import Font from '../../src/font.mjs';
import sfnt from '../../src/tables/sfnt.mjs';
import name from '../../src/tables/name.mjs';
import sfnt from '../../src/tables/sfnt.mjs';
import { encode } from '../../src/types.mjs';

function encodeAndParseTable(table, parser) {
Expand Down Expand Up @@ -60,7 +60,8 @@ describe('tables/sfnt.mjs', function () {
license: { en: ' ' },
licenseURL: { en: ' ' },
preferredFamily: { en: defaultFont.familyName }, // 'MyFont'
preferredSubfamily: { en: defaultFont.styleName } // 'Medium'
preferredSubfamily: { en: defaultFont.styleName }, // 'Medium'
uniqueID: { en: ` : ${defaultFont.familyName} ${defaultFont.styleName}` },
},
windows: {
copyright: { en: ' ' },
Expand All @@ -78,7 +79,8 @@ describe('tables/sfnt.mjs', function () {
license: { en: ' ' },
licenseURL: { en: ' ' },
preferredFamily: { en: defaultFont.familyName }, // 'MyFont'
preferredSubfamily: { en: defaultFont.styleName } // 'Medium'
preferredSubfamily: { en: defaultFont.styleName }, // 'Medium'
uniqueID: { en: ` : ${defaultFont.familyName} ${defaultFont.styleName}` },
}
});
});
Expand Down Expand Up @@ -121,15 +123,19 @@ describe('tables/sfnt.mjs', function () {
fullName: { en: fullName },
version: { en: version },
preferredFamily: { en: preferredFamily },
preferredSubfamily: { en: preferredSubfamily}
preferredSubfamily: { en: preferredSubfamily },
postScriptName: { en: `${fontFamily.replaceAll(' ', '')}-${fontSubfamily}` },
uniqueID: { en: `: ${fontFamily} ${fontSubfamily}` },
},
windows: {
fontFamily: { en: fontFamily },
fontSubfamily: { en: fontSubfamily},
fullName: { en: fullName },
version: { en: version },
preferredFamily: { en: preferredFamily },
preferredSubfamily: { en: preferredSubfamily}
preferredSubfamily: { en: preferredSubfamily},
postScriptName: { en: `${fontFamily.replaceAll(' ', '')}-${fontSubfamily}` },
uniqueID: { en: `: ${fontFamily} ${fontSubfamily}` },
}
});
});
Expand Down

0 comments on commit b1d381a

Please sign in to comment.