Changes

Jump to navigation Jump to search
synch from sandbox;
Line 5: Line 5:  
--[[--------------------------< F O R W A R D  D E C L A R A T I O N S >--------------------------------------
 
--[[--------------------------< F O R W A R D  D E C L A R A T I O N S >--------------------------------------
 
]]
 
]]
   
local is_set, in_array, remove_wiki_link; -- functions in Module:Citation/CS1/Utilities
 
local is_set, in_array, remove_wiki_link; -- functions in Module:Citation/CS1/Utilities
   Line 178: Line 177:  
value = value:gsub ('&nbsp;', ' '); -- replace &nbsp; entity with plain space
 
value = value:gsub ('&nbsp;', ' '); -- replace &nbsp; entity with plain space
 
value = value:gsub ('\226\128\138', ' '); -- replace hair space with plain space
 
value = value:gsub ('\226\128\138', ' '); -- replace hair space with plain space
value = value:gsub ('&zwj;', ''); -- remove &zwj; entities
+
if not mw.ustring.find (value, cfg.indic_script) then -- don't remove zero width joiner characters from indic script
value = mw.ustring.gsub (value, '[\226\128\141\226\128\139\194\173]', ''); -- remove zero-width joiner, zero-width space, soft hyphen
+
value = value:gsub ('&zwj;', ''); -- remove &zwj; entities
 +
value = mw.ustring.gsub (value, '[\226\128\141\226\128\139\194\173]', ''); -- remove zero-width joiner, zero-width space, soft hyphen
 +
end
 
value = value:gsub ('[\009\010\013]', ' '); -- replace horizontal tab, line feed, carriage return with plain space
 
value = value:gsub ('[\009\010\013]', ' '); -- replace horizontal tab, line feed, carriage return with plain space
 
return value;
 
return value;
Line 213: Line 214:  
});
 
});
 
 
if in_array (class, {'arxiv', 'biorxiv', 'citeseerx', 'journal', 'news'}) or (in_array (class, {'conference', 'interview', 'map', 'press release', 'web'}) and is_set(data.Periodical)) or  
+
if in_array (class, {'arxiv', 'biorxiv', 'citeseerx', 'journal', 'news', 'magazine'}) or (in_array (class, {'conference', 'interview', 'map', 'press release', 'web'}) and is_set(data.Periodical)) or  
 
('citation' == class and is_set(data.Periodical) and not is_set (data.Encyclopedia)) then
 
('citation' == class and is_set(data.Periodical) and not is_set (data.Encyclopedia)) then
 
OCinSoutput.rft_val_fmt = "info:ofi/fmt:kev:mtx:journal"; -- journal metadata identifier
 
OCinSoutput.rft_val_fmt = "info:ofi/fmt:kev:mtx:journal"; -- journal metadata identifier
Line 320: Line 321:  
 
 
-- sort with version string always first, and combine.
 
-- sort with version string always first, and combine.
table.sort( OCinSoutput );
+
--table.sort( OCinSoutput );
 
table.insert( OCinSoutput, 1, "ctx_ver=" .. ctx_ver );  -- such as "Z39.88-2004"
 
table.insert( OCinSoutput, 1, "ctx_ver=" .. ctx_ver );  -- such as "Z39.88-2004"
 
return table.concat(OCinSoutput, "&");
 
return table.concat(OCinSoutput, "&");

Navigation menu