Lore archive · Warcraft Wiki, 2023 dump
UIOBJECT SimpleHTML
Last wiki revision 2022-05-25
SimpleHTML widgets allow display of simple HTML markup as well as standard escape sequences. The two may be combined; if HTML is not valid (not well-formed XHTML), it will be displayed literaly.
SimpleHTML inherits from FontInstance, but there's a difference in that methods have an optional first parameter for which element's font to set (h1, h2, p, etc). The FontInstance methods are not reflected in the SimpleHTML frame until you SetText on the frame. It also appears that you can only supply the block elements and not the inline elements (ie Hyperlinks cannot be colored a different color). Other than that, see FontInstance for documentation of these methods.
The following HTML tags are supported:
- h1, h2, h3, p
- Text containers; following optional attributes are supported:
- align - (left, center, right) controls positioning of the text element,
- img
- Image, only outside of text containers; following attributes are supported:
- align - (left, center, right) controls positioning of the image.
- width - (number) width of image in pixels.
- height - (number) height of image in pixels.
- src - (string) image source, for example Interface\Icons\Ability_Ambush
- a
- anchor (link only), only displayed inside text containers; following attributes are required:
- href - (string) link to pass OnHyperLink* widget handlers
- br
- line break, no attributes.
SimpleHTML will only display text as HTML if it is well-formed; the following conditions and quirks apply:
- Tag names are case insensitive, img and iMg achieve the same result.
- All tags must be closed; closing tags must match the case of the opening tag; some tags are self-closing (br, img).
- Attribute values must be quoted; both double and single quotes are supported.
- Quotes, less/greater than signs, and amperstands must be entity-escaped . No other entity-escapes are supported.
- Unrecognized tags are ignored entirely, even if they contain known tags inside; unrecognized attributes are ignored.
- Document content must be enclosed in tags.
SimpleHTML also supports the usual UI Escape Sequences, which can be used to change font color, or as an alternative syntax to specify hyperlinks.
It is possible to set different fonts for the text-container elements (h1, h2, h3, and p), using SetFont: SimpleHTML:SetFont('h1', GameFontHighlightLarge);
You can also define font properties for these elements in your XML files, eg: <SimpleHTML ...> <FontStringHeader1 inherits="GameFontHighlightLarge"/> </SimpleHTML>
Creating a SimpleHTML object using pure Lua is very simple. MySimpleHTMLObject = CreateFrame('SimpleHTML'); After, the creation of the object you can assign the HTML code to be displayed. But, there is one more required step! MySimpleHTMLObject:SetText('<html><body><h1>Heading1</h1><p>A paragraph</p></body></html>'); For the SimpleHTML object to actual render the HTML code you gave it (or plain text) a font must be set. MySimpleHTMLObject:SetFont('Fonts\\FRIZQT__.TTF', 11); The literal number 11 specifies the size of the font.
The following is an example of a combination of HTML markup and UI Escape Sequences, as well as custom element styles; the code below was passed to SimpleHTML:SetText to generate the image on the right.
<html> <h1>SimpleHTML Demo: Ambush</h1> <img src="Interface\Icons\Ability_Ambush" width="32" height="32" align="right"/> <p align="center">|cffee4400'You think this hurts? Just wait.'|r</p> <br/><br/> <p>Among every ability a rogue has at his disposal,<br/> Ambush is without a doubt the hardest hitting Rogue ability.</p> </body></html>
Source
https://warcraft.wiki.gg/wiki/UIOBJECT_SimpleHTML · retrieved 2023-11-13 · CC BY-SA 4.0
Converted from wikitext with templates, tables and images removed, so some sentences may be missing values.
This archive predates WoW: Forever. For collected gameplay facts see the Forever database. Search the archive.