Alignment with ISO Open Font. was Re: DR 09-0052: SML, Styles: family attribute range issue

Rick Jelliffe rjelliffe at allette.com.au
Thu Jun 11 10:18:05 CEST 2009


These styles are related to those now defined in ISO/IEC 
14496-22:2007    Information technology -- Coding of audio-visual 
objects -- Part 22: Open Font Format

Open Font can be downloaded from
   http://standards.iso.org/ittf/PubliclyAvailableStandards/index.html
search 14496-22  and click through license to ZIP and PDF.

Annex B, p 347 gives the more recent list of font classes (and font 
subclasses).  I presume this has the advantage of supporting Adobe/Apple 
fonts better, or of being more future proofed. I also presume, because 
of Microsoft's involvement in Open Font, that it is reasonable to expect 
that if future versions of Office supported more font classes, it would 
do so in conformance to these styles.

I also suggest that these font classes are the appropriate things to 
use, certainly for the strict schema, because we do not want to 
arbitrarily limit the capacity of an OOXML application to utilize as 
much of OpenFont as it needs for general application use.

In other words, the list in OOXML is obsolete, and suitable for 
transitional. We should align with Open Font.
 
I suggest the following (my additions in green):

_18.18.x  ST_FontFamily (Font Family _Class_)___

_This simple type specifies a ____font family _class using the Class 
values specified in Annex B of of ISO/IEC 14496-22:2007_. A font family 
_class _is a set of fonts having common stroke width and serif 
characteristics. This is system level font information. _

_This simple type's contents are a restriction of the W3C XML Schema 
unsignedInt datatype._

_This simple type is restricted to the values listed in the following 
tables. Note: the equivalent names used by Ecma 367 are given in 
parentheses. _

Table 1.
__

*_Value_*

	

*_Font Family  _*Class

_0___

	No classification

_1___

	

Oldstyle serifs (_Roman)_

_2___

	

Transitional serifs (_Swiss)_

_3___

	

Modern serifs (_Modern)_

_4___

	

Clarenden serifs _(Script)_

_5___

	

Slab serifs (_Decorative)_


Table 2.

*_Value_*

	

*_Font Family _*Class

_6, 11, 13, 14___

	(Reserved)

_7___

	Freeform serifs

_8___

	

Sans serifs
__

_9___

	

Ornamentals
__

_10___

	

Scripts
__

_12___

	

Symbolic


A producer or consumer may substitute values in table 1 for values of 
table 2 for compatibility with ECMA 367.. 

The last sentence is strictly not necessary, but there to reduce 
immediate impact on implementations. Also, I suggest
__

          _<xsd:maxInclusive value="_14_"/>_

to align with the Open Font standard.  I note that IS14496-22 derives 
these numbers from IBM, so adopting them should not be controversial.

Vendors may like to consider whether it would be useful to include an 
attribute for the Open Font Format subclass number as well, for more 
exact matching.

Note that I believe this can be regarded as a DCOR change, because the 
BRM's specific requirement that the PANOSE numbers reference Open Font 
Format (as they now do: see 19.2.1.13 font) is part of a larger 
requirement that OOXML's font substitution regime should be aligned with 
Open Font Format capabilities. 

I note that IS14496-22 is also an SC34 standard (joint with its 
champions, the MPEG group), which may encourage us to make use of it.

Cheers
Rick Jelliffe





More information about the sc34wg4 mailing list