android中如何解決中文字體向上偏移-創(chuàng)新互聯(lián)

本篇內(nèi)容介紹了“android中如何解決中文字體向上偏移”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!

成都創(chuàng)新互聯(lián)公司專業(yè)提供雅安服務(wù)器托管服務(wù),為用戶提供五星數(shù)據(jù)中心、電信、雙線接入解決方案,用戶可自行在線購買雅安服務(wù)器托管服務(wù),并享受7*24小時金牌售后服務(wù)。

1.bug 出現(xiàn)


目前在開發(fā) webapp,在調(diào)試的時候,發(fā)現(xiàn)項目里面的中文有一點向上偏移。具體表現(xiàn)為:使用開發(fā)者工具去查看元素,元素的真實高度和位置與文字不同。列如,一個spanfont-sizeline-height都設(shè)置為16px,在調(diào)試時,元素的高度確實是16px,但是,中文的高度看起來并不止16px,而且顯示的位置明顯超出了元素的尺寸范圍,向上偏移。

開始的時候還以為是樣式導致的,于是嘗試各種修改 css,但是完全沒有用。后來在網(wǎng)上看到用“定位”或者“上邊距”來強制文字的位置,但是發(fā)現(xiàn)這個方法太麻煩了,最終放棄這個方案。
后來想到使用的是ubuntu,懷疑可能是系統(tǒng)默認字體的原因?qū)е铝诉@個問題。于是下載了一個字體文件(用的是“思源黑體”)。然后配置全局字體,發(fā)現(xiàn)可以解決這個問題。

2.第二個問題出現(xiàn)

雖然使用自定義字體解決了中文文字偏移的問題,但是由于字體文件太大導致性能很不理想。無論是將字體文件放到服務(wù)器還是使用 cdn 都不理想。最終找到了fontmin這個插件。這個插件的原理是將字體文件中的字符集進行篩選,生成的新的字體文件中,只包含要使用到的文字字符集。

3.最終的方案

雖然fontmin可以進行字符集篩選,但是項目中到底需要哪些中文文字是不確定的。但沒有關(guān)系,經(jīng)過實驗,使用一個只有0這個字符集的字體文件同樣可以解決我們最初的問題。下面來看實現(xiàn)步驟。

3.1 字體下載

到網(wǎng)上下載一個中文字體,這里我使用的是google fonts。先測試一下,直接引用這個字體后,是否可以解決字體偏移??梢缘脑?,進行下一步。

3.2 安裝 fontmin

這里不推薦全局安裝,在項目里面安裝即可。

npm install fontmin -D

然后編寫配置文件。這里我是寫在項目根目錄的。

// fontmin-config.js

var Fontmin = require("fontmin")
var srcPath = "./src/assets/fonts/my-font.ttf" // 字體源文件
var destPath = "./src/assets/font-output/" // 輸出路徑
var text = "0" // 篩選的字符集

var fontmin = new Fontmin()
  .src(srcPath) // 輸入配置
  .use(
    Fontmin.glyph({
      text: text
    })
  )
  .dest(destPath) // 輸出配置

fontmin.run(function(err, files, stream) {
  if (err) {
    console.error(err)
  }
  console.log("done")
})

然后執(zhí)行

cd your-project-dir
node ./fontmin-config.js

3.3 配置 css

// global.css

@font-face {
  font-family: "my-font";
  src: url("../fonts/my-font.ttf");
}

html,body{
  font-family: "my-font", sans-serif;
}

“android中如何解決中文字體向上偏移”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

當前題目:android中如何解決中文字體向上偏移-創(chuàng)新互聯(lián)
轉(zhuǎn)載來于:http://muchs.cn/article44/dpeghe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁設(shè)計公司、域名注冊、定制開發(fā)營銷型網(wǎng)站建設(shè)、靜態(tài)網(wǎng)站Google

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)