You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When using gradients in MarkupText we have Pango render the text to an SVG. We then load the SVG into a SVGMobject and apply the gradient to the characters. This has two major drawbacks:
the gradient is done on a per-character basis, i.e. every character has one solid color; the quality of the gradient therefore depends largely on the length of the text to which it is applied
with ligatures, the number of paths does not correspond to the number of characters, so the user will have to specify an offset to compensate for this, e.g. fl counts for two characters but might be rendered as a single glyph
similar problems arise with underline, double underline, overline and strikethrough, because those lines will also be sub-paths of the SVGMobject
We will have to be careful w.r.t. the Write animation. Currently, even with gradients every character has its own color. If the character is itself colored with a gradient, what color is to be used for the stroke?
The text was updated successfully, but these errors were encountered:
where if my understanding is correct, we shouldn't PangoLayout which we currently do no, instead, we should first create a context from PangoCairo, pango-cairo-create-context, then use pango_itemize after that pango_shape or rather pango_shape_full, and then finally use pango_glyph_string_index_to_x for rendering a single single character with ligature on a cairo surface, while changing the colour in Cairo.
This requires a major refactor so it can't be done now and is in the least priority because Manim's SVG parser still doesn't render Gradients from the SVG file.
Enhancement proposal
When using gradients in
MarkupText
we have Pango render the text to an SVG. We then load the SVG into aSVGMobject
and apply the gradient to the characters. This has two major drawbacks:fl
counts for two characters but might be rendered as a single glyphSVGMobject
We will have to be careful w.r.t. the
Write
animation. Currently, even with gradients every character has its own color. If the character is itself colored with a gradient, what color is to be used for the stroke?The text was updated successfully, but these errors were encountered: