librsvg mishandles the following text element:
<text x="20" y="100" font-weight="bold">bold <tspan font-weight="normal">normal</tspan></text>
the tspan is displayed in bold rather than a normal font weight.
However, when given this almost identical text element
<text x="20" y="200" font-weight="bold">bold <tspan font-weight="400">400=normal</tspan></text>
the tspan is displayed at normal weight
For sample file, see https://commons.wikimedia.org/wiki/File:SVGTestBoldNormal.svg :
<?xml version="1.0" encoding="UTF-8"?> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 600 450" font-family="sans-serif" font-size="60"> <title>librsvg misinterprets keyword normal</title> <desc>librsvg bug: librsvg text that starts bold and shifts to normal weight fails; shifting to 400 weight succeeds.</desc> <text x="20" y="100" font-weight="bold">bold <tspan font-weight="normal">normal</tspan></text> <text x="20" y="200" font-weight="bold">bold <tspan font-weight="400">400=normal</tspan></text> <g font-weight="bold"> <title>normal font weight inside of group specifying bold weight - from Johannes Kalliauer</title> <text x="20" y="300" font-weight="normal">normal</text> <text x="20" y="400" font-weight="400">400=normal</text> </g> </svg>