ISO/IEC JTC 1/SC34 N116

ISO/IEC JTC 1/SC34/WG2 N22

ISO/IEC JTC 1/SC34/WG2

Information Technology --
Document Description and Processing Languages
-- Information Presentation

TITLE: DAM1 to ISO/IEC 9541-2: Support for font technology advances
SOURCE: SC34/WG2
PROJECT: JTC1.34.27.02.01
PROJECT EDITOR: Y. Komachi
STATUS: Document for Philadelphia meeting
ACTION:
DATE: 1999-11-30
DISTRIBUTION: SC34 and Liaisons
REFER TO: SC34 N0072, SC34 N0095, SC34/WG2 N18
REPLY TO: Dr. James David Mason
(ISO/IEC JTC1/SC34 Chaiman)
SAIC
Information Technology Services
Oak Ridge Y-12 Plant
Bldg. 9113, M.S. 8208
Oak Ridge, TN 37831-8208 U.S.A.
Telephone: +1 423 574-6973
Facsimile: +1 423 574-18964
Network: masonjd@ornl.gov

http://www.ornl.gov/sgml/sc34/
ftp://ftp.ornl.gov/pub/sgml/sc34/
ISO/IEC JTC 1/SC 34
American National Standards Institute
11 West 42nd Street
New York, NY 10036
Tel: +1 212 642 4976
Fax: +1 212 840 2298
Email: mpeacock@ansi.org


DAM1 to ISO/IEC 9541-2: Information Technology - Font Information Interchange - Part 2: Interchange Format - Amendment 1: Support for font technology advances


Introduction

This Amendment specifies an additional interchange format and slight modification to ISO/IEC 9541-2:1991. The specification is applied only when additional font properties defined by Amendment 2 and/or 3 to ISO/IEC 9541-1:1991 are employed. The properties are optional and make it possible to address advances in font technology in addition to those defined in ISO/IEC 9541-1:1991.

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).



Information technology - Font information interchange -

Part 2: Interchange format

Amendment 1: Support for font technology advances

Page 11

Clause 6.2

Element declaration of fontdes should be:

<!ELEMENT fontdes  (dataver? & stdver   & datasrce? & datacopy? &
                    dsnsrce  & dsncopy? & relunits? & typeface? &
                    fontfam  & posture  & postang?  & weight    &
                    propwdth & glycomp  & nomwrmde? & dsnsize   &
                    minsize  & maxsize  & caphght?  & lchght?   &
                    dsngroup & structur & mnfeatsz? & nomcsw?   &
                    nomlcsw? & 
                    verticalunit-property &
                    fillratio-property    &
                    designareas-property  &
                    niprop*) >

Page 12

Clause 6.2

Element declaration of wrmode should be:

<!ELEMENT wrmode (wrmdnam , ( nescdir  & escclass  &
                 (avgescx  & avgescy  & avlcescx & avlcescy &
                  avcpescx & avcpescy & averageesc-property &
                  tabescx  & tabescy ) &
                  mxfntext & sectors? & escadjs? &
                  mineas?  & maxeas?  & scores? & varscrps? &
                  minlinsp? & minanasc? & maxanasc? & nomalign? &
                  algnmds? & copyfits? & 
                  genkendot-property &
                  ILC-property &
                  (dsnwdadd? & dsnwdamp? & minwdadd? & minwdamp? &
                  maxwdadd? & maxwdamp? & dsnltadd? & dsnltamp? &
                  minltadd? & minltamp? & maxltadd? & maxltamp?) &
                  glyphs    & niprop* )) >

Page 14

Clause 6.2

Add the following declarations

<!-- SGML DTD for 9541-1 AM2 -->

<!-- (c) International Organization for Standardization 1991 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 fontres PUBLIC "ISO 9541-2:1991 AM1:1999//DTD Font Resource//EN"> -->

<!-- DTD for 8.9.1 Vertical Units and Horizontal Units -->

<!ELEMENT  verticalunit-property   (verticalunit-name, verticalunit-value)  >
<!ELEMENT  verticalunit-name       (glbname)  >
<!-- glbname STRUCTURED NAME -->
<!ELEMENT  verticalunit-value      (card)  >
<!-- glbname CARDINAL -->
<!ELEMENT  horizontalunit-property (horizontalunit-name, horizontalunit-value)  >
<!ELEMENT  horizontalunit-name     (glbname) >
<!-- glbname : STRUCTURED NAME -->
<!ELEMENT  horizontalunit-value    (card)    >
<!-- card : CARDINAL -->

<!-- DTD for 8.9.2 Fill Ratio -->

<!ELEMENT  fillratio-property   (fillratio-name, fillratio-value-property-list)  >
<!ELEMENT  fillratio-name      (glbname) >
<!-- glbname : STRUCTURED NAME -->
<!ELEMENT  fillratio-value-property-list   (blackness+) >
<!ELEMENT  blackness (reference-glyph, fillratio-value)  >
<!ELEMENT  reference-glyph   (msg) >
<!-- msg : MESSAGE -->
<!ELEMENT  fillratio-value     (ratl) >
<!-- ratl : RATIONAL -->

<!-- DTD for 8.9.3 Design Areas -->

<!ELEMENT  designareas-property   (designareas-name, 
     designareas-value-property-list)  >
<!ELEMENT  designareas-name      (glbname) >
<!-- glbname STRUCTURED NAME -->
<!ELEMENT  designareas-value-property-list   (designarea-property|plist)+ >
<!ELEMENT  designarea-property   (designarea-name, 
     designarea-value-property-list)  >
<!ELEMENT  designarea-name      (glbname) >
<!-- glbname : STRUCTURED NAME -->
<!ELEMENT designarea-value-property-list   (letter-face+) >
<!ELEMENT letter-face    (dsnarea-glyphset-name, dsnarea-height, dsnarea-width) >
<!ELEMENT  dsnarea-glyphset-name   (msg) >
<!-- msg : MESSAGE -->
<!ELEMENT  dsnarea-height     (ralr) >
<!-- ralr : REL RATIONAL -->
<!ELEMENT  dsnarea-width      (ralr) >
<!-- ralr : REL RATIONAL -->

<!-- DTD for 8.9.4 Average ESC -->

<!ELEMENT  averageesc-property   (averageesc-name, 
     averageesc-value-property-list)  >
<!ELEMENT  averageesc-name       (glbname) >
<!-- glbname : STRUCTURED NAME -->
<!ELEMENT  averageesc-value-property-list   (averagelen-property|plist)+ >
<!ELEMENT  averagelen-property   (averagelen-name, 
     averagelen-value-property-list)  >
<!ELEMENT  averagelen-name       (glbname) >
<!-- glbname : STRUCTURED NAME -->
<!ELEMENT averagelen-value-property-list   (average-length+) >
<!ELEMENT average-length   (averlen-glyphset-name, avrlen-height, avrlen-width) >
<!ELEMENT  averlen-glyphset-name   (msg) >
<!-- msg : MESSAGE -->
<!ELEMENT  averlen-height     (ralr) >
<!-- ralr : REL RATIONAL -->
<!ELEMENT  averlen-width      (ralr) >
<!-- ralr : REL RATIONAL -->

<!-- DTD for 8.9.5 Generalized Kendot -->

<!ELEMENT  genkendot-property   (genkendot-name, genkendot-value-property-list)  >
<!ELEMENT  genkendot-value-property-list  (genkendot-offsetx-property|
     genkendot-offsety-property|genkendot-thick-property|genkendot-shape-property)+ >
<!ELEMENT  genkendot-offsetx-property  (genkendot-offsetx-name, 
     genkendot-offsetx-value) >
<!ELEMENT  genkendot-offsetx-name      (glbname) >
<!-- glbname : STRUCTURED NAME -->
<!ELEMENT  genkendot-offsetx-value     (ralr)    >
<!-- ralr : REL RATIONAL -->
<!ELEMENT  genkendot-offsety-property  (genkendot-offsety-name, 
     genkendot-offsety-value) >
<!ELEMENT  genkendot-offsety-name      (glbname) >
<!-- glbname : STRUCTURED NAME -->
<!ELEMENT  genkendot-offsety-value     (ralr)    >
<!-- ralr : REL RATIONAL -->
<!ELEMENT  genkendot-thick-property  (genkendot-thick-name, 
     genkendot-thick-value) >
<!ELEMENT  genkendot-thick-name      (glbname) >
<!-- glbname : STRUCTURED NAME -->
<!ELEMENT  genkendot-thick-value       (ralr)    >
<!-- ralr : REL RATIONAL -->
<!ELEMENT  genkendot-shape-property  (genkendot-shape-name, 
     genkendot-shape-value) >
<!ELEMENT  genkendot-shape-name      (glbname) >
<!-- glbname : STRUCTURED NAME -->
<!ELEMENT  genkendot-shape-value     (glbname) >
<!-- glbname : STRUCTURED NAME -->

<!-- SGML DTD for 9541-1 AM3 -->

<!-- DTD for 8.10 Interlinear/intercharacter Object Properties -->

<!ELEMENT  ILC-property (ILC-name, ILC-value-property-list) >
<!ELEMENT  ILC-name     (glbname)  >
<!-- glbname : STRUCTURED NAME -->
<!ELEMENT  ILC-value-property-list (ILC-type-property|ILC-font-size-property|
                                    ILC-typeface-property|ILC-rotation-property|
                                    ILC-writing-direction-offset-property|
                                    ILC-formatting-type-property|
                            ILC-line-progression-direction-offset-property)+ >

<!ELEMENT  ILC-type-property  (ILC-type-name, ILC-type-value) >
<!ELEMENT  ILC-type-name      (glbname) >
<!-- glbname : STRUCTURED NAME -->
<!ELEMENT  ILC-type-value     (glbname) >
<!-- glbname : STRUCTURED NAME -->
<!ELEMENT  ILC-font-size-property (ILC-font-size-name, ILC-font-size-value-type,
                                   ILC-font-size-value) >
<!ELEMENT ILC-font-size-name   (glbname) >
<!-- glbname : STRUCTURED NAME -->
<!ELEMENT ILC-font-size-value-type   EMPTY >
<!ATTLIST ILC-font-size-value-type type (ABS|RELATIVE) "ABS" >

<!ELEMENT ILC-font-size-value (relr) >
<!-- relr : REL RATIONAL -->

<!ELEMENT ILC-typeface-property  (ILC-typeface-name, ILC-typeface-value) >
<!ELEMENT ILC-typeface-name      (glbname) >
<!-- glbname : STRUCTURED NAME -->
<!ELEMENT ILC-typeface-value     (glbname) >
<!-- glbname : STRUCTURED NAME -->

<!ELEMENT ILC-rotation-property (ILC-rotation-name, ILC-rotation-value) >
<!ELEMENT ILC-rotation-name (relr) >
<!-- relr : REL RATIONAL -->
<!ELEMENT ILC-rotation-value   EMPTY >
<!ATTLIST ILC-rotation-value value (0|90|180|270) "0"  >

<!ELEMENT ILC-writing-direction-offset-property 
                                  (ILC-writing-direction-offset-name, 
                                   ILC-writing-direction-offset-value,
                                   ILC-writing-direction-offset-value) >
<!ELEMENT ILC-writing-direction-offset-name (glbname) >
<!-- glbname : STRUCTURED NAME -->
<!ELEMENT ILC-writing-direction-offset-value-type  EMPTY >
<!ATTLIST ILC-writing-direction-offset-value-type type (ABS|RELATIVE) "ABS" >

<!ELEMENT ILC-writing-direction-offset-value (relr) >
<!-- relr : REL RATIONAL -->

<!ELEMENT ILC-formatting-type-property 
                     (ILC-formatting-type-name, ILC-formatting-type-value) >
<!ELEMENT ILC-formatting-type-name (glbname) >
<!-- glbname : STRUCTURED NAME -->
<!ELEMENT ILC-formatting-type-value EMPTY >
<!ATTLIST ILC-formatting-type-value  value (HEAD|CENTER|TAIL|JUSTIFICATION)
     "HEAD" >

<!ELEMENT ILC-line-progression-direction-offset-property
                            (ILC-line-progression-direction-offset-name,
                             ILC-line-progression-direction-offset-value,
                             ILC-line-progression-direction-offset-value-type) >
<!ELEMENT ILC-line-progression-direction-offset-name (glbname) >
<!-- glbname : STRUCTURED NAME -->
<!ELEMENT ILC-line-progression-direction-offset-value-type EMPTY >
<!ATTLIST ILC-line-progression-direction-offset-value-type value (ABS|RELATIVE) 
     "ABS" >

<!ELEMENT ILC-line-progression-direction-offset-value (relr) >
<!-- relr : REL RATIONAL -->