Egret引擎外部字型的解決方案

2021-09-23 22:08:44 字數 841 閱讀 2276

最新官方文件太老了

官方論壇上也有多個帖子在詢問

經過多次來回試驗,終於找到可行的解決方案。在下列版本上,用小公尺,錘子,oppo的多款手機測試通過

引擎版本: 5.2.16 ~5.2.20(當前最新版本)

native android版本: 0.1.16和0.1.17(當前最新版本)

先概括一下:在web和native兩個平台上,支援外部字型的方法不同。

我們把要使用的字型放到resource目錄下, 比如名字是:testfont.ttf

1、在web上支援的方法。修改index檔案,增加乙個一種字型:

然後在引擎的label上,用fontfamily="saira semicondensed", 就可以使用這個字型了.。可以在exml中直接定義,很方便。

2、在native android 上支援的方法。

在label,使用**如下:

let mylabel: eui.label

mylabe.fontfamily = "resource/testfont.ttf";

3、把上面兩個方案結合起來。

上面這兩種方案是不相容的。native的方案直接用瀏覽器訪問,字型會非常小,怪異。加上判斷即可。注意判斷native版本,要使用 egret.runtimetype.runtime2,而不是egret.runtimetype.native

let mylabel: eui.label

if (egret.capabilities.runtimetype == egret.runtimetype.runtime2) {

mylabel.fontfamily = "resource/testfont.ttf";

Android 外部字型的引入

字型ttf檔案放在assets檔案下的fonts資料夾下面 address text textview findviewbyid r.id.address 引入roboto medium字型 typeface typeface typeface.createfromasset getassets f...

關於外部字型的使用

完整的字型庫檔案對於web應用來說太過龐大 解決方案一 字蛛 所謂字型庫,就是要包含盡可能多的字型,其實應用中可能根本用不到這麼多,這時候就可以使用字蛛壓縮一下,它會識別html中的所有用到該字型的文字,去除沒有用到的字型。使用方法 注意 1.font face 中的 src 定義的 ttf 檔案必...

cordova不是內部或外部命令的解決方案

今天安裝用npm全域性安裝cordova,再執行cordova命令時,出現 cordova不是內部或外部命令 覺得挺奇怪的,然後發現,之前使用npm全域性安裝的npm包都不能使用全域性命令了,像cnpm http server。其實原因很簡單,就是未配置環境變數,所以系統找不到命令的執行檔案。找到系...