Edit File by line

Deprecated: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in /home/sportsfever/public_html/filemanger/function.php on line 93

Warning: Undefined array key "page_file_edit_line" in /home/sportsfever/public_html/filemanger/edit_text_line.php on line 32
/home/sportsfe.../httpdocs/clone/wp-conte.../plugins/embedpre.../assets/pdf/build
File: pdf.worker.js
break;
[26500] Fix | Delete
}
[26501] Fix | Delete
error = this.executeCommand(2, COMMAND_MAP.rmoveto);
[26502] Fix | Delete
break;
[26503] Fix | Delete
case 22:
[26504] Fix | Delete
if (this.flexing) {
[26505] Fix | Delete
this.stack.push(0);
[26506] Fix | Delete
break;
[26507] Fix | Delete
}
[26508] Fix | Delete
error = this.executeCommand(1, COMMAND_MAP.hmoveto);
[26509] Fix | Delete
break;
[26510] Fix | Delete
case 30:
[26511] Fix | Delete
error = this.executeCommand(4, COMMAND_MAP.vhcurveto);
[26512] Fix | Delete
break;
[26513] Fix | Delete
case 31:
[26514] Fix | Delete
error = this.executeCommand(4, COMMAND_MAP.hvcurveto);
[26515] Fix | Delete
break;
[26516] Fix | Delete
case (12 << 8) + 0:
[26517] Fix | Delete
this.stack = [];
[26518] Fix | Delete
break;
[26519] Fix | Delete
case (12 << 8) + 1:
[26520] Fix | Delete
if (!HINTING_ENABLED) {
[26521] Fix | Delete
this.stack = [];
[26522] Fix | Delete
break;
[26523] Fix | Delete
}
[26524] Fix | Delete
error = this.executeCommand(2, COMMAND_MAP.vstem);
[26525] Fix | Delete
break;
[26526] Fix | Delete
case (12 << 8) + 2:
[26527] Fix | Delete
if (!HINTING_ENABLED) {
[26528] Fix | Delete
this.stack = [];
[26529] Fix | Delete
break;
[26530] Fix | Delete
}
[26531] Fix | Delete
error = this.executeCommand(2, COMMAND_MAP.hstem);
[26532] Fix | Delete
break;
[26533] Fix | Delete
case (12 << 8) + 6:
[26534] Fix | Delete
if (seacAnalysisEnabled) {
[26535] Fix | Delete
const asb = this.stack.at(-5);
[26536] Fix | Delete
this.seac = this.stack.splice(-4, 4);
[26537] Fix | Delete
this.seac[0] += this.lsb - asb;
[26538] Fix | Delete
error = this.executeCommand(0, COMMAND_MAP.endchar);
[26539] Fix | Delete
} else {
[26540] Fix | Delete
error = this.executeCommand(4, COMMAND_MAP.endchar);
[26541] Fix | Delete
}
[26542] Fix | Delete
break;
[26543] Fix | Delete
case (12 << 8) + 7:
[26544] Fix | Delete
if (this.stack.length < 4) {
[26545] Fix | Delete
error = true;
[26546] Fix | Delete
break;
[26547] Fix | Delete
}
[26548] Fix | Delete
this.stack.pop();
[26549] Fix | Delete
wx = this.stack.pop();
[26550] Fix | Delete
const sby = this.stack.pop();
[26551] Fix | Delete
sbx = this.stack.pop();
[26552] Fix | Delete
this.lsb = sbx;
[26553] Fix | Delete
this.width = wx;
[26554] Fix | Delete
this.stack.push(wx, sbx, sby);
[26555] Fix | Delete
error = this.executeCommand(3, COMMAND_MAP.rmoveto);
[26556] Fix | Delete
break;
[26557] Fix | Delete
case (12 << 8) + 12:
[26558] Fix | Delete
if (this.stack.length < 2) {
[26559] Fix | Delete
error = true;
[26560] Fix | Delete
break;
[26561] Fix | Delete
}
[26562] Fix | Delete
const num2 = this.stack.pop();
[26563] Fix | Delete
const num1 = this.stack.pop();
[26564] Fix | Delete
this.stack.push(num1 / num2);
[26565] Fix | Delete
break;
[26566] Fix | Delete
case (12 << 8) + 16:
[26567] Fix | Delete
if (this.stack.length < 2) {
[26568] Fix | Delete
error = true;
[26569] Fix | Delete
break;
[26570] Fix | Delete
}
[26571] Fix | Delete
subrNumber = this.stack.pop();
[26572] Fix | Delete
const numArgs = this.stack.pop();
[26573] Fix | Delete
if (subrNumber === 0 && numArgs === 3) {
[26574] Fix | Delete
const flexArgs = this.stack.splice(-17, 17);
[26575] Fix | Delete
this.stack.push(flexArgs[2] + flexArgs[0], flexArgs[3] + flexArgs[1], flexArgs[4], flexArgs[5], flexArgs[6], flexArgs[7], flexArgs[8], flexArgs[9], flexArgs[10], flexArgs[11], flexArgs[12], flexArgs[13], flexArgs[14]);
[26576] Fix | Delete
error = this.executeCommand(13, COMMAND_MAP.flex, true);
[26577] Fix | Delete
this.flexing = false;
[26578] Fix | Delete
this.stack.push(flexArgs[15], flexArgs[16]);
[26579] Fix | Delete
} else if (subrNumber === 1 && numArgs === 0) {
[26580] Fix | Delete
this.flexing = true;
[26581] Fix | Delete
}
[26582] Fix | Delete
break;
[26583] Fix | Delete
case (12 << 8) + 17:
[26584] Fix | Delete
break;
[26585] Fix | Delete
case (12 << 8) + 33:
[26586] Fix | Delete
this.stack = [];
[26587] Fix | Delete
break;
[26588] Fix | Delete
default:
[26589] Fix | Delete
warn('Unknown type 1 charstring command of "' + value + '"');
[26590] Fix | Delete
break;
[26591] Fix | Delete
}
[26592] Fix | Delete
if (error) {
[26593] Fix | Delete
break;
[26594] Fix | Delete
}
[26595] Fix | Delete
continue;
[26596] Fix | Delete
} else if (value <= 246) {
[26597] Fix | Delete
value -= 139;
[26598] Fix | Delete
} else if (value <= 250) {
[26599] Fix | Delete
value = (value - 247) * 256 + encoded[++i] + 108;
[26600] Fix | Delete
} else if (value <= 254) {
[26601] Fix | Delete
value = -((value - 251) * 256) - encoded[++i] - 108;
[26602] Fix | Delete
} else {
[26603] Fix | Delete
value = (encoded[++i] & 0xff) << 24 | (encoded[++i] & 0xff) << 16 | (encoded[++i] & 0xff) << 8 | (encoded[++i] & 0xff) << 0;
[26604] Fix | Delete
}
[26605] Fix | Delete
this.stack.push(value);
[26606] Fix | Delete
}
[26607] Fix | Delete
return error;
[26608] Fix | Delete
}
[26609] Fix | Delete
executeCommand(howManyArgs, command, keepStack) {
[26610] Fix | Delete
const stackLength = this.stack.length;
[26611] Fix | Delete
if (howManyArgs > stackLength) {
[26612] Fix | Delete
return true;
[26613] Fix | Delete
}
[26614] Fix | Delete
const start = stackLength - howManyArgs;
[26615] Fix | Delete
for (let i = start; i < stackLength; i++) {
[26616] Fix | Delete
let value = this.stack[i];
[26617] Fix | Delete
if (Number.isInteger(value)) {
[26618] Fix | Delete
this.output.push(28, value >> 8 & 0xff, value & 0xff);
[26619] Fix | Delete
} else {
[26620] Fix | Delete
value = 65536 * value | 0;
[26621] Fix | Delete
this.output.push(255, value >> 24 & 0xff, value >> 16 & 0xff, value >> 8 & 0xff, value & 0xff);
[26622] Fix | Delete
}
[26623] Fix | Delete
}
[26624] Fix | Delete
this.output.push(...command);
[26625] Fix | Delete
if (keepStack) {
[26626] Fix | Delete
this.stack.splice(start, howManyArgs);
[26627] Fix | Delete
} else {
[26628] Fix | Delete
this.stack.length = 0;
[26629] Fix | Delete
}
[26630] Fix | Delete
return false;
[26631] Fix | Delete
}
[26632] Fix | Delete
}
[26633] Fix | Delete
const EEXEC_ENCRYPT_KEY = 55665;
[26634] Fix | Delete
const CHAR_STRS_ENCRYPT_KEY = 4330;
[26635] Fix | Delete
function isHexDigit(code) {
[26636] Fix | Delete
return code >= 48 && code <= 57 || code >= 65 && code <= 70 || code >= 97 && code <= 102;
[26637] Fix | Delete
}
[26638] Fix | Delete
function decrypt(data, key, discardNumber) {
[26639] Fix | Delete
if (discardNumber >= data.length) {
[26640] Fix | Delete
return new Uint8Array(0);
[26641] Fix | Delete
}
[26642] Fix | Delete
const c1 = 52845,
[26643] Fix | Delete
c2 = 22719;
[26644] Fix | Delete
let r = key | 0,
[26645] Fix | Delete
i,
[26646] Fix | Delete
j;
[26647] Fix | Delete
for (i = 0; i < discardNumber; i++) {
[26648] Fix | Delete
r = (data[i] + r) * c1 + c2 & (1 << 16) - 1;
[26649] Fix | Delete
}
[26650] Fix | Delete
const count = data.length - discardNumber;
[26651] Fix | Delete
const decrypted = new Uint8Array(count);
[26652] Fix | Delete
for (i = discardNumber, j = 0; j < count; i++, j++) {
[26653] Fix | Delete
const value = data[i];
[26654] Fix | Delete
decrypted[j] = value ^ r >> 8;
[26655] Fix | Delete
r = (value + r) * c1 + c2 & (1 << 16) - 1;
[26656] Fix | Delete
}
[26657] Fix | Delete
return decrypted;
[26658] Fix | Delete
}
[26659] Fix | Delete
function decryptAscii(data, key, discardNumber) {
[26660] Fix | Delete
const c1 = 52845,
[26661] Fix | Delete
c2 = 22719;
[26662] Fix | Delete
let r = key | 0;
[26663] Fix | Delete
const count = data.length,
[26664] Fix | Delete
maybeLength = count >>> 1;
[26665] Fix | Delete
const decrypted = new Uint8Array(maybeLength);
[26666] Fix | Delete
let i, j;
[26667] Fix | Delete
for (i = 0, j = 0; i < count; i++) {
[26668] Fix | Delete
const digit1 = data[i];
[26669] Fix | Delete
if (!isHexDigit(digit1)) {
[26670] Fix | Delete
continue;
[26671] Fix | Delete
}
[26672] Fix | Delete
i++;
[26673] Fix | Delete
let digit2;
[26674] Fix | Delete
while (i < count && !isHexDigit(digit2 = data[i])) {
[26675] Fix | Delete
i++;
[26676] Fix | Delete
}
[26677] Fix | Delete
if (i < count) {
[26678] Fix | Delete
const value = parseInt(String.fromCharCode(digit1, digit2), 16);
[26679] Fix | Delete
decrypted[j++] = value ^ r >> 8;
[26680] Fix | Delete
r = (value + r) * c1 + c2 & (1 << 16) - 1;
[26681] Fix | Delete
}
[26682] Fix | Delete
}
[26683] Fix | Delete
return decrypted.slice(discardNumber, j);
[26684] Fix | Delete
}
[26685] Fix | Delete
function isSpecial(c) {
[26686] Fix | Delete
return c === 0x2f || c === 0x5b || c === 0x5d || c === 0x7b || c === 0x7d || c === 0x28 || c === 0x29;
[26687] Fix | Delete
}
[26688] Fix | Delete
class Type1Parser {
[26689] Fix | Delete
constructor(stream, encrypted, seacAnalysisEnabled) {
[26690] Fix | Delete
if (encrypted) {
[26691] Fix | Delete
const data = stream.getBytes();
[26692] Fix | Delete
const isBinary = !((isHexDigit(data[0]) || isWhiteSpace(data[0])) && isHexDigit(data[1]) && isHexDigit(data[2]) && isHexDigit(data[3]) && isHexDigit(data[4]) && isHexDigit(data[5]) && isHexDigit(data[6]) && isHexDigit(data[7]));
[26693] Fix | Delete
stream = new Stream(isBinary ? decrypt(data, EEXEC_ENCRYPT_KEY, 4) : decryptAscii(data, EEXEC_ENCRYPT_KEY, 4));
[26694] Fix | Delete
}
[26695] Fix | Delete
this.seacAnalysisEnabled = !!seacAnalysisEnabled;
[26696] Fix | Delete
this.stream = stream;
[26697] Fix | Delete
this.nextChar();
[26698] Fix | Delete
}
[26699] Fix | Delete
readNumberArray() {
[26700] Fix | Delete
this.getToken();
[26701] Fix | Delete
const array = [];
[26702] Fix | Delete
while (true) {
[26703] Fix | Delete
const token = this.getToken();
[26704] Fix | Delete
if (token === null || token === "]" || token === "}") {
[26705] Fix | Delete
break;
[26706] Fix | Delete
}
[26707] Fix | Delete
array.push(parseFloat(token || 0));
[26708] Fix | Delete
}
[26709] Fix | Delete
return array;
[26710] Fix | Delete
}
[26711] Fix | Delete
readNumber() {
[26712] Fix | Delete
const token = this.getToken();
[26713] Fix | Delete
return parseFloat(token || 0);
[26714] Fix | Delete
}
[26715] Fix | Delete
readInt() {
[26716] Fix | Delete
const token = this.getToken();
[26717] Fix | Delete
return parseInt(token || 0, 10) | 0;
[26718] Fix | Delete
}
[26719] Fix | Delete
readBoolean() {
[26720] Fix | Delete
const token = this.getToken();
[26721] Fix | Delete
return token === "true" ? 1 : 0;
[26722] Fix | Delete
}
[26723] Fix | Delete
nextChar() {
[26724] Fix | Delete
return this.currentChar = this.stream.getByte();
[26725] Fix | Delete
}
[26726] Fix | Delete
prevChar() {
[26727] Fix | Delete
this.stream.skip(-2);
[26728] Fix | Delete
return this.currentChar = this.stream.getByte();
[26729] Fix | Delete
}
[26730] Fix | Delete
getToken() {
[26731] Fix | Delete
let comment = false;
[26732] Fix | Delete
let ch = this.currentChar;
[26733] Fix | Delete
while (true) {
[26734] Fix | Delete
if (ch === -1) {
[26735] Fix | Delete
return null;
[26736] Fix | Delete
}
[26737] Fix | Delete
if (comment) {
[26738] Fix | Delete
if (ch === 0x0a || ch === 0x0d) {
[26739] Fix | Delete
comment = false;
[26740] Fix | Delete
}
[26741] Fix | Delete
} else if (ch === 0x25) {
[26742] Fix | Delete
comment = true;
[26743] Fix | Delete
} else if (!isWhiteSpace(ch)) {
[26744] Fix | Delete
break;
[26745] Fix | Delete
}
[26746] Fix | Delete
ch = this.nextChar();
[26747] Fix | Delete
}
[26748] Fix | Delete
if (isSpecial(ch)) {
[26749] Fix | Delete
this.nextChar();
[26750] Fix | Delete
return String.fromCharCode(ch);
[26751] Fix | Delete
}
[26752] Fix | Delete
let token = "";
[26753] Fix | Delete
do {
[26754] Fix | Delete
token += String.fromCharCode(ch);
[26755] Fix | Delete
ch = this.nextChar();
[26756] Fix | Delete
} while (ch >= 0 && !isWhiteSpace(ch) && !isSpecial(ch));
[26757] Fix | Delete
return token;
[26758] Fix | Delete
}
[26759] Fix | Delete
readCharStrings(bytes, lenIV) {
[26760] Fix | Delete
if (lenIV === -1) {
[26761] Fix | Delete
return bytes;
[26762] Fix | Delete
}
[26763] Fix | Delete
return decrypt(bytes, CHAR_STRS_ENCRYPT_KEY, lenIV);
[26764] Fix | Delete
}
[26765] Fix | Delete
extractFontProgram(properties) {
[26766] Fix | Delete
const stream = this.stream;
[26767] Fix | Delete
const subrs = [],
[26768] Fix | Delete
charstrings = [];
[26769] Fix | Delete
const privateData = Object.create(null);
[26770] Fix | Delete
privateData.lenIV = 4;
[26771] Fix | Delete
const program = {
[26772] Fix | Delete
subrs: [],
[26773] Fix | Delete
charstrings: [],
[26774] Fix | Delete
properties: {
[26775] Fix | Delete
privateData
[26776] Fix | Delete
}
[26777] Fix | Delete
};
[26778] Fix | Delete
let token, length, data, lenIV;
[26779] Fix | Delete
while ((token = this.getToken()) !== null) {
[26780] Fix | Delete
if (token !== "/") {
[26781] Fix | Delete
continue;
[26782] Fix | Delete
}
[26783] Fix | Delete
token = this.getToken();
[26784] Fix | Delete
switch (token) {
[26785] Fix | Delete
case "CharStrings":
[26786] Fix | Delete
this.getToken();
[26787] Fix | Delete
this.getToken();
[26788] Fix | Delete
this.getToken();
[26789] Fix | Delete
this.getToken();
[26790] Fix | Delete
while (true) {
[26791] Fix | Delete
token = this.getToken();
[26792] Fix | Delete
if (token === null || token === "end") {
[26793] Fix | Delete
break;
[26794] Fix | Delete
}
[26795] Fix | Delete
if (token !== "/") {
[26796] Fix | Delete
continue;
[26797] Fix | Delete
}
[26798] Fix | Delete
const glyph = this.getToken();
[26799] Fix | Delete
length = this.readInt();
[26800] Fix | Delete
this.getToken();
[26801] Fix | Delete
data = length > 0 ? stream.getBytes(length) : new Uint8Array(0);
[26802] Fix | Delete
lenIV = program.properties.privateData.lenIV;
[26803] Fix | Delete
const encoded = this.readCharStrings(data, lenIV);
[26804] Fix | Delete
this.nextChar();
[26805] Fix | Delete
token = this.getToken();
[26806] Fix | Delete
if (token === "noaccess") {
[26807] Fix | Delete
this.getToken();
[26808] Fix | Delete
} else if (token === "/") {
[26809] Fix | Delete
this.prevChar();
[26810] Fix | Delete
}
[26811] Fix | Delete
charstrings.push({
[26812] Fix | Delete
glyph,
[26813] Fix | Delete
encoded
[26814] Fix | Delete
});
[26815] Fix | Delete
}
[26816] Fix | Delete
break;
[26817] Fix | Delete
case "Subrs":
[26818] Fix | Delete
this.readInt();
[26819] Fix | Delete
this.getToken();
[26820] Fix | Delete
while (this.getToken() === "dup") {
[26821] Fix | Delete
const index = this.readInt();
[26822] Fix | Delete
length = this.readInt();
[26823] Fix | Delete
this.getToken();
[26824] Fix | Delete
data = length > 0 ? stream.getBytes(length) : new Uint8Array(0);
[26825] Fix | Delete
lenIV = program.properties.privateData.lenIV;
[26826] Fix | Delete
const encoded = this.readCharStrings(data, lenIV);
[26827] Fix | Delete
this.nextChar();
[26828] Fix | Delete
token = this.getToken();
[26829] Fix | Delete
if (token === "noaccess") {
[26830] Fix | Delete
this.getToken();
[26831] Fix | Delete
}
[26832] Fix | Delete
subrs[index] = encoded;
[26833] Fix | Delete
}
[26834] Fix | Delete
break;
[26835] Fix | Delete
case "BlueValues":
[26836] Fix | Delete
case "OtherBlues":
[26837] Fix | Delete
case "FamilyBlues":
[26838] Fix | Delete
case "FamilyOtherBlues":
[26839] Fix | Delete
const blueArray = this.readNumberArray();
[26840] Fix | Delete
if (blueArray.length > 0 && blueArray.length % 2 === 0 && HINTING_ENABLED) {
[26841] Fix | Delete
program.properties.privateData[token] = blueArray;
[26842] Fix | Delete
}
[26843] Fix | Delete
break;
[26844] Fix | Delete
case "StemSnapH":
[26845] Fix | Delete
case "StemSnapV":
[26846] Fix | Delete
program.properties.privateData[token] = this.readNumberArray();
[26847] Fix | Delete
break;
[26848] Fix | Delete
case "StdHW":
[26849] Fix | Delete
case "StdVW":
[26850] Fix | Delete
program.properties.privateData[token] = this.readNumberArray()[0];
[26851] Fix | Delete
break;
[26852] Fix | Delete
case "BlueShift":
[26853] Fix | Delete
case "lenIV":
[26854] Fix | Delete
case "BlueFuzz":
[26855] Fix | Delete
case "BlueScale":
[26856] Fix | Delete
case "LanguageGroup":
[26857] Fix | Delete
program.properties.privateData[token] = this.readNumber();
[26858] Fix | Delete
break;
[26859] Fix | Delete
case "ExpansionFactor":
[26860] Fix | Delete
program.properties.privateData[token] = this.readNumber() || 0.06;
[26861] Fix | Delete
break;
[26862] Fix | Delete
case "ForceBold":
[26863] Fix | Delete
program.properties.privateData[token] = this.readBoolean();
[26864] Fix | Delete
break;
[26865] Fix | Delete
}
[26866] Fix | Delete
}
[26867] Fix | Delete
for (const {
[26868] Fix | Delete
encoded,
[26869] Fix | Delete
glyph
[26870] Fix | Delete
} of charstrings) {
[26871] Fix | Delete
const charString = new Type1CharString();
[26872] Fix | Delete
const error = charString.convert(encoded, subrs, this.seacAnalysisEnabled);
[26873] Fix | Delete
let output = charString.output;
[26874] Fix | Delete
if (error) {
[26875] Fix | Delete
output = [14];
[26876] Fix | Delete
}
[26877] Fix | Delete
const charStringObject = {
[26878] Fix | Delete
glyphName: glyph,
[26879] Fix | Delete
charstring: output,
[26880] Fix | Delete
width: charString.width,
[26881] Fix | Delete
lsb: charString.lsb,
[26882] Fix | Delete
seac: charString.seac
[26883] Fix | Delete
};
[26884] Fix | Delete
if (glyph === ".notdef") {
[26885] Fix | Delete
program.charstrings.unshift(charStringObject);
[26886] Fix | Delete
} else {
[26887] Fix | Delete
program.charstrings.push(charStringObject);
[26888] Fix | Delete
}
[26889] Fix | Delete
if (properties.builtInEncoding) {
[26890] Fix | Delete
const index = properties.builtInEncoding.indexOf(glyph);
[26891] Fix | Delete
if (index > -1 && properties.widths[index] === undefined && index >= properties.firstChar && index <= properties.lastChar) {
[26892] Fix | Delete
properties.widths[index] = charString.width;
[26893] Fix | Delete
}
[26894] Fix | Delete
}
[26895] Fix | Delete
}
[26896] Fix | Delete
return program;
[26897] Fix | Delete
}
[26898] Fix | Delete
extractFontHeader(properties) {
[26899] Fix | Delete
let token;
[26900] Fix | Delete
while ((token = this.getToken()) !== null) {
[26901] Fix | Delete
if (token !== "/") {
[26902] Fix | Delete
continue;
[26903] Fix | Delete
}
[26904] Fix | Delete
token = this.getToken();
[26905] Fix | Delete
switch (token) {
[26906] Fix | Delete
case "FontMatrix":
[26907] Fix | Delete
const matrix = this.readNumberArray();
[26908] Fix | Delete
properties.fontMatrix = matrix;
[26909] Fix | Delete
break;
[26910] Fix | Delete
case "Encoding":
[26911] Fix | Delete
const encodingArg = this.getToken();
[26912] Fix | Delete
let encoding;
[26913] Fix | Delete
if (!/^\d+$/.test(encodingArg)) {
[26914] Fix | Delete
encoding = getEncoding(encodingArg);
[26915] Fix | Delete
} else {
[26916] Fix | Delete
encoding = [];
[26917] Fix | Delete
const size = parseInt(encodingArg, 10) | 0;
[26918] Fix | Delete
this.getToken();
[26919] Fix | Delete
for (let j = 0; j < size; j++) {
[26920] Fix | Delete
token = this.getToken();
[26921] Fix | Delete
while (token !== "dup" && token !== "def") {
[26922] Fix | Delete
token = this.getToken();
[26923] Fix | Delete
if (token === null) {
[26924] Fix | Delete
return;
[26925] Fix | Delete
}
[26926] Fix | Delete
}
[26927] Fix | Delete
if (token === "def") {
[26928] Fix | Delete
break;
[26929] Fix | Delete
}
[26930] Fix | Delete
const index = this.readInt();
[26931] Fix | Delete
this.getToken();
[26932] Fix | Delete
const glyph = this.getToken();
[26933] Fix | Delete
encoding[index] = glyph;
[26934] Fix | Delete
this.getToken();
[26935] Fix | Delete
}
[26936] Fix | Delete
}
[26937] Fix | Delete
properties.builtInEncoding = encoding;
[26938] Fix | Delete
break;
[26939] Fix | Delete
case "FontBBox":
[26940] Fix | Delete
const fontBBox = this.readNumberArray();
[26941] Fix | Delete
properties.ascent = Math.max(fontBBox[3], fontBBox[1]);
[26942] Fix | Delete
properties.descent = Math.min(fontBBox[1], fontBBox[3]);
[26943] Fix | Delete
properties.ascentScaled = true;
[26944] Fix | Delete
break;
[26945] Fix | Delete
}
[26946] Fix | Delete
}
[26947] Fix | Delete
}
[26948] Fix | Delete
}
[26949] Fix | Delete
[26950] Fix | Delete
;// CONCATENATED MODULE: ./src/core/type1_font.js
[26951] Fix | Delete
[26952] Fix | Delete
[26953] Fix | Delete
[26954] Fix | Delete
[26955] Fix | Delete
[26956] Fix | Delete
[26957] Fix | Delete
[26958] Fix | Delete
function findBlock(streamBytes, signature, startIndex) {
[26959] Fix | Delete
const streamBytesLength = streamBytes.length;
[26960] Fix | Delete
const signatureLength = signature.length;
[26961] Fix | Delete
const scanLength = streamBytesLength - signatureLength;
[26962] Fix | Delete
let i = startIndex,
[26963] Fix | Delete
found = false;
[26964] Fix | Delete
while (i < scanLength) {
[26965] Fix | Delete
let j = 0;
[26966] Fix | Delete
while (j < signatureLength && streamBytes[i + j] === signature[j]) {
[26967] Fix | Delete
j++;
[26968] Fix | Delete
}
[26969] Fix | Delete
if (j >= signatureLength) {
[26970] Fix | Delete
i += j;
[26971] Fix | Delete
while (i < streamBytesLength && isWhiteSpace(streamBytes[i])) {
[26972] Fix | Delete
i++;
[26973] Fix | Delete
}
[26974] Fix | Delete
found = true;
[26975] Fix | Delete
break;
[26976] Fix | Delete
}
[26977] Fix | Delete
i++;
[26978] Fix | Delete
}
[26979] Fix | Delete
return {
[26980] Fix | Delete
found,
[26981] Fix | Delete
length: i
[26982] Fix | Delete
};
[26983] Fix | Delete
}
[26984] Fix | Delete
function getHeaderBlock(stream, suggestedLength) {
[26985] Fix | Delete
const EEXEC_SIGNATURE = [0x65, 0x65, 0x78, 0x65, 0x63];
[26986] Fix | Delete
const streamStartPos = stream.pos;
[26987] Fix | Delete
let headerBytes, headerBytesLength, block;
[26988] Fix | Delete
try {
[26989] Fix | Delete
headerBytes = stream.getBytes(suggestedLength);
[26990] Fix | Delete
headerBytesLength = headerBytes.length;
[26991] Fix | Delete
} catch {}
[26992] Fix | Delete
if (headerBytesLength === suggestedLength) {
[26993] Fix | Delete
block = findBlock(headerBytes, EEXEC_SIGNATURE, suggestedLength - 2 * EEXEC_SIGNATURE.length);
[26994] Fix | Delete
if (block.found && block.length === suggestedLength) {
[26995] Fix | Delete
return {
[26996] Fix | Delete
stream: new Stream(headerBytes),
[26997] Fix | Delete
length: suggestedLength
[26998] Fix | Delete
};
[26999] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function