diff --git a/img/build-error.svg b/img/build-error.svg
index de96e6b92d..bd2d6014c4 100644
--- a/img/build-error.svg
+++ b/img/build-error.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/img/build-failing.svg b/img/build-failing.svg
index 760f2d311a..d4af07fb5b 100644
--- a/img/build-failing.svg
+++ b/img/build-failing.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/img/build-passed.svg b/img/build-passed.svg
index 262d1fc471..882749d329 100644
--- a/img/build-passed.svg
+++ b/img/build-passed.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/img/build-passing.svg b/img/build-passing.svg
index 7c6a64111b..1aa0e1df1c 100644
--- a/img/build-passing.svg
+++ b/img/build-passing.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/img/build-pending.svg b/img/build-pending.svg
index 53976774fe..2928552f9d 100644
--- a/img/build-pending.svg
+++ b/img/build-pending.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/img/build-unknown.svg b/img/build-unknown.svg
index d9efaa3938..9cdd550516 100644
--- a/img/build-unknown.svg
+++ b/img/build-unknown.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/img/cheez-whiz.svg b/img/cheez-whiz.svg
index a616eb3de3..69b0b5364d 100644
--- a/img/cheez-whiz.svg
+++ b/img/cheez-whiz.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/img/coverage.svg b/img/coverage.svg
index 7b3c41e4ce..99fdb429f9 100644
--- a/img/coverage.svg
+++ b/img/coverage.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/img/dependencies-none.svg b/img/dependencies-none.svg
index 7fa5dbb76a..0f35cd203a 100644
--- a/img/dependencies-none.svg
+++ b/img/dependencies-none.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/img/dependencies-out-of-date.svg b/img/dependencies-out-of-date.svg
index 0a7d72cd34..2850568927 100644
--- a/img/dependencies-out-of-date.svg
+++ b/img/dependencies-out-of-date.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/img/dependencies-unknown.svg b/img/dependencies-unknown.svg
index e1fcab369f..95c57520a2 100644
--- a/img/dependencies-unknown.svg
+++ b/img/dependencies-unknown.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/img/dependencies-up-to-date.svg b/img/dependencies-up-to-date.svg
index 81d9577b32..d695e6d34b 100644
--- a/img/dependencies-up-to-date.svg
+++ b/img/dependencies-up-to-date.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/img/dependencies-update.svg b/img/dependencies-update.svg
index 67170d8bdb..add29f1295 100644
--- a/img/dependencies-update.svg
+++ b/img/dependencies-update.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/img/tips-per-week.svg b/img/tips-per-week.svg
index 2f6029ba13..3c12376f67 100644
--- a/img/tips-per-week.svg
+++ b/img/tips-per-week.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/make.js b/make.js
index 31c844c139..a065706be5 100644
--- a/make.js
+++ b/make.js
@@ -1,8 +1,16 @@
var fs = require('fs');
var path = require('path');
var Promise = require('es6-promise').Promise;
-var dot = require('dot');
var SVGO = require('svgo');
+
+// Initialize what will be used for automatic text measurement.
+var Canvas = require('canvas');
+var canvasElement = new Canvas(0, 0); // Width and height are irrelevant.
+var canvasContext = canvasElement.getContext('2d');
+canvasContext.font = '10px Verdana';
+
+// Template crafting action below.
+var dot = require('dot');
var badgeData = require('./badges.json');
var badges = badgeData.badges;
var colorscheme = badgeData.colorschemes;
@@ -26,6 +34,10 @@ function makeImage(name, data, cb) {
data.colorA = colorscheme[data.colorscheme].colorA;
data.colorB = colorscheme[data.colorscheme].colorB;
}
+ data.widths = [
+ (canvasContext.measureText(data.text[0]).width|0) + 10,
+ (canvasContext.measureText(data.text[1]).width|0) + 10,
+ ];
var result = imageTemplate(data);
// Run the SVG through SVGO.
optimize(result, function(object) {
diff --git a/package.json b/package.json
index 110b7d84f0..1793d3bdae 100644
--- a/package.json
+++ b/package.json
@@ -11,6 +11,7 @@
"dependencies": {
"dot": ">=1.0.2",
"svgo": "~0.4.2",
+ "canvas": "~1.1.2",
"es6-promise": "~0.1.1"
}
}