version 1.42, 2002/01/21 08:45:48
|
version 1.43, 2002/01/23 12:22:56
|
Line 16
|
Line 16
|
|
|
<h4>Translated from French by Ethan Munson</h4> |
<h4>Translated from French by Ethan Munson</h4> |
|
|
<h4>Version of January 14, 2002</h4> |
<h4>Version of January 23, 2002</h4> |
|
|
<p>© 1996-2002 INRIA</p> |
<p>© 1996-2002 INRIA</p> |
<hr /> |
<hr /> |
Line 3012 A semi-colon terminates each declaration
|
Line 3012 A semi-colon terminates each declaration
|
<p>In the case of a character string, the keyword <tt>Text</tt> can be |
<p>In the case of a character string, the keyword <tt>Text</tt> can be |
followed by the name of an script (for example, <tt>Greek</tt> or |
followed by the name of an script (for example, <tt>Greek</tt> or |
<tt>Latin</tt>) in which the constant's text should be expressed. If the |
<tt>Latin</tt>) in which the constant's text should be expressed. If the |
script name is absent, the Latin script is used. When the script name |
script name is absent, the Latin script is used. When the script name is |
is present, only the first letter of the script name is interpreted. Thus, |
present, only the first letter of the script name is interpreted. Thus, the |
the words <tt>Greek</tt> and <tt>Grec</tt> designate the same script. In |
words <tt>Greek</tt> and <tt>Grec</tt> designate the same script. In current |
current versions of Thot, only the Greek and Latin scripts are |
versions of Thot, only the Greek and Latin scripts are available.</p> |
available.</p> |
|
<pre> 'CONST' ConstSeq |
<pre> 'CONST' ConstSeq |
ConstSeq = Const < Const > . |
ConstSeq = Const < Const > . |
Const = ConstID '=' ConstType ConstValue ';' . |
Const = ConstID '=' ConstType ConstValue ';' . |
Line 3233 following rules are considered to be the
|
Line 3232 following rules are considered to be the
|
Adjust: Enclosing =; |
Adjust: Enclosing =; |
Hyphenate: Enclosing =; |
Hyphenate: Enclosing =; |
Direction: Enclosing =; |
Direction: Enclosing =; |
|
UnicodeBidi: Enclosing =; |
PageBreak: Yes; |
PageBreak: Yes; |
LineBreak: Yes; |
LineBreak: Yes; |
InLine: Yes; |
InLine: Yes; |
Line 4041 rules are terminated by a semicolon.</p>
|
Line 4041 rules are terminated by a semicolon.</p>
|
'Adjust' ':' AdjustInherit / |
'Adjust' ':' AdjustInherit / |
'Hyphenate' ':' BoolInherit / |
'Hyphenate' ':' BoolInherit / |
'Direction' ':' DirInherit / |
'Direction' ':' DirInherit / |
|
'UnicodeBidi' ':' BidiInherit / |
'PageBreak' ':' Boolean / |
'PageBreak' ':' Boolean / |
'LineBreak' ':' Boolean / |
'LineBreak' ':' Boolean / |
'InLine' ':' Boolean / |
'InLine' ':' Boolean / |
Line 4732 of the attribute is used.</p>
|
Line 4733 of the attribute is used.</p>
|
minimum = NUMBER .</pre> |
minimum = NUMBER .</pre> |
|
|
<p>The properties which can be obtained by inheritance are hyphenation, |
<p>The properties which can be obtained by inheritance are hyphenation, |
writing direction, interline spacing, character font (font family), font |
writing direction, Unicode-bidi, interline spacing, character font (font |
style, font size, visibility, indentation, underlining, alignment of text, |
family), font style, font size, visibility, indentation, underlining, |
stacking order of objects, the style and thickness of lines, fill pattern and |
alignment of text, stacking order of objects, the style and thickness of |
the colors of lines and characters.</p> |
lines, fill pattern and the colors of lines and characters.</p> |
</div> |
</div> |
|
|
<div class="subsection"> |
<div class="subsection"> |
Line 4765 boxes will be placed according to the li
|
Line 4766 boxes will be placed according to the li
|
|
|
<p>The <tt>Line</tt> rule does not have a parameter. The characteristics of |
<p>The <tt>Line</tt> rule does not have a parameter. The characteristics of |
the lines that will be constructed are determined by the |
the lines that will be constructed are determined by the |
<tt>LineSpacing</tt>, <tt>Indent</tt>, <tt>Adjust</tt>, <tt>Hyphenate</tt> |
<tt>LineSpacing</tt>, <tt>Indent</tt>, <tt>Adjust</tt>, <tt>Hyphenate</tt>, |
and <code>Direction</code> rules. Moreover, the <a |
<code>Direction</code> and <code>UnicodeBidi</code> rules. Moreover, the <a |
href="#insectd42226"><tt>Inline</tt> rule</a> permits the exclusion of |
href="#insectd42226"><tt>Inline</tt> rule</a> permits the exclusion of |
certain elements from the line breaking process.</p> |
certain elements from the line breaking process.</p> |
|
|
Line 4877 followed by an equals sign.</p>
|
Line 4878 followed by an equals sign.</p>
|
|
|
<p>The <tt>Direction</tt> rule indicates the directionality of text: from |
<p>The <tt>Direction</tt> rule indicates the directionality of text: from |
left to right, as for latin scripts, or from right to left, as for the Arabic |
left to right, as for latin scripts, or from right to left, as for the Arabic |
or Hebrew scripts.</p> |
or Hebrew scripts. This is used by the Unicode bidirectional algorithm.</p> |
|
|
<p>The writing direction property takes either a constant value |
<p>The writing direction property takes either a constant value |
(<code>ltr</code> for left to right, or <code>rtl</code> for right to left) |
(<code>ltr</code> for left to right, or <code>rtl</code> for right to left) |
Line 4888 sign.</p>
|
Line 4889 sign.</p>
|
DirInherit = 'ltr' / 'rtl' / Kinship '=' .</pre> |
DirInherit = 'ltr' / 'rtl' / Kinship '=' .</pre> |
</div> |
</div> |
|
|
<p></p> |
<p>The <code>UnicodeBidi</code> rule is the equivalent of the CSS2 |
|
<code>unicode-bidi</code> property. It takes the same values and acts in the |
|
same way.</p> |
|
<pre> 'Direction' ':' BidiInherit |
|
BidiInherit = 'Normal' / 'Embed' / 'Override' / Kinship '=' .</pre> |
|
|
<div class="subsubsection"> |
<div class="subsubsection"> |
<h4><a name="sectd42226" id="sectd42226">Avoiding line breaking</a></h4> |
<h4><a name="sectd42226" id="sectd42226">Avoiding line breaking</a></h4> |
Line 6548 keyword.</p>
|
Line 6553 keyword.</p>
|
<h4><a name="sectd5284" id="sectd5284">Conditions on the scripts</a></h4> |
<h4><a name="sectd5284" id="sectd5284">Conditions on the scripts</a></h4> |
|
|
<p>The character string base type (and only this type) can use the condition |
<p>The character string base type (and only this type) can use the condition |
<tt>Script = a</tt> which indicates that the translation rule(s) should |
<tt>Script = a</tt> which indicates that the translation rule(s) should only |
only apply if the script of the character string is the one whose name |
apply if the script of the character string is the one whose name appears |
appears after the equals sign (or is not, if there is a preceding |
after the equals sign (or is not, if there is a preceding <tt>NOT</tt> |
<tt>NOT</tt> keyword). This condition cannot be applied to translation rules |
keyword). This condition cannot be applied to translation rules of an |
of an attribute.</p> |
attribute.</p> |
|
|
<p>In the current implementation of Thot, the available scripts are the |
<p>In the current implementation of Thot, the available scripts are the |
<tt>Latin</tt> script and the <tt>Greek</tt> script.</p> |
<tt>Latin</tt> script and the <tt>Greek</tt> script.</p> |
Line 6673 rules:</p>
|
Line 6678 rules:</p>
|
<li>those taking numeric values (<tt>Size, Indent, LineSpacing, |
<li>those taking numeric values (<tt>Size, Indent, LineSpacing, |
LineWeight</tt>),</li> |
LineWeight</tt>),</li> |
<li>those with values taken from a predefined list (<tt>Adjust, Hyphenate, |
<li>those with values taken from a predefined list (<tt>Adjust, Hyphenate, |
Direction, Style, Weight, Font, UnderLine, Thickness, |
Direction, UnicodeBidi, Style, Weight, Font, UnderLine, Thickness, |
LineStyle</tt>),</li> |
LineStyle</tt>),</li> |
<li>those whose value is a name (<tt>FillPattern, Background, |
<li>those whose value is a name (<tt>FillPattern, Background, |
Foreground</tt>).</li> |
Foreground</tt>).</li> |
</ul> |
</ul> |
Line 7512 for which the translation rule block sho
|
Line 7517 for which the translation rule block sho
|
<li>rules taking numeric values: <tt>Size</tt>, <tt>Indent</tt>, |
<li>rules taking numeric values: <tt>Size</tt>, <tt>Indent</tt>, |
<tt>LineSpacing</tt>, <tt>LineWeight</tt>,</li> |
<tt>LineSpacing</tt>, <tt>LineWeight</tt>,</li> |
<li>rules whose values are taken from a predefined list (i.e. whose type is |
<li>rules whose values are taken from a predefined list (i.e. whose type is |
an enumeration): <tt>Adjust</tt>, <tt>Hyphenate,Direction, |
an enumeration): <tt>Adjust</tt>, <tt>Hyphenate,Direction, UnicodeBidi, |
<tt>Style</tt>, <tt>Weight</tt>, <tt>Font</tt>, <tt>UnderLine</tt>, |
<tt>Style</tt>, <tt>Weight</tt>, <tt>Font</tt>, <tt>UnderLine</tt>, |
<tt>Thickness</tt>, <tt>LineStyle</tt>,</tt></li> |
<tt>Thickness</tt>, <tt>LineStyle</tt>,</tt></li> |
<li>rules whose value is a name: <tt>FillPattern</tt>, <tt>Background</tt>, |
<li>rules whose value is a name: <tt>FillPattern</tt>, <tt>Background</tt>, |
Line 7632 recode these terminal elements of the do
|
Line 7637 recode these terminal elements of the do
|
of a translation schema are intended for this purpose, each specifying the |
of a translation schema are intended for this purpose, each specifying the |
recoding rules for one type of terminal element.</p> |
recoding rules for one type of terminal element.</p> |
|
|
<p>The recoding rules for character strings are grouped by scripts. There |
<p>The recoding rules for character strings are grouped by scripts. There is |
is a group of rules for each script of the Thot document that must be |
a group of rules for each script of the Thot document that must be |
translated. Each such group of rules begins with the <tt>TEXTTRANSLATE</tt> |
translated. Each such group of rules begins with the <tt>TEXTTRANSLATE</tt> |
keyword, followed by the specification of the script to translate and the |
keyword, followed by the specification of the script to translate and the |
recoding rules, between the <tt>BEGIN</tt> and <tt>END</tt> keywords unless |
recoding rules, between the <tt>BEGIN</tt> and <tt>END</tt> keywords unless |
there is only one recoding rule for the script. The specification of the |
there is only one recoding rule for the script. The specification of the |
script is not required: by default it is assumed to the Latin script (the |
script is not required: by default it is assumed to the Latin script (the ISO |
ISO Latin-1 character set).</p> |
Latin-1 character set).</p> |
|
|
<p>Each recoding rule is formed by a source string between apostrophes and a |
<p>Each recoding rule is formed by a source string between apostrophes and a |
target string, also between apostrophes, the two strings being separated by |
target string, also between apostrophes, the two strings being separated by |
Line 7668 by the compiler as is the maximum length
|
Line 7673 by the compiler as is the maximum length
|
<p>The recoding rules for symbols and graphical elements are written in the |
<p>The recoding rules for symbols and graphical elements are written in the |
same manner as the recoding rules for character strings. They are preceded, |
same manner as the recoding rules for character strings. They are preceded, |
respectively, by the <tt>SYMBTRANSLATE</tt> and <tt>GRAPHTRANSLATE</tt> and |
respectively, by the <tt>SYMBTRANSLATE</tt> and <tt>GRAPHTRANSLATE</tt> and |
so not require a specification of the script. Their source string is |
so not require a specification of the script. Their source string is limited |
limited to one character, since, in Thot, each symbol and each graphical |
to one character, since, in Thot, each symbol and each graphical element is |
element is represented by a single character. The symbol and graphical |
represented by a single character. The symbol and graphical element codes are |
element codes are defined along with the <a href="#sect7">non-standard |
defined along with the <a href="#sect7">non-standard character codes</a>.</p> |
character codes</a>.</p> |
|
|
|
<blockquote class="example"> |
<blockquote class="example"> |
<p><strong>Example:</strong></p> |
<p><strong>Example:</strong></p> |
Line 8020 Property = 'VertRef' ':' HorizPos
|
Line 8024 Property = 'VertRef' ':' HorizPos
|
'Adjust' ':' AlignOrInherit / |
'Adjust' ':' AlignOrInherit / |
'Hyphenate' ':' BoolInherit / |
'Hyphenate' ':' BoolInherit / |
'Direction' ':' DirInherit / |
'Direction' ':' DirInherit / |
|
'UnicodeBidi' ':' BidiInherit / |
'PageBreak' ':' Boolean / |
'PageBreak' ':' Boolean / |
'LineBreak' ':' Boolean / |
'LineBreak' ':' Boolean / |
'InLine' ':' Boolean / |
'InLine' ':' Boolean / |
Line 8127 Alignment = 'Left' / 'Right' / 'VM
|
Line 8132 Alignment = 'Left' / 'Right' / 'VM
|
'LeftWithDots' . |
'LeftWithDots' . |
|
|
DirInherit = 'ltr' / 'rtl' / Kinship '=' . |
DirInherit = 'ltr' / 'rtl' / Kinship '=' . |
|
BidiInherit = 'Normal' / 'Embed' / 'Override' / Kinship '=' . |
|
|
DistOrInherit = Kinship InheritedDist / Distance . |
DistOrInherit = Kinship InheritedDist / Distance . |
InheritedDist = '=' / '+' AbsDist / '-' AbsDist . |
InheritedDist = '=' / '+' AbsDist / '-' AbsDist . |
Line 8417 Target = STRING .</pre>
|
Line 8423 Target = STRING .</pre>
|
<div class="section"> |
<div class="section"> |
<h2><a name="sectb71" id="sectb71">Characters</a></h2> |
<h2><a name="sectb71" id="sectb71">Characters</a></h2> |
|
|
<p>The characters of the Latin script follow the encoding defined in the |
<p>The characters of the Latin script follow the encoding defined in the ISO |
ISO 8859-1 (ISO Latin-1) standard. The characters of the Greek script |
8859-1 (ISO Latin-1) standard. The characters of the Greek script follow the |
follow the encoding defined by Adobe for its Symbol font (Adobe |
encoding defined by Adobe for its Symbol font (Adobe FontSpecific).</p> |
FontSpecific).</p> |
|
|
|
<p>Characters whose octal code is greater than 0200 are written in the form |
<p>Characters whose octal code is greater than 0200 are written in the form |
of their octal code preceded by a backslash character (``\''). For example, |
of their octal code preceded by a backslash character (``\''). For example, |