在this demo on JSFiddle中,Safari在鏈接到Bootstrap時顯示出一個奇怪的soft hyphenation錯誤。當­
或­
前面有字符fi
時,出現一個奇怪的角色«Ṏ»(U+1E4E)。我甚至有雙變音看到了:Safari和bootstrap軟連字錯誤:發生了什麼?
任何想法是怎麼回事? Safari supposedly支持­
。
在this demo on JSFiddle中,Safari在鏈接到Bootstrap時顯示出一個奇怪的soft hyphenation錯誤。當­
或­
前面有字符fi
時,出現一個奇怪的角色«Ṏ»(U+1E4E)。我甚至有雙變音看到了:Safari和bootstrap軟連字錯誤:發生了什麼?
任何想法是怎麼回事? Safari supposedly支持­
。
沸騰了你的測試用例後,貌似錯誤時纔會觸發(在引導的情況下),當事情被稱呼爲:
font-family: "Helvetica Neue", Helvetica;
font-weight: 500;
(當然的文本需要使用柔軟的連字符和「網絡連接」如您所述。)
您似乎遇到了WebKit Bug 150006 - REGRESSION(r182192): Ligatures do not interact correctly with SHY in some fonts,它已在WebKit r190891中修復。
因此,幸運的是,您的錯誤並未在WebKit的當前Nightly版本中重現(例如r198607)。不幸的是,蘋果還沒有發佈包含該修補程序的Safari版本。希望這個修復會將它變成OS X Safari 9.1(推測是Safari 9.2或10)的任何版本。
「fi」被字體引擎處理爲(潛在的)ligature,通常呈現爲使得「f」的橫條和「i」中的點合併成一條線段。這就是爲什麼你的測試用例中的其他字母組合沒有觸發錯誤;只有「fi」纔有可能成爲連字符,因此當字體引擎與一個軟連字符相鄰時,它會觸發字體引擎中的錯誤。
不幸的是,這個WebKit的bug在iOS 9.2.3的Safari中仍然存在。我在我的網頁上使用了一些網頁字體(例如Roboto Slab)。我的解決辦法是將「F」和之間的零寬度非木特殊字符,打破了連字「I」,例如:
f‌ilter
「的day_的_Weird軟斷字蟲」 - 這是嚴重的是什麼意思? – davidkonrad
@davidkonrad問題是認真的意思,是的。如果您在iOS或Mac OS X上使用Safari,該錯誤應該是可重現的。我希望可以在jsfiddle上使用非正式標題。 – bjornte