From 283f8c403aba63bc832f8e510979583b869aa593 Mon Sep 17 00:00:00 2001 From: Brett Zamir Date: Tue, 8 Apr 2014 18:57:36 +0800 Subject: [PATCH 1/2] Allow for other units Provide values for px, pc, em, ex and utilize switch for divisor determination. --- jspdf.js | 37 +++++++++++++++++++++++++++---------- 1 file changed, 27 insertions(+), 10 deletions(-) diff --git a/jspdf.js b/jspdf.js index 1b38d9c05..368adc8fe 100644 --- a/jspdf.js +++ b/jspdf.js @@ -788,16 +788,33 @@ var jsPDF = (function(global) { // @TODO: Add different output options }); - if (unit === 'pt') { - k = 1; - } else if (unit === 'mm') { - k = 72 / 25.4; - } else if (unit === 'cm') { - k = 72 / 2.54; - } else if (unit === 'in') { - k = 72; - } else { - throw('Invalid unit: ' + unit); + switch (unit) { + case 'pt': + k = 1; + break; + case 'mm': + k = 72 / 25.4; + break; + case 'cm': + k = 72 / 2.54; + break; + case 'in': + k = 72; + break; + case 'px': + k = 96 / 72; + break; + case 'pc': + k = 12; + break; + case 'em': + k = 12; + break; + case 'ex': + k = 6; + break; + default: + throw ('Invalid unit: ' + unit); } // Dimensions are stored as user units and converted to points on output From a13993484a28da4765e5e7fe84e54eee10d78320 Mon Sep 17 00:00:00 2001 From: Brett Zamir Date: Wed, 9 Apr 2014 08:56:20 +0800 Subject: [PATCH 2/2] Make cases onliners --- jspdf.js | 32 ++++++++------------------------ 1 file changed, 8 insertions(+), 24 deletions(-) diff --git a/jspdf.js b/jspdf.js index 368adc8fe..7d2980585 100644 --- a/jspdf.js +++ b/jspdf.js @@ -789,30 +789,14 @@ var jsPDF = (function(global) { }); switch (unit) { - case 'pt': - k = 1; - break; - case 'mm': - k = 72 / 25.4; - break; - case 'cm': - k = 72 / 2.54; - break; - case 'in': - k = 72; - break; - case 'px': - k = 96 / 72; - break; - case 'pc': - k = 12; - break; - case 'em': - k = 12; - break; - case 'ex': - k = 6; - break; + case 'pt': k = 1; break; + case 'mm': k = 72 / 25.4; break; + case 'cm': k = 72 / 2.54; break; + case 'in': k = 72; break; + case 'px': k = 96 / 72; break; + case 'pc': k = 12; break; + case 'em': k = 12; break; + case 'ex': k = 6; break; default: throw ('Invalid unit: ' + unit); }