Initial revision
diff --git a/Lib/htmlentitydefs.py b/Lib/htmlentitydefs.py
new file mode 100644
index 0000000..36ae8df
--- /dev/null
+++ b/Lib/htmlentitydefs.py
@@ -0,0 +1,101 @@
+# Proposed entity definitions for HTML, taken from
+# http://www.w3.org/hypertext/WWW/MarkUp/html-spec/html-spec_14.html
+
+entitydefs = {
+    'nbsp':	chr(160),	# no-break space
+    'iexcl':	chr(161),	# inverted exclamation mark
+    'cent':	chr(162),	# cent sign
+    'pound':	chr(163),	# pound sterling sign
+    'curren':	chr(164),	# general currency sign
+    'yen':	chr(165),	# yen sign
+    'brvbar':	chr(166),	# broken (vertical) bar
+    'sect':	chr(167),	# section sign
+    'uml':	chr(168),	# umlaut (dieresis)
+    'copy':	chr(169),	# copyright sign
+    'ordf':	chr(170),	# ordinal indicator, feminine
+    'laquo':	chr(171),	# angle quotation mark, left
+    'not':	chr(172),	# not sign
+    'shy':	chr(173),	# soft hyphen
+    'reg':	chr(174),	# registered sign
+    'macr':	chr(175),	# macron
+    'deg':	chr(176),	# degree sign
+    'plusmn':	chr(177),	# plus-or-minus sign
+    'sup2':	chr(178),	# superscript two
+    'sup3':	chr(179),	# superscript three
+    'acute':	chr(180),	# acute accent
+    'micro':	chr(181),	# micro sign
+    'para':	chr(182),	# pilcrow (paragraph sign)
+    'middot':	chr(183),	# middle dot
+    'cedil':	chr(184),	# cedilla
+    'sup1':	chr(185),	# superscript one
+    'ordm':	chr(186),	# ordinal indicator, masculine
+    'raquo':	chr(187),	# angle quotation mark, right
+    'frac14':	chr(188),	# fraction one-quarter
+    'frac12':	chr(189),	# fraction one-half
+    'frac34':	chr(190),	# fraction three-quarters
+    'iquest':	chr(191),	# inverted question mark
+    'Agrave':	chr(192),	# capital A, grave accent
+    'Aacute':	chr(193),	# capital A, acute accent
+    'Acirc':	chr(194),	# capital A, circumflex accent
+    'Atilde':	chr(195),	# capital A, tilde
+    'Auml':	chr(196),	# capital A, dieresis or umlaut mark
+    'Aring':	chr(197),	# capital A, ring
+    'AElig':	chr(198),	# capital AE diphthong (ligature)
+    'Ccedil':	chr(199),	# capital C, cedilla
+    'Egrave':	chr(200),	# capital E, grave accent
+    'Eacute':	chr(201),	# capital E, acute accent
+    'Ecirc':	chr(202),	# capital E, circumflex accent
+    'Euml':	chr(203),	# capital E, dieresis or umlaut mark
+    'Igrave':	chr(204),	# capital I, grave accent
+    'Iacute':	chr(205),	# capital I, acute accent
+    'Icirc':	chr(206),	# capital I, circumflex accent
+    'Iuml':	chr(207),	# capital I, dieresis or umlaut mark
+    'ETH':	chr(208),	# capital Eth, Icelandic
+    'Ntilde':	chr(209),	# capital N, tilde
+    'Ograve':	chr(210),	# capital O, grave accent
+    'Oacute':	chr(211),	# capital O, acute accent
+    'Ocirc':	chr(212),	# capital O, circumflex accent
+    'Otilde':	chr(213),	# capital O, tilde
+    'Ouml':	chr(214),	# capital O, dieresis or umlaut mark
+    'times':	chr(215),	# multiply sign
+    'Oslash':	chr(216),	# capital O, slash
+    'Ugrave':	chr(217),	# capital U, grave accent
+    'Uacute':	chr(218),	# capital U, acute accent
+    'Ucirc':	chr(219),	# capital U, circumflex accent
+    'Uuml':	chr(220),	# capital U, dieresis or umlaut mark
+    'Yacute':	chr(221),	# capital Y, acute accent
+    'THORN':	chr(222),	# capital THORN, Icelandic
+    'szlig':	chr(223),	# small sharp s, German (sz ligature)
+    'agrave':	chr(224),	# small a, grave accent
+    'aacute':	chr(225),	# small a, acute accent
+    'acirc':	chr(226),	# small a, circumflex accent
+    'atilde':	chr(227),	# small a, tilde
+    'auml':	chr(228),	# small a, dieresis or umlaut mark
+    'aring':	chr(229),	# small a, ring
+    'aelig':	chr(230),	# small ae diphthong (ligature)
+    'ccedil':	chr(231),	# small c, cedilla
+    'egrave':	chr(232),	# small e, grave accent
+    'eacute':	chr(233),	# small e, acute accent
+    'ecirc':	chr(234),	# small e, circumflex accent
+    'euml':	chr(235),	# small e, dieresis or umlaut mark
+    'igrave':	chr(236),	# small i, grave accent
+    'iacute':	chr(237),	# small i, acute accent
+    'icirc':	chr(238),	# small i, circumflex accent
+    'iuml':	chr(239),	# small i, dieresis or umlaut mark
+    'eth':	chr(240),	# small eth, Icelandic
+    'ntilde':	chr(241),	# small n, tilde
+    'ograve':	chr(242),	# small o, grave accent
+    'oacute':	chr(243),	# small o, acute accent
+    'ocirc':	chr(244),	# small o, circumflex accent
+    'otilde':	chr(245),	# small o, tilde
+    'ouml':	chr(246),	# small o, dieresis or umlaut mark
+    'divide':	chr(247),	# divide sign
+    'oslash':	chr(248),	# small o, slash
+    'ugrave':	chr(249),	# small u, grave accent
+    'uacute':	chr(250),	# small u, acute accent
+    'ucirc':	chr(251),	# small u, circumflex accent
+    'uuml':	chr(252),	# small u, dieresis or umlaut mark
+    'yacute':	chr(253),	# small y, acute accent
+    'thorn':	chr(254),	# small thorn, Icelandic
+    'yuml':	chr(255),	# small y, dieresis or umlaut mark
+}