Structured Text

From Bohemia Interactive Community
Revision as of 03:09, 21 October 2017 by OPTiX_bi_wiki (talk | contribs)
Jump to navigation Jump to search

Description

Rich text is able to include images and formatting.

It can be created using XML like syntax, as seen in parseText.

Introduced with Armed Assault, does not refer to Cold War Crisis or Resistance.

Related commands: parseText, composeText, ctrlSetStructuredText, hintC_structuredText

Code Examples:

_separator1 = parseText "<br />------------------------<br />";

_image = "\ca\ui\textures\aus_flag.paa";

_txt = composeText [image _image,"Heading Text",_separator1,"Content"];

hint _txt;

Attributes

The following inline text attributes are supported:

  • size
  • align
  • valign
  • color
  • font
  • image
  • shadow
  • shadowOffset
  • shadowColor
  • underline
  • href
  • colorLink

Operators

Line break

Line breaks can also be inserted via the composeText and lineBreak commands

<br /> 

Image

Images can also be inserted via the composeText and image commands

<img image='red.paa' />

Color

In format RGB or ARGB

<t color='#ff0000'>Red text</t>
<t color='#99ffffff'>Transparent white text</t>
<t colorLink='#0000ff'><a href='http://www.arma3.com/'>Blue link</a></t>

Size

Default is 1.

<t size='2'> Large text</t>

Note 'size' is a factor applied to the default text size defined by the config entry size/sizeEx of the control.
If the control is defined as follows

class MyStructuredText: RscStructuredText {
	...
	text = "Hello!";
	sizeEx = 0.04;
	size = 0.04;
	...
};

the structured text

<t size='2'>Hello!</t>

will result in a total text size of 0.04*2 = 0.08

Font

Font are defined in CfgFontFamilies

<t font='Zeppelin33'>Bold Text</t>

Align

Parameter can be 'left', 'center', 'right'

<t align='center'>Centered Text</t>

Underline

<t underline='true'>Underlined Text</t>

NOTE: Using regular spaces might split the underline between words. To have a continuous underline, you must use non-breaking spaces, via Alt+255 or the following code: format ["<t underline='true'>%1</t>", "Underlined Text" splitString " " joinString toString [160]]

Shadow

Parameter can be '0' (no shadow), '1' (classic shadow, can be colored), '2' outline (always black)

<t shadow='1'>Text with shadow</t>
<t shadow='1' shadowColor='#ff0000'>Text with red Shadow</t>
<t shadow='2'>Text with outline</t>

Hyperlink

Since ["Arma 3","Arma3",125,126163,"Development"]

<a href='http://google.com'>Google</a>
<a color='#0000FF' href='http://arma3.com'>Arma 3</a>
<a underline='true' color='#0000FF' href='http://killzonekid.com'>KK's&#160;blog</a>

Create clickable image: _ctrl = findDisplay 46 createDisplay "RscDisplayEmpty" ctrlCreate ["RscStructuredText", -1]; _ctrl ctrlSetPosition [0,0,1,1]; _ctrl ctrlCommit 0; _ctrl ctrlSetStructuredText parseText "<a color='#00FF00' size='5' href='http://arma3.com'><img image='\A3\weapons_f\ammoBoxes\data\ui\map_AmmoBox_F_CA.paa' /></a>";

Notes:

All operator types values should be encapsulated with '', for example, the following will log an .rpt error "Unknown attribute .0" and only 2 would be taken into account:

<t size=2.0>Large text</t>

While the following is correct:

<t size='2.0'>Large text</t>

A non-break space, commonly known as &nbsp; shows as ? in structured text control. Use alternative which is:&#160;

<t size='2.0'>FIVE&#160;&#160;&#160;&#160;&#160;SPACES</t>