【问题标题】:(fabric.js) Can I change a position of a character in iText for vertical writing?(fabric.js) 我可以更改 iText 中字符的位置以进行垂直书写吗?
【发布时间】:2017-09-08 17:53:13
【问题描述】:

我是日本人,我想在 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”吗?

如何改变一个字符的位置?

提前谢谢你。

【问题讨论】:

    标签: fabricjs


    【解决方案1】:

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

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

    也就是说,fabricjs 中根本不支持竖排文本。 这在未来可能会改变。 你真的应该去这里:

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

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

    【讨论】:

    • 感谢您的信息。我知道我应该移到 2.0 版本,但我犹豫要不要移它,因为 2.0 版本的文档很少。无论如何,谢谢你的回复。
    • 只要记住,如果你想让它发生,垂直文本用户的信息是必要的。
    猜你喜欢
    • 1970-01-01
    • 2011-02-22
    • 2018-03-21
    • 1970-01-01
    • 2021-06-27
    • 2011-06-16
    • 2017-12-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多