Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 其他语言的词云_Javascript_Persian_Word Cloud_Farsi - Fatal编程技术网

Javascript 其他语言的词云

Javascript 其他语言的词云,javascript,persian,word-cloud,farsi,Javascript,Persian,Word Cloud,Farsi,我在我的项目中使用了,但有一个问题,我使用波斯语[Farsi]字符串,这里的问题是Svg中的单词有重叠 这是我的项目的输出: 波斯语单词发生了什么?如上所述,生成器需要检索字形的形状,以便能够计算将其他单词放在“安全”的位置。关于页面更详细地解释了这个过程,但我们关心的是: glyph分别渲染到隐藏的元素 检索像素数据 导出了边界框 单词cloud被生成 现在,关键的见解是,在西方(和许多其他)脚本中,字形不会经常根据上下文改变形状。是的,有像连字这样的东西,但它们通常很少见,而且绝对不是脚本

我在我的项目中使用了,但有一个问题,我使用波斯语[Farsi]字符串,这里的问题是Svg中的单词有重叠

这是我的项目的输出:

波斯语单词发生了什么?

如上所述,生成器需要检索字形的形状,以便能够计算将其他单词放在“安全”的位置。关于页面更详细地解释了这个过程,但我们关心的是:

  • glyph分别渲染到隐藏的
    元素
  • 检索像素数据
  • 导出了边界框
  • 单词cloud被生成
  • 现在,关键的见解是,在西方(和许多其他)脚本中,字形不会经常根据上下文改变形状。是的,有像连字这样的东西,但它们通常很少见,而且绝对不是脚本所必需的

    然而,在波斯语中,字形形状将根据上下文而改变。对于非波斯语读者,请看ی和س,它们结合在一起,就变成了ی。是的,最后一个是两个字形

    该算法实际上在处理波斯语字符方面没有问题,正如您在about页面上的演示中所看到的,在生成
    d.code
    之后放置一个断点,以便能够修改它:

    将其替换为
    1740
    ,这是上面第一个波斯字形的
    charCode
    ,并让算法运行,在字形周围显示漂亮且完全正确的边界框:

    问题是,当单词cloud实际呈现时,glyph被放置在上下文中,并且。。。改变形状。但是,生成器不知道这一点,并继续使用旧的边界数据来放置其他单词,从而创建您看到的重叠。此外,可能还有一个关于文本从右向左处理的问题,这肯定不会有帮助


    我鼓励你直接向发电机的作者提出这个问题。这个项目有一个GitHub页面:所以在那里打开一个问题(也许再参考这个答案)会有帮助

    谢谢你的回答。但我不知道该怎么办?我的解决办法是什么?!正如我在底部所说的,转到该链接,即项目页面,打开一个包含您问题描述和此问题链接的问题,然后等待作者回复您。如果您不想等待,您将必须找出如何修复软件。你的问题很有趣……但这也意味着它不能简单地解决。JasonDavies没有回答我的问题,我很忙。那么就需要付出努力了。换句话说,修复它。或者,去用另一种工具。或者请开发人员为您修复它。告诉别人你“很忙”,什么也不帮忙不是事情发生的方式。@Paul R,谢谢你的编辑。