[英]Which JavaScript library should I use for client-side hyphenation?
我想在我的網站上的一些大文本上通過JavaScript實現客戶端連字。 (我知道CSS3連字符,並且會在可用時使用它,但它通常不可用。)
我一直在使用Hyphenator.js ,它運行良好,但是非常大(我的優化,編譯版本只有英文版本達到106 KB)而且非常慢。 它足夠大而且速度慢,我正在考慮完全刪除連字符。 無論如何,這只是一種奢侈品。
但最近我遇到了似乎是另一種選擇: Hypher 。 令我感到困惑的是,Hypher如何讓我這么小,做同樣的事情。 我想知道是否有人可以解釋這一點。
Hypher也能正常工作嗎? 是否有任何理由使用Hyphenator.js? Hypher的自述文件在頁面底部有一個指向Hyphenator.js的鏈接,但沒有一個文本解釋了這些項目之間的聯系。
有沒有人對最有效的客戶端連字法有什么看法?
相比之下,Hypher如此小的主要原因是它依賴於外部加載的jQuery來進行頁面集成。 Hyphenator.js是完全獨立的,因此必須包含更多樣板來跨瀏覽器操作HTML。 (他們甚至重新實現了一些jQuery功能。)
公平地說,Hyphenator.js是一個相對較舊的項目,在利用瀏覽器大量改進的過程中還沒有完全重寫。 (請注意,他們自豪地支持Firefox 3.0。)更重要的是,Hyphenator.js有更多細粒度的設置 。
如果您已經在使用jQuery,並且不使用Hyphenator.js的高級API,那么切換到Hypher可能是值得改進的。
我在JavaScript中看了一下連字符,發現了以下四個庫:
所有四個庫都使用由Franklin M. Liang開發的連字算法,該算法使用匹配模式來查找單詞中的連字點。 該算法沒有提供梁在他的論文中所述的100%正確的連字符:
這些模式在口袋字典單詞列表中找到89%的連字符,基本上沒有錯誤。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.