@ohos.fontManager (字体管理)(系统接口)

字体管理模块,提供给系统应用安装和卸载三方字体的能力。

说明:

  • 本模块首批接口从API version 19开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。

  • 本模块为系统接口。

导入模块

import { fontManager } from '@kit.LocalizationKit';

installFont

installFont(path: string): Promise<number>

安装指定路径下的字体。使用promise异步回调。

需要权限: ohos.permission.UPDATE_FONT

系统能力: SystemCapability.Global.FontManager

参数:

参数名 类型 必填 说明
path string 安装字体文件路径。

返回值:

类型 说明
Promise<number> 返回安装结果。返回为0表示安装成功,否则安装失败。

错误码:

以下错误码的详细介绍请参见通用错误码字体管理错误码

错误码ID 错误信息
201 Permission denied.
202 Non-system application.
31100101 Font does not exist.
31100102 Font is not supported.
31100103 Font file copy failed.
31100104 Font file installed.
31100105 Exceeded maximum number of installed files.
31100106 Other error.

示例:

import { fontManager } from '@kit.LocalizationKit';

async function installFont() {
  try {
    let res = await fontManager.installFont('fontPath');
    console.info('installFont suc. res is ' + res);
  } catch (error) {
    console.error('installFont err.' + error.code);
  }
  return;
}

uninstallFont

uninstallFont(fullName: string): Promise<number>

卸载指定名称的字体。使用promise异步回调。

需要权限: ohos.permission.UPDATE_FONT

系统能力: SystemCapability.Global.FontManager

参数:

参数名 类型 必填 说明
fullName string 需要卸载的字体名称,字体名称可通过打开.ttf或.ttc字体文件获取。

返回值:

类型 说明
Promise<number> 返回卸载结果。返回为0表示卸载成功,否则卸载失败。

错误码:

以下错误码的详细介绍请参见通用错误码字体管理错误码

错误码ID 错误信息
201 Permission denied.
202 Non-system application.
31100107 Font file does not exist.
31100108 Font file delete error.
31100109 Other error.

示例:

import { fontManager } from '@kit.LocalizationKit';

async function uninstallFont() {
  try {
    let res = await fontManager.uninstallFont('fontName');
    console.info('uninstallFont suc. res is ' + res);
  } catch (error) {
    console.error('uninstallFont err.' + error.code);
  }
  return;
}

dataMigration23+

dataMigration(callback: DataMigrationCallback): number

设备升级时使用的数据迁移接口,用于拉起迁移任务。

需要权限: ohos.permission.UPDATE_FONT

系统能力: SystemCapability.Global.FontManager

参数:

参数名 类型 必填 说明
callback DataMigrationCallback 数据迁移的回调函数。

返回值:

类型 说明
number 返回拉起数据迁移任务结果。返回为0表示拉起成功,否则拉起失败。

错误码:

以下错误码的详细介绍请参见通用错误码字体管理错误码

错误码ID 错误信息
201 Permission denied.
202 Non-system application.
31100110 System error.
31100111 DataMigrationing.

示例:

import { fontManager } from '@kit.LocalizationKit';

async function dataMigration() {
  const callback: fontManager.DataMigrationCallback = {
    onHeartBeat: () => {
      console.info('onHeartBeat callback');
    },
    onProgress: (progress : fontManager.DataMigrationProgress) => {
      console.info('onProgress callback');
    },
    onResult: (result : number) => {
      console.info('onResult callback');
    }
  }
  try {
    let res = await fontManager.dataMigration(callback);
    console.info('dataMigration suc. res is ' + res);
  } catch (error) {
    console.error('dataMigration err.' + error.code);
  }
}

DataMigrationCallback23+

数据迁移时使用的回调类型。

onHeartBeat23+

onHeartBeat(): void

回调函数,用于返回心跳回调。

系统能力: SystemCapability.Global.FontManager

示例:

import { fontManager } from '@kit.LocalizationKit';

async function dataMigration() {
  const callback: fontManager.DataMigrationCallback = {
    onHeartBeat: () => {
      console.info('onHeartBeat callback');
    },
    onProgress: (progress : fontManager.DataMigrationProgress) => {
      console.info('onProgress callback');
    },
    onResult: (result : number) => {
      console.info('onResult callback');
    }
  }
  try {
    let res = await fontManager.dataMigration(callback);
    console.info('dataMigration suc. res is ' + res);
  } catch (error) {
    console.error('dataMigration err.' + error.code);
  }
}

onProgress23+

onProgress(progress : DataMigrationProgress): void

回调函数,用于返回数据迁移进度。

系统能力: SystemCapability.Global.FontManager

参数:

参数名 类型 必填 说明
progress DataMigrationProgress 数据迁移进度信息。

示例:

import { fontManager } from '@kit.LocalizationKit';

async function dataMigration() {
  const callback: fontManager.DataMigrationCallback = {
    onHeartBeat: () => {
      console.info('onHeartBeat callback');
    },
    onProgress: (progress : fontManager.DataMigrationProgress) => {
      console.info('onProgress callback');
    },
    onResult: (result : number) => {
      console.info('onResult callback');
    }
  }
  try {
    let res = await fontManager.dataMigration(callback);
    console.info('dataMigration suc. res is ' + res);
  } catch (error) {
    console.error('dataMigration err.' + error.code);
  }
}

onResult23+

onResult(result : number): void

回调函数,用于返回数据迁移的结果。

系统能力: SystemCapability.Global.FontManager

参数:

参数名 类型 必填 说明
result number 数据迁移结果。
0:数据迁移成功。
1:无需进行数据迁移。
2:获取用户ID失败。
3:检查目录失败。
4:初始化缓存目录失败。
5:打开源文件失败。
6:拷贝失败。
7:文件重命名失败。
8:文件删除失败。

示例:

import { fontManager } from '@kit.LocalizationKit';

async function dataMigration() {
  const callback: fontManager.DataMigrationCallback = {
    onHeartBeat: () => {
      console.info('onHeartBeat callback');
    },
    onProgress: (progress : fontManager.DataMigrationProgress) => {
      console.info('onProgress callback');
    },
    onResult: (result : number) => {
      console.info('onResult callback');
    }
  }
  try {
    let res = await fontManager.dataMigration(callback);
    console.info('dataMigration suc. res is ' + res);
  } catch (error) {
    console.error('dataMigration err.' + error.code);
  }
}

DataMigrationProgress23+

描述数据迁移的进度信息。

系统能力: SystemCapability.Global.FontManager

名称 类型 只读 可选 说明
timeRemaining number 表示预计剩余时间,单位:秒。
progressPercentage number 表示数据迁移百分比进展,取值:0-100。