Skip to content

Commit

Permalink
Merge branch 'master' of https://github.com/andreasgal/pdf.js.git int…
Browse files Browse the repository at this point in the history
…o liveprog
  • Loading branch information
notmasteryet committed Oct 12, 2011
2 parents 8241733 + 4c07a36 commit 5111775
Show file tree
Hide file tree
Showing 7 changed files with 98 additions and 67 deletions.
18 changes: 13 additions & 5 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@ BUILD_DIR := build
DEFAULT_BROWSERS := resources/browser_manifests/browser_manifest.json
DEFAULT_TESTS := test_manifest.json

EXTENSION_SRC := ./extensions/firefox
EXTENSION_NAME := pdf.js.xpi

# Let folks define custom rules for their clones.
-include local.mk

Expand Down Expand Up @@ -103,14 +106,17 @@ lint:
# TODO: Use the Closure compiler to optimize the pdf.js files.
#
GH_PAGES = $(BUILD_DIR)/gh-pages
web: | compiler pages-repo \
web: | extension compiler pages-repo \
$(addprefix $(GH_PAGES)/, $(PDF_JS_FILES)) \
$(addprefix $(GH_PAGES)/, $(wildcard web/*.*)) \
$(addprefix $(GH_PAGES)/, $(wildcard web/images/*.*))
$(addprefix $(GH_PAGES)/, $(wildcard web/images/*.*)) \
$(addprefix $(GH_PAGES)/, $(wildcard $(EXTENSION_SRC)/*.xpi))

@cp $(GH_PAGES)/web/index.html.template $(GH_PAGES)/index.html;
@cd $(GH_PAGES); git add -A;
@echo
@echo "Website built in $(GH_PAGES)."
@echo "Don't forget to cd into $(GH_PAGES)/ and issue 'git commit' to push changes."

# make pages-repo
#
Expand All @@ -126,6 +132,7 @@ pages-repo: | $(BUILD_DIR)
fi;
@mkdir -p $(GH_PAGES)/web;
@mkdir -p $(GH_PAGES)/web/images;
@mkdir -p $(GH_PAGES)/$(EXTENSION_SRC);

$(GH_PAGES)/%.js: %.js
@cp $< $@
Expand All @@ -136,6 +143,9 @@ $(GH_PAGES)/web/%: web/%
$(GH_PAGES)/web/images/%: web/images/%
@cp $< $@

$(GH_PAGES)/$(EXTENSION_SRC)/%: $(EXTENSION_SRC)/%
@cp -R $< $@

# # make compiler
# #
# # This target downloads the Closure compiler, and places it in the
Expand All @@ -149,13 +159,11 @@ $(GH_PAGES)/web/images/%: web/images/%
# curl $(COMPILER_URL) > $(BUILD_DIR)/compiler.zip;
# cd $(BUILD_DIR); unzip compiler.zip compiler.jar;

# make firefox-extension
# make extension
#
# This target produce a restartless firefox extension containing a
# copy of the pdf.js source.
CONTENT_DIR := content
EXTENSION_SRC := ./extensions/firefox
EXTENSION_NAME := pdf.js.xpi
PDF_WEB_FILES = \
web/images \
web/compatibility.js \
Expand Down
92 changes: 51 additions & 41 deletions fonts.js
Original file line number Diff line number Diff line change
Expand Up @@ -26,53 +26,53 @@ var kHintingEnabled = false;
*/
var stdFontMap = {
'ArialNarrow': 'Helvetica',
'ArialNarrow_Bold': 'Helvetica-Bold',
'ArialNarrow_BoldItalic': 'Helvetica-BoldOblique',
'ArialNarrow_Italic': 'Helvetica-Oblique',
'ArialNarrow-Bold': 'Helvetica-Bold',
'ArialNarrow-BoldItalic': 'Helvetica-BoldOblique',
'ArialNarrow-Italic': 'Helvetica-Oblique',
'ArialBlack': 'Helvetica',
'ArialBlack_Bold': 'Helvetica-Bold',
'ArialBlack_BoldItalic': 'Helvetica-BoldOblique',
'ArialBlack_Italic': 'Helvetica-Oblique',
'ArialBlack-Bold': 'Helvetica-Bold',
'ArialBlack-BoldItalic': 'Helvetica-BoldOblique',
'ArialBlack-Italic': 'Helvetica-Oblique',
'Arial': 'Helvetica',
'Arial_Bold': 'Helvetica-Bold',
'Arial_BoldItalic': 'Helvetica-BoldOblique',
'Arial_Italic': 'Helvetica-Oblique',
'Arial_BoldItalicMT': 'Helvetica-BoldOblique',
'Arial_BoldMT': 'Helvetica-Bold',
'Arial_ItalicMT': 'Helvetica-Oblique',
'Arial-Bold': 'Helvetica-Bold',
'Arial-BoldItalic': 'Helvetica-BoldOblique',
'Arial-Italic': 'Helvetica-Oblique',
'Arial-BoldItalicMT': 'Helvetica-BoldOblique',
'Arial-BoldMT': 'Helvetica-Bold',
'Arial-ItalicMT': 'Helvetica-Oblique',
'ArialMT': 'Helvetica',
'Courier_Bold': 'Courier-Bold',
'Courier_BoldItalic': 'Courier-BoldOblique',
'Courier_Italic': 'Courier-Oblique',
'Courier-Bold': 'Courier-Bold',
'Courier-BoldItalic': 'Courier-BoldOblique',
'Courier-Italic': 'Courier-Oblique',
'CourierNew': 'Courier',
'CourierNew_Bold': 'Courier-Bold',
'CourierNew_BoldItalic': 'Courier-BoldOblique',
'CourierNew_Italic': 'Courier-Oblique',
'CourierNewPS_BoldItalicMT': 'Courier-BoldOblique',
'CourierNewPS_BoldMT': 'Courier-Bold',
'CourierNewPS_ItalicMT': 'Courier-Oblique',
'CourierNew-Bold': 'Courier-Bold',
'CourierNew-BoldItalic': 'Courier-BoldOblique',
'CourierNew-Italic': 'Courier-Oblique',
'CourierNewPS-BoldItalicMT': 'Courier-BoldOblique',
'CourierNewPS-BoldMT': 'Courier-Bold',
'CourierNewPS-ItalicMT': 'Courier-Oblique',
'CourierNewPSMT': 'Courier',
'Helvetica_Bold': 'Helvetica-Bold',
'Helvetica_BoldItalic': 'Helvetica-BoldOblique',
'Helvetica_Italic': 'Helvetica-Oblique',
'Symbol_Bold': 'Symbol',
'Symbol_BoldItalic': 'Symbol',
'Symbol_Italic': 'Symbol',
'Helvetica-Bold': 'Helvetica-Bold',
'Helvetica-BoldItalic': 'Helvetica-BoldOblique',
'Helvetica-Italic': 'Helvetica-Oblique',
'Symbol-Bold': 'Symbol',
'Symbol-BoldItalic': 'Symbol',
'Symbol-Italic': 'Symbol',
'TimesNewRoman': 'Times-Roman',
'TimesNewRoman_Bold': 'Times-Bold',
'TimesNewRoman_BoldItalic': 'Times-BoldItalic',
'TimesNewRoman_Italic': 'Times-Italic',
'TimesNewRoman-Bold': 'Times-Bold',
'TimesNewRoman-BoldItalic': 'Times-BoldItalic',
'TimesNewRoman-Italic': 'Times-Italic',
'TimesNewRomanPS': 'Times-Roman',
'TimesNewRomanPS_Bold': 'Times-Bold',
'TimesNewRomanPS_BoldItalic': 'Times-BoldItalic',
'TimesNewRomanPS_BoldItalicMT': 'Times-BoldItalic',
'TimesNewRomanPS_BoldMT': 'Times-Bold',
'TimesNewRomanPS_Italic': 'Times-Italic',
'TimesNewRomanPS_ItalicMT': 'Times-Italic',
'TimesNewRomanPS-Bold': 'Times-Bold',
'TimesNewRomanPS-BoldItalic': 'Times-BoldItalic',
'TimesNewRomanPS-BoldItalicMT': 'Times-BoldItalic',
'TimesNewRomanPS-BoldMT': 'Times-Bold',
'TimesNewRomanPS-Italic': 'Times-Italic',
'TimesNewRomanPS-ItalicMT': 'Times-Italic',
'TimesNewRomanPSMT': 'Times-Roman',
'TimesNewRomanPSMT_Bold': 'Times-Bold',
'TimesNewRomanPSMT_BoldItalic': 'Times-BoldItalic',
'TimesNewRomanPSMT_Italic': 'Times-Italic'
'TimesNewRomanPSMT-Bold': 'Times-Bold',
'TimesNewRomanPSMT-BoldItalic': 'Times-BoldItalic',
'TimesNewRomanPSMT-Italic': 'Times-Italic'
};

var serifFonts = {
Expand Down Expand Up @@ -441,7 +441,9 @@ var Font = (function Font() {
if (!file) {
// The file data is not specified. Trying to fix the font name
// to be used with the canvas.font.
var fontName = stdFontMap[name] || name.replace('_', '-');
var fontName = name.replace(/,_/g, '-');
fontName = stdFontMap[fontName] || fontName;

this.bold = (fontName.search(/bold/gi) != -1);
this.italic = (fontName.search(/oblique/gi) != -1) ||
(fontName.search(/italic/gi) != -1);
Expand Down Expand Up @@ -2890,7 +2892,15 @@ var Type2CFF = (function type2CFF() {
if (b <= 21) {
if (b === 12) {
++pos;
var b = (b << 8) | dict[pos];
var op = dict[pos];
if ((op > 14 && op < 17) ||
(op > 23 && op < 30) || op > 38) {
warn('Invalid CFF dictionary key: ' + op);
// trying to replace it with initialRandomSeed
// to pass sanitizer
dict[pos] = 19;
}
var b = (b << 8) | op;
}
entries.push([b, operands]);
operands = [];
Expand Down
6 changes: 3 additions & 3 deletions pdf.js
Original file line number Diff line number Diff line change
Expand Up @@ -4791,7 +4791,7 @@ var PartialEvaluator = (function partialEvaluator() {
return null;

// Using base font name as a font name.
baseFontName = baseFontName.name.replace(/,/g, '_');
baseFontName = baseFontName.name.replace(/,_/g, '-');
var metricsAndMap = this.getBaseFontMetricsAndMap(baseFontName);

var properties = {
Expand Down Expand Up @@ -6805,11 +6805,11 @@ var PDFFunction = (function pdfFunction() {
diff.push(c1[i] - c0[i]);

this.func = function pdfFunctionConstructInterpolatedFunc(args) {
var x = args[0];
var x = n == 1 ? args[0] : Math.pow(args[0], n);

var out = [];
for (var j = 0; j < length; ++j)
out.push(c0[j] + (x^n * diff[i]));
out.push(c0[j] + (x * diff[j]));

return out;
};
Expand Down
2 changes: 1 addition & 1 deletion test/driver.js
Original file line number Diff line number Diff line change
Expand Up @@ -178,7 +178,7 @@ function snapshotCurrentPage(task, failure) {
function sendQuitRequest() {
var r = new XMLHttpRequest();
r.open('POST', '/tellMeToQuit?path=' + escape(appPath), false);
r.send('');
r.send(null);
}

function quitApp() {
Expand Down
1 change: 1 addition & 0 deletions test/pdfs/pal-o47.pdf.link
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
http://www1.cpdl.org/wiki/images/sheet/pal-o47.pdf
6 changes: 6 additions & 0 deletions test/test_manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -199,6 +199,12 @@
"rounds": 1,
"type": "eq"
},
{ "id": "pal-o47",
"file": "pdfs/pal-o47.pdf",
"link": true,
"rounds": 1,
"type": "eq"
},
{ "id": "simpletype3font",
"file": "pdfs/simpletype3font.pdf",
"link": false,
Expand Down
40 changes: 23 additions & 17 deletions test/test_slave.html
Original file line number Diff line number Diff line change
@@ -1,21 +1,27 @@
<!DOCTYPE html>
<html>
<head>
<title>pdf.js test slave</title>
<style type="text/css"></style>
<script type="text/javascript" src="/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>
</head>
<head>
<title>pdf.js test slave</title>
<style type="text/css"></style>
<script type="text/javascript" src="/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>
</head>

<body onload="load();">
<pre style="width:800; height:800; overflow: scroll;"id="stdout"></pre>
<p>Inflight requests: <span id="inFlightCount"></span></p>
<div id="content-end"><!-- cleanup() guard --></div>
</body>
<body>
<pre style="width:800px; height:800px; overflow:scroll;" id="stdout"></pre>
<p>Inflight requests: <span id="inFlightCount"></span></p>
<div id="content-end"></div>

<script type="text/javascript">
'use strict';
load();
</script>
</body>
</html>

0 comments on commit 5111775

Please sign in to comment.