Parenthesis in names are not escaped when saving
This commit is contained in:
parent
d88d47d621
commit
18b525de2e
@ -205,7 +205,22 @@ function escapePDFName(str) {
|
|||||||
let start = 0;
|
let start = 0;
|
||||||
for (let i = 0, ii = str.length; i < ii; i++) {
|
for (let i = 0, ii = str.length; i < ii; i++) {
|
||||||
const char = str.charCodeAt(i);
|
const char = str.charCodeAt(i);
|
||||||
if (char < 0x21 || char > 0x7e || char === 0x23) {
|
// Whitespace or delimiters aren't regular chars, so escape them.
|
||||||
|
if (
|
||||||
|
char < 0x21 ||
|
||||||
|
char > 0x7e ||
|
||||||
|
char === 0x23 /* # */ ||
|
||||||
|
char === 0x28 /* ( */ ||
|
||||||
|
char === 0x29 /* ) */ ||
|
||||||
|
char === 0x3c /* < */ ||
|
||||||
|
char === 0x3e /* > */ ||
|
||||||
|
char === 0x5b /* [ */ ||
|
||||||
|
char === 0x5d /* ] */ ||
|
||||||
|
char === 0x7b /* { */ ||
|
||||||
|
char === 0x7d /* } */ ||
|
||||||
|
char === 0x2f /* / */ ||
|
||||||
|
char === 0x25 /* % */
|
||||||
|
) {
|
||||||
if (start < i) {
|
if (start < i) {
|
||||||
buffer.push(str.substring(start, i));
|
buffer.push(str.substring(start, i));
|
||||||
}
|
}
|
||||||
|
@ -237,6 +237,9 @@ describe("core_utils", function () {
|
|||||||
"#fehe#fell#ffo#ff"
|
"#fehe#fell#ffo#ff"
|
||||||
);
|
);
|
||||||
expect(escapePDFName("#h#e#l#l#o")).toEqual("#23h#23e#23l#23l#23o");
|
expect(escapePDFName("#h#e#l#l#o")).toEqual("#23h#23e#23l#23l#23o");
|
||||||
|
expect(escapePDFName("#()<>[]{}/%")).toEqual(
|
||||||
|
"#23#28#29#3c#3e#5b#5d#7b#7d#2f#25"
|
||||||
|
);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
Loading…
x
Reference in New Issue
Block a user