1
0
Fork 0
mirror of https://github.com/mozilla/pdf.js.git synced 2025-04-26 10:08:06 +02:00

Merge the supplemental font data files used with XFA documents

When XFA support was added, the size of the *built* `pdf.worker.js` file increased quite a bit. Hence I think that it makes sense to, where easily possible, do what we can to (slightly) reduce the size of the PDF.js library.

The supplemental font data files (added for XFA rendering), containing rescale-factors respectively widths, seem like an excellent candidate here since they're not particularly large in either line-count or file sizes.
In this patch these files are instead merged into a *single* file per font, rather than four different ones, and even with these changes the resulting source files don't become all that large.[1]

For e.g. the `gulp mozcentral` build, this reduces the size of the *built* `pdf.worker.js` file by more than `3 kB`. Given the overall simplicity of the patch, that kind of size decrease definitely seem worthwhile to me.

---
[1] Especially when compared to truly large files such as e.g. `glyphlist.js`, `metrics.js`, and `unicode.js`.
This commit is contained in:
Jonas Jenwald 2021-06-29 10:07:55 +02:00
parent 1eb9a3e9eb
commit 37d2808977
26 changed files with 1478 additions and 1683 deletions

View file

@ -13,28 +13,38 @@
* limitations under the License.
*/
import { CalibriBoldFactors } from "./calibri_bold.js";
import { CalibriBoldItalicFactors } from "./calibri_bold_italic.js";
import { CalibriItalicFactors } from "./calibri_italic.js";
import { CalibriRegularFactors } from "./calibri_regular.js";
import {
CalibriBoldFactors,
CalibriBoldItalicFactors,
CalibriItalicFactors,
CalibriRegularFactors,
} from "./calibri_factors.js";
import {
HelveticaBoldFactors,
HelveticaBoldItalicFactors,
HelveticaItalicFactors,
HelveticaRegularFactors,
} from "./helvetica_factors.js";
import {
LiberationSansBoldItalicWidths,
LiberationSansBoldWidths,
LiberationSansItalicWidths,
LiberationSansRegularWidths,
} from "./liberationsans_widths.js";
import {
MyriadProBoldFactors,
MyriadProBoldItalicFactors,
MyriadProItalicFactors,
MyriadProRegularFactors,
} from "./myriadpro_factors.js";
import {
SegoeuiBoldFactors,
SegoeuiBoldItalicFactors,
SegoeuiItalicFactors,
SegoeuiRegularFactors,
} from "./segoeui_factors.js";
import { getLookupTableFactory } from "./core_utils.js";
import { HelveticaBoldFactors } from "./helvetica_bold.js";
import { HelveticaBoldItalicFactors } from "./helvetica_bold_italic.js";
import { HelveticaItalicFactors } from "./helvetica_italic.js";
import { HelveticaRegularFactors } from "./helvetica_regular.js";
import { LiberationSansBoldItalicWidths } from "./liberationsans_bold_italic_widths.js";
import { LiberationSansBoldWidths } from "./liberationsans_bold_widths.js";
import { LiberationSansItalicWidths } from "./liberationsans_italic_widths.js";
import { LiberationSansRegularWidths } from "./liberationsans_regular_widths.js";
import { MyriadProBoldFactors } from "./myriadpro_bold.js";
import { MyriadProBoldItalicFactors } from "./myriadpro_bold_italic.js";
import { MyriadProItalicFactors } from "./myriadpro_italic.js";
import { MyriadProRegularFactors } from "./myriadpro_regular.js";
import { normalizeFontName } from "./fonts_utils.js";
import { SegoeuiBoldFactors } from "./segoeui_bold.js";
import { SegoeuiBoldItalicFactors } from "./segoeui_bold_italic.js";
import { SegoeuiItalicFactors } from "./segoeui_italic.js";
import { SegoeuiRegularFactors } from "./segoeui_regular.js";
const getXFAFontMap = getLookupTableFactory(function (t) {
t["MyriadPro-Regular"] = {