Glyph Data for a Private Character
Most characters in an XML document can be expressed as regular Unicode® codes. Characters not in the Unicode Standard tables have traditionally been expressed as explicit font calls (non-portable), created as inline graphics, or defined in one of the Unicode private-use areas where users may define their own characters. The <glyph-data> element is used when there is known to be no font available to render a private-use character. This element provides information on the actual glyph that is associated with the private-use character.
The element <glyph-data> may include an inline bitmap of a glyph encoded in plain PBM (Plain Bit Map) format so that the glyph is human-readable. (See the tagged example that follows.)
Use of Unicode Codes: This Suite has been designed with Unicode values as the basic representation of all characters, including what are frequently called in publishing “special characters”, for example: Greek letters, publishing marks such as section symbols and em-dashes, mathematical symbols such as roots and fractions, alphabets with diacritics, etc. The use of combining characters is supported and encouraged, as is the use of entities defined by the STIX project (https://www.stixfonts.org/). Unicode values in planes other than Plane 0 may be freely used. Use of private publisher entities and the Unicode Private Use Area is discouraged, but supported with the <private-char> element. With this element, a graphical image may be included or a corresponding bitmap or alternative Unicode character may be included using the <glyph-data> element.
Because of the potential for conflicts in assignments by different publishers, this Suite does not support assignment of values in the Unicode Private Use Area. Special characters defined by publishers as custom entities or in the Unicode Private Use Area are not typically handled by the NISO JATS Tag Sets. Publishers who have defined characters in the Private Use Area may:
- Remap those characters to existing Unicode values (using combining characters for special accented characters where appropriate), or
- Recreate each character as an image or as a bitmap using <glyph-data> or one of the other methods supported under the <private-char> element.
Best Practice: The most repository-friendly technique is to use the element <glyph-data> to provide an individual bitmap. Private characters may also be described using <inline-graphic>. [We would like to thank the APS (American Physical Society) for providing us with this technique.] Since there are no completely standard/public agreements on how such characters are to be named and displayed, this technique is to be used (instead of a custom general entity reference) to provide complete information on the intended character. A document should contain a <private-char> element at each location where a private character is used within the document. The corresponding image for the glyph may be given in the <glyph-data> element, as a <glyph-ref> reference to a <glyph-data> element elsewhere in the document, or as an external file referenced by an <inline-graphic> element.
<!ELEMENT glyph-data (#PCDATA) >
Text, numbers, or special characters
This element may be contained in:
... <p>... The map symbol indicating these conditions will be a <private-char name="BentArrow" description="Symbol - right arrow bending up over right arrow bending down"> <glyph-data id="pc5001" format="PBM" resolution="300" x-size="15" y-size="28"> 000000000001000 000000000011100 000000000111110 000000001111111 000000000001000 000000000001000 000000000001000 000000000001000 000000000001000 000000000001000 000000000001000 000000000001000 111111111110000 000000000000000 000000000000000 111111111110000 000000000001000 000000000001000 000000000001000 000000000001000 000000000001000 000000000001000 000000000001000 000000000001000 000000001111111 000000000111110 000000000011100 000000000001000 </glyph-data></private-char>. The NOAA 1993 standard definition of <private-char name="BentArrow" description="Symbol - right arrow bending up over right arrow bending down"> <glyph-ref glyph-data="pc5001"/> </private-char> will apply.</p> ...