我需要一些 PHP 和/或 Java(目前是 Spring + Hibernate)工具的线索,以用于内容的断字。我在包含的文件中有一些文本内容,在数据库中有一些。所有文本都是 utf-8 编码的,我需要软连字符,因为大多数浏览器都支持软连字符。
所以这存储了原件:
<p> These words need hyphenation</p>
会出现这样的东西
<p> The­se wor­ds need hyp­he­na­tion</p>
在最终加载的网页的源代码中。
有什么想法可以实现吗?
在没有使用任何服务器端代码且只有纯 HTML 源文件的情况下,也欢迎在 HTML 标记中包含连字符的文本编辑工具的建议。
另外,我还没有找到断字词列表的好来源。
最佳答案
CSS3 定义 client-side hyphenation .
这意味着在支持浏览器的情况下¹,您只需指定文本的语言和自动断字的愿望,它就会自动断字,而无需您进行任何操作。显然,这意味着断字点由浏览器的语言资源控制。
对于手动控制,您可以在每个您希望使用的断字点处放置任意连字符,并指示浏览器仅使用这些断字点。
在实践中,要找到断字点并插入任意连字符,最好的方法可能是使用古老的 TeX-style hyphenation method。其中指定分层断字或无断字点的子词模式与要断字的词匹配。这些模式现在被广泛使用(包括 OpenOffice、LibreOffice 和 Adobe InDesign)并且适用于大多数语言。
实现该算法只需要几行代码。更重要的是,有多种语言的现成实现:PHP 实现,如 phpHyphenator , Java 实现如 TeXHyphenator-J或 Hyphenation和 libhyphen 的 C++ 实现的 Java 绑定(bind),如 jhyphen .
¹ 目前,Firefox、Safari 和 IE 支持自动断字,而 Chrome 和 Opera 不支持。
关于java - 连字符预处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13480480/