Progress
This commit is contained in:
parent
889de3fc4d
commit
8fbb05613e
34
Makefile
34
Makefile
@ -41,6 +41,15 @@ PDF_WORKER_FILES = \
|
|||||||
worker/processor_handler.js \
|
worker/processor_handler.js \
|
||||||
$(NULL)
|
$(NULL)
|
||||||
|
|
||||||
|
# make server
|
||||||
|
#
|
||||||
|
# This target starts a local web server at localhost:8888. This can be
|
||||||
|
# used for testing all browsers.
|
||||||
|
server:
|
||||||
|
@cd test; python test.py --port=8888;
|
||||||
|
|
||||||
|
test: pdfjs shell-test browser-test
|
||||||
|
|
||||||
#
|
#
|
||||||
# Bundle pdf.js
|
# Bundle pdf.js
|
||||||
#
|
#
|
||||||
@ -53,22 +62,6 @@ pdfjs:
|
|||||||
rm -f all_files.tmp; \
|
rm -f all_files.tmp; \
|
||||||
cd ..
|
cd ..
|
||||||
|
|
||||||
#
|
|
||||||
# Watch for file changes, regenerate pdf.js if change found
|
|
||||||
#
|
|
||||||
watch:
|
|
||||||
@echo "Watching for file changes in src/"
|
|
||||||
@python watch.py src/*.js - 'make pdfjs'
|
|
||||||
|
|
||||||
# make server
|
|
||||||
#
|
|
||||||
# This target starts a local web server at localhost:8888. This can be
|
|
||||||
# used for testing all browsers.
|
|
||||||
server:
|
|
||||||
@cd test; python test.py --port=8888;
|
|
||||||
|
|
||||||
test: shell-test browser-test
|
|
||||||
|
|
||||||
# make browser-test
|
# make browser-test
|
||||||
#
|
#
|
||||||
# This target runs in-browser tests using two primary arguments: a
|
# This target runs in-browser tests using two primary arguments: a
|
||||||
@ -240,5 +233,12 @@ clean:
|
|||||||
help:
|
help:
|
||||||
@echo "Read the comments in the Makefile for guidance.";
|
@echo "Read the comments in the Makefile for guidance.";
|
||||||
|
|
||||||
.PHONY:: all test browser-test font-test shell-test \
|
#
|
||||||
|
# Watch for file changes, regenerate pdf.js if change found
|
||||||
|
#
|
||||||
|
watch:
|
||||||
|
@echo "Watching for file changes in src/"
|
||||||
|
@python watch.py src/*.js - 'make pdfjs'
|
||||||
|
|
||||||
|
.PHONY:: all pdfjs watch test browser-test font-test shell-test \
|
||||||
shell-msg lint clean web compiler help server
|
shell-msg lint clean web compiler help server
|
||||||
|
@ -558,7 +558,7 @@ var CanvasGraphics = (function canvasGraphics() {
|
|||||||
color = base.getRgb(color);
|
color = base.getRgb(color);
|
||||||
}
|
}
|
||||||
var pattern = new TilingPattern(IR, color, this.ctx, this.objs);
|
var pattern = new TilingPattern(IR, color, this.ctx, this.objs);
|
||||||
} else if (IR[0] == 'RadialAxialShading' || IR[0] == 'DummyShading') {
|
} else if (IR[0] == 'RadialAxial' || IR[0] == 'Dummy') {
|
||||||
var pattern = Pattern.shadingFromIR(this.ctx, IR);
|
var pattern = Pattern.shadingFromIR(this.ctx, IR);
|
||||||
} else {
|
} else {
|
||||||
throw 'Unkown IR type';
|
throw 'Unkown IR type';
|
||||||
|
@ -1,8 +1,6 @@
|
|||||||
/* -*- Mode: Java; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
/* -*- Mode: Java; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||||
/* vim: set shiftwidth=2 tabstop=2 autoindent cindent expandtab: */
|
/* vim: set shiftwidth=2 tabstop=2 autoindent cindent expandtab: */
|
||||||
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
var ISOAdobeCharset = [
|
var ISOAdobeCharset = [
|
||||||
'.notdef', 'space', 'exclam', 'quotedbl', 'numbersign', 'dollar',
|
'.notdef', 'space', 'exclam', 'quotedbl', 'numbersign', 'dollar',
|
||||||
'percent', 'ampersand', 'quoteright', 'parenleft', 'parenright',
|
'percent', 'ampersand', 'quoteright', 'parenleft', 'parenright',
|
||||||
|
@ -1,8 +1,6 @@
|
|||||||
/* -*- Mode: Java; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
/* -*- Mode: Java; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||||
/* vim: set shiftwidth=2 tabstop=2 autoindent cindent expandtab: */
|
/* vim: set shiftwidth=2 tabstop=2 autoindent cindent expandtab: */
|
||||||
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
var CIDToUnicodeMaps = {
|
var CIDToUnicodeMaps = {
|
||||||
'Adobe-Japan1': [[32, 160], {f: 12, c: 33}, [45, 8209], {f: 46, c: 46}, 165,
|
'Adobe-Japan1': [[32, 160], {f: 12, c: 33}, [45, 8209], {f: 46, c: 46}, 165,
|
||||||
{f: 2, c: 93}, [95, 818], [96, 768], {f: 27, c: 97}, 166, 125, [732, 771],
|
{f: 2, c: 93}, [95, 818], [96, 768], {f: 27, c: 97}, 166, 125, [732, 771],
|
||||||
|
@ -1,8 +1,6 @@
|
|||||||
/* -*- Mode: Java; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
/* -*- Mode: Java; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||||
/* vim: set shiftwidth=2 tabstop=2 autoindent cindent expandtab: */
|
/* vim: set shiftwidth=2 tabstop=2 autoindent cindent expandtab: */
|
||||||
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
var ERRORS = 0, WARNINGS = 1, TODOS = 5;
|
var ERRORS = 0, WARNINGS = 1, TODOS = 5;
|
||||||
var verbosity = WARNINGS;
|
var verbosity = WARNINGS;
|
||||||
|
|
||||||
|
@ -1,8 +1,6 @@
|
|||||||
/* -*- Mode: Java; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
/* -*- Mode: Java; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||||
/* vim: set shiftwidth=2 tabstop=2 autoindent cindent expandtab: */
|
/* vim: set shiftwidth=2 tabstop=2 autoindent cindent expandtab: */
|
||||||
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
var ARCFourCipher = (function arcFourCipher() {
|
var ARCFourCipher = (function arcFourCipher() {
|
||||||
function constructor(key) {
|
function constructor(key) {
|
||||||
this.a = 0;
|
this.a = 0;
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
/* -*- Mode: Java; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
/* -*- Mode: Java; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||||
/* vim: set shiftwidth=2 tabstop=2 autoindent cindent expandtab: */
|
/* vim: set shiftwidth=2 tabstop=2 autoindent cindent expandtab: */
|
||||||
|
|
||||||
'use strict';
|
|
||||||
var isWorker = (typeof window == 'undefined');
|
var isWorker = (typeof window == 'undefined');
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1,8 +1,6 @@
|
|||||||
/* -*- Mode: Java; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
/* -*- Mode: Java; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||||
/* vim: set shiftwidth=2 tabstop=2 autoindent cindent expandtab: */
|
/* vim: set shiftwidth=2 tabstop=2 autoindent cindent expandtab: */
|
||||||
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
var GlyphsUnicode = {
|
var GlyphsUnicode = {
|
||||||
A: 0x0041,
|
A: 0x0041,
|
||||||
AE: 0x00C6,
|
AE: 0x00C6,
|
||||||
|
@ -1,8 +1,6 @@
|
|||||||
/* -*- Mode: Java; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
/* -*- Mode: Java; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||||
/* vim: set shiftwidth=2 tabstop=2 autoindent cindent expandtab: */
|
/* vim: set shiftwidth=2 tabstop=2 autoindent cindent expandtab: */
|
||||||
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
var Metrics = {
|
var Metrics = {
|
||||||
'Courier': 600,
|
'Courier': 600,
|
||||||
'Courier-Bold': 600,
|
'Courier-Bold': 600,
|
||||||
|
@ -13,8 +13,7 @@ var Pattern = (function patternPattern() {
|
|||||||
};
|
};
|
||||||
|
|
||||||
constructor.shadingFromIR = function pattern_shadingFromIR(ctx, raw) {
|
constructor.shadingFromIR = function pattern_shadingFromIR(ctx, raw) {
|
||||||
var obj = window[raw[0]];
|
return Shadings[raw[0]].fromIR(ctx, raw);
|
||||||
return obj.fromIR(ctx, raw);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
constructor.parseShading = function pattern_shading(shading, matrix,
|
constructor.parseShading = function pattern_shading(shading, matrix,
|
||||||
@ -27,34 +26,19 @@ var Pattern = (function patternPattern() {
|
|||||||
case 2:
|
case 2:
|
||||||
case 3:
|
case 3:
|
||||||
// both radial and axial shadings are handled by RadialAxial shading
|
// both radial and axial shadings are handled by RadialAxial shading
|
||||||
return new RadialAxialShading(dict, matrix, xref, res, ctx);
|
return new Shadings.RadialAxial(dict, matrix, xref, res, ctx);
|
||||||
default:
|
default:
|
||||||
return new DummyShading();
|
return new Shadings.Dummy();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
return constructor;
|
return constructor;
|
||||||
})();
|
})();
|
||||||
|
|
||||||
var DummyShading = (function dummyShading() {
|
var Shadings = {};
|
||||||
function constructor() {
|
|
||||||
this.type = 'Pattern';
|
|
||||||
}
|
|
||||||
|
|
||||||
constructor.fromIR = function() {
|
|
||||||
return 'hotpink';
|
|
||||||
}
|
|
||||||
|
|
||||||
constructor.prototype = {
|
|
||||||
getIR: function dummpy_getir() {
|
|
||||||
return ['DummyShading'];
|
|
||||||
}
|
|
||||||
};
|
|
||||||
return constructor;
|
|
||||||
})();
|
|
||||||
|
|
||||||
// Radial and axial shading have very similar implementations
|
// Radial and axial shading have very similar implementations
|
||||||
// If needed, the implementations can be broken into two classes
|
// If needed, the implementations can be broken into two classes
|
||||||
var RadialAxialShading = (function radialAxialShading() {
|
Shadings.RadialAxial = (function radialAxialShading() {
|
||||||
function constructor(dict, matrix, xref, res, ctx) {
|
function constructor(dict, matrix, xref, res, ctx) {
|
||||||
this.matrix = matrix;
|
this.matrix = matrix;
|
||||||
this.coordsArr = dict.get('Coords');
|
this.coordsArr = dict.get('Coords');
|
||||||
@ -163,13 +147,30 @@ var RadialAxialShading = (function radialAxialShading() {
|
|||||||
p1 = Util.applyTransform(p1, matrix);
|
p1 = Util.applyTransform(p1, matrix);
|
||||||
}
|
}
|
||||||
|
|
||||||
return ['RadialAxialShading', type, this.colorStops, p0, p1, r0, r1];
|
return ['RadialAxial', type, this.colorStops, p0, p1, r0, r1];
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
return constructor;
|
return constructor;
|
||||||
})();
|
})();
|
||||||
|
|
||||||
|
Shadings.Dummy = (function dummyShading() {
|
||||||
|
function constructor() {
|
||||||
|
this.type = 'Pattern';
|
||||||
|
}
|
||||||
|
|
||||||
|
constructor.fromIR = function() {
|
||||||
|
return 'hotpink';
|
||||||
|
}
|
||||||
|
|
||||||
|
constructor.prototype = {
|
||||||
|
getIR: function dummpy_getir() {
|
||||||
|
return ['Dummy'];
|
||||||
|
}
|
||||||
|
};
|
||||||
|
return constructor;
|
||||||
|
})();
|
||||||
|
|
||||||
var TilingPattern = (function tilingPattern() {
|
var TilingPattern = (function tilingPattern() {
|
||||||
var PAINT_TYPE_COLORED = 1, PAINT_TYPE_UNCOLORED = 2;
|
var PAINT_TYPE_COLORED = 1, PAINT_TYPE_UNCOLORED = 2;
|
||||||
|
|
||||||
|
11
src/pdf.js
11
src/pdf.js
@ -4,18 +4,15 @@
|
|||||||
// // TODO: Global namespace
|
// // TODO: Global namespace
|
||||||
// var PDF = {};
|
// var PDF = {};
|
||||||
|
|
||||||
// Stay away from global
|
|
||||||
(function(){
|
(function(){
|
||||||
|
// Use strict in our context only - users might not want it
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
// All files will be inserted below this point
|
// Files are inserted below - see Makefile
|
||||||
// INSERT_POINT
|
/* INSERT_POINT */
|
||||||
|
|
||||||
//
|
|
||||||
// Expose API in global object
|
// Expose API in global object
|
||||||
//
|
|
||||||
window.PDFDoc = PDFDoc;
|
window.PDFDoc = PDFDoc;
|
||||||
window.getPdf = getPdf;
|
window.getPdf = getPdf;
|
||||||
|
|
||||||
})(); // self-executing function
|
})();
|
||||||
|
@ -1,8 +1,6 @@
|
|||||||
/* -*- Mode: Java; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
/* -*- Mode: Java; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||||
/* vim: set shiftwidth=2 tabstop=2 autoindent cindent expandtab: */
|
/* vim: set shiftwidth=2 tabstop=2 autoindent cindent expandtab: */
|
||||||
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
var CFFEncodingMap = {
|
var CFFEncodingMap = {
|
||||||
'0': '-reserved-',
|
'0': '-reserved-',
|
||||||
'1': 'hstem',
|
'1': 'hstem',
|
||||||
|
@ -1,8 +1,6 @@
|
|||||||
/* -*- Mode: Java; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
/* -*- Mode: Java; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||||
/* vim: set shiftwidth=2 tabstop=2 autoindent cindent expandtab: */
|
/* vim: set shiftwidth=2 tabstop=2 autoindent cindent expandtab: */
|
||||||
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The Type2 reader code below is only used for debugging purpose since Type2
|
* The Type2 reader code below is only used for debugging purpose since Type2
|
||||||
* is only a CharString format and is never used directly as a Font file.
|
* is only a CharString format and is never used directly as a Font file.
|
||||||
|
@ -1,8 +1,6 @@
|
|||||||
/* -*- Mode: Java; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
/* -*- Mode: Java; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||||
/* vim: set shiftwidth=2 tabstop=2 autoindent cindent expandtab: */
|
/* vim: set shiftwidth=2 tabstop=2 autoindent cindent expandtab: */
|
||||||
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
var consoleTimer = {};
|
var consoleTimer = {};
|
||||||
var console = {
|
var console = {
|
||||||
log: function log() {
|
log: function log() {
|
||||||
|
@ -1,9 +1,6 @@
|
|||||||
/* -*- Mode: Java; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- /
|
/* -*- Mode: Java; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- /
|
||||||
/* vim: set shiftwidth=2 tabstop=2 autoindent cindent expandtab: */
|
/* vim: set shiftwidth=2 tabstop=2 autoindent cindent expandtab: */
|
||||||
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
|
|
||||||
function MessageHandler(name, comObj) {
|
function MessageHandler(name, comObj) {
|
||||||
this.name = name;
|
this.name = name;
|
||||||
this.comObj = comObj;
|
this.comObj = comObj;
|
||||||
|
@ -1,8 +1,6 @@
|
|||||||
/* -*- Mode: Java; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- /
|
/* -*- Mode: Java; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- /
|
||||||
/* vim: set shiftwidth=2 tabstop=2 autoindent cindent expandtab: */
|
/* vim: set shiftwidth=2 tabstop=2 autoindent cindent expandtab: */
|
||||||
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
var WorkerProcessorHandler = {
|
var WorkerProcessorHandler = {
|
||||||
setup: function(handler) {
|
setup: function(handler) {
|
||||||
var pdfDoc = null;
|
var pdfDoc = null;
|
||||||
|
@ -318,7 +318,7 @@ def downloadLinkedPDFs(manifestList):
|
|||||||
|
|
||||||
def setUp(options):
|
def setUp(options):
|
||||||
# Only serve files from a pdf.js clone
|
# Only serve files from a pdf.js clone
|
||||||
assert not ANAL or os.path.isfile('../pdf.js') and os.path.isdir('../.git')
|
assert not ANAL or os.path.isfile('../build/pdf.js') and os.path.isdir('../.git')
|
||||||
|
|
||||||
if options.masterMode and os.path.isdir(TMPDIR):
|
if options.masterMode and os.path.isdir(TMPDIR):
|
||||||
print 'Temporary snapshot dir tmp/ is still around.'
|
print 'Temporary snapshot dir tmp/ is still around.'
|
||||||
|
@ -3,16 +3,8 @@
|
|||||||
<head>
|
<head>
|
||||||
<title>pdf.js test slave</title>
|
<title>pdf.js test slave</title>
|
||||||
<style type="text/css"></style>
|
<style type="text/css"></style>
|
||||||
<script type="text/javascript" src="/pdf.js"></script>
|
<script type="text/javascript" src="/build/pdf.js"></script>
|
||||||
<script type="text/javascript" src="/fonts.js"></script>
|
|
||||||
<script type="text/javascript" src="/crypto.js"></script>
|
|
||||||
<script type="text/javascript" src="/glyphlist.js"></script>
|
|
||||||
<script type="text/javascript" src="/metrics.js"></script>
|
|
||||||
<script type="text/javascript" src="/charsets.js"></script>
|
|
||||||
<script type="text/javascript" src="/cidmaps.js"></script>
|
|
||||||
<script type="text/javascript" src="driver.js"></script>
|
<script type="text/javascript" src="driver.js"></script>
|
||||||
<script type="text/javascript" src="../worker/message_handler.js"></script>
|
|
||||||
<script type="text/javascript" src="../worker/processor_handler.js"></script>
|
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
<script type="text/javascript" src="compatibility.js"></script>
|
<script type="text/javascript" src="compatibility.js"></script>
|
||||||
<script type="text/javascript" src="viewer.js"></script>
|
<script type="text/javascript" src="viewer.js"></script>
|
||||||
<script type="text/javascript" src="../pdf.js"></script>
|
<script type="text/javascript" src="../build/pdf.js"></script>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user