Proposal of generic interlinear object model

1999.1.21
Yasuhiro Okui
NIHON UNITEC CO., Ltd.

1. What is generic interlinear object model?

The word "interlinear" means "something between lines" or "something inserted between lines". It includes ruby, ken-dot, added kana (characters which represent the remaining of the pronunciation of Kanji), and return mark (a mark which indicates the reading order of Chinese ancient documents when Japanese are reading them) in Japanese documents.

Regarding properties of each interlinear object, we (CICC Font WG) made a presentation in MLIT (Multilingual Information Technology) meeting held in Hanoi, Vietnum in October 1998. We also brought the document to ISO SC34 meeting held in Chicago in November 1998 and they decided to go forward on this as a subdivision of the font project.

This time, we are proposing a generic model for interlinear object so that you can adopt it for its broad use in Asian countries other than Japan as well as Japan.

2. Specification items for recognition of interlinear object

You can associate multiple interlinear objects with the same character(s).

This document doesn't provide any particular way to specify these items above. For example, you may use customized SGML/XML tags to do that.

3. Properties

3.1 Type of interlinear object

Value:
name

Font size

Value:
size

Absolute or relative to font size of character(s) with which the interlinear object is associated.

3.2 Typeface

Value:
typeface name

3.3 Position in writing direction

Value:
size

Absolute or relative to font size of character(s) with which the interlinear object is associated.

This value is the offset between the tail edge in the virtual box of the first character with which interlinear object is associated and the tail edge in the virtual box of the first character of interlinear object.

3.4 Formatting information in writing direction

Value:
"HEAD"b"CENTER"b"TAIL"b"JUSTIFICATION"

When this property is specified, the property for position in writing direction will be ignored even if there is one.

3.5 Position in line progression direction

Value:
size

Absolute or relative 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.

4. Enhanced BNF for generic interlinear object

IL-property ::= IL-name, IL-value-property-list
IL-name ::= STRUCTURED-NAME
IL-value-property-list ::= (IL-type-property|IL-font-size-property|
IL-formatting-type-property|IL-typeface-property|
IL-writing-direction-alignment-property|
IL-line-progression-direction-offset-property)+

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

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

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

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

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

5. Expamples of the use of generic interlinear object model

5.1 Ruby

Property for type of interlinear object

Value:
"Ruby"

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

Property for font size

Value:
size

Property for typeface

Value:
typeface name

Property for position in writing direction

Value:
size

Property for formatting information in writing direction

Value:
"HEAD"b"CENTER"b"JUSTIFICATION"

Property for position in line progression direction

Value:
size

5.2 Ken-dot

Property for type of interlinear object

Value:
"Ken-dot"

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

Property for font size

Value:
size

Property for typeface

Value:
typeface name

Property for formatting information in writing direction

Value:
"HEAD"b"CENTER"

Property for position in line progression direction

Value:
size

5.3 Return Mark

Property for type of interlinear object

Value:
"Return-Mark"

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

Property for font size

Value:
size

Property for typeface

Value:
name

Property for position in writing direction

Value:
size

Property for position in line progression direction

Value:
size

5.4 Added Kana

Property for type of interlinear object

Value:
"Return-Mark"

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

Property for font size

Value:
size

Property for typeface

Value:
name

Property for position in writing direction

Value:
size

Property for position in line progression direction

Value:
size