Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android中添加思源字體/NotoSansCJK/SourceHanSans

Android中添加思源字體/NotoSansCJK/SourceHanSans

編輯:關於Android編程

系統版本:Android 4.2.2_r1

本文主要是在Android中添加思源字體的過程記錄。思源字體是Google和Adobe在2014.07.18發布的中文字體。

1.獲取思源字體(Google:Noto Sans CJK; Adobe:Source Han Sans)。

2.解壓後如下幾個才是思源字體。

NotoSansHans-Regular.otf 常規 NotoSansHans-Black.otf 黑體 NotoSansHans-DemiLight.otf NotoSansHans-Medium.otf NotoSansHans-Thin.otf NotoSansHans-Bold.otf 加粗 NotoSansHans-Light.otf

注:這裡說下otf,意為opentype和ttf(truetype)是兼容的。

3.安裝體驗

由於Android中只使用到常規和加粗體,這裡也只以這兩個做實驗(同時也有容量的考慮),在高PPI(分辨率)的屏幕上或許只是感覺到字形變了,在低分辨率的屏幕上變的更加清晰了,前後對比:

之前:

\

之後:<喎?/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHA+PGltZyBzcmM9"/uploadfile/2014/0819/20140819111133821.jpg" alt="\">

(上傳到這裡就不清晰了,真是怪,點擊鏈接看原圖更為清晰)

  1) 將NotoSansHans-Regular.otf NotoSansHans-Bold.otf放到/system/fonts/目錄下。

  2) 將如下fallback_fonts.xml放到/vendor/etc/下。

NotoSansHans-Regular.otf

NotoSansHans-Bold.otf

同時也有做好的字庫加xml在這裡下載,還原的時將這三個文件刪除即可。

4.以源碼方式添加

如果需要在制作rom時就可以自動添加默認中文字體,思路和上邊的類似,以下是git log信息。

commit xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Author: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Date: Mon Aug 18 15:44:24 2014 +0800

Add Noto Sans CJK fonts for Chinese

diff --git a/device/rockchip/rk30sdk/device.mk b/device/rockchip/rk30sdk/device.mk

index 8befd40..b4e2822 100755

--- a/device/rockchip/rk30sdk/device.mk

+++ b/device/rockchip/rk30sdk/device.mk

@@ -119,6 +119,10 @@ PRODUCT_COPY_FILES += \

+#fonts

+PRODUCT_COPY_FILES += \

+ frameworks/base/data/fonts/vendor_fonts.xml:$(TARGET_COPY_OUT_VENDOR)/etc/fallback_fonts.xml

diff --git a/frameworks/base/data/fonts/Android.mk b/frameworks/base/data/fonts/Android.mk

index e02e95a..0b4bc6c 100755

--- a/frameworks/base/data/fonts/Android.mk

+++ b/frameworks/base/data/fonts/Android.mk

@@ -157,6 +157,8 @@ font_src_files += \

DroidSansHebrew-Regular.ttf \

DroidSansHebrew-Bold.ttf \

DroidSansThai.ttf \

+ NotoSansHans-Regular.otf \

+ NotoSansHans-Bold.otf \

DroidSansArmenian.ttf \

DroidSansGeorgian.ttf \

AndroidEmoji.ttf

diff --git a/frameworks/base/data/fonts/NotoSansHans-Bold.otf b/frameworks/base/data/fonts/NotoSansHans-Bold.otf

new file mode 100644

index 0000000..006372e

Binary files /dev/null and b/frameworks/base/data/fonts/NotoSansHans-Bold.otf differ

diff --git a/frameworks/base/data/fonts/NotoSansHans-Regular.otf b/frameworks/base/data/fonts/NotoSansHans-Regular.otf

new file mode 100644

index 0000000..923f89c

Binary files /dev/null and b/frameworks/base/data/fonts/NotoSansHans-Regular.otf differ

diff --git a/frameworks/base/data/fonts/fonts.mk b/frameworks/base/data/fonts/fonts.mk

index 875795a..490c6e6 100755

--- a/frameworks/base/data/fonts/fonts.mk

+++ b/frameworks/base/data/fonts/fonts.mk

@@ -38,6 +38,8 @@ PRODUCT_PACKAGES := \

DroidSansHebrew-Regular.ttf \

DroidSansHebrew-Bold.ttf \

DroidSansThai.ttf \

+ NotoSansHans-Regular.otf \

+ NotoSansHans-Bold.otf \

DroidSerif-Regular.ttf \

DroidSerif-Bold.ttf \

DroidSerif-Italic.ttf \

diff --git a/frameworks/base/data/fonts/vendor_fonts.xml b/frameworks/base/data/fonts/vendor_fonts.xml

index 8690ee1..fba0c88 100755

--- a/frameworks/base/data/fonts/vendor_fonts.xml

+++ b/frameworks/base/data/fonts/vendor_fonts.xml

@@ -45,17 +45,26 @@

-

---->

需要強調一點,關於字體拷貝,經過測試發現需要同時修改Android.mk和fonts.mk才可以完成拷貝。Google是以Apache License, version 2.0協議發布的,所以大可不必擔心會有律師函的問題,在高版本的Android中這套字體已經是內置到Android中了。DroidSansFallback.ttf並不是完全指中文字體,由於之前並沒有開發出專心的中文字體,目前處理方法是把所以暫時不規范的字體都放入了DroidSansFallback.ttf中,Fallback是備胎的意思,所有的胎都爆了才會使用這個。

參考:《關於Android的字體》。低版本的Android參考《Android 如何增加新的字庫》 <完>

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved