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