ISO/IEC JTC 1/SC34 N115

ISO/IEC JTC 1/SC34/WG2 N21

ISO/IEC JTC 1/SC34/WG2

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

TITLE: DAM3 to ISO/IEC 9541-1: Multilingual extensions to font resource architecture
SOURCE: SC34/WG2
PROJECT: JTC1.34.27.01.03
PROJECT EDITOR: Y. Komachi
STATUS: Document for Philadelphia meeting
ACTION:
DATE: 1999-11-30
DISTRIBUTION: SC34 and Liaisons
REFER TO: SC34 N0071, SC34 N0094
REPLY TO: SC34/WG2 N19(Disposition of comments on SC34 N0071)


DAM3 to ISO/IEC 9541-1: Information Technology - Font Information Interchange - Part 1: Architecture - Amendment 3: Multilingual extensions to font resource architecture


Introduction

This amendment specifies additional generalized properties for the Font Resources defined by ISO/IEC 9541-1:1991. The properties support interlinear/intercharacter font objects required for multilingual documents, particularly including East Asian language descriptions. The Ruby specified in ISO/IEC 9541-1:1991 can be dealt with as a simplified instance of the interlinear objects as shown in Annex C.

The properties of this Amendment are optional and in addition to those defined in ISO/IEC 9541-1:1991, with the interchange format defined in Amendment 1 to ISO/IEC 9541-2:1991.



Information technology - Font information interchange -

Part 1: Architecture

Amendment 3: Multilingual extensions to font resource architecture

Page 3

Clause 3

Add the following definitions:

3.32 interlinear object: Object between lines or objects inserted between lines.

3.33 intercharacter object: Object between characters in the writing direction.

3.34 parent object: Object with which an interlinear or intercharacter object is associated. This term is used when referring to the relationship between an interlinear/intercharacter object and the object with which the interlinear/intercharacter object is associated.

3.35 child object: Interlinear or intercharacter object. This term is used when referring to the relationship between an interlinear/intercharacter object and the object with which the interlinear/intercharacter object is associated.

Page 54

Clause 8

Add the following properties and the related notes descriptions:

8.10 Interlinear/intercharacter Object Properties (ILCOBJ)

ILCOBJ is a property-list consisting of property-lists that specify type, font size, typeface, rotation, position in writing direction, formatting information in writing direction, and position in line progression direction of an interlinear/intercharacter object.

Note that the properties are primitive properties to locate actually an interlinear/intercharacter object. There may be some GUI or convention for specification which can produce the properties.

ILC-property ::= ILC-name, ILC-value-property-list
ILC-name ::= STRUCTURED-NAME
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)+

ILC-type-property ::= ILC-type-name, ILC-type-value
   -- type of Interlinear/intercharacter objects
ILC-type-name ::= STRUCTURED-NAME
ILC-type-value ::= STRUCTURED-NAME

ILC-font-size-property ::= ILC-font-size-name, ILC-font-size-value-type,
ILC-font-size-value
   -- Property for font size
ILC-font-size-name ::= STRUCTURED-NAME
ILC-font-size-value-type ::= "ABS" | "RELATIVE"
ILC-font-size-value ::= REL-RATIONAL 

ILC-typeface-property ::= ILC-typeface-name, ILC-typeface-value
   -- Property for typeface
ILC-typeface-name ::= STRUCTURED-NAME
ILC-typeface-value ::= STRUCTURED-NAME

ILC-rotation-property ::= ILC-rotation-name, ILC-rotation-value
   -- Property for rotation
ILC-rotation-name ::= REL-RATIONAL
ILC-rotation-value ::= 0|90|180|270

ILC-writing-direction-offset-property ::= ILC-writing-direction-offset-name, 
ILC-writing-direction-offset-value, ILC-writing-direction-offset-value
   -- Property for position in writing direction 
ILC-writing-direction-offset-name ::= STRUCTURED-NAME
ILC-writing-direction-offset-value-type ::= "ABS" | "RELATIVE"
ILC-writing-direction-offset-value ::= REL-RATIONAL

ILC-formatting-type-property ::= 
                     ILC-formatting-type-name, ILC-formatting-type-value
   -- Property for formatting information in writing direction
ILC-formatting-type-name ::= STRUCTURED-NAME
ILC-formatting-type-value ::= "HEAD"|"CENTER"|"TAIL"|"JUSTIFICATION"

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
   -- Property for position in line progression direction 
ILC-line-progression-direction-offset-name ::= STRUCTURED-NAME
ILC-line-progression-direction-offset-value-type ::= "ABS" | "RELATIVE"
ILC-line-progression-direction-offset-value ::= REL-RATIONAL

NOTE 1 It is required to specify the following character strings for processing an interlinear/intercharacter object:

  • character string associated with an interlinear/intercharacter object (i.e. a parent object)
  • character string structuing an interlinear/intercharacter object (i.e. child object)

This Amendment provides no particular schemes to specify those character strings. For example, customized SGML/XML tags may be used for it.

NOTE 2 It is possible to associate multiple interlinear/intercharacter objects with the identical character string.

NOTE 3 ILC-type-property (type) specifies the type of an interlinear/intercharacter object.

NOTE 4 ILC-font-size-property (font size) specifies the font size with its absolute value or relative value with respect to the font size of the parent object.

NOTE 5 ILC-typeface-property (typeface name) specifies the typeface name.

NOTE 6 ILC-rotation-property (rotation) specifies the angle measured counterclockwise from the parent object's writing direction to the child object's writing direction. In many cases interlinear objects have 0 degree for and intercharacter objects have 270 degree (when the main text is horizontally composed) or 90 degree (when the main text is vertically composed).

NOTE 7 ILC-writing-direction-offset-property (offset in writing direction) specifies the offset in writing direction with its absolute value or relative value with respect to the font size of the parent object.

This value shows the displacement between the positioning points of child object and parent object (see Figure 8, 9 and 10), and is measured in the parent object's coordinate system.

NOTE 8 ILC-formatting-type-property (formatting type information in writing direction) specifies the formatting information regarding the alignment in writing direction. When this property is specified, other properties for positioning in writing direction are overwhelmed.

NOTE 9 ILC-line-progression-direction-offset-property (offset in line progression direction) specifies the offset in line progression direction with its absolute value or relative value with respect to the font size of the parent object.

This value shows the displacement between the baselines of parent object and child object (see Figure 8, 9 and 10), and is measured in the parent object's coordinate system.


Figure 8 - Offsets in the case where writing direction of the parent object is left-to-right and rotation is 0 degree


Figure 9 - Offsets in the case where writing direction of the parent object is left-to-right and rotation is 270 degree


Figure 10 - Offsets in the case where writing direction of the parent object is top-to-bottom and rotation is 0 degree



Annex

Add the following annexes:


Annex C
(informative)
Examples of property specification for typical interlinear/intercharacter objects

Properties are specified to represent some typical interlinear/intercharacter objects. Actual values are assigned or restricted to a property.

C.1 Ruby

ILC-type-value: "Ruby"

The name "Ruby" is just an example. Other names can be specified.

ILC-font-size-value-type: "ABS" or "RELATIVE"
ILC-font-size-value: any size
ILC-typeface-value: any typeface name
ILC-rotation-value: 0
ILC-writing-direction-offset-value-type: "ABS" or "RELATIVE"
ILC-writing-direction-offset-value: any size
ILC-formatting-type-value: "HEAD" or "CENTER" or "JUSTIFICATION"
ILC-line-progression-direction-offset-value-type: "ABS" or "RELATIVE"
ILC-line-progression-direction-offset-value: any size

C.2 Kendot

ILC-type-value: "Kendot"

The name "Kendot" is just an example. Other names can be specified.

ILC-font-size-value: any size
ILC-typeface-value: any typeface name
ILC-rotation-value: 0
ILC-formatting-type-value: "HEAD" or "CENTER"
ILC-line-progression-direction-offset-value: any size

C.3 Return Mark

ILC-type-value: "Return-Mark"

The name "Return-Mark" is just an example. Other names can be specified.

ILC-font-size-value: any size
ILC-typeface-value: any typeface name
ILC-rotation-value: 0
ILC-writing-direction-offset-value-type: "ABS" or "RELATIVE"
ILC-writing-direction-offset-value: any size
ILC-line-progression-direction-offset-value-type: "ABS" or "RELATIVE"
ILC-line-progression-direction-offset-value: any size

C.4 Added Characters

ILC-type-value: "Added-Characters"

The name "Added-Characters" is just an example. Other names can be specified.

ILC-font-size-value: any size
ILC-typeface-value: any typeface name
ILC-rotation-value: 0
ILC-writing-direction-offset-value-type: "ABS" or "RELATIVE"
ILC-writing-direction-offset-value: any size
ILC-line-progression-direction-offset-value-type: "ABS" or "RELATIVE"
ILC-line-progression-direction-offset-value: any size



Annex D
(informative)
Examples of rendered images of typical interlinear/intercharacter objects

D.1 Ruby

The following figures illustrate some typical rendered images of Ruby objects.


       

Figure D.1 - Formatting information in writing direction is "HEAD"


    
            

Figure D.2 - Formatting information in writing direction is "CENTER"


Figure D.3 - Formatting information in writing direction is "JUSTIFICATION"


    
            

FIgure D.4 - Position in writing direction is specified


D.2 Kendot

The following figures illustrate some typical rendered images of Kendot objects.


       

Figure D.5 - Formatting information in writing direction is "HEAD"




Figure D.6 - Formatting information in writing direction is "CENTER"


D.3 Return Mark and Added Characters

The following figures illustrate some typical rendered images of Return Mark objects and Added Characters.


Figure D.7 - Rendered images of Return Marks


Figure D.8 - Rendered images of Added Characters