diff --git a/source/distro/changelog.txt b/source/distro/changelog.txt
index 34a2c19..de4e73a 100644
--- a/source/distro/changelog.txt
+++ b/source/distro/changelog.txt
@@ -2,6 +2,8 @@ Changelog for Writer2LaTeX version 1.2 -> 1.4
---------- version 1.4 beta ----------
+[w4l] Zotero BibTeX exporter is updated to the latest version
+
[all] Build file is now set up to cross compile for java 6
[w2x] If the export dialogs are loaded with a setting for scaling or column_scaling of 1% or less, the value
diff --git a/source/distro/doc/user-manual.odt b/source/distro/doc/user-manual.odt
index 67252a7..faf50af 100644
Binary files a/source/distro/doc/user-manual.odt and b/source/distro/doc/user-manual.odt differ
diff --git a/source/distro/zotero/BibTeX-Writer2LaTeX.js b/source/distro/zotero/BibTeX-Writer2LaTeX.js
index 98f8903..40ea0a6 100644
--- a/source/distro/zotero/BibTeX-Writer2LaTeX.js
+++ b/source/distro/zotero/BibTeX-Writer2LaTeX.js
@@ -1,33 +1,26 @@
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program. If not, see .
-//
{
- "translatorID":"47fef559-4549-4815-b68f-bdf3b3819ac5",
- "label":"BibTeX (Writer2LaTeX)",
- "creator":"Simon Kornblith and Richard Karnesky - modified by Henrik Just",
- "target":"bib",
- "minVersion":"1.0",
- "maxVersion":"",
- "priority":100,
- "inRepository":"0",
- "translatorType":2,
- "lastUpdated":"2010-10-06 23:16:00"
+ "translatorID":"47fef559-4549-4815-b68f-bdf3b3819ac5",
+ "label": "BibTeX (Writer2LaTeX)",
+ "creator": "Simon Kornblith, Richard Karnesky and Emiliano heyns - modified by Henrik Just",
+ "target": "bib",
+ "minVersion": "2.1.9",
+ "maxVersion": "",
+ "priority": 200,
+ "configOptions": {
+ "getCollections": true
+ },
+ "displayOptions": {
+ "exportCharset": "UTF-8",
+ "exportNotes": true,
+ "exportFileData": false,
+ "useJournalAbbreviation": false
+ },
+ "inRepository": true,
+ "translatorType": 3,
+ "browserSupport": "gcsv",
+ "lastUpdated": "2014-10-01 20:00:00"
}
-Zotero.configure("dataMode", "block");
-Zotero.addOption("exportCharset", "UTF-8");
-Zotero.addOption("exportFileData", false);
-
function detectImport() {
var maxChars = 1048576; // 1MB
@@ -53,7 +46,10 @@ function detectImport() {
// read until next newline
block = "";
inComment = true;
- } else if((chr == "\n" || chr == "\r") && block) {
+ } else if((chr == "\n" || chr == "\r"
+ // allow one-line entries
+ || i == (buffer.length - 1))
+ && block) {
// check if this is a BibTeX entry
if(re.test(block)) {
return true;
@@ -67,9 +63,10 @@ function detectImport() {
}
}
-//%a = first author surname
+//%a = first listed creator surname
//%y = year
//%t = first word of title
+// HJ: Modified to use original key
//%k = original key
var citeKeyFormat = "%k"; //"%a_%t_%y";
@@ -84,19 +81,88 @@ var fieldMap = {
copyright:"rights",
isbn:"ISBN",
issn:"ISSN",
- lccn:"callNumber",
- location:"archiveLocation",
shorttitle:"shortTitle",
url:"url",
doi:"DOI",
- "abstract":"abstractNote"
+ abstract:"abstractNote",
+ nationality: "country",
+ language:"language",
+ assignee:"assignee"
};
+// Import/export in BibTeX
+var extraIdentifiers = {
+ lccn: 'LCCN',
+ mrnumber: 'MR',
+ zmnumber: 'Zbl',
+ pmid: 'PMID',
+ pmcid: 'PMCID'
+
+ //Mostly from Wikipedia citation templates
+ //asin - Amazon ID
+ //bibcode/refcode - used in astronomy, but haven't seen any Bib(La)TeX examples
+ //jfm - Jahrbuch ID, but it seems to be part of Zentralblatt MATH, so Zbl
+ //oclc
+ //ol - openlibrary.org ID
+ //osti
+ //rfc
+ //ssrn? http://cyber.law.harvard.edu/cybersecurity/Guidelines_for_adding_Bibliography_entries
+};
+
+// Make a reverse map for convenience
+var revExtraIds = {};
+for(var field in extraIdentifiers) {
+ revExtraIds[extraIdentifiers[field]] = field;
+}
+
+// Import only. Exported by BibLaTeX
+var eprintIds = {
+ // eprinttype: Zotero label
+
+ // From BibLaTeX manual
+ 'arxiv': 'arXiv', // Sorry, but no support for eprintclass yet
+ 'jstor': 'JSTOR',
+ 'pubmed': 'PMID',
+ 'hdl': 'HDL',
+ 'googlebooks': 'GoogleBooksID'
+};
+
+function parseExtraFields(extra) {
+ var lines = extra.split(/[\r\n]+/);
+ var fields = [];
+ for(var i=0; i 1) {
+ rec.field = line.substr(0,splitAt).trim();
+ rec.value = line.substr(splitAt + 1).trim();
+ }
+ fields.push(rec);
+ }
+ return fields;
+}
+
+function extraFieldsToString(extra) {
+ var str = '';
+ for(var i=0; i", // TRIANGULAR BULLET
- "\u2024":".", // ONE DOT LEADER
- "\u2025":"..", // TWO DOT LEADER
- "\u2026":"{\\textellipsis}", // HORIZONTAL ELLIPSIS
- "\u2027":"-", // HYPHENATION POINT
- "\u202F":" ", // NARROW NO-BREAK SPACE
- "\u2030":"{\\textperthousand}", // PER MILLE SIGN
- "\u2032":"'", // PRIME
- "\u2033":"'", // DOUBLE PRIME
- "\u2034":"'''", // TRIPLE PRIME
- "\u2035":"`", // REVERSED PRIME
- "\u2036":"``", // REVERSED DOUBLE PRIME
- "\u2037":"```", // REVERSED TRIPLE PRIME
- "\u2039":"{\\guilsinglleft}", // SINGLE LEFT-POINTING ANGLE QUOTATION MARK
- "\u203A":"{\\guilsinglright}", // SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
- "\u203C":"!!", // DOUBLE EXCLAMATION MARK
- "\u203E":"-", // OVERLINE
- "\u2043":"-", // HYPHEN BULLET
- "\u2044":"{\\textfractionsolidus}", // FRACTION SLASH
- "\u2048":"?!", // QUESTION EXCLAMATION MARK
- "\u2049":"!?", // EXCLAMATION QUESTION MARK
- "\u204A":"7", // TIRONIAN SIGN ET
- "\u2070":"$^{0}$", // SUPERSCRIPT ZERO
- "\u2074":"$^{4}$", // SUPERSCRIPT FOUR
- "\u2075":"$^{5}$", // SUPERSCRIPT FIVE
- "\u2076":"$^{6}$", // SUPERSCRIPT SIX
- "\u2077":"$^{7}$", // SUPERSCRIPT SEVEN
- "\u2078":"$^{8}$", // SUPERSCRIPT EIGHT
- "\u2079":"$^{9}$", // SUPERSCRIPT NINE
- "\u207A":"$^{+}$", // SUPERSCRIPT PLUS SIGN
- "\u207B":"$^{-}$", // SUPERSCRIPT MINUS
- "\u207C":"$^{=}$", // SUPERSCRIPT EQUALS SIGN
- "\u207D":"$^{(}$", // SUPERSCRIPT LEFT PARENTHESIS
- "\u207E":"$^{)}$", // SUPERSCRIPT RIGHT PARENTHESIS
- "\u207F":"$^{n}$", // SUPERSCRIPT LATIN SMALL LETTER N
- "\u2080":"$_{0}$", // SUBSCRIPT ZERO
- "\u2081":"$_{1}$", // SUBSCRIPT ONE
- "\u2082":"$_{2}$", // SUBSCRIPT TWO
- "\u2083":"$_{3}$", // SUBSCRIPT THREE
- "\u2084":"$_{4}$", // SUBSCRIPT FOUR
- "\u2085":"$_{5}$", // SUBSCRIPT FIVE
- "\u2086":"$_{6}$", // SUBSCRIPT SIX
- "\u2087":"$_{7}$", // SUBSCRIPT SEVEN
- "\u2088":"$_{8}$", // SUBSCRIPT EIGHT
- "\u2089":"$_{9}$", // SUBSCRIPT NINE
- "\u208A":"$_{+}$", // SUBSCRIPT PLUS SIGN
- "\u208B":"$_{-}$", // SUBSCRIPT MINUS
- "\u208C":"$_{=}$", // SUBSCRIPT EQUALS SIGN
- "\u208D":"$_{(}$", // SUBSCRIPT LEFT PARENTHESIS
- "\u208E":"$_{)}$", // SUBSCRIPT RIGHT PARENTHESIS
- "\u20AC":"{\\texteuro}", // EURO SIGN
- "\u2100":"a/c", // ACCOUNT OF
- "\u2101":"a/s", // ADDRESSED TO THE SUBJECT
- "\u2103":"{\\textcelsius}", // DEGREE CELSIUS
- "\u2105":"c/o", // CARE OF
- "\u2106":"c/u", // CADA UNA
- "\u2109":"F", // DEGREE FAHRENHEIT
- "\u2113":"l", // SCRIPT SMALL L
- "\u2116":"{\\textnumero}", // NUMERO SIGN
- "\u2117":"{\\textcircledP}", // SOUND RECORDING COPYRIGHT
- "\u2120":"{\\textservicemark}", // SERVICE MARK
- "\u2121":"TEL", // TELEPHONE SIGN
- "\u2122":"{\\texttrademark}", // TRADE MARK SIGN
- "\u2126":"{\\textohm}", // OHM SIGN
- "\u212A":"K", // KELVIN SIGN
- "\u212B":"A", // ANGSTROM SIGN
- "\u212E":"{\\textestimated}", // ESTIMATED SYMBOL
- "\u2153":" 1/3", // VULGAR FRACTION ONE THIRD
- "\u2154":" 2/3", // VULGAR FRACTION TWO THIRDS
- "\u2155":" 1/5", // VULGAR FRACTION ONE FIFTH
- "\u2156":" 2/5", // VULGAR FRACTION TWO FIFTHS
- "\u2157":" 3/5", // VULGAR FRACTION THREE FIFTHS
- "\u2158":" 4/5", // VULGAR FRACTION FOUR FIFTHS
- "\u2159":" 1/6", // VULGAR FRACTION ONE SIXTH
- "\u215A":" 5/6", // VULGAR FRACTION FIVE SIXTHS
- "\u215B":" 1/8", // VULGAR FRACTION ONE EIGHTH
- "\u215C":" 3/8", // VULGAR FRACTION THREE EIGHTHS
- "\u215D":" 5/8", // VULGAR FRACTION FIVE EIGHTHS
- "\u215E":" 7/8", // VULGAR FRACTION SEVEN EIGHTHS
- "\u215F":" 1/", // FRACTION NUMERATOR ONE
- "\u2160":"I", // ROMAN NUMERAL ONE
- "\u2161":"II", // ROMAN NUMERAL TWO
- "\u2162":"III", // ROMAN NUMERAL THREE
- "\u2163":"IV", // ROMAN NUMERAL FOUR
- "\u2164":"V", // ROMAN NUMERAL FIVE
- "\u2165":"VI", // ROMAN NUMERAL SIX
- "\u2166":"VII", // ROMAN NUMERAL SEVEN
- "\u2167":"VIII", // ROMAN NUMERAL EIGHT
- "\u2168":"IX", // ROMAN NUMERAL NINE
- "\u2169":"X", // ROMAN NUMERAL TEN
- "\u216A":"XI", // ROMAN NUMERAL ELEVEN
- "\u216B":"XII", // ROMAN NUMERAL TWELVE
- "\u216C":"L", // ROMAN NUMERAL FIFTY
- "\u216D":"C", // ROMAN NUMERAL ONE HUNDRED
- "\u216E":"D", // ROMAN NUMERAL FIVE HUNDRED
- "\u216F":"M", // ROMAN NUMERAL ONE THOUSAND
- "\u2170":"i", // SMALL ROMAN NUMERAL ONE
- "\u2171":"ii", // SMALL ROMAN NUMERAL TWO
- "\u2172":"iii", // SMALL ROMAN NUMERAL THREE
- "\u2173":"iv", // SMALL ROMAN NUMERAL FOUR
- "\u2174":"v", // SMALL ROMAN NUMERAL FIVE
- "\u2175":"vi", // SMALL ROMAN NUMERAL SIX
- "\u2176":"vii", // SMALL ROMAN NUMERAL SEVEN
- "\u2177":"viii", // SMALL ROMAN NUMERAL EIGHT
- "\u2178":"ix", // SMALL ROMAN NUMERAL NINE
- "\u2179":"x", // SMALL ROMAN NUMERAL TEN
- "\u217A":"xi", // SMALL ROMAN NUMERAL ELEVEN
- "\u217B":"xii", // SMALL ROMAN NUMERAL TWELVE
- "\u217C":"l", // SMALL ROMAN NUMERAL FIFTY
- "\u217D":"c", // SMALL ROMAN NUMERAL ONE HUNDRED
- "\u217E":"d", // SMALL ROMAN NUMERAL FIVE HUNDRED
- "\u217F":"m", // SMALL ROMAN NUMERAL ONE THOUSAND
- "\u2190":"{\\textleftarrow}", // LEFTWARDS ARROW
- "\u2191":"{\\textuparrow}", // UPWARDS ARROW
- "\u2192":"{\\textrightarrow}", // RIGHTWARDS ARROW
- "\u2193":"{\\textdownarrow}", // DOWNWARDS ARROW
- "\u2194":"<->", // LEFT RIGHT ARROW
- "\u21D0":"<=", // LEFTWARDS DOUBLE ARROW
- "\u21D2":"=>", // RIGHTWARDS DOUBLE ARROW
- "\u21D4":"<=>", // LEFT RIGHT DOUBLE ARROW
- "\u2212":"-", // MINUS SIGN
- "\u2215":"/", // DIVISION SLASH
- "\u2216":"\\", // SET MINUS
- "\u2217":"*", // ASTERISK OPERATOR
- "\u2218":"o", // RING OPERATOR
- "\u2219":".", // BULLET OPERATOR
- "\u221E":"$\\infty$", // INFINITY
- "\u2223":"|", // DIVIDES
- "\u2225":"||", // PARALLEL TO
- "\u2236":":", // RATIO
- "\u223C":"\\~{}", // TILDE OPERATOR
- "\u2260":"/=", // NOT EQUAL TO
- "\u2261":"=", // IDENTICAL TO
- "\u2264":"<=", // LESS-THAN OR EQUAL TO
- "\u2265":">=", // GREATER-THAN OR EQUAL TO
- "\u226A":"<<", // MUCH LESS-THAN
- "\u226B":">>", // MUCH GREATER-THAN
- "\u2295":"(+)", // CIRCLED PLUS
- "\u2296":"(-)", // CIRCLED MINUS
- "\u2297":"(x)", // CIRCLED TIMES
- "\u2298":"(/)", // CIRCLED DIVISION SLASH
- "\u22A2":"|-", // RIGHT TACK
- "\u22A3":"-|", // LEFT TACK
- "\u22A6":"|-", // ASSERTION
- "\u22A7":"|=", // MODELS
- "\u22A8":"|=", // TRUE
- "\u22A9":"||-", // FORCES
- "\u22C5":".", // DOT OPERATOR
- "\u22C6":"*", // STAR OPERATOR
- "\u22D5":"$\\#$", // EQUAL AND PARALLEL TO
- "\u22D8":"<<<", // VERY MUCH LESS-THAN
- "\u22D9":">>>", // VERY MUCH GREATER-THAN
- "\u2329":"{\\textlangle}", // LEFT-POINTING ANGLE BRACKET
- "\u232A":"{\\textrangle}", // RIGHT-POINTING ANGLE BRACKET
- "\u2400":"NUL", // SYMBOL FOR NULL
- "\u2401":"SOH", // SYMBOL FOR START OF HEADING
- "\u2402":"STX", // SYMBOL FOR START OF TEXT
- "\u2403":"ETX", // SYMBOL FOR END OF TEXT
- "\u2404":"EOT", // SYMBOL FOR END OF TRANSMISSION
- "\u2405":"ENQ", // SYMBOL FOR ENQUIRY
- "\u2406":"ACK", // SYMBOL FOR ACKNOWLEDGE
- "\u2407":"BEL", // SYMBOL FOR BELL
- "\u2408":"BS", // SYMBOL FOR BACKSPACE
- "\u2409":"HT", // SYMBOL FOR HORIZONTAL TABULATION
- "\u240A":"LF", // SYMBOL FOR LINE FEED
- "\u240B":"VT", // SYMBOL FOR VERTICAL TABULATION
- "\u240C":"FF", // SYMBOL FOR FORM FEED
- "\u240D":"CR", // SYMBOL FOR CARRIAGE RETURN
- "\u240E":"SO", // SYMBOL FOR SHIFT OUT
- "\u240F":"SI", // SYMBOL FOR SHIFT IN
- "\u2410":"DLE", // SYMBOL FOR DATA LINK ESCAPE
- "\u2411":"DC1", // SYMBOL FOR DEVICE CONTROL ONE
- "\u2412":"DC2", // SYMBOL FOR DEVICE CONTROL TWO
- "\u2413":"DC3", // SYMBOL FOR DEVICE CONTROL THREE
- "\u2414":"DC4", // SYMBOL FOR DEVICE CONTROL FOUR
- "\u2415":"NAK", // SYMBOL FOR NEGATIVE ACKNOWLEDGE
- "\u2416":"SYN", // SYMBOL FOR SYNCHRONOUS IDLE
- "\u2417":"ETB", // SYMBOL FOR END OF TRANSMISSION BLOCK
- "\u2418":"CAN", // SYMBOL FOR CANCEL
- "\u2419":"EM", // SYMBOL FOR END OF MEDIUM
- "\u241A":"SUB", // SYMBOL FOR SUBSTITUTE
- "\u241B":"ESC", // SYMBOL FOR ESCAPE
- "\u241C":"FS", // SYMBOL FOR FILE SEPARATOR
- "\u241D":"GS", // SYMBOL FOR GROUP SEPARATOR
- "\u241E":"RS", // SYMBOL FOR RECORD SEPARATOR
- "\u241F":"US", // SYMBOL FOR UNIT SEPARATOR
- "\u2420":"SP", // SYMBOL FOR SPACE
- "\u2421":"DEL", // SYMBOL FOR DELETE
- "\u2423":"{\\textvisiblespace}", // OPEN BOX
- "\u2424":"NL", // SYMBOL FOR NEWLINE
- "\u2425":"///", // SYMBOL FOR DELETE FORM TWO
- "\u2426":"?", // SYMBOL FOR SUBSTITUTE FORM TWO
- "\u2460":"(1)", // CIRCLED DIGIT ONE
- "\u2461":"(2)", // CIRCLED DIGIT TWO
- "\u2462":"(3)", // CIRCLED DIGIT THREE
- "\u2463":"(4)", // CIRCLED DIGIT FOUR
- "\u2464":"(5)", // CIRCLED DIGIT FIVE
- "\u2465":"(6)", // CIRCLED DIGIT SIX
- "\u2466":"(7)", // CIRCLED DIGIT SEVEN
- "\u2467":"(8)", // CIRCLED DIGIT EIGHT
- "\u2468":"(9)", // CIRCLED DIGIT NINE
- "\u2469":"(10)", // CIRCLED NUMBER TEN
- "\u246A":"(11)", // CIRCLED NUMBER ELEVEN
- "\u246B":"(12)", // CIRCLED NUMBER TWELVE
- "\u246C":"(13)", // CIRCLED NUMBER THIRTEEN
- "\u246D":"(14)", // CIRCLED NUMBER FOURTEEN
- "\u246E":"(15)", // CIRCLED NUMBER FIFTEEN
- "\u246F":"(16)", // CIRCLED NUMBER SIXTEEN
- "\u2470":"(17)", // CIRCLED NUMBER SEVENTEEN
- "\u2471":"(18)", // CIRCLED NUMBER EIGHTEEN
- "\u2472":"(19)", // CIRCLED NUMBER NINETEEN
- "\u2473":"(20)", // CIRCLED NUMBER TWENTY
- "\u2474":"(1)", // PARENTHESIZED DIGIT ONE
- "\u2475":"(2)", // PARENTHESIZED DIGIT TWO
- "\u2476":"(3)", // PARENTHESIZED DIGIT THREE
- "\u2477":"(4)", // PARENTHESIZED DIGIT FOUR
- "\u2478":"(5)", // PARENTHESIZED DIGIT FIVE
- "\u2479":"(6)", // PARENTHESIZED DIGIT SIX
- "\u247A":"(7)", // PARENTHESIZED DIGIT SEVEN
- "\u247B":"(8)", // PARENTHESIZED DIGIT EIGHT
- "\u247C":"(9)", // PARENTHESIZED DIGIT NINE
- "\u247D":"(10)", // PARENTHESIZED NUMBER TEN
- "\u247E":"(11)", // PARENTHESIZED NUMBER ELEVEN
- "\u247F":"(12)", // PARENTHESIZED NUMBER TWELVE
- "\u2480":"(13)", // PARENTHESIZED NUMBER THIRTEEN
- "\u2481":"(14)", // PARENTHESIZED NUMBER FOURTEEN
- "\u2482":"(15)", // PARENTHESIZED NUMBER FIFTEEN
- "\u2483":"(16)", // PARENTHESIZED NUMBER SIXTEEN
- "\u2484":"(17)", // PARENTHESIZED NUMBER SEVENTEEN
- "\u2485":"(18)", // PARENTHESIZED NUMBER EIGHTEEN
- "\u2486":"(19)", // PARENTHESIZED NUMBER NINETEEN
- "\u2487":"(20)", // PARENTHESIZED NUMBER TWENTY
- "\u2488":"1.", // DIGIT ONE FULL STOP
- "\u2489":"2.", // DIGIT TWO FULL STOP
- "\u248A":"3.", // DIGIT THREE FULL STOP
- "\u248B":"4.", // DIGIT FOUR FULL STOP
- "\u248C":"5.", // DIGIT FIVE FULL STOP
- "\u248D":"6.", // DIGIT SIX FULL STOP
- "\u248E":"7.", // DIGIT SEVEN FULL STOP
- "\u248F":"8.", // DIGIT EIGHT FULL STOP
- "\u2490":"9.", // DIGIT NINE FULL STOP
- "\u2491":"10.", // NUMBER TEN FULL STOP
- "\u2492":"11.", // NUMBER ELEVEN FULL STOP
- "\u2493":"12.", // NUMBER TWELVE FULL STOP
- "\u2494":"13.", // NUMBER THIRTEEN FULL STOP
- "\u2495":"14.", // NUMBER FOURTEEN FULL STOP
- "\u2496":"15.", // NUMBER FIFTEEN FULL STOP
- "\u2497":"16.", // NUMBER SIXTEEN FULL STOP
- "\u2498":"17.", // NUMBER SEVENTEEN FULL STOP
- "\u2499":"18.", // NUMBER EIGHTEEN FULL STOP
- "\u249A":"19.", // NUMBER NINETEEN FULL STOP
- "\u249B":"20.", // NUMBER TWENTY FULL STOP
- "\u249C":"(a)", // PARENTHESIZED LATIN SMALL LETTER A
- "\u249D":"(b)", // PARENTHESIZED LATIN SMALL LETTER B
- "\u249E":"(c)", // PARENTHESIZED LATIN SMALL LETTER C
- "\u249F":"(d)", // PARENTHESIZED LATIN SMALL LETTER D
- "\u24A0":"(e)", // PARENTHESIZED LATIN SMALL LETTER E
- "\u24A1":"(f)", // PARENTHESIZED LATIN SMALL LETTER F
- "\u24A2":"(g)", // PARENTHESIZED LATIN SMALL LETTER G
- "\u24A3":"(h)", // PARENTHESIZED LATIN SMALL LETTER H
- "\u24A4":"(i)", // PARENTHESIZED LATIN SMALL LETTER I
- "\u24A5":"(j)", // PARENTHESIZED LATIN SMALL LETTER J
- "\u24A6":"(k)", // PARENTHESIZED LATIN SMALL LETTER K
- "\u24A7":"(l)", // PARENTHESIZED LATIN SMALL LETTER L
- "\u24A8":"(m)", // PARENTHESIZED LATIN SMALL LETTER M
- "\u24A9":"(n)", // PARENTHESIZED LATIN SMALL LETTER N
- "\u24AA":"(o)", // PARENTHESIZED LATIN SMALL LETTER O
- "\u24AB":"(p)", // PARENTHESIZED LATIN SMALL LETTER P
- "\u24AC":"(q)", // PARENTHESIZED LATIN SMALL LETTER Q
- "\u24AD":"(r)", // PARENTHESIZED LATIN SMALL LETTER R
- "\u24AE":"(s)", // PARENTHESIZED LATIN SMALL LETTER S
- "\u24AF":"(t)", // PARENTHESIZED LATIN SMALL LETTER T
- "\u24B0":"(u)", // PARENTHESIZED LATIN SMALL LETTER U
- "\u24B1":"(v)", // PARENTHESIZED LATIN SMALL LETTER V
- "\u24B2":"(w)", // PARENTHESIZED LATIN SMALL LETTER W
- "\u24B3":"(x)", // PARENTHESIZED LATIN SMALL LETTER X
- "\u24B4":"(y)", // PARENTHESIZED LATIN SMALL LETTER Y
- "\u24B5":"(z)", // PARENTHESIZED LATIN SMALL LETTER Z
- "\u24B6":"(A)", // CIRCLED LATIN CAPITAL LETTER A
- "\u24B7":"(B)", // CIRCLED LATIN CAPITAL LETTER B
- "\u24B8":"(C)", // CIRCLED LATIN CAPITAL LETTER C
- "\u24B9":"(D)", // CIRCLED LATIN CAPITAL LETTER D
- "\u24BA":"(E)", // CIRCLED LATIN CAPITAL LETTER E
- "\u24BB":"(F)", // CIRCLED LATIN CAPITAL LETTER F
- "\u24BC":"(G)", // CIRCLED LATIN CAPITAL LETTER G
- "\u24BD":"(H)", // CIRCLED LATIN CAPITAL LETTER H
- "\u24BE":"(I)", // CIRCLED LATIN CAPITAL LETTER I
- "\u24BF":"(J)", // CIRCLED LATIN CAPITAL LETTER J
- "\u24C0":"(K)", // CIRCLED LATIN CAPITAL LETTER K
- "\u24C1":"(L)", // CIRCLED LATIN CAPITAL LETTER L
- "\u24C2":"(M)", // CIRCLED LATIN CAPITAL LETTER M
- "\u24C3":"(N)", // CIRCLED LATIN CAPITAL LETTER N
- "\u24C4":"(O)", // CIRCLED LATIN CAPITAL LETTER O
- "\u24C5":"(P)", // CIRCLED LATIN CAPITAL LETTER P
- "\u24C6":"(Q)", // CIRCLED LATIN CAPITAL LETTER Q
- "\u24C7":"(R)", // CIRCLED LATIN CAPITAL LETTER R
- "\u24C8":"(S)", // CIRCLED LATIN CAPITAL LETTER S
- "\u24C9":"(T)", // CIRCLED LATIN CAPITAL LETTER T
- "\u24CA":"(U)", // CIRCLED LATIN CAPITAL LETTER U
- "\u24CB":"(V)", // CIRCLED LATIN CAPITAL LETTER V
- "\u24CC":"(W)", // CIRCLED LATIN CAPITAL LETTER W
- "\u24CD":"(X)", // CIRCLED LATIN CAPITAL LETTER X
- "\u24CE":"(Y)", // CIRCLED LATIN CAPITAL LETTER Y
- "\u24CF":"(Z)", // CIRCLED LATIN CAPITAL LETTER Z
- "\u24D0":"(a)", // CIRCLED LATIN SMALL LETTER A
- "\u24D1":"(b)", // CIRCLED LATIN SMALL LETTER B
- "\u24D2":"(c)", // CIRCLED LATIN SMALL LETTER C
- "\u24D3":"(d)", // CIRCLED LATIN SMALL LETTER D
- "\u24D4":"(e)", // CIRCLED LATIN SMALL LETTER E
- "\u24D5":"(f)", // CIRCLED LATIN SMALL LETTER F
- "\u24D6":"(g)", // CIRCLED LATIN SMALL LETTER G
- "\u24D7":"(h)", // CIRCLED LATIN SMALL LETTER H
- "\u24D8":"(i)", // CIRCLED LATIN SMALL LETTER I
- "\u24D9":"(j)", // CIRCLED LATIN SMALL LETTER J
- "\u24DA":"(k)", // CIRCLED LATIN SMALL LETTER K
- "\u24DB":"(l)", // CIRCLED LATIN SMALL LETTER L
- "\u24DC":"(m)", // CIRCLED LATIN SMALL LETTER M
- "\u24DD":"(n)", // CIRCLED LATIN SMALL LETTER N
- "\u24DE":"(o)", // CIRCLED LATIN SMALL LETTER O
- "\u24DF":"(p)", // CIRCLED LATIN SMALL LETTER P
- "\u24E0":"(q)", // CIRCLED LATIN SMALL LETTER Q
- "\u24E1":"(r)", // CIRCLED LATIN SMALL LETTER R
- "\u24E2":"(s)", // CIRCLED LATIN SMALL LETTER S
- "\u24E3":"(t)", // CIRCLED LATIN SMALL LETTER T
- "\u24E4":"(u)", // CIRCLED LATIN SMALL LETTER U
- "\u24E5":"(v)", // CIRCLED LATIN SMALL LETTER V
- "\u24E6":"(w)", // CIRCLED LATIN SMALL LETTER W
- "\u24E7":"(x)", // CIRCLED LATIN SMALL LETTER X
- "\u24E8":"(y)", // CIRCLED LATIN SMALL LETTER Y
- "\u24E9":"(z)", // CIRCLED LATIN SMALL LETTER Z
- "\u24EA":"(0)", // CIRCLED DIGIT ZERO
- "\u2500":"-", // BOX DRAWINGS LIGHT HORIZONTAL
- "\u2501":"=", // BOX DRAWINGS HEAVY HORIZONTAL
- "\u2502":"|", // BOX DRAWINGS LIGHT VERTICAL
- "\u2503":"|", // BOX DRAWINGS HEAVY VERTICAL
- "\u2504":"-", // BOX DRAWINGS LIGHT TRIPLE DASH HORIZONTAL
- "\u2505":"=", // BOX DRAWINGS HEAVY TRIPLE DASH HORIZONTAL
- "\u2506":"|", // BOX DRAWINGS LIGHT TRIPLE DASH VERTICAL
- "\u2507":"|", // BOX DRAWINGS HEAVY TRIPLE DASH VERTICAL
- "\u2508":"-", // BOX DRAWINGS LIGHT QUADRUPLE DASH HORIZONTAL
- "\u2509":"=", // BOX DRAWINGS HEAVY QUADRUPLE DASH HORIZONTAL
- "\u250A":"|", // BOX DRAWINGS LIGHT QUADRUPLE DASH VERTICAL
- "\u250B":"|", // BOX DRAWINGS HEAVY QUADRUPLE DASH VERTICAL
- "\u250C":"+", // BOX DRAWINGS LIGHT DOWN AND RIGHT
- "\u250D":"+", // BOX DRAWINGS DOWN LIGHT AND RIGHT HEAVY
- "\u250E":"+", // BOX DRAWINGS DOWN HEAVY AND RIGHT LIGHT
- "\u250F":"+", // BOX DRAWINGS HEAVY DOWN AND RIGHT
- "\u2510":"+", // BOX DRAWINGS LIGHT DOWN AND LEFT
- "\u2511":"+", // BOX DRAWINGS DOWN LIGHT AND LEFT HEAVY
- "\u2512":"+", // BOX DRAWINGS DOWN HEAVY AND LEFT LIGHT
- "\u2513":"+", // BOX DRAWINGS HEAVY DOWN AND LEFT
- "\u2514":"+", // BOX DRAWINGS LIGHT UP AND RIGHT
- "\u2515":"+", // BOX DRAWINGS UP LIGHT AND RIGHT HEAVY
- "\u2516":"+", // BOX DRAWINGS UP HEAVY AND RIGHT LIGHT
- "\u2517":"+", // BOX DRAWINGS HEAVY UP AND RIGHT
- "\u2518":"+", // BOX DRAWINGS LIGHT UP AND LEFT
- "\u2519":"+", // BOX DRAWINGS UP LIGHT AND LEFT HEAVY
- "\u251A":"+", // BOX DRAWINGS UP HEAVY AND LEFT LIGHT
- "\u251B":"+", // BOX DRAWINGS HEAVY UP AND LEFT
- "\u251C":"+", // BOX DRAWINGS LIGHT VERTICAL AND RIGHT
- "\u251D":"+", // BOX DRAWINGS VERTICAL LIGHT AND RIGHT HEAVY
- "\u251E":"+", // BOX DRAWINGS UP HEAVY AND RIGHT DOWN LIGHT
- "\u251F":"+", // BOX DRAWINGS DOWN HEAVY AND RIGHT UP LIGHT
- "\u2520":"+", // BOX DRAWINGS VERTICAL HEAVY AND RIGHT LIGHT
- "\u2521":"+", // BOX DRAWINGS DOWN LIGHT AND RIGHT UP HEAVY
- "\u2522":"+", // BOX DRAWINGS UP LIGHT AND RIGHT DOWN HEAVY
- "\u2523":"+", // BOX DRAWINGS HEAVY VERTICAL AND RIGHT
- "\u2524":"+", // BOX DRAWINGS LIGHT VERTICAL AND LEFT
- "\u2525":"+", // BOX DRAWINGS VERTICAL LIGHT AND LEFT HEAVY
- "\u2526":"+", // BOX DRAWINGS UP HEAVY AND LEFT DOWN LIGHT
- "\u2527":"+", // BOX DRAWINGS DOWN HEAVY AND LEFT UP LIGHT
- "\u2528":"+", // BOX DRAWINGS VERTICAL HEAVY AND LEFT LIGHT
- "\u2529":"+", // BOX DRAWINGS DOWN LIGHT AND LEFT UP HEAVY
- "\u252A":"+", // BOX DRAWINGS UP LIGHT AND LEFT DOWN HEAVY
- "\u252B":"+", // BOX DRAWINGS HEAVY VERTICAL AND LEFT
- "\u252C":"+", // BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
- "\u252D":"+", // BOX DRAWINGS LEFT HEAVY AND RIGHT DOWN LIGHT
- "\u252E":"+", // BOX DRAWINGS RIGHT HEAVY AND LEFT DOWN LIGHT
- "\u252F":"+", // BOX DRAWINGS DOWN LIGHT AND HORIZONTAL HEAVY
- "\u2530":"+", // BOX DRAWINGS DOWN HEAVY AND HORIZONTAL LIGHT
- "\u2531":"+", // BOX DRAWINGS RIGHT LIGHT AND LEFT DOWN HEAVY
- "\u2532":"+", // BOX DRAWINGS LEFT LIGHT AND RIGHT DOWN HEAVY
- "\u2533":"+", // BOX DRAWINGS HEAVY DOWN AND HORIZONTAL
- "\u2534":"+", // BOX DRAWINGS LIGHT UP AND HORIZONTAL
- "\u2535":"+", // BOX DRAWINGS LEFT HEAVY AND RIGHT UP LIGHT
- "\u2536":"+", // BOX DRAWINGS RIGHT HEAVY AND LEFT UP LIGHT
- "\u2537":"+", // BOX DRAWINGS UP LIGHT AND HORIZONTAL HEAVY
- "\u2538":"+", // BOX DRAWINGS UP HEAVY AND HORIZONTAL LIGHT
- "\u2539":"+", // BOX DRAWINGS RIGHT LIGHT AND LEFT UP HEAVY
- "\u253A":"+", // BOX DRAWINGS LEFT LIGHT AND RIGHT UP HEAVY
- "\u253B":"+", // BOX DRAWINGS HEAVY UP AND HORIZONTAL
- "\u253C":"+", // BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
- "\u253D":"+", // BOX DRAWINGS LEFT HEAVY AND RIGHT VERTICAL LIGHT
- "\u253E":"+", // BOX DRAWINGS RIGHT HEAVY AND LEFT VERTICAL LIGHT
- "\u253F":"+", // BOX DRAWINGS VERTICAL LIGHT AND HORIZONTAL HEAVY
- "\u2540":"+", // BOX DRAWINGS UP HEAVY AND DOWN HORIZONTAL LIGHT
- "\u2541":"+", // BOX DRAWINGS DOWN HEAVY AND UP HORIZONTAL LIGHT
- "\u2542":"+", // BOX DRAWINGS VERTICAL HEAVY AND HORIZONTAL LIGHT
- "\u2543":"+", // BOX DRAWINGS LEFT UP HEAVY AND RIGHT DOWN LIGHT
- "\u2544":"+", // BOX DRAWINGS RIGHT UP HEAVY AND LEFT DOWN LIGHT
- "\u2545":"+", // BOX DRAWINGS LEFT DOWN HEAVY AND RIGHT UP LIGHT
- "\u2546":"+", // BOX DRAWINGS RIGHT DOWN HEAVY AND LEFT UP LIGHT
- "\u2547":"+", // BOX DRAWINGS DOWN LIGHT AND UP HORIZONTAL HEAVY
- "\u2548":"+", // BOX DRAWINGS UP LIGHT AND DOWN HORIZONTAL HEAVY
- "\u2549":"+", // BOX DRAWINGS RIGHT LIGHT AND LEFT VERTICAL HEAVY
- "\u254A":"+", // BOX DRAWINGS LEFT LIGHT AND RIGHT VERTICAL HEAVY
- "\u254B":"+", // BOX DRAWINGS HEAVY VERTICAL AND HORIZONTAL
- "\u254C":"-", // BOX DRAWINGS LIGHT DOUBLE DASH HORIZONTAL
- "\u254D":"=", // BOX DRAWINGS HEAVY DOUBLE DASH HORIZONTAL
- "\u254E":"|", // BOX DRAWINGS LIGHT DOUBLE DASH VERTICAL
- "\u254F":"|", // BOX DRAWINGS HEAVY DOUBLE DASH VERTICAL
- "\u2550":"=", // BOX DRAWINGS DOUBLE HORIZONTAL
- "\u2551":"|", // BOX DRAWINGS DOUBLE VERTICAL
- "\u2552":"+", // BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
- "\u2553":"+", // BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
- "\u2554":"+", // BOX DRAWINGS DOUBLE DOWN AND RIGHT
- "\u2555":"+", // BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
- "\u2556":"+", // BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
- "\u2557":"+", // BOX DRAWINGS DOUBLE DOWN AND LEFT
- "\u2558":"+", // BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
- "\u2559":"+", // BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
- "\u255A":"+", // BOX DRAWINGS DOUBLE UP AND RIGHT
- "\u255B":"+", // BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
- "\u255C":"+", // BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
- "\u255D":"+", // BOX DRAWINGS DOUBLE UP AND LEFT
- "\u255E":"+", // BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
- "\u255F":"+", // BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
- "\u2560":"+", // BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
- "\u2561":"+", // BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
- "\u2562":"+", // BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
- "\u2563":"+", // BOX DRAWINGS DOUBLE VERTICAL AND LEFT
- "\u2564":"+", // BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
- "\u2565":"+", // BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
- "\u2566":"+", // BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
- "\u2567":"+", // BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
- "\u2568":"+", // BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
- "\u2569":"+", // BOX DRAWINGS DOUBLE UP AND HORIZONTAL
- "\u256A":"+", // BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
- "\u256B":"+", // BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
- "\u256C":"+", // BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
- "\u256D":"+", // BOX DRAWINGS LIGHT ARC DOWN AND RIGHT
- "\u256E":"+", // BOX DRAWINGS LIGHT ARC DOWN AND LEFT
- "\u256F":"+", // BOX DRAWINGS LIGHT ARC UP AND LEFT
- "\u2570":"+", // BOX DRAWINGS LIGHT ARC UP AND RIGHT
- "\u2571":"/", // BOX DRAWINGS LIGHT DIAGONAL UPPER RIGHT TO LOWER LEFT
- "\u2572":"\\", // BOX DRAWINGS LIGHT DIAGONAL UPPER LEFT TO LOWER RIGHT
- "\u2573":"X", // BOX DRAWINGS LIGHT DIAGONAL CROSS
- "\u257C":"-", // BOX DRAWINGS LIGHT LEFT AND HEAVY RIGHT
- "\u257D":"|", // BOX DRAWINGS LIGHT UP AND HEAVY DOWN
- "\u257E":"-", // BOX DRAWINGS HEAVY LEFT AND LIGHT RIGHT
- "\u257F":"|", // BOX DRAWINGS HEAVY UP AND LIGHT DOWN
- "\u25CB":"o", // WHITE CIRCLE
- "\u25E6":"{\\textopenbullet}", // WHITE BULLET
- "\u2605":"*", // BLACK STAR
- "\u2606":"*", // WHITE STAR
- "\u2612":"X", // BALLOT BOX WITH X
- "\u2613":"X", // SALTIRE
- "\u2639":":-(", // WHITE FROWNING FACE
- "\u263A":":-)", // WHITE SMILING FACE
- "\u263B":"(-:", // BLACK SMILING FACE
- "\u266D":"b", // MUSIC FLAT SIGN
- "\u266F":"$\\#$", // MUSIC SHARP SIGN
- "\u2701":"$\\%<$", // UPPER BLADE SCISSORS
- "\u2702":"$\\%<$", // BLACK SCISSORS
- "\u2703":"$\\%<$", // LOWER BLADE SCISSORS
- "\u2704":"$\\%<$", // WHITE SCISSORS
- "\u270C":"V", // VICTORY HAND
- "\u2713":"v", // CHECK MARK
- "\u2714":"V", // HEAVY CHECK MARK
- "\u2715":"x", // MULTIPLICATION X
- "\u2716":"x", // HEAVY MULTIPLICATION X
- "\u2717":"X", // BALLOT X
- "\u2718":"X", // HEAVY BALLOT X
- "\u2719":"+", // OUTLINED GREEK CROSS
- "\u271A":"+", // HEAVY GREEK CROSS
- "\u271B":"+", // OPEN CENTRE CROSS
- "\u271C":"+", // HEAVY OPEN CENTRE CROSS
- "\u271D":"+", // LATIN CROSS
- "\u271E":"+", // SHADOWED WHITE LATIN CROSS
- "\u271F":"+", // OUTLINED LATIN CROSS
- "\u2720":"+", // MALTESE CROSS
- "\u2721":"*", // STAR OF DAVID
- "\u2722":"+", // FOUR TEARDROP-SPOKED ASTERISK
- "\u2723":"+", // FOUR BALLOON-SPOKED ASTERISK
- "\u2724":"+", // HEAVY FOUR BALLOON-SPOKED ASTERISK
- "\u2725":"+", // FOUR CLUB-SPOKED ASTERISK
- "\u2726":"+", // BLACK FOUR POINTED STAR
- "\u2727":"+", // WHITE FOUR POINTED STAR
- "\u2729":"*", // STRESS OUTLINED WHITE STAR
- "\u272A":"*", // CIRCLED WHITE STAR
- "\u272B":"*", // OPEN CENTRE BLACK STAR
- "\u272C":"*", // BLACK CENTRE WHITE STAR
- "\u272D":"*", // OUTLINED BLACK STAR
- "\u272E":"*", // HEAVY OUTLINED BLACK STAR
- "\u272F":"*", // PINWHEEL STAR
- "\u2730":"*", // SHADOWED WHITE STAR
- "\u2731":"*", // HEAVY ASTERISK
- "\u2732":"*", // OPEN CENTRE ASTERISK
- "\u2733":"*", // EIGHT SPOKED ASTERISK
- "\u2734":"*", // EIGHT POINTED BLACK STAR
- "\u2735":"*", // EIGHT POINTED PINWHEEL STAR
- "\u2736":"*", // SIX POINTED BLACK STAR
- "\u2737":"*", // EIGHT POINTED RECTILINEAR BLACK STAR
- "\u2738":"*", // HEAVY EIGHT POINTED RECTILINEAR BLACK STAR
- "\u2739":"*", // TWELVE POINTED BLACK STAR
- "\u273A":"*", // SIXTEEN POINTED ASTERISK
- "\u273B":"*", // TEARDROP-SPOKED ASTERISK
- "\u273C":"*", // OPEN CENTRE TEARDROP-SPOKED ASTERISK
- "\u273D":"*", // HEAVY TEARDROP-SPOKED ASTERISK
- "\u273E":"*", // SIX PETALLED BLACK AND WHITE FLORETTE
- "\u273F":"*", // BLACK FLORETTE
- "\u2740":"*", // WHITE FLORETTE
- "\u2741":"*", // EIGHT PETALLED OUTLINED BLACK FLORETTE
- "\u2742":"*", // CIRCLED OPEN CENTRE EIGHT POINTED STAR
- "\u2743":"*", // HEAVY TEARDROP-SPOKED PINWHEEL ASTERISK
- "\u2744":"*", // SNOWFLAKE
- "\u2745":"*", // TIGHT TRIFOLIATE SNOWFLAKE
- "\u2746":"*", // HEAVY CHEVRON SNOWFLAKE
- "\u2747":"*", // SPARKLE
- "\u2748":"*", // HEAVY SPARKLE
- "\u2749":"*", // BALLOON-SPOKED ASTERISK
- "\u274A":"*", // EIGHT TEARDROP-SPOKED PROPELLER ASTERISK
- "\u274B":"*", // HEAVY EIGHT TEARDROP-SPOKED PROPELLER ASTERISK
- "\uFB00":"ff", // LATIN SMALL LIGATURE FF
- "\uFB01":"fi", // LATIN SMALL LIGATURE FI
- "\uFB02":"fl", // LATIN SMALL LIGATURE FL
- "\uFB03":"ffi", // LATIN SMALL LIGATURE FFI
- "\uFB04":"ffl", // LATIN SMALL LIGATURE FFL
- "\uFB05":"st", // LATIN SMALL LIGATURE LONG S T
- "\uFB06":"st", // LATIN SMALL LIGATURE ST
-/* Derived accented characters */
- "\u00C0":"\\`{A}", // LATIN CAPITAL LETTER A WITH GRAVE
- "\u00C1":"\\'{A}", // LATIN CAPITAL LETTER A WITH ACUTE
- "\u00C2":"\\^{A}", // LATIN CAPITAL LETTER A WITH CIRCUMFLEX
- "\u00C3":"\\~{A}", // LATIN CAPITAL LETTER A WITH TILDE
- "\u00C4":"\\\"{A}", // LATIN CAPITAL LETTER A WITH DIAERESIS
- "\u00C5":"\\r{A}", // LATIN CAPITAL LETTER A WITH RING ABOVE
- "\u00C7":"\\c{C}", // LATIN CAPITAL LETTER C WITH CEDILLA
- "\u00C8":"\\`{E}", // LATIN CAPITAL LETTER E WITH GRAVE
- "\u00C9":"\\'{E}", // LATIN CAPITAL LETTER E WITH ACUTE
- "\u00CA":"\\^{E}", // LATIN CAPITAL LETTER E WITH CIRCUMFLEX
- "\u00CB":"\\\"{E}", // LATIN CAPITAL LETTER E WITH DIAERESIS
- "\u00CC":"\\`{I}", // LATIN CAPITAL LETTER I WITH GRAVE
- "\u00CD":"\\'{I}", // LATIN CAPITAL LETTER I WITH ACUTE
- "\u00CE":"\\^{I}", // LATIN CAPITAL LETTER I WITH CIRCUMFLEX
- "\u00CF":"\\\"{I}", // LATIN CAPITAL LETTER I WITH DIAERESIS
- "\u00D1":"\\~{N}", // LATIN CAPITAL LETTER N WITH TILDE
- "\u00D2":"\\`{O}", // LATIN CAPITAL LETTER O WITH GRAVE
- "\u00D3":"\\'{O}", // LATIN CAPITAL LETTER O WITH ACUTE
- "\u00D4":"\\^{O}", // LATIN CAPITAL LETTER O WITH CIRCUMFLEX
- "\u00D5":"\\~{O}", // LATIN CAPITAL LETTER O WITH TILDE
- "\u00D6":"\\\"{O}", // LATIN CAPITAL LETTER O WITH DIAERESIS
- "\u00D9":"\\`{U}", // LATIN CAPITAL LETTER U WITH GRAVE
- "\u00DA":"\\'{U}", // LATIN CAPITAL LETTER U WITH ACUTE
- "\u00DB":"\\^{U}", // LATIN CAPITAL LETTER U WITH CIRCUMFLEX
- "\u00DC":"\\\"{U}", // LATIN CAPITAL LETTER U WITH DIAERESIS
- "\u00DD":"\\'{Y}", // LATIN CAPITAL LETTER Y WITH ACUTE
- "\u00E0":"\\`{a}", // LATIN SMALL LETTER A WITH GRAVE
- "\u00E1":"\\'{a}", // LATIN SMALL LETTER A WITH ACUTE
- "\u00E2":"\\^{a}", // LATIN SMALL LETTER A WITH CIRCUMFLEX
- "\u00E3":"\\~{a}", // LATIN SMALL LETTER A WITH TILDE
- "\u00E4":"\\\"{a}", // LATIN SMALL LETTER A WITH DIAERESIS
- "\u00E5":"\\r{a}", // LATIN SMALL LETTER A WITH RING ABOVE
- "\u00E7":"\\c{c}", // LATIN SMALL LETTER C WITH CEDILLA
- "\u00E8":"\\`{e}", // LATIN SMALL LETTER E WITH GRAVE
- "\u00E9":"\\'{e}", // LATIN SMALL LETTER E WITH ACUTE
- "\u00EA":"\\^{e}", // LATIN SMALL LETTER E WITH CIRCUMFLEX
- "\u00EB":"\\\"{e}", // LATIN SMALL LETTER E WITH DIAERESIS
- "\u00EC":"\\`{i}", // LATIN SMALL LETTER I WITH GRAVE
- "\u00ED":"\\'{i}", // LATIN SMALL LETTER I WITH ACUTE
- "\u00EE":"\\^{i}", // LATIN SMALL LETTER I WITH CIRCUMFLEX
- "\u00EF":"\\\"{i}", // LATIN SMALL LETTER I WITH DIAERESIS
- "\u00F1":"\\~{n}", // LATIN SMALL LETTER N WITH TILDE
- "\u00F2":"\\`{o}", // LATIN SMALL LETTER O WITH GRAVE
- "\u00F3":"\\'{o}", // LATIN SMALL LETTER O WITH ACUTE
- "\u00F4":"\\^{o}", // LATIN SMALL LETTER O WITH CIRCUMFLEX
- "\u00F5":"\\~{o}", // LATIN SMALL LETTER O WITH TILDE
- "\u00F6":"\\\"{o}", // LATIN SMALL LETTER O WITH DIAERESIS
- "\u00F9":"\\`{u}", // LATIN SMALL LETTER U WITH GRAVE
- "\u00FA":"\\'{u}", // LATIN SMALL LETTER U WITH ACUTE
- "\u00FB":"\\^{u}", // LATIN SMALL LETTER U WITH CIRCUMFLEX
- "\u00FC":"\\\"{u}", // LATIN SMALL LETTER U WITH DIAERESIS
- "\u00FD":"\\'{y}", // LATIN SMALL LETTER Y WITH ACUTE
- "\u00FF":"\\\"{y}", // LATIN SMALL LETTER Y WITH DIAERESIS
- "\u0100":"\\={A}", // LATIN CAPITAL LETTER A WITH MACRON
- "\u0101":"\\={a}", // LATIN SMALL LETTER A WITH MACRON
- "\u0102":"\\u{A}", // LATIN CAPITAL LETTER A WITH BREVE
- "\u0103":"\\u{a}", // LATIN SMALL LETTER A WITH BREVE
- "\u0104":"\\k{A}", // LATIN CAPITAL LETTER A WITH OGONEK
- "\u0105":"\\k{a}", // LATIN SMALL LETTER A WITH OGONEK
- "\u0106":"\\'{C}", // LATIN CAPITAL LETTER C WITH ACUTE
- "\u0107":"\\'{c}", // LATIN SMALL LETTER C WITH ACUTE
- "\u0108":"\\^{C}", // LATIN CAPITAL LETTER C WITH CIRCUMFLEX
- "\u0109":"\\^{c}", // LATIN SMALL LETTER C WITH CIRCUMFLEX
- "\u010A":"\\.{C}", // LATIN CAPITAL LETTER C WITH DOT ABOVE
- "\u010B":"\\.{c}", // LATIN SMALL LETTER C WITH DOT ABOVE
- "\u010C":"\\v{C}", // LATIN CAPITAL LETTER C WITH CARON
- "\u010D":"\\v{c}", // LATIN SMALL LETTER C WITH CARON
- "\u010E":"\\v{D}", // LATIN CAPITAL LETTER D WITH CARON
- "\u010F":"\\v{d}", // LATIN SMALL LETTER D WITH CARON
- "\u0112":"\\={E}", // LATIN CAPITAL LETTER E WITH MACRON
- "\u0113":"\\={e}", // LATIN SMALL LETTER E WITH MACRON
- "\u0114":"\\u{E}", // LATIN CAPITAL LETTER E WITH BREVE
- "\u0115":"\\u{e}", // LATIN SMALL LETTER E WITH BREVE
- "\u0116":"\\.{E}", // LATIN CAPITAL LETTER E WITH DOT ABOVE
- "\u0117":"\\.{e}", // LATIN SMALL LETTER E WITH DOT ABOVE
- "\u0118":"\\k{E}", // LATIN CAPITAL LETTER E WITH OGONEK
- "\u0119":"\\k{e}", // LATIN SMALL LETTER E WITH OGONEK
- "\u011A":"\\v{E}", // LATIN CAPITAL LETTER E WITH CARON
- "\u011B":"\\v{e}", // LATIN SMALL LETTER E WITH CARON
- "\u011C":"\\^{G}", // LATIN CAPITAL LETTER G WITH CIRCUMFLEX
- "\u011D":"\\^{g}", // LATIN SMALL LETTER G WITH CIRCUMFLEX
- "\u011E":"\\u{G}", // LATIN CAPITAL LETTER G WITH BREVE
- "\u011F":"\\u{g}", // LATIN SMALL LETTER G WITH BREVE
- "\u0120":"\\.{G}", // LATIN CAPITAL LETTER G WITH DOT ABOVE
- "\u0121":"\\.{g}", // LATIN SMALL LETTER G WITH DOT ABOVE
- "\u0122":"\\c{G}", // LATIN CAPITAL LETTER G WITH CEDILLA
- "\u0123":"\\c{g}", // LATIN SMALL LETTER G WITH CEDILLA
- "\u0124":"\\^{H}", // LATIN CAPITAL LETTER H WITH CIRCUMFLEX
- "\u0125":"\\^{h}", // LATIN SMALL LETTER H WITH CIRCUMFLEX
- "\u0128":"\\~{I}", // LATIN CAPITAL LETTER I WITH TILDE
- "\u0129":"\\~{i}", // LATIN SMALL LETTER I WITH TILDE
- "\u012A":"\\={I}", // LATIN CAPITAL LETTER I WITH MACRON
- "\u012B":"\\={i}", // LATIN SMALL LETTER I WITH MACRON
- "\u012C":"\\u{I}", // LATIN CAPITAL LETTER I WITH BREVE
- "\u012D":"\\u{i}", // LATIN SMALL LETTER I WITH BREVE
- "\u012E":"\\k{I}", // LATIN CAPITAL LETTER I WITH OGONEK
- "\u012F":"\\k{i}", // LATIN SMALL LETTER I WITH OGONEK
- "\u0130":"\\.{I}", // LATIN CAPITAL LETTER I WITH DOT ABOVE
- "\u0134":"\\^{J}", // LATIN CAPITAL LETTER J WITH CIRCUMFLEX
- "\u0135":"\\^{j}", // LATIN SMALL LETTER J WITH CIRCUMFLEX
- "\u0136":"\\c{K}", // LATIN CAPITAL LETTER K WITH CEDILLA
- "\u0137":"\\c{k}", // LATIN SMALL LETTER K WITH CEDILLA
- "\u0139":"\\'{L}", // LATIN CAPITAL LETTER L WITH ACUTE
- "\u013A":"\\'{l}", // LATIN SMALL LETTER L WITH ACUTE
- "\u013B":"\\c{L}", // LATIN CAPITAL LETTER L WITH CEDILLA
- "\u013C":"\\c{l}", // LATIN SMALL LETTER L WITH CEDILLA
- "\u013D":"\\v{L}", // LATIN CAPITAL LETTER L WITH CARON
- "\u013E":"\\v{l}", // LATIN SMALL LETTER L WITH CARON
- "\u0141":"\\L{}", //LATIN CAPITAL LETTER L WITH STROKE
- "\u0142":"\\l{}", //LATIN SMALL LETTER L WITH STROKE
- "\u0143":"\\'{N}", // LATIN CAPITAL LETTER N WITH ACUTE
- "\u0144":"\\'{n}", // LATIN SMALL LETTER N WITH ACUTE
- "\u0145":"\\c{N}", // LATIN CAPITAL LETTER N WITH CEDILLA
- "\u0146":"\\c{n}", // LATIN SMALL LETTER N WITH CEDILLA
- "\u0147":"\\v{N}", // LATIN CAPITAL LETTER N WITH CARON
- "\u0148":"\\v{n}", // LATIN SMALL LETTER N WITH CARON
- "\u014C":"\\={O}", // LATIN CAPITAL LETTER O WITH MACRON
- "\u014D":"\\={o}", // LATIN SMALL LETTER O WITH MACRON
- "\u014E":"\\u{O}", // LATIN CAPITAL LETTER O WITH BREVE
- "\u014F":"\\u{o}", // LATIN SMALL LETTER O WITH BREVE
- "\u0150":"\\H{O}", // LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
- "\u0151":"\\H{o}", // LATIN SMALL LETTER O WITH DOUBLE ACUTE
- "\u0154":"\\'{R}", // LATIN CAPITAL LETTER R WITH ACUTE
- "\u0155":"\\'{r}", // LATIN SMALL LETTER R WITH ACUTE
- "\u0156":"\\c{R}", // LATIN CAPITAL LETTER R WITH CEDILLA
- "\u0157":"\\c{r}", // LATIN SMALL LETTER R WITH CEDILLA
- "\u0158":"\\v{R}", // LATIN CAPITAL LETTER R WITH CARON
- "\u0159":"\\v{r}", // LATIN SMALL LETTER R WITH CARON
- "\u015A":"\\'{S}", // LATIN CAPITAL LETTER S WITH ACUTE
- "\u015B":"\\'{s}", // LATIN SMALL LETTER S WITH ACUTE
- "\u015C":"\\^{S}", // LATIN CAPITAL LETTER S WITH CIRCUMFLEX
- "\u015D":"\\^{s}", // LATIN SMALL LETTER S WITH CIRCUMFLEX
- "\u015E":"\\c{S}", // LATIN CAPITAL LETTER S WITH CEDILLA
- "\u015F":"\\c{s}", // LATIN SMALL LETTER S WITH CEDILLA
- "\u0160":"\\v{S}", // LATIN CAPITAL LETTER S WITH CARON
- "\u0161":"\\v{s}", // LATIN SMALL LETTER S WITH CARON
- "\u0162":"\\c{T}", // LATIN CAPITAL LETTER T WITH CEDILLA
- "\u0163":"\\c{t}", // LATIN SMALL LETTER T WITH CEDILLA
- "\u0164":"\\v{T}", // LATIN CAPITAL LETTER T WITH CARON
- "\u0165":"\\v{t}", // LATIN SMALL LETTER T WITH CARON
- "\u0168":"\\~{U}", // LATIN CAPITAL LETTER U WITH TILDE
- "\u0169":"\\~{u}", // LATIN SMALL LETTER U WITH TILDE
- "\u016A":"\\={U}", // LATIN CAPITAL LETTER U WITH MACRON
- "\u016B":"\\={u}", // LATIN SMALL LETTER U WITH MACRON
- "\u016C":"\\u{U}", // LATIN CAPITAL LETTER U WITH BREVE
- "\u016D":"\\u{u}", // LATIN SMALL LETTER U WITH BREVE
- "\u0170":"\\H{U}", // LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
- "\u0171":"\\H{u}", // LATIN SMALL LETTER U WITH DOUBLE ACUTE
- "\u0172":"\\k{U}", // LATIN CAPITAL LETTER U WITH OGONEK
- "\u0173":"\\k{u}", // LATIN SMALL LETTER U WITH OGONEK
- "\u0174":"\\^{W}", // LATIN CAPITAL LETTER W WITH CIRCUMFLEX
- "\u0175":"\\^{w}", // LATIN SMALL LETTER W WITH CIRCUMFLEX
- "\u0176":"\\^{Y}", // LATIN CAPITAL LETTER Y WITH CIRCUMFLEX
- "\u0177":"\\^{y}", // LATIN SMALL LETTER Y WITH CIRCUMFLEX
- "\u0178":"\\\"{Y}", // LATIN CAPITAL LETTER Y WITH DIAERESIS
- "\u0179":"\\'{Z}", // LATIN CAPITAL LETTER Z WITH ACUTE
- "\u017A":"\\'{z}", // LATIN SMALL LETTER Z WITH ACUTE
- "\u017B":"\\.{Z}", // LATIN CAPITAL LETTER Z WITH DOT ABOVE
- "\u017C":"\\.{z}", // LATIN SMALL LETTER Z WITH DOT ABOVE
- "\u017D":"\\v{Z}", // LATIN CAPITAL LETTER Z WITH CARON
- "\u017E":"\\v{z}", // LATIN SMALL LETTER Z WITH CARON
- "\u01CD":"\\v{A}", // LATIN CAPITAL LETTER A WITH CARON
- "\u01CE":"\\v{a}", // LATIN SMALL LETTER A WITH CARON
- "\u01CF":"\\v{I}", // LATIN CAPITAL LETTER I WITH CARON
- "\u01D0":"\\v{i}", // LATIN SMALL LETTER I WITH CARON
- "\u01D1":"\\v{O}", // LATIN CAPITAL LETTER O WITH CARON
- "\u01D2":"\\v{o}", // LATIN SMALL LETTER O WITH CARON
- "\u01D3":"\\v{U}", // LATIN CAPITAL LETTER U WITH CARON
- "\u01D4":"\\v{u}", // LATIN SMALL LETTER U WITH CARON
- "\u01E6":"\\v{G}", // LATIN CAPITAL LETTER G WITH CARON
- "\u01E7":"\\v{g}", // LATIN SMALL LETTER G WITH CARON
- "\u01E8":"\\v{K}", // LATIN CAPITAL LETTER K WITH CARON
- "\u01E9":"\\v{k}", // LATIN SMALL LETTER K WITH CARON
- "\u01EA":"\\k{O}", // LATIN CAPITAL LETTER O WITH OGONEK
- "\u01EB":"\\k{o}", // LATIN SMALL LETTER O WITH OGONEK
- "\u01F0":"\\v{j}", // LATIN SMALL LETTER J WITH CARON
- "\u01F4":"\\'{G}", // LATIN CAPITAL LETTER G WITH ACUTE
- "\u01F5":"\\'{g}", // LATIN SMALL LETTER G WITH ACUTE
- "\u1E02":"\\.{B}", // LATIN CAPITAL LETTER B WITH DOT ABOVE
- "\u1E03":"\\.{b}", // LATIN SMALL LETTER B WITH DOT ABOVE
- "\u1E04":"\\d{B}", // LATIN CAPITAL LETTER B WITH DOT BELOW
- "\u1E05":"\\d{b}", // LATIN SMALL LETTER B WITH DOT BELOW
- "\u1E06":"\\b{B}", // LATIN CAPITAL LETTER B WITH LINE BELOW
- "\u1E07":"\\b{b}", // LATIN SMALL LETTER B WITH LINE BELOW
- "\u1E0A":"\\.{D}", // LATIN CAPITAL LETTER D WITH DOT ABOVE
- "\u1E0B":"\\.{d}", // LATIN SMALL LETTER D WITH DOT ABOVE
- "\u1E0C":"\\d{D}", // LATIN CAPITAL LETTER D WITH DOT BELOW
- "\u1E0D":"\\d{d}", // LATIN SMALL LETTER D WITH DOT BELOW
- "\u1E0E":"\\b{D}", // LATIN CAPITAL LETTER D WITH LINE BELOW
- "\u1E0F":"\\b{d}", // LATIN SMALL LETTER D WITH LINE BELOW
- "\u1E10":"\\c{D}", // LATIN CAPITAL LETTER D WITH CEDILLA
- "\u1E11":"\\c{d}", // LATIN SMALL LETTER D WITH CEDILLA
- "\u1E1E":"\\.{F}", // LATIN CAPITAL LETTER F WITH DOT ABOVE
- "\u1E1F":"\\.{f}", // LATIN SMALL LETTER F WITH DOT ABOVE
- "\u1E20":"\\={G}", // LATIN CAPITAL LETTER G WITH MACRON
- "\u1E21":"\\={g}", // LATIN SMALL LETTER G WITH MACRON
- "\u1E22":"\\.{H}", // LATIN CAPITAL LETTER H WITH DOT ABOVE
- "\u1E23":"\\.{h}", // LATIN SMALL LETTER H WITH DOT ABOVE
- "\u1E24":"\\d{H}", // LATIN CAPITAL LETTER H WITH DOT BELOW
- "\u1E25":"\\d{h}", // LATIN SMALL LETTER H WITH DOT BELOW
- "\u1E26":"\\\"{H}", // LATIN CAPITAL LETTER H WITH DIAERESIS
- "\u1E27":"\\\"{h}", // LATIN SMALL LETTER H WITH DIAERESIS
- "\u1E28":"\\c{H}", // LATIN CAPITAL LETTER H WITH CEDILLA
- "\u1E29":"\\c{h}", // LATIN SMALL LETTER H WITH CEDILLA
- "\u1E30":"\\'{K}", // LATIN CAPITAL LETTER K WITH ACUTE
- "\u1E31":"\\'{k}", // LATIN SMALL LETTER K WITH ACUTE
- "\u1E32":"\\d{K}", // LATIN CAPITAL LETTER K WITH DOT BELOW
- "\u1E33":"\\d{k}", // LATIN SMALL LETTER K WITH DOT BELOW
- "\u1E34":"\\b{K}", // LATIN CAPITAL LETTER K WITH LINE BELOW
- "\u1E35":"\\b{k}", // LATIN SMALL LETTER K WITH LINE BELOW
- "\u1E36":"\\d{L}", // LATIN CAPITAL LETTER L WITH DOT BELOW
- "\u1E37":"\\d{l}", // LATIN SMALL LETTER L WITH DOT BELOW
- "\u1E3A":"\\b{L}", // LATIN CAPITAL LETTER L WITH LINE BELOW
- "\u1E3B":"\\b{l}", // LATIN SMALL LETTER L WITH LINE BELOW
- "\u1E3E":"\\'{M}", // LATIN CAPITAL LETTER M WITH ACUTE
- "\u1E3F":"\\'{m}", // LATIN SMALL LETTER M WITH ACUTE
- "\u1E40":"\\.{M}", // LATIN CAPITAL LETTER M WITH DOT ABOVE
- "\u1E41":"\\.{m}", // LATIN SMALL LETTER M WITH DOT ABOVE
- "\u1E42":"\\d{M}", // LATIN CAPITAL LETTER M WITH DOT BELOW
- "\u1E43":"\\d{m}", // LATIN SMALL LETTER M WITH DOT BELOW
- "\u1E44":"\\.{N}", // LATIN CAPITAL LETTER N WITH DOT ABOVE
- "\u1E45":"\\.{n}", // LATIN SMALL LETTER N WITH DOT ABOVE
- "\u1E46":"\\d{N}", // LATIN CAPITAL LETTER N WITH DOT BELOW
- "\u1E47":"\\d{n}", // LATIN SMALL LETTER N WITH DOT BELOW
- "\u1E48":"\\b{N}", // LATIN CAPITAL LETTER N WITH LINE BELOW
- "\u1E49":"\\b{n}", // LATIN SMALL LETTER N WITH LINE BELOW
- "\u1E54":"\\'{P}", // LATIN CAPITAL LETTER P WITH ACUTE
- "\u1E55":"\\'{p}", // LATIN SMALL LETTER P WITH ACUTE
- "\u1E56":"\\.{P}", // LATIN CAPITAL LETTER P WITH DOT ABOVE
- "\u1E57":"\\.{p}", // LATIN SMALL LETTER P WITH DOT ABOVE
- "\u1E58":"\\.{R}", // LATIN CAPITAL LETTER R WITH DOT ABOVE
- "\u1E59":"\\.{r}", // LATIN SMALL LETTER R WITH DOT ABOVE
- "\u1E5A":"\\d{R}", // LATIN CAPITAL LETTER R WITH DOT BELOW
- "\u1E5B":"\\d{r}", // LATIN SMALL LETTER R WITH DOT BELOW
- "\u1E5E":"\\b{R}", // LATIN CAPITAL LETTER R WITH LINE BELOW
- "\u1E5F":"\\b{r}", // LATIN SMALL LETTER R WITH LINE BELOW
- "\u1E60":"\\.{S}", // LATIN CAPITAL LETTER S WITH DOT ABOVE
- "\u1E61":"\\.{s}", // LATIN SMALL LETTER S WITH DOT ABOVE
- "\u1E62":"\\d{S}", // LATIN CAPITAL LETTER S WITH DOT BELOW
- "\u1E63":"\\d{s}", // LATIN SMALL LETTER S WITH DOT BELOW
- "\u1E6A":"\\.{T}", // LATIN CAPITAL LETTER T WITH DOT ABOVE
- "\u1E6B":"\\.{t}", // LATIN SMALL LETTER T WITH DOT ABOVE
- "\u1E6C":"\\d{T}", // LATIN CAPITAL LETTER T WITH DOT BELOW
- "\u1E6D":"\\d{t}", // LATIN SMALL LETTER T WITH DOT BELOW
- "\u1E6E":"\\b{T}", // LATIN CAPITAL LETTER T WITH LINE BELOW
- "\u1E6F":"\\b{t}", // LATIN SMALL LETTER T WITH LINE BELOW
- "\u1E7C":"\\~{V}", // LATIN CAPITAL LETTER V WITH TILDE
- "\u1E7D":"\\~{v}", // LATIN SMALL LETTER V WITH TILDE
- "\u1E7E":"\\d{V}", // LATIN CAPITAL LETTER V WITH DOT BELOW
- "\u1E7F":"\\d{v}", // LATIN SMALL LETTER V WITH DOT BELOW
- "\u1E80":"\\`{W}", // LATIN CAPITAL LETTER W WITH GRAVE
- "\u1E81":"\\`{w}", // LATIN SMALL LETTER W WITH GRAVE
- "\u1E82":"\\'{W}", // LATIN CAPITAL LETTER W WITH ACUTE
- "\u1E83":"\\'{w}", // LATIN SMALL LETTER W WITH ACUTE
- "\u1E84":"\\\"{W}", // LATIN CAPITAL LETTER W WITH DIAERESIS
- "\u1E85":"\\\"{w}", // LATIN SMALL LETTER W WITH DIAERESIS
- "\u1E86":"\\.{W}", // LATIN CAPITAL LETTER W WITH DOT ABOVE
- "\u1E87":"\\.{w}", // LATIN SMALL LETTER W WITH DOT ABOVE
- "\u1E88":"\\d{W}", // LATIN CAPITAL LETTER W WITH DOT BELOW
- "\u1E89":"\\d{w}", // LATIN SMALL LETTER W WITH DOT BELOW
- "\u1E8A":"\\.{X}", // LATIN CAPITAL LETTER X WITH DOT ABOVE
- "\u1E8B":"\\.{x}", // LATIN SMALL LETTER X WITH DOT ABOVE
- "\u1E8C":"\\\"{X}", // LATIN CAPITAL LETTER X WITH DIAERESIS
- "\u1E8D":"\\\"{x}", // LATIN SMALL LETTER X WITH DIAERESIS
- "\u1E8E":"\\.{Y}", // LATIN CAPITAL LETTER Y WITH DOT ABOVE
- "\u1E8F":"\\.{y}", // LATIN SMALL LETTER Y WITH DOT ABOVE
- "\u1E90":"\\^{Z}", // LATIN CAPITAL LETTER Z WITH CIRCUMFLEX
- "\u1E91":"\\^{z}", // LATIN SMALL LETTER Z WITH CIRCUMFLEX
- "\u1E92":"\\d{Z}", // LATIN CAPITAL LETTER Z WITH DOT BELOW
- "\u1E93":"\\d{z}", // LATIN SMALL LETTER Z WITH DOT BELOW
- "\u1E94":"\\b{Z}", // LATIN CAPITAL LETTER Z WITH LINE BELOW
- "\u1E95":"\\b{z}", // LATIN SMALL LETTER Z WITH LINE BELOW
- "\u1E96":"\\b{h}", // LATIN SMALL LETTER H WITH LINE BELOW
- "\u1E97":"\\\"{t}", // LATIN SMALL LETTER T WITH DIAERESIS
- "\u1EA0":"\\d{A}", // LATIN CAPITAL LETTER A WITH DOT BELOW
- "\u1EA1":"\\d{a}", // LATIN SMALL LETTER A WITH DOT BELOW
- "\u1EB8":"\\d{E}", // LATIN CAPITAL LETTER E WITH DOT BELOW
- "\u1EB9":"\\d{e}", // LATIN SMALL LETTER E WITH DOT BELOW
- "\u1EBC":"\\~{E}", // LATIN CAPITAL LETTER E WITH TILDE
- "\u1EBD":"\\~{e}", // LATIN SMALL LETTER E WITH TILDE
- "\u1ECA":"\\d{I}", // LATIN CAPITAL LETTER I WITH DOT BELOW
- "\u1ECB":"\\d{i}", // LATIN SMALL LETTER I WITH DOT BELOW
- "\u1ECC":"\\d{O}", // LATIN CAPITAL LETTER O WITH DOT BELOW
- "\u1ECD":"\\d{o}", // LATIN SMALL LETTER O WITH DOT BELOW
- "\u1EE4":"\\d{U}", // LATIN CAPITAL LETTER U WITH DOT BELOW
- "\u1EE5":"\\d{u}", // LATIN SMALL LETTER U WITH DOT BELOW
- "\u1EF2":"\\`{Y}", // LATIN CAPITAL LETTER Y WITH GRAVE
- "\u1EF3":"\\`{y}", // LATIN SMALL LETTER Y WITH GRAVE
- "\u1EF4":"\\d{Y}", // LATIN CAPITAL LETTER Y WITH DOT BELOW
- "\u1EF5":"\\d{y}", // LATIN SMALL LETTER Y WITH DOT BELOW
- "\u1EF8":"\\~{Y}", // LATIN CAPITAL LETTER Y WITH TILDE
- "\u1EF9":"\\~{y}" // LATIN SMALL LETTER Y WITH TILDE
-};
-
-/* unfortunately the mapping isn't reversible - hence this second table - sigh! */
-var reversemappingTable = {
- "\\url" : "", // strip 'url'
- "\\href" : "", // strip 'href'
- "~" : "\u00A0", // NO-BREAK SPACE
- "{\\textexclamdown}" : "\u00A1", // INVERTED EXCLAMATION MARK
- "{\\textcent}" : "\u00A2", // CENT SIGN
- "{\\textsterling}" : "\u00A3", // POUND SIGN
- "{\\textyen}" : "\u00A5", // YEN SIGN
- "{\\textbrokenbar}" : "\u00A6", // BROKEN BAR
- "{\\textsection}" : "\u00A7", // SECTION SIGN
- "{\\textasciidieresis}" : "\u00A8", // DIAERESIS
- "{\\textcopyright}" : "\u00A9", // COPYRIGHT SIGN
- "{\\textordfeminine}" : "\u00AA", // FEMININE ORDINAL INDICATOR
- "{\\guillemotleft}" : "\u00AB", // LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
- "{\\textlnot}" : "\u00AC", // NOT SIGN
- "{\\textregistered}" : "\u00AE", // REGISTERED SIGN
- "{\\textasciimacron}" : "\u00AF", // MACRON
- "{\\textdegree}" : "\u00B0", // DEGREE SIGN
- "{\\textpm}" : "\u00B1", // PLUS-MINUS SIGN
- "{\\texttwosuperior}" : "\u00B2", // SUPERSCRIPT TWO
- "{\\textthreesuperior}" : "\u00B3", // SUPERSCRIPT THREE
- "{\\textasciiacute}" : "\u00B4", // ACUTE ACCENT
- "{\\textmu}" : "\u00B5", // MICRO SIGN
- "{\\textparagraph}" : "\u00B6", // PILCROW SIGN
- "{\\textperiodcentered}" : "\u00B7", // MIDDLE DOT
- "{\\c\\ }" : "\u00B8", // CEDILLA
- "{\\textonesuperior}" : "\u00B9", // SUPERSCRIPT ONE
- "{\\textordmasculine}" : "\u00BA", // MASCULINE ORDINAL INDICATOR
- "{\\guillemotright}" : "\u00BB", // RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
- "{\\textonequarter}" : "\u00BC", // VULGAR FRACTION ONE QUARTER
- "{\\textonehalf}" : "\u00BD", // VULGAR FRACTION ONE HALF
- "{\\textthreequarters}" : "\u00BE", // VULGAR FRACTION THREE QUARTERS
- "{\\textquestiondown}" : "\u00BF", // INVERTED QUESTION MARK
- "{\\AE}" : "\u00C6", // LATIN CAPITAL LETTER AE
- "{\\DH}" : "\u00D0", // LATIN CAPITAL LETTER ETH
- "{\\texttimes}" : "\u00D7", // MULTIPLICATION SIGN
- "{\\TH}" : "\u00DE", // LATIN CAPITAL LETTER THORN
- "{\\ss}" : "\u00DF", // LATIN SMALL LETTER SHARP S
- "{\\ae}" : "\u00E6", // LATIN SMALL LETTER AE
- "{\\dh}" : "\u00F0", // LATIN SMALL LETTER ETH
- "{\\textdiv}" : "\u00F7", // DIVISION SIGN
- "{\\th}" : "\u00FE", // LATIN SMALL LETTER THORN
- "{\\i}" : "\u0131", // LATIN SMALL LETTER DOTLESS I
- "'n" : "\u0149", // LATIN SMALL LETTER N PRECEDED BY APOSTROPHE
- "{\\NG}" : "\u014A", // LATIN CAPITAL LETTER ENG
- "{\\ng}" : "\u014B", // LATIN SMALL LETTER ENG
- "{\\OE}" : "\u0152", // LATIN CAPITAL LIGATURE OE
- "{\\oe}" : "\u0153", // LATIN SMALL LIGATURE OE
- "{\\textasciicircum}" : "\u02C6", // MODIFIER LETTER CIRCUMFLEX ACCENT
-// "\\~{}" : "\u02DC", // SMALL TILDE
- "{\\textacutedbl}" : "\u02DD", // DOUBLE ACUTE ACCENT
- "{\\textendash}" : "\u2013", // EN DASH
- "{\\textemdash}" : "\u2014", // EM DASH
- "---" : "\u2014", // EM DASH
- "--" : "\u2013", // EN DASH
- "{\\textbardbl}" : "\u2016", // DOUBLE VERTICAL LINE
- "{\\textunderscore}" : "\u2017", // DOUBLE LOW LINE
- "{\\textquoteleft}" : "\u2018", // LEFT SINGLE QUOTATION MARK
- "{\\textquoteright}" : "\u2019", // RIGHT SINGLE QUOTATION MARK
- "{\\quotesinglbase}" : "\u201A", // SINGLE LOW-9 QUOTATION MARK
- "{\\textquotedblleft}" : "\u201C", // LEFT DOUBLE QUOTATION MARK
- "{\\textquotedblright}" : "\u201D", // RIGHT DOUBLE QUOTATION MARK
- "{\\quotedblbase}" : "\u201E", // DOUBLE LOW-9 QUOTATION MARK
-// "{\\quotedblbase}" : "\u201F", // DOUBLE HIGH-REVERSED-9 QUOTATION MARK
- "{\\textdagger}" : "\u2020", // DAGGER
- "{\\textdaggerdbl}" : "\u2021", // DOUBLE DAGGER
- "{\\textbullet}" : "\u2022", // BULLET
- "{\\textellipsis}" : "\u2026", // HORIZONTAL ELLIPSIS
- "{\\textperthousand}" : "\u2030", // PER MILLE SIGN
- "'''" : "\u2034", // TRIPLE PRIME
- "''" : "\u201D", // RIGHT DOUBLE QUOTATION MARK (could be a double prime)
- "``" : "\u201C", // LEFT DOUBLE QUOTATION MARK (could be a reversed double prime)
- "```" : "\u2037", // REVERSED TRIPLE PRIME
- "{\\guilsinglleft}" : "\u2039", // SINGLE LEFT-POINTING ANGLE QUOTATION MARK
- "{\\guilsinglright}" : "\u203A", // SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
- "!!" : "\u203C", // DOUBLE EXCLAMATION MARK
- "{\\textfractionsolidus}" : "\u2044", // FRACTION SLASH
- "?!" : "\u2048", // QUESTION EXCLAMATION MARK
- "!?" : "\u2049", // EXCLAMATION QUESTION MARK
- "$^{0}$" : "\u2070", // SUPERSCRIPT ZERO
- "$^{4}$" : "\u2074", // SUPERSCRIPT FOUR
- "$^{5}$" : "\u2075", // SUPERSCRIPT FIVE
- "$^{6}$" : "\u2076", // SUPERSCRIPT SIX
- "$^{7}$" : "\u2077", // SUPERSCRIPT SEVEN
- "$^{8}$" : "\u2078", // SUPERSCRIPT EIGHT
- "$^{9}$" : "\u2079", // SUPERSCRIPT NINE
- "$^{+}$" : "\u207A", // SUPERSCRIPT PLUS SIGN
- "$^{-}$" : "\u207B", // SUPERSCRIPT MINUS
- "$^{=}$" : "\u207C", // SUPERSCRIPT EQUALS SIGN
- "$^{(}$" : "\u207D", // SUPERSCRIPT LEFT PARENTHESIS
- "$^{)}$" : "\u207E", // SUPERSCRIPT RIGHT PARENTHESIS
- "$^{n}$" : "\u207F", // SUPERSCRIPT LATIN SMALL LETTER N
- "$_{0}$" : "\u2080", // SUBSCRIPT ZERO
- "$_{1}$" : "\u2081", // SUBSCRIPT ONE
- "$_{2}$" : "\u2082", // SUBSCRIPT TWO
- "$_{3}$" : "\u2083", // SUBSCRIPT THREE
- "$_{4}$" : "\u2084", // SUBSCRIPT FOUR
- "$_{5}$" : "\u2085", // SUBSCRIPT FIVE
- "$_{6}$" : "\u2086", // SUBSCRIPT SIX
- "$_{7}$" : "\u2087", // SUBSCRIPT SEVEN
- "$_{8}$" : "\u2088", // SUBSCRIPT EIGHT
- "$_{9}$" : "\u2089", // SUBSCRIPT NINE
- "$_{+}$" : "\u208A", // SUBSCRIPT PLUS SIGN
- "$_{-}$" : "\u208B", // SUBSCRIPT MINUS
- "$_{=}$" : "\u208C", // SUBSCRIPT EQUALS SIGN
- "$_{(}$" : "\u208D", // SUBSCRIPT LEFT PARENTHESIS
- "$_{)}$" : "\u208E", // SUBSCRIPT RIGHT PARENTHESIS
- "{\\texteuro}" : "\u20AC", // EURO SIGN
- "a/c" : "\u2100", // ACCOUNT OF
- "a/s" : "\u2101", // ADDRESSED TO THE SUBJECT
- "{\\textcelsius}" : "\u2103", // DEGREE CELSIUS
- "c/o" : "\u2105", // CARE OF
- "c/u" : "\u2106", // CADA UNA
- "{\\textnumero}" : "\u2116", // NUMERO SIGN
- "{\\textcircledP}" : "\u2117", // SOUND RECORDING COPYRIGHT
- "{\\textservicemark}" : "\u2120", // SERVICE MARK
- "{TEL}" : "\u2121", // TELEPHONE SIGN
- "{\\texttrademark}" : "\u2122", // TRADE MARK SIGN
- "{\\textohm}" : "\u2126", // OHM SIGN
- "{\\textestimated}" : "\u212E", // ESTIMATED SYMBOL
- " 1/3" : "\u2153", // VULGAR FRACTION ONE THIRD
- " 2/3" : "\u2154", // VULGAR FRACTION TWO THIRDS
- " 1/5" : "\u2155", // VULGAR FRACTION ONE FIFTH
- " 2/5" : "\u2156", // VULGAR FRACTION TWO FIFTHS
- " 3/5" : "\u2157", // VULGAR FRACTION THREE FIFTHS
- " 4/5" : "\u2158", // VULGAR FRACTION FOUR FIFTHS
- " 1/6" : "\u2159", // VULGAR FRACTION ONE SIXTH
- " 5/6" : "\u215A", // VULGAR FRACTION FIVE SIXTHS
- " 1/8" : "\u215B", // VULGAR FRACTION ONE EIGHTH
- " 3/8" : "\u215C", // VULGAR FRACTION THREE EIGHTHS
- " 5/8" : "\u215D", // VULGAR FRACTION FIVE EIGHTHS
- " 7/8" : "\u215E", // VULGAR FRACTION SEVEN EIGHTHS
- " 1/" : "\u215F", // FRACTION NUMERATOR ONE
- "{\\textleftarrow}" : "\u2190", // LEFTWARDS ARROW
- "{\\textuparrow}" : "\u2191", // UPWARDS ARROW
- "{\\textrightarrow}" : "\u2192", // RIGHTWARDS ARROW
- "{\\textdownarrow}" : "\u2193", // DOWNWARDS ARROW
- "<->" : "\u2194", // LEFT RIGHT ARROW
- "<=" : "\u21D0", // LEFTWARDS DOUBLE ARROW
- "=>" : "\u21D2", // RIGHTWARDS DOUBLE ARROW
- "<=>" : "\u21D4", // LEFT RIGHT DOUBLE ARROW
- "$\\infty$" : "\u221E", // INFINITY
- "||" : "\u2225", // PARALLEL TO
- "\\~{}" : "\u223C", // TILDE OPERATOR
- "/=" : "\u2260", // NOT EQUAL TO
-// "<=" : "\u2264", // LESS-THAN OR EQUAL TO
- ">=" : "\u2265", // GREATER-THAN OR EQUAL TO
- "<<" : "\u226A", // MUCH LESS-THAN
- ">>" : "\u226B", // MUCH GREATER-THAN
- "(+)" : "\u2295", // CIRCLED PLUS
- "(-)" : "\u2296", // CIRCLED MINUS
- "(x)" : "\u2297", // CIRCLED TIMES
- "(/)" : "\u2298", // CIRCLED DIVISION SLASH
- "|-" : "\u22A2", // RIGHT TACK
- "-|" : "\u22A3", // LEFT TACK
-// "|-" : "\u22A6", // ASSERTION
- "|=" : "\u22A7", // MODELS
-// "|=" : "\u22A8", // TRUE
- "||-" : "\u22A9", // FORCES
- "$\\#$" : "\u22D5", // EQUAL AND PARALLEL TO
- "<<<" : "\u22D8", // VERY MUCH LESS-THAN
- ">>>" : "\u22D9", // VERY MUCH GREATER-THAN
- "{\\textlangle}" : "\u2329", // LEFT-POINTING ANGLE BRACKET
- "{\\textrangle}" : "\u232A", // RIGHT-POINTING ANGLE BRACKET
- "{\\textvisiblespace}" : "\u2423", // OPEN BOX
- "///" : "\u2425", // SYMBOL FOR DELETE FORM TWO
- "{\\textopenbullet}" : "\u25E6", // WHITE BULLET
- ":-(" : "\u2639", // WHITE FROWNING FACE
- ":-)" : "\u263A", // WHITE SMILING FACE
- "(-: " : "\u263B", // BLACK SMILING FACE
-// "$\\#$" : "\u266F", // MUSIC SHARP SIGN
- "$\\%<$" : "\u2701", // UPPER BLADE SCISSORS
-/* "$\\%<$" : "\u2702", // BLACK SCISSORS
- "$\\%<$" : "\u2703", // LOWER BLADE SCISSORS
- "$\\%<$" : "\u2704", // WHITE SCISSORS */
-/* Derived accented characters */
- "\\`{A}" : "\u00C0", // LATIN CAPITAL LETTER A WITH GRAVE
- "\\'{A}" : "\u00C1", // LATIN CAPITAL LETTER A WITH ACUTE
- "\\^{A}" : "\u00C2", // LATIN CAPITAL LETTER A WITH CIRCUMFLEX
- "\\~{A}" : "\u00C3", // LATIN CAPITAL LETTER A WITH TILDE
- "\\\"{A}" : "\u00C4", // LATIN CAPITAL LETTER A WITH DIAERESIS
- "\\r{A}" : "\u00C5", // LATIN CAPITAL LETTER A WITH RING ABOVE
- "\\c{C}" : "\u00C7", // LATIN CAPITAL LETTER C WITH CEDILLA
- "\\`{E}" : "\u00C8", // LATIN CAPITAL LETTER E WITH GRAVE
- "\\'{E}" : "\u00C9", // LATIN CAPITAL LETTER E WITH ACUTE
- "\\^{E}" : "\u00CA", // LATIN CAPITAL LETTER E WITH CIRCUMFLEX
- "\\\"{E}" : "\u00CB", // LATIN CAPITAL LETTER E WITH DIAERESIS
- "\\`{I}" : "\u00CC", // LATIN CAPITAL LETTER I WITH GRAVE
- "\\'{I}" : "\u00CD", // LATIN CAPITAL LETTER I WITH ACUTE
- "\\^{I}" : "\u00CE", // LATIN CAPITAL LETTER I WITH CIRCUMFLEX
- "\\\"{I}" : "\u00CF", // LATIN CAPITAL LETTER I WITH DIAERESIS
- "\\~{N}" : "\u00D1", // LATIN CAPITAL LETTER N WITH TILDE
- "\\`{O}" : "\u00D2", // LATIN CAPITAL LETTER O WITH GRAVE
- "\\'{O}" : "\u00D3", // LATIN CAPITAL LETTER O WITH ACUTE
- "\\^{O}" : "\u00D4", // LATIN CAPITAL LETTER O WITH CIRCUMFLEX
- "\\~{O}" : "\u00D5", // LATIN CAPITAL LETTER O WITH TILDE
- "\\\"{O}" : "\u00D6", // LATIN CAPITAL LETTER O WITH DIAERESIS
- "\\`{U}" : "\u00D9", // LATIN CAPITAL LETTER U WITH GRAVE
- "\\'{U}" : "\u00DA", // LATIN CAPITAL LETTER U WITH ACUTE
- "\\^{U}" : "\u00DB", // LATIN CAPITAL LETTER U WITH CIRCUMFLEX
- "\\\"{U}" : "\u00DC", // LATIN CAPITAL LETTER U WITH DIAERESIS
- "\\'{Y}" : "\u00DD", // LATIN CAPITAL LETTER Y WITH ACUTE
- "\\`{a}" : "\u00E0", // LATIN SMALL LETTER A WITH GRAVE
- "\\'{a}" : "\u00E1", // LATIN SMALL LETTER A WITH ACUTE
- "\\^{a}" : "\u00E2", // LATIN SMALL LETTER A WITH CIRCUMFLEX
- "\\~{a}" : "\u00E3", // LATIN SMALL LETTER A WITH TILDE
- "\\\"{a}" : "\u00E4", // LATIN SMALL LETTER A WITH DIAERESIS
- "\\r{a}" : "\u00E5", // LATIN SMALL LETTER A WITH RING ABOVE
- "\\c{c}" : "\u00E7", // LATIN SMALL LETTER C WITH CEDILLA
- "\\`{e}" : "\u00E8", // LATIN SMALL LETTER E WITH GRAVE
- "\\'{e}" : "\u00E9", // LATIN SMALL LETTER E WITH ACUTE
- "\\^{e}" : "\u00EA", // LATIN SMALL LETTER E WITH CIRCUMFLEX
- "\\\"{e}" : "\u00EB", // LATIN SMALL LETTER E WITH DIAERESIS
- "\\`{i}" : "\u00EC", // LATIN SMALL LETTER I WITH GRAVE
- "\\'{i}" : "\u00ED", // LATIN SMALL LETTER I WITH ACUTE
- "\\^{i}" : "\u00EE", // LATIN SMALL LETTER I WITH CIRCUMFLEX
- "\\\"{i}" : "\u00EF", // LATIN SMALL LETTER I WITH DIAERESIS
- "\\~{n}" : "\u00F1", // LATIN SMALL LETTER N WITH TILDE
- "\\`{o}" : "\u00F2", // LATIN SMALL LETTER O WITH GRAVE
- "\\'{o}" : "\u00F3", // LATIN SMALL LETTER O WITH ACUTE
- "\\^{o}" : "\u00F4", // LATIN SMALL LETTER O WITH CIRCUMFLEX
- "\\~{o}" : "\u00F5", // LATIN SMALL LETTER O WITH TILDE
- "\\\"{o}" : "\u00F6", // LATIN SMALL LETTER O WITH DIAERESIS
- "\\`{u}" : "\u00F9", // LATIN SMALL LETTER U WITH GRAVE
- "\\'{u}" : "\u00FA", // LATIN SMALL LETTER U WITH ACUTE
- "\\^{u}" : "\u00FB", // LATIN SMALL LETTER U WITH CIRCUMFLEX
- "\\\"{u}" : "\u00FC", // LATIN SMALL LETTER U WITH DIAERESIS
- "\\'{y}" : "\u00FD", // LATIN SMALL LETTER Y WITH ACUTE
- "\\\"{y}" : "\u00FF", // LATIN SMALL LETTER Y WITH DIAERESIS
- "\\={A}" : "\u0100", // LATIN CAPITAL LETTER A WITH MACRON
- "\\={a}" : "\u0101", // LATIN SMALL LETTER A WITH MACRON
- "\\u{A}" : "\u0102", // LATIN CAPITAL LETTER A WITH BREVE
- "\\u{a}" : "\u0103", // LATIN SMALL LETTER A WITH BREVE
- "\\k{A}" : "\u0104", // LATIN CAPITAL LETTER A WITH OGONEK
- "\\k{a}" : "\u0105", // LATIN SMALL LETTER A WITH OGONEK
- "\\'{C}" : "\u0106", // LATIN CAPITAL LETTER C WITH ACUTE
- "\\'{c}" : "\u0107", // LATIN SMALL LETTER C WITH ACUTE
- "\\^{C}" : "\u0108", // LATIN CAPITAL LETTER C WITH CIRCUMFLEX
- "\\^{c}" : "\u0109", // LATIN SMALL LETTER C WITH CIRCUMFLEX
- "\\.{C}" : "\u010A", // LATIN CAPITAL LETTER C WITH DOT ABOVE
- "\\.{c}" : "\u010B", // LATIN SMALL LETTER C WITH DOT ABOVE
- "\\v{C}" : "\u010C", // LATIN CAPITAL LETTER C WITH CARON
- "\\v{c}" : "\u010D", // LATIN SMALL LETTER C WITH CARON
- "\\v{D}" : "\u010E", // LATIN CAPITAL LETTER D WITH CARON
- "\\v{d}" : "\u010F", // LATIN SMALL LETTER D WITH CARON
- "\\={E}" : "\u0112", // LATIN CAPITAL LETTER E WITH MACRON
- "\\={e}" : "\u0113", // LATIN SMALL LETTER E WITH MACRON
- "\\u{E}" : "\u0114", // LATIN CAPITAL LETTER E WITH BREVE
- "\\u{e}" : "\u0115", // LATIN SMALL LETTER E WITH BREVE
- "\\.{E}" : "\u0116", // LATIN CAPITAL LETTER E WITH DOT ABOVE
- "\\.{e}" : "\u0117", // LATIN SMALL LETTER E WITH DOT ABOVE
- "\\k{E}" : "\u0118", // LATIN CAPITAL LETTER E WITH OGONEK
- "\\k{e}" : "\u0119", // LATIN SMALL LETTER E WITH OGONEK
- "\\v{E}" : "\u011A", // LATIN CAPITAL LETTER E WITH CARON
- "\\v{e}" : "\u011B", // LATIN SMALL LETTER E WITH CARON
- "\\^{G}" : "\u011C", // LATIN CAPITAL LETTER G WITH CIRCUMFLEX
- "\\^{g}" : "\u011D", // LATIN SMALL LETTER G WITH CIRCUMFLEX
- "\\u{G}" : "\u011E", // LATIN CAPITAL LETTER G WITH BREVE
- "\\u{g}" : "\u011F", // LATIN SMALL LETTER G WITH BREVE
- "\\.{G}" : "\u0120", // LATIN CAPITAL LETTER G WITH DOT ABOVE
- "\\.{g}" : "\u0121", // LATIN SMALL LETTER G WITH DOT ABOVE
- "\\c{G}" : "\u0122", // LATIN CAPITAL LETTER G WITH CEDILLA
- "\\c{g}" : "\u0123", // LATIN SMALL LETTER G WITH CEDILLA
- "\\^{H}" : "\u0124", // LATIN CAPITAL LETTER H WITH CIRCUMFLEX
- "\\^{h}" : "\u0125", // LATIN SMALL LETTER H WITH CIRCUMFLEX
- "\\~{I}" : "\u0128", // LATIN CAPITAL LETTER I WITH TILDE
- "\\~{i}" : "\u0129", // LATIN SMALL LETTER I WITH TILDE
- "\\={I}" : "\u012A", // LATIN CAPITAL LETTER I WITH MACRON
- "\\={i}" : "\u012B", // LATIN SMALL LETTER I WITH MACRON
- "\\u{I}" : "\u012C", // LATIN CAPITAL LETTER I WITH BREVE
- "\\u{i}" : "\u012D", // LATIN SMALL LETTER I WITH BREVE
- "\\k{I}" : "\u012E", // LATIN CAPITAL LETTER I WITH OGONEK
- "\\k{i}" : "\u012F", // LATIN SMALL LETTER I WITH OGONEK
- "\\.{I}" : "\u0130", // LATIN CAPITAL LETTER I WITH DOT ABOVE
- "\\^{J}" : "\u0134", // LATIN CAPITAL LETTER J WITH CIRCUMFLEX
- "\\^{j}" : "\u0135", // LATIN SMALL LETTER J WITH CIRCUMFLEX
- "\\c{K}" : "\u0136", // LATIN CAPITAL LETTER K WITH CEDILLA
- "\\c{k}" : "\u0137", // LATIN SMALL LETTER K WITH CEDILLA
- "\\'{L}" : "\u0139", // LATIN CAPITAL LETTER L WITH ACUTE
- "\\'{l}" : "\u013A", // LATIN SMALL LETTER L WITH ACUTE
- "\\c{L}" : "\u013B", // LATIN CAPITAL LETTER L WITH CEDILLA
- "\\c{l}" : "\u013C", // LATIN SMALL LETTER L WITH CEDILLA
- "\\v{L}" : "\u013D", // LATIN CAPITAL LETTER L WITH CARON
- "\\v{l}" : "\u013E", // LATIN SMALL LETTER L WITH CARON
- "\\L{}" : "\u0141", //LATIN CAPITAL LETTER L WITH STROKE
- "\\l{}" : "\u0142", //LATIN SMALL LETTER L WITH STROKE
- "\\'{N}" : "\u0143", // LATIN CAPITAL LETTER N WITH ACUTE
- "\\'{n}" : "\u0144", // LATIN SMALL LETTER N WITH ACUTE
- "\\c{N}" : "\u0145", // LATIN CAPITAL LETTER N WITH CEDILLA
- "\\c{n}" : "\u0146", // LATIN SMALL LETTER N WITH CEDILLA
- "\\v{N}" : "\u0147", // LATIN CAPITAL LETTER N WITH CARON
- "\\v{n}" : "\u0148", // LATIN SMALL LETTER N WITH CARON
- "\\={O}" : "\u014C", // LATIN CAPITAL LETTER O WITH MACRON
- "\\={o}" : "\u014D", // LATIN SMALL LETTER O WITH MACRON
- "\\u{O}" : "\u014E", // LATIN CAPITAL LETTER O WITH BREVE
- "\\u{o}" : "\u014F", // LATIN SMALL LETTER O WITH BREVE
- "\\H{O}" : "\u0150", // LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
- "\\H{o}" : "\u0151", // LATIN SMALL LETTER O WITH DOUBLE ACUTE
- "\\'{R}" : "\u0154", // LATIN CAPITAL LETTER R WITH ACUTE
- "\\'{r}" : "\u0155", // LATIN SMALL LETTER R WITH ACUTE
- "\\c{R}" : "\u0156", // LATIN CAPITAL LETTER R WITH CEDILLA
- "\\c{r}" : "\u0157", // LATIN SMALL LETTER R WITH CEDILLA
- "\\v{R}" : "\u0158", // LATIN CAPITAL LETTER R WITH CARON
- "\\v{r}" : "\u0159", // LATIN SMALL LETTER R WITH CARON
- "\\'{S}" : "\u015A", // LATIN CAPITAL LETTER S WITH ACUTE
- "\\'{s}" : "\u015B", // LATIN SMALL LETTER S WITH ACUTE
- "\\^{S}" : "\u015C", // LATIN CAPITAL LETTER S WITH CIRCUMFLEX
- "\\^{s}" : "\u015D", // LATIN SMALL LETTER S WITH CIRCUMFLEX
- "\\c{S}" : "\u015E", // LATIN CAPITAL LETTER S WITH CEDILLA
- "\\c{s}" : "\u015F", // LATIN SMALL LETTER S WITH CEDILLA
- "\\v{S}" : "\u0160", // LATIN CAPITAL LETTER S WITH CARON
- "\\v{s}" : "\u0161", // LATIN SMALL LETTER S WITH CARON
- "\\c{T}" : "\u0162", // LATIN CAPITAL LETTER T WITH CEDILLA
- "\\c{t}" : "\u0163", // LATIN SMALL LETTER T WITH CEDILLA
- "\\v{T}" : "\u0164", // LATIN CAPITAL LETTER T WITH CARON
- "\\v{t}" : "\u0165", // LATIN SMALL LETTER T WITH CARON
- "\\~{U}" : "\u0168", // LATIN CAPITAL LETTER U WITH TILDE
- "\\~{u}" : "\u0169", // LATIN SMALL LETTER U WITH TILDE
- "\\={U}" : "\u016A", // LATIN CAPITAL LETTER U WITH MACRON
- "\\={u}" : "\u016B", // LATIN SMALL LETTER U WITH MACRON
- "\\u{U}" : "\u016C", // LATIN CAPITAL LETTER U WITH BREVE
- "\\u{u}" : "\u016D", // LATIN SMALL LETTER U WITH BREVE
- "\\H{U}" : "\u0170", // LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
- "\\H{u}" : "\u0171", // LATIN SMALL LETTER U WITH DOUBLE ACUTE
- "\\k{U}" : "\u0172", // LATIN CAPITAL LETTER U WITH OGONEK
- "\\k{u}" : "\u0173", // LATIN SMALL LETTER U WITH OGONEK
- "\\^{W}" : "\u0174", // LATIN CAPITAL LETTER W WITH CIRCUMFLEX
- "\\^{w}" : "\u0175", // LATIN SMALL LETTER W WITH CIRCUMFLEX
- "\\^{Y}" : "\u0176", // LATIN CAPITAL LETTER Y WITH CIRCUMFLEX
- "\\^{y}" : "\u0177", // LATIN SMALL LETTER Y WITH CIRCUMFLEX
- "\\\"{Y}" : "\u0178", // LATIN CAPITAL LETTER Y WITH DIAERESIS
- "\\'{Z}" : "\u0179", // LATIN CAPITAL LETTER Z WITH ACUTE
- "\\'{z}" : "\u017A", // LATIN SMALL LETTER Z WITH ACUTE
- "\\.{Z}" : "\u017B", // LATIN CAPITAL LETTER Z WITH DOT ABOVE
- "\\.{z}" : "\u017C", // LATIN SMALL LETTER Z WITH DOT ABOVE
- "\\v{Z}" : "\u017D", // LATIN CAPITAL LETTER Z WITH CARON
- "\\v{z}" : "\u017E", // LATIN SMALL LETTER Z WITH CARON
- "\\v{A}" : "\u01CD", // LATIN CAPITAL LETTER A WITH CARON
- "\\v{a}" : "\u01CE", // LATIN SMALL LETTER A WITH CARON
- "\\v{I}" : "\u01CF", // LATIN CAPITAL LETTER I WITH CARON
- "\\v{i}" : "\u01D0", // LATIN SMALL LETTER I WITH CARON
- "\\v{O}" : "\u01D1", // LATIN CAPITAL LETTER O WITH CARON
- "\\v{o}" : "\u01D2", // LATIN SMALL LETTER O WITH CARON
- "\\v{U}" : "\u01D3", // LATIN CAPITAL LETTER U WITH CARON
- "\\v{u}" : "\u01D4", // LATIN SMALL LETTER U WITH CARON
- "\\v{G}" : "\u01E6", // LATIN CAPITAL LETTER G WITH CARON
- "\\v{g}" : "\u01E7", // LATIN SMALL LETTER G WITH CARON
- "\\v{K}" : "\u01E8", // LATIN CAPITAL LETTER K WITH CARON
- "\\v{k}" : "\u01E9", // LATIN SMALL LETTER K WITH CARON
- "\\k{O}" : "\u01EA", // LATIN CAPITAL LETTER O WITH OGONEK
- "\\k{o}" : "\u01EB", // LATIN SMALL LETTER O WITH OGONEK
- "\\v{j}" : "\u01F0", // LATIN SMALL LETTER J WITH CARON
- "\\'{G}" : "\u01F4", // LATIN CAPITAL LETTER G WITH ACUTE
- "\\'{g}" : "\u01F5", // LATIN SMALL LETTER G WITH ACUTE
- "\\.{B}" : "\u1E02", // LATIN CAPITAL LETTER B WITH DOT ABOVE
- "\\.{b}" : "\u1E03", // LATIN SMALL LETTER B WITH DOT ABOVE
- "\\d{B}" : "\u1E04", // LATIN CAPITAL LETTER B WITH DOT BELOW
- "\\d{b}" : "\u1E05", // LATIN SMALL LETTER B WITH DOT BELOW
- "\\b{B}" : "\u1E06", // LATIN CAPITAL LETTER B WITH LINE BELOW
- "\\b{b}" : "\u1E07", // LATIN SMALL LETTER B WITH LINE BELOW
- "\\.{D}" : "\u1E0A", // LATIN CAPITAL LETTER D WITH DOT ABOVE
- "\\.{d}" : "\u1E0B", // LATIN SMALL LETTER D WITH DOT ABOVE
- "\\d{D}" : "\u1E0C", // LATIN CAPITAL LETTER D WITH DOT BELOW
- "\\d{d}" : "\u1E0D", // LATIN SMALL LETTER D WITH DOT BELOW
- "\\b{D}" : "\u1E0E", // LATIN CAPITAL LETTER D WITH LINE BELOW
- "\\b{d}" : "\u1E0F", // LATIN SMALL LETTER D WITH LINE BELOW
- "\\c{D}" : "\u1E10", // LATIN CAPITAL LETTER D WITH CEDILLA
- "\\c{d}" : "\u1E11", // LATIN SMALL LETTER D WITH CEDILLA
- "\\.{F}" : "\u1E1E", // LATIN CAPITAL LETTER F WITH DOT ABOVE
- "\\.{f}" : "\u1E1F", // LATIN SMALL LETTER F WITH DOT ABOVE
- "\\={G}" : "\u1E20", // LATIN CAPITAL LETTER G WITH MACRON
- "\\={g}" : "\u1E21", // LATIN SMALL LETTER G WITH MACRON
- "\\.{H}" : "\u1E22", // LATIN CAPITAL LETTER H WITH DOT ABOVE
- "\\.{h}" : "\u1E23", // LATIN SMALL LETTER H WITH DOT ABOVE
- "\\d{H}" : "\u1E24", // LATIN CAPITAL LETTER H WITH DOT BELOW
- "\\d{h}" : "\u1E25", // LATIN SMALL LETTER H WITH DOT BELOW
- "\\\"{H}" : "\u1E26", // LATIN CAPITAL LETTER H WITH DIAERESIS
- "\\\"{h}" : "\u1E27", // LATIN SMALL LETTER H WITH DIAERESIS
- "\\c{H}" : "\u1E28", // LATIN CAPITAL LETTER H WITH CEDILLA
- "\\c{h}" : "\u1E29", // LATIN SMALL LETTER H WITH CEDILLA
- "\\'{K}" : "\u1E30", // LATIN CAPITAL LETTER K WITH ACUTE
- "\\'{k}" : "\u1E31", // LATIN SMALL LETTER K WITH ACUTE
- "\\d{K}" : "\u1E32", // LATIN CAPITAL LETTER K WITH DOT BELOW
- "\\d{k}" : "\u1E33", // LATIN SMALL LETTER K WITH DOT BELOW
- "\\b{K}" : "\u1E34", // LATIN CAPITAL LETTER K WITH LINE BELOW
- "\\b{k}" : "\u1E35", // LATIN SMALL LETTER K WITH LINE BELOW
- "\\d{L}" : "\u1E36", // LATIN CAPITAL LETTER L WITH DOT BELOW
- "\\d{l}" : "\u1E37", // LATIN SMALL LETTER L WITH DOT BELOW
- "\\b{L}" : "\u1E3A", // LATIN CAPITAL LETTER L WITH LINE BELOW
- "\\b{l}" : "\u1E3B", // LATIN SMALL LETTER L WITH LINE BELOW
- "\\'{M}" : "\u1E3E", // LATIN CAPITAL LETTER M WITH ACUTE
- "\\'{m}" : "\u1E3F", // LATIN SMALL LETTER M WITH ACUTE
- "\\.{M}" : "\u1E40", // LATIN CAPITAL LETTER M WITH DOT ABOVE
- "\\.{m}" : "\u1E41", // LATIN SMALL LETTER M WITH DOT ABOVE
- "\\d{M}" : "\u1E42", // LATIN CAPITAL LETTER M WITH DOT BELOW
- "\\d{m}" : "\u1E43", // LATIN SMALL LETTER M WITH DOT BELOW
- "\\.{N}" : "\u1E44", // LATIN CAPITAL LETTER N WITH DOT ABOVE
- "\\.{n}" : "\u1E45", // LATIN SMALL LETTER N WITH DOT ABOVE
- "\\d{N}" : "\u1E46", // LATIN CAPITAL LETTER N WITH DOT BELOW
- "\\d{n}" : "\u1E47", // LATIN SMALL LETTER N WITH DOT BELOW
- "\\b{N}" : "\u1E48", // LATIN CAPITAL LETTER N WITH LINE BELOW
- "\\b{n}" : "\u1E49", // LATIN SMALL LETTER N WITH LINE BELOW
- "\\'{P}" : "\u1E54", // LATIN CAPITAL LETTER P WITH ACUTE
- "\\'{p}" : "\u1E55", // LATIN SMALL LETTER P WITH ACUTE
- "\\.{P}" : "\u1E56", // LATIN CAPITAL LETTER P WITH DOT ABOVE
- "\\.{p}" : "\u1E57", // LATIN SMALL LETTER P WITH DOT ABOVE
- "\\.{R}" : "\u1E58", // LATIN CAPITAL LETTER R WITH DOT ABOVE
- "\\.{r}" : "\u1E59", // LATIN SMALL LETTER R WITH DOT ABOVE
- "\\d{R}" : "\u1E5A", // LATIN CAPITAL LETTER R WITH DOT BELOW
- "\\d{r}" : "\u1E5B", // LATIN SMALL LETTER R WITH DOT BELOW
- "\\b{R}" : "\u1E5E", // LATIN CAPITAL LETTER R WITH LINE BELOW
- "\\b{r}" : "\u1E5F", // LATIN SMALL LETTER R WITH LINE BELOW
- "\\.{S}" : "\u1E60", // LATIN CAPITAL LETTER S WITH DOT ABOVE
- "\\.{s}" : "\u1E61", // LATIN SMALL LETTER S WITH DOT ABOVE
- "\\d{S}" : "\u1E62", // LATIN CAPITAL LETTER S WITH DOT BELOW
- "\\d{s}" : "\u1E63", // LATIN SMALL LETTER S WITH DOT BELOW
- "\\.{T}" : "\u1E6A", // LATIN CAPITAL LETTER T WITH DOT ABOVE
- "\\.{t}" : "\u1E6B", // LATIN SMALL LETTER T WITH DOT ABOVE
- "\\d{T}" : "\u1E6C", // LATIN CAPITAL LETTER T WITH DOT BELOW
- "\\d{t}" : "\u1E6D", // LATIN SMALL LETTER T WITH DOT BELOW
- "\\b{T}" : "\u1E6E", // LATIN CAPITAL LETTER T WITH LINE BELOW
- "\\b{t}" : "\u1E6F", // LATIN SMALL LETTER T WITH LINE BELOW
- "\\~{V}" : "\u1E7C", // LATIN CAPITAL LETTER V WITH TILDE
- "\\~{v}" : "\u1E7D", // LATIN SMALL LETTER V WITH TILDE
- "\\d{V}" : "\u1E7E", // LATIN CAPITAL LETTER V WITH DOT BELOW
- "\\d{v}" : "\u1E7F", // LATIN SMALL LETTER V WITH DOT BELOW
- "\\`{W}" : "\u1E80", // LATIN CAPITAL LETTER W WITH GRAVE
- "\\`{w}" : "\u1E81", // LATIN SMALL LETTER W WITH GRAVE
- "\\'{W}" : "\u1E82", // LATIN CAPITAL LETTER W WITH ACUTE
- "\\'{w}" : "\u1E83", // LATIN SMALL LETTER W WITH ACUTE
- "\\\"{W}" : "\u1E84", // LATIN CAPITAL LETTER W WITH DIAERESIS
- "\\\"{w}" : "\u1E85", // LATIN SMALL LETTER W WITH DIAERESIS
- "\\.{W}" : "\u1E86", // LATIN CAPITAL LETTER W WITH DOT ABOVE
- "\\.{w}" : "\u1E87", // LATIN SMALL LETTER W WITH DOT ABOVE
- "\\d{W}" : "\u1E88", // LATIN CAPITAL LETTER W WITH DOT BELOW
- "\\d{w}" : "\u1E89", // LATIN SMALL LETTER W WITH DOT BELOW
- "\\.{X}" : "\u1E8A", // LATIN CAPITAL LETTER X WITH DOT ABOVE
- "\\.{x}" : "\u1E8B", // LATIN SMALL LETTER X WITH DOT ABOVE
- "\\\"{X}" : "\u1E8C", // LATIN CAPITAL LETTER X WITH DIAERESIS
- "\\\"{x}" : "\u1E8D", // LATIN SMALL LETTER X WITH DIAERESIS
- "\\.{Y}" : "\u1E8E", // LATIN CAPITAL LETTER Y WITH DOT ABOVE
- "\\.{y}" : "\u1E8F", // LATIN SMALL LETTER Y WITH DOT ABOVE
- "\\^{Z}" : "\u1E90", // LATIN CAPITAL LETTER Z WITH CIRCUMFLEX
- "\\^{z}" : "\u1E91", // LATIN SMALL LETTER Z WITH CIRCUMFLEX
- "\\d{Z}" : "\u1E92", // LATIN CAPITAL LETTER Z WITH DOT BELOW
- "\\d{z}" : "\u1E93", // LATIN SMALL LETTER Z WITH DOT BELOW
- "\\b{Z}" : "\u1E94", // LATIN CAPITAL LETTER Z WITH LINE BELOW
- "\\b{z}" : "\u1E95", // LATIN SMALL LETTER Z WITH LINE BELOW
- "\\b{h}" : "\u1E96", // LATIN SMALL LETTER H WITH LINE BELOW
- "\\\"{t}" : "\u1E97", // LATIN SMALL LETTER T WITH DIAERESIS
- "\\d{A}" : "\u1EA0", // LATIN CAPITAL LETTER A WITH DOT BELOW
- "\\d{a}" : "\u1EA1", // LATIN SMALL LETTER A WITH DOT BELOW
- "\\d{E}" : "\u1EB8", // LATIN CAPITAL LETTER E WITH DOT BELOW
- "\\d{e}" : "\u1EB9", // LATIN SMALL LETTER E WITH DOT BELOW
- "\\~{E}" : "\u1EBC", // LATIN CAPITAL LETTER E WITH TILDE
- "\\~{e}" : "\u1EBD", // LATIN SMALL LETTER E WITH TILDE
- "\\d{I}" : "\u1ECA", // LATIN CAPITAL LETTER I WITH DOT BELOW
- "\\d{i}" : "\u1ECB", // LATIN SMALL LETTER I WITH DOT BELOW
- "\\d{O}" : "\u1ECC", // LATIN CAPITAL LETTER O WITH DOT BELOW
- "\\d{o}" : "\u1ECD", // LATIN SMALL LETTER O WITH DOT BELOW
- "\\d{U}" : "\u1EE4", // LATIN CAPITAL LETTER U WITH DOT BELOW
- "\\d{u}" : "\u1EE5", // LATIN SMALL LETTER U WITH DOT BELOW
- "\\`{Y}" : "\u1EF2", // LATIN CAPITAL LETTER Y WITH GRAVE
- "\\`{y}" : "\u1EF3", // LATIN SMALL LETTER Y WITH GRAVE
- "\\d{Y}" : "\u1EF4", // LATIN CAPITAL LETTER Y WITH DOT BELOW
- "\\d{y}" : "\u1EF5", // LATIN SMALL LETTER Y WITH DOT BELOW
- "\\~{Y}" : "\u1EF8", // LATIN CAPITAL LETTER Y WITH TILDE
- "\\~{y}" : "\u1EF9" // LATIN SMALL LETTER Y WITH TILDE
+var jabref = {
+ format: null,
+ root: {}
};
var alwaysMap = {
@@ -1545,13 +221,35 @@ var alwaysMap = {
">":"{\\textgreater}",
"~":"{\\textasciitilde}",
"^":"{\\textasciicircum}",
- "\\":"{\\textbackslash}"
+ "\\":"{\\textbackslash}",
+ "{" : "\\{",
+ "}" : "\\}"
};
+
var strings = {};
var keyRe = /[a-zA-Z0-9\-]/;
+var keywordSplitOnSpace = true;
+var keywordDelimRe = '\\s*[,;]\\s*';
+var keywordDelimReFlags = '';
-function processField(item, field, value) {
+function setKeywordSplitOnSpace( val ) {
+ keywordSplitOnSpace = val;
+}
+
+function setKeywordDelimRe( val, flags ) {
+ //expect string, but it could be RegExp
+ if(typeof(val) != 'string') {
+ keywordDelimRe = val.toString().slice(1, val.toString().lastIndexOf('/'));
+ keywordDelimReFlags = val.toString().slice(val.toString().lastIndexOf('/')+1);
+ } else {
+ keywordDelimRe = val;
+ keywordDelimReFlags = flags;
+ }
+}
+
+function processField(item, field, value, rawValue) {
+ if(Zotero.Utilities.trim(value) == '') return null;
if(fieldMap[field]) {
item[fieldMap[field]] = value;
} else if(inputFieldMap[field]) {
@@ -1564,20 +262,40 @@ function processField(item, field, value) {
}
} else if(field == "fjournal") {
if(item.publicationTitle) {
- // move publicationTitle to abbreviation
- item.journalAbbreviation = value;
+ // move publicationTitle to abbreviation, since itprobably came from 'journal'
+ item.journalAbbreviation = item.publicationTitle;
}
item.publicationTitle = value;
} else if(field == "author" || field == "editor" || field == "translator") {
// parse authors/editors/translators
- var names = value.split(/ and /i); // now case insensitive
- for each(var name in names) {
+ var names = splitUnprotected(rawValue.trim(), /\sand\s/gi);
+ for(var i in names) {
+ var name = names[i];
// skip empty names
- if (Zotero.Utilities.trim(name) == '') {
- continue;
+ if (!name) continue;
+
+ // Names in BibTeX can have three commas
+ pieces = splitUnprotected(name, /\s*,\s*/g);
+ var creator = {};
+ if (pieces.length > 1) {
+ creator.firstName = pieces.pop();
+ creator.lastName = unescapeBibTeX(pieces.shift());
+ if(pieces.length) {
+ // If anything is left, it should only be the 'Jr' part
+ creator.firstName += ', ' + pieces.join(', ');
+ }
+ creator.firstName = unescapeBibTeX(creator.firstName);
+ creator.creatorType = field;
+ } else if(splitUnprotected(name, / +/g).length > 1){
+ creator = Zotero.Utilities.cleanAuthor(unescapeBibTeX(name), field, false);
+ } else {
+ creator = {
+ lastName: unescapeBibTeX(name),
+ creatorType: field,
+ fieldMode: 1
+ }
}
- item.creators.push(Zotero.Utilities.cleanAuthor(name, field,
- (name.indexOf(",") != -1)));
+ item.creators.push(creator);
}
} else if(field == "institution" || field == "organization") {
item.backupPublisher = value;
@@ -1586,6 +304,8 @@ function processField(item, field, value) {
item.reportNumber = value;
} else if (item.itemType == "book" || item.itemType == "bookSection") {
item.seriesNumber = value;
+ } else if (item.itemType == "patent"){
+ item.patentNumber = value;
} else {
item.issue = value;
}
@@ -1616,6 +336,9 @@ function processField(item, field, value) {
} else {
item.date = value;
}
+ } else if(field == "date") {
+ //We're going to assume that "date" and the date parts don't occur together. If they do, we pick date, which should hold all.
+ item.date = value;
} else if(field == "pages") {
if (item.itemType == "book" || item.itemType == "thesis" || item.itemType == "manuscript") {
item.numPages = value;
@@ -1624,46 +347,175 @@ function processField(item, field, value) {
item.pages = value.replace(/--/g, "-");
}
} else if(field == "note") {
- item.extra += "\n"+value;
+ item._extraFields.push({raw: value.trim()});
} else if(field == "howpublished") {
if(value.length >= 7) {
var str = value.substr(0, 7);
if(str == "http://" || str == "https:/" || str == "mailto:") {
item.url = value;
} else {
- item.extra += "\nPublished: "+value;
+ item._extraFields.push({field: 'Published', value: value});
}
}
- } else if(field == "keywords") {
- if(value.indexOf(",") == -1) {
+
+ }
+ //accept lastchecked or urldate for access date. These should never both occur.
+ //If they do we don't know which is better so we might as well just take the second one
+ else if (field == "lastchecked"|| field == "urldate"){
+ item.accessDate = value;
+ } else if(field == "keywords" || field == "keyword") {
+ var re = new RegExp(keywordDelimRe, keywordDelimReFlags);
+ if(!value.match(re) && keywordSplitOnSpace) {
// keywords/tags
- item.tags = value.split(" ");
+ item.tags = value.split(/\s+/);
} else {
- item.tags = value.split(/, ?/g);
+ item.tags = value.split(re);
}
- } else if (field == "comment" || field == "annote" || field == "review") {
- item.notes.push({note:value});
- } else if (field == "pdf") {
- if (/:\/\//.test(value)) { // a full uri is given
- item.attachments = [{url:value, mimeType:"application/pdf", downloadable:true}];
- } else { // if no uri is given, assume that it is an absolute path to the PDF
- item.attachments = [{url:"file://"+value, mimeType:"application/pdf"}];
- }
- } else if (field == "sentelink") { // the reference manager 'Sente' has a unique file scheme in exported BibTeX
- item.attachments = [{url:value.split(",")[0], mimeType:"application/pdf", downloadable:true}];
+ } else if (field == "comment" || field == "annote" || field == "review" || field == "notes") {
+ item.notes.push({note:Zotero.Utilities.text2html(value)});
+ } else if (field == "pdf" || field == "path" /*Papers2 compatibility*/) {
+ item.attachments.push({path:value, mimeType:"application/pdf"});
+ } else if (field == "sentelink") { // the reference manager 'Sente' has a unique file scheme in exported BibTeX; it can occur multiple times
+ item.attachments.push({path:value.split(",")[0], mimeType:"application/pdf"});
} else if (field == "file") {
- for each(var attachment in value.split(";")){
- var [filetitle, filepath, filetype] = attachment.split(":");
- if (filetitle.length == 0) {
- filetitle = "Attachment";
+ var start = 0, attachment;
+ rawValue = rawValue.replace(/\$\\backslash\$/g, '\\') // Mendeley invention?
+ .replace(/([^\\](?:\\\\)*)\\(.){}/g, '$1$2'); // part of Mendeley's escaping (e.g. \~{} = ~)
+ for(var i=0; inextPossibleSplit.index) {
+ // Must have been inside braces
+ nextPossibleSplit = delim.exec(str);
+ if(!nextPossibleSplit) {
+ parts.push(str.substr(nextPartStart));
+ return parts;
+ }
+ }
+
+ if(str[i] == '\\') {
+ // Skip next character
+ i++;
+ continue;
+ }
+
+ if(str[i] == '{') {
+ open++;
+ continue;
+ }
+
+ if(str[i] == '}') {
+ open--;
+ if(open < 0) open = 0; // Shouldn't happen, but...
+ continue;
+ }
+
+ if(open) continue;
+
+ if(i == nextPossibleSplit.index) {
+ parts.push(str.substring(nextPartStart, i));
+ i += nextPossibleSplit[0].length - 1; // We can jump past the split delim
+ nextPartStart = i + 1;
+ nextPossibleSplit = delim.exec(str);
+ if(!nextPossibleSplit) {
+ parts.push(str.substr(nextPartStart));
+ return parts;
}
}
}
+
+ // I don't think we should ever get here*, but just to be safe
+ // *we should always be returning from the for loop
+ var last = str.substr(nextPartStart).trim();
+ if(last) parts.push(last);
+
+ return parts;
+}
+
+function parseFilePathRecord(record) {
+ var start = 0, fields = [];
+ for(var i=0; i 1) {
- // replace accented characters (yucky slow)
- value = value.replace(/{?(\\[`"'^~=a-z]){?\\?([A-Za-z])}/g, "$1{$2}");
- for (var mapped in reversemappingTable) { // really really slow!
- var unicode = reversemappingTable[mapped];
- if (value.indexOf(mapped) != -1) {
- Zotero.debug("Replace " + mapped + " in " + value + " with " + unicode);
- value = value.replace(mapped, unicode, "g");
- }
- mapped = mapped.replace(/[{}]/g, "");
- if (value.indexOf(mapped) != -1) {
- Zotero.debug("Replace(2) " + mapped + " in " + value + " with " + unicode);
- value = value.replace(mapped, unicode, "g");
- }
+ // replace accented characters (yucky slow)
+ value = value.replace(/{?(\\[`"'^~=]){?\\?([A-Za-z])}/g, "{$1$2}");
+ //for special characters rendered by \[a-z] we need a space
+ value = value.replace(/{?(\\[a-z]){?\\?([A-Za-z])}/g, "{$1 $2}");
+ //convert tex markup into permitted HTML
+ value = mapTeXmarkup(value);
+ for (var mapped in reversemappingTable) { // really really slow!
+ var unicode = reversemappingTable[mapped];
+ while(value.indexOf(mapped) !== -1) {
+ Zotero.debug("Replace " + mapped + " in " + value + " with " + unicode);
+ value = value.replace(mapped, unicode);
}
-
- // kill braces
- value = value.replace(/([^\\])[{}]+/g, "$1");
- if(value[0] == "{") {
- value = value.substr(1);
+ mapped = mapped.replace(/[{}]/g, "");
+ while(value.indexOf(mapped) !== -1) {
+ //Z.debug(value)
+ Zotero.debug("Replace(2) " + mapped + " in " + value + " with " + unicode);
+ value = value.replace(mapped, unicode);
}
-
- // chop off backslashes
- value = value.replace(/([^\\])\\([#$%&~_^\\{}])/g, "$1$2");
- value = value.replace(/([^\\])\\([#$%&~_^\\{}])/g, "$1$2");
- if(value[0] == "\\" && "#$%&~_^\\{}".indexOf(value[1]) != -1) {
- value = value.substr(1);
- }
- if(value[value.length-1] == "\\" && "#$%&~_^\\{}".indexOf(value[value.length-2]) != -1) {
- value = value.substr(0, value.length-1);
- }
- value = value.replace(/\\\\/g, "\\");
- value = value.replace(/\s+/g, " ");
}
+ // kill braces
+ value = value.replace(/([^\\])[{}]+/g, "$1");
+ if(value[0] == "{") {
+ value = value.substr(1);
+ }
+
+ // chop off backslashes
+ value = value.replace(/([^\\])\\([#$%&~_^\\{}])/g, "$1$2");
+ value = value.replace(/([^\\])\\([#$%&~_^\\{}])/g, "$1$2");
+ if(value[0] == "\\" && "#$%&~_^\\{}".indexOf(value[1]) != -1) {
+ value = value.substr(1);
+ }
+ if(value[value.length-1] == "\\" && "#$%&~_^\\{}".indexOf(value[value.length-2]) != -1) {
+ value = value.substr(0, value.length-1);
+ }
+ value = value.replace(/\\\\/g, "\\");
+ value = value.replace(/\s+/g, " ");
+
return value;
}
+function jabrefSplit(str, sep) {
+ var quoted = false;
+ var result = [];
+
+ str = str.split('');
+ while (str.length > 0) {
+ if (result.length == 0) { result = ['']; }
+
+ if (str[0] == sep) {
+ str.shift();
+ result.push('');
+ } else {
+ if (str[0] == '\\') { str.shift(); }
+ result[result.length - 1] += str.shift();
+ }
+ }
+ return result;
+}
+
+function jabrefCollect(arr, func) {
+ if (arr == null) { return []; }
+
+ var result = [];
+
+ for (var i = 0; i < arr.length; i++) {
+ if (func(arr[i])) {
+ result.push(arr[i]);
+ }
+ }
+ return result;
+}
+
+function processComment() {
+ var comment = "";
+ var read;
+ var collectionPath = [];
+ var parentCollection, collection;
+
+ while(read = Zotero.read(1)) {
+ if (read == "}") { break; } // JabRef ought to escape '}' but doesn't; embedded '}' chars will break the import just as it will on JabRef itself
+ comment += read;
+ }
+
+ if (comment == 'jabref-meta: groupsversion:3;') {
+ jabref.format = 3;
+ return;
+ }
+
+ if (comment.indexOf('jabref-meta: groupstree:') == 0) {
+ if (jabref.format != 3) {
+ Zotero.debug("jabref: fatal: unsupported group format: " + jabref.format);
+ return;
+ }
+ comment = comment.replace(/^jabref-meta: groupstree:/, '').replace(/[\r\n]/gm, '')
+
+ var records = jabrefSplit(comment, ';');
+ while (records.length > 0) {
+ var record = records.shift();
+ var keys = jabrefSplit(record, ';');
+ if (keys.length < 2) { continue; }
+
+ var record = {id: keys.shift()};
+ record.data = record.id.match(/^([0-9]) ([^:]*):(.*)/);
+ if (record.data == null) {
+ Zotero.debug("jabref: fatal: unexpected non-match for group " + record.id);
+ return;
+ }
+ record.level = parseInt(record.data[1]);
+ record.type = record.data[2]
+ record.name = record.data[3]
+ record.intersection = keys.shift(); // 0 = independent, 1 = intersection, 2 = union
+
+ if (isNaN(record.level)) {
+ Zotero.debug("jabref: fatal: unexpected record level in " + record.id);
+ return;
+ }
+
+ if (record.level == 0) { continue; }
+ if (record.type != 'ExplicitGroup') {
+ Zotero.debug("jabref: fatal: group type " + record.type + " is not supported");
+ return;
+ }
+
+ collectionPath = collectionPath.slice(0, record.level - 1).concat([record.name]);
+ Zotero.debug("jabref: locating level " + record.level + ": " + collectionPath.join('/'));
+
+ if (jabref.root.hasOwnProperty(collectionPath[0])) {
+ collection = jabref.root[collectionPath[0]];
+ Zotero.debug("jabref: root " + collection.name + " found");
+ } else {
+ collection = new Zotero.Collection();
+ collection.name = collectionPath[0];
+ collection.type = 'collection';
+ collection.children = [];
+ jabref.root[collectionPath[0]] = collection;
+ Zotero.debug("jabref: root " + collection.name + " created");
+ }
+ parentCollection = null;
+
+ for (var i = 1; i < collectionPath.length; i++) {
+ var path = collectionPath[i];
+ Zotero.debug("jabref: looking for child " + path + " under " + collection.name);
+
+ var child = jabrefCollect(collection.children, function(n) { return (n.name == path)})
+ if (child.length != 0) {
+ child = child[0]
+ Zotero.debug("jabref: child " + child.name + " found under " + collection.name);
+ } else {
+ child = new Zotero.Collection();
+ child.name = path;
+ child.type = 'collection';
+ child.children = [];
+
+ collection.children.push(child);
+ Zotero.debug("jabref: child " + child.name + " created under " + collection.name);
+ }
+
+ parentCollection = collection;
+ collection = child;
+ }
+
+ if (parentCollection) {
+ parentCollection = jabrefCollect(parentCollection.children, function(n) { return (n.type == 'item') });
+ }
+
+ if (record.intersection == '2' && parentCollection) { // union with parent
+ collection.children = parentCollection;
+ }
+
+ while(keys.length > 0) {
+ key = keys.shift();
+ if (key != '') {
+ Zotero.debug('jabref: adding ' + key + ' to ' + collection.name);
+ collection.children.push({type: 'item', id: key});
+ }
+ }
+
+ if (parentCollection && record.intersection == '1') { // intersection with parent
+ collection.children = jabrefMap(collection.children, function(n) { parentCollection.indexOf(n) !== -1; });
+ }
+ }
+ }
+}
+
function beginRecord(type, closeChar) {
- type = Zotero.Utilities.cleanString(type.toLowerCase());
+ type = Zotero.Utilities.trimInternal(type.toLowerCase());
if(type != "string") {
var zoteroType = bibtex2zoteroTypeMap[type];
if (!zoteroType) {
Zotero.debug("discarded item from BibTeX; type was "+type);
+ return;
}
var item = new Zotero.Item(zoteroType);
-
- item.extra = "";
+ item._extraFields = [];
}
var field = "";
@@ -1760,6 +778,7 @@ function beginRecord(type, closeChar) {
// of this loop. this is useful after we read past the end of a string.
var dontRead = false;
+ var value, rawValue;
while(dontRead || (read = Zotero.read(1))) {
dontRead = false;
@@ -1788,20 +807,30 @@ function beginRecord(type, closeChar) {
// see if there's a defined string
if(strings[value]) value = strings[value];
} else {
- var value = getFieldValue(read);
+ rawValue = getFieldValue(read);
+ value = unescapeBibTeX(rawValue);
}
if(item) {
- processField(item, field.toLowerCase(), value);
+ processField(item, field.toLowerCase(), value, rawValue);
} else if(type == "string") {
strings[field] = value;
}
field = "";
} else if(read == ",") { // commas reset
+ if (item.itemID == null) {
+ item.itemID = field; // itemID = citekey
+ }
field = "";
} else if(read == closeChar) {
if(item) {
- if(item.extra) item.extra = item.extra.substr(1); // chop \n
+ item.extra = extraFieldsToString(item._extraFields);
+ delete item._extraFields;
+
+ if (!item.publisher && item.backupPublisher){
+ item.publisher=item.backupPublisher;
+ delete item.backupPublisher;
+ }
item.complete();
}
return;
@@ -1820,6 +849,7 @@ function doImport() {
type = "";
} else if(type !== false) {
if(type == "comment") {
+ processComment();
type = false;
} else if(read == "{") { // possible open character
beginRecord(type, "}");
@@ -1827,35 +857,115 @@ function doImport() {
} else if(read == "(") { // possible open character
beginRecord(type, ")");
type = false;
- } else {
+ } else if(/[a-zA-Z0-9-_]/.test(read)) {
type += read;
}
}
}
+ for (var key in jabref.root) {
+ if (jabref.root.hasOwnProperty(key)) { jabref.root[key].complete(); }
+ }
}
// some fields are, in fact, macros. If that is the case then we should not put the
// data in the braces as it will cause the macros to not expand properly
function writeField(field, value, isMacro) {
- if(!value && typeof value != "number") return;
+ if (!value && typeof value != "number") return;
value = value + ""; // convert integers to strings
- Zotero.write(",\n\t"+field+" = ");
- if(!isMacro) Zotero.write("{");
+ Zotero.write(",\n\t" + field + " = ");
+ if (!isMacro) Zotero.write("{");
// url field is preserved, for use with \href and \url
// Other fields (DOI?) may need similar treatment
- if(!((field == "url") || (field == "doi") | (field == "file"))) {
+ if (!isMacro && !(field == "url" || field == "doi" || field == "file" || field == "lccn" )) {
// I hope these are all the escape characters!
- value = value.replace(/[|\<\>\~\^\\]/g, mapEscape).replace(/([\#\$\%\&\_])/g, "\\$1");
+ value = value.replace(/[|\<\>\~\^\\\{\}]/g, mapEscape).replace(/([\#\$\%\&\_])/g, "\\$1");
+
+ //disable
+ /** if (field == "title" || field == "type" || field == "shorttitle" || field == "booktitle" || field == "series") {
+ if (!isTitleCase(value)) {
+ //protect caps for everything but the first letter
+ value = value.replace(/(.)([A-Z]+)/g, "$1{$2}");
+ } else { //protect all-caps vords and initials
+ value = value.replace(/([\s.-])([A-Z]+)(?=\.)/g, "$1{$2}"); //protect initials
+ if(value.toUpperCase() != value) value = value.replace(/(\s)([A-Z]{2,})(?=[\.,\s]|$)/g, "$1{$2}");
+ }
+ }
+ **/
+
// Case of words with uppercase characters in non-initial positions is preserved with braces.
- if(!isMacro&&field != "pages") value = value.replace(/([^\s]+[A-Z][^\s]*)/g, "{$1}");
+ // we're looking at all unicode letters
+ var protectCaps = new ZU.XRegExp("\\b\\p{Letter}+\\p{Uppercase_Letter}\\p{Letter}*", 'g')
+ if (field != "pages") {
+ value = ZU.XRegExp.replace(value, protectCaps, "{$0}");
+ }
}
if (Zotero.getOption("exportCharset") != "UTF-8") {
value = value.replace(/[\u0080-\uFFFF]/g, mapAccent);
}
+ //convert the HTML markup allowed in Zotero for rich text to TeX; excluding doi/url/file shouldn't be necessary, but better to be safe;
+ if (!((field == "url") || (field == "doi") || (field == "file"))) value = mapHTMLmarkup(value);
Zotero.write(value);
- if(!isMacro) Zotero.write("}");
+ if (!isMacro) Zotero.write("}");
}
+function mapHTMLmarkup(characters){
+ //converts the HTML markup allowed in Zotero for rich text to TeX
+ //since < and > have already been escaped, we need this rather hideous code - I couldn't see a way around it though.
+ //italics and bold
+ characters = characters.replace(/\{\\textless\}i\{\\textgreater\}(.+?)\{\\textless\}\/i{\\textgreater\}/g, "\\textit{$1}")
+ .replace(/\{\\textless\}b\{\\textgreater\}(.+?)\{\\textless\}\/b{\\textgreater\}/g, "\\textbf{$1}");
+ //sub and superscript
+ characters = characters.replace(/\{\\textless\}sup\{\\textgreater\}(.+?)\{\\textless\}\/sup{\\textgreater\}/g, "\$^{\\textrm{$1}}\$")
+ .replace(/\{\\textless\}sub\{\\textgreater\}(.+?)\{\\textless\}\/sub\{\\textgreater\}/g, "\$_{\\textrm{$1}}\$");
+ //two variants of small caps
+ characters = characters.replace(/\{\\textless\}span\sstyle=\"small\-caps\"\{\\textgreater\}(.+?)\{\\textless\}\/span{\\textgreater\}/g, "\\textsc{$1}")
+ .replace(/\{\\textless\}sc\{\\textgreater\}(.+?)\{\\textless\}\/sc\{\\textgreater\}/g, "\\textsc{$1}");
+ return characters;
+}
+
+
+function mapTeXmarkup(tex){
+ //reverse of the above - converts tex mark-up into html mark-up permitted by Zotero
+ //italics and bold
+ tex = tex.replace(/\\textit\{([^\}]+\})/g, "$1").replace(/\\textbf\{([^\}]+\})/g, "$1");
+ //two versions of subscript the .* after $ is necessary because people m
+ tex = tex.replace(/\$[^\{\$]*_\{([^\}]+\})\$/g, "$1").replace(/\$[^\{]*_\{\\textrm\{([^\}]+\}\})/g, "$1");
+ //two version of superscript
+ tex = tex.replace(/\$[^\{]*\^\{([^\}]+\}\$)/g, "$1").replace(/\$[^\{]*\^\{\\textrm\{([^\}]+\}\})/g, "$1");
+ //small caps
+ tex = tex.replace(/\\textsc\{([^\}]+)/g, "$1");
+ return tex;
+}
+//Disable the isTitleCase function until we decide what to do with it.
+/* const skipWords = ["but", "or", "yet", "so", "for", "and", "nor",
+ "a", "an", "the", "at", "by", "from", "in", "into", "of", "on",
+ "to", "with", "up", "down", "as", "while", "aboard", "about",
+ "above", "across", "after", "against", "along", "amid", "among",
+ "anti", "around", "as", "before", "behind", "below", "beneath",
+ "beside", "besides", "between", "beyond", "but", "despite",
+ "down", "during", "except", "for", "inside", "like", "near",
+ "off", "onto", "over", "past", "per", "plus", "round", "save",
+ "since", "than", "through", "toward", "towards", "under",
+ "underneath", "unlike", "until", "upon", "versus", "via",
+ "within", "without"];
+
+function isTitleCase(string) {
+ const wordRE = /[\s[(]([^\s,\.:?!\])]+)/g;
+
+ var word;
+ while (word = wordRE.exec(string)) {
+ word = word[1];
+ if(word.search(/\d/) != -1 //ignore words with numbers (including just numbers)
+ || skipWords.indexOf(word.toLowerCase()) != -1) {
+ continue;
+ }
+
+ if(word.toLowerCase() == word) return false;
+ }
+ return true;
+}
+*/
+
function mapEscape(character) {
return alwaysMap[character];
}
@@ -1864,26 +974,46 @@ function mapAccent(character) {
return (mappingTable[character] ? mappingTable[character] : "?");
}
+var filePathSpecialChars = '\\\\:;{}$'; // $ for Mendeley
+var encodeFilePathRE = new RegExp('[' + filePathSpecialChars + ']', 'g');
+
+function encodeFilePathComponent(value) {
+ return value.replace(encodeFilePathRE, "\\$&");
+}
+
+function decodeFilePathComponent(value) {
+ return value.replace(/\\([^A-Za-z0-9.])/g, "$1");
+}
+
// a little substitution function for BibTeX keys, where we don't want LaTeX
// escaping, but we do want to preserve the base characters
function tidyAccents(s) {
- var r=s.toLowerCase();
- r = r.replace(new RegExp("[ä]", 'g'),"ae");
- r = r.replace(new RegExp("[ö]", 'g'),"ae");
- r = r.replace(new RegExp("[ü]", 'g'),"ue");
- r = r.replace(new RegExp("[àáâãå]", 'g'),"a");
- r = r.replace(new RegExp("æ", 'g'),"ae");
- r = r.replace(new RegExp("ç", 'g'),"c");
- r = r.replace(new RegExp("[èéêë]", 'g'),"e");
- r = r.replace(new RegExp("[ìíîï]", 'g'),"i");
- r = r.replace(new RegExp("ñ", 'g'),"n");
- r = r.replace(new RegExp("[òóôõ]", 'g'),"o");
- r = r.replace(new RegExp("œ", 'g'),"oe");
- r = r.replace(new RegExp("[ùúû]", 'g'),"u");
- r = r.replace(new RegExp("[ýÿ]", 'g'),"y");
- return r;
- };
+ var r=s.toLowerCase();
+
+ // XXX Remove conditional when we drop Zotero 2.1.x support
+ // This is supported in Zotero 3.0 and higher
+ if (ZU.removeDiacritics !== undefined)
+ r = ZU.removeDiacritics(r, true);
+ else {
+ // We fall back on the replacement list we used previously
+ r = r.replace(new RegExp("[ä]", 'g'),"ae");
+ r = r.replace(new RegExp("[ö]", 'g'),"oe");
+ r = r.replace(new RegExp("[ü]", 'g'),"ue");
+ r = r.replace(new RegExp("[àáâãå]", 'g'),"a");
+ r = r.replace(new RegExp("æ", 'g'),"ae");
+ r = r.replace(new RegExp("ç", 'g'),"c");
+ r = r.replace(new RegExp("[èéêë]", 'g'),"e");
+ r = r.replace(new RegExp("[ìíîï]", 'g'),"i");
+ r = r.replace(new RegExp("ñ", 'g'),"n");
+ r = r.replace(new RegExp("[òóôõ]", 'g'),"o");
+ r = r.replace(new RegExp("œ", 'g'),"oe");
+ r = r.replace(new RegExp("[ùúû]", 'g'),"u");
+ r = r.replace(new RegExp("[ýÿ]", 'g'),"y");
+ }
+
+ return r;
+};
var numberRe = /^[0-9]+/;
// Below is a list of words that should not appear as part of the citation key
@@ -1895,27 +1025,28 @@ var citeKeyConversionsRe = /%([a-zA-Z])/;
var citeKeyCleanRe = /[^a-z0-9\!\$\&\*\+\-\.\/\:\;\<\>\?\[\]\^\_\`\|]+/g;
var citeKeyConversions = {
- "a":function (flags, item) {
- if(item.creators && item.creators[0] && item.creators[0].lastName) {
- return item.creators[0].lastName.toLowerCase().replace(/ /g,"_").replace(/,/g,"");
- }
- return "";
- },
- "t":function (flags, item) {
- if (item["title"]) {
- return item["title"].toLowerCase().replace(citeKeyTitleBannedRe, "").split(/\s+/g)[0];
- }
- return "";
- },
- "y":function (flags, item) {
- if(item.date) {
- var date = Zotero.Utilities.strToDate(item.date);
- if(date.year && numberRe.test(date.year)) {
- return date.year;
- }
- }
- return "????";
- },
+ "a":function (flags, item) {
+ if(item.creators && item.creators[0] && item.creators[0].lastName) {
+ return item.creators[0].lastName.toLowerCase().replace(/ /g,"_").replace(/,/g,"");
+ }
+ return "";
+ },
+ "t":function (flags, item) {
+ if (item["title"]) {
+ return item["title"].toLowerCase().replace(citeKeyTitleBannedRe, "").split(/\s+/g)[0];
+ }
+ return "";
+ },
+ "y":function (flags, item) {
+ if(item.date) {
+ var date = Zotero.Utilities.strToDate(item.date);
+ if(date.year && numberRe.test(date.year)) {
+ return date.year;
+ }
+ }
+ return "????";
+ },
+ // HJ: Add original key as an option
"k":function (flags, item) {
if (item.key) {
return item.key;
@@ -1926,52 +1057,52 @@ var citeKeyConversions = {
function buildCiteKey (item,citekeys) {
- var basekey = "";
- var counter = 0;
- citeKeyFormatRemaining = citeKeyFormat;
- while (citeKeyConversionsRe.test(citeKeyFormatRemaining)) {
- if (counter > 100) {
- Zotero.debug("Pathological BibTeX format: " + citeKeyFormat);
- break;
- }
- var m = citeKeyFormatRemaining.match(citeKeyConversionsRe);
- if (m.index > 0) {
- //add data before the conversion match to basekey
- basekey = basekey + citeKeyFormatRemaining.substr(0, m.index);
- }
- var flags = ""; // for now
- var f = citeKeyConversions[m[1]];
- if (typeof(f) == "function") {
- var value = f(flags, item);
- Zotero.debug("Got value " + value + " for %" + m[1]);
- //add conversion to basekey
- basekey = basekey + value;
- }
- citeKeyFormatRemaining = citeKeyFormatRemaining.substr(m.index + m.length);
- counter++;
- }
- if (citeKeyFormatRemaining.length > 0) {
- basekey = basekey + citeKeyFormatRemaining;
- }
+ var basekey = "";
+ var counter = 0;
+ citeKeyFormatRemaining = citeKeyFormat;
+ while (citeKeyConversionsRe.test(citeKeyFormatRemaining)) {
+ if (counter > 100) {
+ Zotero.debug("Pathological BibTeX format: " + citeKeyFormat);
+ break;
+ }
+ var m = citeKeyFormatRemaining.match(citeKeyConversionsRe);
+ if (m.index > 0) {
+ //add data before the conversion match to basekey
+ basekey = basekey + citeKeyFormatRemaining.substr(0, m.index);
+ }
+ var flags = ""; // for now
+ var f = citeKeyConversions[m[1]];
+ if (typeof(f) == "function") {
+ var value = f(flags, item);
+ Zotero.debug("Got value " + value + " for %" + m[1]);
+ //add conversion to basekey
+ basekey = basekey + value;
+ }
+ citeKeyFormatRemaining = citeKeyFormatRemaining.substr(m.index + m.length);
+ counter++;
+ }
+ if (citeKeyFormatRemaining.length > 0) {
+ basekey = basekey + citeKeyFormatRemaining;
+ }
- // for now, remove any characters not explicitly known to be allowed;
- // we might want to allow UTF-8 citation keys in the future, depending
- // on implementation support.
- //
- // no matter what, we want to make sure we exclude
- // " # % ' ( ) , = { } ~ and backslash
- // however, we want to keep the base characters
+ // for now, remove any characters not explicitly known to be allowed;
+ // we might want to allow UTF-8 citation keys in the future, depending
+ // on implementation support.
+ //
+ // no matter what, we want to make sure we exclude
+ // " # % ' ( ) , = { } ~ and backslash
+ // however, we want to keep the base characters
- basekey = tidyAccents(basekey);
- basekey = basekey.replace(citeKeyCleanRe, "");
- var citekey = basekey;
- var i = 0;
- while(citekeys[citekey]) {
- i++;
- citekey = basekey + "-" + i;
- }
- citekeys[citekey] = true;
- return citekey.toUpperCase();
+ basekey = tidyAccents(basekey);
+ basekey = basekey.replace(citeKeyCleanRe, "");
+ var citekey = basekey;
+ var i = 0;
+ while(citekeys[citekey]) {
+ i++;
+ citekey = basekey + "-" + i;
+ }
+ citekeys[citekey] = true;
+ return citekey;
}
function doExport() {
@@ -1983,6 +1114,9 @@ function doExport() {
var citekeys = new Object();
var item;
while(item = Zotero.nextItem()) {
+ //don't export standalone notes and attachments
+ if(item.itemType == "note" || item.itemType == "attachment") continue;
+
// determine type
var type = zotero2bibtexTypeMap[item.itemType];
if (typeof(type) == "function") { type = type(item); }
@@ -1992,7 +1126,7 @@ function doExport() {
var citekey = buildCiteKey(item, citekeys);
// write citation key
- Zotero.write((first ? "" : ",\n\n") + "@"+type+"{"+citekey);
+ Zotero.write((first ? "" : "\n\n") + "@"+type+"{"+citekey);
first = false;
for(var field in fieldMap) {
@@ -2001,13 +1135,20 @@ function doExport() {
}
}
- if(item.reportNumber || item.issue || item.seriesNumber) {
- writeField("number", item.reportNumber || item.issue || item.seriesNumber);
+ if(item.reportNumber || item.issue || item.seriesNumber || item.patentNumber) {
+ writeField("number", item.reportNumber || item.issue || item.seriesNumber|| item.patentNumber);
}
-
+
+ if (item.accessDate){
+ var accessYMD = item.accessDate.replace(/\s*\d+:\d+:\d+/, "");
+ writeField("urldate", accessYMD);
+ }
+
if(item.publicationTitle) {
if(item.itemType == "bookSection" || item.itemType == "conferencePaper") {
writeField("booktitle", item.publicationTitle);
+ } else if(Zotero.getOption("useJournalAbbreviation") && item.journalAbbreviation){
+ writeField("journal", item.journalAbbreviation);
} else {
writeField("journal", item.publicationTitle);
}
@@ -2028,30 +1169,51 @@ function doExport() {
var author = "";
var editor = "";
var translator = "";
- for each(var creator in item.creators) {
- var creatorString = creator.lastName;
+ var collaborator = "";
+ var primaryCreatorType = Zotero.Utilities.getCreatorsForType(item.itemType)[0];
+ for(var i in item.creators) {
+ var creator = item.creators[i];
+ var creatorString;
if (creator.firstName) {
- creatorString = creator.firstName + " " + creator.lastName;
+ var fname = creator.firstName.split(/\s*,!?\s*/);
+ fname.push(fname.shift()); // If we have a Jr. part(s), it should precede first name
+ creatorString = creator.lastName + ", " + fname.join(', ');
+ } else {
+ creatorString = creator.lastName;
+ }
+
+ creatorString = creatorString.replace(/[|\<\>\~\^\\\{\}]/g, mapEscape)
+ .replace(/([\#\$\%\&\_])/g, "\\$1");
+
+ if (creator.fieldMode == true) { // fieldMode true, assume corporate author
+ creatorString = "{" + creatorString + "}";
+ } else {
+ creatorString = creatorString.replace(/ (and) /gi, ' {$1} ');
}
- if (creator.creatorType == "editor") {
+ if (creator.creatorType == "editor" || creator.creatorType == "seriesEditor") {
editor += " and "+creatorString;
} else if (creator.creatorType == "translator") {
translator += " and "+creatorString;
- } else {
+ } else if (creator.creatorType == primaryCreatorType) {
author += " and "+creatorString;
+ } else {
+ collaborator += " and "+creatorString;
}
}
if(author) {
- writeField("author", author.substr(5));
+ writeField("author", "{" + author.substr(5) + "}", true);
}
if(editor) {
- writeField("editor", editor.substr(5));
+ writeField("editor", "{" + editor.substr(5) + "}", true);
}
if(translator) {
- writeField("translator", translator.substr(5));
+ writeField("translator", "{" + translator.substr(5) + "}", true);
+ }
+ if(collaborator) {
+ writeField("collaborator", "{" + collaborator.substr(5) + "}", true);
}
}
@@ -2067,41 +1229,71 @@ function doExport() {
}
if(item.extra) {
- writeField("note", item.extra);
+ // Export identifiers
+ var extraFields = parseExtraFields(item.extra);
+ for(var i=0; i", // TRIANGULAR BULLET
+ "\u2024":".", // ONE DOT LEADER
+ "\u2025":"..", // TWO DOT LEADER
+ "\u2026":"{\\textellipsis}", // HORIZONTAL ELLIPSIS
+ "\u2027":"-", // HYPHENATION POINT
+ "\u202F":" ", // NARROW NO-BREAK SPACE
+ "\u2030":"{\\textperthousand}", // PER MILLE SIGN
+ "\u2032":"'", // PRIME
+ "\u2033":"'", // DOUBLE PRIME
+ "\u2034":"'''", // TRIPLE PRIME
+ "\u2035":"`", // REVERSED PRIME
+ "\u2036":"``", // REVERSED DOUBLE PRIME
+ "\u2037":"```", // REVERSED TRIPLE PRIME
+ "\u2039":"{\\guilsinglleft}", // SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+ "\u203A":"{\\guilsinglright}", // SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+ "\u203C":"!!", // DOUBLE EXCLAMATION MARK
+ "\u203E":"-", // OVERLINE
+ "\u2043":"-", // HYPHEN BULLET
+ "\u2044":"{\\textfractionsolidus}", // FRACTION SLASH
+ "\u2048":"?!", // QUESTION EXCLAMATION MARK
+ "\u2049":"!?", // EXCLAMATION QUESTION MARK
+ "\u204A":"7", // TIRONIAN SIGN ET
+ "\u2070":"$^{0}$", // SUPERSCRIPT ZERO
+ "\u2074":"$^{4}$", // SUPERSCRIPT FOUR
+ "\u2075":"$^{5}$", // SUPERSCRIPT FIVE
+ "\u2076":"$^{6}$", // SUPERSCRIPT SIX
+ "\u2077":"$^{7}$", // SUPERSCRIPT SEVEN
+ "\u2078":"$^{8}$", // SUPERSCRIPT EIGHT
+ "\u2079":"$^{9}$", // SUPERSCRIPT NINE
+ "\u207A":"$^{+}$", // SUPERSCRIPT PLUS SIGN
+ "\u207B":"$^{-}$", // SUPERSCRIPT MINUS
+ "\u207C":"$^{=}$", // SUPERSCRIPT EQUALS SIGN
+ "\u207D":"$^{(}$", // SUPERSCRIPT LEFT PARENTHESIS
+ "\u207E":"$^{)}$", // SUPERSCRIPT RIGHT PARENTHESIS
+ "\u207F":"$^{n}$", // SUPERSCRIPT LATIN SMALL LETTER N
+ "\u2080":"$_{0}$", // SUBSCRIPT ZERO
+ "\u2081":"$_{1}$", // SUBSCRIPT ONE
+ "\u2082":"$_{2}$", // SUBSCRIPT TWO
+ "\u2083":"$_{3}$", // SUBSCRIPT THREE
+ "\u2084":"$_{4}$", // SUBSCRIPT FOUR
+ "\u2085":"$_{5}$", // SUBSCRIPT FIVE
+ "\u2086":"$_{6}$", // SUBSCRIPT SIX
+ "\u2087":"$_{7}$", // SUBSCRIPT SEVEN
+ "\u2088":"$_{8}$", // SUBSCRIPT EIGHT
+ "\u2089":"$_{9}$", // SUBSCRIPT NINE
+ "\u208A":"$_{+}$", // SUBSCRIPT PLUS SIGN
+ "\u208B":"$_{-}$", // SUBSCRIPT MINUS
+ "\u208C":"$_{=}$", // SUBSCRIPT EQUALS SIGN
+ "\u208D":"$_{(}$", // SUBSCRIPT LEFT PARENTHESIS
+ "\u208E":"$_{)}$", // SUBSCRIPT RIGHT PARENTHESIS
+ "\u20AC":"{\\texteuro}", // EURO SIGN
+ "\u2100":"a/c", // ACCOUNT OF
+ "\u2101":"a/s", // ADDRESSED TO THE SUBJECT
+ "\u2103":"{\\textcelsius}", // DEGREE CELSIUS
+ "\u2105":"c/o", // CARE OF
+ "\u2106":"c/u", // CADA UNA
+ "\u2109":"F", // DEGREE FAHRENHEIT
+ "\u2113":"l", // SCRIPT SMALL L
+ "\u2116":"{\\textnumero}", // NUMERO SIGN
+ "\u2117":"{\\textcircledP}", // SOUND RECORDING COPYRIGHT
+ "\u2120":"{\\textservicemark}", // SERVICE MARK
+ "\u2121":"TEL", // TELEPHONE SIGN
+ "\u2122":"{\\texttrademark}", // TRADE MARK SIGN
+ "\u2126":"{\\textohm}", // OHM SIGN
+ "\u212A":"K", // KELVIN SIGN
+ "\u212B":"A", // ANGSTROM SIGN
+ "\u212E":"{\\textestimated}", // ESTIMATED SYMBOL
+ "\u2153":" 1/3", // VULGAR FRACTION ONE THIRD
+ "\u2154":" 2/3", // VULGAR FRACTION TWO THIRDS
+ "\u2155":" 1/5", // VULGAR FRACTION ONE FIFTH
+ "\u2156":" 2/5", // VULGAR FRACTION TWO FIFTHS
+ "\u2157":" 3/5", // VULGAR FRACTION THREE FIFTHS
+ "\u2158":" 4/5", // VULGAR FRACTION FOUR FIFTHS
+ "\u2159":" 1/6", // VULGAR FRACTION ONE SIXTH
+ "\u215A":" 5/6", // VULGAR FRACTION FIVE SIXTHS
+ "\u215B":" 1/8", // VULGAR FRACTION ONE EIGHTH
+ "\u215C":" 3/8", // VULGAR FRACTION THREE EIGHTHS
+ "\u215D":" 5/8", // VULGAR FRACTION FIVE EIGHTHS
+ "\u215E":" 7/8", // VULGAR FRACTION SEVEN EIGHTHS
+ "\u215F":" 1/", // FRACTION NUMERATOR ONE
+ "\u2160":"I", // ROMAN NUMERAL ONE
+ "\u2161":"II", // ROMAN NUMERAL TWO
+ "\u2162":"III", // ROMAN NUMERAL THREE
+ "\u2163":"IV", // ROMAN NUMERAL FOUR
+ "\u2164":"V", // ROMAN NUMERAL FIVE
+ "\u2165":"VI", // ROMAN NUMERAL SIX
+ "\u2166":"VII", // ROMAN NUMERAL SEVEN
+ "\u2167":"VIII", // ROMAN NUMERAL EIGHT
+ "\u2168":"IX", // ROMAN NUMERAL NINE
+ "\u2169":"X", // ROMAN NUMERAL TEN
+ "\u216A":"XI", // ROMAN NUMERAL ELEVEN
+ "\u216B":"XII", // ROMAN NUMERAL TWELVE
+ "\u216C":"L", // ROMAN NUMERAL FIFTY
+ "\u216D":"C", // ROMAN NUMERAL ONE HUNDRED
+ "\u216E":"D", // ROMAN NUMERAL FIVE HUNDRED
+ "\u216F":"M", // ROMAN NUMERAL ONE THOUSAND
+ "\u2170":"i", // SMALL ROMAN NUMERAL ONE
+ "\u2171":"ii", // SMALL ROMAN NUMERAL TWO
+ "\u2172":"iii", // SMALL ROMAN NUMERAL THREE
+ "\u2173":"iv", // SMALL ROMAN NUMERAL FOUR
+ "\u2174":"v", // SMALL ROMAN NUMERAL FIVE
+ "\u2175":"vi", // SMALL ROMAN NUMERAL SIX
+ "\u2176":"vii", // SMALL ROMAN NUMERAL SEVEN
+ "\u2177":"viii", // SMALL ROMAN NUMERAL EIGHT
+ "\u2178":"ix", // SMALL ROMAN NUMERAL NINE
+ "\u2179":"x", // SMALL ROMAN NUMERAL TEN
+ "\u217A":"xi", // SMALL ROMAN NUMERAL ELEVEN
+ "\u217B":"xii", // SMALL ROMAN NUMERAL TWELVE
+ "\u217C":"l", // SMALL ROMAN NUMERAL FIFTY
+ "\u217D":"c", // SMALL ROMAN NUMERAL ONE HUNDRED
+ "\u217E":"d", // SMALL ROMAN NUMERAL FIVE HUNDRED
+ "\u217F":"m", // SMALL ROMAN NUMERAL ONE THOUSAND
+ "\u2190":"{\\textleftarrow}", // LEFTWARDS ARROW
+ "\u2191":"{\\textuparrow}", // UPWARDS ARROW
+ "\u2192":"{\\textrightarrow}", // RIGHTWARDS ARROW
+ "\u2193":"{\\textdownarrow}", // DOWNWARDS ARROW
+ "\u2194":"<->", // LEFT RIGHT ARROW
+ "\u21D0":"<=", // LEFTWARDS DOUBLE ARROW
+ "\u21D2":"=>", // RIGHTWARDS DOUBLE ARROW
+ "\u21D4":"<=>", // LEFT RIGHT DOUBLE ARROW
+ "\u2212":"-", // MINUS SIGN
+ "\u2215":"/", // DIVISION SLASH
+ "\u2216":"\\", // SET MINUS
+ "\u2217":"*", // ASTERISK OPERATOR
+ "\u2218":"o", // RING OPERATOR
+ "\u2219":".", // BULLET OPERATOR
+ "\u221E":"$\\infty$", // INFINITY
+ "\u2223":"|", // DIVIDES
+ "\u2225":"||", // PARALLEL TO
+ "\u2236":":", // RATIO
+ "\u223C":"\\~{}", // TILDE OPERATOR
+ "\u2260":"/=", // NOT EQUAL TO
+ "\u2261":"=", // IDENTICAL TO
+ "\u2264":"<=", // LESS-THAN OR EQUAL TO
+ "\u2265":">=", // GREATER-THAN OR EQUAL TO
+ "\u226A":"<<", // MUCH LESS-THAN
+ "\u226B":">>", // MUCH GREATER-THAN
+ "\u2295":"(+)", // CIRCLED PLUS
+ "\u2296":"(-)", // CIRCLED MINUS
+ "\u2297":"(x)", // CIRCLED TIMES
+ "\u2298":"(/)", // CIRCLED DIVISION SLASH
+ "\u22A2":"|-", // RIGHT TACK
+ "\u22A3":"-|", // LEFT TACK
+ "\u22A6":"|-", // ASSERTION
+ "\u22A7":"|=", // MODELS
+ "\u22A8":"|=", // TRUE
+ "\u22A9":"||-", // FORCES
+ "\u22C5":".", // DOT OPERATOR
+ "\u22C6":"*", // STAR OPERATOR
+ "\u22D5":"$\\#$", // EQUAL AND PARALLEL TO
+ "\u22D8":"<<<", // VERY MUCH LESS-THAN
+ "\u22D9":">>>", // VERY MUCH GREATER-THAN
+ "\u2329":"{\\textlangle}", // LEFT-POINTING ANGLE BRACKET
+ "\u232A":"{\\textrangle}", // RIGHT-POINTING ANGLE BRACKET
+ "\u2400":"NUL", // SYMBOL FOR NULL
+ "\u2401":"SOH", // SYMBOL FOR START OF HEADING
+ "\u2402":"STX", // SYMBOL FOR START OF TEXT
+ "\u2403":"ETX", // SYMBOL FOR END OF TEXT
+ "\u2404":"EOT", // SYMBOL FOR END OF TRANSMISSION
+ "\u2405":"ENQ", // SYMBOL FOR ENQUIRY
+ "\u2406":"ACK", // SYMBOL FOR ACKNOWLEDGE
+ "\u2407":"BEL", // SYMBOL FOR BELL
+ "\u2408":"BS", // SYMBOL FOR BACKSPACE
+ "\u2409":"HT", // SYMBOL FOR HORIZONTAL TABULATION
+ "\u240A":"LF", // SYMBOL FOR LINE FEED
+ "\u240B":"VT", // SYMBOL FOR VERTICAL TABULATION
+ "\u240C":"FF", // SYMBOL FOR FORM FEED
+ "\u240D":"CR", // SYMBOL FOR CARRIAGE RETURN
+ "\u240E":"SO", // SYMBOL FOR SHIFT OUT
+ "\u240F":"SI", // SYMBOL FOR SHIFT IN
+ "\u2410":"DLE", // SYMBOL FOR DATA LINK ESCAPE
+ "\u2411":"DC1", // SYMBOL FOR DEVICE CONTROL ONE
+ "\u2412":"DC2", // SYMBOL FOR DEVICE CONTROL TWO
+ "\u2413":"DC3", // SYMBOL FOR DEVICE CONTROL THREE
+ "\u2414":"DC4", // SYMBOL FOR DEVICE CONTROL FOUR
+ "\u2415":"NAK", // SYMBOL FOR NEGATIVE ACKNOWLEDGE
+ "\u2416":"SYN", // SYMBOL FOR SYNCHRONOUS IDLE
+ "\u2417":"ETB", // SYMBOL FOR END OF TRANSMISSION BLOCK
+ "\u2418":"CAN", // SYMBOL FOR CANCEL
+ "\u2419":"EM", // SYMBOL FOR END OF MEDIUM
+ "\u241A":"SUB", // SYMBOL FOR SUBSTITUTE
+ "\u241B":"ESC", // SYMBOL FOR ESCAPE
+ "\u241C":"FS", // SYMBOL FOR FILE SEPARATOR
+ "\u241D":"GS", // SYMBOL FOR GROUP SEPARATOR
+ "\u241E":"RS", // SYMBOL FOR RECORD SEPARATOR
+ "\u241F":"US", // SYMBOL FOR UNIT SEPARATOR
+ "\u2420":"SP", // SYMBOL FOR SPACE
+ "\u2421":"DEL", // SYMBOL FOR DELETE
+ "\u2423":"{\\textvisiblespace}", // OPEN BOX
+ "\u2424":"NL", // SYMBOL FOR NEWLINE
+ "\u2425":"///", // SYMBOL FOR DELETE FORM TWO
+ "\u2426":"?", // SYMBOL FOR SUBSTITUTE FORM TWO
+ "\u2460":"(1)", // CIRCLED DIGIT ONE
+ "\u2461":"(2)", // CIRCLED DIGIT TWO
+ "\u2462":"(3)", // CIRCLED DIGIT THREE
+ "\u2463":"(4)", // CIRCLED DIGIT FOUR
+ "\u2464":"(5)", // CIRCLED DIGIT FIVE
+ "\u2465":"(6)", // CIRCLED DIGIT SIX
+ "\u2466":"(7)", // CIRCLED DIGIT SEVEN
+ "\u2467":"(8)", // CIRCLED DIGIT EIGHT
+ "\u2468":"(9)", // CIRCLED DIGIT NINE
+ "\u2469":"(10)", // CIRCLED NUMBER TEN
+ "\u246A":"(11)", // CIRCLED NUMBER ELEVEN
+ "\u246B":"(12)", // CIRCLED NUMBER TWELVE
+ "\u246C":"(13)", // CIRCLED NUMBER THIRTEEN
+ "\u246D":"(14)", // CIRCLED NUMBER FOURTEEN
+ "\u246E":"(15)", // CIRCLED NUMBER FIFTEEN
+ "\u246F":"(16)", // CIRCLED NUMBER SIXTEEN
+ "\u2470":"(17)", // CIRCLED NUMBER SEVENTEEN
+ "\u2471":"(18)", // CIRCLED NUMBER EIGHTEEN
+ "\u2472":"(19)", // CIRCLED NUMBER NINETEEN
+ "\u2473":"(20)", // CIRCLED NUMBER TWENTY
+ "\u2474":"(1)", // PARENTHESIZED DIGIT ONE
+ "\u2475":"(2)", // PARENTHESIZED DIGIT TWO
+ "\u2476":"(3)", // PARENTHESIZED DIGIT THREE
+ "\u2477":"(4)", // PARENTHESIZED DIGIT FOUR
+ "\u2478":"(5)", // PARENTHESIZED DIGIT FIVE
+ "\u2479":"(6)", // PARENTHESIZED DIGIT SIX
+ "\u247A":"(7)", // PARENTHESIZED DIGIT SEVEN
+ "\u247B":"(8)", // PARENTHESIZED DIGIT EIGHT
+ "\u247C":"(9)", // PARENTHESIZED DIGIT NINE
+ "\u247D":"(10)", // PARENTHESIZED NUMBER TEN
+ "\u247E":"(11)", // PARENTHESIZED NUMBER ELEVEN
+ "\u247F":"(12)", // PARENTHESIZED NUMBER TWELVE
+ "\u2480":"(13)", // PARENTHESIZED NUMBER THIRTEEN
+ "\u2481":"(14)", // PARENTHESIZED NUMBER FOURTEEN
+ "\u2482":"(15)", // PARENTHESIZED NUMBER FIFTEEN
+ "\u2483":"(16)", // PARENTHESIZED NUMBER SIXTEEN
+ "\u2484":"(17)", // PARENTHESIZED NUMBER SEVENTEEN
+ "\u2485":"(18)", // PARENTHESIZED NUMBER EIGHTEEN
+ "\u2486":"(19)", // PARENTHESIZED NUMBER NINETEEN
+ "\u2487":"(20)", // PARENTHESIZED NUMBER TWENTY
+ "\u2488":"1.", // DIGIT ONE FULL STOP
+ "\u2489":"2.", // DIGIT TWO FULL STOP
+ "\u248A":"3.", // DIGIT THREE FULL STOP
+ "\u248B":"4.", // DIGIT FOUR FULL STOP
+ "\u248C":"5.", // DIGIT FIVE FULL STOP
+ "\u248D":"6.", // DIGIT SIX FULL STOP
+ "\u248E":"7.", // DIGIT SEVEN FULL STOP
+ "\u248F":"8.", // DIGIT EIGHT FULL STOP
+ "\u2490":"9.", // DIGIT NINE FULL STOP
+ "\u2491":"10.", // NUMBER TEN FULL STOP
+ "\u2492":"11.", // NUMBER ELEVEN FULL STOP
+ "\u2493":"12.", // NUMBER TWELVE FULL STOP
+ "\u2494":"13.", // NUMBER THIRTEEN FULL STOP
+ "\u2495":"14.", // NUMBER FOURTEEN FULL STOP
+ "\u2496":"15.", // NUMBER FIFTEEN FULL STOP
+ "\u2497":"16.", // NUMBER SIXTEEN FULL STOP
+ "\u2498":"17.", // NUMBER SEVENTEEN FULL STOP
+ "\u2499":"18.", // NUMBER EIGHTEEN FULL STOP
+ "\u249A":"19.", // NUMBER NINETEEN FULL STOP
+ "\u249B":"20.", // NUMBER TWENTY FULL STOP
+ "\u249C":"(a)", // PARENTHESIZED LATIN SMALL LETTER A
+ "\u249D":"(b)", // PARENTHESIZED LATIN SMALL LETTER B
+ "\u249E":"(c)", // PARENTHESIZED LATIN SMALL LETTER C
+ "\u249F":"(d)", // PARENTHESIZED LATIN SMALL LETTER D
+ "\u24A0":"(e)", // PARENTHESIZED LATIN SMALL LETTER E
+ "\u24A1":"(f)", // PARENTHESIZED LATIN SMALL LETTER F
+ "\u24A2":"(g)", // PARENTHESIZED LATIN SMALL LETTER G
+ "\u24A3":"(h)", // PARENTHESIZED LATIN SMALL LETTER H
+ "\u24A4":"(i)", // PARENTHESIZED LATIN SMALL LETTER I
+ "\u24A5":"(j)", // PARENTHESIZED LATIN SMALL LETTER J
+ "\u24A6":"(k)", // PARENTHESIZED LATIN SMALL LETTER K
+ "\u24A7":"(l)", // PARENTHESIZED LATIN SMALL LETTER L
+ "\u24A8":"(m)", // PARENTHESIZED LATIN SMALL LETTER M
+ "\u24A9":"(n)", // PARENTHESIZED LATIN SMALL LETTER N
+ "\u24AA":"(o)", // PARENTHESIZED LATIN SMALL LETTER O
+ "\u24AB":"(p)", // PARENTHESIZED LATIN SMALL LETTER P
+ "\u24AC":"(q)", // PARENTHESIZED LATIN SMALL LETTER Q
+ "\u24AD":"(r)", // PARENTHESIZED LATIN SMALL LETTER R
+ "\u24AE":"(s)", // PARENTHESIZED LATIN SMALL LETTER S
+ "\u24AF":"(t)", // PARENTHESIZED LATIN SMALL LETTER T
+ "\u24B0":"(u)", // PARENTHESIZED LATIN SMALL LETTER U
+ "\u24B1":"(v)", // PARENTHESIZED LATIN SMALL LETTER V
+ "\u24B2":"(w)", // PARENTHESIZED LATIN SMALL LETTER W
+ "\u24B3":"(x)", // PARENTHESIZED LATIN SMALL LETTER X
+ "\u24B4":"(y)", // PARENTHESIZED LATIN SMALL LETTER Y
+ "\u24B5":"(z)", // PARENTHESIZED LATIN SMALL LETTER Z
+ "\u24B6":"(A)", // CIRCLED LATIN CAPITAL LETTER A
+ "\u24B7":"(B)", // CIRCLED LATIN CAPITAL LETTER B
+ "\u24B8":"(C)", // CIRCLED LATIN CAPITAL LETTER C
+ "\u24B9":"(D)", // CIRCLED LATIN CAPITAL LETTER D
+ "\u24BA":"(E)", // CIRCLED LATIN CAPITAL LETTER E
+ "\u24BB":"(F)", // CIRCLED LATIN CAPITAL LETTER F
+ "\u24BC":"(G)", // CIRCLED LATIN CAPITAL LETTER G
+ "\u24BD":"(H)", // CIRCLED LATIN CAPITAL LETTER H
+ "\u24BE":"(I)", // CIRCLED LATIN CAPITAL LETTER I
+ "\u24BF":"(J)", // CIRCLED LATIN CAPITAL LETTER J
+ "\u24C0":"(K)", // CIRCLED LATIN CAPITAL LETTER K
+ "\u24C1":"(L)", // CIRCLED LATIN CAPITAL LETTER L
+ "\u24C2":"(M)", // CIRCLED LATIN CAPITAL LETTER M
+ "\u24C3":"(N)", // CIRCLED LATIN CAPITAL LETTER N
+ "\u24C4":"(O)", // CIRCLED LATIN CAPITAL LETTER O
+ "\u24C5":"(P)", // CIRCLED LATIN CAPITAL LETTER P
+ "\u24C6":"(Q)", // CIRCLED LATIN CAPITAL LETTER Q
+ "\u24C7":"(R)", // CIRCLED LATIN CAPITAL LETTER R
+ "\u24C8":"(S)", // CIRCLED LATIN CAPITAL LETTER S
+ "\u24C9":"(T)", // CIRCLED LATIN CAPITAL LETTER T
+ "\u24CA":"(U)", // CIRCLED LATIN CAPITAL LETTER U
+ "\u24CB":"(V)", // CIRCLED LATIN CAPITAL LETTER V
+ "\u24CC":"(W)", // CIRCLED LATIN CAPITAL LETTER W
+ "\u24CD":"(X)", // CIRCLED LATIN CAPITAL LETTER X
+ "\u24CE":"(Y)", // CIRCLED LATIN CAPITAL LETTER Y
+ "\u24CF":"(Z)", // CIRCLED LATIN CAPITAL LETTER Z
+ "\u24D0":"(a)", // CIRCLED LATIN SMALL LETTER A
+ "\u24D1":"(b)", // CIRCLED LATIN SMALL LETTER B
+ "\u24D2":"(c)", // CIRCLED LATIN SMALL LETTER C
+ "\u24D3":"(d)", // CIRCLED LATIN SMALL LETTER D
+ "\u24D4":"(e)", // CIRCLED LATIN SMALL LETTER E
+ "\u24D5":"(f)", // CIRCLED LATIN SMALL LETTER F
+ "\u24D6":"(g)", // CIRCLED LATIN SMALL LETTER G
+ "\u24D7":"(h)", // CIRCLED LATIN SMALL LETTER H
+ "\u24D8":"(i)", // CIRCLED LATIN SMALL LETTER I
+ "\u24D9":"(j)", // CIRCLED LATIN SMALL LETTER J
+ "\u24DA":"(k)", // CIRCLED LATIN SMALL LETTER K
+ "\u24DB":"(l)", // CIRCLED LATIN SMALL LETTER L
+ "\u24DC":"(m)", // CIRCLED LATIN SMALL LETTER M
+ "\u24DD":"(n)", // CIRCLED LATIN SMALL LETTER N
+ "\u24DE":"(o)", // CIRCLED LATIN SMALL LETTER O
+ "\u24DF":"(p)", // CIRCLED LATIN SMALL LETTER P
+ "\u24E0":"(q)", // CIRCLED LATIN SMALL LETTER Q
+ "\u24E1":"(r)", // CIRCLED LATIN SMALL LETTER R
+ "\u24E2":"(s)", // CIRCLED LATIN SMALL LETTER S
+ "\u24E3":"(t)", // CIRCLED LATIN SMALL LETTER T
+ "\u24E4":"(u)", // CIRCLED LATIN SMALL LETTER U
+ "\u24E5":"(v)", // CIRCLED LATIN SMALL LETTER V
+ "\u24E6":"(w)", // CIRCLED LATIN SMALL LETTER W
+ "\u24E7":"(x)", // CIRCLED LATIN SMALL LETTER X
+ "\u24E8":"(y)", // CIRCLED LATIN SMALL LETTER Y
+ "\u24E9":"(z)", // CIRCLED LATIN SMALL LETTER Z
+ "\u24EA":"(0)", // CIRCLED DIGIT ZERO
+ "\u2500":"-", // BOX DRAWINGS LIGHT HORIZONTAL
+ "\u2501":"=", // BOX DRAWINGS HEAVY HORIZONTAL
+ "\u2502":"|", // BOX DRAWINGS LIGHT VERTICAL
+ "\u2503":"|", // BOX DRAWINGS HEAVY VERTICAL
+ "\u2504":"-", // BOX DRAWINGS LIGHT TRIPLE DASH HORIZONTAL
+ "\u2505":"=", // BOX DRAWINGS HEAVY TRIPLE DASH HORIZONTAL
+ "\u2506":"|", // BOX DRAWINGS LIGHT TRIPLE DASH VERTICAL
+ "\u2507":"|", // BOX DRAWINGS HEAVY TRIPLE DASH VERTICAL
+ "\u2508":"-", // BOX DRAWINGS LIGHT QUADRUPLE DASH HORIZONTAL
+ "\u2509":"=", // BOX DRAWINGS HEAVY QUADRUPLE DASH HORIZONTAL
+ "\u250A":"|", // BOX DRAWINGS LIGHT QUADRUPLE DASH VERTICAL
+ "\u250B":"|", // BOX DRAWINGS HEAVY QUADRUPLE DASH VERTICAL
+ "\u250C":"+", // BOX DRAWINGS LIGHT DOWN AND RIGHT
+ "\u250D":"+", // BOX DRAWINGS DOWN LIGHT AND RIGHT HEAVY
+ "\u250E":"+", // BOX DRAWINGS DOWN HEAVY AND RIGHT LIGHT
+ "\u250F":"+", // BOX DRAWINGS HEAVY DOWN AND RIGHT
+ "\u2510":"+", // BOX DRAWINGS LIGHT DOWN AND LEFT
+ "\u2511":"+", // BOX DRAWINGS DOWN LIGHT AND LEFT HEAVY
+ "\u2512":"+", // BOX DRAWINGS DOWN HEAVY AND LEFT LIGHT
+ "\u2513":"+", // BOX DRAWINGS HEAVY DOWN AND LEFT
+ "\u2514":"+", // BOX DRAWINGS LIGHT UP AND RIGHT
+ "\u2515":"+", // BOX DRAWINGS UP LIGHT AND RIGHT HEAVY
+ "\u2516":"+", // BOX DRAWINGS UP HEAVY AND RIGHT LIGHT
+ "\u2517":"+", // BOX DRAWINGS HEAVY UP AND RIGHT
+ "\u2518":"+", // BOX DRAWINGS LIGHT UP AND LEFT
+ "\u2519":"+", // BOX DRAWINGS UP LIGHT AND LEFT HEAVY
+ "\u251A":"+", // BOX DRAWINGS UP HEAVY AND LEFT LIGHT
+ "\u251B":"+", // BOX DRAWINGS HEAVY UP AND LEFT
+ "\u251C":"+", // BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+ "\u251D":"+", // BOX DRAWINGS VERTICAL LIGHT AND RIGHT HEAVY
+ "\u251E":"+", // BOX DRAWINGS UP HEAVY AND RIGHT DOWN LIGHT
+ "\u251F":"+", // BOX DRAWINGS DOWN HEAVY AND RIGHT UP LIGHT
+ "\u2520":"+", // BOX DRAWINGS VERTICAL HEAVY AND RIGHT LIGHT
+ "\u2521":"+", // BOX DRAWINGS DOWN LIGHT AND RIGHT UP HEAVY
+ "\u2522":"+", // BOX DRAWINGS UP LIGHT AND RIGHT DOWN HEAVY
+ "\u2523":"+", // BOX DRAWINGS HEAVY VERTICAL AND RIGHT
+ "\u2524":"+", // BOX DRAWINGS LIGHT VERTICAL AND LEFT
+ "\u2525":"+", // BOX DRAWINGS VERTICAL LIGHT AND LEFT HEAVY
+ "\u2526":"+", // BOX DRAWINGS UP HEAVY AND LEFT DOWN LIGHT
+ "\u2527":"+", // BOX DRAWINGS DOWN HEAVY AND LEFT UP LIGHT
+ "\u2528":"+", // BOX DRAWINGS VERTICAL HEAVY AND LEFT LIGHT
+ "\u2529":"+", // BOX DRAWINGS DOWN LIGHT AND LEFT UP HEAVY
+ "\u252A":"+", // BOX DRAWINGS UP LIGHT AND LEFT DOWN HEAVY
+ "\u252B":"+", // BOX DRAWINGS HEAVY VERTICAL AND LEFT
+ "\u252C":"+", // BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+ "\u252D":"+", // BOX DRAWINGS LEFT HEAVY AND RIGHT DOWN LIGHT
+ "\u252E":"+", // BOX DRAWINGS RIGHT HEAVY AND LEFT DOWN LIGHT
+ "\u252F":"+", // BOX DRAWINGS DOWN LIGHT AND HORIZONTAL HEAVY
+ "\u2530":"+", // BOX DRAWINGS DOWN HEAVY AND HORIZONTAL LIGHT
+ "\u2531":"+", // BOX DRAWINGS RIGHT LIGHT AND LEFT DOWN HEAVY
+ "\u2532":"+", // BOX DRAWINGS LEFT LIGHT AND RIGHT DOWN HEAVY
+ "\u2533":"+", // BOX DRAWINGS HEAVY DOWN AND HORIZONTAL
+ "\u2534":"+", // BOX DRAWINGS LIGHT UP AND HORIZONTAL
+ "\u2535":"+", // BOX DRAWINGS LEFT HEAVY AND RIGHT UP LIGHT
+ "\u2536":"+", // BOX DRAWINGS RIGHT HEAVY AND LEFT UP LIGHT
+ "\u2537":"+", // BOX DRAWINGS UP LIGHT AND HORIZONTAL HEAVY
+ "\u2538":"+", // BOX DRAWINGS UP HEAVY AND HORIZONTAL LIGHT
+ "\u2539":"+", // BOX DRAWINGS RIGHT LIGHT AND LEFT UP HEAVY
+ "\u253A":"+", // BOX DRAWINGS LEFT LIGHT AND RIGHT UP HEAVY
+ "\u253B":"+", // BOX DRAWINGS HEAVY UP AND HORIZONTAL
+ "\u253C":"+", // BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+ "\u253D":"+", // BOX DRAWINGS LEFT HEAVY AND RIGHT VERTICAL LIGHT
+ "\u253E":"+", // BOX DRAWINGS RIGHT HEAVY AND LEFT VERTICAL LIGHT
+ "\u253F":"+", // BOX DRAWINGS VERTICAL LIGHT AND HORIZONTAL HEAVY
+ "\u2540":"+", // BOX DRAWINGS UP HEAVY AND DOWN HORIZONTAL LIGHT
+ "\u2541":"+", // BOX DRAWINGS DOWN HEAVY AND UP HORIZONTAL LIGHT
+ "\u2542":"+", // BOX DRAWINGS VERTICAL HEAVY AND HORIZONTAL LIGHT
+ "\u2543":"+", // BOX DRAWINGS LEFT UP HEAVY AND RIGHT DOWN LIGHT
+ "\u2544":"+", // BOX DRAWINGS RIGHT UP HEAVY AND LEFT DOWN LIGHT
+ "\u2545":"+", // BOX DRAWINGS LEFT DOWN HEAVY AND RIGHT UP LIGHT
+ "\u2546":"+", // BOX DRAWINGS RIGHT DOWN HEAVY AND LEFT UP LIGHT
+ "\u2547":"+", // BOX DRAWINGS DOWN LIGHT AND UP HORIZONTAL HEAVY
+ "\u2548":"+", // BOX DRAWINGS UP LIGHT AND DOWN HORIZONTAL HEAVY
+ "\u2549":"+", // BOX DRAWINGS RIGHT LIGHT AND LEFT VERTICAL HEAVY
+ "\u254A":"+", // BOX DRAWINGS LEFT LIGHT AND RIGHT VERTICAL HEAVY
+ "\u254B":"+", // BOX DRAWINGS HEAVY VERTICAL AND HORIZONTAL
+ "\u254C":"-", // BOX DRAWINGS LIGHT DOUBLE DASH HORIZONTAL
+ "\u254D":"=", // BOX DRAWINGS HEAVY DOUBLE DASH HORIZONTAL
+ "\u254E":"|", // BOX DRAWINGS LIGHT DOUBLE DASH VERTICAL
+ "\u254F":"|", // BOX DRAWINGS HEAVY DOUBLE DASH VERTICAL
+ "\u2550":"=", // BOX DRAWINGS DOUBLE HORIZONTAL
+ "\u2551":"|", // BOX DRAWINGS DOUBLE VERTICAL
+ "\u2552":"+", // BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
+ "\u2553":"+", // BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
+ "\u2554":"+", // BOX DRAWINGS DOUBLE DOWN AND RIGHT
+ "\u2555":"+", // BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
+ "\u2556":"+", // BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
+ "\u2557":"+", // BOX DRAWINGS DOUBLE DOWN AND LEFT
+ "\u2558":"+", // BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
+ "\u2559":"+", // BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
+ "\u255A":"+", // BOX DRAWINGS DOUBLE UP AND RIGHT
+ "\u255B":"+", // BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
+ "\u255C":"+", // BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
+ "\u255D":"+", // BOX DRAWINGS DOUBLE UP AND LEFT
+ "\u255E":"+", // BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
+ "\u255F":"+", // BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
+ "\u2560":"+", // BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+ "\u2561":"+", // BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
+ "\u2562":"+", // BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
+ "\u2563":"+", // BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+ "\u2564":"+", // BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
+ "\u2565":"+", // BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
+ "\u2566":"+", // BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+ "\u2567":"+", // BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
+ "\u2568":"+", // BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
+ "\u2569":"+", // BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+ "\u256A":"+", // BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
+ "\u256B":"+", // BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
+ "\u256C":"+", // BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+ "\u256D":"+", // BOX DRAWINGS LIGHT ARC DOWN AND RIGHT
+ "\u256E":"+", // BOX DRAWINGS LIGHT ARC DOWN AND LEFT
+ "\u256F":"+", // BOX DRAWINGS LIGHT ARC UP AND LEFT
+ "\u2570":"+", // BOX DRAWINGS LIGHT ARC UP AND RIGHT
+ "\u2571":"/", // BOX DRAWINGS LIGHT DIAGONAL UPPER RIGHT TO LOWER LEFT
+ "\u2572":"\\", // BOX DRAWINGS LIGHT DIAGONAL UPPER LEFT TO LOWER RIGHT
+ "\u2573":"X", // BOX DRAWINGS LIGHT DIAGONAL CROSS
+ "\u257C":"-", // BOX DRAWINGS LIGHT LEFT AND HEAVY RIGHT
+ "\u257D":"|", // BOX DRAWINGS LIGHT UP AND HEAVY DOWN
+ "\u257E":"-", // BOX DRAWINGS HEAVY LEFT AND LIGHT RIGHT
+ "\u257F":"|", // BOX DRAWINGS HEAVY UP AND LIGHT DOWN
+ "\u25CB":"o", // WHITE CIRCLE
+ "\u25E6":"{\\textopenbullet}", // WHITE BULLET
+ "\u2605":"*", // BLACK STAR
+ "\u2606":"*", // WHITE STAR
+ "\u2612":"X", // BALLOT BOX WITH X
+ "\u2613":"X", // SALTIRE
+ "\u2639":":-(", // WHITE FROWNING FACE
+ "\u263A":":-)", // WHITE SMILING FACE
+ "\u263B":"(-:", // BLACK SMILING FACE
+ "\u266D":"b", // MUSIC FLAT SIGN
+ "\u266F":"$\\#$", // MUSIC SHARP SIGN
+ "\u2701":"$\\%<$", // UPPER BLADE SCISSORS
+ "\u2702":"$\\%<$", // BLACK SCISSORS
+ "\u2703":"$\\%<$", // LOWER BLADE SCISSORS
+ "\u2704":"$\\%<$", // WHITE SCISSORS
+ "\u270C":"V", // VICTORY HAND
+ "\u2713":"v", // CHECK MARK
+ "\u2714":"V", // HEAVY CHECK MARK
+ "\u2715":"x", // MULTIPLICATION X
+ "\u2716":"x", // HEAVY MULTIPLICATION X
+ "\u2717":"X", // BALLOT X
+ "\u2718":"X", // HEAVY BALLOT X
+ "\u2719":"+", // OUTLINED GREEK CROSS
+ "\u271A":"+", // HEAVY GREEK CROSS
+ "\u271B":"+", // OPEN CENTRE CROSS
+ "\u271C":"+", // HEAVY OPEN CENTRE CROSS
+ "\u271D":"+", // LATIN CROSS
+ "\u271E":"+", // SHADOWED WHITE LATIN CROSS
+ "\u271F":"+", // OUTLINED LATIN CROSS
+ "\u2720":"+", // MALTESE CROSS
+ "\u2721":"*", // STAR OF DAVID
+ "\u2722":"+", // FOUR TEARDROP-SPOKED ASTERISK
+ "\u2723":"+", // FOUR BALLOON-SPOKED ASTERISK
+ "\u2724":"+", // HEAVY FOUR BALLOON-SPOKED ASTERISK
+ "\u2725":"+", // FOUR CLUB-SPOKED ASTERISK
+ "\u2726":"+", // BLACK FOUR POINTED STAR
+ "\u2727":"+", // WHITE FOUR POINTED STAR
+ "\u2729":"*", // STRESS OUTLINED WHITE STAR
+ "\u272A":"*", // CIRCLED WHITE STAR
+ "\u272B":"*", // OPEN CENTRE BLACK STAR
+ "\u272C":"*", // BLACK CENTRE WHITE STAR
+ "\u272D":"*", // OUTLINED BLACK STAR
+ "\u272E":"*", // HEAVY OUTLINED BLACK STAR
+ "\u272F":"*", // PINWHEEL STAR
+ "\u2730":"*", // SHADOWED WHITE STAR
+ "\u2731":"*", // HEAVY ASTERISK
+ "\u2732":"*", // OPEN CENTRE ASTERISK
+ "\u2733":"*", // EIGHT SPOKED ASTERISK
+ "\u2734":"*", // EIGHT POINTED BLACK STAR
+ "\u2735":"*", // EIGHT POINTED PINWHEEL STAR
+ "\u2736":"*", // SIX POINTED BLACK STAR
+ "\u2737":"*", // EIGHT POINTED RECTILINEAR BLACK STAR
+ "\u2738":"*", // HEAVY EIGHT POINTED RECTILINEAR BLACK STAR
+ "\u2739":"*", // TWELVE POINTED BLACK STAR
+ "\u273A":"*", // SIXTEEN POINTED ASTERISK
+ "\u273B":"*", // TEARDROP-SPOKED ASTERISK
+ "\u273C":"*", // OPEN CENTRE TEARDROP-SPOKED ASTERISK
+ "\u273D":"*", // HEAVY TEARDROP-SPOKED ASTERISK
+ "\u273E":"*", // SIX PETALLED BLACK AND WHITE FLORETTE
+ "\u273F":"*", // BLACK FLORETTE
+ "\u2740":"*", // WHITE FLORETTE
+ "\u2741":"*", // EIGHT PETALLED OUTLINED BLACK FLORETTE
+ "\u2742":"*", // CIRCLED OPEN CENTRE EIGHT POINTED STAR
+ "\u2743":"*", // HEAVY TEARDROP-SPOKED PINWHEEL ASTERISK
+ "\u2744":"*", // SNOWFLAKE
+ "\u2745":"*", // TIGHT TRIFOLIATE SNOWFLAKE
+ "\u2746":"*", // HEAVY CHEVRON SNOWFLAKE
+ "\u2747":"*", // SPARKLE
+ "\u2748":"*", // HEAVY SPARKLE
+ "\u2749":"*", // BALLOON-SPOKED ASTERISK
+ "\u274A":"*", // EIGHT TEARDROP-SPOKED PROPELLER ASTERISK
+ "\u274B":"*", // HEAVY EIGHT TEARDROP-SPOKED PROPELLER ASTERISK
+ "\uFB00":"ff", // LATIN SMALL LIGATURE FF
+ "\uFB01":"fi", // LATIN SMALL LIGATURE FI
+ "\uFB02":"fl", // LATIN SMALL LIGATURE FL
+ "\uFB03":"ffi", // LATIN SMALL LIGATURE FFI
+ "\uFB04":"ffl", // LATIN SMALL LIGATURE FFL
+ "\uFB05":"st", // LATIN SMALL LIGATURE LONG S T
+ "\uFB06":"st", // LATIN SMALL LIGATURE ST
+/* Derived accented characters */
+
+/* These two require the "semtrans" package to work; uncomment to enable */
+/* "\u02BF":"\{\\Ayn}", // MGR Ayn
+ "\u02BE":"\{\\Alif}", // MGR Alif/Hamza
+*/
+ "\u00C0":"{\\`A}", // LATIN CAPITAL LETTER A WITH GRAVE
+ "\u00C1":"{\\'A}", // LATIN CAPITAL LETTER A WITH ACUTE
+ "\u00C2":"{\\^A}", // LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+ "\u00C3":"{\\~A}", // LATIN CAPITAL LETTER A WITH TILDE
+ "\u00C4":"{\\\"A}", // LATIN CAPITAL LETTER A WITH DIAERESIS
+ "\u00C5":"{\\r A}", // LATIN CAPITAL LETTER A WITH RING ABOVE
+ "\u00C7":"{\\c C}", // LATIN CAPITAL LETTER C WITH CEDILLA
+ "\u00C8":"{\\`E}", // LATIN CAPITAL LETTER E WITH GRAVE
+ "\u00C9":"{\\'E}", // LATIN CAPITAL LETTER E WITH ACUTE
+ "\u00CA":"{\\^E}", // LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+ "\u00CB":"{\\\"E}", // LATIN CAPITAL LETTER E WITH DIAERESIS
+ "\u00CC":"{\\`I}", // LATIN CAPITAL LETTER I WITH GRAVE
+ "\u00CD":"{\\'I}", // LATIN CAPITAL LETTER I WITH ACUTE
+ "\u00CE":"{\\^I}", // LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+ "\u00CF":"{\\\"I}", // LATIN CAPITAL LETTER I WITH DIAERESIS
+ "\u00D1":"{\\~N}", // LATIN CAPITAL LETTER N WITH TILDE
+ "\u00D2":"{\\`O}", // LATIN CAPITAL LETTER O WITH GRAVE
+ "\u00D3":"{\\'O}", // LATIN CAPITAL LETTER O WITH ACUTE
+ "\u00D4":"{\\^O}", // LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+ "\u00D5":"{\\~O}", // LATIN CAPITAL LETTER O WITH TILDE
+ "\u00D6":"{\\\"O}", // LATIN CAPITAL LETTER O WITH DIAERESIS
+ "\u00D9":"{\\`U}", // LATIN CAPITAL LETTER U WITH GRAVE
+ "\u00DA":"{\\'U}", // LATIN CAPITAL LETTER U WITH ACUTE
+ "\u00DB":"{\\^U}", // LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+ "\u00DC":"{\\\"U}", // LATIN CAPITAL LETTER U WITH DIAERESIS
+ "\u00DD":"{\\'Y}", // LATIN CAPITAL LETTER Y WITH ACUTE
+ "\u00E0":"{\\`a}", // LATIN SMALL LETTER A WITH GRAVE
+ "\u00E1":"{\\'a}", // LATIN SMALL LETTER A WITH ACUTE
+ "\u00E2":"{\\^a}", // LATIN SMALL LETTER A WITH CIRCUMFLEX
+ "\u00E3":"{\\~a}", // LATIN SMALL LETTER A WITH TILDE
+ "\u00E4":"{\\\"a}", // LATIN SMALL LETTER A WITH DIAERESIS
+ "\u00E5":"{\\r a}", // LATIN SMALL LETTER A WITH RING ABOVE
+ "\u00E7":"{\\c c}", // LATIN SMALL LETTER C WITH CEDILLA
+ "\u00E8":"{\\`e}", // LATIN SMALL LETTER E WITH GRAVE
+ "\u00E9":"{\\'e}", // LATIN SMALL LETTER E WITH ACUTE
+ "\u00EA":"{\\^e}", // LATIN SMALL LETTER E WITH CIRCUMFLEX
+ "\u00EB":"{\\\"e}", // LATIN SMALL LETTER E WITH DIAERESIS
+ "\u00EC":"{\\`i}", // LATIN SMALL LETTER I WITH GRAVE
+ "\u00ED":"{\\'i}", // LATIN SMALL LETTER I WITH ACUTE
+ "\u00EE":"{\\^i}", // LATIN SMALL LETTER I WITH CIRCUMFLEX
+ "\u00EF":"{\\\"i}", // LATIN SMALL LETTER I WITH DIAERESIS
+ "\u00F1":"{\\~n}", // LATIN SMALL LETTER N WITH TILDE
+ "\u00F2":"{\\`o}", // LATIN SMALL LETTER O WITH GRAVE
+ "\u00F3":"{\\'o}", // LATIN SMALL LETTER O WITH ACUTE
+ "\u00F4":"{\\^o}", // LATIN SMALL LETTER O WITH CIRCUMFLEX
+ "\u00F5":"{\\~o}", // LATIN SMALL LETTER O WITH TILDE
+ "\u00F6":"{\\\"o}", // LATIN SMALL LETTER O WITH DIAERESIS
+ "\u00F9":"{\\`u}", // LATIN SMALL LETTER U WITH GRAVE
+ "\u00FA":"{\\'u}", // LATIN SMALL LETTER U WITH ACUTE
+ "\u00FB":"{\\^u}", // LATIN SMALL LETTER U WITH CIRCUMFLEX
+ "\u00FC":"{\\\"u}", // LATIN SMALL LETTER U WITH DIAERESIS
+ "\u00FD":"{\\'y}", // LATIN SMALL LETTER Y WITH ACUTE
+ "\u00FF":"{\\\"y}", // LATIN SMALL LETTER Y WITH DIAERESIS
+ "\u0100":"{\\=A}", // LATIN CAPITAL LETTER A WITH MACRON
+ "\u0101":"{\\=a}", // LATIN SMALL LETTER A WITH MACRON
+ "\u0102":"{\\u A}", // LATIN CAPITAL LETTER A WITH BREVE
+ "\u0103":"{\\u a}", // LATIN SMALL LETTER A WITH BREVE
+ "\u0104":"{\\k A}", // LATIN CAPITAL LETTER A WITH OGONEK
+ "\u0105":"{\\k a}", // LATIN SMALL LETTER A WITH OGONEK
+ "\u0106":"{\\'C}", // LATIN CAPITAL LETTER C WITH ACUTE
+ "\u0107":"{\\'c}", // LATIN SMALL LETTER C WITH ACUTE
+ "\u0108":"{\\^C}", // LATIN CAPITAL LETTER C WITH CIRCUMFLEX
+ "\u0109":"{\\^c}", // LATIN SMALL LETTER C WITH CIRCUMFLEX
+ "\u010A":"{\\.C}", // LATIN CAPITAL LETTER C WITH DOT ABOVE
+ "\u010B":"{\\.c}", // LATIN SMALL LETTER C WITH DOT ABOVE
+ "\u010C":"{\\v C}", // LATIN CAPITAL LETTER C WITH CARON
+ "\u010D":"{\\v c}", // LATIN SMALL LETTER C WITH CARON
+ "\u010E":"{\\v D}", // LATIN CAPITAL LETTER D WITH CARON
+ "\u010F":"{\\v d}", // LATIN SMALL LETTER D WITH CARON
+ "\u0112":"{\\=E}", // LATIN CAPITAL LETTER E WITH MACRON
+ "\u0113":"{\\=e}", // LATIN SMALL LETTER E WITH MACRON
+ "\u0114":"{\\u E}", // LATIN CAPITAL LETTER E WITH BREVE
+ "\u0115":"{\\u e}", // LATIN SMALL LETTER E WITH BREVE
+ "\u0116":"{\\.E}", // LATIN CAPITAL LETTER E WITH DOT ABOVE
+ "\u0117":"{\\.e}", // LATIN SMALL LETTER E WITH DOT ABOVE
+ "\u0118":"{\\k E}", // LATIN CAPITAL LETTER E WITH OGONEK
+ "\u0119":"{\\k e}", // LATIN SMALL LETTER E WITH OGONEK
+ "\u011A":"{\\v E}", // LATIN CAPITAL LETTER E WITH CARON
+ "\u011B":"{\\v e}", // LATIN SMALL LETTER E WITH CARON
+ "\u011C":"{\\^G}", // LATIN CAPITAL LETTER G WITH CIRCUMFLEX
+ "\u011D":"{\\^g}", // LATIN SMALL LETTER G WITH CIRCUMFLEX
+ "\u011E":"{\\u G}", // LATIN CAPITAL LETTER G WITH BREVE
+ "\u011F":"{\\u g}", // LATIN SMALL LETTER G WITH BREVE
+ "\u0120":"{\\.G}", // LATIN CAPITAL LETTER G WITH DOT ABOVE
+ "\u0121":"{\\.g}", // LATIN SMALL LETTER G WITH DOT ABOVE
+ "\u0122":"{\\c G}", // LATIN CAPITAL LETTER G WITH CEDILLA
+ "\u0123":"{\\c g}", // LATIN SMALL LETTER G WITH CEDILLA
+ "\u0124":"{\\^H}", // LATIN CAPITAL LETTER H WITH CIRCUMFLEX
+ "\u0125":"{\\^h}", // LATIN SMALL LETTER H WITH CIRCUMFLEX
+ "\u0128":"{\\~I}", // LATIN CAPITAL LETTER I WITH TILDE
+ "\u0129":"{\\~i}", // LATIN SMALL LETTER I WITH TILDE
+ "\u012A":"{\\=I}", // LATIN CAPITAL LETTER I WITH MACRON
+ "\u012B":"{\\=\\i}", // LATIN SMALL LETTER I WITH MACRON
+ "\u012C":"{\\u I}", // LATIN CAPITAL LETTER I WITH BREVE
+ "\u012D":"{\\u i}", // LATIN SMALL LETTER I WITH BREVE
+ "\u012E":"{\\k I}", // LATIN CAPITAL LETTER I WITH OGONEK
+ "\u012F":"{\\k i}", // LATIN SMALL LETTER I WITH OGONEK
+ "\u0130":"{\\.I}", // LATIN CAPITAL LETTER I WITH DOT ABOVE
+ "\u0134":"{\\^J}", // LATIN CAPITAL LETTER J WITH CIRCUMFLEX
+ "\u0135":"{\\^j}", // LATIN SMALL LETTER J WITH CIRCUMFLEX
+ "\u0136":"{\\c K}", // LATIN CAPITAL LETTER K WITH CEDILLA
+ "\u0137":"{\\c k}", // LATIN SMALL LETTER K WITH CEDILLA
+ "\u0139":"{\\'L}", // LATIN CAPITAL LETTER L WITH ACUTE
+ "\u013A":"{\\'l}", // LATIN SMALL LETTER L WITH ACUTE
+ "\u013B":"{\\c L}", // LATIN CAPITAL LETTER L WITH CEDILLA
+ "\u013C":"{\\c l}", // LATIN SMALL LETTER L WITH CEDILLA
+ "\u013D":"{\\v L}", // LATIN CAPITAL LETTER L WITH CARON
+ "\u013E":"{\\v l}", // LATIN SMALL LETTER L WITH CARON
+ "\u0141":"{\\L }", //LATIN CAPITAL LETTER L WITH STROKE
+ "\u0142":"{\\l }", //LATIN SMALL LETTER L WITH STROKE
+ "\u0143":"{\\'N}", // LATIN CAPITAL LETTER N WITH ACUTE
+ "\u0144":"{\\'n}", // LATIN SMALL LETTER N WITH ACUTE
+ "\u0145":"{\\c N}", // LATIN CAPITAL LETTER N WITH CEDILLA
+ "\u0146":"{\\c n}", // LATIN SMALL LETTER N WITH CEDILLA
+ "\u0147":"{\\v N}", // LATIN CAPITAL LETTER N WITH CARON
+ "\u0148":"{\\v n}", // LATIN SMALL LETTER N WITH CARON
+ "\u014C":"{\\=O}", // LATIN CAPITAL LETTER O WITH MACRON
+ "\u014D":"{\\=o}", // LATIN SMALL LETTER O WITH MACRON
+ "\u014E":"{\\u O}", // LATIN CAPITAL LETTER O WITH BREVE
+ "\u014F":"{\\u o}", // LATIN SMALL LETTER O WITH BREVE
+ "\u0150":"{\\H O}", // LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+ "\u0151":"{\\H o}", // LATIN SMALL LETTER O WITH DOUBLE ACUTE
+ "\u0154":"{\\'R}", // LATIN CAPITAL LETTER R WITH ACUTE
+ "\u0155":"{\\'r}", // LATIN SMALL LETTER R WITH ACUTE
+ "\u0156":"{\\c R}", // LATIN CAPITAL LETTER R WITH CEDILLA
+ "\u0157":"{\\c r}", // LATIN SMALL LETTER R WITH CEDILLA
+ "\u0158":"{\\v R}", // LATIN CAPITAL LETTER R WITH CARON
+ "\u0159":"{\\v r}", // LATIN SMALL LETTER R WITH CARON
+ "\u015A":"{\\'S}", // LATIN CAPITAL LETTER S WITH ACUTE
+ "\u015B":"{\\'s}", // LATIN SMALL LETTER S WITH ACUTE
+ "\u015C":"{\\^S}", // LATIN CAPITAL LETTER S WITH CIRCUMFLEX
+ "\u015D":"{\\^s}", // LATIN SMALL LETTER S WITH CIRCUMFLEX
+ "\u015E":"{\\c S}", // LATIN CAPITAL LETTER S WITH CEDILLA
+ "\u015F":"{\\c s}", // LATIN SMALL LETTER S WITH CEDILLA
+ "\u0160":"{\\v S}", // LATIN CAPITAL LETTER S WITH CARON
+ "\u0161":"{\\v s}", // LATIN SMALL LETTER S WITH CARON
+ "\u0162":"{\\c T}", // LATIN CAPITAL LETTER T WITH CEDILLA
+ "\u0163":"{\\c t}", // LATIN SMALL LETTER T WITH CEDILLA
+ "\u0164":"{\\v T}", // LATIN CAPITAL LETTER T WITH CARON
+ "\u0165":"{\\v t}", // LATIN SMALL LETTER T WITH CARON
+ "\u0168":"{\\~U}", // LATIN CAPITAL LETTER U WITH TILDE
+ "\u0169":"{\\~u}", // LATIN SMALL LETTER U WITH TILDE
+ "\u016A":"{\\=U}", // LATIN CAPITAL LETTER U WITH MACRON
+ "\u016B":"{\\=u}", // LATIN SMALL LETTER U WITH MACRON
+ "\u016C":"{\\u U}", // LATIN CAPITAL LETTER U WITH BREVE
+ "\u016D":"{\\u u}", // LATIN SMALL LETTER U WITH BREVE
+ "\u0170":"{\\H U}", // LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+ "\u0171":"{\\H u}", // LATIN SMALL LETTER U WITH DOUBLE ACUTE
+ "\u0172":"{\\k U}", // LATIN CAPITAL LETTER U WITH OGONEK
+ "\u0173":"{\\k u}", // LATIN SMALL LETTER U WITH OGONEK
+ "\u0174":"{\\^W}", // LATIN CAPITAL LETTER W WITH CIRCUMFLEX
+ "\u0175":"{\\^w}", // LATIN SMALL LETTER W WITH CIRCUMFLEX
+ "\u0176":"{\\^Y}", // LATIN CAPITAL LETTER Y WITH CIRCUMFLEX
+ "\u0177":"{\\^y}", // LATIN SMALL LETTER Y WITH CIRCUMFLEX
+ "\u0178":"{\\\"Y}", // LATIN CAPITAL LETTER Y WITH DIAERESIS
+ "\u0179":"{\\'Z}", // LATIN CAPITAL LETTER Z WITH ACUTE
+ "\u017A":"{\\'z}", // LATIN SMALL LETTER Z WITH ACUTE
+ "\u017B":"{\\.Z}", // LATIN CAPITAL LETTER Z WITH DOT ABOVE
+ "\u017C":"{\\.z}", // LATIN SMALL LETTER Z WITH DOT ABOVE
+ "\u017D":"{\\v Z}", // LATIN CAPITAL LETTER Z WITH CARON
+ "\u017E":"{\\v z}", // LATIN SMALL LETTER Z WITH CARON
+ "\u01CD":"{\\v A}", // LATIN CAPITAL LETTER A WITH CARON
+ "\u01CE":"{\\v a}", // LATIN SMALL LETTER A WITH CARON
+ "\u01CF":"{\\v I}", // LATIN CAPITAL LETTER I WITH CARON
+ "\u01D0":"{\\v i}", // LATIN SMALL LETTER I WITH CARON
+ "\u01D1":"{\\v O}", // LATIN CAPITAL LETTER O WITH CARON
+ "\u01D2":"{\\v o}", // LATIN SMALL LETTER O WITH CARON
+ "\u01D3":"{\\v U}", // LATIN CAPITAL LETTER U WITH CARON
+ "\u01D4":"{\\v u}", // LATIN SMALL LETTER U WITH CARON
+ "\u01E6":"{\\v G}", // LATIN CAPITAL LETTER G WITH CARON
+ "\u01E7":"{\\v g}", // LATIN SMALL LETTER G WITH CARON
+ "\u01E8":"{\\v K}", // LATIN CAPITAL LETTER K WITH CARON
+ "\u01E9":"{\\v k}", // LATIN SMALL LETTER K WITH CARON
+ "\u01EA":"{\\k O}", // LATIN CAPITAL LETTER O WITH OGONEK
+ "\u01EB":"{\\k o}", // LATIN SMALL LETTER O WITH OGONEK
+ "\u01F0":"{\\v j}", // LATIN SMALL LETTER J WITH CARON
+ "\u01F4":"{\\'G}", // LATIN CAPITAL LETTER G WITH ACUTE
+ "\u01F5":"{\\'g}", // LATIN SMALL LETTER G WITH ACUTE
+ "\u1E02":"{\\.B}", // LATIN CAPITAL LETTER B WITH DOT ABOVE
+ "\u1E03":"{\\.b}", // LATIN SMALL LETTER B WITH DOT ABOVE
+ "\u1E04":"{\\d B}", // LATIN CAPITAL LETTER B WITH DOT BELOW
+ "\u1E05":"{\\d b}", // LATIN SMALL LETTER B WITH DOT BELOW
+ "\u1E06":"{\\b B}", // LATIN CAPITAL LETTER B WITH LINE BELOW
+ "\u1E07":"{\\b b}", // LATIN SMALL LETTER B WITH LINE BELOW
+ "\u1E0A":"{\\.D}", // LATIN CAPITAL LETTER D WITH DOT ABOVE
+ "\u1E0B":"{\\.d}", // LATIN SMALL LETTER D WITH DOT ABOVE
+ "\u1E0C":"{\\d D}", // LATIN CAPITAL LETTER D WITH DOT BELOW
+ "\u1E0D":"{\\d d}", // LATIN SMALL LETTER D WITH DOT BELOW
+ "\u1E0E":"{\\b D}", // LATIN CAPITAL LETTER D WITH LINE BELOW
+ "\u1E0F":"{\\b d}", // LATIN SMALL LETTER D WITH LINE BELOW
+ "\u1E10":"{\\c D}", // LATIN CAPITAL LETTER D WITH CEDILLA
+ "\u1E11":"{\\c d}", // LATIN SMALL LETTER D WITH CEDILLA
+ "\u1E1E":"{\\.F}", // LATIN CAPITAL LETTER F WITH DOT ABOVE
+ "\u1E1F":"{\\.f}", // LATIN SMALL LETTER F WITH DOT ABOVE
+ "\u1E20":"{\\=G}", // LATIN CAPITAL LETTER G WITH MACRON
+ "\u1E21":"{\\=g}", // LATIN SMALL LETTER G WITH MACRON
+ "\u1E22":"{\\.H}", // LATIN CAPITAL LETTER H WITH DOT ABOVE
+ "\u1E23":"{\\.h}", // LATIN SMALL LETTER H WITH DOT ABOVE
+ "\u1E24":"{\\d H}", // LATIN CAPITAL LETTER H WITH DOT BELOW
+ "\u1E25":"{\\d h}", // LATIN SMALL LETTER H WITH DOT BELOW
+ "\u1E26":"{\\\"H}", // LATIN CAPITAL LETTER H WITH DIAERESIS
+ "\u1E27":"{\\\"h}", // LATIN SMALL LETTER H WITH DIAERESIS
+ "\u1E28":"{\\c H}", // LATIN CAPITAL LETTER H WITH CEDILLA
+ "\u1E29":"{\\c h}", // LATIN SMALL LETTER H WITH CEDILLA
+ "\u1E30":"{\\'K}", // LATIN CAPITAL LETTER K WITH ACUTE
+ "\u1E31":"{\\'k}", // LATIN SMALL LETTER K WITH ACUTE
+ "\u1E32":"{\\d K}", // LATIN CAPITAL LETTER K WITH DOT BELOW
+ "\u1E33":"{\\d k}", // LATIN SMALL LETTER K WITH DOT BELOW
+ "\u1E34":"{\\b K}", // LATIN CAPITAL LETTER K WITH LINE BELOW
+ "\u1E35":"{\\b k}", // LATIN SMALL LETTER K WITH LINE BELOW
+ "\u1E36":"{\\d L}", // LATIN CAPITAL LETTER L WITH DOT BELOW
+ "\u1E37":"{\\d l}", // LATIN SMALL LETTER L WITH DOT BELOW
+ "\u1E3A":"{\\b L}", // LATIN CAPITAL LETTER L WITH LINE BELOW
+ "\u1E3B":"{\\b l}", // LATIN SMALL LETTER L WITH LINE BELOW
+ "\u1E3E":"{\\'M}", // LATIN CAPITAL LETTER M WITH ACUTE
+ "\u1E3F":"{\\'m}", // LATIN SMALL LETTER M WITH ACUTE
+ "\u1E40":"{\\.M}", // LATIN CAPITAL LETTER M WITH DOT ABOVE
+ "\u1E41":"{\\.m}", // LATIN SMALL LETTER M WITH DOT ABOVE
+ "\u1E42":"{\\d M}", // LATIN CAPITAL LETTER M WITH DOT BELOW
+ "\u1E43":"{\\d m}", // LATIN SMALL LETTER M WITH DOT BELOW
+ "\u1E44":"{\\.N}", // LATIN CAPITAL LETTER N WITH DOT ABOVE
+ "\u1E45":"{\\.n}", // LATIN SMALL LETTER N WITH DOT ABOVE
+ "\u1E46":"{\\d N}", // LATIN CAPITAL LETTER N WITH DOT BELOW
+ "\u1E47":"{\\d n}", // LATIN SMALL LETTER N WITH DOT BELOW
+ "\u1E48":"{\\b N}", // LATIN CAPITAL LETTER N WITH LINE BELOW
+ "\u1E49":"{\\b n}", // LATIN SMALL LETTER N WITH LINE BELOW
+ "\u1E54":"{\\'P}", // LATIN CAPITAL LETTER P WITH ACUTE
+ "\u1E55":"{\\'p}", // LATIN SMALL LETTER P WITH ACUTE
+ "\u1E56":"{\\.P}", // LATIN CAPITAL LETTER P WITH DOT ABOVE
+ "\u1E57":"{\\.p}", // LATIN SMALL LETTER P WITH DOT ABOVE
+ "\u1E58":"{\\.R}", // LATIN CAPITAL LETTER R WITH DOT ABOVE
+ "\u1E59":"{\\.r}", // LATIN SMALL LETTER R WITH DOT ABOVE
+ "\u1E5A":"{\\d R}", // LATIN CAPITAL LETTER R WITH DOT BELOW
+ "\u1E5B":"{\\d r}", // LATIN SMALL LETTER R WITH DOT BELOW
+ "\u1E5E":"{\\b R}", // LATIN CAPITAL LETTER R WITH LINE BELOW
+ "\u1E5F":"{\\b r}", // LATIN SMALL LETTER R WITH LINE BELOW
+ "\u1E60":"{\\.S}", // LATIN CAPITAL LETTER S WITH DOT ABOVE
+ "\u1E61":"{\\.s}", // LATIN SMALL LETTER S WITH DOT ABOVE
+ "\u1E62":"{\\d S}", // LATIN CAPITAL LETTER S WITH DOT BELOW
+ "\u1E63":"{\\d s}", // LATIN SMALL LETTER S WITH DOT BELOW
+ "\u1E6A":"{\\.T}", // LATIN CAPITAL LETTER T WITH DOT ABOVE
+ "\u1E6B":"{\\.t}", // LATIN SMALL LETTER T WITH DOT ABOVE
+ "\u1E6C":"{\\d T}", // LATIN CAPITAL LETTER T WITH DOT BELOW
+ "\u1E6D":"{\\d t}", // LATIN SMALL LETTER T WITH DOT BELOW
+ "\u1E6E":"{\\b T}", // LATIN CAPITAL LETTER T WITH LINE BELOW
+ "\u1E6F":"{\\b t}", // LATIN SMALL LETTER T WITH LINE BELOW
+ "\u1E7C":"{\\~V}", // LATIN CAPITAL LETTER V WITH TILDE
+ "\u1E7D":"{\\~v}", // LATIN SMALL LETTER V WITH TILDE
+ "\u1E7E":"{\\d V}", // LATIN CAPITAL LETTER V WITH DOT BELOW
+ "\u1E7F":"{\\d v}", // LATIN SMALL LETTER V WITH DOT BELOW
+ "\u1E80":"{\\`W}", // LATIN CAPITAL LETTER W WITH GRAVE
+ "\u1E81":"{\\`w}", // LATIN SMALL LETTER W WITH GRAVE
+ "\u1E82":"{\\'W}", // LATIN CAPITAL LETTER W WITH ACUTE
+ "\u1E83":"{\\'w}", // LATIN SMALL LETTER W WITH ACUTE
+ "\u1E84":"{\\\"W}", // LATIN CAPITAL LETTER W WITH DIAERESIS
+ "\u1E85":"{\\\"w}", // LATIN SMALL LETTER W WITH DIAERESIS
+ "\u1E86":"{\\.W}", // LATIN CAPITAL LETTER W WITH DOT ABOVE
+ "\u1E87":"{\\.w}", // LATIN SMALL LETTER W WITH DOT ABOVE
+ "\u1E88":"{\\d W}", // LATIN CAPITAL LETTER W WITH DOT BELOW
+ "\u1E89":"{\\d w}", // LATIN SMALL LETTER W WITH DOT BELOW
+ "\u1E8A":"{\\.X}", // LATIN CAPITAL LETTER X WITH DOT ABOVE
+ "\u1E8B":"{\\.x}", // LATIN SMALL LETTER X WITH DOT ABOVE
+ "\u1E8C":"{\\\"X}", // LATIN CAPITAL LETTER X WITH DIAERESIS
+ "\u1E8D":"{\\\"x}", // LATIN SMALL LETTER X WITH DIAERESIS
+ "\u1E8E":"{\\.Y}", // LATIN CAPITAL LETTER Y WITH DOT ABOVE
+ "\u1E8F":"{\\.y}", // LATIN SMALL LETTER Y WITH DOT ABOVE
+ "\u1E90":"{\\^Z}", // LATIN CAPITAL LETTER Z WITH CIRCUMFLEX
+ "\u1E91":"{\\^z}", // LATIN SMALL LETTER Z WITH CIRCUMFLEX
+ "\u1E92":"{\\d Z}", // LATIN CAPITAL LETTER Z WITH DOT BELOW
+ "\u1E93":"{\\d z}", // LATIN SMALL LETTER Z WITH DOT BELOW
+ "\u1E94":"{\\b Z}", // LATIN CAPITAL LETTER Z WITH LINE BELOW
+ "\u1E95":"{\\b z}", // LATIN SMALL LETTER Z WITH LINE BELOW
+ "\u1E96":"{\\b h}", // LATIN SMALL LETTER H WITH LINE BELOW
+ "\u1E97":"{\\\"t}", // LATIN SMALL LETTER T WITH DIAERESIS
+ "\u1EA0":"{\\d A}", // LATIN CAPITAL LETTER A WITH DOT BELOW
+ "\u1EA1":"{\\d a}", // LATIN SMALL LETTER A WITH DOT BELOW
+ "\u1EB8":"{\\d E}", // LATIN CAPITAL LETTER E WITH DOT BELOW
+ "\u1EB9":"{\\d e}", // LATIN SMALL LETTER E WITH DOT BELOW
+ "\u1EBC":"{\\~E}", // LATIN CAPITAL LETTER E WITH TILDE
+ "\u1EBD":"{\\~e}", // LATIN SMALL LETTER E WITH TILDE
+ "\u1ECA":"{\\d I}", // LATIN CAPITAL LETTER I WITH DOT BELOW
+ "\u1ECB":"{\\d i}", // LATIN SMALL LETTER I WITH DOT BELOW
+ "\u1ECC":"{\\d O}", // LATIN CAPITAL LETTER O WITH DOT BELOW
+ "\u1ECD":"{\\d o}", // LATIN SMALL LETTER O WITH DOT BELOW
+ "\u1EE4":"{\\d U}", // LATIN CAPITAL LETTER U WITH DOT BELOW
+ "\u1EE5":"{\\d u}", // LATIN SMALL LETTER U WITH DOT BELOW
+ "\u1EF2":"{\\`Y}", // LATIN CAPITAL LETTER Y WITH GRAVE
+ "\u1EF3":"{\\`y}", // LATIN SMALL LETTER Y WITH GRAVE
+ "\u1EF4":"{\\d Y}", // LATIN CAPITAL LETTER Y WITH DOT BELOW
+ "\u1EF5":"{\\d y}", // LATIN SMALL LETTER Y WITH DOT BELOW
+ "\u1EF8":"{\\~Y}", // LATIN CAPITAL LETTER Y WITH TILDE
+ "\u1EF9":"{\\~y}" // LATIN SMALL LETTER Y WITH TILDE
+};
+
+/* unfortunately the mapping isn't reversible - hence this second table - sigh! */
+var reversemappingTable = {
+ "\\url" : "", // strip 'url'
+ "\\href" : "", // strip 'href'
+ "{\\textexclamdown}" : "\u00A1", // INVERTED EXCLAMATION MARK
+ "{\\textcent}" : "\u00A2", // CENT SIGN
+ "{\\textsterling}" : "\u00A3", // POUND SIGN
+ "{\\textyen}" : "\u00A5", // YEN SIGN
+ "{\\textbrokenbar}" : "\u00A6", // BROKEN BAR
+ "{\\textsection}" : "\u00A7", // SECTION SIGN
+ "{\\textasciidieresis}" : "\u00A8", // DIAERESIS
+ "{\\textcopyright}" : "\u00A9", // COPYRIGHT SIGN
+ "{\\textordfeminine}" : "\u00AA", // FEMININE ORDINAL INDICATOR
+ "{\\guillemotleft}" : "\u00AB", // LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ "{\\textlnot}" : "\u00AC", // NOT SIGN
+ "{\\textregistered}" : "\u00AE", // REGISTERED SIGN
+ "{\\textasciimacron}" : "\u00AF", // MACRON
+ "{\\textdegree}" : "\u00B0", // DEGREE SIGN
+ "{\\textpm}" : "\u00B1", // PLUS-MINUS SIGN
+ "{\\texttwosuperior}" : "\u00B2", // SUPERSCRIPT TWO
+ "{\\textthreesuperior}" : "\u00B3", // SUPERSCRIPT THREE
+ "{\\textasciiacute}" : "\u00B4", // ACUTE ACCENT
+ "{\\textmu}" : "\u00B5", // MICRO SIGN
+ "{\\textparagraph}" : "\u00B6", // PILCROW SIGN
+ "{\\textperiodcentered}" : "\u00B7", // MIDDLE DOT
+ "{\\c\\ }" : "\u00B8", // CEDILLA
+ "{\\textonesuperior}" : "\u00B9", // SUPERSCRIPT ONE
+ "{\\textordmasculine}" : "\u00BA", // MASCULINE ORDINAL INDICATOR
+ "{\\guillemotright}" : "\u00BB", // RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ "{\\textonequarter}" : "\u00BC", // VULGAR FRACTION ONE QUARTER
+ "{\\textonehalf}" : "\u00BD", // VULGAR FRACTION ONE HALF
+ "{\\textthreequarters}" : "\u00BE", // VULGAR FRACTION THREE QUARTERS
+ "{\\textquestiondown}" : "\u00BF", // INVERTED QUESTION MARK
+ "{\\AE}" : "\u00C6", // LATIN CAPITAL LETTER AE
+ "{\\DH}" : "\u00D0", // LATIN CAPITAL LETTER ETH
+ "{\\texttimes}" : "\u00D7", // MULTIPLICATION SIGN
+ "{\\O}" : "\u00D8", // LATIN SMALL LETTER O WITH STROKE
+ "{\\TH}" : "\u00DE", // LATIN CAPITAL LETTER THORN
+ "{\\ss}" : "\u00DF", // LATIN SMALL LETTER SHARP S
+ "{\\ae}" : "\u00E6", // LATIN SMALL LETTER AE
+ "{\\dh}" : "\u00F0", // LATIN SMALL LETTER ETH
+ "{\\textdiv}" : "\u00F7", // DIVISION SIGN
+ "{\\o}" : "\u00F8", // LATIN SMALL LETTER O WITH STROKE
+ "{\\th}" : "\u00FE", // LATIN SMALL LETTER THORN
+ "{\\i}" : "\u0131", // LATIN SMALL LETTER DOTLESS I
+ //"'n" : "\u0149", // LATIN SMALL LETTER N PRECEDED BY APOSTROPHE
+ "{\\NG}" : "\u014A", // LATIN CAPITAL LETTER ENG
+ "{\\ng}" : "\u014B", // LATIN SMALL LETTER ENG
+ "{\\OE}" : "\u0152", // LATIN CAPITAL LIGATURE OE
+ "{\\oe}" : "\u0153", // LATIN SMALL LIGATURE OE
+ "{\\textasciicircum}" : "\u02C6", // MODIFIER LETTER CIRCUMFLEX ACCENT
+// "\\~{}" : "\u02DC", // SMALL TILDE
+ "{\\textacutedbl}" : "\u02DD", // DOUBLE ACUTE ACCENT
+
+ //Greek Letters Courtesy of Spartanroc
+ "$\\Gamma$" : "\u0393", // GREEK Gamma
+ "$\\Delta$" : "\u0394", // GREEK Delta
+ "$\\Theta$" : "\u0398", // GREEK Theta
+ "$\\Lambda$" : "\u039B", // GREEK Lambda
+ "$\\Xi$" : "\u039E", // GREEK Xi
+ "$\\Pi$" : "\u03A0", // GREEK Pi
+ "$\\Sigma$" : "\u03A3", // GREEK Sigma
+ "$\\Phi$" : "\u03A6", // GREEK Phi
+ "$\\Psi$" : "\u03A8", // GREEK Psi
+ "$\\Omega$" : "\u03A9", // GREEK Omega
+ "$\\alpha$" : "\u03B1", // GREEK alpha
+ "$\\beta$" : "\u03B2", // GREEK beta
+ "$\\gamma$" : "\u03B3", // GREEK gamma
+ "$\\delta$" : "\u03B4", // GREEK delta
+ "$\\varepsilon$": "\u03B5", // GREEK var-epsilon
+ "$\\zeta$" : "\u03B6", // GREEK zeta
+ "$\\eta$" : "\u03B7", // GREEK eta
+ "$\\theta$" : "\u03B8", // GREEK theta
+ "$\\iota$" : "\u03B9", // GREEK iota
+ "$\\kappa$" : "\u03BA", // GREEK kappa
+ "$\\lambda$" : "\u03BB", // GREEK lambda
+ "$\\mu$" : "\u03BC", // GREEK mu
+ "$\\nu$" : "\u03BD", // GREEK nu
+ "$\\xi$" : "\u03BE", // GREEK xi
+ "$\\pi$" : "\u03C0", // GREEK pi
+ "$\\rho$" : "\u03C1", // GREEK rho
+ "$\\varsigma$" : "\u03C2", // GREEK var-sigma
+ "$\\sigma$" : "\u03C3", // GREEK sigma
+ "$\\tau$" : "\u03C4", // GREEK tau
+ "$\\upsilon$" : "\u03C5", // GREEK upsilon
+ "$\\varphi$" : "\u03C6", // GREEK var-phi
+ "$\\chi$" : "\u03C7", // GREEK chi
+ "$\\psi$" : "\u03C8", // GREEK psi
+ "$\\omega$" : "\u03C9", // GREEK omega
+ "$\\vartheta$" : "\u03D1", // GREEK var-theta
+ "$\\Upsilon$" : "\u03D2", // GREEK Upsilon
+ "$\\phi$" : "\u03D5", // GREEK phi
+ "$\\varpi$" : "\u03D6", // GREEK var-pi
+ "$\\varrho$" : "\u03F1", // GREEK var-rho
+ "$\\epsilon$" : "\u03F5", // GREEK epsilon
+ //Greek letters end
+ "{\\textendash}" : "\u2013", // EN DASH
+ "{\\textemdash}" : "\u2014", // EM DASH
+ "---" : "\u2014", // EM DASH
+ "--" : "\u2013", // EN DASH
+ "{\\textbardbl}" : "\u2016", // DOUBLE VERTICAL LINE
+ "{\\textunderscore}" : "\u2017", // DOUBLE LOW LINE
+ "{\\textquoteleft}" : "\u2018", // LEFT SINGLE QUOTATION MARK
+ "{\\textquoteright}" : "\u2019", // RIGHT SINGLE QUOTATION MARK
+ "{\\quotesinglbase}" : "\u201A", // SINGLE LOW-9 QUOTATION MARK
+ "{\\textquotedblleft}" : "\u201C", // LEFT DOUBLE QUOTATION MARK
+ "{\\textquotedblright}" : "\u201D", // RIGHT DOUBLE QUOTATION MARK
+ "{\\quotedblbase}" : "\u201E", // DOUBLE LOW-9 QUOTATION MARK
+// "{\\quotedblbase}" : "\u201F", // DOUBLE HIGH-REVERSED-9 QUOTATION MARK
+ "{\\textdagger}" : "\u2020", // DAGGER
+ "{\\textdaggerdbl}" : "\u2021", // DOUBLE DAGGER
+ "{\\textbullet}" : "\u2022", // BULLET
+ "{\\textellipsis}" : "\u2026", // HORIZONTAL ELLIPSIS
+ "{\\textperthousand}" : "\u2030", // PER MILLE SIGN
+ "'''" : "\u2034", // TRIPLE PRIME
+ "''" : "\u201D", // RIGHT DOUBLE QUOTATION MARK (could be a double prime)
+ "``" : "\u201C", // LEFT DOUBLE QUOTATION MARK (could be a reversed double prime)
+ "```" : "\u2037", // REVERSED TRIPLE PRIME
+ "{\\guilsinglleft}" : "\u2039", // SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+ "{\\guilsinglright}" : "\u203A", // SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+ "!!" : "\u203C", // DOUBLE EXCLAMATION MARK
+ "{\\textfractionsolidus}" : "\u2044", // FRACTION SLASH
+ "?!" : "\u2048", // QUESTION EXCLAMATION MARK
+ "!?" : "\u2049", // EXCLAMATION QUESTION MARK
+ "$^{0}$" : "\u2070", // SUPERSCRIPT ZERO
+ "$^{4}$" : "\u2074", // SUPERSCRIPT FOUR
+ "$^{5}$" : "\u2075", // SUPERSCRIPT FIVE
+ "$^{6}$" : "\u2076", // SUPERSCRIPT SIX
+ "$^{7}$" : "\u2077", // SUPERSCRIPT SEVEN
+ "$^{8}$" : "\u2078", // SUPERSCRIPT EIGHT
+ "$^{9}$" : "\u2079", // SUPERSCRIPT NINE
+ "$^{+}$" : "\u207A", // SUPERSCRIPT PLUS SIGN
+ "$^{-}$" : "\u207B", // SUPERSCRIPT MINUS
+ "$^{=}$" : "\u207C", // SUPERSCRIPT EQUALS SIGN
+ "$^{(}$" : "\u207D", // SUPERSCRIPT LEFT PARENTHESIS
+ "$^{)}$" : "\u207E", // SUPERSCRIPT RIGHT PARENTHESIS
+ "$^{n}$" : "\u207F", // SUPERSCRIPT LATIN SMALL LETTER N
+ "$_{0}$" : "\u2080", // SUBSCRIPT ZERO
+ "$_{1}$" : "\u2081", // SUBSCRIPT ONE
+ "$_{2}$" : "\u2082", // SUBSCRIPT TWO
+ "$_{3}$" : "\u2083", // SUBSCRIPT THREE
+ "$_{4}$" : "\u2084", // SUBSCRIPT FOUR
+ "$_{5}$" : "\u2085", // SUBSCRIPT FIVE
+ "$_{6}$" : "\u2086", // SUBSCRIPT SIX
+ "$_{7}$" : "\u2087", // SUBSCRIPT SEVEN
+ "$_{8}$" : "\u2088", // SUBSCRIPT EIGHT
+ "$_{9}$" : "\u2089", // SUBSCRIPT NINE
+ "$_{+}$" : "\u208A", // SUBSCRIPT PLUS SIGN
+ "$_{-}$" : "\u208B", // SUBSCRIPT MINUS
+ "$_{=}$" : "\u208C", // SUBSCRIPT EQUALS SIGN
+ "$_{(}$" : "\u208D", // SUBSCRIPT LEFT PARENTHESIS
+ "$_{)}$" : "\u208E", // SUBSCRIPT RIGHT PARENTHESIS
+ "{\\texteuro}" : "\u20AC", // EURO SIGN
+ //"a/c" : "\u2100", // ACCOUNT OF
+ //"a/s" : "\u2101", // ADDRESSED TO THE SUBJECT
+ "{\\textcelsius}" : "\u2103", // DEGREE CELSIUS
+ //"c/o" : "\u2105", // CARE OF
+ //"c/u" : "\u2106", // CADA UNA
+ "{\\textnumero}" : "\u2116", // NUMERO SIGN
+ "{\\textcircledP}" : "\u2117", // SOUND RECORDING COPYRIGHT
+ "{\\textservicemark}" : "\u2120", // SERVICE MARK
+ "{TEL}" : "\u2121", // TELEPHONE SIGN
+ "{\\texttrademark}" : "\u2122", // TRADE MARK SIGN
+ "{\\textohm}" : "\u2126", // OHM SIGN
+ "{\\textestimated}" : "\u212E", // ESTIMATED SYMBOL
+
+ /*" 1/3" : "\u2153", // VULGAR FRACTION ONE THIRD
+ " 2/3" : "\u2154", // VULGAR FRACTION TWO THIRDS
+ " 1/5" : "\u2155", // VULGAR FRACTION ONE FIFTH
+ " 2/5" : "\u2156", // VULGAR FRACTION TWO FIFTHS
+ " 3/5" : "\u2157", // VULGAR FRACTION THREE FIFTHS
+ " 4/5" : "\u2158", // VULGAR FRACTION FOUR FIFTHS
+ " 1/6" : "\u2159", // VULGAR FRACTION ONE SIXTH
+ " 5/6" : "\u215A", // VULGAR FRACTION FIVE SIXTHS
+ " 1/8" : "\u215B", // VULGAR FRACTION ONE EIGHTH
+ " 3/8" : "\u215C", // VULGAR FRACTION THREE EIGHTHS
+ " 5/8" : "\u215D", // VULGAR FRACTION FIVE EIGHTHS
+ " 7/8" : "\u215E", // VULGAR FRACTION SEVEN EIGHTHS
+ " 1/" : "\u215F", // FRACTION NUMERATOR ONE */
+
+ "{\\textleftarrow}" : "\u2190", // LEFTWARDS ARROW
+ "{\\textuparrow}" : "\u2191", // UPWARDS ARROW
+ "{\\textrightarrow}" : "\u2192", // RIGHTWARDS ARROW
+ "{\\textdownarrow}" : "\u2193", // DOWNWARDS ARROW
+ /*"<->" : "\u2194", // LEFT RIGHT ARROW
+ "<=" : "\u21D0", // LEFTWARDS DOUBLE ARROW
+ "=>" : "\u21D2", // RIGHTWARDS DOUBLE ARROW
+ "<=>" : "\u21D4", // LEFT RIGHT DOUBLE ARROW */
+ "$\\infty$" : "\u221E", // INFINITY
+
+ /*"||" : "\u2225", // PARALLEL TO
+ "/=" : "\u2260", // NOT EQUAL TO
+ "<=" : "\u2264", // LESS-THAN OR EQUAL TO
+ ">=" : "\u2265", // GREATER-THAN OR EQUAL TO
+ "<<" : "\u226A", // MUCH LESS-THAN
+ ">>" : "\u226B", // MUCH GREATER-THAN
+ "(+)" : "\u2295", // CIRCLED PLUS
+ "(-)" : "\u2296", // CIRCLED MINUS
+ "(x)" : "\u2297", // CIRCLED TIMES
+ "(/)" : "\u2298", // CIRCLED DIVISION SLASH
+ "|-" : "\u22A2", // RIGHT TACK
+ "-|" : "\u22A3", // LEFT TACK
+ "|-" : "\u22A6", // ASSERTION
+ "|=" : "\u22A7", // MODELS
+ "|=" : "\u22A8", // TRUE
+ "||-" : "\u22A9", // FORCES */
+
+ "$\\#$" : "\u22D5", // EQUAL AND PARALLEL TO
+ //"<<<" : "\u22D8", // VERY MUCH LESS-THAN
+ //">>>" : "\u22D9", // VERY MUCH GREATER-THAN
+ "{\\textlangle}" : "\u2329", // LEFT-POINTING ANGLE BRACKET
+ "{\\textrangle}" : "\u232A", // RIGHT-POINTING ANGLE BRACKET
+ "{\\textvisiblespace}" : "\u2423", // OPEN BOX
+ //"///" : "\u2425", // SYMBOL FOR DELETE FORM TWO
+ "{\\textopenbullet}" : "\u25E6", // WHITE BULLET
+ //":-(" : "\u2639", // WHITE FROWNING FACE
+ //":-)" : "\u263A", // WHITE SMILING FACE
+ //"(-: " : "\u263B", // BLACK SMILING FACE
+ // "$\\#$" : "\u266F", // MUSIC SHARP SIGN
+ "$\\%<$" : "\u2701", // UPPER BLADE SCISSORS
+ /* "$\\%<$" : "\u2702", // BLACK SCISSORS
+ "$\\%<$" : "\u2703", // LOWER BLADE SCISSORS
+ "$\\%<$" : "\u2704", // WHITE SCISSORS */
+ /* Derived accented characters */
+ "{\\`A}" : "\u00C0", // LATIN CAPITAL LETTER A WITH GRAVE
+ "{\\'A}" : "\u00C1", // LATIN CAPITAL LETTER A WITH ACUTE
+ "{\\^A}" : "\u00C2", // LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+ "{\\~A}" : "\u00C3", // LATIN CAPITAL LETTER A WITH TILDE
+ "{\\\"A}" : "\u00C4", // LATIN CAPITAL LETTER A WITH DIAERESIS
+ "{\\r A}" : "\u00C5", // LATIN CAPITAL LETTER A WITH RING ABOVE
+ "{\\c C}" : "\u00C7", // LATIN CAPITAL LETTER C WITH CEDILLA
+ "{\\`E}" : "\u00C8", // LATIN CAPITAL LETTER E WITH GRAVE
+ "{\\'E}" : "\u00C9", // LATIN CAPITAL LETTER E WITH ACUTE
+ "{\\^E}" : "\u00CA", // LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+ "{\\\"E}" : "\u00CB", // LATIN CAPITAL LETTER E WITH DIAERESIS
+ "{\\`I}" : "\u00CC", // LATIN CAPITAL LETTER I WITH GRAVE
+ "{\\'I}" : "\u00CD", // LATIN CAPITAL LETTER I WITH ACUTE
+ "{\\^I}" : "\u00CE", // LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+ "{\\\"I}" : "\u00CF", // LATIN CAPITAL LETTER I WITH DIAERESIS
+ "{\\~N}" : "\u00D1", // LATIN CAPITAL LETTER N WITH TILDE
+ "{\\`O}" : "\u00D2", // LATIN CAPITAL LETTER O WITH GRAVE
+ "{\\'O}" : "\u00D3", // LATIN CAPITAL LETTER O WITH ACUTE
+ "{\\^O}" : "\u00D4", // LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+ "{\\~O}" : "\u00D5", // LATIN CAPITAL LETTER O WITH TILDE
+ "{\\\"O}" : "\u00D6", // LATIN CAPITAL LETTER O WITH DIAERESIS
+ "{\\`U}" : "\u00D9", // LATIN CAPITAL LETTER U WITH GRAVE
+ "{\\'U}" : "\u00DA", // LATIN CAPITAL LETTER U WITH ACUTE
+ "{\\^U}" : "\u00DB", // LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+ "{\\\"U}" : "\u00DC", // LATIN CAPITAL LETTER U WITH DIAERESIS
+ "{\\'Y}" : "\u00DD", // LATIN CAPITAL LETTER Y WITH ACUTE
+ "{\\`a}" : "\u00E0", // LATIN SMALL LETTER A WITH GRAVE
+ "{\\'a}" : "\u00E1", // LATIN SMALL LETTER A WITH ACUTE
+ "{\\^a}" : "\u00E2", // LATIN SMALL LETTER A WITH CIRCUMFLEX
+ "{\\~a}" : "\u00E3", // LATIN SMALL LETTER A WITH TILDE
+ "{\\\"a}" : "\u00E4", // LATIN SMALL LETTER A WITH DIAERESIS
+ "{\\r a}" : "\u00E5", // LATIN SMALL LETTER A WITH RING ABOVE
+ "{\\c c}" : "\u00E7", // LATIN SMALL LETTER C WITH CEDILLA
+ "{\\`e}" : "\u00E8", // LATIN SMALL LETTER E WITH GRAVE
+ "{\\'e}" : "\u00E9", // LATIN SMALL LETTER E WITH ACUTE
+ "{\\^e}" : "\u00EA", // LATIN SMALL LETTER E WITH CIRCUMFLEX
+ "{\\\"e}" : "\u00EB", // LATIN SMALL LETTER E WITH DIAERESIS
+ "{\\`i}" : "\u00EC", // LATIN SMALL LETTER I WITH GRAVE
+ "{\\'i}" : "\u00ED", // LATIN SMALL LETTER I WITH ACUTE
+ "{\\^i}" : "\u00EE", // LATIN SMALL LETTER I WITH CIRCUMFLEX
+ "{\\\"i}" : "\u00EF", // LATIN SMALL LETTER I WITH DIAERESIS
+ "{\\~n}" : "\u00F1", // LATIN SMALL LETTER N WITH TILDE
+ "{\\`o}" : "\u00F2", // LATIN SMALL LETTER O WITH GRAVE
+ "{\\'o}" : "\u00F3", // LATIN SMALL LETTER O WITH ACUTE
+ "{\\^o}" : "\u00F4", // LATIN SMALL LETTER O WITH CIRCUMFLEX
+ "{\\~o}" : "\u00F5", // LATIN SMALL LETTER O WITH TILDE
+ "{\\\"o}" : "\u00F6", // LATIN SMALL LETTER O WITH DIAERESIS
+ "{\\`u}" : "\u00F9", // LATIN SMALL LETTER U WITH GRAVE
+ "{\\'u}" : "\u00FA", // LATIN SMALL LETTER U WITH ACUTE
+ "{\\^u}" : "\u00FB", // LATIN SMALL LETTER U WITH CIRCUMFLEX
+ "{\\\"u}" : "\u00FC", // LATIN SMALL LETTER U WITH DIAERESIS
+ "{\\'y}" : "\u00FD", // LATIN SMALL LETTER Y WITH ACUTE
+ "{\\\"y}" : "\u00FF", // LATIN SMALL LETTER Y WITH DIAERESIS
+ "{\\=A}" : "\u0100", // LATIN CAPITAL LETTER A WITH MACRON
+ "{\\=a}" : "\u0101", // LATIN SMALL LETTER A WITH MACRON
+ "{\\u A}" : "\u0102", // LATIN CAPITAL LETTER A WITH BREVE
+ "{\\u a}" : "\u0103", // LATIN SMALL LETTER A WITH BREVE
+ "{\\k A}" : "\u0104", // LATIN CAPITAL LETTER A WITH OGONEK
+ "{\\k a}" : "\u0105", // LATIN SMALL LETTER A WITH OGONEK
+ "{\\'C}" : "\u0106", // LATIN CAPITAL LETTER C WITH ACUTE
+ "{\\'c}" : "\u0107", // LATIN SMALL LETTER C WITH ACUTE
+ "{\\^C}" : "\u0108", // LATIN CAPITAL LETTER C WITH CIRCUMFLEX
+ "{\\^c}" : "\u0109", // LATIN SMALL LETTER C WITH CIRCUMFLEX
+ "{\\.C}" : "\u010A", // LATIN CAPITAL LETTER C WITH DOT ABOVE
+ "{\\.c}" : "\u010B", // LATIN SMALL LETTER C WITH DOT ABOVE
+ "{\\v C}" : "\u010C", // LATIN CAPITAL LETTER C WITH CARON
+ "{\\v c}" : "\u010D", // LATIN SMALL LETTER C WITH CARON
+ "{\\v D}" : "\u010E", // LATIN CAPITAL LETTER D WITH CARON
+ "{\\v d}" : "\u010F", // LATIN SMALL LETTER D WITH CARON
+ "{\\=E}" : "\u0112", // LATIN CAPITAL LETTER E WITH MACRON
+ "{\\=e}" : "\u0113", // LATIN SMALL LETTER E WITH MACRON
+ "{\\u E}" : "\u0114", // LATIN CAPITAL LETTER E WITH BREVE
+ "{\\u e}" : "\u0115", // LATIN SMALL LETTER E WITH BREVE
+ "{\\.E}" : "\u0116", // LATIN CAPITAL LETTER E WITH DOT ABOVE
+ "{\\.e}" : "\u0117", // LATIN SMALL LETTER E WITH DOT ABOVE
+ "{\\k E}" : "\u0118", // LATIN CAPITAL LETTER E WITH OGONEK
+ "{\\k e}" : "\u0119", // LATIN SMALL LETTER E WITH OGONEK
+ "{\\v E}" : "\u011A", // LATIN CAPITAL LETTER E WITH CARON
+ "{\\v e}" : "\u011B", // LATIN SMALL LETTER E WITH CARON
+ "{\\^G}" : "\u011C", // LATIN CAPITAL LETTER G WITH CIRCUMFLEX
+ "{\\^g}" : "\u011D", // LATIN SMALL LETTER G WITH CIRCUMFLEX
+ "{\\u G}" : "\u011E", // LATIN CAPITAL LETTER G WITH BREVE
+ "{\\u g}" : "\u011F", // LATIN SMALL LETTER G WITH BREVE
+ "{\\.G}" : "\u0120", // LATIN CAPITAL LETTER G WITH DOT ABOVE
+ "{\\.g}" : "\u0121", // LATIN SMALL LETTER G WITH DOT ABOVE
+ "{\\c G}" : "\u0122", // LATIN CAPITAL LETTER G WITH CEDILLA
+ "{\\c g}" : "\u0123", // LATIN SMALL LETTER G WITH CEDILLA
+ "{\\^H}" : "\u0124", // LATIN CAPITAL LETTER H WITH CIRCUMFLEX
+ "{\\^h}" : "\u0125", // LATIN SMALL LETTER H WITH CIRCUMFLEX
+ "{\\~I}" : "\u0128", // LATIN CAPITAL LETTER I WITH TILDE
+ "{\\~i}" : "\u0129", // LATIN SMALL LETTER I WITH TILDE
+ "{\\=I}" : "\u012A", // LATIN CAPITAL LETTER I WITH MACRON
+ "{\\=i}" : "\u012B", // LATIN SMALL LETTER I WITH MACRON
+ "{\\=\\i}" : "\u012B", // LATIN SMALL LETTER I WITH MACRON
+ "{\\u I}" : "\u012C", // LATIN CAPITAL LETTER I WITH BREVE
+ "{\\u i}" : "\u012D", // LATIN SMALL LETTER I WITH BREVE
+ "{\\k I}" : "\u012E", // LATIN CAPITAL LETTER I WITH OGONEK
+ "{\\k i}" : "\u012F", // LATIN SMALL LETTER I WITH OGONEK
+ "{\\.I}" : "\u0130", // LATIN CAPITAL LETTER I WITH DOT ABOVE
+ "{\\^J}" : "\u0134", // LATIN CAPITAL LETTER J WITH CIRCUMFLEX
+ "{\\^j}" : "\u0135", // LATIN SMALL LETTER J WITH CIRCUMFLEX
+ "{\\c K}" : "\u0136", // LATIN CAPITAL LETTER K WITH CEDILLA
+ "{\\c k}" : "\u0137", // LATIN SMALL LETTER K WITH CEDILLA
+ "{\\'L}" : "\u0139", // LATIN CAPITAL LETTER L WITH ACUTE
+ "{\\'l}" : "\u013A", // LATIN SMALL LETTER L WITH ACUTE
+ "{\\c L}" : "\u013B", // LATIN CAPITAL LETTER L WITH CEDILLA
+ "{\\c l}" : "\u013C", // LATIN SMALL LETTER L WITH CEDILLA
+ "{\\v L}" : "\u013D", // LATIN CAPITAL LETTER L WITH CARON
+ "{\\v l}" : "\u013E", // LATIN SMALL LETTER L WITH CARON
+ "{\\L }" : "\u0141", //LATIN CAPITAL LETTER L WITH STROKE
+ "{\\l }" : "\u0142", //LATIN SMALL LETTER L WITH STROKE
+ "{\\'N}" : "\u0143", // LATIN CAPITAL LETTER N WITH ACUTE
+ "{\\'n}" : "\u0144", // LATIN SMALL LETTER N WITH ACUTE
+ "{\\c N}" : "\u0145", // LATIN CAPITAL LETTER N WITH CEDILLA
+ "{\\c n}" : "\u0146", // LATIN SMALL LETTER N WITH CEDILLA
+ "{\\v N}" : "\u0147", // LATIN CAPITAL LETTER N WITH CARON
+ "{\\v n}" : "\u0148", // LATIN SMALL LETTER N WITH CARON
+ "{\\=O}" : "\u014C", // LATIN CAPITAL LETTER O WITH MACRON
+ "{\\=o}" : "\u014D", // LATIN SMALL LETTER O WITH MACRON
+ "{\\u O}" : "\u014E", // LATIN CAPITAL LETTER O WITH BREVE
+ "{\\u o}" : "\u014F", // LATIN SMALL LETTER O WITH BREVE
+ "{\\H O}" : "\u0150", // LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+ "{\\H o}" : "\u0151", // LATIN SMALL LETTER O WITH DOUBLE ACUTE
+ "{\\'R}" : "\u0154", // LATIN CAPITAL LETTER R WITH ACUTE
+ "{\\'r}" : "\u0155", // LATIN SMALL LETTER R WITH ACUTE
+ "{\\c R}" : "\u0156", // LATIN CAPITAL LETTER R WITH CEDILLA
+ "{\\c r}" : "\u0157", // LATIN SMALL LETTER R WITH CEDILLA
+ "{\\v R}" : "\u0158", // LATIN CAPITAL LETTER R WITH CARON
+ "{\\v r}" : "\u0159", // LATIN SMALL LETTER R WITH CARON
+ "{\\'S}" : "\u015A", // LATIN CAPITAL LETTER S WITH ACUTE
+ "{\\'s}" : "\u015B", // LATIN SMALL LETTER S WITH ACUTE
+ "{\\^S}" : "\u015C", // LATIN CAPITAL LETTER S WITH CIRCUMFLEX
+ "{\\^s}" : "\u015D", // LATIN SMALL LETTER S WITH CIRCUMFLEX
+ "{\\c S}" : "\u015E", // LATIN CAPITAL LETTER S WITH CEDILLA
+ "{\\c s}" : "\u015F", // LATIN SMALL LETTER S WITH CEDILLA
+ "{\\v S}" : "\u0160", // LATIN CAPITAL LETTER S WITH CARON
+ "{\\v s}" : "\u0161", // LATIN SMALL LETTER S WITH CARON
+ "{\\c T}" : "\u0162", // LATIN CAPITAL LETTER T WITH CEDILLA
+ "{\\c t}" : "\u0163", // LATIN SMALL LETTER T WITH CEDILLA
+ "{\\v T}" : "\u0164", // LATIN CAPITAL LETTER T WITH CARON
+ "{\\v t}" : "\u0165", // LATIN SMALL LETTER T WITH CARON
+ "{\\~U}" : "\u0168", // LATIN CAPITAL LETTER U WITH TILDE
+ "{\\~u}" : "\u0169", // LATIN SMALL LETTER U WITH TILDE
+ "{\\=U}" : "\u016A", // LATIN CAPITAL LETTER U WITH MACRON
+ "{\\=u}" : "\u016B", // LATIN SMALL LETTER U WITH MACRON
+ "{\\u U}" : "\u016C", // LATIN CAPITAL LETTER U WITH BREVE
+ "{\\u u}" : "\u016D", // LATIN SMALL LETTER U WITH BREVE
+ "{\\H U}" : "\u0170", // LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+ "{\\H u}" : "\u0171", // LATIN SMALL LETTER U WITH DOUBLE ACUTE
+ "{\\k U}" : "\u0172", // LATIN CAPITAL LETTER U WITH OGONEK
+ "{\\k u}" : "\u0173", // LATIN SMALL LETTER U WITH OGONEK
+ "{\\^W}" : "\u0174", // LATIN CAPITAL LETTER W WITH CIRCUMFLEX
+ "{\\^w}" : "\u0175", // LATIN SMALL LETTER W WITH CIRCUMFLEX
+ "{\\^Y}" : "\u0176", // LATIN CAPITAL LETTER Y WITH CIRCUMFLEX
+ "{\\^y}" : "\u0177", // LATIN SMALL LETTER Y WITH CIRCUMFLEX
+ "{\\\"Y}" : "\u0178", // LATIN CAPITAL LETTER Y WITH DIAERESIS
+ "{\\'Z}" : "\u0179", // LATIN CAPITAL LETTER Z WITH ACUTE
+ "{\\'z}" : "\u017A", // LATIN SMALL LETTER Z WITH ACUTE
+ "{\\.Z}" : "\u017B", // LATIN CAPITAL LETTER Z WITH DOT ABOVE
+ "{\\.z}" : "\u017C", // LATIN SMALL LETTER Z WITH DOT ABOVE
+ "{\\v Z}" : "\u017D", // LATIN CAPITAL LETTER Z WITH CARON
+ "{\\v z}" : "\u017E", // LATIN SMALL LETTER Z WITH CARON
+ "{\\v A}" : "\u01CD", // LATIN CAPITAL LETTER A WITH CARON
+ "{\\v a}" : "\u01CE", // LATIN SMALL LETTER A WITH CARON
+ "{\\v I}" : "\u01CF", // LATIN CAPITAL LETTER I WITH CARON
+ "{\\v i}" : "\u01D0", // LATIN SMALL LETTER I WITH CARON
+ "{\\v O}" : "\u01D1", // LATIN CAPITAL LETTER O WITH CARON
+ "{\\v o}" : "\u01D2", // LATIN SMALL LETTER O WITH CARON
+ "{\\v U}" : "\u01D3", // LATIN CAPITAL LETTER U WITH CARON
+ "{\\v u}" : "\u01D4", // LATIN SMALL LETTER U WITH CARON
+ "{\\v G}" : "\u01E6", // LATIN CAPITAL LETTER G WITH CARON
+ "{\\v g}" : "\u01E7", // LATIN SMALL LETTER G WITH CARON
+ "{\\v K}" : "\u01E8", // LATIN CAPITAL LETTER K WITH CARON
+ "{\\v k}" : "\u01E9", // LATIN SMALL LETTER K WITH CARON
+ "{\\k O}" : "\u01EA", // LATIN CAPITAL LETTER O WITH OGONEK
+ "{\\k o}" : "\u01EB", // LATIN SMALL LETTER O WITH OGONEK
+ "{\\v j}" : "\u01F0", // LATIN SMALL LETTER J WITH CARON
+ "{\\'G}" : "\u01F4", // LATIN CAPITAL LETTER G WITH ACUTE
+ "{\\'g}" : "\u01F5", // LATIN SMALL LETTER G WITH ACUTE
+ "{\\.B}" : "\u1E02", // LATIN CAPITAL LETTER B WITH DOT ABOVE
+ "{\\.b}" : "\u1E03", // LATIN SMALL LETTER B WITH DOT ABOVE
+ "{\\d B}" : "\u1E04", // LATIN CAPITAL LETTER B WITH DOT BELOW
+ "{\\d b}" : "\u1E05", // LATIN SMALL LETTER B WITH DOT BELOW
+ "{\\b B}" : "\u1E06", // LATIN CAPITAL LETTER B WITH LINE BELOW
+ "{\\b b}" : "\u1E07", // LATIN SMALL LETTER B WITH LINE BELOW
+ "{\\.D}" : "\u1E0A", // LATIN CAPITAL LETTER D WITH DOT ABOVE
+ "{\\.d}" : "\u1E0B", // LATIN SMALL LETTER D WITH DOT ABOVE
+ "{\\d D}" : "\u1E0C", // LATIN CAPITAL LETTER D WITH DOT BELOW
+ "{\\d d}" : "\u1E0D", // LATIN SMALL LETTER D WITH DOT BELOW
+ "{\\b D}" : "\u1E0E", // LATIN CAPITAL LETTER D WITH LINE BELOW
+ "{\\b d}" : "\u1E0F", // LATIN SMALL LETTER D WITH LINE BELOW
+ "{\\c D}" : "\u1E10", // LATIN CAPITAL LETTER D WITH CEDILLA
+ "{\\c d}" : "\u1E11", // LATIN SMALL LETTER D WITH CEDILLA
+ "{\\.F}" : "\u1E1E", // LATIN CAPITAL LETTER F WITH DOT ABOVE
+ "{\\.f}" : "\u1E1F", // LATIN SMALL LETTER F WITH DOT ABOVE
+ "{\\=G}" : "\u1E20", // LATIN CAPITAL LETTER G WITH MACRON
+ "{\\=g}" : "\u1E21", // LATIN SMALL LETTER G WITH MACRON
+ "{\\.H}" : "\u1E22", // LATIN CAPITAL LETTER H WITH DOT ABOVE
+ "{\\.h}" : "\u1E23", // LATIN SMALL LETTER H WITH DOT ABOVE
+ "{\\d H}" : "\u1E24", // LATIN CAPITAL LETTER H WITH DOT BELOW
+ "{\\d h}" : "\u1E25", // LATIN SMALL LETTER H WITH DOT BELOW
+ "{\\\"H}" : "\u1E26", // LATIN CAPITAL LETTER H WITH DIAERESIS
+ "{\\\"h}" : "\u1E27", // LATIN SMALL LETTER H WITH DIAERESIS
+ "{\\c H}" : "\u1E28", // LATIN CAPITAL LETTER H WITH CEDILLA
+ "{\\c h}" : "\u1E29", // LATIN SMALL LETTER H WITH CEDILLA
+ "{\\'K}" : "\u1E30", // LATIN CAPITAL LETTER K WITH ACUTE
+ "{\\'k}" : "\u1E31", // LATIN SMALL LETTER K WITH ACUTE
+ "{\\d K}" : "\u1E32", // LATIN CAPITAL LETTER K WITH DOT BELOW
+ "{\\d k}" : "\u1E33", // LATIN SMALL LETTER K WITH DOT BELOW
+ "{\\b K}" : "\u1E34", // LATIN CAPITAL LETTER K WITH LINE BELOW
+ "{\\b k}" : "\u1E35", // LATIN SMALL LETTER K WITH LINE BELOW
+ "{\\d L}" : "\u1E36", // LATIN CAPITAL LETTER L WITH DOT BELOW
+ "{\\d l}" : "\u1E37", // LATIN SMALL LETTER L WITH DOT BELOW
+ "{\\b L}" : "\u1E3A", // LATIN CAPITAL LETTER L WITH LINE BELOW
+ "{\\b l}" : "\u1E3B", // LATIN SMALL LETTER L WITH LINE BELOW
+ "{\\'M}" : "\u1E3E", // LATIN CAPITAL LETTER M WITH ACUTE
+ "{\\'m}" : "\u1E3F", // LATIN SMALL LETTER M WITH ACUTE
+ "{\\.M}" : "\u1E40", // LATIN CAPITAL LETTER M WITH DOT ABOVE
+ "{\\.m}" : "\u1E41", // LATIN SMALL LETTER M WITH DOT ABOVE
+ "{\\d M}" : "\u1E42", // LATIN CAPITAL LETTER M WITH DOT BELOW
+ "{\\d m}" : "\u1E43", // LATIN SMALL LETTER M WITH DOT BELOW
+ "{\\.N}" : "\u1E44", // LATIN CAPITAL LETTER N WITH DOT ABOVE
+ "{\\.n}" : "\u1E45", // LATIN SMALL LETTER N WITH DOT ABOVE
+ "{\\d N}" : "\u1E46", // LATIN CAPITAL LETTER N WITH DOT BELOW
+ "{\\d n}" : "\u1E47", // LATIN SMALL LETTER N WITH DOT BELOW
+ "{\\b N}" : "\u1E48", // LATIN CAPITAL LETTER N WITH LINE BELOW
+ "{\\b n}" : "\u1E49", // LATIN SMALL LETTER N WITH LINE BELOW
+ "{\\'P}" : "\u1E54", // LATIN CAPITAL LETTER P WITH ACUTE
+ "{\\'p}" : "\u1E55", // LATIN SMALL LETTER P WITH ACUTE
+ "{\\.P}" : "\u1E56", // LATIN CAPITAL LETTER P WITH DOT ABOVE
+ "{\\.p}" : "\u1E57", // LATIN SMALL LETTER P WITH DOT ABOVE
+ "{\\.R}" : "\u1E58", // LATIN CAPITAL LETTER R WITH DOT ABOVE
+ "{\\.r}" : "\u1E59", // LATIN SMALL LETTER R WITH DOT ABOVE
+ "{\\d R}" : "\u1E5A", // LATIN CAPITAL LETTER R WITH DOT BELOW
+ "{\\d r}" : "\u1E5B", // LATIN SMALL LETTER R WITH DOT BELOW
+ "{\\b R}" : "\u1E5E", // LATIN CAPITAL LETTER R WITH LINE BELOW
+ "{\\b r}" : "\u1E5F", // LATIN SMALL LETTER R WITH LINE BELOW
+ "{\\.S}" : "\u1E60", // LATIN CAPITAL LETTER S WITH DOT ABOVE
+ "{\\.s}" : "\u1E61", // LATIN SMALL LETTER S WITH DOT ABOVE
+ "{\\d S}" : "\u1E62", // LATIN CAPITAL LETTER S WITH DOT BELOW
+ "{\\d s}" : "\u1E63", // LATIN SMALL LETTER S WITH DOT BELOW
+ "{\\.T}" : "\u1E6A", // LATIN CAPITAL LETTER T WITH DOT ABOVE
+ "{\\.t}" : "\u1E6B", // LATIN SMALL LETTER T WITH DOT ABOVE
+ "{\\d T}" : "\u1E6C", // LATIN CAPITAL LETTER T WITH DOT BELOW
+ "{\\d t}" : "\u1E6D", // LATIN SMALL LETTER T WITH DOT BELOW
+ "{\\b T}" : "\u1E6E", // LATIN CAPITAL LETTER T WITH LINE BELOW
+ "{\\b t}" : "\u1E6F", // LATIN SMALL LETTER T WITH LINE BELOW
+ "{\\~V}" : "\u1E7C", // LATIN CAPITAL LETTER V WITH TILDE
+ "{\\~v}" : "\u1E7D", // LATIN SMALL LETTER V WITH TILDE
+ "{\\d V}" : "\u1E7E", // LATIN CAPITAL LETTER V WITH DOT BELOW
+ "{\\d v}" : "\u1E7F", // LATIN SMALL LETTER V WITH DOT BELOW
+ "{\\`W}" : "\u1E80", // LATIN CAPITAL LETTER W WITH GRAVE
+ "{\\`w}" : "\u1E81", // LATIN SMALL LETTER W WITH GRAVE
+ "{\\'W}" : "\u1E82", // LATIN CAPITAL LETTER W WITH ACUTE
+ "{\\'w}" : "\u1E83", // LATIN SMALL LETTER W WITH ACUTE
+ "{\\\"W}" : "\u1E84", // LATIN CAPITAL LETTER W WITH DIAERESIS
+ "{\\\"w}" : "\u1E85", // LATIN SMALL LETTER W WITH DIAERESIS
+ "{\\.W}" : "\u1E86", // LATIN CAPITAL LETTER W WITH DOT ABOVE
+ "{\\.w}" : "\u1E87", // LATIN SMALL LETTER W WITH DOT ABOVE
+ "{\\d W}" : "\u1E88", // LATIN CAPITAL LETTER W WITH DOT BELOW
+ "{\\d w}" : "\u1E89", // LATIN SMALL LETTER W WITH DOT BELOW
+ "{\\.X}" : "\u1E8A", // LATIN CAPITAL LETTER X WITH DOT ABOVE
+ "{\\.x}" : "\u1E8B", // LATIN SMALL LETTER X WITH DOT ABOVE
+ "{\\\"X}" : "\u1E8C", // LATIN CAPITAL LETTER X WITH DIAERESIS
+ "{\\\"x}" : "\u1E8D", // LATIN SMALL LETTER X WITH DIAERESIS
+ "{\\.Y}" : "\u1E8E", // LATIN CAPITAL LETTER Y WITH DOT ABOVE
+ "{\\.y}" : "\u1E8F", // LATIN SMALL LETTER Y WITH DOT ABOVE
+ "{\\^Z}" : "\u1E90", // LATIN CAPITAL LETTER Z WITH CIRCUMFLEX
+ "{\\^z}" : "\u1E91", // LATIN SMALL LETTER Z WITH CIRCUMFLEX
+ "{\\d Z}" : "\u1E92", // LATIN CAPITAL LETTER Z WITH DOT BELOW
+ "{\\d z}" : "\u1E93", // LATIN SMALL LETTER Z WITH DOT BELOW
+ "{\\b Z}" : "\u1E94", // LATIN CAPITAL LETTER Z WITH LINE BELOW
+ "{\\b z}" : "\u1E95", // LATIN SMALL LETTER Z WITH LINE BELOW
+ "{\\b h}" : "\u1E96", // LATIN SMALL LETTER H WITH LINE BELOW
+ "{\\\"t}" : "\u1E97", // LATIN SMALL LETTER T WITH DIAERESIS
+ "{\\d A}" : "\u1EA0", // LATIN CAPITAL LETTER A WITH DOT BELOW
+ "{\\d a}" : "\u1EA1", // LATIN SMALL LETTER A WITH DOT BELOW
+ "{\\d E}" : "\u1EB8", // LATIN CAPITAL LETTER E WITH DOT BELOW
+ "{\\d e}" : "\u1EB9", // LATIN SMALL LETTER E WITH DOT BELOW
+ "{\\~E}" : "\u1EBC", // LATIN CAPITAL LETTER E WITH TILDE
+ "{\\~e}" : "\u1EBD", // LATIN SMALL LETTER E WITH TILDE
+ "{\\d I}" : "\u1ECA", // LATIN CAPITAL LETTER I WITH DOT BELOW
+ "{\\d i}" : "\u1ECB", // LATIN SMALL LETTER I WITH DOT BELOW
+ "{\\d O}" : "\u1ECC", // LATIN CAPITAL LETTER O WITH DOT BELOW
+ "{\\d o}" : "\u1ECD", // LATIN SMALL LETTER O WITH DOT BELOW
+ "{\\d U}" : "\u1EE4", // LATIN CAPITAL LETTER U WITH DOT BELOW
+ "{\\d u}" : "\u1EE5", // LATIN SMALL LETTER U WITH DOT BELOW
+ "{\\`Y}" : "\u1EF2", // LATIN CAPITAL LETTER Y WITH GRAVE
+ "{\\`y}" : "\u1EF3", // LATIN SMALL LETTER Y WITH GRAVE
+ "{\\d Y}" : "\u1EF4", // LATIN CAPITAL LETTER Y WITH DOT BELOW
+ "{\\d y}" : "\u1EF5", // LATIN SMALL LETTER Y WITH DOT BELOW
+ "{\\~Y}" : "\u1EF8", // LATIN CAPITAL LETTER Y WITH TILDE
+ "{\\~y}" : "\u1EF9", // LATIN SMALL LETTER Y WITH TILDE
+ "{\\~}" : "\u223C", // TILDE OPERATOR
+ "~" : "\u00A0" // NO-BREAK SPACE
+};/** BEGIN TEST CASES **/
+var testCases = [
+ {
+ "type": "import",
+ "input": "@article{Adams2001,\nauthor = {Adams, Nancy K and DeSilva, Shanaka L and Self, Steven and Salas, Guido and Schubring, Steven and Permenter, Jason L and Arbesman, Kendra},\nfile = {:Users/heatherwright/Documents/Scientific Papers/Adams\\_Huaynaputina.pdf:pdf;::},\njournal = {Bulletin of Volcanology},\nkeywords = {Vulcanian eruptions,breadcrust,plinian},\npages = {493--518},\ntitle = {{The physical volcanology of the 1600 eruption of Huaynaputina, southern Peru}},\nvolume = {62},\nyear = {2001}\n}",
+ "items": [
+ {
+ "itemType": "journalArticle",
+ "creators": [
+ {
+ "firstName": "Nancy K",
+ "lastName": "Adams",
+ "creatorType": "author"
+ },
+ {
+ "firstName": "Shanaka L",
+ "lastName": "DeSilva",
+ "creatorType": "author"
+ },
+ {
+ "firstName": "Steven",
+ "lastName": "Self",
+ "creatorType": "author"
+ },
+ {
+ "firstName": "Guido",
+ "lastName": "Salas",
+ "creatorType": "author"
+ },
+ {
+ "firstName": "Steven",
+ "lastName": "Schubring",
+ "creatorType": "author"
+ },
+ {
+ "firstName": "Jason L",
+ "lastName": "Permenter",
+ "creatorType": "author"
+ },
+ {
+ "firstName": "Kendra",
+ "lastName": "Arbesman",
+ "creatorType": "author"
+ }
+ ],
+ "notes": [],
+ "tags": [
+ "Vulcanian eruptions",
+ "breadcrust",
+ "plinian"
+ ],
+ "seeAlso": [],
+ "attachments": [
+ {
+ "path": "Users/heatherwright/Documents/Scientific Papers/Adams_Huaynaputina.pdf",
+ "mimeType": "application/pdf",
+ "title": "Attachment"
+ }
+ ],
+ "itemID": "Adams2001",
+ "publicationTitle": "Bulletin of Volcanology",
+ "pages": "493–518",
+ "title": "The physical volcanology of the 1600 eruption of Huaynaputina, southern Peru",
+ "volume": "62",
+ "date": "2001"
+ }
+ ]
+ },
+ {
+ "type": "import",
+ "input": "@Book{abramowitz+stegun,\n author = \"Milton {Abramowitz} and Irene A. {Stegun}\",\n title = \"Handbook of Mathematical Functions with\n Formulas, Graphs, and Mathematical Tables\",\n publisher = \"Dover\",\n year = 1964,\n address = \"New York\",\n edition = \"ninth Dover printing, tenth GPO printing\"\n}\n\n@Book{Torre2008,\n author = \"Joe Torre and Tom Verducci\",\n publisher = \"Doubleday\",\n title = \"The Yankee Years\",\n year = 2008,\n isbn = \"0385527403\"\n}\n",
+ "items": [
+ {
+ "itemType": "book",
+ "creators": [
+ {
+ "firstName": "Milton",
+ "lastName": "Abramowitz",
+ "creatorType": "author"
+ },
+ {
+ "firstName": "Irene A.",
+ "lastName": "Stegun",
+ "creatorType": "author"
+ }
+ ],
+ "notes": [],
+ "tags": [],
+ "seeAlso": [],
+ "attachments": [],
+ "itemID": "abramowitz+stegun",
+ "place": "New York",
+ "edition": "ninth Dover printing, tenth GPO printing",
+ "title": "Handbook of Mathematical Functions with Formulas, Graphs, and Mathematical Tables",
+ "publisher": "Dover",
+ "date": "1964"
+ },
+ {
+ "itemType": "book",
+ "creators": [
+ {
+ "firstName": "Joe",
+ "lastName": "Torre",
+ "creatorType": "author"
+ },
+ {
+ "firstName": "Tom",
+ "lastName": "Verducci",
+ "creatorType": "author"
+ }
+ ],
+ "notes": [],
+ "tags": [],
+ "seeAlso": [],
+ "attachments": [],
+ "itemID": "Torre2008",
+ "ISBN": "0385527403",
+ "publisher": "Doubleday",
+ "title": "The Yankee Years",
+ "date": "2008"
+ }
+ ]
+ },
+ {
+ "type": "import",
+ "input": "@INPROCEEDINGS {author:06,\n title = {Some publication title},\n author = {First Author and Second Author},\n crossref = {conference:06},\n pages = {330—331},\n}\n@PROCEEDINGS {conference:06,\n editor = {First Editor and Second Editor},\n title = {Proceedings of the Xth Conference on XYZ},\n booktitle = {Proceedings of the Xth Conference on XYZ},\n year = {2006},\n month = oct,\n}",
+ "items": [
+ {
+ "itemType": "conferencePaper",
+ "creators": [
+ {
+ "firstName": "First",
+ "lastName": "Author",
+ "creatorType": "author"
+ },
+ {
+ "firstName": "Second",
+ "lastName": "Author",
+ "creatorType": "author"
+ }
+ ],
+ "notes": [],
+ "tags": [],
+ "seeAlso": [],
+ "attachments": [],
+ "itemID": "author:06",
+ "title": "Some publication title",
+ "pages": "330—331"
+ },
+ {
+ "itemType": "book",
+ "creators": [
+ {
+ "firstName": "First",
+ "lastName": "Editor",
+ "creatorType": "editor"
+ },
+ {
+ "firstName": "Second",
+ "lastName": "Editor",
+ "creatorType": "editor"
+ }
+ ],
+ "notes": [],
+ "tags": [],
+ "seeAlso": [],
+ "attachments": [],
+ "itemID": "conference:06",
+ "title": "Proceedings of the Xth Conference on XYZ",
+ "date": "October 2006"
+ }
+ ]
+ },
+ {
+ "type": "import",
+ "input": "@Book{hicks2001,\n author = \"von Hicks, III, Michael\",\n title = \"Design of a Carbon Fiber Composite Grid Structure for the GLAST\n Spacecraft Using a Novel Manufacturing Technique\",\n publisher = \"Stanford Press\",\n year = 2001,\n address = \"Palo Alto\",\n edition = \"1st,\",\n isbn = \"0-69-697269-4\"\n}",
+ "items": [
+ {
+ "itemType": "book",
+ "creators": [
+ {
+ "firstName": "Michael, III",
+ "lastName": "von Hicks",
+ "creatorType": "author"
+ }
+ ],
+ "notes": [],
+ "tags": [],
+ "seeAlso": [],
+ "attachments": [],
+ "itemID": "hicks2001",
+ "place": "Palo Alto",
+ "edition": "1st,",
+ "ISBN": "0-69-697269-4",
+ "title": "Design of a Carbon Fiber Composite Grid Structure for the GLAST Spacecraft Using a Novel Manufacturing Technique",
+ "publisher": "Stanford Press",
+ "date": "2001"
+ }
+ ]
+ },
+ {
+ "type": "import",
+ "input": "@article{Oliveira_2009, title={USGS monitoring ecological impacts}, volume={107}, number={29}, journal={Oil & Gas Journal}, author={Oliveira, A}, year={2009}, pages={29}}",
+ "items": [
+ {
+ "itemType": "journalArticle",
+ "creators": [
+ {
+ "firstName": "A",
+ "lastName": "Oliveira",
+ "creatorType": "author"
+ }
+ ],
+ "notes": [],
+ "tags": [],
+ "seeAlso": [],
+ "attachments": [],
+ "itemID": "Oliveira_2009",
+ "issue": "29",
+ "title": "USGS monitoring ecological impacts",
+ "volume": "107",
+ "publicationTitle": "Oil & Gas Journal",
+ "date": "2009",
+ "pages": "29"
+ }
+ ]
+ },
+ {
+ "type": "import",
+ "input": "@article{test-ticket1661,\ntitle={non-braking space: ~; accented characters: {\\~n} and \\~{n}; tilde operator: \\~},\n} ",
+ "items": [
+ {
+ "itemType": "journalArticle",
+ "creators": [],
+ "notes": [],
+ "tags": [],
+ "seeAlso": [],
+ "attachments": [],
+ "itemID": "test-ticket1661",
+ "title": "non-braking space: ; accented characters: ñ and ñ; tilde operator: ∼"
+ }
+ ]
+ },
+ {
+ "type": "import",
+ "input": "@ARTICLE{Frit2,\n author = {Fritz, U. and Corti, C. and P\\\"{a}ckert, M.},\n title = {Test of markupconversion: Italics, bold, superscript, subscript, and small caps: Mitochondrial DNA$_{\\textrm{2}}$ sequences suggest unexpected phylogenetic position\n of Corso-Sardinian grass snakes (\\textit{Natrix cetti}) and \\textbf{do not}\n support their \\textsc{species status}, with notes on phylogeography and subspecies\n delineation of grass snakes.},\n journal = {Actes du $4^{\\textrm{ème}}$ Congrès Français d'Acoustique},\n year = {2012},\n volume = {12},\n pages = {71-80},\n doi = {10.1007/s13127-011-0069-8}\n}\n",
+ "items": [
+ {
+ "itemType": "journalArticle",
+ "creators": [
+ {
+ "firstName": "U.",
+ "lastName": "Fritz",
+ "creatorType": "author"
+ },
+ {
+ "firstName": "C.",
+ "lastName": "Corti",
+ "creatorType": "author"
+ },
+ {
+ "firstName": "M.",
+ "lastName": "Päckert",
+ "creatorType": "author"
+ }
+ ],
+ "notes": [],
+ "tags": [],
+ "seeAlso": [],
+ "attachments": [],
+ "itemID": "Frit2",
+ "DOI": "10.1007/s13127-011-0069-8",
+ "title": "Test of markupconversion: Italics, bold, superscript, subscript, and small caps: Mitochondrial DNA2$ sequences suggest unexpected phylogenetic position of Corso-Sardinian grass snakes (Natrix cetti) and do not support their species status, with notes on phylogeography and subspecies delineation of grass snakes.",
+ "publicationTitle": "Actes du ème$ Congrès Français d'Acoustique",
+ "date": "2012",
+ "volume": "12",
+ "pages": "71-80"
+ }
+ ]
+ },
+ {
+ "type": "import",
+ "input": "@misc{american_rights_at_work_public_2012,\n title = {Public Service Research Foundation},\n\turl = {http://www.americanrightsatwork.org/blogcategory-275/},\n\turldate = {2012-07-27},\n\tauthor = {American Rights at Work},\n\tyear = {2012},\n\thowpublished = {http://www.americanrightsatwork.org/blogcategory-275/},\n}",
+ "items": [
+ {
+ "itemType": "book",
+ "creators": [
+ {
+ "firstName": "American Rights at",
+ "lastName": "Work",
+ "creatorType": "author"
+ }
+ ],
+ "notes": [],
+ "tags": [],
+ "seeAlso": [],
+ "attachments": [],
+ "itemID": "american_rights_at_work_public_2012",
+ "url": "http://www.americanrightsatwork.org/blogcategory-275/",
+ "title": "Public Service Research Foundation",
+ "date": "2012"
+ }
+ ]
+ },
+ {
+ "type": "import",
+ "input": "@article{zoteroFilePath1,\n title = {Zotero: single attachment},\n file = {Test:files/47/test2.pdf:application/pdf}\n}\n\n@article{zoteroFilePaths2,\n title = {Zotero: multiple attachments},\n file = {Test1:files/47/test2.pdf:application/pdf;Test2:files/46/test2-min.pdf:application/pdf}\n}\n\n@article{zoteroFilePaths3,\n title = {Zotero: linked attachments (old)},\n file = {Test:E:\\some\\random\\folder\\test2.pdf:application/pdf}\n}\n\n@article{zoteroFilePaths4,\n title = {Zotero: linked attachments},\n file = {Test:E\\:\\\\some\\\\random\\\\folder\\\\test2.pdf:application/pdf}\n}\n\n@article{mendeleyFilePaths1,\n title = {Mendeley: single attachment},\n url = {https://forums.zotero.org/discussion/28347/unable-to-get-pdfs-stored-on-computer-into-zotero-standalone/},\n file = {:C$\\backslash$:/Users/somewhere/AppData/Local/Mendeley Ltd./Mendeley Desktop/Downloaded/test.pdf:pdf}\n}\n\n@article{mendeleyFilePaths2,\ntitle = {Mendeley: escaped characters}\nfile = {:C$\\backslash$:/some/path/,.$\\backslash$;'[]\\{\\}`-=\\~{}!@\\#\\$\\%\\^{}\\&()\\_+.pdf:pdf},\n}\n\n@article{citaviFilePaths1,\n title = {Citavi: single attachment},\n url = {https://forums.zotero.org/discussion/35909/bibtex-import-from-citavi-including-pdf-attachments/},\n file = {Test:Q\\:\\\\some\\\\random\\\\folder\\\\test.pdf:pdf}\n}",
+ "items": [
+ {
+ "itemType": "journalArticle",
+ "creators": [],
+ "notes": [],
+ "tags": [],
+ "seeAlso": [],
+ "attachments": [
+ {
+ "title": "Test",
+ "path": "files/47/test2.pdf",
+ "mimeType": "application/pdf"
+ }
+ ],
+ "itemID": "zoteroFilePath1",
+ "title": "Zotero: single attachment"
+ },
+ {
+ "itemType": "journalArticle",
+ "creators": [],
+ "notes": [],
+ "tags": [],
+ "seeAlso": [],
+ "attachments": [
+ {
+ "title": "Test1",
+ "path": "files/47/test2.pdf",
+ "mimeType": "application/pdf"
+ },
+ {
+ "title": "Test2",
+ "path": "files/46/test2-min.pdf",
+ "mimeType": "application/pdf"
+ }
+ ],
+ "itemID": "zoteroFilePaths2",
+ "title": "Zotero: multiple attachments"
+ },
+ {
+ "itemType": "journalArticle",
+ "creators": [],
+ "notes": [],
+ "tags": [],
+ "seeAlso": [],
+ "attachments": [],
+ "itemID": "zoteroFilePaths3",
+ "title": "Zotero: linked attachments (old)"
+ },
+ {
+ "itemType": "journalArticle",
+ "creators": [],
+ "notes": [],
+ "tags": [],
+ "seeAlso": [],
+ "attachments": [
+ {
+ "title": "Test",
+ "path": "E:\\some\\random\\folder\\test2.pdf",
+ "mimeType": "application/pdf"
+ }
+ ],
+ "itemID": "zoteroFilePaths4",
+ "title": "Zotero: linked attachments"
+ },
+ {
+ "itemType": "journalArticle",
+ "creators": [],
+ "notes": [],
+ "tags": [],
+ "seeAlso": [],
+ "attachments": [
+ {
+ "title": "Attachment",
+ "path": "C:/Users/somewhere/AppData/Local/Mendeley Ltd./Mendeley Desktop/Downloaded/test.pdf",
+ "mimeType": "application/pdf"
+ }
+ ],
+ "itemID": "mendeleyFilePaths1",
+ "url": "https://forums.zotero.org/discussion/28347/unable-to-get-pdfs-stored-on-computer-into-zotero-standalone/",
+ "title": "Mendeley: single attachment"
+ },
+ {
+ "itemType": "journalArticle",
+ "creators": [],
+ "notes": [],
+ "tags": [],
+ "seeAlso": [],
+ "attachments": [
+ {
+ "title": "Attachment",
+ "path": "C:/some/path/,.;'[]{}`-=~!@#$%^&()_+.pdf",
+ "mimeType": "application/pdf"
+ }
+ ],
+ "itemID": "mendeleyFilePaths2",
+ "title": "Mendeley: escaped characters"
+ },
+ {
+ "itemType": "journalArticle",
+ "creators": [],
+ "notes": [],
+ "tags": [],
+ "seeAlso": [],
+ "attachments": [
+ {
+ "title": "Test",
+ "path": "Q:\\some\\random\\folder\\test.pdf",
+ "mimeType": "application/pdf"
+ }
+ ],
+ "itemID": "citaviFilePaths1",
+ "url": "https://forums.zotero.org/discussion/35909/bibtex-import-from-citavi-including-pdf-attachments/",
+ "title": "Citavi: single attachment"
+ }
+ ]
+ },
+ {
+ "type": "import",
+ "input": "@article{BibTeXEscapeTest1,\n title = {\textbackslash\textbackslash\\{\\}: \\\\{}}\n}",
+ "items": [
+ {
+ "itemType": "journalArticle",
+ "creators": [],
+ "notes": [],
+ "tags": [],
+ "seeAlso": [],
+ "attachments": [],
+ "itemID": "BibTeXEscapeTest1",
+ "title": "extbackslash extbackslash{}: {"
+ }
+ ]
+ },
+ {
+ "type": "import",
+ "input": "@article{sasson_increasing_2013,\n title = {Increasing cardiopulmonary resuscitation provision in communities with low bystander cardiopulmonary resuscitation rates: a science advisory from the American Heart Association for healthcare providers, policymakers, public health departments, and community leaders},\n\tvolume = {127},\n\tissn = {1524-4539},\n\tshorttitle = {Increasing cardiopulmonary resuscitation provision in communities with low bystander cardiopulmonary resuscitation rates},\n\tdoi = {10.1161/CIR.0b013e318288b4dd},\n\tlanguage = {eng},\n\tnumber = {12},\n\tjournal = {Circulation},\n\tauthor = {Sasson, Comilla and Meischke, Hendrika and Abella, Benjamin S and Berg, Robert A and Bobrow, Bentley J and Chan, Paul S and Root, Elisabeth Dowling and Heisler, Michele and Levy, Jerrold H and Link, Mark and Masoudi, Frederick and Ong, Marcus and Sayre, Michael R and Rumsfeld, John S and Rea, Thomas D and {American Heart Association Council on Quality of Care and Outcomes Research} and {Emergency Cardiovascular Care Committee} and {Council on Cardiopulmonary, Critical Care, Perioperative and Resuscitation} and {Council on Clinical Cardiology} and {Council on Cardiovascular Surgery and Anesthesia}},\n\tmonth = mar,\n\tyear = {2013},\n\tnote = {{PMID:} 23439512},\n\tkeywords = {Administrative Personnel, American Heart Association, Cardiopulmonary Resuscitation, Community Health Services, Health Personnel, Heart Arrest, Humans, Leadership, Public Health, United States},\n\tpages = {1342--1350}\n}",
+ "items": [
+ {
+ "itemType": "journalArticle",
+ "creators": [
+ {
+ "firstName": "Comilla",
+ "lastName": "Sasson",
+ "creatorType": "author"
+ },
+ {
+ "firstName": "Hendrika",
+ "lastName": "Meischke",
+ "creatorType": "author"
+ },
+ {
+ "firstName": "Benjamin S",
+ "lastName": "Abella",
+ "creatorType": "author"
+ },
+ {
+ "firstName": "Robert A",
+ "lastName": "Berg",
+ "creatorType": "author"
+ },
+ {
+ "firstName": "Bentley J",
+ "lastName": "Bobrow",
+ "creatorType": "author"
+ },
+ {
+ "firstName": "Paul S",
+ "lastName": "Chan",
+ "creatorType": "author"
+ },
+ {
+ "firstName": "Elisabeth Dowling",
+ "lastName": "Root",
+ "creatorType": "author"
+ },
+ {
+ "firstName": "Michele",
+ "lastName": "Heisler",
+ "creatorType": "author"
+ },
+ {
+ "firstName": "Jerrold H",
+ "lastName": "Levy",
+ "creatorType": "author"
+ },
+ {
+ "firstName": "Mark",
+ "lastName": "Link",
+ "creatorType": "author"
+ },
+ {
+ "firstName": "Frederick",
+ "lastName": "Masoudi",
+ "creatorType": "author"
+ },
+ {
+ "firstName": "Marcus",
+ "lastName": "Ong",
+ "creatorType": "author"
+ },
+ {
+ "firstName": "Michael R",
+ "lastName": "Sayre",
+ "creatorType": "author"
+ },
+ {
+ "firstName": "John S",
+ "lastName": "Rumsfeld",
+ "creatorType": "author"
+ },
+ {
+ "firstName": "Thomas D",
+ "lastName": "Rea",
+ "creatorType": "author"
+ },
+ {
+ "lastName": "American Heart Association Council on Quality of Care and Outcomes Research",
+ "creatorType": "author",
+ "fieldMode": 1
+ },
+ {
+ "lastName": "Emergency Cardiovascular Care Committee",
+ "creatorType": "author",
+ "fieldMode": 1
+ },
+ {
+ "lastName": "Council on Cardiopulmonary, Critical Care, Perioperative and Resuscitation",
+ "creatorType": "author",
+ "fieldMode": 1
+ },
+ {
+ "lastName": "Council on Clinical Cardiology",
+ "creatorType": "author",
+ "fieldMode": 1
+ },
+ {
+ "lastName": "Council on Cardiovascular Surgery and Anesthesia",
+ "creatorType": "author",
+ "fieldMode": 1
+ }
+ ],
+ "notes": [],
+ "tags": [
+ "Administrative Personnel",
+ "American Heart Association",
+ "Cardiopulmonary Resuscitation",
+ "Community Health Services",
+ "Health Personnel",
+ "Heart Arrest",
+ "Humans",
+ "Leadership",
+ "Public Health",
+ "United States"
+ ],
+ "seeAlso": [],
+ "attachments": [],
+ "itemID": "sasson_increasing_2013",
+ "ISSN": "1524-4539",
+ "shortTitle": "Increasing cardiopulmonary resuscitation provision in communities with low bystander cardiopulmonary resuscitation rates",
+ "DOI": "10.1161/CIR.0b013e318288b4dd",
+ "language": "eng",
+ "issue": "12",
+ "extra": "PMID: 23439512",
+ "title": "Increasing cardiopulmonary resuscitation provision in communities with low bystander cardiopulmonary resuscitation rates: a science advisory from the American Heart Association for healthcare providers, policymakers, public health departments, and community leaders",
+ "volume": "127",
+ "publicationTitle": "Circulation",
+ "date": "March 2013",
+ "pages": "1342–1350"
+ }
+ ]
+ },
+ {
+ "type": "import",
+ "input": "@article{smith_testing_????,\n title = {Testing identifier import},\n\tauthor = {Smith, John},\n\tlccn = {L123456},\n\tmrnumber = {MR123456},\n\tzmnumber = {ZM123456},\n\tpmid = {P123456},\n\tpmcid = {PMC123456},\n\teprinttype = {arxiv},\n\teprint = {AX123456}\n}",
+ "items": [
+ {
+ "itemType": "journalArticle",
+ "creators": [
+ {
+ "firstName": "John",
+ "lastName": "Smith",
+ "creatorType": "author"
+ }
+ ],
+ "notes": [],
+ "tags": [],
+ "seeAlso": [],
+ "attachments": [],
+ "itemID": "smith_testing_????",
+ "extra": "LCCN: L123456\nMR: MR123456\nZbl: ZM123456\nPMID: P123456\nPMCID: PMC123456\narXiv: AX123456",
+ "title": "Testing identifier import"
+ }
+ ]
+ }
+]
+/** END TEST CASES **/
diff --git a/source/java/writer2latex/api/ConverterFactory.java b/source/java/writer2latex/api/ConverterFactory.java
index 2da9ddb..2edd2db 100644
--- a/source/java/writer2latex/api/ConverterFactory.java
+++ b/source/java/writer2latex/api/ConverterFactory.java
@@ -20,7 +20,7 @@
*
* All Rights Reserved.
*
- * Version 1.4 (2014-09-30)
+ * Version 1.4 (2014-10-06)
*
*/
@@ -33,7 +33,7 @@ public class ConverterFactory {
// Version information
private static final String VERSION = "1.4";
- private static final String DATE = "2014-09-30";
+ private static final String DATE = "2014-10-06";
/** Return the Writer2LaTeX version in the form
* (major version).(minor version).(patch level)