@tarojs/taro
Version:
Taro framework
78 lines (74 loc) • 2.9 kB
TypeScript
import Taro from '../../index'
declare module '../../index' {
namespace loadFontFace {
interface Option {
/** 是否全局生效
* @default false
*/
global?: boolean,
/** 定义的字体名称 */
family: string
/** 字体资源的地址。建议格式为 TTF 和 WOFF,WOFF2 在低版本的 iOS 上会不兼容。 */
source: string
/** 可选的字体描述符 */
desc?: DescOption
/** 接口调用成功的回调函数 */
success?: (res: CallbackResult) => void
/** 接口调用失败的回调函数 */
fail?: (res: CallbackResult) => void
/** 接口调用结束的回调函数(调用成功、失败都会执行) */
complete?: (res: CallbackResult) => void
}
interface CallbackResult extends TaroGeneral.CallbackResult {
/** 加载字体结果 */
status: string
}
/** 可选的字体描述符 */
interface DescOption {
/** @supported h5 */
ascentOverride?: string
/** @supported h5 */
descentOverride?: string
/** @supported h5 */
featureSettings?: string
/** @supported h5 */
lineGapOverride?: string
/** @supported h5 */
stretch?: string
/** 字体样式,可选值为 normal / italic / oblique */
style?: string
/** @supported h5 */
unicodeRange?: string
/** 设置小型大写字母的字体显示文本,可选值为 normal / small-caps / inherit */
variant?: string
/** @supported h5 */
variationSettings?: string
/** 字体粗细,可选值为 normal / bold / 100 / 200../ 900 */
weight?: string
}
}
interface TaroStatic {
/** 动态加载网络字体。文件地址需为下载类型。iOS 仅支持 https 格式文件地址。
*
* 注意:
* 1. 字体文件返回的 context-type 参考 [font](https://www.iana.org/assignments/media-types/media-types.xhtml#font),格式不正确时会解析失败。
* 2. 字体链接必须是https(ios不支持http)
* 3. 字体链接必须是同源下的,或开启了cors支持,小程序的域名是`servicewechat.com`
* 4. canvas等原生组件不支持使用接口添加的字体
* 5. 工具里提示 Failed to load font 可以忽略
* @supported weapp, alipay, h5, harmony_hybrid
* @h5 不支持 global (默认全局加载)
* @alipay source 地址格式为 `url('https://...')`,而不是单纯 URL 地址
* @example
* ```tsx
* Taro.loadFontFace({
* family: 'Bitstream Vera Serif Bold',
* source: 'url("https://sungd.github.io/Pacifico.ttf")',
* success: console.log
* })
* ```
* @see https://developers.weixin.qq.com/miniprogram/dev/api/ui/font/wx.loadFontFace.html
*/
loadFontFace(option: loadFontFace.Option): Promise<loadFontFace.CallbackResult>
}
}