commit 0b33e7d1b7b71a1a2c878305415477f5d77a7a85
parent b1cd48a863e6b31314d2ca62fe2e513faf7213ba
Author: Dan Stillman <dstillman@zotero.org>
Date: Thu, 19 Jan 2012 22:36:14 -0500
Replace various space characters in filenames that break on Windows
These are all valid Unicode characters, but PDF plugins can't files with
filenames containing them on Windows.
Diffstat:
1 file changed, 4 insertions(+), 0 deletions(-)
diff --git a/chrome/content/zotero/xpcom/file.js b/chrome/content/zotero/xpcom/file.js
@@ -227,6 +227,10 @@ Zotero.File = new function(){
fileName = fileName.replace(/[\/\\\?%\*:|"<>]/g, '');
// Replace newlines and tabs (which shouldn't be in the string in the first place) with spaces
fileName = fileName.replace(/[\n\t]/g, ' ');
+ // Replace various thin spaces
+ fileName = fileName.replace(/[\u2000-\u200A]/g, ' ');
+ // Replace zero-width spaces
+ fileName = fileName.replace(/[\u200B-\u200E]/g, '');
if (!skipXML) {
// Strip characters not valid in XML, since they won't sync and they're probably unwanted
fileName = fileName.replace(/[\u0000-\u0008\u000b\u000c\u000e-\u001f\ud800-\udfff\ufffe\uffff]/g, '');