1
0
Fork 0
mirror of https://github.com/mozilla/pdf.js.git synced 2025-04-23 16:48:08 +02:00

[api-minor] Remove the CMapCompressionType enumeration

After the binary CMap format had been added there were also some ideas about *maybe* providing other formats, see [here](https://github.com/mozilla/pdf.js/pull/8064#issuecomment-279730182), however that was over seven years ago and we still only use binary CMaps.
Hence it now seems reasonable to simplify the relevant code by removing `CMapCompressionType` and instead just use a boolean to indicate the type of the built-in CMaps.
This commit is contained in:
Jonas Jenwald 2024-10-23 15:35:00 +02:00
parent 50c291eb33
commit b048420d21
7 changed files with 8 additions and 34 deletions

View file

@ -13,13 +13,8 @@
* limitations under the License.
*/
import {
CMapCompressionType,
FormatError,
unreachable,
warn,
} from "../shared/util.js";
import { Cmd, EOF, isCmd, Name } from "./primitives.js";
import { FormatError, unreachable, warn } from "../shared/util.js";
import { BaseStream } from "./base_stream.js";
import { BinaryCMapReader } from "./binary_cmap.js";
import { Lexer } from "./parser.js";
@ -687,19 +682,16 @@ async function createBuiltInCMap(name, fetchBuiltInCMap) {
throw new Error("Built-in CMap parameters are not provided.");
}
const { cMapData, compressionType } = await fetchBuiltInCMap(name);
const { cMapData, isCompressed } = await fetchBuiltInCMap(name);
const cMap = new CMap(true);
if (compressionType === CMapCompressionType.BINARY) {
if (isCompressed) {
return new BinaryCMapReader().process(cMapData, cMap, useCMap =>
extendCMap(cMap, fetchBuiltInCMap, useCMap)
);
}
if (compressionType === CMapCompressionType.NONE) {
const lexer = new Lexer(new Stream(cMapData));
return parseCMap(cMap, lexer, fetchBuiltInCMap, null);
}
throw new Error(`Invalid CMap "compressionType" value: ${compressionType}`);
const lexer = new Lexer(new Stream(cMapData));
return parseCMap(cMap, lexer, fetchBuiltInCMap, null);
}
class CMapFactory {

View file

@ -17,7 +17,6 @@
import {
AbortException,
assert,
CMapCompressionType,
FONT_IDENTITY_MATRIX,
FormatError,
IDENTITY_MATRIX,
@ -392,7 +391,7 @@ class PartialEvaluator {
}
data = {
cMapData: new Uint8Array(await response.arrayBuffer()),
compressionType: CMapCompressionType.BINARY,
isCompressed: true,
};
} else {
// Get the data on the main-thread instead.

View file

@ -13,7 +13,7 @@
* limitations under the License.
*/
import { CMapCompressionType, unreachable } from "../shared/util.js";
import { unreachable } from "../shared/util.js";
class BaseFilterFactory {
constructor() {
@ -129,12 +129,7 @@ class BaseCMapReaderFactory {
const url = this.baseUrl + name + (this.isCompressed ? ".bcmap" : "");
return this._fetch(url)
.then(cMapData => ({
cMapData,
compressionType: this.isCompressed
? CMapCompressionType.BINARY
: CMapCompressionType.NONE,
}))
.then(cMapData => ({ cMapData, isCompressed: this.isCompressed }))
.catch(reason => {
throw new Error(
`Unable to load ${this.isCompressed ? "binary " : ""}CMap at: ${url}`

View file

@ -27,7 +27,6 @@ import {
AnnotationEditorParamsType,
AnnotationEditorType,
AnnotationMode,
CMapCompressionType,
createValidAbsoluteUrl,
FeatureTest,
ImageKind,
@ -96,7 +95,6 @@ export {
AnnotationLayer,
AnnotationMode,
build,
CMapCompressionType,
ColorPicker,
createValidAbsoluteUrl,
DOMSVGFactory,

View file

@ -240,11 +240,6 @@ const VerbosityLevel = {
INFOS: 5,
};
const CMapCompressionType = {
NONE: 0,
BINARY: 1,
};
// All the possible operations for an operator list.
const OPS = {
// Intentionally start from 1 so it is easy to spot bad operators that will be
@ -1119,7 +1114,6 @@ export {
BaseException,
BASELINE_FACTOR,
bytesToString,
CMapCompressionType,
createValidAbsoluteUrl,
DocumentActionEventType,
FeatureTest,