/var/www/greso.tech/server/nsm/node_modules/pdf-lib/es/core/embedders
NameSizeModeActions
CMap.d.ts2370644editdlrm
CMap.d.ts.map2260644editdlrm
CMap.js21250644editdlrm
CMap.js.map17160644editdlrm
CustomFontEmbedder.d.ts21920644editdlrm
CustomFontEmbedder.d.ts.map17660644editdlrm
CustomFontEmbedder.js113640644editdlrm
CustomFontEmbedder.js.map73150644editdlrm
CustomFontSubsetEmbedder.d.ts10030644editdlrm
CustomFontSubsetEmbedder.d.ts.map7310644editdlrm
CustomFontSubsetEmbedder.js31010644editdlrm
CustomFontSubsetEmbedder.js.map23330644editdlrm
FileEmbedder.d.ts11080644editdlrm
FileEmbedder.d.ts.map8710644editdlrm
FileEmbedder.js34050644editdlrm
FileEmbedder.js.map19550644editdlrm
FontFlags.d.ts3950644editdlrm
FontFlags.d.ts.map5170644editdlrm
FontFlags.js11120644editdlrm
FontFlags.js.map12950644editdlrm
JavaScriptEmbedder.d.ts4350644editdlrm
JavaScriptEmbedder.d.ts.map4670644editdlrm
JavaScriptEmbedder.js12850644editdlrm
JavaScriptEmbedder.js.map8090644editdlrm
JpegEmbedder.d.ts8460644editdlrm
JpegEmbedder.d.ts.map6130644editdlrm
JpegEmbedder.js43250644editdlrm
JpegEmbedder.js.map27610644editdlrm
PDFPageEmbedder.d.ts13700644editdlrm
PDFPageEmbedder.d.ts.map8780644editdlrm
PDFPageEmbedder.js43440644editdlrm
PDFPageEmbedder.js.map30800644editdlrm
PngEmbedder.d.ts7590644editdlrm
PngEmbedder.d.ts.map5650644editdlrm
PngEmbedder.js25330644editdlrm
PngEmbedder.js.map16510644editdlrm
StandardFontEmbedder.d.ts14390644editdlrm
StandardFontEmbedder.d.ts.map9890644editdlrm
StandardFontEmbedder.js42150644editdlrm
StandardFontEmbedder.js.map36620644editdlrm
Edit: /var/www/greso.tech/server/nsm/node_modules/pdf-lib/es/core/embedders/StandardFontEmbedder.js (4215B)
import { Encodings, Font, FontNames, } from '@pdf-lib/standard-fonts'; import PDFHexString from "../objects/PDFHexString"; import { toCodePoint, toHexString } from "../../utils"; /** * A note of thanks to the developers of https://github.com/foliojs/pdfkit, as * this class borrows from: * https://github.com/foliojs/pdfkit/blob/f91bdd61c164a72ea06be1a43dc0a412afc3925f/lib/font/afm.coffee */ var StandardFontEmbedder = /** @class */ (function () { function StandardFontEmbedder(fontName, customName) { // prettier-ignore this.encoding = (fontName === FontNames.ZapfDingbats ? Encodings.ZapfDingbats : fontName === FontNames.Symbol ? Encodings.Symbol : Encodings.WinAnsi); this.font = Font.load(fontName); this.fontName = this.font.FontName; this.customName = customName; } /** * Encode the JavaScript string into this font. (JavaScript encodes strings in * Unicode, but standard fonts use either WinAnsi, ZapfDingbats, or Symbol * encodings) */ StandardFontEmbedder.prototype.encodeText = function (text) { var glyphs = this.encodeTextAsGlyphs(text); var hexCodes = new Array(glyphs.length); for (var idx = 0, len = glyphs.length; idx < len; idx++) { hexCodes[idx] = toHexString(glyphs[idx].code); } return PDFHexString.of(hexCodes.join('')); }; StandardFontEmbedder.prototype.widthOfTextAtSize = function (text, size) { var glyphs = this.encodeTextAsGlyphs(text); var totalWidth = 0; for (var idx = 0, len = glyphs.length; idx < len; idx++) { var left = glyphs[idx].name; var right = (glyphs[idx + 1] || {}).name; var kernAmount = this.font.getXAxisKerningForPair(left, right) || 0; totalWidth += this.widthOfGlyph(left) + kernAmount; } var scale = size / 1000; return totalWidth * scale; }; StandardFontEmbedder.prototype.heightOfFontAtSize = function (size, options) { if (options === void 0) { options = {}; } var _a = options.descender, descender = _a === void 0 ? true : _a; var _b = this.font, Ascender = _b.Ascender, Descender = _b.Descender, FontBBox = _b.FontBBox; var yTop = Ascender || FontBBox[3]; var yBottom = Descender || FontBBox[1]; var height = yTop - yBottom; if (!descender) height += Descender || 0; return (height / 1000) * size; }; StandardFontEmbedder.prototype.sizeOfFontAtHeight = function (height) { var _a = this.font, Ascender = _a.Ascender, Descender = _a.Descender, FontBBox = _a.FontBBox; var yTop = Ascender || FontBBox[3]; var yBottom = Descender || FontBBox[1]; return (1000 * height) / (yTop - yBottom); }; StandardFontEmbedder.prototype.embedIntoContext = function (context, ref) { var fontDict = context.obj({ Type: 'Font', Subtype: 'Type1', BaseFont: this.customName || this.fontName, Encoding: this.encoding === Encodings.WinAnsi ? 'WinAnsiEncoding' : undefined, }); if (ref) { context.assign(ref, fontDict); return ref; } else { return context.register(fontDict); } }; StandardFontEmbedder.prototype.widthOfGlyph = function (glyphName) { // Default to 250 if font doesn't specify a width return this.font.getWidthOfGlyph(glyphName) || 250; }; StandardFontEmbedder.prototype.encodeTextAsGlyphs = function (text) { var codePoints = Array.from(text); var glyphs = new Array(codePoints.length); for (var idx = 0, len = codePoints.length; idx < len; idx++) { var codePoint = toCodePoint(codePoints[idx]); glyphs[idx] = this.encoding.encodeUnicodeCodePoint(codePoint); } return glyphs; }; StandardFontEmbedder.for = function (fontName, customName) { return new StandardFontEmbedder(fontName, customName); }; return StandardFontEmbedder; }()); export default StandardFontEmbedder; //# sourceMappingURL=StandardFontEmbedder.js.map