'use strict';
// The OpenType spec mentions that the follow tables are required for a font to
// function correctly. We'll have all the tables listed except for OS/2, which
// is not present in all fonts on Mac OS.
// https://docs.microsoft.com/en-us/typography/opentype/spec/otff#font-tables
const BASE_TABLES = [
'cmap',
'head',
'hhea',
'hmtx',
'maxp',
'name',
'post',
];
const MAC_FONTS = new Map([
['Monaco', {
postscriptName: 'Monaco',
fullName: 'Monaco',
family: 'Monaco',
style: 'Regular',
}],
['Menlo-Regular', {
postscriptName: 'Menlo-Regular',
fullName: 'Menlo Regular',
family: 'Menlo',
style: 'Regular',
}],
]);
const WIN_FONTS = new Map([
['Verdana', {
postscriptName: 'Verdana',
fullName: 'Verdana',
family: 'Verdana',
style: 'Regular',
}],
]);
const LINUX_FONTS = new Map([
['Ahem', {
postscriptName: 'Ahem',
fullName: 'Ahem',
family: 'Ahem',
style: 'Regular',
}],
]);
// Returns a map of known system fonts, mapping a font's postscript name to
// FontData.
function getTestData() {
let output = undefined;
if (navigator.platform.indexOf("Win") !== -1) {
output = WIN_FONTS;
} else if (navigator.platform.indexOf("Mac") !== -1) {
output = MAC_FONTS;
} else if (navigator.platform.indexOf("Linux") !== -1) {
output = LINUX_FONTS;
}
assert_not_equals(
output, undefined, 'Cannot get test set due to unsupported platform.');
return output;
}