ToB企服应用市场:ToB评测及商务社交产业平台

标题: 鸿蒙API13开发【@ohos.font (注册自界说字体)】UI界面API [打印本页]

作者: 傲渊山岳    时间: 前天 02:55
标题: 鸿蒙API13开发【@ohos.font (注册自界说字体)】UI界面API
本模块提供注册自界说字体。
说明
本模块首批接口从API version 9开始支持。后续版本的新增接口,接纳上角标单独标记接口的起始版本。
本模块功能依赖UI的执行上下文,不可在UI上下文不明确的地方使用
从API version 10开始,可以通过使用[UIContext]中的[getFont]方法获取当前UI上下文关联的[Font]对象。
导入模块

  1. import { font } from '@kit.ArkUI'
复制代码
font.registerFont

registerFont(options: FontOptions): void
在字体管理中注册自界说字体。
元服务API:  从API version 11开始,该接口支持在元服务中使用。
体系能力:  SystemCapability.ArkUI.ArkUI.Full
参数:
参数名类型必填说明options[FontOptions]是注册的自界说字体信息。 FontOptions

元服务API:  从API version 11开始,该接口支持在元服务中使用。
体系能力:  SystemCapability.ArkUI.ArkUI.Full
名称类型必填说明familyNamestring[Resource]10+是familySrcstring[Resource]10+是 示例:
说明
推荐通过使用[UIContext]中的[getFont]方法获取当前UI上下文关联的[Font]对象。
  1. // xxx.etsimport { font } from '@kit.ArkUI'
  2. ;@Entry@Componentstruct FontExample {  @State message: string = 'Hello World'  // iconFont示例,假设0000为指定icon的Unicode,现实需要开发者从注册的iconFont的ttf文件内里获取Unicode  @State unicode: string = '\u0000'  @State codePoint: string = String.fromCharCode(0x0000)  aboutToAppear() {    // familyName和familySrc都支持体系Resource    font.registerFont({ // 发起使用 this.getUIContext().getFont().registerFont()接口      familyName: $r('app.string.font_name'),      familySrc: $r('app.string.font_src')    })    // familySrc支持RawFile    font.registerFont({      familyName: 'mediumRawFile',      familySrc: $rawfile('font/medium.ttf')    })    // 注册iconFont    font.registerFont({      familyName: 'iconFont',      familySrc: '/font/iconFont.ttf'    })    // familyName和familySrc都支持string    font.registerFont({      familyName: 'medium',      familySrc: '/font/medium.ttf' // font文件夹与pages目次同级    })  }  build() {    Column() {      Text(this.message)        .align(Alignment.Center)        .fontSize(20)        .fontFamily('medium') // medium:注册自界说字体的名字($r('app.string.mediumFamilyName')、'mediumRawFile'等已注册字体也能正常使用)      // 使用iconFont的两种方式      Text(this.unicode)        .align(Alignment.Center)        .fontSize(20)        .fontFamily('iconFont')      Text(this.codePoint)        .align(Alignment.Center)        .fontSize(20)        .fontFamily('iconFont')    }.width('100%')  }}
复制代码
说明
应用若需全局使用自界说字体,请在EntryAbility.ets文件的[onWindowStageCreate]生命周期中,通过[windowStage.loadContent]回调注册。
在HSP工程中,不推荐接纳相对路径的方式注册自界说字体。
font.getSystemFontList10+

getSystemFontList(): Array
获取风格字体列表。
元服务API:  从API version 11开始,该接口支持在元服务中使用。
体系能力:  SystemCapability.ArkUI.ArkUI.Full
返回值:
类型说明Array体系的字体名列表。 说明
该接口仅在2in1设备上生效。
示例:
说明
推荐通过使用[UIContext]中的[getFont]方法获取当前UI上下文关联的[Font]对象。
  1. // xxx.etsimport { font } from '@kit.ArkUI'
  2. ;@Entry@Componentstruct FontExample {  fontList: Array<string> = new Array<string>();  build() {    Column() {      Button("getSystemFontList")        .width('60%')        .height('6%')        .onClick(()=>{          this.fontList = font.getSystemFontList() // 发起使用 this.getUIContext().getFont().getSystemFontList()接口        })    }.width('100%')  }}
复制代码
font.getFontByName10+

getFontByName(fontName: string): FontInfo
根据传入的体系字体名称获取体系字体的干系信息。
元服务API:  从API version 11开始,该接口支持在元服务中使用。
体系能力:  SystemCapability.ArkUI.ArkUI.Full
参数:
参数名类型必填说明fontNamestring是体系的字体名。 返回值:
类型说明FontInfo字体的具体信息。 FontInfo10+

元服务API:  从API version 11开始,该接口支持在元服务中使用。
体系能力:  SystemCapability.ArkUI.ArkUI.Full
名称类型必填说明pathstring是体系字体的文件路径。postScriptNamestring是体系字体的postScript名称。fullNamestring是体系字体的名称。familystring是体系字体的字体家属。subfamilystring是体系字体的子字体家属。weightnumber是体系字体的粗细程度,单位px。widthnumber是体系字体的宽窄风格属性,单位px。italicboolean是体系字体是否倾斜。monoSpaceboolean是体系字体是否紧凑。symbolicboolean是体系字体是否支持符号字体。 示例:
说明
推荐通过使用[UIContext]中的[getFont]方法获取当前UI上下文关联的[Font]对象。
  1. // xxx.etsimport { font } from '@kit.ArkUI'
  2. ;@Entry@Componentstruct FontExample {  fontList: Array<string> = new Array<string>();  fontInfo: font.FontInfo = font.getFontByName('');  build() {    Column() {      Button("getFontByName")        .onClick(() => {          this.fontInfo = font.getFontByName('HarmonyOS Sans Italic') // 发起使用 this.getUIContext().getFont().getFontByName()接口          console.log("getFontByName(): path = " + this.fontInfo.path)          console.log("getFontByName(): postScriptName = " + this.fontInfo.postScriptName)          console.log("getFontByName(): fullName = " + this.fontInfo.fullName)          console.log("getFontByName(): Family = " + this.fontInfo.family)          console.log("getFontByName(): Subfamily = " + this.fontInfo.subfamily)          console.log("getFontByName(): weight = " + this.fontInfo.weight)          console.log("getFontByName(): width = " + this.fontInfo.width)          console.log("getFontByName(): italic = " + this.fontInfo.italic)          console.log("getFontByName(): monoSpace = " + this.fontInfo.monoSpace)          console.log("getFontByName(): symbolic = " + this.fontInfo.symbolic)        })    }.width('100%')  }}
复制代码
font.getUIFontConfig11+

getUIFontConfig() : UIFontConfig
获取体系的UI字体配置。
元服务API:  从API version 12开始,该接口支持在元服务中使用。
体系能力:  SystemCapability.ArkUI.ArkUI.Full
返回值:
类型说明[UIFontConfig]体系的UI字体配置信息。 UIFontConfig11+

元服务API:  从API version 12开始,该接口支持在元服务中使用。
体系能力:  SystemCapability.ArkUI.ArkUI.Full
名称类型必填说明fontDirArray是体系字体文件所在的路径。genericArray<[UIFontGenericInfo]>是体系所支持的通用字体集列表。fallbackGroupsArray<[UIFontFallbackGroupInfo]>是备用字体集。 UIFontGenericInfo11+

元服务API:  从API version 12开始,该接口支持在元服务中使用。
体系能力:  SystemCapability.ArkUI.ArkUI.Full
名称类型必填说明familystring是字体集名,字体文件中指定的"family"值。aliasArray<[UIFontAliasInfo]>是别名列表。adjustArray<[UIFontAdjustInfo]>是字体原本的weight值对应需显示的值。 UIFontFallbackGroupInfo11+

元服务API:  从API version 12开始,该接口支持在元服务中使用。
体系能力:  SystemCapability.ArkUI.ArkUI.Full
名称类型必填说明fontSetNamestring是备用字体集所对应的字体集名称。fallbackArray<[UIFontFallbackInfo]>是表示以下列表为该字体集的备用字体,如果fontSetName为"",表示可以作为全部字体集的备用字体。 UIFontAliasInfo11+

元服务API:  从API version 12开始,该接口支持在元服务中使用。
体系能力:  SystemCapability.ArkUI.ArkUI.Full
名称类型必填说明namestring是别名名称。weightnumber是当weight>0时表示此字体集只包含所指定weight的字体,当weight=0时,表示此字体集包含全部字体。 UIFontAdjustInfo11+

元服务API:  从API version 12开始,该接口支持在元服务中使用。
体系能力:  SystemCapability.ArkUI.ArkUI.Full
名称类型必填说明weightnumber是字体原本的weight值。tonumber是字体在应用中显示的weight值。 UIFontFallbackInfo11+

元服务API:  从API version 12开始,该接口支持在元服务中使用。
体系能力:  SystemCapability.ArkUI.ArkUI.Full
名称类型必填说明languagestring是字体集所支持的语言类型,语言格式为bcp47。familystring是字体集名,字体文件中指定的"family"值。 示例:
  1. // xxx.etsimport { font } from '@kit.ArkUI'
  2. ;@Entry@Componentstruct FontExample {  build() {    Column() {      Button("getUIFontConfig")        .width('60%')        .height('6%')        .margin(50)        .onClick(()=>{          let fontConfig = font.getUIFontConfig();          console.log("font-dir -----------" + String(fontConfig.fontDir.length));          for (let i = 0; i < fontConfig.fontDir.length; i ++) {            console.log(fontConfig.fontDir[i]);          }          console.log("generic-------------" + String(fontConfig.generic.length));          for (let i = 0; i < fontConfig.generic.length; i ++){            console.log("family:" + fontConfig.generic[i].family);            for (let j = 0; j < fontConfig.generic[i].alias.length; j ++){              console.log(fontConfig.generic[i].alias[j].name + " " + fontConfig.generic[i].alias[j].weight);            }            for (let j = 0; j < fontConfig.generic[i].adjust.length; j ++){              console.log(fontConfig.generic[i].adjust[j].weight + " " + fontConfig.generic[i].adjust[j].to);            }          }          console.log("fallback------------" + String(fontConfig.fallbackGroups.length));          for (let i = 0; i < fontConfig.fallbackGroups.length; i ++){            console.log("fontSetName:" + fontConfig.fallbackGroups[i].fontSetName);            for (let j = 0; j < fontConfig.fallbackGroups[i].fallback.length; j ++){              console.log("language:" + fontConfig.fallbackGroups[i].fallback[j].language + " family:" + fontConfig.fallbackGroups[i].fallback[j].family);            }          }        })    }.width('100%')  }}
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4