TOP | BACK | FORW

Appendix 1: PDAM3 to ISO/IEC 9541-1


ISO/IEC JTC 1/SC34 N0071

ISO/IEC JTC 1/SC34

Information Technology --
Document Description and Processing Languages

-- Simplified presentation version --

TITLE: PDAM3 to ISO/IEC 9541-1: Multilingual extensions to font resource architecture
SOURCE: SC34/WG2
PROJECT EDITOR: Y. Komachi
ACTION: For ballot
DATE: 1999-04-19

Introduction

ISO/IEC 9541-1 and its amendment 2 specify Ruby and Ken-dot. Although these specifications helps users and application developers implement their rendering system which can support the processing for these two specific objects, those specifications are insufficient for the support for other objects which is positioned between lines or characters (which are called interlinear/intercharacter objects).

This amendment specifies additional generalized properties for the interlinear/intercharacter object for multilingual use. By using those objects, it becomes possible to describe any objects which are positioned between lines or characters. Actual objects are derived from those generalized objects as shown in Annex C.

Clause 3

Add the following definitions:

3.31 interlinear object: Objects between lines or objects inserted between lines.

3.32 intercharacter object: Objects between characters in the writing direction.

3.33 parent object: Object with which the interlinear/intercharacter object is associated. This term is used when referring to relation between interlinear/intercharacter object and the object with which that interlinear/intercharacter object is associated.

3.34 child object: Interlinear/intercharacter object. This term is used when referring to relation between interlinear/intercharacter object and the object with which that interlinear/intercharacter object is associated.

Clause 8

Add the following properties:

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 a interlinear/intercharacter object.

Note that these are primitive properties to locate interlinear/intercharacter object. There may be some GUI or convention for specification which can produce these 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-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 issues for recognizing interlinear/intercharacter object:

This amendment doesn't provide any particular scheme to specify those strings. For example, customized SGML/XML tags may be used for the specification.

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

-- -- Senmantics of the properties -- --

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

NOTE 4 ILC-font-size-property (font size) specifies an absolute or relative value to font size of character(s) of the parent object with which the interlinear/intercharacter object is associated.

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

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

NOTE 7 ILC-writing-direction-offset-property (offset in writing direction) specifies an absolute or relative value to font size of character(s) with which the interlinear object is associated.

This value is the offset between the positioning point of child object and parent object. The writing direction is the one of the parent object, not the one of child object. That means this value is measured from the viewpoint of 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, the property for position in writing direction will be ignored even if there is one.

NOTE 9 ILC-line-progression-direction-offset-property (offset in line progression direction) specifies an absolute or relative value to font size of character(s) with which the interlinear object is associated.

This value is the offset between the baseline of character(s) with which interlinear object is associated and the baseline of interlinear object. The line progression direction is the one of the parent object, not the one of child object. That means this value is measured from the viewpoint of parent object's coordinate system.

Figure1. Concept of offsets - Writing direction of the parent object is left-to-right, rotation is 0 degree

Figure2. Concept of offsets - Writing direction of the parent object is left-to-right, rotation is 270 degree

Figure3. Concept of offsets - Writing direction of the parent object is top-to-bottom, rotation is 0 degree

Annexes

Add the following annexes:

Annex C. Examples of the use of generic interlinear object model (Informative)

Properties for interlinear/intercharacter objects are selected to represent particular objects. The following are the examples to show you which properties are selected and used to particular objects. In some cases, specific values are assigned to a property. In other cases, values are restricted to some values.

C.1 Ruby

ILC-type-value: "Ruby"

The name "Ruby" is just an example in this document. You can use any name.

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 Generalized Ken-dot

ILC-type-value: "Generalized-Ken-dot"

The name "Ken-dot" is just an example in this document. You can use any name.

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 in this document. You can use any name.

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 in this document. You can use any name.

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. Samples of Formatting Pattern of interlinear/intercharacter objects (Informative)

D.1 Ruby

The followings are samples of formatting pattern of interlinear/intercharacter objects.

Figure 4. Formatting information in writing direction is "HEAD"

FIgure 5. Formatting information in writing direction is "CENTER"

Figure 6. Formatting information in writing direction is "JUSTIFICATION"

FIgure 7. Position in writing direction is specified

D.2 Generalized Ken-dot

Formatting type in writing direction is "HEAD"

{short description of image} {short description of image}

Figure 8. Formatting information in writing direction is "CENTER"

D.3 Return Mark & Added Characters

{short description of image}

{short description of image} {short description of image}

Figure 9. Pattern of return mark

{short description of image}

{short description of image}

Figure 10. Pattern of added characters


TOP | BACK | FORW