我使用UTF-8編碼和字體'Lato
'和'Open Sans
'字符ü
有問題。使用Safari和Chrome特殊字符問題在Firefox和IE瀏覽器中使用utf8使用webfonts
是沒有問題的,但是當我的Firefox在Windows或Mac或IE可以在這裏看到的問題:
Lato
和Open Sans
來自谷歌網絡字體 - Helvetica字體是本地字體。
還在BrowserStack上進行了測試 - 同樣的問題。
那麼我該如何解決這個問題?
我使用UTF-8編碼和字體'Lato
'和'Open Sans
'字符ü
有問題。使用Safari和Chrome特殊字符問題在Firefox和IE瀏覽器中使用utf8使用webfonts
是沒有問題的,但是當我的Firefox在Windows或Mac或IE可以在這裏看到的問題:
Lato
和Open Sans
來自谷歌網絡字體 - Helvetica字體是本地字體。
還在BrowserStack上進行了測試 - 同樣的問題。
那麼我該如何解決這個問題?
其原因是,你有字母「U」的形式分解爲代表,如「U」,後跟一個組合分音符,例如在
<strong style="color: #CE5A5A;">Von der Gründung im Musikpark zur Marktführerschaft</strong>
由「ü」 U + 00FC拉丁小字母U替換「ü」(U + 0075拉丁小寫字母U U + 0308 COMBINING分音符)帶分音符。他們可能看起來完全一樣,但他們可能不會 - 在這種情況下,他們不會,因爲Lato不包含U + 0308,所以瀏覽器從Arial或其他字體中選擇它,導致印刷災難。
如果您使用W3C HTML5 validator檢查頁面,您將看到一些警告「文本運行不在Unicode規範化表單C中」。其中至少有一個表示以分解形式(「lädt」中的「ä」這也很糟糕),它也應該被修復。
當您使用字符分解的形式存在於統一的預組合形式,也如「A」和「U」,文字是不是在範式C(NFC)。這不是無效的,但它並不常見,並且可能會導致這樣的問題,並且這是W3C的一般政策(儘管在HTML5 CR中沒有聲明)有利於NFC。
非常感謝你的偉大的解釋! – CodeBrauer