Skip to content

Commit

Permalink
Add more info for showText operator in stepper.
Browse files Browse the repository at this point in the history
Adds a table that shows original char code, font char code, and unicode.
  • Loading branch information
brendandahl committed Jun 4, 2021
1 parent 9165dc0 commit 11c04db
Show file tree
Hide file tree
Showing 3 changed files with 42 additions and 13 deletions.
5 changes: 5 additions & 0 deletions src/core/fonts.js
Original file line number Diff line number Diff line change
Expand Up @@ -159,6 +159,7 @@ function adjustToUnicode(properties, builtInEncoding) {

class Glyph {
constructor(
originalCharCode,
fontChar,
unicode,
accent,
Expand All @@ -168,6 +169,7 @@ class Glyph {
isSpace,
isInFont
) {
this.originalCharCode = originalCharCode;
this.fontChar = fontChar;
this.unicode = unicode;
this.accent = accent;
Expand All @@ -179,6 +181,7 @@ class Glyph {
}

matchesForCache(
originalCharCode,
fontChar,
unicode,
accent,
Expand All @@ -189,6 +192,7 @@ class Glyph {
isInFont
) {
return (
this.originalCharCode === originalCharCode &&
this.fontChar === fontChar &&
this.unicode === unicode &&
this.accent === accent &&
Expand Down Expand Up @@ -2967,6 +2971,7 @@ class Font {
)
) {
glyph = new Glyph(
charcode,
fontChar,
unicode,
accent,
Expand Down
37 changes: 24 additions & 13 deletions web/debugger.js
Original file line number Diff line number Diff line change
Expand Up @@ -357,27 +357,38 @@ const Stepper = (function StepperClosure() {
let decArgs = args;
if (fn === "showText") {
const glyphs = args[0];
const newArgs = [];
let str = [];
const charCodeRow = c("tr");
const fontCharRow = c("tr");
const unicodeRow = c("tr");
for (let j = 0; j < glyphs.length; j++) {
const glyph = glyphs[j];
if (typeof glyph === "object" && glyph !== null) {
str.push(glyph.fontChar);
charCodeRow.appendChild(c("td", glyph.originalCharCode));
fontCharRow.appendChild(c("td", glyph.fontChar));
unicodeRow.appendChild(c("td", glyph.unicode));
} else {
if (str.length > 0) {
newArgs.push(str.join(""));
str = [];
}
newArgs.push(glyph); // null or number
// null or number
const advanceEl = c("td", glyph);
advanceEl.classList.add("advance");
charCodeRow.appendChild(advanceEl);
fontCharRow.appendChild(c("td"));
unicodeRow.appendChild(c("td"));
}
}
if (str.length > 0) {
newArgs.push(str.join(""));
}
decArgs = [newArgs];
decArgs = c("td");
const table = c("table");
table.classList.add("showText");
decArgs.appendChild(table);
table.appendChild(charCodeRow);
table.appendChild(fontCharRow);
table.appendChild(unicodeRow);
}
line.appendChild(c("td", fn));
line.appendChild(c("td", JSON.stringify(simplifyArgs(decArgs))));
if (decArgs instanceof HTMLElement) {
line.appendChild(decArgs);
} else {
line.appendChild(c("td", JSON.stringify(simplifyArgs(decArgs))));
}
}
if (operatorsToDisplay < operatorList.fnArray.length) {
const lastCell = c("td", "...");
Expand Down
13 changes: 13 additions & 0 deletions web/viewer.css
Original file line number Diff line number Diff line change
Expand Up @@ -1699,6 +1699,19 @@ html[dir="rtl"] #documentPropertiesOverlay .row > * {
#PDFBug table {
font-size: 10px;
}
#PDFBug table.showText {
border-collapse: collapse;
text-align: center;
}
#PDFBug table.showText,
#PDFBug table.showText tr,
#PDFBug table.showText td {
border: 1px solid black;
padding: 1px;
}
#PDFBug table.showText td.advance {
color: grey;
}

#viewer.textLayer-visible .textLayer {
opacity: 1;
Expand Down

0 comments on commit 11c04db

Please sign in to comment.