TITLE: | ISO/IEC 9541-3/PDAM1: Additional Shape Representation Technology |
SOURCE: | Dr. Yushi Komachi |
PROJECT: | 9541-3:1994 Amd. 1: Information technology -- Font information interchange -- Part 3: Glyph shape representation -- Amendment 1 |
PROJECT EDITOR: | Dr. Yushi Komachi; Mr. Jürgen Willrodt |
STATUS: | PDAM text |
ACTION: | PDAM ballot |
DATE: | 2004-04-19 |
DISTRIBUTION: | SC34 and Liaisons |
REFER TO: | N0508b - 2004-04-19 - Ballot due 2004-07-26: ISO/IEC 9541-3/PDAM1: Additional Shape Representation Technology |
REPLY TO: |
Dr. James David Mason (ISO/IEC JTC 1/SC 34 Secretariat - Standards Council of Canada) Crane Softwrights Ltd. Box 266, Kars, ON K0A-2E0 CANADA Telephone: +1 613 489-0999 Facsimile: +1 613 489-0995 Network: jtc1sc34@scc.ca http://www.jtc1sc34.org |
This Amendment specifies an additional shape representation technology and slight modification to ISO/IEC 9541-3:1994.
The additional interchange format is described by SGML (Standard Generalized Markup Language) conforming to ISO 8879:1986 and its Technical Corrigendum 2 (Annex K: Web SGML Adaptations).
Page 3
Replace the declaration of 1.7.2 with:
<!-- (c) International Organization for Standardization 2004 Permission to copy in any form is granted for use with comforming WebSGML systems and appilications as defined in ISO 8879:1986(WWW), provided this notice is included in all copies. --> <!-- Public document type definition. Typical invocation: <!DOCTYPE gshapes PUBLIC "ISO 9541-3:1994 AM1:2004//DTD Glyph Shapes//EN"> --> <!-- GLYPHSHAPES --> <!ELEMENT gshapes (t1shapes | t2shapes | niprop)+ )> <!-- Type 1 shape information. Typical invocation: <!DOCTYPE t1shapes PUBLIC "ISO 9541-3:1994//DTD Type 1 Glyph Shapes//EN"> --> <!-- Type 2 shape information. Typical invocation: <!DOCTYPE t2shapes PUBLIC "ISO 9541-3:1994 AM1:2004//DTD Type 2 Glyph Shapes//EN"> -->
Page 45
Add the following Section:
This section specifies the architecture and interchange format of one standard Glyph Shape Representation: ISO/IEC 9541 Standard TYPE 2. This representation technique is appropriate for presentation on raster devices of low resolution or where simple processing or display time is essential, as required for example in ISO/IEC 10036 registration authority. The representation technique is intended to provide a basic level of shape definition facilities.
The following definitions are specific to this section.
3.2.1 bitmap
The "picture" of the glyph image represented by a 2-dimensional grid of binary values — 0 (or off) represents the background (usually, uninked) portion of the glyph image and 1 (or on) represents the foreground (usually inked) portion of the glyph image.
3.2.2 bounding box
The imaginary box surrounding the bitmap.
NOTE It is equivalent to the imaginary box with lower left coordinates of (minx, miny) and upper right coordinates of (maxx, maxy) as defined in Part 1 of this International Standard rounded as necessary to an integer number of pixels in x and y directions.
3.2.3 pixel
A single location in a 2-dimensional grid which may take either of the binary values to represent the uninked or background of the glyph image (0 or off) or the inked or foreground of the glyph image (1 or on).
Type 2 glyph shape technology is a bitmap technology which utilises a simple 2-dimensional grid of individual bits ("pixels") to describe the glyph image. This approach has the advantage that it is extremely simple and can be used to represent any font without requiring sophisticated design of representation software. It is intended that this technology would be used to provide a solution for interchanging glyph image and font information specifically for low resolution devices. It may be used to provide the ISO/IEC 10036 Registrar with glyph(s) and/or glyph collection(s) for inclusion within the Glyph Registry.
To maintain simplicity, the shape technology defined in this section does not use any bitmap compression techniques, nor any techniques for adjusting pixel intensity or size.
T2SHAPES is a property-list of shape properties, defining all the properties for Type 2 shape information. These consist of general font properties and glyph-specific properties and shape information. TSSHAPES has the following formal structure:
t2-shape-property-list ::= t2-shape-name, t2-shape-value-property-list t2-shape-name ::= STRUCTURED-NAME -- ISO/IEC 9541-3//T2SHAPE t2-shape-value-property-list ::= ( ( pxlsize-property & odtech-property ? ), t2-glyphs-property-list ) )
PXLSIZE is an ordered-value-list of two rationals, the x and y size of the bitmap pixel in millimeters.
pxlsize-property ::= pxlsize-name, pxlsize-value-value-list pxlsize-name ::= STRUCTURED-NAME -- ISO/IEC 9541-3//PXLSIZE pxlsize-value-value-list ::= pxlsize-x, pxlsize-y pxlsize-x ::= RATIONAL pxlsize-y ::= RATIONAL
ODTECH is a code, indicating the technology of the output device for which this set of shape information pertains. It may be one of
0 ==> not applicable; 1 ==> write-white; 2 ==> write-back.
All other code are reserved for future standardisation.
odtech-property ::= odtech-name, odtech-value odtech-name ::= STRUCTURED-NAME -- ISO/IEC 9541-3//ODTECH odtech-value ::= CODE
GNAME is a global name defined in Part 1 of this International Standard, the name of the glyph whose shape is defined by the following properties.
BBOFFSET is an ordered-value-list of two rel-rationals, the x and y displacement of the lower left corner of the bounding box from the origin of the glyph coordinate system.
offset-property ::= offset-name, offset-value-value-list offset-name ::= STRUCTURED-NAME -- ISO/IEC 9541-3//BBOFFSET offset-value-value-list ::= offset-x, offset-y offset-x ::= REL-RATIONAL offset-y ::= REL-RATIONAL
NOTE These values will be very similar to the values given for minx and miny (defined in Part 1), but may have been adjusted to account for rounding/truncation errors, and to ensure as accurate a representation as possible within the restricted bitmap of a low resolution device.
BBOX is an ordered-value-list of two cardinals, the width and height of the bounding box in pixels (Bbw, Bbh).
bbox-property ::= bbox-name, bbox-value-value-list bbox-name ::= STRUCTURED-NAME -- ISO/IEC 9541-3//BBOX bbox-value-value-list ::= bbox-width, bbox-height bbox-width ::= CARDINAL bbox-height ::= CARDINAL
NOTE These values could have been determined from the EXTs (defined in Part 1) and the pixel size. However, including them as glyph shape properties helps to ensure that the bitmap information following is correctly encoded by removing the effect of any rounding/truncation errors that could result from that calculation.
BITMAP is an ordered-value-list of Bbh octet strings, where each octet string contains Bbw bits padded on the right with zeros to the nearest whole octet. Each bit represents the off (0) or on (1) state of a pixel in the bitmap which represents the glyph image. The octet strings within the ordered-value-list are ordered from the maximum y (top row) to the minimum y (bottom row), and the bits within each octet, and the octets within each string are ordered from left (minimum x) to right (maximum x).
bitmap-property ::= bitmap-name, bitmap-value-value-list bitmap-name ::= STRUCTURED-NAME -- ISO/IEC 9541-3//BITMAP bitmap-value-value-list ::= bitmap-value* bitmap-value ::= OCTET-STRING
<!-- (c) International Organization for Standardization 2004 Permission to copy in any form is granted for use with comforming WebSGML systems and appilications as defined in ISO 8879:1986(WWW), provided this notice is included in all copies. --> <!-- Public document type definition. Typical invocation: <!DOCTYPE t2shapes PUBLIC "ISO 9541-3:1994 AM1:2004//DTD Type 2 Glyph Shapes//EN"> --> <!-- Type 2 Shapes --> <!ELEMENT t2shapes ((pxlsize, odtech?), t2glyphs)> <!-- Pixel Size --> <!ELEMENT pxlsize (rat1, rat1)> <!-- Output Device Technology --> <!ELEMENT odtech (code)> <!-- Type 2 glyph shape --> <!ELEMENT t2glyphs (t2glyph+)> <!ELEMENT t2glyph (glname, (bboffs?, bbox, bitmap)> <!-- Offset-x and Offset-y --> <!ELEMENT bboffs (relr, relr)> <!-- Bounding Box width and height --> <!ELEMENT bbox (card, card)> <!-- Bitmap from top to btm, lt to rt --> <!ELEMENT bitmap (octstr*)>