JointJS 基线偏移

JointJS baseline-shift

我正在使用 JointJS 3.2.0,我需要像 PN=xxx.

这样的文本

JointJS 应该如何使用基线偏移?我试过了

 markup: '<g><text>\
                <tspan class="left"></tspan>\
                <tspan class="sub"></tspan>\
                <tspan class="right"></tspan>\
                </text></g>',
         attrs: {
                '.sub': {
                'baseline-shift': 'sub',
                },

但它在每个 tspan 中创建了另一个 tspan,它们都具有 dy=0。 类似的方法没有使正确的 tspan 具有基线偏移属性。

我尝试了另一种方法,我将 textVerticalAnchor 更改为 'top',但在那种情况下我无法控制每个 tspan 之间的间距,并且字母之间的间距比仅在一个 tspan 内更远。

使用 Text Annotations 可能会有所帮助。

element.attr('label', {
  text: 'Pn = xxx',
  annotations: [{ start: 1, end: 2, attrs: { 'baseline-shift': 'sub' }}]
});

这是一个JSFiddle