(fabric.js)我可以在iText中更改字符的位置以进行垂直书写吗?

时间:2017-09-08 01:17:16

标签: fabricjs

我是日本人,我想在Fabric.js中垂直写日文单词。

日语有小写字母,它们的位置是垂直书写的左上角。 所以,我想改变iText中一个小写字母的位置。

我认为我可以通过使用iText的“styles”参数来改变角色的位置,所以我写了如下。

var iTextSample = new fabric.IText('h\ne\nl\nl\no', {
  left: 50,
  top: 50,
  fontFamily: 'Helvetica',
  fill: '#333',
  lineHeight: 1.1,
  styles: {
    1: {
        0: { textDecoration: 'underline',  ←★ WORK
             fontSize: 80, ←★ WORK
             top:-10,  ←★ NOT WORK
             transformMatrix: [ 1, 0, 0, 1, 18, -50 ] ←★ NOT WORK 
           },
       },
  }
});

https://jsfiddle.net/uemon/tLy9eqj6/77/

'textDecoration'和'fontSize'有效,但'top'或'transformMatrix'不起作用。

我不能在“styles”参数中使用'top'或'transformMatrix'吗?

如何更改一个角色的位置?

提前谢谢。

1 个答案:

答案 0 :(得分:0)

所以从使用textDecoration属性我猜你是在1.7或类似的版本。

您应该真正转向集成了对多字节语言和组合的支持的2.0版本。

说,根本不支持fabricjs中的垂直文本。 这可能在将来发生变化。 你应该真的去这里:

https://github.com/kangax/fabric.js/issues/511

刷新请求并可能添加一些关于它的细节,因为实际的mantainer可能不知道垂直文本在输入,装饰,多列等方面应该如何工作。