java 不同语言的连字符

Hyphenation for different languages with java

问题:给定一个字符串(可以是不同的语言)我们必须将它连字。

我试过的方法hypenator-j但这似乎只适用于英语,我不确定如何连接其他语言,找不到免费的不同语言的 tex 文件。

我们有哪些选项可以解决 java 中不同语言的断字问题?

如果有足够的时间和意志力,您可以根据本论文自行实现断字 http://www.tug.org/docs/liang/。 不过,自己实现断字并不是一件容易的事,因此您可能希望选择其他解决方案。

Hyphenator.js

是的,这是一个java脚本项目。但是可以从 java 调用 java 脚本函数。您可以在此处找到更多相关信息:http://docs.oracle.com/javase/6/docs/technotes/guides/scripting/programmer_guide/index.html

这提供了对多种语言的支持。

抓取词典

许多词典都提供断字规则。你可以在网上找到这些,虽然它会涉及一些搜索。接下来,您可以为断字规则抓取这些,但这可能比从 Java.

调用 javascript 更丑陋的解决方法

无论哪种方式,断字都不是一个简单的问题,自己实现它似乎是一项非常烦人的任务,所以也许 javascript 项目是你最好的选择。或者,您可以基于 hyphenator.js 实施您自己的 Java 实施。至少你不会从头开始。

hyphenator-j 或分叉 variant 的实现能够使用原始的 .tex 连字表。

可以找到此表

  • 在您的本地机器上,如果您已经安装了 TeX 环境,例如 MiKTeX。在这种情况下,可以在 \tex\generic\hyphen
  • 中找到 .tex 断字表
  • 在 TeX 用户组的网页和相应的Git:here

获得您感兴趣的 .tex 后,您可以使用 hyphenator-j 提供的 API 加载它们。