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
}
[36000] Fix | Delete
}
[36001] Fix | Delete
operatorList.addOp(fn, args);
[36002] Fix | Delete
}
[36003] Fix | Delete
if (stop) {
[36004] Fix | Delete
next(deferred);
[36005] Fix | Delete
return;
[36006] Fix | Delete
}
[36007] Fix | Delete
closePendingRestoreOPS();
[36008] Fix | Delete
resolve();
[36009] Fix | Delete
}).catch(reason => {
[36010] Fix | Delete
if (reason instanceof AbortException) {
[36011] Fix | Delete
return;
[36012] Fix | Delete
}
[36013] Fix | Delete
if (this.options.ignoreErrors) {
[36014] Fix | Delete
warn(`getOperatorList - ignoring errors during "${task.name}" ` + `task: "${reason}".`);
[36015] Fix | Delete
closePendingRestoreOPS();
[36016] Fix | Delete
return;
[36017] Fix | Delete
}
[36018] Fix | Delete
throw reason;
[36019] Fix | Delete
});
[36020] Fix | Delete
}
[36021] Fix | Delete
getTextContent({
[36022] Fix | Delete
stream,
[36023] Fix | Delete
task,
[36024] Fix | Delete
resources,
[36025] Fix | Delete
stateManager = null,
[36026] Fix | Delete
includeMarkedContent = false,
[36027] Fix | Delete
sink,
[36028] Fix | Delete
seenStyles = new Set(),
[36029] Fix | Delete
viewBox,
[36030] Fix | Delete
lang = null,
[36031] Fix | Delete
markedContentData = null,
[36032] Fix | Delete
disableNormalization = false,
[36033] Fix | Delete
keepWhiteSpace = false
[36034] Fix | Delete
}) {
[36035] Fix | Delete
resources ||= Dict.empty;
[36036] Fix | Delete
stateManager ||= new StateManager(new TextState());
[36037] Fix | Delete
if (includeMarkedContent) {
[36038] Fix | Delete
markedContentData ||= {
[36039] Fix | Delete
level: 0
[36040] Fix | Delete
};
[36041] Fix | Delete
}
[36042] Fix | Delete
const textContent = {
[36043] Fix | Delete
items: [],
[36044] Fix | Delete
styles: Object.create(null),
[36045] Fix | Delete
lang
[36046] Fix | Delete
};
[36047] Fix | Delete
const textContentItem = {
[36048] Fix | Delete
initialized: false,
[36049] Fix | Delete
str: [],
[36050] Fix | Delete
totalWidth: 0,
[36051] Fix | Delete
totalHeight: 0,
[36052] Fix | Delete
width: 0,
[36053] Fix | Delete
height: 0,
[36054] Fix | Delete
vertical: false,
[36055] Fix | Delete
prevTransform: null,
[36056] Fix | Delete
textAdvanceScale: 0,
[36057] Fix | Delete
spaceInFlowMin: 0,
[36058] Fix | Delete
spaceInFlowMax: 0,
[36059] Fix | Delete
trackingSpaceMin: Infinity,
[36060] Fix | Delete
negativeSpaceMax: -Infinity,
[36061] Fix | Delete
notASpace: -Infinity,
[36062] Fix | Delete
transform: null,
[36063] Fix | Delete
fontName: null,
[36064] Fix | Delete
hasEOL: false
[36065] Fix | Delete
};
[36066] Fix | Delete
const twoLastChars = [" ", " "];
[36067] Fix | Delete
let twoLastCharsPos = 0;
[36068] Fix | Delete
function saveLastChar(char) {
[36069] Fix | Delete
const nextPos = (twoLastCharsPos + 1) % 2;
[36070] Fix | Delete
const ret = twoLastChars[twoLastCharsPos] !== " " && twoLastChars[nextPos] === " ";
[36071] Fix | Delete
twoLastChars[twoLastCharsPos] = char;
[36072] Fix | Delete
twoLastCharsPos = nextPos;
[36073] Fix | Delete
return !keepWhiteSpace && ret;
[36074] Fix | Delete
}
[36075] Fix | Delete
function shouldAddWhitepsace() {
[36076] Fix | Delete
return !keepWhiteSpace && twoLastChars[twoLastCharsPos] !== " " && twoLastChars[(twoLastCharsPos + 1) % 2] === " ";
[36077] Fix | Delete
}
[36078] Fix | Delete
function resetLastChars() {
[36079] Fix | Delete
twoLastChars[0] = twoLastChars[1] = " ";
[36080] Fix | Delete
twoLastCharsPos = 0;
[36081] Fix | Delete
}
[36082] Fix | Delete
const TRACKING_SPACE_FACTOR = 0.102;
[36083] Fix | Delete
const NOT_A_SPACE_FACTOR = 0.03;
[36084] Fix | Delete
const NEGATIVE_SPACE_FACTOR = -0.2;
[36085] Fix | Delete
const SPACE_IN_FLOW_MIN_FACTOR = 0.102;
[36086] Fix | Delete
const SPACE_IN_FLOW_MAX_FACTOR = 0.6;
[36087] Fix | Delete
const VERTICAL_SHIFT_RATIO = 0.25;
[36088] Fix | Delete
const self = this;
[36089] Fix | Delete
const xref = this.xref;
[36090] Fix | Delete
const showSpacedTextBuffer = [];
[36091] Fix | Delete
let xobjs = null;
[36092] Fix | Delete
const emptyXObjectCache = new LocalImageCache();
[36093] Fix | Delete
const emptyGStateCache = new LocalGStateCache();
[36094] Fix | Delete
const preprocessor = new EvaluatorPreprocessor(stream, xref, stateManager);
[36095] Fix | Delete
let textState;
[36096] Fix | Delete
function pushWhitespace({
[36097] Fix | Delete
width = 0,
[36098] Fix | Delete
height = 0,
[36099] Fix | Delete
transform = textContentItem.prevTransform,
[36100] Fix | Delete
fontName = textContentItem.fontName
[36101] Fix | Delete
}) {
[36102] Fix | Delete
textContent.items.push({
[36103] Fix | Delete
str: " ",
[36104] Fix | Delete
dir: "ltr",
[36105] Fix | Delete
width,
[36106] Fix | Delete
height,
[36107] Fix | Delete
transform,
[36108] Fix | Delete
fontName,
[36109] Fix | Delete
hasEOL: false
[36110] Fix | Delete
});
[36111] Fix | Delete
}
[36112] Fix | Delete
function getCurrentTextTransform() {
[36113] Fix | Delete
const font = textState.font;
[36114] Fix | Delete
const tsm = [textState.fontSize * textState.textHScale, 0, 0, textState.fontSize, 0, textState.textRise];
[36115] Fix | Delete
if (font.isType3Font && (textState.fontSize <= 1 || font.isCharBBox) && !isArrayEqual(textState.fontMatrix, FONT_IDENTITY_MATRIX)) {
[36116] Fix | Delete
const glyphHeight = font.bbox[3] - font.bbox[1];
[36117] Fix | Delete
if (glyphHeight > 0) {
[36118] Fix | Delete
tsm[3] *= glyphHeight * textState.fontMatrix[3];
[36119] Fix | Delete
}
[36120] Fix | Delete
}
[36121] Fix | Delete
return Util.transform(textState.ctm, Util.transform(textState.textMatrix, tsm));
[36122] Fix | Delete
}
[36123] Fix | Delete
function ensureTextContentItem() {
[36124] Fix | Delete
if (textContentItem.initialized) {
[36125] Fix | Delete
return textContentItem;
[36126] Fix | Delete
}
[36127] Fix | Delete
const {
[36128] Fix | Delete
font,
[36129] Fix | Delete
loadedName
[36130] Fix | Delete
} = textState;
[36131] Fix | Delete
if (!seenStyles.has(loadedName)) {
[36132] Fix | Delete
seenStyles.add(loadedName);
[36133] Fix | Delete
textContent.styles[loadedName] = {
[36134] Fix | Delete
fontFamily: font.fallbackName,
[36135] Fix | Delete
ascent: font.ascent,
[36136] Fix | Delete
descent: font.descent,
[36137] Fix | Delete
vertical: font.vertical
[36138] Fix | Delete
};
[36139] Fix | Delete
if (self.options.fontExtraProperties && font.systemFontInfo) {
[36140] Fix | Delete
const style = textContent.styles[loadedName];
[36141] Fix | Delete
style.fontSubstitution = font.systemFontInfo.css;
[36142] Fix | Delete
style.fontSubstitutionLoadedName = font.systemFontInfo.loadedName;
[36143] Fix | Delete
}
[36144] Fix | Delete
}
[36145] Fix | Delete
textContentItem.fontName = loadedName;
[36146] Fix | Delete
const trm = textContentItem.transform = getCurrentTextTransform();
[36147] Fix | Delete
if (!font.vertical) {
[36148] Fix | Delete
textContentItem.width = textContentItem.totalWidth = 0;
[36149] Fix | Delete
textContentItem.height = textContentItem.totalHeight = Math.hypot(trm[2], trm[3]);
[36150] Fix | Delete
textContentItem.vertical = false;
[36151] Fix | Delete
} else {
[36152] Fix | Delete
textContentItem.width = textContentItem.totalWidth = Math.hypot(trm[0], trm[1]);
[36153] Fix | Delete
textContentItem.height = textContentItem.totalHeight = 0;
[36154] Fix | Delete
textContentItem.vertical = true;
[36155] Fix | Delete
}
[36156] Fix | Delete
const scaleLineX = Math.hypot(textState.textLineMatrix[0], textState.textLineMatrix[1]);
[36157] Fix | Delete
const scaleCtmX = Math.hypot(textState.ctm[0], textState.ctm[1]);
[36158] Fix | Delete
textContentItem.textAdvanceScale = scaleCtmX * scaleLineX;
[36159] Fix | Delete
const {
[36160] Fix | Delete
fontSize
[36161] Fix | Delete
} = textState;
[36162] Fix | Delete
textContentItem.trackingSpaceMin = fontSize * TRACKING_SPACE_FACTOR;
[36163] Fix | Delete
textContentItem.notASpace = fontSize * NOT_A_SPACE_FACTOR;
[36164] Fix | Delete
textContentItem.negativeSpaceMax = fontSize * NEGATIVE_SPACE_FACTOR;
[36165] Fix | Delete
textContentItem.spaceInFlowMin = fontSize * SPACE_IN_FLOW_MIN_FACTOR;
[36166] Fix | Delete
textContentItem.spaceInFlowMax = fontSize * SPACE_IN_FLOW_MAX_FACTOR;
[36167] Fix | Delete
textContentItem.hasEOL = false;
[36168] Fix | Delete
textContentItem.initialized = true;
[36169] Fix | Delete
return textContentItem;
[36170] Fix | Delete
}
[36171] Fix | Delete
function updateAdvanceScale() {
[36172] Fix | Delete
if (!textContentItem.initialized) {
[36173] Fix | Delete
return;
[36174] Fix | Delete
}
[36175] Fix | Delete
const scaleLineX = Math.hypot(textState.textLineMatrix[0], textState.textLineMatrix[1]);
[36176] Fix | Delete
const scaleCtmX = Math.hypot(textState.ctm[0], textState.ctm[1]);
[36177] Fix | Delete
const scaleFactor = scaleCtmX * scaleLineX;
[36178] Fix | Delete
if (scaleFactor === textContentItem.textAdvanceScale) {
[36179] Fix | Delete
return;
[36180] Fix | Delete
}
[36181] Fix | Delete
if (!textContentItem.vertical) {
[36182] Fix | Delete
textContentItem.totalWidth += textContentItem.width * textContentItem.textAdvanceScale;
[36183] Fix | Delete
textContentItem.width = 0;
[36184] Fix | Delete
} else {
[36185] Fix | Delete
textContentItem.totalHeight += textContentItem.height * textContentItem.textAdvanceScale;
[36186] Fix | Delete
textContentItem.height = 0;
[36187] Fix | Delete
}
[36188] Fix | Delete
textContentItem.textAdvanceScale = scaleFactor;
[36189] Fix | Delete
}
[36190] Fix | Delete
function runBidiTransform(textChunk) {
[36191] Fix | Delete
let text = textChunk.str.join("");
[36192] Fix | Delete
if (!disableNormalization) {
[36193] Fix | Delete
text = normalizeUnicode(text);
[36194] Fix | Delete
}
[36195] Fix | Delete
const bidiResult = bidi(text, -1, textChunk.vertical);
[36196] Fix | Delete
return {
[36197] Fix | Delete
str: bidiResult.str,
[36198] Fix | Delete
dir: bidiResult.dir,
[36199] Fix | Delete
width: Math.abs(textChunk.totalWidth),
[36200] Fix | Delete
height: Math.abs(textChunk.totalHeight),
[36201] Fix | Delete
transform: textChunk.transform,
[36202] Fix | Delete
fontName: textChunk.fontName,
[36203] Fix | Delete
hasEOL: textChunk.hasEOL
[36204] Fix | Delete
};
[36205] Fix | Delete
}
[36206] Fix | Delete
async function handleSetFont(fontName, fontRef) {
[36207] Fix | Delete
const translated = await self.loadFont(fontName, fontRef, resources);
[36208] Fix | Delete
if (translated.font.isType3Font) {
[36209] Fix | Delete
try {
[36210] Fix | Delete
await translated.loadType3Data(self, resources, task);
[36211] Fix | Delete
} catch {}
[36212] Fix | Delete
}
[36213] Fix | Delete
textState.loadedName = translated.loadedName;
[36214] Fix | Delete
textState.font = translated.font;
[36215] Fix | Delete
textState.fontMatrix = translated.font.fontMatrix || FONT_IDENTITY_MATRIX;
[36216] Fix | Delete
}
[36217] Fix | Delete
function applyInverseRotation(x, y, matrix) {
[36218] Fix | Delete
const scale = Math.hypot(matrix[0], matrix[1]);
[36219] Fix | Delete
return [(matrix[0] * x + matrix[1] * y) / scale, (matrix[2] * x + matrix[3] * y) / scale];
[36220] Fix | Delete
}
[36221] Fix | Delete
function compareWithLastPosition(glyphWidth) {
[36222] Fix | Delete
const currentTransform = getCurrentTextTransform();
[36223] Fix | Delete
let posX = currentTransform[4];
[36224] Fix | Delete
let posY = currentTransform[5];
[36225] Fix | Delete
if (textState.font?.vertical) {
[36226] Fix | Delete
if (posX < viewBox[0] || posX > viewBox[2] || posY + glyphWidth < viewBox[1] || posY > viewBox[3]) {
[36227] Fix | Delete
return false;
[36228] Fix | Delete
}
[36229] Fix | Delete
} else if (posX + glyphWidth < viewBox[0] || posX > viewBox[2] || posY < viewBox[1] || posY > viewBox[3]) {
[36230] Fix | Delete
return false;
[36231] Fix | Delete
}
[36232] Fix | Delete
if (!textState.font || !textContentItem.prevTransform) {
[36233] Fix | Delete
return true;
[36234] Fix | Delete
}
[36235] Fix | Delete
let lastPosX = textContentItem.prevTransform[4];
[36236] Fix | Delete
let lastPosY = textContentItem.prevTransform[5];
[36237] Fix | Delete
if (lastPosX === posX && lastPosY === posY) {
[36238] Fix | Delete
return true;
[36239] Fix | Delete
}
[36240] Fix | Delete
let rotate = -1;
[36241] Fix | Delete
if (currentTransform[0] && currentTransform[1] === 0 && currentTransform[2] === 0) {
[36242] Fix | Delete
rotate = currentTransform[0] > 0 ? 0 : 180;
[36243] Fix | Delete
} else if (currentTransform[1] && currentTransform[0] === 0 && currentTransform[3] === 0) {
[36244] Fix | Delete
rotate = currentTransform[1] > 0 ? 90 : 270;
[36245] Fix | Delete
}
[36246] Fix | Delete
switch (rotate) {
[36247] Fix | Delete
case 0:
[36248] Fix | Delete
break;
[36249] Fix | Delete
case 90:
[36250] Fix | Delete
[posX, posY] = [posY, posX];
[36251] Fix | Delete
[lastPosX, lastPosY] = [lastPosY, lastPosX];
[36252] Fix | Delete
break;
[36253] Fix | Delete
case 180:
[36254] Fix | Delete
[posX, posY, lastPosX, lastPosY] = [-posX, -posY, -lastPosX, -lastPosY];
[36255] Fix | Delete
break;
[36256] Fix | Delete
case 270:
[36257] Fix | Delete
[posX, posY] = [-posY, -posX];
[36258] Fix | Delete
[lastPosX, lastPosY] = [-lastPosY, -lastPosX];
[36259] Fix | Delete
break;
[36260] Fix | Delete
default:
[36261] Fix | Delete
[posX, posY] = applyInverseRotation(posX, posY, currentTransform);
[36262] Fix | Delete
[lastPosX, lastPosY] = applyInverseRotation(lastPosX, lastPosY, textContentItem.prevTransform);
[36263] Fix | Delete
}
[36264] Fix | Delete
if (textState.font.vertical) {
[36265] Fix | Delete
const advanceY = (lastPosY - posY) / textContentItem.textAdvanceScale;
[36266] Fix | Delete
const advanceX = posX - lastPosX;
[36267] Fix | Delete
const textOrientation = Math.sign(textContentItem.height);
[36268] Fix | Delete
if (advanceY < textOrientation * textContentItem.negativeSpaceMax) {
[36269] Fix | Delete
if (Math.abs(advanceX) > 0.5 * textContentItem.width) {
[36270] Fix | Delete
appendEOL();
[36271] Fix | Delete
return true;
[36272] Fix | Delete
}
[36273] Fix | Delete
resetLastChars();
[36274] Fix | Delete
flushTextContentItem();
[36275] Fix | Delete
return true;
[36276] Fix | Delete
}
[36277] Fix | Delete
if (Math.abs(advanceX) > textContentItem.width) {
[36278] Fix | Delete
appendEOL();
[36279] Fix | Delete
return true;
[36280] Fix | Delete
}
[36281] Fix | Delete
if (advanceY <= textOrientation * textContentItem.notASpace) {
[36282] Fix | Delete
resetLastChars();
[36283] Fix | Delete
}
[36284] Fix | Delete
if (advanceY <= textOrientation * textContentItem.trackingSpaceMin) {
[36285] Fix | Delete
if (shouldAddWhitepsace()) {
[36286] Fix | Delete
resetLastChars();
[36287] Fix | Delete
flushTextContentItem();
[36288] Fix | Delete
pushWhitespace({
[36289] Fix | Delete
height: Math.abs(advanceY)
[36290] Fix | Delete
});
[36291] Fix | Delete
} else {
[36292] Fix | Delete
textContentItem.height += advanceY;
[36293] Fix | Delete
}
[36294] Fix | Delete
} else if (!addFakeSpaces(advanceY, textContentItem.prevTransform, textOrientation)) {
[36295] Fix | Delete
if (textContentItem.str.length === 0) {
[36296] Fix | Delete
resetLastChars();
[36297] Fix | Delete
pushWhitespace({
[36298] Fix | Delete
height: Math.abs(advanceY)
[36299] Fix | Delete
});
[36300] Fix | Delete
} else {
[36301] Fix | Delete
textContentItem.height += advanceY;
[36302] Fix | Delete
}
[36303] Fix | Delete
}
[36304] Fix | Delete
if (Math.abs(advanceX) > textContentItem.width * VERTICAL_SHIFT_RATIO) {
[36305] Fix | Delete
flushTextContentItem();
[36306] Fix | Delete
}
[36307] Fix | Delete
return true;
[36308] Fix | Delete
}
[36309] Fix | Delete
const advanceX = (posX - lastPosX) / textContentItem.textAdvanceScale;
[36310] Fix | Delete
const advanceY = posY - lastPosY;
[36311] Fix | Delete
const textOrientation = Math.sign(textContentItem.width);
[36312] Fix | Delete
if (advanceX < textOrientation * textContentItem.negativeSpaceMax) {
[36313] Fix | Delete
if (Math.abs(advanceY) > 0.5 * textContentItem.height) {
[36314] Fix | Delete
appendEOL();
[36315] Fix | Delete
return true;
[36316] Fix | Delete
}
[36317] Fix | Delete
resetLastChars();
[36318] Fix | Delete
flushTextContentItem();
[36319] Fix | Delete
return true;
[36320] Fix | Delete
}
[36321] Fix | Delete
if (Math.abs(advanceY) > textContentItem.height) {
[36322] Fix | Delete
appendEOL();
[36323] Fix | Delete
return true;
[36324] Fix | Delete
}
[36325] Fix | Delete
if (advanceX <= textOrientation * textContentItem.notASpace) {
[36326] Fix | Delete
resetLastChars();
[36327] Fix | Delete
}
[36328] Fix | Delete
if (advanceX <= textOrientation * textContentItem.trackingSpaceMin) {
[36329] Fix | Delete
if (shouldAddWhitepsace()) {
[36330] Fix | Delete
resetLastChars();
[36331] Fix | Delete
flushTextContentItem();
[36332] Fix | Delete
pushWhitespace({
[36333] Fix | Delete
width: Math.abs(advanceX)
[36334] Fix | Delete
});
[36335] Fix | Delete
} else {
[36336] Fix | Delete
textContentItem.width += advanceX;
[36337] Fix | Delete
}
[36338] Fix | Delete
} else if (!addFakeSpaces(advanceX, textContentItem.prevTransform, textOrientation)) {
[36339] Fix | Delete
if (textContentItem.str.length === 0) {
[36340] Fix | Delete
resetLastChars();
[36341] Fix | Delete
pushWhitespace({
[36342] Fix | Delete
width: Math.abs(advanceX)
[36343] Fix | Delete
});
[36344] Fix | Delete
} else {
[36345] Fix | Delete
textContentItem.width += advanceX;
[36346] Fix | Delete
}
[36347] Fix | Delete
}
[36348] Fix | Delete
if (Math.abs(advanceY) > textContentItem.height * VERTICAL_SHIFT_RATIO) {
[36349] Fix | Delete
flushTextContentItem();
[36350] Fix | Delete
}
[36351] Fix | Delete
return true;
[36352] Fix | Delete
}
[36353] Fix | Delete
function buildTextContentItem({
[36354] Fix | Delete
chars,
[36355] Fix | Delete
extraSpacing
[36356] Fix | Delete
}) {
[36357] Fix | Delete
const font = textState.font;
[36358] Fix | Delete
if (!chars) {
[36359] Fix | Delete
const charSpacing = textState.charSpacing + extraSpacing;
[36360] Fix | Delete
if (charSpacing) {
[36361] Fix | Delete
if (!font.vertical) {
[36362] Fix | Delete
textState.translateTextMatrix(charSpacing * textState.textHScale, 0);
[36363] Fix | Delete
} else {
[36364] Fix | Delete
textState.translateTextMatrix(0, -charSpacing);
[36365] Fix | Delete
}
[36366] Fix | Delete
}
[36367] Fix | Delete
if (keepWhiteSpace) {
[36368] Fix | Delete
compareWithLastPosition(0);
[36369] Fix | Delete
}
[36370] Fix | Delete
return;
[36371] Fix | Delete
}
[36372] Fix | Delete
const glyphs = font.charsToGlyphs(chars);
[36373] Fix | Delete
const scale = textState.fontMatrix[0] * textState.fontSize;
[36374] Fix | Delete
for (let i = 0, ii = glyphs.length; i < ii; i++) {
[36375] Fix | Delete
const glyph = glyphs[i];
[36376] Fix | Delete
const {
[36377] Fix | Delete
category
[36378] Fix | Delete
} = glyph;
[36379] Fix | Delete
if (category.isInvisibleFormatMark) {
[36380] Fix | Delete
continue;
[36381] Fix | Delete
}
[36382] Fix | Delete
let charSpacing = textState.charSpacing + (i + 1 === ii ? extraSpacing : 0);
[36383] Fix | Delete
let glyphWidth = glyph.width;
[36384] Fix | Delete
if (font.vertical) {
[36385] Fix | Delete
glyphWidth = glyph.vmetric ? glyph.vmetric[0] : -glyphWidth;
[36386] Fix | Delete
}
[36387] Fix | Delete
let scaledDim = glyphWidth * scale;
[36388] Fix | Delete
if (!keepWhiteSpace && category.isWhitespace) {
[36389] Fix | Delete
if (!font.vertical) {
[36390] Fix | Delete
charSpacing += scaledDim + textState.wordSpacing;
[36391] Fix | Delete
textState.translateTextMatrix(charSpacing * textState.textHScale, 0);
[36392] Fix | Delete
} else {
[36393] Fix | Delete
charSpacing += -scaledDim + textState.wordSpacing;
[36394] Fix | Delete
textState.translateTextMatrix(0, -charSpacing);
[36395] Fix | Delete
}
[36396] Fix | Delete
saveLastChar(" ");
[36397] Fix | Delete
continue;
[36398] Fix | Delete
}
[36399] Fix | Delete
if (!category.isZeroWidthDiacritic && !compareWithLastPosition(scaledDim)) {
[36400] Fix | Delete
if (!font.vertical) {
[36401] Fix | Delete
textState.translateTextMatrix(scaledDim * textState.textHScale, 0);
[36402] Fix | Delete
} else {
[36403] Fix | Delete
textState.translateTextMatrix(0, scaledDim);
[36404] Fix | Delete
}
[36405] Fix | Delete
continue;
[36406] Fix | Delete
}
[36407] Fix | Delete
const textChunk = ensureTextContentItem();
[36408] Fix | Delete
if (category.isZeroWidthDiacritic) {
[36409] Fix | Delete
scaledDim = 0;
[36410] Fix | Delete
}
[36411] Fix | Delete
if (!font.vertical) {
[36412] Fix | Delete
scaledDim *= textState.textHScale;
[36413] Fix | Delete
textState.translateTextMatrix(scaledDim, 0);
[36414] Fix | Delete
textChunk.width += scaledDim;
[36415] Fix | Delete
} else {
[36416] Fix | Delete
textState.translateTextMatrix(0, scaledDim);
[36417] Fix | Delete
scaledDim = Math.abs(scaledDim);
[36418] Fix | Delete
textChunk.height += scaledDim;
[36419] Fix | Delete
}
[36420] Fix | Delete
if (scaledDim) {
[36421] Fix | Delete
textChunk.prevTransform = getCurrentTextTransform();
[36422] Fix | Delete
}
[36423] Fix | Delete
const glyphUnicode = glyph.unicode;
[36424] Fix | Delete
if (saveLastChar(glyphUnicode)) {
[36425] Fix | Delete
textChunk.str.push(" ");
[36426] Fix | Delete
}
[36427] Fix | Delete
textChunk.str.push(glyphUnicode);
[36428] Fix | Delete
if (charSpacing) {
[36429] Fix | Delete
if (!font.vertical) {
[36430] Fix | Delete
textState.translateTextMatrix(charSpacing * textState.textHScale, 0);
[36431] Fix | Delete
} else {
[36432] Fix | Delete
textState.translateTextMatrix(0, -charSpacing);
[36433] Fix | Delete
}
[36434] Fix | Delete
}
[36435] Fix | Delete
}
[36436] Fix | Delete
}
[36437] Fix | Delete
function appendEOL() {
[36438] Fix | Delete
resetLastChars();
[36439] Fix | Delete
if (textContentItem.initialized) {
[36440] Fix | Delete
textContentItem.hasEOL = true;
[36441] Fix | Delete
flushTextContentItem();
[36442] Fix | Delete
} else {
[36443] Fix | Delete
textContent.items.push({
[36444] Fix | Delete
str: "",
[36445] Fix | Delete
dir: "ltr",
[36446] Fix | Delete
width: 0,
[36447] Fix | Delete
height: 0,
[36448] Fix | Delete
transform: getCurrentTextTransform(),
[36449] Fix | Delete
fontName: textState.loadedName,
[36450] Fix | Delete
hasEOL: true
[36451] Fix | Delete
});
[36452] Fix | Delete
}
[36453] Fix | Delete
}
[36454] Fix | Delete
function addFakeSpaces(width, transf, textOrientation) {
[36455] Fix | Delete
if (textOrientation * textContentItem.spaceInFlowMin <= width && width <= textOrientation * textContentItem.spaceInFlowMax) {
[36456] Fix | Delete
if (textContentItem.initialized) {
[36457] Fix | Delete
resetLastChars();
[36458] Fix | Delete
textContentItem.str.push(" ");
[36459] Fix | Delete
}
[36460] Fix | Delete
return false;
[36461] Fix | Delete
}
[36462] Fix | Delete
const fontName = textContentItem.fontName;
[36463] Fix | Delete
let height = 0;
[36464] Fix | Delete
if (textContentItem.vertical) {
[36465] Fix | Delete
height = width;
[36466] Fix | Delete
width = 0;
[36467] Fix | Delete
}
[36468] Fix | Delete
flushTextContentItem();
[36469] Fix | Delete
resetLastChars();
[36470] Fix | Delete
pushWhitespace({
[36471] Fix | Delete
width: Math.abs(width),
[36472] Fix | Delete
height: Math.abs(height),
[36473] Fix | Delete
transform: transf || getCurrentTextTransform(),
[36474] Fix | Delete
fontName
[36475] Fix | Delete
});
[36476] Fix | Delete
return true;
[36477] Fix | Delete
}
[36478] Fix | Delete
function flushTextContentItem() {
[36479] Fix | Delete
if (!textContentItem.initialized || !textContentItem.str) {
[36480] Fix | Delete
return;
[36481] Fix | Delete
}
[36482] Fix | Delete
if (!textContentItem.vertical) {
[36483] Fix | Delete
textContentItem.totalWidth += textContentItem.width * textContentItem.textAdvanceScale;
[36484] Fix | Delete
} else {
[36485] Fix | Delete
textContentItem.totalHeight += textContentItem.height * textContentItem.textAdvanceScale;
[36486] Fix | Delete
}
[36487] Fix | Delete
textContent.items.push(runBidiTransform(textContentItem));
[36488] Fix | Delete
textContentItem.initialized = false;
[36489] Fix | Delete
textContentItem.str.length = 0;
[36490] Fix | Delete
}
[36491] Fix | Delete
function enqueueChunk(batch = false) {
[36492] Fix | Delete
const length = textContent.items.length;
[36493] Fix | Delete
if (length === 0) {
[36494] Fix | Delete
return;
[36495] Fix | Delete
}
[36496] Fix | Delete
if (batch && length < TEXT_CHUNK_BATCH_SIZE) {
[36497] Fix | Delete
return;
[36498] Fix | Delete
}
[36499] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function