pdf.js/test/unit/default_appearance_spec.js
calixteman 1039698697
Add a parser to get font data from the default appearance (#12831)
* Add a parser to get font data from the default appearance
 - pdfium & poppler use a special parser too to get these info.

* Update src/core/default_appearance.js

Co-authored-by: Jonas Jenwald <jonas.jenwald@gmail.com>

Co-authored-by: Jonas Jenwald <jonas.jenwald@gmail.com>
2021-01-21 20:15:31 +01:00

56 lines
1.9 KiB
JavaScript

/* Copyright 2020 Mozilla Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import {
createDefaultAppearance,
parseDefaultAppearance,
} from "../../src/core/default_appearance.js";
import { Name } from "../../src/core/primitives.js";
describe("Default appearance", function () {
describe("parseDefaultAppearance and createDefaultAppearance", function () {
it("should parse and create default appearance", function () {
const da = "/FontName 12 Tf 0.10 0.20 0.30 rg";
const result = {
fontSize: 12,
fontName: Name.get("FontName"),
fontColor: new Uint8ClampedArray([26, 51, 76]),
};
expect(parseDefaultAppearance(da)).toEqual(result);
expect(createDefaultAppearance(result)).toEqual(da);
expect(
parseDefaultAppearance(
" 0.1 0.2 0.3 rg /FontName 12 Tf 0.3 0.2 0.1 rg /NameFont 13 Tf"
)
).toEqual({
fontSize: 13,
fontName: Name.get("NameFont"),
fontColor: new Uint8ClampedArray([76, 51, 26]),
});
});
it("should parse default appearance with save/restore", function () {
const da =
"0.10 0.20 0.30 rg /FontName 12 Tf q 0.30 0.20 0.10 rg /NameFont 13 Tf Q";
expect(parseDefaultAppearance(da)).toEqual({
fontSize: 12,
fontName: Name.get("FontName"),
fontColor: new Uint8ClampedArray([26, 51, 76]),
});
});
});
});