Radical Pie Equation Editor
DOCUMENTATION

File Format Specification

This page describes the technical specification for the Radical Pie native file format. This information is provided for developers, and it is not necessary to know how any of this works in order to use Radical Pie.

The native file format used by Radical Pie is a text format that uses the syntax defined by the Open Data Description Language (OpenDDL). Equation data is written in this form to files with the .pie extension. The same text is embedded in the SVG, PDF, and EMF formats when they are saved by Radical Pie.

A Radical Pie equation is stored in the five sections shown in the following table, and they must occur in the order listed. Only the main equation group is required, and each of the other sections may be omitted in the case that they are empty.

Design Structures

Drawing Structures
for Background Layer

Main Equation Group

Annotation Equation Groups

Drawing Structures
for Foreground Layer

The following table lists every type of structure that can appear in the .pie format. As indicated in the table, all of the structure types belong to one of four categories: equation structures, drawing structures, modifier structures, and a special connector structure.

Structure Category Type
Al Equation Aligner structure.
Ar Equation Arrow structure.
Bg Equation Begin structure.
Br Equation Bracket structure.
Bx Equation Box structure.
Cn Drawing Corner structure.
D Design Design structure.
Dv Equation Division structure.
El Drawing Ellipse structure.
En Modifier Enclose structure.
F Design Font structure.
Fr Equation Fraction structure.
Gr Equation Group structure.
In Equation Integral structure.
It Equation Iteration structure.
Jo Drawing Joist structure.
Kt Equation Strike structure.
Ln Drawing Line structure.
M Design Map structure.
Mk Modifier Mark structure.
Mx Equation Matrix structure.
Ng Modifier Negate structure.
P Design Palette structure.
Ph Equation Phantom structure.
Pr Equation Prime structure.
Rd Equation Radical structure.
Rr Drawing Rounded rectangle structure.
Rt Drawing Rectangle structure.
Sb Equation Symbol structure.
Sc Equation Script structure.
Sl Modifier Slash structure.
Sp Equation Space structure.
St Equation Stack structure.
V Design Value structure.
Wm Equation Widemark structure.
X Connector Connector structure.
Zg Drawing Zigzag structure.

General Equation Structure Properties

The following properties are available for all structures in the equation category that generate visible graphics.

Property Type Default Description
pi int32 0 The palette index used by the structure. This must be in the range 0–15.
co uint32 0xFF000000 The color of the structure as an ABGR value. The alpha component should always be 0xFF.

General Drawing Structure Properties

The following properties are available for all structures in the drawing category.

Property Type Default Description
f bool The fill flag.
s bool The stroke flag.
w uint8 0 The stroke width index. This must be in the range 0–4.
d uint8 0 The stroke dash index. This must be in the range 0–3.
fpi int32 0 The fill palette index used by the structure. This must be in the range 0–15.
fco uint32 0xFF000000 The fill color of the structure as an ABGR value. The alpha component should always be 0xFF.
spi int32 0 The stroke palette index used by the structure. This must be in the range 0–15.
sco uint32 0xFF000000 The stroke color of the structure as an ABGR value. The alpha component should always be 0xFF.

Al — Aligner Structure

The Al structure represents an aligner.

Properties

The properties listed in the following table may be specified for an Al structure.

Property Type Default Description
al uint32 'left' The alignment of the expression preceding the aligner. This must be 'left', 'rght', or 'cent'.

Ar — Arrow Structure

The Ar structure represents a big arrow.

Substructures

The following structures compose the data stored inside an Ar structure.

Substructure Min Max Description
Gr 0 2 An arrow structure may contain the following subgroups.
  • A group of type 'uppr' containing the upper label.
  • A group of type 'lowr' containing the lower label.
uint32 2 4 Arrays containing information about the arrows and the charms attached to them.

The first array of uint32 values contains the types of the arrows from top to bottom. The number of entries determines how many arrows are drawn, and there must be one, two, or three entries. Each arrow type can be one of the following values.

Value Description
'long' A full-length arrow.
'left' A short arrow aligned left.
'rght' A short arrow aligned right.
'cent' A short arrow aligned center.

An additional array of uint32 values follows the arrow type array for each of the one to three arrows specified. Each of these arrays contains information about the charms belonging to the corresponding arrow. The values stored in these arrays are a mixture of charm types and alignment specifiers that are processed in order. When the array is interpreted by Radical Pie, the initial alignment is right, but values of 'left', 'rght', and 'cent' occurring in the array change the current alignment. Each charm type occurring in the array causes a new charm of that type to be added to the arrow at the position corresponding to the current alignment. Up to three charms can be specified for each of the left, right, and center alignments. The charms placed at the left and center alignments stack from left to right, and the charms placed at the right alignment stack from right to left.

The charm type can be one of the following values. Each type of charm is valid only for the positions on an arrow indicated by a bullet in the Left, Right, and Interior columns. The left position corresponds to the leftmost charm on the left end of an arrow, and the right position corresponds to the rightmost charm on the right end of an arrow. All other positions, including those belonging to the left and right ends of an arrow but not at the farthest extremes, are considered interior positions.

Value Left Right Interior Description
'larw' Arrow pointing left.
'rarw' Arrow pointing right.
'labr' Arrow pointing left to bar.
'rabr' Arrow pointing right to bar.
'luhp' Upward harpoon pointing left.
'ruhp' Upward harpoon pointing right.
'ldhp' Downward harpoon pointing left.
'rdhp' Downward harpoon pointing right.
'luhb' Upward harpoon pointing left to bar.
'ruhb' Upward harpoon pointing right to bar.
'ldhb' Downward harpoon pointing left to bar.
'rdhb' Downward harpoon pointing right to bar.
'barr' Bar.
'line' Line.
'dbln' Double line.
'slsh' Slash.
'dbsl' Double slash.
'back' Backslash.
'dbbk' Double backslash.
'exxx' X.
'circ' Open circle.
'sdcr' Solid circle.
'squa' Open square.
'sdsq' Solid square.
'diam' Open diamond.
'sddm' Solid diamond.
'ltri' Open left-pointing triangle.
'sdlt' Solid left-pointing triangle.
'rtri' Open right-pointing triangle.
'sdrt' Solid right-pointing triangle.
'luhk' Left upward hook.
'ldhk' Left downward hook.
'ruhk' Right upward hook.
'rdhk' Right downward hook.
'lfsh' Left fishtail.
'rfsh' Right fishtail.
'lulp' Left upward loop.
'ldlp' Left downward loop.
'rulp' Right upward looploop.
'rdlp' Right downward loop.

Bg — Begin Structure

The Bg structure specifies the beginning of a line within a group.

Properties

The properties listed in the following table may be specified for a Bg structure.

Property Type Default Description
lg float −1.0 The line gap preceding the begin structure, in math units. If this is negative, then the line gap defined by the equation design is used.

Br — Bracket Structure

The Br structure represents a bracket.

Properties

The properties listed in the following table may be specified for a Br structure.

Property Type Default Description
as bool false The asymmetric flag.
ca bool false The center axis flag.

Substructures

The following structures compose the data stored inside a Br structure.

Substructure Min Max Description
Gr 1 9 A bracket structure must contain at least one subgroup. For a multi-component bracket, groups should be listed in order from left to right. All groups should have the default group type.
uint32 1 1 An array of two or three Unicode character values for the left, right, and center parts of the bracket in that order. The center character should be omitted for single-component brackets. A value of zero specified for either the left or right character means the corresponding part of the bracket is not drawn.

Bx — Box Structure

The Bx structure represents a box.

Properties

The properties listed in the following table may be specified for a Bx structure.

Property Type Default Description
t uint32 'full' The type of box. This must be one of the values listed below.

The box type can be one of the following values.

Value Description
'full' A full four-sided box.
'lwlf' A box with bottom and left sides only.
'lwrt' A box with bottom and right sides only.
'uplf' A box with top and left sides only.
'uprt' A box with top and right sides only.

Substructures

The following structures compose the data stored inside a Bx structure.

Substructure Min Max Description
Gr 1 1 A box structure must contain a subgroup of the default type.

Cn — Corner Structure

The Cn structure represents a corner drawing object.

Properties

The properties listed in the following table may be specified for a Cn structure.

Property Type Default Description
v bool false The vertical flag.

Substructures

The following structures compose the data stored inside a Cn structure.

Substructure Min Max Description
X 1 1 Each drawing structure must contain a connector structure.

D — Design Structure

The D structure contains a design specification.

Substructures

The following structures compose the data stored inside a D structure.

Substructure Min Max Description
V 0 A value structure containing a design parameter.
F 0 15 A font structure containing a font specification.
M 0 21 A map structure containing a style mapping.
P 0 1 A palette structure containing a palette specification.

Dv — Division Structure

The Dv structure represents a long division.

Substructures

The following structures compose the data stored inside a Dv structure.

Substructure Min Max Description
Gr 1 2 A division structure may contain the following subgroups.
  • A group of the default type containing the dividend. This subgroup is required.
  • A group of type 'quot' containing the quotient.

El — Ellipse Structure

The El structure represents an ellipse drawing object.

Substructures

The following structures compose the data stored inside an El structure.

Substructure Min Max Description
X 1 1 Each drawing structure must contain a connector structure.

En — Enclose Structure

The En structure represents an enclosure applied to a single symbol.

Properties

The properties listed in the following table may be specified for an En structure.

Property Type Default Description
t uint32 'circ' The type of enclosure. This must be 'circ', 'squa', or 'rdsq'.

F — Font Structure

The F structure specifies a font in a design.

Properties

The properties listed in the following table may be specified for an F structure.

Property Type Default Description
i int32 0 The font index. This must be in the range 0–15.

Fr — Fraction Structure

The Fr structure represents a fraction.

Properties

The properties listed in the following table may be specified for an Fr structure.

Property Type Default Description
t uint32 'vert' The type of fraction. This must be 'vert', 'horz', or 'diag'.
sm bool false The small layout flag. This can be true only if the fraction type is 'vert' or 'diag'.
at bool false The atop flag. This can be true only if the fraction type is 'vert'.

Substructures

The following structures compose the data stored inside an Fr structure.

Substructure Min Max Description
Gr 2 2 A fraction structure must contain both of the following subgroups.
  • A group of type 'numr' containing the numerator.
  • A group of type 'dnom' containing the denominator.

Gr — Group Structure

The Gr structure specifies a group within an equation.

Properties

The properties listed in the following table may be specified for a Gr structure.

Property Type Default Description
t uint32 0 The group type.
al uint32 0 The group horizontal alignment.
ba uint32 'last' The group baseline alignment.
as float 1.0 The adjustment scale. This must be greater than 0.0.
ax float 0.0 The adjustment x offset (nudge), in math units.
ay float 0.0 The adjustment y offset (nudge), in math units.

The group type can be one of the following values.

Value Description
0 Main group. This type is used for the main equation as well as the primary subgroup for various mathematical structures.
'anno' Annotation group. This type is used only for top-level groups containing annotation equations.
'subs' Subscript group. This type applies only to a subgroup of the script structure.
'sups' Superscript group. This type applies only to a subgroup of the script structure.
'numr' Numerator group. This type applies only to a subgroup of the fraction structure.
'dnom' Denominator group. This type applies only to a subgroup of the fraction structure.
'degr' Degree group. This type applies only to a subgroup of the radical structure.
'quot' Quotient group. This type applies only to a subgroup of the division structure.
'mdfr' Modifier group. This type applies only to a subgroup of the iteration structure.
'lowr' Lower limit group. This type applies to subgroups of the iteration structure, integral structure, stack structure, and arrow structure.
'uppr' Upper limit group. This type applies to subgroups of the iteration structure, integral structure, stack structure, and arrow structure.
'labl' Label group. This type applies only to a subgroup of the widemark structure.

Substructures

The following structures compose the data stored inside a Gr structure.

Substructure Min Max Description
Equation 0 Groups may contain any number of structures in the equation category.
Bg 1 The first substructure of every group must be a begin structure.
X 0 1 An annotation group must contain a connector structure.

In — Integral Structure

The In structure represents an integral.

Properties

The properties listed in the following table may be specified for an In structure.

Property Type Default Description
sm bool false The small layout flag.
il bool false The inline limits flag.
kg bool false The keep glyph flag.
gr bool false The grow integral flag.

Substructures

The following structures compose the data stored inside an In structure.

Substructure Min Max Description
Gr 1 3 An integral structure may contain the following subgroups.
  • A group of the default type containing the integrand. This subgroup is required.
  • A group of type 'lowr' containing the lower limit.
  • A group of type 'uppr' containing the upper limit.
uint32 0 1 The Unicode value of the integral character. If this is omitted, then the default value of 0x222B is used.

It — Iteration Structure

The It structure represents an iteration.

Properties

The properties listed in the following table may be specified for an It structure.

Property Type Default Description
sm bool false The small layout flag.
il bool false The inline limits flag.

Substructures

The following structures compose the data stored inside an It structure.

Substructure Min Max Description
Gr 1 4 An iteration structure may contain the following subgroups.
  • A group of the default type containing the iterand. This subgroup is required.
  • A group of type 'lowr' containing the lower limit.
  • A group of type 'uppr' containing the upper limit.
  • A group of type 'mdfr' containing the modifier.
uint32 0 1 The Unicode value of the iteration character. If this is omitted, then the default value of 0x2211 is used.

Jo — Joist Structure

The Jo structure represents a joist drawing object.

Properties

The properties listed in the following table may be specified for a Jo structure.

Property Type Default Description
t uint32 'brac' The joist type. This must be one of the values listed below.
os uint32 0 The start offset type for the line. This must be one of the values listed for the Line structure.
of uint32 0 The finish offset type for the line. This must be one of the values listed for the Line structure.

The joist type can be one of the following values.

Value Description
'brac' A brace.
'brck' A square bracket.
'shel' A tortoise shell bracket.

Substructures

The following structures compose the data stored inside a Jo structure.

Substructure Min Max Description
X 1 1 Each drawing structure must contain a connector structure.

Kt — Strike Structure

The Kt structure represents a strike.

Properties

The properties listed in the following table may be specified for a Kt structure.

Property Type Default Description
t uint32 'horz' The type of strike. This must be one of the values listed below.

The strike type can be one of the following values.

Value Description
'horz' A horizontal strike.
'lwup' A diagonal strike from the lower left to the upper right.
'uplw' A diagonal strike from the upper left to the lower right.
'exxx' Two diagonal strikes forming an X.

Substructures

The following structures compose the data stored inside a Kt structure.

Substructure Min Max Description
Gr 1 1 A strike structure must contain a subgroup of the default type.

Ln — Line Structure

The Ln structure represents a line drawing object.

Properties

The properties listed in the following table may be specified for an Ln structure.

Property Type Default Description
es uint32 0 The start endpoint type for the line. This must be one of the values listed below.
ef uint32 0 The finish endpoint type for the line. This must be one of the values listed below.
os uint32 0 The start offset type for the line. This must be one of the values listed below.
of uint32 0 The finish offset type for the line. This must be one of the values listed below.

Each endpoint type can be one of the following values.

Value Description
0 No endpoint.
'sdcr' A solid circle.
'sdsq' A solid square.
'wedg' A wedge.
'arr1' An arrow of type 1.
'arr2' An arrow of type 2.

Each offset type can be one of the following values.

Value Description
0 No offset. The line ends exactly at the anchor.
'long' A long offset. This overshoots the anchor.
'shrt' A short offset. This undershoots the anchor.

Substructures

The following structures compose the data stored inside a Ln structure.

Substructure Min Max Description
X 1 1 Each drawing structure must contain a connector structure.

M — Map Structure

The M structure specifies a style mapping in a design.

Properties

The properties listed in the following table may be specified for an M structure.

Property Type Default Description
t uint32 The style type. This must be one of the style values listed for the symbol structure.

Mk — Mark Structure

The Mk structure represents a mark applied to a single symbol.

Properties

The properties listed in the following table may be specified for an Mk structure.

Property Type Default Description
un bool false The under flag.

Substructures

The following structures compose the data stored inside an Mk structure.

Substructure Min Max Description
uint32 1 1 The Unicode value of the mark character.

Mx — Matrix Structure

The Mx structure represents a matrix.

Properties

The properties listed in the following table may be specified for an Mx structure.

Property Type Default Description
r int32 The number of rows in the matrix. This must be in the range 1–32. The number of rows and number of columns cannot both be 1.
c int32 The number of columns in the matrix. This must be in the range 1–32. The number of rows and number of columns cannot both be 1.
al uint32 'cent' The default entry alignment. This must be 'cent', 'left', or 'rght'.
mb bool false The middle baseline flag.
eh bool false The equal row heights flag.
ew bool false The equal column widths flag.
rg bool false The outer row gap flag.
cg bool false The outer column gap flag.

Substructures

The following structures compose the data stored inside an Mx structure.

Substructure Min Max Description
Gr 2 1024 There must be one subgroup with the default type for each matrix entry. Entries are listed in column-major order.

Ng — Negate Structure

The Ng structure represents a negation applied to a single symbol.

Properties

The properties listed in the following table may be specified for an Ng structure.

Property Type Default Description
t uint32 'frwd' The type of negation. This must be 'frwd', 'bkwd', or 'vert'.

P — Palette Structure

The P structure specifies a color palette in a design.

Ph — Phantom Structure

The Ph structure represents a phantom.

Properties

The properties listed in the following table may be specified for a Ph structure.

Property Type Default Description
t uint32 'vert' The type of phantom. This must be one of the values listed below.

The phantom type can be one of the following values.

Value Description
'vert' A phantom with vertical extent but no horizontal extent.
'horz' A phantom with horizontal extent but no vertical extent.
'full' A phantom with both horizontal and vertical extent.
'hzov' A phantom with horizontal extent but no vertical extent. Structures that follow the phantom overlap the same horizontal space.
'flov' A phantom with both horizontal and vertical extent. Structures that follow the phantom overlap the same horizontal space.

Pr — Prime Structure

The Pr structure represents a prime mark applied to the preceding structure.

Properties

The properties listed in the following table may be specified for a Pr structure.

Property Type Default Description
nb bool false The disable bold flag.

Substructures

The following structures compose the data stored inside an Pr structure.

Substructure Min Max Description
uint32 0 1 The Unicode value of the prime character. If this is omitted, then the default value of 0x2032 is used.

Rd — Radical Structure

The Rd structure represents a radical.

Properties

The properties listed in the following table may be specified for an Rd structure.

Property Type Default Description
ns bool false The disable slant kerning flag.

Substructures

The following structures compose the data stored inside an Rd structure.

Substructure Min Max Description
Gr 1 2 A radical structure may contain the following subgroups.
  • A group of the default type containing the radicand. This subgroup is required.
  • A group of type 'degr' containing the degree.

Rr — Rounded Rectangle Structure

The Rr structure represents a rounded rectangle drawing object.

Properties

The properties listed in the following table may be specified for an Rr structure.

Property Type Default Description
r uint8 0 The radius index. This must be in the range 0–2.

Substructures

The following structures compose the data stored inside an Rr structure.

Substructure Min Max Description
X 1 1 Each drawing structure must contain a connector structure.

Rt — Rectangle Structure

The Rt structure represents a rectangle drawing object.

Substructures

The following structures compose the data stored inside an Rr structure.

Substructure Min Max Description
X 1 1 Each drawing structure must contain a connector structure.

Sb — Symbol Structure

The Sb structure represents a general symbol in a mathematical expression.

Properties

The properties listed in the following table may be specified for an Sb structure.

Property Type Default Description
ro uint32 'math' The role of the symbol. This must be one of the values listed below.
st uint32 0 The style of the symbol. If this value is 0, then the style is set to the default for the role. Otherwise, this must be one of the values listed below.
ns bool false The disable mark slant flag.
nb bool false The disable mark bold flag.

The role can be one of the following values.

Role Value Description
'math' A mathematical symbol such as a variable or symbol that does not fall under any other role.
'chem' A chemical element.
'text' General text.
'func' A standard function name such as cos or log.
'unit' Physical units.
'nmbr' A literal number.
'oper' A binary operator.
'rltn' A binary relation.
'arrw' An arrow.
'unry' A unary operator.
'pnct' Punctuation.
'elps' An ellipsis.

The style can be one of the following values. The default style is 'uprt' for all roles except 'math', 'oper', and 'rltn'. The default role for the 'math' role is 'ital', and the default style for the 'oper' and 'rltn' roles is 'sym1'.

Style Value Description
'uprt' Upright.
'ital' Italic.
'bold' Bold.
'bitl' Bold italic.
'grek' Greek upright.
'itgk' Greek italic.
'bdgk' Greek bold.
'bigk' Greek bold italic.
'scpt' Script.
'bdsc' Bold script.
'frkt' Fraktur.
'bdfk' Bold fraktur.
'doub' Double-struck.
'sans' Sans-serif upright.
'itsn' Sans-serif italic.
'dbsn' Sans-serif bold.
'bisn' Sans-serif bold italic.
'sym1' Symbol 1.
'sym2' Symbol 2.
'nary' Iteration symbol.
'gral' Integral symbol.

Substructures

The following structures compose the data stored inside an Sb structure.

Substructure Min Max Description
string 1 1 The text characters belonging to the symbol. This must not be the empty string.
Mk 0 Mark structures are substructures of the symbol to which they are applied.
Ng 0 Negate structures are substructures of the symbol to which they are applied.
Sl 0 Slash structures are substructures of the symbol to which they are applied.
En 0 1 Enclose structures are substructures of the symbol to which they are applied.

Sc — Script Structure

The Sc structure represents a subscript, superscript, or combination of both.

Properties

The properties listed in the following table may be specified for an Sc structure.

Property Type Default Description
pr bool false The preceding script flag.
ow bool false The outward alignment flag.
ns bool false The disable slant kerning flag.

Substructures

The following structures compose the data stored inside an Sc structure.

Substructure Min Max Description
Gr 1 2 A script structure must contain one or both of the following subgroups.
  • A group of type 'subs' containing the subscript.
  • A group of type 'sups' containing the superscript.

Sl — Slash Structure

The Sl structure represents a slash applied to a single symbol.

Properties

The properties listed in the following table may be specified for an Sl structure.

Property Type Default Description
t uint32 'frwd' The type of slash. This must be 'frwd' or 'bkwd'.

Sp — Space Structure

The Sp structure represents a mathematical space.

Properties

The properties listed in the following table may be specified for an Sp structure.

Property Type Default Description
s float 0.0 The space width, in math units. This must be a nonnegative value.
t bool false The tabular space flag.

St — Stack Structure

The St structure represents a stack.

Properties

The properties listed in the following table may be specified for an St structure.

Property Type Default Description
sm bool false The small layout flag.

Substructures

The following structures compose the data stored inside an St structure.

Substructure Min Max Description
Gr 1 3 A stack structure may contain the following subgroups.
  • A group of the default type containing the main expression. This subgroup is required.
  • A group of type 'lowr' containing the lower limit.
  • A group of type 'uppr' containing the upper limit.

V — Value Structure

The V structure specifies a value in a design.

Properties

The properties listed in the following table may be specified for a V structure.

Property Type Default Description
d uint32 0 The domain for the value. This must be one of the values listed below.
n uint32 The name of the value. This must specify a value that exists in the domain.

The domain type can be one of the following values.

Value Description
0 Common settings.
'symb' Symbol settings.
'mark' Mark settings.
'brck' Bracket settings.
'scpt' Script settings.
'frac' Fraction settings.
'rdcl' Radical settings.
'divs' Division settings.
'wide' Widemark settings.
'stck' Stack settings.
'boxx' Box settings.
'strk' Strike settings.
'arrw' Arrow settings.
'chrm' Charm settings.
'iter' Iteration settings.
'intg' Integral settings.
'mtrx' Matrix settings.
'line' Line settings.
'jost' Joist settings.
'shap' Shape settings.
'anno' Annotation settings.

Wm — Widemark Structure

The Wm structure represents a wide mark.

Properties

The properties listed in the following table may be specified for a Wm structure.

Property Type Default Description
t uint32 'line' The type of widemark. This must be one of the values listed below.
un bool false The under flag.
sm bool false The small layout flag.

The widemark type can be one of the following values.

Value Description
'line' Horizontal line.
'dlin' Double horizontal line.
'what' Hat.
'chck' Check.
'smil' Smile.
'frwn' Frown.
'tild' Tilde.
'brck' Bracket.
'brac' Brace.
'shel' Tortoise shell.
'larw' Arrow pointing left.
'rarw' Arrow pointing right.
'barw' Arrow pointing both left and right.
'luhp' Upward harpoon pointing left.
'ruhp' Upward harpoon pointing right.
'buhp' Upward harpoon pointing both left and right.
'ldhp' Downward harpoon pointing left.
'rdhp' Downward harpoon pointing right.
'bdhp' Downward harpoon pointing both left and right.

Substructures

The following structures compose the data stored inside a Wm structure.

Substructure Min Max Description
Gr 1 2 A widemark structure may contain the following subgroups.
  • A group of the default type containing the main expression. This subgroup is required.
  • A group of type 'labl' containing the label.

X — Connector Structure

The X structure connects a node to one or more anchors.

Substructures

The following structures compose the data stored inside an Ar structure.

Substructure Min Max Description
ref 1 1 References to the nodes containing the anchors.
uint32 1 1 The types of the anchors.
int32 1 1 The indexes of the anchors.
float 0 1 The relative offsets for rail anchors.

The anchor type can be one of the following values.

Value Description
0 Main anchor. This type applies to all structures in the equation category except group, aligner, and phantom.
'cent' Center anchor. This type applies to all structures in the equation category except group, begin, aligner, and phantom.
'axis' Math axis anchor. This type applies only to top-level group structures.
'lmnl' Liminal anchor. This type applies only to top-level group structures.
'xxx!' Horizontal rail anchor. This type applies only to top-level group structures.
'yyy!' Vertical rail anchor. This type applies only to top-level group structures.
'mtrx' Matrix anchor. This type applies only to matrix structures.
'cell' Cell anchor. This type applies only to matrix structures.
'mrow' Row anchor. This type applies only to matrix structures.
'mcol' Column anchor. This type applies only to matrix structures.
'orow' Outer row anchor. This type applies only to matrix structures.
'ocol' Outer column anchor. This type applies only to matrix structures.
'lrow' Liminal row anchor. This type applies only to matrix structures.
'lcol' Liminal column anchor. This type applies only to matrix structures.
'bord' Border anchor. This type applies only to top-level group structures.
'line' Line anchor. This type applies only to line structures.
'edge' Edge anchor. This type applies only to rectangle structures, rounded rectangle structures, and ellipse structures.
'jost' Joist anchor. This type applies only to joist structures.
'anno' Annotation anchor. This type applies to all structures in the drawing category and group structures of type 'anno'.

Zg — Zigzag Structure

The Zg structure represents a zigzag drawing object.

Properties

The properties listed in the following table may be specified for a Zg structure.

Property Type Default Description
v bool false The vertical flag.

Substructures

The following structures compose the data stored inside a Zg structure.

Substructure Min Max Description
X 1 1 Each drawing structure must contain a connector structure.