最新官方文档太老了

http://developer.egret.com/cn/github/egret-docs/Engine2D/textField/textStyle/index.html

还在使用egret.registerFontMapping(),这个API早就不支持了。

官方论坛上也有多个帖子在询问

https://bbs.egret.com/forum.php?mod=viewthread&tid=54983&highlight=%E5%AD%97%E4%BD%93

https://bbs.egret.com/forum.php?mod=viewthread&tid=52751&highlight=%E5%AD%97%E4%BD%93

经过多次来回试验,终于找到可行的解决方案。在下列版本上,用小米,锤子,oppo的多款手机测试通过

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

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

先概括一下:在web和native两个平台上,支持外部字体的方法不同。

我们把要使用的字体放到resource目录下, 比如名字是:testFont.TTF

1、在web上支持的方法。修改index文件,增加一个一种字体:

<style>

html, body {

-ms-touch-action: none;

background: #000000;

padding: 0;

border: 0;

margin: 0;

height: 100%;

}

</style>

<style type="text/css"> /* 在默认的style后面加一个字体style就可以了。 */

@font-face {

font-family: 'Saira SemiCondensed';

src:url('./resource/testFont.TTF') format('truetype');

font-weight: normal;

font-style: normal;

}

div

{

font-family: "Saira SemiCondensed";

}

</style>

然后在引擎的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";

}

Egret引擎外部字体的解决方案相关推荐

  1. egret引入外部字体

        由于默认的字体类型都不满足我们的ui设计要求,我们经常需要引入一些外部的字体,这里记录一下egret如何引入外部字体,之前百度和谷歌下来,方式都是一样的,就是在index.html中引入字体样 ...

  2. java安卓字体_Android中添加外部字体库和竖直排列字体

    一.在Android开发中会遇到系统提供的字体并不能满足自己对字体的设计需要,这就需要引进外部字体库了.下面简述一下如何引入外部字体库. 1>在自己工程文件目录下新建一个assets文件夹,在a ...

  3. egret与php相连,JavaScript_Mac OS X 系统下安装和部署Egret引擎开发环境, 概述 Egret基于TypeScript开 - phpStudy...

    Mac OS X 系统下安装和部署Egret引擎开发环境 概述 Egret基于TypeScript开发的,而TypeScript编译工具tsc是基于Node.js开发的.所以在安装过程中,我们先需要对 ...

  4. 白鹭安装node_Mac OS X 系统下安装和部署Egret引擎开发环境

    概述 Egret基于TypeScript开发的,而TypeScript编译工具tsc是基于Node.js开发的.所以在安装过程中,我们先需要对于基础支持工具进行安装.需要安装的软件如下: Node.j ...

  5. CSS字体:Webfont在线字体与外部字体及操作系统预装字体使用指南

    前言 熟知,从HTML4时代把图标做在一张图上使用css background来提高页面加载速度到"扁平化UI"趋势的到来,再到"手机UI"简洁化设计的大浪潮的 ...

  6. 在微信小程序使用外部字体

    有了解过微信小程序的朋友都应该知道,微信小程序其实说白了就是一个浏览器,一个基于webkit内核的浏览器,我们浏览特定的小程序其实就是在浏览特定的网页,但是问题是这个浏览器和同样基于webkit内核的 ...

  7. 中文版Chrome浏览器不支持12px以下字体的解决方案

    中文版Chrome浏览器不支持12px以下字体的解决方案 Chrome 27之前的中文版桌面浏览器会默认设定页面的最小字号是12px,英文版则没有限制,主要是因为chrome认为汉字小于12px就会增 ...

  8. 【微信小程序】真机调试引用的外部字体不生效问题

    项目场景: 前提:之前的在H5和开发者工具里面都正常: 问题描述 问题:在H5和开发者工具里面字体引用都正常,但是真机调试出现问题. 在H5和开发者工具里面字体引用不正常的参考我的上一篇文章: 解决引 ...

  9. egret发布的HTML5项目怎么打开,Egret引擎开发指南之发布项目

    在Egret中,使用发布功能也非常的简单.你只需要使用如下命令即可: egret publish HelloWorld 此命令中egret publish为发布命令,HelloWorld是你当前项目的 ...

最新文章

  1. 在IAR 中出现the stack plug-in failed to set a breakpoint on main
  2. 分组显示的ListView分页加载数据
  3. Table Store: 海量结构化数据实时备份实战
  4. 【ElasticSearch】es ResourceWatcherService 的 初始化 启动 源码解析
  5. 北京最值得逛的50个地方:后海、798、簋街...
  6. 2019年1月13日【回家】
  7. 微信demo小游戏:飞机大战从无到有
  8. QT 学习之饼状图实现
  9. js实现word生成书签_javascript下用ActiveXObject控件替换word书签,将内容导
  10. 【python--爬虫】彼岸图网高清壁纸爬虫
  11. Adversarial Generation of Continuous Images 阅读笔记
  12. 携程Java后台开发面经
  13. 微信公众号第三方平台开发PYTHON教程 PART 5
  14. 重新编译CDH版本hadoop报错:Non-resolvable parent POM: Could not transfer artifact com.
  15. 微信朋友圈信息流可能采用算法排序吗?
  16. 分享35套极其精美的高清桌面壁纸免费下载
  17. 对向传播神经网络(CPN)
  18. Echart颜色设置
  19. VTK8.2.0安装步骤
  20. 一句shell命令搞定代码行数统计

热门文章

  1. git拉取分支中指定文件到本地
  2. 移相全桥的控制模型的建立和仿真
  3. git进行rebase操作报错提示“hint: Waiting for your editor to close the file... ”
  4. [转]Google Protocol Buffers 之.Net应用
  5. 关于不定方程解的个数的问题
  6. 和肖哥在一起学hcnp的日子
  7. 深大uooc大学生心理健康章节答案第十章
  8. Mycat启动出现的报错字段及解决方法
  9. Python 动态定义变量名
  10. netty自定义channel id