my.loadFontFace

动态加载网络字体,文件地址需为下载类型。iOS 仅支持 HTTPS 格式文件地址。

阿里云小程序目前只支持 woff,otf,ttf,sfnt字体。

注意:阿里云小程序不支持 woff2 字体,原因是:

  • 相对其他格式字体,对内存占用较高。

  • 此字体支持对于内核 so size 有较大负担,目前阿里云使用的 u4 内核 3.0 将 woff2 格式支持给裁剪了,导致无法正常显示, 建议业务使用其他格式。

示例代码

<!-- .axml -->
<view class="page">
  <view class="page-description">动态加载网络字体</view>
  <view class="page-section">
    <view class="page-section-title">loadFontFace</view>
    <view class="page-section-demo">
      <button size="default" type="primary" onTap="loadFontFace">
        loadFontFace
      </button>
    </view>
  </view>
</view>

// .js
Page({
  data: {},
  onLoad() { },
  loadFontFace() {
    my.loadFontFace({
      family: 'Bitstream Vera Serif Bold',
      source: 'url("https://sungd.github.io/Pacifico.ttf")',
      success() {
        my.alert({
          title: 'loadfontface 成功!!!',
        })
      },
      fail: (err) => {
        my.alert({
          content: JSON.stringify(err),
        })
      },
    })
  },
})

入参

入参为 Object 类型,属性如下:

属性

类型

必填

描述

family

String

字体名称

source

String

字体资源地址。

desc

Object

字体描述符

success

Function

调用成功的回调函数

fail

Function

调用失败的回调函数

complete

Function

调用结束的回调函数(调用成功、失败都会执行)

desc 结构

名称

类型

默认值

必填

描述

style

String

normal

字体样式,可选值为 normal / italic / oblique

weight

String

normal

字体粗细,可选值为 normal / bold / 100 / 200../ 900

variant

String

normal

设置小型大写字母的字体显示文本,可选值为 normal / small-caps / inherit

阿里云首页 相关技术圈