亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

android中怎么解決中文字體向上偏移

發布時間:2021-06-12 18:52:04 來源:億速云 閱讀:169 作者:Leah 欄目:移動開發

這篇文章給大家介紹android中怎么解決中文字體向上偏移,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

1.bug 出現

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

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

2.第二個問題出現

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

3.最終的方案

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

3.1 字體下載

到網上下載一個中文字體,這里我使用的是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")
})

然后執行

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中怎么解決中文字體向上偏移就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

蒲城县| 新巴尔虎右旗| 壤塘县| 滕州市| 绥芬河市| 星子县| 双城市| 贡嘎县| 广汉市| 昌江| 阿拉善左旗| 阜城县| 宜城市| 武乡县| 镇平县| 子长县| 乐东| 锡林郭勒盟| 海南省| 两当县| 兰州市| 乌拉特中旗| 大英县| 施秉县| 阳朔县| 石渠县| 茶陵县| 犍为县| 平和县| 宝坻区| 竹北市| 剑阁县| 泰宁县| 昌黎县| 周口市| 三河市| 陆川县| 西青区| 新化县| 临汾市| 汶上县|