Quick search

Table Of Contents

Text Markup

New in version 1.1.0.

We provide a simple text-markup for inline text styling. The syntax look the same as the BBCode.

A tag is defined as [tag], and might have a closed tag associated: [/tag]. Example of a markup text:

[b]Hello [color=ff0000]world[/b][/color]

The following tags are availables:

[b][/b]
Activate bold text
[i][/i]
Activate italic text
[font=<str>][/font]
Change the font
[size=<integer>][/size]
Change the font size
[color=#<color>][/color]
Change the text color
[ref=<str>][/ref]
Add an interactive zone. The reference + all the word box inside the reference will be available in MarkupLabel.refs
[anchor=<str>]
Put an anchor in the text. You can get the position of your anchor within the text with MarkupLabel.anchors
[sub][/sub]
Display the text at a subscript position relative to the text before it.
[sup][/sup]
Display the text at a superscript position relative to the text before it.

If you need to escape the markup from the current text, use kivy.utils.escape_markup().

class kivy.core.text.markup.MarkupLabel(*largs, **kwargs)

Bases: kivy.core.text.LabelBase

Markup text label.

See module documentation for more informations.

anchors

Get the position of all the [anchor=...]:

{ 'anchorA': (x, y), 'anchorB': (x, y), ... }
markup

Return the text with all the markup splitted:

>>> MarkupLabel('[b]Hello world[/b]').markup
>>> ('[b]', 'Hello world', '[/b]')
refs

Get the bounding box of all the [ref=...]:

{ 'refA': ((x1, y1, x2, y2), (x1, y1, x2, y2)), ... }