htmlNamedEntities top-level constant
HTML5 named character reference map.
Keys are entity strings (e.g., '&'), values are the decoded
Unicode characters. Ordered longest-key-first for documentation clarity.
Includes:
- 268 entities from the HTML5 "basic" set (Latin-1 supplement + ASCII)
- 10 additional commonly-used entities beyond Latin-1 (typographic quotes, dashes, bullet, ellipsis, trade, euro)
Implementation
const Map<String, String> htmlNamedEntities = <String, String>{
// -- Longest keys first (18 chars) --
'`': '`',
' ': '\u00A0',
'´': '\u00B4',
// -- 14-char keys --
'|': '|',
// -- 10-11 char keys --
'·': '\u00B7',
'¨': '\u00A8',
'±': '\u00B1',
'·': '\u00B7',
// -- 9-char keys --
'_': '_',
'®': '\u00AE',
// -- 8-char keys --
'¸': '\u00B8',
'
': '\n',
// -- 7-char keys (with semicolons) --
'¦': '\u00A6',
'%': '%',
'*': '*',
'{': '{',
'|': '|',
'.': '.',
'}': '}',
'ý': '\u00FD',
'¤': '\u00A4',
'ú': '\u00FA',
'õ': '\u00F5',
'=': '=',
'ù': '\u00F9',
'@': '@',
'ø': '\u00F8',
'±': '\u00B1',
'÷': '\u00F7',
'[': '[',
'$': '\$',
'·': '\u00B7',
']': ']',
'Ó': '\u00D3',
'_': '_',
'¼': '\u00BC',
'½': '\u00BD',
'¾': '\u00BE',
'¿': '\u00BF',
'À': '\u00C0',
'Á': '\u00C1',
'Ã': '\u00C3',
'ó': '\u00F3',
'È': '\u00C8',
'É': '\u00C9',
'Ì': '\u00CC',
'Í': '\u00CD',
'Ñ': '\u00D1',
'Ò': '\u00D2',
'Õ': '\u00D5',
'Ø': '\u00D8',
'Ù': '\u00D9',
'Ú': '\u00DA',
'Ý': '\u00DD',
'à': '\u00E0',
'á': '\u00E1',
'ã': '\u00E3',
'ç': '\u00E7',
'è': '\u00E8',
'é': '\u00E9',
'ì': '\u00EC',
'í': '\u00ED',
'ñ': '\u00F1',
'ò': '\u00F2',
'Ç': '\u00C7',
'…': '\u2026',
'‘': '\u2018',
'’': '\u2019',
'“': '\u201C',
'”': '\u201D',
// -- 6-char keys (with semicolons) --
'ê': '\u00EA',
'´': '\u00B4',
'ô': '\u00F4',
'£': '\u00A3',
':': ':',
'«': '\u00AB',
'î': '\u00EE',
'þ': '\u00FE',
'¯': '\u00AF',
'¡': '\u00A1',
'ß': '\u00DF',
'µ': '\u00B5',
'¸': '\u00B8',
'û': '\u00FB',
'æ': '\u00E6',
',': ',',
'»': '\u00BB',
'?': '?',
'Â': '\u00C2',
'Å': '\u00C5',
'Å': '\u00C5',
'Æ': '\u00C6',
'å': '\u00E5',
'Þ': '\u00DE',
'Ê': '\u00CA',
'Î': '\u00CE',
'â': '\u00E2',
'`': '`',
'Ô': '\u00D4',
'fj': 'f',
'×': '\u00D7',
'Û': '\u00DB',
'™': '\u2122',
'–': '\u2013',
'—': '\u2014',
// -- 5-char keys (with semicolons) --
'¯': '\u00AF',
'²': '\u00B2',
'[': '[',
';': ';',
'³': '\u00B3',
'\': '\\',
'+': '+',
'Ä': '\u00C4',
'§': '\u00A7',
'©': '\u00A9',
']': ']',
'ÿ': '\u00FF',
'¶': '\u00B6',
'¢': '\u00A2',
'Ë': '\u00CB',
'ä': '\u00E4',
' ': '\u00A0',
'ü': '\u00FC',
'ö': '\u00F6',
'Ï': '\u00CF',
'}': '}',
'©': '\u00A9',
''': "'",
'¹': '\u00B9',
'ª': '\u00AA',
'º': '\u00BA',
'ï': '\u00EF',
'Ö': '\u00D6',
'ë': '\u00EB',
'>⃒': '>',
'(': '(',
'"': '"',
'{': '{',
'½': '\u00BD',
')': ')',
'Ü': '\u00DC',
'|': '|',
'!': '!',
'<⃒': '<',
'"': '"',
'•': '\u2022',
'€': '\u20AC',
// -- 4-char keys (with semicolons) --
'=⃥': '=',
'Ð': '\u00D0',
'&': '&',
'&': '&',
'*': '*',
'#': '#',
'­': '\u00AD',
'÷': '\u00F7',
'°': '\u00B0',
'®': '\u00AE',
'®': '\u00AE',
'¬': '\u00AC',
'ð': '\u00F0',
'¨': '\u00A8',
'¨': '\u00A8',
'¨': '\u00A8',
'/': '/',
'¥': '\u00A5',
'	': '\t',
'^': '^',
'±': '\u00B1',
'>': '>',
'>': '>',
'<': '<',
'<': '<',
// -- Legacy entities WITHOUT trailing semicolons --
// HTML5 spec requires browsers to recognize these even without `;`.
'¤': '\u00A4',
'¦': '\u00A6',
'ó': '\u00F3',
'ò': '\u00F2',
'ù': '\u00F9',
'ñ': '\u00F1',
'ø': '\u00F8',
'í': '\u00ED',
'ý': '\u00FD',
'÷': '\u00F7',
'È': '\u00C8',
'ì': '\u00EC',
'±': '\u00B1',
'é': '\u00E9',
'è': '\u00E8',
'ç': '\u00E7',
'·': '\u00B7',
'ú': '\u00FA',
'¼': '\u00BC',
'½': '\u00BD',
'¾': '\u00BE',
'¿': '\u00BF',
'À': '\u00C0',
'Á': '\u00C1',
'Ã': '\u00C3',
'É': '\u00C9',
'Ì': '\u00CC',
'ã': '\u00E3',
'Í': '\u00CD',
'â': '\u00E2',
'ê': '\u00EA',
'î': '\u00EE',
'Ñ': '\u00D1',
'Ò': '\u00D2',
'á': '\u00E1',
'Ó': '\u00D3',
'Õ': '\u00D5',
'à': '\u00E0',
'õ': '\u00F5',
'Ø': '\u00D8',
'Ù': '\u00D9',
'Ú': '\u00DA',
'Ý': '\u00DD',
'Ç': '\u00C7',
'Â': '\u00C2',
'å': '\u00E5',
'ô': '\u00F4',
'´': '\u00B4',
'Å': '\u00C5',
'Æ': '\u00C6',
'µ': '\u00B5',
'×': '\u00D7',
'Ê': '\u00CA',
'þ': '\u00FE',
'û': '\u00FB',
'Î': '\u00CE',
'¸': '\u00B8',
'¡': '\u00A1',
'Ô': '\u00D4',
'£': '\u00A3',
'»': '\u00BB',
'«': '\u00AB',
'Û': '\u00DB',
'ß': '\u00DF',
'Þ': '\u00DE',
'æ': '\u00E6',
'²': '\u00B2',
'³': '\u00B3',
'Ö': '\u00D6',
'"': '"',
'ÿ': '\u00FF',
'ö': '\u00F6',
'Ï': '\u00CF',
'Ë': '\u00CB',
'ä': '\u00E4',
'Ä': '\u00C4',
'¹': '\u00B9',
'º': '\u00BA',
'¶': '\u00B6',
' ': '\u00A0',
'ü': '\u00FC',
'ë': '\u00EB',
'¯': '\u00AF',
'Ü': '\u00DC',
'ª': '\u00AA',
'ï': '\u00EF',
'©': '\u00A9',
'©': '\u00A9',
'¢': '\u00A2',
'§': '\u00A7',
'"': '"',
'Ð': '\u00D0',
'&': '&',
'&': '&',
'°': '\u00B0',
'®': '\u00AE',
'®': '\u00AE',
'­': '\u00AD',
'¬': '\u00AC',
'¨': '\u00A8',
'¥': '\u00A5',
'ð': '\u00F0',
'>': '>',
'>': '>',
'<': '<',
'<': '<',
};