We should be able to define styles in a rich text stylesheet in a way that lets us specify only certain properties to override from the default. For instance, if I create a Default style that uses Roboto at size 24 with a particular shadow offset, etc., I would like to be able to create, say, a “Bold” style that “inherits” everything from Default and only overrides the Typeface to specify Bold. As it is now, as far as I can tell, if I want to do that, I have to duplicate my Default style and make my changes whenever I want another style that accomplishes this outcome. The obvious drawback to this is that if I change my mind about the style details that I want to use by default, I have to go through all my styles and manually make those changes one at a time.
Additionally, it would be nice to have nested tags, so that I could have <bold>some bold text here with <italic>further emphasis</> thrown into the middle</>, and not have to worry about creating all the possible style overlaps that I might need.
Agreed, coming from a web gaming background widgets and slate are painfully underdeveloped.
The closest solution I can find is to write a JS function that creates each combination of the desired tags for each supported font size and serializes them to a JSON file. That JSON can then be imported into an unreal rich text data table.
Doing this by hand is an extreme waste of resources.
13 tags with a (hopefully maximum) subset of 6 in use at a time results in 1716 feasible combinations. Even limiting the subset to only 4 items (size, color, & 2 additional decorations) still comes out to 715 combinations that would need to be manually entered.
It probably makes sense to only create one of these, then you could even build your own “class” system using tag metadata.
For reference see: Unreals Example FRichInlineImage class