rfc2070.txt

来自「<VC++网络游戏建摸与实现>源代码」· 文本 代码 · 共 1,667 行 · 第 1/5 页

TXT
1,667
字号
Yergeau, et. al.            Standards Track                     [Page 6]RFC 2070               HTML Internationalization            January 1997     BASESET "ISO Registration Number 177//CHARSET              ISO/IEC 10646-1:1993 UCS-4 with implementation level 3              //ESC 2/5 2/15 4/6"     DESCSET  0   9     UNUSED              9   2     9              11  2     UNUSED              13  1     13              14  18    UNUSED              32  95    32              127 1     UNUSED              128 32    UNUSED              160 2147483486 160   Making the UCS the document character set does not create non-   conformance of any expression, construct or document that is   conforming to HTML 2.0.  It does make conforming certain constructs   that are not admissible in HTML 2.0.  One consequence is that data   characters outside the repertoire of ISO-8859-1, but within that of   UCS-4 become valid SGML characters.  Another is that the upper limit   of the range of numeric character references is extended from 255 to   2147483645; thus, &#1048; is a valid reference to a "CYRILLIC CAPITAL   LETTER I".  [ERCS] is a good source of information on Unicode and   SGML, although its scope and technical content differ greatly from   this specification.      NOTE -- the above SGML declaration, like that of HTML 2.0,      specifies the character numbers 128 to 159 (80 to 9F hex) as      UNUSED.  This means that numeric character references within that      range (e.g.  &#146;) are illegal in HTML. Neither ISO 8859-1 nor      ISO 10646 contain characters in that range, which is reserved for      control characters.   Another change was made from the HTML 2.0 SGML declaration, in the   belief that the latter did not express its authors' true intent. The   syntax character set declaration was changed from ISO 646.IRV:1983 to   the newer ISO 646.IRV:1991, the latter, but not the former, being   identical with US-ASCII.  In principle, this introduces an   incompatibility with HTML 2.0, but in practice it should increase   interoperability by i) having the SGML declaration say what everyone   thinks and ii) making the syntax character set a proper subset of the   document character set.  The characters that differ between the two   versions of ISO 646.IRV are not actually used to express HTML syntax.   ISO 10646-1:1993 is the most encompassing character set currently   existing, and there is no other character set that could take its   place as the document character set for HTML. If nevertheless for a   specific application there is a need to use characters outside this   standard, this should be done by avoiding any conflicts with presentYergeau, et. al.            Standards Track                     [Page 7]RFC 2070               HTML Internationalization            January 1997   or future versions of ISO 10646, i.e. by assigning these characters   to a private zone of the UCS-4 coding space [ISO-10646 section 11].   Also, it should be borne in mind that such a use will be highly   unportable; in many cases, it may be better to use inline bitmaps.2.3. Undisplayable characters   With the document character set being the full ISO 10646, the   possibility that a character cannot be displayed due to lack of   appropriate resources (fonts) cannot be avoided. Because there are   many different things that can be done in such a case, this document   does not prescribe any specific behaviour. Depending on the   implementation, this may also be handled by the underlaying display   system and not the application itself.  The following considerations,   however, may be of help:   -  A clearly visible, but unobtrusive behaviour should be preferred.      Some documents may contain many characters that cannot be      rendered, and so showing an alert for each of them is not the      right thing to do.   -  In case a numeric representation of the missing character is      given, its hexadecimal (not decimal) form is to be preferred,      because this form is used in character set standards [ERCS].3. The LANG attribute   Language tags can be used to control rendering of a marked up   document in various ways: glyph disambiguation, in cases where the   character encoding is not sufficient to resolve to a specific glyph;   quotation marks; hyphenation; ligatures; spacing; voice synthesis;   etc.  Independently of rendering issues, language markup is useful as   content markup for purposes such as classification and searching.   Since any text can logically be assigned a language, almost all HTML   elements admit the LANG attribute.  The DTD reflects this; the only   elements in this version of HTML without the LANG attribute are BR,   HR, BASE, NEXTID, and META.  It is also intended that any new element   introduced in later versions of HTML will admit the LANG attribute,   unless there is a good reason not to do so.   The language attribute, LANG, takes as its value a language tag that   identifies a natural language spoken, written, or otherwise conveyed   by human beings for communication of information to other human   beings. Computer languages are explicitly excluded.Yergeau, et. al.            Standards Track                     [Page 8]RFC 2070               HTML Internationalization            January 1997   The syntax and registry of HTML language tags is the same as that   defined by RFC 1766 [RFC1766]. In summary, a language tag is composed   of one or more parts: A primary language tag and a possibly empty   series of subtags:        language-tag  = primary-tag *( "-" subtag )        primary-tag   = 1*8ALPHA        subtag        = 1*8ALPHA   Whitespace is not allowed within the tag and all tags are case-   insensitive. The namespace of language tags is administered by the   IANA. Example tags include:       en, en-US, en-cockney, i-cherokee, x-pig-latin   In the context of HTML, a language tag is not to be interpreted as a   single token, as per RFC 1766, but as a hierarchy. For example, a   user agent that adjusts rendering according to language should   consider that it has a match when a language tag in a style sheet   entry matches the initial portion of the language tag of an element.   An exact match should be preferred. This interpretation allows an   element marked up as, for instance, "en-US" to trigger styles   corresponding to, in order of preference, US-English ("en-US") or   'plain' or 'international' English ("en").      NOTE -- using the language tag as a hierarchy does not imply that      all languages with a common prefix will be understood by those      fluent in one or more of those languages; it simply allows the      user to request this commonality when it is true for that user.   The rendering of elements may be affected by the LANG attribute.  For   any element, the value of the LANG attribute overrides the value   specified by the LANG attribute of any enclosing element and the   value (if any) of the HTTP Content-Language header. If none of these   are set, a suitable default, perhaps controlled by user preferences,   by automatic context analysis or by the user's locale, should be used   to control rendering.4. Additional entities, attributes and elements4.1. Full Latin-1 entity set   According to the suggestion of section 14 of [RFC1866], the set of   Latin-1 entities is extended to cover the whole right part of ISO-   8859-1 (all code positions with the high-order bit set), including   the already commonly used &nbsp;, &copy; and &reg;.  The names of the   entities are taken from the appendices of SGML [ISO-8879].  A list is   provided in section 7.3 of this specification.Yergeau, et. al.            Standards Track                     [Page 9]RFC 2070               HTML Internationalization            January 19974.2. Markup for language-dependent presentation4.2.1. Overview   For the correct presentation of text in certain languages   (irrespective of formatting issues), some support in the form of   additional entities and elements is needed.   In particular, the following features are dealt with:   -  Markup of bidirectional text, i.e. text where left-to-right and      right-to-left scripts are mixed.   -  Control of cursive joining behaviour in contexts where the      default behaviour is not appropriate.   -  Language-dependent rendering of short (in-line) quotations.   -  Better justification control for languages where this is      important.   -  Superscripts and subscripts for languages where they appear as      part of general text.   Some of the above features need very little additional support;   others need more. The additional features are introduced below with   brief comments only. Explanations on cursive joining behaviour and   bidirectional text follow later.  For cursive joining behaviour and   bidirectional text, this document follows [UNICODE] in that: i)   character semantics, where applicable, are identical to [UNICODE],   and ii) where functionality is moved to HTML as a higher level   protocol, this is done in a way that allows straightforward   conversion to the lower-level mechanisms defined in [UNICODE].4.2.2. List of entities, elements, and attributes   First, a generic container is needed to carry the LANG and DIR (see   below) attributes in cases where no other element is appropriate; the   SPAN element is introduced for that purpose.Yergeau, et. al.            Standards Track                    [Page 10]RFC 2070               HTML Internationalization            January 1997   A set of named character entities is added for use with bidirectional   rendering and cursive joining control:   <!ENTITY zwnj CDATA "&#8204;"--=zero width non-joiner-->   <!ENTITY zwj  CDATA "&#8205;"--=zero width joiner-->   <!ENTITY lrm  CDATA "&#8206;"--=left-to-right mark-->   <!ENTITY rlm  CDATA "&#8207;"--=right-to-left mark-->   These entities can be used in place of the corresponding formatting   characters whenever convenient, for example to ease keyboard entry or   when a formatting character is not available in the character   encoding of the document.   Next, an attribute called DIR is introduced, restricted to the values   LTR (left-to-right) and RTL (right-to-left), for the indication of   directionality in the context of bidirectional text (see 4.2.4 below   for details).  Since any text and many other elements (e.g. tables)   can logically be assigned a directionality, all elements except BR,   HR, BASE, NEXTID, and META admit this attribute.  The DTD reflects   this.  It is also intended that any new element introduced in later   versions of HTML will admit the DIR attribute, unless there is a good   reason not to do so.   A new phrase-level element called BDO (BIDI Override) is introduced,   which requires the DIR attribute to specify whether the override is   left-to-right or right-to-left.  This element is required for   bidirectional text control; for detailed explanations, see section   4.2.4.   The phrase-level element Q is introduced to allow language-dependent   rendering of short quotations depending on language and platform   capability. As the following examples show (rather poorly, because of   the character set restriction of Internet specifications), the   quotation marks surrounding the quotation are particularly affected:   "a quotation in English", `another, slightly better one', ,,a   quotation in German'', << a quotation in French >>. The contents of   the Q element does not include quotation marks, which have to be   added by the rendering process.      NOTE -- Q elements can be nested. Many languages use different      quotation styles for outer and inner quotations, and this should      be respected by user-agents implementing this element.Yergeau, et. al.            Standards Track                    [Page 11]RFC 2070               HTML Internationalization            January 1997      NOTE -- minimal support for the Q element is to surround the      contents with some kind of quotes, like the plain ASCII double      quotes.  As this is rather easy to implement, and as the lack of      any visible quotes may affect the perceived meaning of the text,      user-agent implementors are strongly requested to provide at least      this minimal level of support.   Many languages require superscript text for proper rendering: as an   example, the French "Mlle Dupont" should have "lle" in superscript.   The SUP element, and its sibling SUB for subscript text, are   introduced to allow proper markup of such text.  SUP and SUB contents   are restricted to PCDATA to avoid nesting problems.   Finally, in many languages text justification is much more important   than it is in Western languages, and justifies markup.  The ALIGN   attribute, admitting values of LEFT, RIGHT, CENTER and JUSTIFY, is   added to a selection of elements where it makes sense (the block-like   P, HR, H1 to H6, OL, UL, DIR, MENU, LI, BLOCKQUOTE and ADDRESS).  If   a user-agent chooses to have LEFT as a default for blocks of left-   to-right directionality, it should use RIGHT for blocks of right-to-   left directionality.      NOTE -- RFC 1866 section 4.2.2 specifies that an HTML user agent      should treat an end of line as a word space, except in      preformatted text.  This should be interpreted in the context of      the script being processed, as the way words are separated in      writing is script-dependent.  For some scripts (e.g. Latin), a      word space is just a space, but in other scripts (e.g. Thai) it is      a zero-width word separator, whereas in yet other scripts (e.g.      Japanese) it is nothing at all, i.e. totally ignored.      NOTE -- the SOFT HYPHEN character (U+00AD) needs special attention      from user-agent implementers.  It is present in many character      sets (including the whole ISO 8859 series and, of course, ISO      10646), and can always be included by means of the reference      &shy;.  Its semantics are different from the plain HYPHEN: it      indicates a point in a word where a line break is allowed.  If the      line is indeed broken there, a hyphen must be displayed at the end      of the first line.  If not, the character is not dispalyed at all.      In operations like searching and sorting, it must always be      ignored.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?