<?xml version="1.0" encoding="UTF-8"?>



<!--***********************************************************
 * 
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 * 
 *   http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 * 
 ***********************************************************-->




		<helpdocument version="1.0">
<meta>
<topic id="textshared0105990000xml" indexer="include" status="PUBLISH">
<title id="tit" xml-lang="en-US">Text</title>
<filename>/text/shared/01/05990000.xhp</filename>
</topic>
</meta>
<body>
<section id="text"><comment>UFI: removed 2 help ids</comment><paragraph role="heading" id="hd_id3155757" xml-lang="en-US" level="1" l10n="U" oldref="1"><link href="text/shared/01/05990000.xhp" name="Text">Text</link></paragraph>
<paragraph role="paragraph" id="par_id3150467" xml-lang="en-US" l10n="U" oldref="2"><variable id="texttext"><ahelp hid=".uno:TextAttributes">Sets the layout and anchoring properties for text in the selected drawing or text object.</ahelp>
</variable></paragraph>
</section>
<section id="howtoget">
  <embed href="text/shared/00/00040502.xhp#formattext"/>
</section>
<paragraph role="paragraph" id="par_id3150620" xml-lang="en-US" l10n="CHG" oldref="3">This command is only available for drawing objects that can contain text, for example for rectangles, but not for lines.</paragraph>
<embed href="text/shared/01/05220000.xhp#text"/>
<embed href="text/shared/01/05320000.xhp#lauftext"/>
<embed href="text/shared/00/00000001.xhp#zurueck"/>
</body>
</helpdocument>
