<form> (letter form) identifies one letter form taken by a particular character in a writing system declaration.
Attributes:
string gives the byte string used to encode the letter form in the text.
Datatype: CDATA
Values: any string of characters (often a single byte)
Default: #IMPLIED
Example:
 <form string='a/'>
    <desc>lowercase Greek alpha with acute accent</desc>
 </form>
Note

If the character is encoded only using entity references, then the value of string should be '' (the empty string).

In coded character sets which use character-set shifting (e.g. JIS 0208), the string attribute should typically contain the required shift characters, in order to render the value unambiguous. In such a case, there is no expectation that every occurrence of the character will be immediately preceded by the shift sequence; processing software is responsible for understanding the shift mechanism and acting accordingly.

The same string value may not appear on more than one <form> elements (except the empty string), unless each occurrence is associated with a different coded character set.

codedCharSet (coded character set) specifies which base coded character set the string value occurs in.
Datatype: IDREF
Values: a reference to the SGML identifier of a <codedCharSet> element in the current writing system declaration.
Default: #IMPLIED
Example:
Note

If more than one <codedCharSet> is specified as a base component of the writing system declaration, then it is expected that character-set shifting is in use, as described in ISO 2022 or some equivalent. In this case, each <form> element which has a value for the string attribute should also identify, by means of the codedCharSet attribute, which identifies which coded character set actually contains the string in question. Proper shifting among character sets is the responsibility of the user.

entityStd (standard entity name) gives the name of one or more entities defined for this character form in some standard entity set(s).
Datatype: ENTITIES
Values: One or more valid SGML entity names declared in the document type definition of the WSD; the entity must also be included in an entity set mentioned in an <entitySet> declaration in the current writing system declaration or in some base writing system referred to by a <baseWsd> element.
Default: #IMPLIED
Example:
 <form entityStd='thorn'>
   <desc>lowercase Old English/Icelandic thorn</desc>
 </form>
Note

If the same letter form is defined by more than one public entity set, more than one value may appear in this attribute.

The same entity name may not appear in the entityStd or entityLoc attributes of more than one <form> element.

entityLoc (local entity name) gives one or more entity names used locally for this character form.
Datatype: ENTITIES
Values: One or more valid SGML entity names declared in the document type definition of the WSD; the entity must also be included in an entity set mentioned in an <entitySet> declaration in the current writing system declaration or in some base writing system referred to by a <baseWsd> element.
Default: #IMPLIED
Example:
 <form entityStd='thorn' entityLoc='t'>
   <desc>lowercase Old English/Icelandic thorn</desc>
   <note>The standard entity name is 'thorn'; the local entity 't'
         is used for brevity and legibility.</note>
 </form>
Note

The same entity name may not appear in the entityStd or entityLoc attributes of more than one <form> element.

ucs-4 (universal-character-set code) gives the position of the character form in the thirty-two bit `universal character set' defined by ISO 10646.
Datatype: CDATA
Values: one or more sets of two or four two-digit hexadecimal numbers giving a valid ISO 10646 code point for the character form; for legibility the two-digit hexadecimal numbers should be separated by hyphens. If more than one UCS-4 code is associated with a given character form, the two UCS-4 codes should be given separated by blanks. If the character form is associated with a sequence of UCS-4 codes (e.g. a base character followed by one or more non-spacing diacritics), then the components of the sequence should be separated by '+'.
Default: #IMPLIED
Example:
Note

The same UCS-4 code (or sequence) may not appear within more than one <character> element within the writing system declaration. It may however appear on several forms of the same character.

Multiple UCS-4 codes can be given for a single character; this allows sequences treated as distinct by ISO 10646 to be documented as referring to a single `character' as defined by the WSD (e.g. ``lowercase a-umlaut'' and ``lowercase a'' plus ``umlaut'').

If a single UCS-4 code is to be treated as relating to two distinct `characters' as defined by the WSD (e.g. to reverse the effects of Han unification on some character), then one of the <character> elements should be associated with the UCS-4 code in the normal way, and the others should call attention to the relevant UCS-4 code by a comment in a <note> element.

afiicode (AFII code) gives one or more codes associated with this letter form by the Association for Font Information Interchange.
Datatype: CDATA
Values: any valid AFII identifier.
Default: #IMPLIED
Example:
Note

The AFII tables are designed as an inventory of glyphs (identifiably distinct shapes, leaving differences of font design out of account---one character may be associated with several glyphs, and each glyph with items in several different fonts). Because the same glyph may be associated with more than one character (in some fonts, for example, the lowercase letter L and the digit 1 share the same glyph), the value of afiiCode is used for informational purposes only and need not be unique within the writing system declaration.

Example
Note

The <form> element documents one form of a character; in most cases, there will be only one. If more than one form is given, in general, they are to be regarded as free variants of the character unless otherwise specified in the notes.

The distinction between <character> and <form> makes it possible to distinguish, in an encoding, among different letter forms (which may have historical, aesthetic, linguistic, or other significance) without having to claim that the different forms constitute different `characters' in any normal sense. (Using the technical terms occasionally encountered, the <form> element can be used to record each allograph of a given character or grapheme.) The concepts of `character' and `letter form', however, vary from analyst to analyst; the decision to treat a given set of forms as a single character or as a set of characters is not always obvious, and may require the application of considerable learning and judgement. The <note> element should be used to record the reasoning behind any particularly difficult decision.

Tagsetauxiliary tag set for writing system declarations
Class
Filenameteiwsd2
Content: May contain a series of description element, optionally one or more figure elements showing the character form in question, and optionally a series of notes.
Parentscharacter superentry
Childrendesc extFigure figure note
Declaration
<!ELEMENT form          - O  (desc+, (figure | extFigure)*, 
                             note*)                             >
<!ATTLIST form               %a.global
          string             CDATA               #IMPLIED
          codedCharSet       IDREF               #IMPLIED
          entityStd          ENTITIES            #IMPLIED
          entityLoc          ENTITIES            #IMPLIED
          ucs-4              CDATA               #IMPLIED
          afiicode           CDATA               #IMPLIED       >
See 25.4.2

Back to index