File: StackMachineCommands.rtf

package info (click to toggle)
grcompiler 5.2.1-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 24,076 kB
  • sloc: cpp: 48,200; ansic: 7,669; sh: 4,427; makefile: 198; xml: 190; perl: 127; sed: 21
file content (212 lines) | stat: -rw-r--r-- 38,150 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
{\rtf1\ansi\ansicpg1252\uc1 \deff0\deflang1033\deflangfe1033{\fonttbl{\f0\froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f1\fswiss\fcharset0\fprq2{\*\panose 020b0604020202020204}Arial;}
{\f2\fmodern\fcharset0\fprq1{\*\panose 02070309020205020404}Courier New;}{\f28\froman\fcharset238\fprq2 Times New Roman CE;}{\f29\froman\fcharset204\fprq2 Times New Roman Cyr;}{\f31\froman\fcharset161\fprq2 Times New Roman Greek;}
{\f32\froman\fcharset162\fprq2 Times New Roman Tur;}{\f33\froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f34\froman\fcharset178\fprq2 Times New Roman (Arabic);}{\f35\froman\fcharset186\fprq2 Times New Roman Baltic;}
{\f36\fswiss\fcharset238\fprq2 Arial CE;}{\f37\fswiss\fcharset204\fprq2 Arial Cyr;}{\f39\fswiss\fcharset161\fprq2 Arial Greek;}{\f40\fswiss\fcharset162\fprq2 Arial Tur;}{\f41\fswiss\fcharset177\fprq2 Arial (Hebrew);}
{\f42\fswiss\fcharset178\fprq2 Arial (Arabic);}{\f43\fswiss\fcharset186\fprq2 Arial Baltic;}{\f44\fmodern\fcharset238\fprq1 Courier New CE;}{\f45\fmodern\fcharset204\fprq1 Courier New Cyr;}{\f47\fmodern\fcharset161\fprq1 Courier New Greek;}
{\f48\fmodern\fcharset162\fprq1 Courier New Tur;}{\f49\fmodern\fcharset177\fprq1 Courier New (Hebrew);}{\f50\fmodern\fcharset178\fprq1 Courier New (Arabic);}{\f51\fmodern\fcharset186\fprq1 Courier New Baltic;}}{\colortbl;\red0\green0\blue0;
\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;
\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;}{\stylesheet{\ql \li0\ri0\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \snext0 Normal;}{
\s1\ql \fi-432\li432\ri0\sb360\keepn\widctlpar\tx432\nooverflow\faroman\ls1\outlinelevel0\rin0\lin432\itap0 \b\f1\fs28\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext0 heading 1;}{\s2\ql \fi-576\li576\ri0\sb240\keepn\widctlpar
\tx576\nooverflow\faroman\ls1\ilvl1\outlinelevel1\rin0\lin576\itap0 \b\f1\fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext21 heading 2;}{\s3\ql \fi-720\li720\ri0\sb120\widctlpar
\tx720\nooverflow\faroman\ls1\ilvl2\outlinelevel2\rin0\lin720\itap0 \fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext3 heading 3;}{\s4\ql \fi-864\li864\ri0\sb120\widctlpar
\tx864\nooverflow\faroman\ls1\ilvl3\outlinelevel3\rin0\lin864\itap0 \fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext4 heading 4;}{\s5\ql \fi-1008\li1008\ri0\sb120\widctlpar
\tx990\nooverflow\faroman\ls1\ilvl4\outlinelevel4\rin0\lin1008\itap0 \fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext0 heading 5;}{\s6\ql \li0\ri0\sb240\sa60\widctlpar\nooverflow\faroman\rin0\lin0\itap0 
\i\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext0 heading 6;}{\s7\ql \li0\ri0\sb240\sa60\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \f1\fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext0 heading 7;}{
\s8\ql \li0\ri0\sb240\sa60\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \i\f1\fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext0 heading 8;}{\s9\ql \li0\ri0\sb240\sa60\widctlpar\nooverflow\faroman\rin0\lin0\itap0 
\b\i\f1\fs18\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext0 heading 9;}{\*\cs10 \additive Default Paragraph Font;}{\s15\ql \fi720\li0\ri0\widctlpar\nooverflow\faroman\rin0\lin0\itap0 
\f2\fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext15 Body Text 2;}{\s16\ql \li0\ri0\sb240\sa360\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \b\f1\fs32\lang1033\langfe1033\kerning28\cgrid\langnp1033\langfenp1033 
\sbasedon0 \snext16 Title;}{\s17\ql \li0\ri0\sa60\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \i\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext17 Subtitle;}{\s18\ql \li0\ri0\sa120\widctlpar\nooverflow\faroman\rin0\lin0\itap0 
\fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext18 Body Text;}{\s19\ql \fi210\li0\ri0\sa120\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon18 \snext19 
Body Text First Indent;}{\s20\ql \fi-200\li200\ri0\widctlpar\nooverflow\faroman\rin0\lin200\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext0 index 1;}{
\s21\ql \fi720\li0\ri0\sb120\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon18 \snext21 Paragraph;}{\s22\ql \li0\ri0\sb120\widctlpar\nooverflow\faroman\rin0\lin0\itap0 
\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon21 \snext21 ParaContd;}{\s23\ql \li360\ri0\widctlpar\nooverflow\faroman\rin0\lin360\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext23 Body Text Indent 2;}{
\s24\ql \li432\ri0\widctlpar\tx864\tx1728\tx2592\tx3456\tx4320\tx5184\nooverflow\faroman\rin0\lin432\itap0 \f2\fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon21 \snext24 CCode;}{
\s25\ql \li720\ri0\sb120\widctlpar\nooverflow\faroman\rin0\lin720\itap0 \fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon21 \snext25 ParaIndent;}{\s26\ql \li0\ri0\widctlpar\tqc\tx4320\tqr\tx8640\nooverflow\faroman\rin0\lin0\itap0 
\fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext26 header;}{\s27\ql \li0\ri0\widctlpar\tqc\tx4320\tqr\tx8640\nooverflow\faroman\rin0\lin0\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext27 footer;}{
\s28\ql \li0\ri0\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \f2\fs18\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \snext28 HTML Body;}{\s29\ql \li0\ri0\sb120\widctlpar\nooverflow\faroman\rin0\lin0\itap0 
\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon21 \snext21 ParaLabeled;}{\s30\ql \li1440\ri0\sb120\widctlpar\nooverflow\faroman\rin0\lin1440\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon21 \snext30 Comment;}{
\s31\ql \fi-360\li360\ri0\widctlpar\tx360{\*\pn \pnlvlbody\ilvl11\ls2047\pnrnot0\pndec }\nooverflow\faroman\ls2047\ilvl11\rin0\lin360\itap0 \fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext31 List Bullet;}{
\s32\ql \li0\ri0\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext32 Style1;}{\s33\ql \fi-720\li720\ri0\widctlpar\tx720\nooverflow\faroman\rin0\lin720\itap0 
\fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext33 VersionNumber;}{\s34\ql \li0\ri0\sb300\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \b\f1\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext34 Command;}}
{\*\listtable{\list\listtemplateid-1940496826{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelold\levelspace120\levelindent432{\leveltext\'01\'00;}{\levelnumbers\'01;}\b\chbrdr\brdrnone\brdrcf1 
\chshdng0\chcfpat1\chcbpat1 \s1\fi-432\li432 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelold\levelspace120\levelindent576{\leveltext\'03\'00.\'01;}{\levelnumbers\'01\'03;}\chbrdr\brdrnone\brdrcf1 
\chshdng0\chcfpat1\chcbpat1 \s2\fi-576\li576 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelold\levelspace120\levelindent720{\leveltext\'05\'00.\'01.\'02;}{\levelnumbers\'01\'03\'05;}\b\chbrdr\brdrnone\brdrcf1 
\chshdng0\chcfpat1\chcbpat1 \s3\fi-720\li720 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelold\levelspace120\levelindent864{\leveltext\'07\'00.\'01.\'02.\'03;}{\levelnumbers\'01\'03\'05\'07;}\b\chbrdr
\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1 \s4\fi-864\li864 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelold\levelspace120\levelindent1008{\leveltext\'09\'00.\'01.\'02.\'03.\'04;}{\levelnumbers
\'01\'03\'05\'07\'09;}\b\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1 \s5\fi-1008\li1008 }{\listlevel\levelnfc255\levelnfcn255\leveljc0\leveljcn0\levelfollow0\levelstartat0\levelspace0\levelindent0{\leveltext\'00;}{\levelnumbers;}\chbrdr
\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1 }{\listlevel\levelnfc255\levelnfcn255\leveljc0\leveljcn0\levelfollow0\levelstartat0\levelspace0\levelindent0{\leveltext\'00;}{\levelnumbers;}\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1 }{\listlevel
\levelnfc255\levelnfcn255\leveljc0\leveljcn0\levelfollow0\levelstartat0\levelspace0\levelindent0{\leveltext\'00;}{\levelnumbers;}\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1 }{\listlevel\levelnfc255\levelnfcn255\leveljc0\leveljcn0\levelfollow0
\levelstartat0\levelspace0\levelindent0{\leveltext\'00;}{\levelnumbers;}\chbrdr\brdrnone\brdrcf1 \chshdng0\chcfpat1\chcbpat1 }{\listname ;}\listid-5}}{\*\listoverridetable{\listoverride\listid-5\listoverridecount0\ls1}}{\info
{\title Stack Machine Commands}{\author Sharon Correll}{\operator Sharon Correll}{\creatim\yr2003\mo4\dy28\hr16\min29}{\revtim\yr2003\mo4\dy28\hr16\min29}{\printim\yr1999\mo5\dy18\hr13\min32}{\version2}{\edmins0}{\nofpages2}{\nofwords1260}{\nofchars7182}
{\*\company Summer Institute of Linguistics}{\nofcharsws8820}{\vern8247}}\widowctrl\ftnbj\aenddoc\noxlattoyen\expshrtn\noultrlspc\dntblnsbdb\nospaceforul\lytprtmet\hyphcaps0\formshade\horzdoc\dghspace120\dgvspace120\dghorigin1701\dgvorigin1984\dghshow1
\dgvshow0\jexpand\viewkind1\viewscale100\pgbrdrhead\pgbrdrfoot\bdrrlswsix\nolnhtadjtbl\oldas \fet0\sectd \linex0\endnhere\sectdefaultcl {\footer \pard\plain \s27\ql \li0\ri0\widctlpar\tqc\tx4320\tqr\tx8640\nooverflow\faroman\rin0\lin0\itap0 
\fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\field{\*\fldinst {\b  TITLE  \\* MERGEFORMAT }}{\fldrslt {\b Stack Machine Commands}}}{, Page }{\field{\*\fldinst { PAGE  \\* MERGEFORMAT }}{\fldrslt {\lang1024\langfe1024\noproof 1}}}{ of }
{\field{\*\fldinst { NUMPAGES  \\* MERGEFORMAT }}{\fldrslt {\lang1024\langfe1024\noproof 1}}}{
\par }\pard \s27\ql \li0\ri0\widctlpar\tqc\tx4320\tqr\tx8640\nooverflow\faroman\rin0\lin0\itap0 {\field{\*\fldinst {\fs18  AUTHOR  \\* MERGEFORMAT }}{\fldrslt {\fs18\lang1024\langfe1024\noproof Sharon Correll}}}{\fs18 , }{\field{\*\fldinst {\fs18  DATE \\
@ "dd-MMM-yyyy" \\* MERGEFORMAT }}{\fldrslt {\fs18\lang1024\langfe1024\noproof 28-Apr-2003}}}{\fs18 
\par }}{\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang{\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang{\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang{\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang{\pntxta )}}
{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl8
\pnlcltr\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}\pard\plain \s16\ql \li0\ri0\sb240\sa360\widctlpar\nooverflow\faroman\rin0\lin0\itap0 
\b\f1\fs32\lang1033\langfe1033\kerning28\cgrid\langnp1033\langfenp1033 {\field\flddirty{\*\fldinst { TITLE  \\* MERGEFORMAT }}{\fldrslt {Stack Machine Commands}}}{
\par }\pard\plain \s17\ql \li0\ri0\sa60\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \i\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\field\flddirty{\*\fldinst { AUTHOR  \\* MERGEFORMAT }}{\fldrslt {\lang1024\langfe1024\noproof Sharon Correll}}}{

\par Last modified: 20 October 2000
\par }\pard \s17\ql \li0\ri0\sa1200\widctlpar\nooverflow\faroman\rin0\lin0\itap0 {Copyright \'a9 1999 by SIL International
\par }\pard\plain \s21\ql \fi720\li0\ri0\sb120\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {This document describes the commands that are defined in Graphite\rquote s stack machine, which are use
d to run rules and test their constraints.
\par }\pard \s21\ql \fi720\li0\ri0\sb120\widctlpar\nooverflow\faroman\rin0\lin0\itap0 {All arguments are 8-bit values. Angle brackets (<arg>) indicate a signed value, curly braces (\{arg\}) indicate an unsigned value.
\par {\listtext\pard\plain\s1 \b\f1\fs28 \hich\af1\dbch\af0\loch\f1 1\tab}}\pard\plain \s1\ql \fi-432\li432\ri0\sb360\keepn\widctlpar\tx432\nooverflow\faroman\ls1\outlinelevel0\rin0\lin432\itap0 \b\f1\fs28\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {
General arithmetic operations
\par }\pard\plain \s34\ql \li0\ri0\sb300\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \b\f1\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {NOP
\par }\pard\plain \s21\ql \fi720\li0\ri0\sb120\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {Do nothing.
\par }\pard\plain \s34\ql \li0\ri0\sb300\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \b\f1\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {PushByte <byte>
\par }\pard\plain \s21\ql \fi720\li0\ri0\sb120\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {Push the given 8-bit signed number onto the stack.
\par }\pard\plain \s34\ql \li0\ri0\sb300\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \b\f1\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {PushByteU \{byte\}
\par }\pard\plain \s21\ql \fi720\li0\ri0\sb120\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {Push the given 8-bit unsigned number onto the stack.
\par }\pard\plain \s34\ql \li0\ri0\sb300\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \b\f1\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {PushShort <byte1> \{byte2\}
\par }\pard\plain \s21\ql \fi720\li0\ri0\sb120\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {
Treat the two arguments as a 16-bit signed number, with byte1 as the most significant. Push the number onto the stack.
\par }\pard\plain \s34\ql \li0\ri0\sb300\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \b\f1\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {PushShortU <byte1> \{byte2\}
\par }\pard\plain \s21\ql \fi720\li0\ri0\sb120\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {
Treat the two arguments as a 16-bit unsigned number, with byte1 as the most significant. Push the number onto the stack.
\par }\pard\plain \s34\ql \li0\ri0\sb300\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \b\f1\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {PushLong <byte1> \{byte2\} \{byte3\} \{byte4\}
\par }\pard\plain \s21\ql \fi720\li0\ri0\sb120\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {
Treat the four arguments as a 32-bit number, with byte1 as the most significant. Push the number onto the stack.
\par }\pard\plain \s34\ql \li0\ri0\sb300\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \b\f1\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {Add
\par }\pard\plain \s21\ql \fi720\li0\ri0\sb120\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {Pop the top two items off the stack, add them, and push the result.
\par }\pard\plain \s34\ql \li0\ri0\sb300\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \b\f1\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {Sub
\par }\pard\plain \s21\ql \fi720\li0\ri0\sb120\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {Pop the top two items off the stack, subtract the first (top-most) from the second, and push the result.
\par }\pard\plain \s34\ql \li0\ri0\sb300\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \b\f1\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {Mul
\par }\pard\plain \s21\ql \fi720\li0\ri0\sb120\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {Pop the top two items off the stack, multiply them, and push the result.
\par }\pard\plain \s34\ql \li0\ri0\sb300\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \b\f1\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {Div
\par }\pard\plain \s21\ql \fi720\li0\ri0\sb120\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {Pop the top two items off the stack, divide the second by the first (top-most), and push the result.
\par }\pard\plain \s34\ql \li0\ri0\sb300\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \b\f1\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {Min
\par }\pard\plain \s21\ql \fi720\li0\ri0\sb120\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {Pop the top two items off the stack and push the minimum.
\par }\pard\plain \s34\ql \li0\ri0\sb300\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \b\f1\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {Max
\par }\pard\plain \s21\ql \fi720\li0\ri0\sb120\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {Pop the top two items off the stack and push the maximum.
\par }\pard\plain \s34\ql \li0\ri0\sb300\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \b\f1\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {Neg
\par }\pard\plain \s21\ql \fi720\li0\ri0\sb120\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {Pop the top item off the stack and push the negation.
\par }\pard\plain \s34\ql \li0\ri0\sb300\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \b\f1\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {Trunc8
\par }\pard\plain \s21\ql \fi720\li0\ri0\sb120\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {Pop the top item off the stack and push the value truncated to 8 bits.
\par }\pard\plain \s34\ql \li0\ri0\sb300\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \b\f1\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {Trunc16
\par }\pard\plain \s21\ql \fi720\li0\ri0\sb120\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {Pop the top item off the stack and push the value truncated to 16 bits.
\par }\pard\plain \s34\ql \li0\ri0\sb300\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \b\f1\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {Cond
\par }\pard\plain \s21\ql \fi720\li0\ri0\sb120\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {Pop the top three items of
f the stack. If the first == 0 (false), push the third back on, otherwise push the second back on.
\par }\pard\plain \s34\ql \li0\ri0\sb300\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \b\f1\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {And
\par }\pard\plain \s21\ql \fi720\li0\ri0\sb120\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {Pop the top two items off the stack and push their logical }{\i and}{
. Zero is treated as false; all other values are treated as true.
\par }\pard\plain \s34\ql \li0\ri0\sb300\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \b\f1\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {Or
\par }\pard\plain \s21\ql \fi720\li0\ri0\sb120\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {Pop the top two items off the stack and push their logical }{\i or}{
. Zero is treated as false; all other values are treated as true.
\par }\pard\plain \s34\ql \li0\ri0\sb300\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \b\f1\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {Not
\par }\pard\plain \s21\ql \fi720\li0\ri0\sb120\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {Pop the top item off the stack and push its logical negation (1 if it equals zero, 0 otherwise.
\par }\pard\plain \s34\ql \li0\ri0\sb300\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \b\f1\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {Equal
\par }\pard\plain \s21\ql \fi720\li0\ri0\sb120\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {Pop the top two items off the stack and push 1 if they are equal, 0 if not.
\par }\pard\plain \s34\ql \li0\ri0\sb300\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \b\f1\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {NotEq
\par }\pard\plain \s21\ql \fi720\li0\ri0\sb120\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {Pop the top two items off the stack and push 0 if they are equal, 1 if not.
\par }\pard\plain \s34\ql \li0\ri0\sb300\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \b\f1\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {Less
\par }\pard\plain \s21\ql \fi720\li0\ri0\sb120\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {
Pop the top two items off the stack and push 1 if the next-to-the-top is less than the top-most; push 0 othewise.
\par }\pard\plain \s34\ql \li0\ri0\sb300\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \b\f1\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {Gtr
\par }\pard\plain \s21\ql \fi720\li0\ri0\sb120\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {
Pop the top two items off the stack and push 1 if the next-to-the-top is greater than the top-most; push 0 othewise.
\par }\pard\plain \s34\ql \li0\ri0\sb300\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \b\f1\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {LessEq
\par }\pard\plain \s21\ql \fi720\li0\ri0\sb120\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {
Pop the top two items off the stack and push 1 if the next-to-the-top is less than or equal to the top-most; push 0 otherwise.
\par }\pard\plain \s34\ql \li0\ri0\sb300\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \b\f1\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {GtrEq
\par }\pard\plain \s21\ql \fi720\li0\ri0\sb120\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {Pop the top two ite
ms off the stack and push 1 if the next-to-the-top is greater than or equal to the top-most; push 0 otherwise
\par {\listtext\pard\plain\s1 \b\f1\fs28 \hich\af1\dbch\af0\loch\f1 2\tab}}\pard\plain \s1\ql \fi-432\li432\ri0\sb360\keepn\widctlpar\tx432\nooverflow\faroman\ls1\outlinelevel0\rin0\lin432\itap0 \b\f1\fs28\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {
Rule processing and constraints
\par }\pard\plain \s34\ql \li0\ri0\sb300\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \b\f1\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {Next
\par }\pard\plain \s21\ql \fi720\li0\ri0\sb120\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {Move the current slot pointer forward one slot (used after we have finished processing that slot).
\par }\pard\plain \s34\ql \li0\ri0\sb300\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \b\f1\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {CopyNext
\par }\pard\plain \s21\ql \fi720\li0\ri0\sb120\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {Copy the current slot from the input to the output and move the current slot pointer forward one slot.
\par }\pard\plain \s34\ql \li0\ri0\sb300\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \b\f1\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {PutGlyph \{output-class\}
\par }\pard\plain \s21\ql \fi720\li0\ri0\sb120\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {
Put the first glyph of the specified class into the output. Normally used when there is only one member of the class, and when inserting.
\par }\pard\plain \s34\ql \li0\ri0\sb300\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \b\f1\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {PutSubs <slot-offset> \{input-class\} \{output-class\}
\par }\pard\plain \s21\ql \fi720\li0\ri0\sb120\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {
Determine the index of the glyph that was the input in the given slot within the input class, and place the corresponding glyph from the output class in the current slot. The slot number is relative to the current input position.
\par }\pard\plain \s34\ql \li0\ri0\sb300\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \b\f1\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {PutCopy <slot-offset>
\par }\pard\plain \s21\ql \fi720\li0\ri0\sb120\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {
Copy the glyph that was in the input in the given slot into the current output slot. The slot number is relative to the current input position.
\par }\pard\plain \s34\ql \li0\ri0\sb300\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \b\f1\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {Insert
\par }\pard\plain \s21\ql \fi720\li0\ri0\sb120\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {Insert a new slot before the current slot and make the new slot the current one.
\par }\pard\plain \s34\ql \li0\ri0\sb300\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \b\f1\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {Delete
\par }\pard\plain \s21\ql \fi720\li0\ri0\sb120\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {Delete the current item in the input stream.
\par }\pard\plain \s34\ql \li0\ri0\sb300\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \b\f1\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {Assoc \{cnt\} <slot-1> .. <slot-cnt>
\par }\pard\plain \s21\ql \fi720\li0\ri0\sb120\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {
Set the associations for the current slot to be the given slot(s) in the input. The first argument indicates how many slots follow. The slot offsets are relative to the current input slot.
\par }\pard\plain \s34\ql \li0\ri0\sb300\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \b\f1\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {ContextItem <slot-offset> \{byte-cnt\}
\par }\pard\plain \s21\ql \fi720\li0\ri0\sb120\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {
If the slot currently being tested is not the slot specified by the <slot-offset> argument (relative to the stream position, the first modified item in the rule), skip 
the given number of bytes of stack-machine code. These bytes represent a test that is irrelevant for this slot.
\par }\pard\plain \s34\ql \li0\ri0\sb300\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \b\f1\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {AttrSet \{slot-attr\}
\par }\pard\plain \s21\ql \fi720\li0\ri0\sb120\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {Pop the stack and set the value of the given attribute to the resulting numerical value.
\par }\pard\plain \s34\ql \li0\ri0\sb300\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \b\f1\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {AttrAdd \{slot-attr\}
\par }\pard\plain \s21\ql \fi720\li0\ri0\sb120\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {Pop the stack and adjust the value of the given attribute by adding the popped value.
\par }\pard\plain \s34\ql \li0\ri0\sb300\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \b\f1\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {AttrSub \{slot-attr\}
\par }\pard\plain \s21\ql \fi720\li0\ri0\sb120\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {Pop the stack and adjust the value of the given attribute by subtracting the popped value.
\par }\pard\plain \s34\ql \li0\ri0\sb300\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \b\f1\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {AttrSetSlot \{slot-attr\}
\par }\pard\plain \s21\ql \fi720\li0\ri0\sb120\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {Pop the stack and set the given attribute to the v
alue, which is a reference to another slot, making an adjustment for the stream position. The value is relative to the current stream position. [Note that corresponding add and subtract operations are not needed since it never makes sense to add slot refe
rences.]
\par }\pard\plain \s34\ql \li0\ri0\sb300\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \b\f1\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {IAttrSet \{slot-attr\} \{index\}
\par }\pard\plain \s21\ql \fi720\li0\ri0\sb120\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {
Pop the stack and set the value of the given indexed attribute to the resulting numerical value. Not to be used for attributes whose value is a slot reference. [Currently the only non-slot-reference indexed slot attributes are }{\i userX}{.]
\par Not supported in version 1.0 of the font tables.
\par }\pard\plain \s34\ql \li0\ri0\sb300\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \b\f1\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {IAttrAdd \{slot-attr\} \{index\}
\par }\pard\plain \s21\ql \fi720\li0\ri0\sb120\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {
Pop the stack and adjust the value of the given indexed slot attribute by adding the popped value. Not to be used for attributes whose value is a slot reference. [Currently the only non-slot-reference indexed slot attributes are }{\i userX}{.]
\par }\pard \s21\ql \fi720\li0\ri0\sb120\widctlpar\nooverflow\faroman\rin0\lin0\itap0 {Not supported in version 1.0 of the font tables.
\par }\pard\plain \s34\ql \li0\ri0\sb300\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \b\f1\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {IAttrSub \{slot-attr\} \{index\}
\par }\pard\plain \s21\ql \fi720\li0\ri0\sb120\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {Pop the stack and adjust the value of the given indexed slot attribute by subtracting the popped value.
 Not to be used for attributes whose value is a slot reference. [Currently the only non-slot-reference indexed slot attributes are }{\i userX}{.]
\par Not supported in version 1.0 of the font tables.
\par }\pard\plain \s34\ql \li0\ri0\sb300\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \b\f1\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {IAttrSetSlot \{slot-attr\} \{index\}
\par }\pard\plain \s21\ql \fi720\li0\ri0\sb120\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {
Pop the stack and set the given indexed attribute of the current slot to the value, which is a reference to another slot, making an adjustment for the stream position. The value is relative to the current stream position. [Currently the only indexed slot 
attributes are }{\i component.X.ref}{.]
\par }\pard\plain \s34\ql \li0\ri0\sb300\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \b\f1\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {PushSlotAttr \{slot-attr\} <slot-offset>
\par }\pard\plain \s21\ql \fi720\li0\ri0\sb120\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {
Look up the value of the given slot attribute of the given slot and push the result on the stack. The slot offset is relative to the current input position.
\par }\pard\plain \s34\ql \li0\ri0\sb300\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \b\f1\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {PushISlotAttr \{slot-attr\} <slot-offset> <index>
\par }\pard\plain \s21\ql \fi720\li0\ri0\sb120\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {Push the value of the indexed slot attribute onto the stack. [The current indexed slot attributes are }{\i 
component.X.ref}{ and }{\i userX}{.]
\par }\pard\plain \s34\ql \li0\ri0\sb300\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \b\f1\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {PushGlyphAttr \{glyph-attr\} <slot-offset>
\par }\pard\plain \s21\ql \fi720\li0\ri0\sb120\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {Look up the value of the given glyph attribute of the given slot and push the result on the stack. T
he slot offset is relative to the current input position.
\par }\pard\plain \s34\ql \li0\ri0\sb300\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \b\f1\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {PushGlyphMetric \{glyph-metric\} <slot-offset> <level>
\par }\pard\plain \s21\ql \fi720\li0\ri0\sb120\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {
Look up the value of the given glyph metric of the given slot and push the result on the stack. The slot offset is relative to the current input position. The level indicates the attachment level for cluster metrics.
\par }\pard\plain \s34\ql \li0\ri0\sb300\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \b\f1\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {PushFeat \{feat\}
\par }\pard\plain \s21\ql \fi720\li0\ri0\sb120\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {Push the value of the given feature for the current slot onto the stack.
\par }\pard\plain \s34\ql \li0\ri0\sb300\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \b\f1\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {PushAttToGlyphAttr \{glyph-attr\} <slot-offset>
\par }\pard\plain \s21\ql \fi720\li0\ri0\sb120\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {Look up the value of the given glyph attribute for the slot indicated by the given slot\rquote s }{\i attach.to
}{ attribute. Push the result on the stack.
\par }\pard\plain \s34\ql \li0\ri0\sb300\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \b\f1\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {PushAttToGlyphMetric \{glyph-metric\} <slot-offset> <level>
\par }\pard\plain \s21\ql \fi720\li0\ri0\sb120\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {Look up the value of the given glyph metric for the slot indicated by the given slot\rquote s }{\i attach.to}{
 attribute. Push the result on the stack.
\par }\pard\plain \s34\ql \li0\ri0\sb300\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \b\f1\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {PopRet
\par }\pard\plain \s21\ql \fi720\li0\ri0\sb120\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {
No more processing is needed for this rule. Pop the top of the stack and return that value. For rule action code, the return value is the number of positions to move the stream position forward (or backward, if the nu
mber is negative) for the next rule. For constraint code, the return value is a boolean indicating whether the constraint succeeded.
\par }\pard\plain \s34\ql \li0\ri0\sb300\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \b\f1\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {RetZero
\par }\pard\plain \s21\ql \fi720\li0\ri0\sb120\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {Terminate the processing and return zero.
\par }\pard\plain \s34\ql \li0\ri0\sb300\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \b\f1\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {RetTrue
\par }\pard\plain \s21\ql \fi720\li0\ri0\sb120\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {Terminate the processing and return true (1).
\par {\listtext\pard\plain\s1 \b\f1\fs28 \hich\af1\dbch\af0\loch\f1 3\tab}}\pard\plain \s1\ql \fi-432\li432\ri0\sb360\keepn\widctlpar\tx432\nooverflow\faroman\ls1\outlinelevel0\rin0\lin432\itap0 \b\f1\fs28\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {
Not yet implemented
\par }\pard\plain \s34\ql \li0\ri0\sb300\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \b\f1\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {NextN <count>
\par }\pard\plain \s21\ql \fi720\li0\ri0\sb120\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {
Move the current slot pointer by the given number of slots (used after we have finished processing the current slot). The count may be positive or negative. Should not be used to copy a range of slots; CopyNext is needed for that. 
\par }\pard\plain \s34\ql \li0\ri0\sb300\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \b\f1\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {PushIGlyphAttr \{glyph-attr\} <slot-offset> <index>
\par }\pard\plain \s21\ql \fi720\li0\ri0\sb120\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {Push the value of the indexed glyph attribute onto the stack. [Examples of indexed glyph attributes are }{\i 
component.X.box.top, component.X.box.bottom,}{ etc.]
\par {\listtext\pard\plain\s1 \b\f1 \hich\af1\dbch\af0\loch\f1 4\tab}}\pard\plain \s1\ql \fi-432\li432\ri0\sb360\sa120\keepn\widctlpar\tx432\nooverflow\faroman\ls1\outlinelevel0\rin0\lin432\itap0 \b\f1\fs28\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {
\fs24 File Name
\par }\pard\plain \s22\ql \li0\ri0\widctlpar\nooverflow\faroman\rin0\lin0\itap0 \fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\field{\*\fldinst { FILENAME  \\* MERGEFORMAT }}{\fldrslt {\lang1024\langfe1024\noproof Stack Machine Commands.doc}}}{

\par }}