全部产品

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 类型,属性如下:

属性类型必填描述
familyString字体名称
sourceString字体资源地址。
descObject字体描述符
successFunction调用成功的回调函数
failFunction调用失败的回调函数
completeFunction调用结束的回调函数(调用成功、失败都会执行)

desc 结构

名称类型默认值必填描述
styleStringnormal字体样式,可选值为 normal / italic / oblique
weightStringnormal字体粗细,可选值为 normal / bold / 100 / 200../ 900
variantStringnormal设置小型大写字母的字体显示文本,可选值为 normal / small-caps / inherit