編輯:關於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/下。
同時也有做好的字庫加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 如何增加新的字庫》 <完>
一、微博開發者平台的使用新浪微博這裡主要是介紹使用新浪微博的開發者平台。想要做一個基於微博登陸或者其他一系列操作的,我們先要登陸他們的官網進行注冊使用,首先是要注冊成為一
目前有越來越多的手機具備自動對焦的拍攝功能,這也意味著這些手機可以具備條碼掃描的功能。手機具備條碼掃描的功能,可以優化購物流程,快速存儲電子名片(二維碼)等。本文所述實例
Android上傳圖片之調用系統拍照和從相冊選擇圖片前言:萬丈高樓平底起,萬事起於微末。不知不覺距離上篇博文已近四個月,2015年12月17日下午發了第一篇博文,現在是2
1、概述 相信大家對AsyncTask都不陌生,對於執行耗時任務,然後更新UI是一把利器,當然也是替代Thread + Handler 的一種方式。如果你對