Private Character (Custom or Unicode)
Custom character supplied by a publisher, or a custom character from the Unicode private-use area, for which a bitmap or other representation of the glyph is included in or with the XML. The glyph may be represented as an inline graphic, an explicit bitmap glyph, or a reference to a previously defined character.
Use of Unicode Characters: This Suite has been designed with Unicode values as the basic representation of all characters, including what is 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 graphic 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 cannot be handled by the NISO JATS Tag Sets unchanged. 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 one of the 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. [We would like to thank the APS (American Physical Society) for providing us with this technique.] Private character files may also be described using the <inline-graphic> element. Since there are no completely standard/public agreements on how such characters are to be named and displayed, this technique can 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.
Attributes: The attributes for this element should be used to supply a human-readable description of the character, for example, “Arrow, normal weight, single line, two-headed, Northwest to Southeast” and a unique name for the character in all uppercase ASCII, similar to names found in Unicode standard (for example, “NORTHWEST SOUTHEAST ARROW”).
New General Entities: In cases where a general entity reference is preferred to <private-char>, but the entity is not present in the standard ISO standard entity sets, the entity name (with its corresponding Unicode value) can be defined in the %chars.ent; module (for example, as has been done with the Euro € symbol).
<!ELEMENT private-char %private-char-model; >
Expanded Content Model
((glyph-data | glyph-ref) | inline-graphic*)
This element may be contained in:
<addr-line>, <alternatives>, <alt-title>, <article-title>, <attrib>, <award-id>, <bold>, <chapter-title>, <code>, <collab>, <comment>, <compound-kwd-part>, <compound-subject-part>, <conf-theme>, <data-title>, <def-head>, <disp-formula>, <element-citation>, <fixed-case>, <funding-source>, <inline-formula>, <italic>, <label>, <license-p>, <meta-value>, <mixed-citation>, <monospace>, <named-content>, <overline>, <p>, <part-title>, <product>, <roman>, <sans-serif>, <sc>, <see>, <see-also>, <sig>, <sig-block>, <source>, <std>, <strike>, <styled-content>, <sub>, <subject>, <subtitle>, <sup>, <supplement>, <support-source>, <td>, <term>, <term-head>, <textual-form>, <th>, <title>, <trans-source>, <trans-subtitle>, <trans-title>, <underline>, <verse-line>
Description of an arrow glyph:
... <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> ...
An example of a triple bond glyph. To a chemist, a triple bond is not the same as Unicode x2261, but using alternatives, as shown below, is sometimes the easiest way to display the character visually and still stay within Unicode:
... <alternatives> <textual-form specific-use="unicode-look-alike">≡</textual-form> <private-char name="Triple Bond" description="Chemistry Triple Bond"> <glyph-data id="tbond" format="PBM" resolution="300" x-size="16" y-size="32"> 0000000000000000000000000000000 0000000000000000000000000000000 0000000000000000000000000000000 0000000000000000000000000000000 0000000000000000000000000000000 0001111111111111111111111100000 0000000000000000000000000000000 0000000000000000000000000000000 0001111111111111111111111100000 0000000000000000000000000000000 0000000000000000000000000000000 0001111111111111111111111100000 0000000000000000000000000000000 0000000000000000000000000000000 0000000000000000000000000000000 0000000000000000000000000000000 0000000000000000000000000000000 0000000000000000000000000000000 </glyph-data> </private-char> </alternatives> ...