Javascript 其他语言的词云
我在我的项目中使用了,但有一个问题,我使用波斯语[Farsi]字符串,这里的问题是Svg中的单词有重叠 这是我的项目的输出: 波斯语单词发生了什么?如上所述,生成器需要检索字形的形状,以便能够计算将其他单词放在“安全”的位置。关于页面更详细地解释了这个过程,但我们关心的是:Javascript 其他语言的词云,javascript,persian,word-cloud,farsi,Javascript,Persian,Word Cloud,Farsi,我在我的项目中使用了,但有一个问题,我使用波斯语[Farsi]字符串,这里的问题是Svg中的单词有重叠 这是我的项目的输出: 波斯语单词发生了什么?如上所述,生成器需要检索字形的形状,以便能够计算将其他单词放在“安全”的位置。关于页面更详细地解释了这个过程,但我们关心的是: glyph分别渲染到隐藏的元素 检索像素数据 导出了边界框 单词cloud被生成 现在,关键的见解是,在西方(和许多其他)脚本中,字形不会经常根据上下文改变形状。是的,有像连字这样的东西,但它们通常很少见,而且绝对不是脚本
元素d.code
之后放置一个断点,以便能够修改它:
将其替换为1740
,这是上面第一个波斯字形的charCode
,并让算法运行,在字形周围显示漂亮且完全正确的边界框:
问题是,当单词cloud实际呈现时,glyph被放置在上下文中,并且。。。改变形状。但是,生成器不知道这一点,并继续使用旧的边界数据来放置其他单词,从而创建您看到的重叠。此外,可能还有一个关于文本从右向左处理的问题,这肯定不会有帮助
我鼓励你直接向发电机的作者提出这个问题。这个项目有一个GitHub页面:所以在那里打开一个问题(也许再参考这个答案)会有帮助 谢谢你的回答。但我不知道该怎么办?我的解决办法是什么?!正如我在底部所说的,转到该链接,即项目页面,打开一个包含您问题描述和此问题链接的问题,然后等待作者回复您。如果您不想等待,您将必须找出如何修复软件。你的问题很有趣……但这也意味着它不能简单地解决。JasonDavies没有回答我的问题,我很忙。那么就需要付出努力了。换句话说,修复它。或者,去用另一种工具。或者请开发人员为您修复它。告诉别人你“很忙”,什么也不帮忙不是事情发生的方式。@Paul R,谢谢你的编辑。