<bodyPr> (Body Properties)

This element defines the body properties for the text body within a shape.

example:
<p:sp><p:txBody>
    <a:bodyPr>
      (text body properties)
    </a:bodyPr></p:txBody>
</p:sp>

Parent Elements

<lnDef>5.1.4.1.20); <rich>5.7.2.157); <spDef>5.1.4.1.27); <t>5.9.3.8); <txBody>5.8.2.26); <txBody>5.1.2.1.40); <txBody>5.6.2.33); <txBody>4.4.1.47); <txDef>5.1.4.1.28); <txPr>5.7.2.217)

Child Elements

Subclause

<extLst> (Extension List)

§5.1.2.1.15

<flatTx> (No text in 3D scene)

§5.1.7.8

<noAutofit> (No AutoFit)

§5.1.5.1.2

<normAutofit> (Normal AutoFit)

§5.1.5.1.3

<prstTxWarp> (Preset Text Warp)

§5.1.11.19

<scene3d> (3D Scene Properties)

§5.1.4.1.26

<sp3d> (Apply 3D shape properties)

§5.1.7.12

<spAutoFit> (Shape AutoFit)

§5.1.5.1.4

Attributes

Description

<anchor> (Anchor)

Specifies the anchoring position of the <txBody> within the shape. If this attribute is omitted, then a value of <t>, or top is implied.

example:
<p:txBody>
  <a:bodyPr anchor="ctr"  /></p:txBody>

Here the text is vertically aligned in the center of the shape within which it is contained. ]

The possible values for this attribute are defined by the ST_TextAnchoringType simple type (§5.1.12.60).

<anchorCtr> (Anchor Center)

Specifies the centering of the text box. The way it works fundamentally is to determine the smallest possible "bounds box" for the text and then to center that "bounds box" accordingly. Note that this is different than paragraph alignment, which aligns the text within the "bounds box" for the text. This flag is compatible with all of the different types of anchoring. If this attribute is omitted, then a value of <0>, or off is implied.

example:
<p:txBody>
  <a:bodyPr anchor="ctr" anchorCtr="1"  /></p:txBody>

The possible values for this attribute are defined by the XML Schema boolean datatype.

<bIns> (Bottom Inset)

Specifies the bottom inset of the bounding rectangle. Insets are used just as internal margins for text boxes within shapes. If this attribute is omitted, a value of <45720> or 0.05 inches is implied.

example:
<p:txBody>
  <a:bodyPr lIns="91440" tIns="91440" 
  rIns="91440" bIns="91440"  /></p:txBody>

The text box having the above body properties will have inset margins of 91440 or 0.1 inches on all four sides. ]

The possible values for this attribute are defined by the ST_Coordinate32 simple type (§5.1.12.17).

<compatLnSpc> (Compatible Line Spacing)

Specifies that the line spacing for this text body will be decided in a simplistic manner using the font scene. If this attribute is omitted, a value of 0 or false is implied.

The possible values for this attribute are defined by the XML Schema boolean datatype.

<forceAA> (Force Anti-Alias)

Forces the text to be rendered anti-aliased regardless of the font size. Certain fonts may appear grainy around their edges unless they are anti-aliased. Therefore this attribute allows for the specifying of which bodies of text should always be anti-aliased and which ones should not. If this attribute is omitted, then a value of <0>, or off is implied.

The possible values for this attribute are defined by the XML Schema boolean datatype.

<fromWordArt> (From WordArt)

Specifies that text within this textbox is converted text from a WordArt object. This is more of a backwards compatibility attribute that is useful to the application from a tracking perspective. WordArt was the former way to apply text effects and therefore this attribute is useful in document conversion scenarios. If this attribute is omitted, then a value of <0>, or off is implied.

example:
<p:txBody>
  <a:bodyPr wrap="none" fromWordArt="1"  
  /></p:txBody>

Because of the presence of the <fromWordArt> attribute the text within this shape can be mapped back to the corresponding WordArt during document conversion. ]

The possible values for this attribute are defined by the XML Schema boolean datatype.

<horzOverflow> (Text Horizontal Overflow)

Determines whether the text can flow out of the bounding box horizontally. This is used to determine what will happen in the event that the text within a shape is too large for the bounding box it is contained within. If this attribute is omitted, then a value of <overflow> is implied.

example:
<p:txBody>
  <a:bodyPr horzOverflow="clip"  /><a:p>
     …
     (Some text)
     …
    </a:p>
    <a:p>
     …
     (Some more text)
     …
    </a:p>
</p:txBody>

The possible values for this attribute are defined by the ST_TextHorzOverflowType simple type (§5.1.12.69).

<lIns> (Left Inset)

Specifies the left inset of the bounding rectangle. Insets are used just as internal margins for text boxes within shapes. If this attribute is omitted, then a value of <91440> or 0.1 inches is implied.

example:
<p:txBody>
  <a:bodyPr lIns="91440" tIns="91440" rIns="91440" 
    bIns="91440"  /></p:txBody>

The text box having the above body properties will have inset margins of 91440 or 0.1 inches on all four sides. ]

The possible values for this attribute are defined by the ST_Coordinate32 simple type (§5.1.12.17).

<numCol> (Number of Columns)

Specifies the number of columns of text in the bounding rectangle. When applied to a text run this property takes the width of the bounding box for the text and divides it by the number of columns specified. These columns are then treated as overflow containers in that when the previous column has been filled with text the next column will act as the repository for additional text. When all columns have been filled and text still remains then the overflow properties set for this text body will be used and the text will be reflowed to make room for additional text. If this attribute is omitted, then a value of <1> is implied.

example:
<p:txBody>
  <a:bodyPr numCol="4"  />
  <a:p>
    <a:r>
      …
      (Some text)
      …
    </a:r>
  </a:p>
</p:txBody>

The possible values for this attribute are defined by the ST_TextColumnCount simple type (§5.1.12.65).

<rIns> (Right Inset)

Specifies the right inset of the bounding rectangle. Insets are used just as internal margins for text boxes within shapes. If this attribute is omitted, then a value of <91440> or 0.1 inches is implied.

example:
<p:txBody>
  <a:bodyPr lIns="91440" tIns="91440" 
  rIns="91440" bIns="91440"  /></p:txBody>

The text box having the above body properties will have inset margins of 91440 or 0.1 inches on all four sides. ]

The possible values for this attribute are defined by the ST_Coordinate32 simple type (§5.1.12.17).

<rot> (Rotation)

Specifies the rotation that is being applied to the text within the bounding box. If it not specified, the rotation of the accompanying shape is used. If it is specified, then this is applied independently from the shape. That is the shape can have a rotation applied in addition to the text itself having a rotation applied to it. If this attribute is omitted, then a value of <0>, is implied.

example:
<p:sp>
  <p:spPr>
    <a:xfrm rot="5400000"></a:xfrm>
  </p:spPr><p:txBody>
    <a:bodyPr rot="-5400000"  />
    …
    (Some text)
    …
  </p:txBody>
</p:sp>

The possible values for this attribute are defined by the ST_Angle simple type (§5.1.12.3).

<rtlCol> (Columns Right-To-Left)

Specifies whether columns are used in a right-to-left or left-to-right order. The usage of this attribute only sets the column order that is used to determine which column overflow text should go to next. If this attribute is omitted, then a value of <0>, or off is implied in which case text will start in the leftmost column and flow to the right.

Note:

The possible values for this attribute are defined by the XML Schema boolean datatype.

<spcCol> (Space Between Columns)

Specifies the space between text columns in the text area. This should only apply when there is more than 1 column present. If this attribute is omitted, then a value of <0> is implied.

The possible values for this attribute are defined by the ST_PositiveCoordinate32 simple type (§5.1.12.43).

<spcFirstLastPara> (Paragraph Spacing)

Specifies whether the before and after paragraph spacing defined by the user is to be respected. While the spacing between paragraphs is helpful, it is additionally useful to be able to set a flag as to whether this spacing is to be followed at the edges of the text body, in other words the first and last paragraphs in the text body. More precisely since this is a text body level property it should only effect the before paragraph spacing of the first paragraph and the after paragraph spacing of the last paragraph for a given text body. If this attribute is omitted, then a value of <0>, or false is implied.

example:
<p:txBody>
  <a:bodyPr spcFirstLastPara="0"  /><a:p>
      <a:pPr>
        <a:spcBef>
        <a:spcPts val="1800"/>
      </a:spcBef>
      <a:spcAft>
        <a:spcPts val="600"/>
      </a:spcAft>
      </a:pPr>
    …
    (Some text)
    …
  </a:p>
  <a:p>
      <a:pPr>
        <a:spcBef>
        <a:spcPts val="1800"/>
      </a:spcBef>
      <a:spcAft>
        <a:spcPts val="600"/>
      </a:spcAft>
      </a:pPr>
    …
    (Some text)
    …
  </a:p></p:txBody>

The possible values for this attribute are defined by the XML Schema boolean datatype.

<tIns> (Top Inset)

Specifies the top inset of the bounding rectangle. Insets are used just as internal margins for text boxes within shapes. If this attribute is omitted, then a value of <45720> or 0.05 inches is implied.

example:
<p:txBody>
  <a:bodyPr lIns="91440" tIns="91440" 
  rIns="91440" bIns="91440"  /></p:txBody>

The text box having the above body properties will have inset margins of 91440 or 0.1 inches on all four sides. ]

The possible values for this attribute are defined by the ST_Coordinate32 simple type (§5.1.12.17).

<upright> (Text Upright)

Specifies whether text should remain upright, regardless of the transform applied to it and the accompanying shape transform. If this attribute is omitted, then a value of 0, or false will be implied.

example:
<p:txBody>
  <a:bodyPr upright="1" rot="5400000" …/>
  
  (Some text)
  
</p:txBody>

This text will appear as though no transform has been applied to it. ]

The possible values for this attribute are defined by the XML Schema boolean datatype.

<vert> (Vertical Text)

Determines if the text within the given text body should be displayed vertically. If this attribute is omitted, then a value of <horz>, or no vertical text is implied.

example:
<p:txBody>
  <a:bodyPr vert="wordArtVertRtl"  /><a:p><a:t>This is</a:t></a:p>
  <a:p><a:t>some text.</a:t></a:p>
</p:txBody>

In the above sample DrawingML there are two paragraphs denoting a separation between the text otherwise which are known as either a line or paragraph break. Because <wordArtVertRtl> is used here this text will not only be displayed in a stacked manner flowing from top to bottom but also have the first paragraph be displayed to the right of the second. This is because it is both vertical text and right to left. ]

The possible values for this attribute are defined by the ST_TextVerticalType simple type (§5.1.12.83).

<vertOverflow> (Text Vertical Overflow)

Determines whether the text can flow out of the bounding box vertically. This is used to determine what will happen in the event that the text within a shape is too large for the bounding box it is contained within. If this attribute is omitted, then a value of <overflow> is implied.

example:
<p:txBody>
  <a:bodyPr vertOverflow="clip"  /><a:p>
    …
    (Some text)
    …
  </a:p>
  <a:p>
    …
    (Some longer text)
    …
  </a:p>
</p:txBody>

The possible values for this attribute are defined by the ST_TextVertOverflowType simple type (§5.1.12.84).

<wrap> (Text Wrapping Type)

Specifies the wrapping options to be used for this text body. If this attribute is omitted, then a value of <square> is implied which will wrap the text using the bounding text box.

The possible values for this attribute are defined by the ST_TextWrappingType simple type (§5.1.12.85).

The following XML Schema fragment defines the contents of this element:

<complexType name="CT_TextBodyProperties">
	<sequence>
	<element name="prstTxWarp" type="CT_PresetTextShape" minOccurs="0" maxOccurs="1"/>
	<group ref="EG_TextAutofit" minOccurs="0" maxOccurs="1"/>
	<element name="scene3d" type="CT_Scene3D" minOccurs="0" maxOccurs="1"/>
	<group ref="EG_Text3D" minOccurs="0" maxOccurs="1"/>
	<element name="extLst" type="CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/>
	</sequence>
	<attribute name="rot" type="ST_Angle" use="optional"/>
	<attribute name="spcFirstLastPara" type="xsd:boolean" use="optional"/>
	<attribute name="vertOverflow" type="ST_TextVertOverflowType" use="optional"/>
	<attribute name="horzOverflow" type="ST_TextHorzOverflowType" use="optional"/>
	<attribute name="vert" type="ST_TextVerticalType" use="optional"/>
	<attribute name="wrap" type="ST_TextWrappingType" use="optional"/>
	<attribute name="lIns" type="ST_Coordinate32" use="optional"/>
	<attribute name="tIns" type="ST_Coordinate32" use="optional"/>
	<attribute name="rIns" type="ST_Coordinate32" use="optional"/>
	<attribute name="bIns" type="ST_Coordinate32" use="optional"/>
	<attribute name="numCol" type="ST_TextColumnCount" use="optional"/>
	<attribute name="spcCol" type="ST_PositiveCoordinate32" use="optional"/>
	<attribute name="rtlCol" type="xsd:boolean" use="optional"/>
	<attribute name="fromWordArt" type="xsd:boolean" use="optional"/>
	<attribute name="anchor" type="ST_TextAnchoringType" use="optional"/>
	<attribute name="anchorCtr" type="xsd:boolean" use="optional"/>
	<attribute name="forceAA" type="xsd:boolean" use="optional"/>
	<attribute name="upright" type="xsd:boolean" use="optional" default="false"/>
	<attribute name="compatLnSpc" type="xsd:boolean" use="optional"/>
</complexType>