diff --git a/lib/ace/layer/text.js b/lib/ace/layer/text.js
index 8ef2ebf3..ecaa6698 100644
--- a/lib/ace/layer/text.js
+++ b/lib/ace/layer/text.js
@@ -248,18 +248,23 @@ var Text = function(parentEl) {
};
this.$renderLine = function(stringBuilder, row, tokens) {
-// if (this.showInvisibles) {
-// var self = this;
-// var spaceRe = /[\v\f \u00a0\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u200b\u2028\u2029\u3000]+/g;
-// var spaceReplace = function(space) {
-// var space = new Array(space.length+1).join(self.SPACE_CHAR);
-// return "" + space + "";
-// };
-// }
-// else {
+ if (this.showInvisibles) {
+ var self = this;
+ var spaceRe = /( +)|([\v\f \u00a0\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u200b\u2028\u2029\u3000])/g;
+ var spaceReplace = function(space) {
+ if (space.charCodeAt(0) == 32)
+ return new Array(space.length+1).join(" ");
+ else {
+ var space = new Array(space.length+1).join(self.SPACE_CHAR);
+ return "" + space + "";
+ }
+
+ };
+ }
+ else {
var spaceRe = /[\v\f \u00a0\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u200b\u2028\u2029\u3000]/g;
var spaceReplace = " ";
-// }
+ }
for ( var i = 0; i < tokens.length; i++) {
var token = tokens[i];