diff --git a/js/id/svg/labels.js b/js/id/svg/labels.js index 7256e223a..f7d6a5283 100644 --- a/js/id/svg/labels.js +++ b/js/id/svg/labels.js @@ -70,6 +70,7 @@ iD.svg.Labels = function(projection, context) { function textWidth(text, size, elem) { var c = textWidthCache[size]; + var str; if (!c) c = textWidthCache[size] = {}; if (c[text]) { @@ -80,7 +81,12 @@ iD.svg.Labels = function(projection, context) { return c[text]; } else { - return size / 3 * 2 * text.length; + str = encodeURIComponent(text).match(/%[CDEFcdef]/g); + if (str == null) { + return size / 3 * 2 * text.length; + } else { + return size / 3 * ( 2 * text.length + str.length); + } } }