Browse Source

fix jslint warnings

jslint revealed unused and misspelled variable names. Also some code was
refactored to be more simple.
Kalervo Kujala 14 years ago
parent
commit
07662cf035
  1. 120
      pdf.js

120
pdf.js

@ -710,9 +710,9 @@ var PredictorStream = (function() {
var bits = this.bits = params.get('BitsPerComponent') || 8; var bits = this.bits = params.get('BitsPerComponent') || 8;
var columns = this.columns = params.get('Columns') || 1; var columns = this.columns = params.get('Columns') || 1;
var pixBytes = this.pixBytes = (colors * bits + 7) >> 3; this.pixBytes = (colors * bits + 7) >> 3;
// add an extra pixByte to represent the pixel left of column 0 // add an extra pixByte to represent the pixel left of column 0
var rowBytes = this.rowBytes = (columns * colors * bits + 7) >> 3; this.rowBytes = (columns * colors * bits + 7) >> 3;
DecodeStream.call(this); DecodeStream.call(this);
return this; return this;
@ -722,7 +722,6 @@ var PredictorStream = (function() {
constructor.prototype.readBlockTiff = function() { constructor.prototype.readBlockTiff = function() {
var rowBytes = this.rowBytes; var rowBytes = this.rowBytes;
var pixBytes = this.pixBytes;
var bufferLength = this.bufferLength; var bufferLength = this.bufferLength;
var buffer = this.ensureBuffer(bufferLength + rowBytes); var buffer = this.ensureBuffer(bufferLength + rowBytes);
@ -733,16 +732,18 @@ var PredictorStream = (function() {
var rawBytes = this.stream.getBytes(rowBytes); var rawBytes = this.stream.getBytes(rowBytes);
var inbuf = 0, outbuf = 0;
var inbits = 0, outbits = 0;
if (bits === 1) { if (bits === 1) {
var inbuf = 0;
for (var i = 0; i < rowBytes; ++i) { for (var i = 0; i < rowBytes; ++i) {
var c = rawBytes[i]; var c = rawBytes[i];
inBuf = (inBuf << 8) | c; inbuf = (inbuf << 8) | c;
// bitwise addition is exclusive or // bitwise addition is exclusive or
// first shift inBuf and then add // first shift inbuf and then add
currentRow[i] = (c ^ (inBuf >> colors)) & 0xFF; currentRow[i] = (c ^ (inbuf >> colors)) & 0xFF;
// truncate inBuf (assumes colors < 16) // truncate inbuf (assumes colors < 16)
inBuf &= 0xFFFF; inbuf &= 0xFFFF;
} }
} else if (bits === 8) { } else if (bits === 8) {
for (var i = 0; i < colors; ++i) for (var i = 0; i < colors; ++i)
@ -752,8 +753,6 @@ var PredictorStream = (function() {
} else { } else {
var compArray = new Uint8Array(colors + 1); var compArray = new Uint8Array(colors + 1);
var bitMask = (1 << bits) - 1; var bitMask = (1 << bits) - 1;
var inbuf = 0, outbut = 0;
var inbits = 0, outbits = 0;
var j = 0, k = 0; var j = 0, k = 0;
var columns = this.columns; var columns = this.columns;
for (var i = 0; i < columns; ++i) { for (var i = 0; i < columns; ++i) {
@ -1015,11 +1014,11 @@ var Ascii85Stream = (function() {
return; return;
} }
var bufferLength = this.bufferLength; var bufferLength = this.bufferLength, buffer;
// special code for z // special code for z
if (c == zCode) { if (c == zCode) {
var buffer = this.ensureBuffer(bufferLength + 4); buffer = this.ensureBuffer(bufferLength + 4);
for (var i = 0; i < 4; ++i) for (var i = 0; i < 4; ++i)
buffer[bufferLength + i] = 0; buffer[bufferLength + i] = 0;
this.bufferLength += 4; this.bufferLength += 4;
@ -1036,7 +1035,7 @@ var Ascii85Stream = (function() {
if (!c || c == tildaCode) if (!c || c == tildaCode)
break; break;
} }
var buffer = this.ensureBuffer(bufferLength + i - 1); buffer = this.ensureBuffer(bufferLength + i - 1);
this.bufferLength += i - 1; this.bufferLength += i - 1;
// partial ending; // partial ending;
@ -1874,7 +1873,7 @@ var CCITTFaxStream = (function() {
for (var i = 0; i < 4; ++i) { for (var i = 0; i < 4; ++i) {
code1 = this.lookBits(12); code1 = this.lookBits(12);
if (code1 != 1) if (code1 != 1)
warning('bad rtc code'); warn('bad rtc code: ' + code1);
this.eatBits(12); this.eatBits(12);
if (this.encoding > 0) { if (this.encoding > 0) {
this.lookBits(1); this.lookBits(1);
@ -2013,7 +2012,7 @@ var CCITTFaxStream = (function() {
} }
} }
for (var n = 11; n <= 12; ++n) { for (var n = 11; n <= 12; ++n) {
code == this.lookBits(n); code = this.lookBits(n);
if (code == EOF) if (code == EOF)
return 1; return 1;
if (n < 12) if (n < 12)
@ -2437,11 +2436,6 @@ var Lexer = (function() {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 // fx 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 // fx
]; ];
var MIN_INT = (1 << 31) | 0;
var MAX_INT = (MIN_INT - 1) | 0;
var MIN_UINT = 0;
var MAX_UINT = ((1 << 30) * 4) - 1;
function ToHexDigit(ch) { function ToHexDigit(ch) {
if (ch >= '0' && ch <= '9') if (ch >= '0' && ch <= '9')
return ch.charCodeAt(0) - 48; return ch.charCodeAt(0) - 48;
@ -3107,7 +3101,6 @@ var XRef = (function() {
}, },
readXRefStream: function readXRefStream(stream) { readXRefStream: function readXRefStream(stream) {
var streamParameters = stream.parameters; var streamParameters = stream.parameters;
var length = streamParameters.get('Length');
var byteWidths = streamParameters.get('W'); var byteWidths = streamParameters.get('W');
var range = streamParameters.get('Index'); var range = streamParameters.get('Index');
if (!range) if (!range)
@ -3356,7 +3349,7 @@ var Page = (function() {
} }
return shadow(this, 'rotate', rotate); return shadow(this, 'rotate', rotate);
}, },
startRendering: function(canvasCtx, continuation, onerror) { startRendering: function(canvasCtx, continuation) {
var self = this; var self = this;
var stats = self.stats; var stats = self.stats;
stats.compile = stats.fonts = stats.render = 0; stats.compile = stats.fonts = stats.render = 0;
@ -3754,8 +3747,6 @@ var PDFDoc = (function() {
return shadow(this, 'numPages', num); return shadow(this, 'numPages', num);
}, },
getPage: function(n) { getPage: function(n) {
var linearization = this.linearization;
// assert(!linearization, "linearized page access not implemented");
return this.catalog.getPage(n); return this.catalog.getPage(n);
} }
}; };
@ -4141,7 +4132,7 @@ var PartialEvaluator = (function() {
}; };
constructor.prototype = { constructor.prototype = {
eval: function(stream, xref, resources, fonts, images) { evaluate: function(stream, xref, resources, fonts, images) {
resources = xref.fetchIfRef(resources) || new Dict(); resources = xref.fetchIfRef(resources) || new Dict();
var xobjs = xref.fetchIfRef(resources.get('XObject')) || new Dict(); var xobjs = xref.fetchIfRef(resources.get('XObject')) || new Dict();
var patterns = xref.fetchIfRef(resources.get('Pattern')) || new Dict(); var patterns = xref.fetchIfRef(resources.get('Pattern')) || new Dict();
@ -4165,8 +4156,9 @@ var PartialEvaluator = (function() {
var dict = IsStream(pattern) ? pattern.dict : pattern; var dict = IsStream(pattern) ? pattern.dict : pattern;
var typeNum = dict.get('PatternType'); var typeNum = dict.get('PatternType');
if (typeNum == 1) { if (typeNum == 1) {
patternName.code = this.eval(pattern, xref, patternName.code = this.evaluate(pattern, xref,
dict.get('Resources'), fonts); dict.get('Resources'),
fonts);
} }
} }
} }
@ -4185,8 +4177,9 @@ var PartialEvaluator = (function() {
); );
if ('Form' == type.name) { if ('Form' == type.name) {
args[0].code = this.eval(xobj, xref, xobj.dict.get('Resources'), args[0].code = this.evaluate(xobj, xref,
fonts, images); xobj.dict.get('Resources'), fonts,
images);
} }
if (xobj instanceof JpegStream) if (xobj instanceof JpegStream)
images.bind(xobj); // monitoring image load images.bind(xobj); // monitoring image load
@ -4224,7 +4217,7 @@ var PartialEvaluator = (function() {
}, },
extractEncoding: function(dict, xref, properties) { extractEncoding: function(dict, xref, properties) {
var type = properties.type; var type = properties.type, encoding;
if (properties.composite) { if (properties.composite) {
if (type == 'CIDFontType2') { if (type == 'CIDFontType2') {
var defaultWidth = xref.fetchIfRef(dict.get('DW')) || 1000; var defaultWidth = xref.fetchIfRef(dict.get('DW')) || 1000;
@ -4261,7 +4254,7 @@ var PartialEvaluator = (function() {
var glyphsData = glyphsStream.getBytes(0); var glyphsData = glyphsStream.getBytes(0);
// Glyph ids are big-endian 2-byte values // Glyph ids are big-endian 2-byte values
var encoding = properties.encoding; encoding = properties.encoding;
// Set encoding 0 to later verify the font has an encoding // Set encoding 0 to later verify the font has an encoding
encoding[0] = { unicode: 0, width: 0 }; encoding[0] = { unicode: 0, width: 0 };
@ -4278,7 +4271,7 @@ var PartialEvaluator = (function() {
}; };
} }
} else if (type == 'CIDFontType0') { } else if (type == 'CIDFontType0') {
var encoding = xref.fetchIfRef(dict.get('Encoding')); encoding = xref.fetchIfRef(dict.get('Encoding'));
if (IsName(encoding)) { if (IsName(encoding)) {
// Encoding is a predefined CMap // Encoding is a predefined CMap
if (encoding.name == 'Identity-H') { if (encoding.name == 'Identity-H') {
@ -4299,7 +4292,7 @@ var PartialEvaluator = (function() {
var map = properties.encoding; var map = properties.encoding;
var baseEncoding = null; var baseEncoding = null;
if (dict.has('Encoding')) { if (dict.has('Encoding')) {
var encoding = xref.fetchIfRef(dict.get('Encoding')); encoding = xref.fetchIfRef(dict.get('Encoding'));
if (IsDict(encoding)) { if (IsDict(encoding)) {
var baseName = encoding.get('BaseEncoding'); var baseName = encoding.get('BaseEncoding');
if (baseName) if (baseName)
@ -4683,7 +4676,7 @@ var CanvasGraphics = (function() {
compile: function(stream, xref, resources, fonts, images) { compile: function(stream, xref, resources, fonts, images) {
var pe = new PartialEvaluator(); var pe = new PartialEvaluator();
return pe.eval(stream, xref, resources, fonts, images); return pe.evaluate(stream, xref, resources, fonts, images);
}, },
execute: function(code, xref, resources) { execute: function(code, xref, resources) {
@ -4722,13 +4715,13 @@ var CanvasGraphics = (function() {
this.ctx.mozDashOffset = dashPhase; this.ctx.mozDashOffset = dashPhase;
}, },
setRenderingIntent: function(intent) { setRenderingIntent: function(intent) {
TODO('set rendering intent'); TODO('set rendering intent: ' + intent);
}, },
setFlatness: function(flatness) { setFlatness: function(flatness) {
TODO('set flatness'); TODO('set flatness: ' + flatness);
}, },
setGState: function(dictName) { setGState: function(dictName) {
TODO('set graphics state from dict'); TODO('set graphics state from dict: ' + dictName);
}, },
save: function() { save: function() {
this.ctx.save(); this.ctx.save();
@ -4923,10 +4916,10 @@ var CanvasGraphics = (function() {
} }
}, },
setTextRenderingMode: function(mode) { setTextRenderingMode: function(mode) {
TODO('text rendering mode'); TODO('text rendering mode: ' + mode);
}, },
setTextRise: function(rise) { setTextRise: function(rise) {
TODO('text rise'); TODO('text rise: ' + rise);
}, },
moveText: function(x, y) { moveText: function(x, y) {
this.current.x = this.current.lineX += x; this.current.x = this.current.lineX += x;
@ -5028,10 +5021,13 @@ var CanvasGraphics = (function() {
// Type3 fonts // Type3 fonts
setCharWidth: function(xWidth, yWidth) { setCharWidth: function(xWidth, yWidth) {
TODO("type 3 fonts ('d0' operator)"); TODO('type 3 fonts ("d0" operator) xWidth: ' + xWidth + ' yWidth: ' +
yWidth);
}, },
setCharWidthAndBounds: function(xWidth, yWidth, llx, lly, urx, ury) { setCharWidthAndBounds: function(xWidth, yWidth, llx, lly, urx, ury) {
TODO("type 3 fonts ('d1' operator)"); TODO('type 3 fonts ("d1" operator) xWidth: ' + xWidth + ' yWidth: ' +
yWidth + ' llx: ' + llx + ' lly: ' + lly + ' urx: ' + urx +
' ury ' + ury);
}, },
// Color // Color
@ -5430,7 +5426,6 @@ var ColorSpace = (function() {
var lookup = xref.fetchIfRef(cs[3]); var lookup = xref.fetchIfRef(cs[3]);
return new IndexedCS(base, hiVal, lookup); return new IndexedCS(base, hiVal, lookup);
case 'Separation': case 'Separation':
var name = cs[1];
var alt = ColorSpace.parse(cs[2], xref, res); var alt = ColorSpace.parse(cs[2], xref, res);
var tintFn = new PDFFunction(xref, xref.fetchIfRef(cs[3])); var tintFn = new PDFFunction(xref, xref.fetchIfRef(cs[3]));
return new SeparationCS(alt, tintFn); return new SeparationCS(alt, tintFn);
@ -5468,12 +5463,12 @@ var SeparationCS = (function() {
var base = this.base; var base = this.base;
var scale = 1 / ((1 << bits) - 1); var scale = 1 / ((1 << bits) - 1);
var length = 3 * input.length; var length = input.length;
var pos = 0; var pos = 0;
var numComps = base.numComps; var numComps = base.numComps;
var baseBuf = new Uint8Array(numComps * input.length); var baseBuf = new Uint8Array(numComps * length);
for (var i = 0, ii = input.length; i < ii; ++i) { for (var i = 0; i < length; ++i) {
var scaled = input[i] * scale; var scaled = input[i] * scale;
var tinted = tintFn.func([scaled]); var tinted = tintFn.func([scaled]);
for (var j = 0; j < numComps; ++j) for (var j = 0; j < numComps; ++j)
@ -5779,8 +5774,6 @@ var DummyShading = (function() {
var RadialAxialShading = (function() { var RadialAxialShading = (function() {
function constructor(dict, matrix, xref, res, ctx) { function constructor(dict, matrix, xref, res, ctx) {
this.matrix = matrix; this.matrix = matrix;
var bbox = dict.get('BBox');
var background = dict.get('Background');
this.coordsArr = dict.get('Coords'); this.coordsArr = dict.get('Coords');
this.shadingType = dict.get('ShadingType'); this.shadingType = dict.get('ShadingType');
this.type = 'Pattern'; this.type = 'Pattern';
@ -5838,15 +5831,17 @@ var RadialAxialShading = (function() {
getPattern: function() { getPattern: function() {
var coordsArr = this.coordsArr; var coordsArr = this.coordsArr;
var type = this.shadingType; var type = this.shadingType;
var p0, p1, r0, r1;
if (type == 2) { if (type == 2) {
var p0 = [coordsArr[0], coordsArr[1]]; p0 = [coordsArr[0], coordsArr[1]];
var p1 = [coordsArr[2], coordsArr[3]]; p1 = [coordsArr[2], coordsArr[3]];
} else if (type == 3) { } else if (type == 3) {
var p0 = [coordsArr[0], coordsArr[1]]; p0 = [coordsArr[0], coordsArr[1]];
var p1 = [coordsArr[3], coordsArr[4]]; p1 = [coordsArr[3], coordsArr[4]];
var r0 = coordsArr[2], r1 = coordsArr[5]; r0 = coordsArr[2];
r1 = coordsArr[5];
} else { } else {
error(); error('getPattern type unknown: ' + type);
} }
var matrix = this.matrix; var matrix = this.matrix;
@ -5869,11 +5864,11 @@ var RadialAxialShading = (function() {
p1 = Util.applyTransform(p1, userMatrix); p1 = Util.applyTransform(p1, userMatrix);
} }
var colorStops = this.colorStops; var colorStops = this.colorStops, grad;
if (type == 2) if (type == 2)
var grad = ctx.createLinearGradient(p0[0], p0[1], p1[0], p1[1]); grad = ctx.createLinearGradient(p0[0], p0[1], p1[0], p1[1]);
else if (type == 3) else if (type == 3)
var grad = ctx.createRadialGradient(p0[0], p0[1], r0, p1[0], p1[1], r1); grad = ctx.createRadialGradient(p0[0], p0[1], r0, p1[0], p1[1], r1);
for (var i = 0, ii = colorStops.length; i < ii; ++i) { for (var i = 0, ii = colorStops.length; i < ii; ++i) {
var c = colorStops[i]; var c = colorStops[i];
@ -6064,6 +6059,7 @@ var PDFImage = (function() {
var bufferPos = 0; var bufferPos = 0;
var output = bpc <= 8 ? new Uint8Array(length) : var output = bpc <= 8 ? new Uint8Array(length) :
bpc <= 16 ? new Uint16Array(length) : new Uint32Array(length); bpc <= 16 ? new Uint16Array(length) : new Uint32Array(length);
var rowComps = width * numComps;
if (bpc == 1) { if (bpc == 1) {
var valueZero = 0, valueOne = 1; var valueZero = 0, valueOne = 1;
@ -6071,7 +6067,6 @@ var PDFImage = (function() {
valueZero = decodeMap[0] ? 1 : 0; valueZero = decodeMap[0] ? 1 : 0;
valueOne = decodeMap[1] ? 1 : 0; valueOne = decodeMap[1] ? 1 : 0;
} }
var rowComps = width * numComps;
var mask = 0; var mask = 0;
var buf = 0; var buf = 0;
@ -6093,8 +6088,7 @@ var PDFImage = (function() {
} else { } else {
if (decodeMap != null) if (decodeMap != null)
TODO('interpolate component values'); TODO('interpolate component values');
var rowComps = width * numComps; var bits = 0, buf = 0;
var bits, buf;
for (var i = 0, ii = length; i < ii; ++i) { for (var i = 0, ii = length; i < ii; ++i) {
if (i % rowComps == 0) { if (i % rowComps == 0) {
buf = 0; buf = 0;
@ -6299,14 +6293,14 @@ var PDFFunction = (function() {
floor *= outputSize; floor *= outputSize;
ceil *= outputSize; ceil *= outputSize;
var output = []; var output = [], v = 0;
for (var i = 0; i < outputSize; ++i) { for (var i = 0; i < outputSize; ++i) {
if (ceil == floor) { if (ceil == floor) {
var v = samples[ceil + i]; v = samples[ceil + i];
} else { } else {
var low = samples[floor + i]; var low = samples[floor + i];
var high = samples[ceil + i]; var high = samples[ceil + i];
var v = low * scale + high * (1 - scale); v = low * scale + high * (1 - scale);
} }
var i2 = i * 2; var i2 = i * 2;

Loading…
Cancel
Save