#REDIRECT [[Character_encodings_in_HTML#HTML_character_references]]
Not all [[web browser]]s or [[email client]]s used by receivers of HTML documents, or [[text editor]]s used by authors of HTML documents, will be able to '''render all HTML characters'''. For example, [[Mozilla Firefox]] 1.x versions display many more characters than the latest versions of [[Microsoft]] [[Internet Explorer]]. This is due to different "font linking" capabilities that allow [[glyph]]s to be used from fonts according to what characters are needed and supported by the fonts on the system.
For codes from 0 to 127, the original 7-bit [[ASCII]] standard set, most of these characters can be used without a character reference. Codes from 160 to 255 can all be created using [[List of XML and HTML character entity references|character entity names]]. Any higher numbered codes can only be created using the decimal number character reference.
===Illegal characters===
HTML forbids [http://www.w3.org/TR/REC-html40/sgml/sgmldecl.html] the use of the characters with [[Universal Character Set]]/[[Unicode]] code points
* 0000 ~ 0008
* 0011 ~ 0012
* 0014 ~ 0031
* 0127
* 0128 ~ 0159
* 55296 ~ 57343
These characters are ''not even allowed by reference''. That is, you are not even allowed to write them as [[numeric character reference]]s. However, references to characters 0128–0159 are commonly interpreted by lenient web browsers as if they were references to the characters assigned to ''bytes'' 128–159 (decimal) in the [[ISO 8859-1|Windows-1252]] character encoding. This is in violation of HTML and SGML standards, and the characters are already assigned to higher code points, so HTML document authors should always use the higher code points. For example, for the trademark sign (™), use <code>&#8482;</code>, not <code>&#153;</code>.
The characters 0009 (tab), 0010 (linefeed), and 0013 (carriage return) are allowed in HTML documents, but, along with 0032 (space) are all considered "[[whitespace (computing)|white space]]"[http://www.w3.org/TR/REC-html40/struct/text.html#h-9.1]. The "form feed" control character, which would be at 0012, is not allowed in HTML documents, but is also mentioned as being one of the "white space" characters — perhaps an oversight in the specifications. In HTML, most consecutive occurrences of white space characters, except in a <code><pre></code> block, are interpreted as comprising a single "word separator" for rendering purposes. A word separator is typically rendered a single en-width space in European languages, but not in others.
==See also==
*[[List of HTML decimal character references]]
[[Category:HTML]]
|