From 34e62cad87127f6ff4ab12c0405376ed7158dc9f Mon Sep 17 00:00:00 2001 From: Frank Date: Sun, 12 Feb 2012 13:36:12 +0800 Subject: [PATCH] Update citeproc-js to version 1.0.279 --- chrome/content/zotero/xpcom/citeproc.js | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/chrome/content/zotero/xpcom/citeproc.js b/chrome/content/zotero/xpcom/citeproc.js index cbbfc4439..fc64f5106 100644 --- a/chrome/content/zotero/xpcom/citeproc.js +++ b/chrome/content/zotero/xpcom/citeproc.js @@ -2133,7 +2133,7 @@ CSL.DateParser = function () { }; CSL.Engine = function (sys, style, lang, forceLang) { var attrs, langspec, localexml, locale; - this.processor_version = "1.0.278"; + this.processor_version = "1.0.279"; this.csl_version = "1.0"; this.sys = sys; this.sys.xml = new CSL.System.Xml.Parsing(); @@ -7506,6 +7506,8 @@ CSL.Node.text = { if (parseInt(m[1]) >= parseInt(m[2])) { locator = m[1] + "-" + m[2]; } + } else { + locator = locator.replace(/\u2013/g,"-"); } state.output.append(locator, this, false, false, true); } @@ -7527,6 +7529,15 @@ CSL.Node.text = { func = function (state, Item) { var value = state.getVariable(Item, "page", form); if (value) { + value = value.replace(/--*/g,"\u2013"); + var m = value.match(/^([0-9]+)\s*\u2013\s*([0-9]+)$/) + if (m) { + if (parseInt(m[1]) >= parseInt(m[2])) { + value = m[1] + "-" + m[2]; + } + } else { + value = value.replace(/\u2013/g,"-"); + } value = state.fun.page_mangler(value); state.output.append(value, this, false, false, true); }