From c2d6a876f82708e75e4aae96f42aa8a365b6c42b Mon Sep 17 00:00:00 2001 From: WangJiazhen Date: Fri, 4 Jul 2025 15:34:30 +0800 Subject: [PATCH] =?UTF-8?q?Canvas=E7=BB=84=E4=BB=B6font=E5=B1=9E=E6=80=A7?= =?UTF-8?q?=E6=94=AF=E6=8C=81=E8=87=AA=E5=AE=9A=E4=B9=89=E5=AD=97=E4=BD=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: WangJiazhen --- .../OpenHarmony_6.0.0.40/changelogs-arkui.md | 69 +++++++++++++++++- .../figures/canvasFontAfter.jpg | Bin 0 -> 8185 bytes .../figures/canvasFontBefore.jpg | Bin 0 -> 9099 bytes 3 files changed, 68 insertions(+), 1 deletion(-) create mode 100644 zh-cn/release-notes/changelogs/OpenHarmony_6.0.0.40/figures/canvasFontAfter.jpg create mode 100644 zh-cn/release-notes/changelogs/OpenHarmony_6.0.0.40/figures/canvasFontBefore.jpg diff --git a/zh-cn/release-notes/changelogs/OpenHarmony_6.0.0.40/changelogs-arkui.md b/zh-cn/release-notes/changelogs/OpenHarmony_6.0.0.40/changelogs-arkui.md index f3f0f3e8ce6..df97611e722 100644 --- a/zh-cn/release-notes/changelogs/OpenHarmony_6.0.0.40/changelogs-arkui.md +++ b/zh-cn/release-notes/changelogs/OpenHarmony_6.0.0.40/changelogs-arkui.md @@ -121,4 +121,71 @@ struct DrawModifierExample { } } } -``` \ No newline at end of file +``` + +## cl.arkui.2 Canvas组件font属性支持自定义字体行为变更 + +**访问级别** + +公开接口 + +**变更原因** + +增强基础能力,Canvas组件的font属性支持设置自定义字体。 + +**变更影响** + +此变更涉及应用适配。 + +变更前,Canvas组件的font属性设置自定义字体不生效,绘制字体显示为默认字体。 + +变更后,Canvas组件的font属性设置自定义字体生效,绘制字体显示为自定义字体。 + +```ts +import { text } from "@kit.ArkGraphics2D" + +// xxx.ets +@Entry +@Component +struct FontDemo { + private settings: RenderingContextSettings = new RenderingContextSettings(true) + private context: CanvasRenderingContext2D = new CanvasRenderingContext2D(this.settings) + + build() { + Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) { + Canvas(this.context) + .width('100%') + .height('100%') + .backgroundColor('rgb(213,213,213)') + .onReady(() => { + let fontCollection = text.FontCollection.getGlobalInstance(); + fontCollection.loadFontSync('HarmonyOS_Sans_Thin_Italic', $rawfile("HarmonyOS_Sans_Thin_Italic.ttf")) + this.context.font = "50px HarmonyOS_Sans_Thin_Italic" + this.context.fillText("Hello World", 20, 60) + }) + } + .width('100%') + .height('100%') + } +} +``` + +| 变更前 | 变更后 | +| :----------------------------------------: | :-------------------------------------: | +| ![](figures/canvasFontBefore.jpg) | ![](figures/canvasFontAfter.jpg) | + +**起始API Level** + +API 8 + +**变更发生版本** + +从OpenHarmony SDK 6.0.0.40开始。 + +**变更的接口/组件** + +Canvas组件font接口。 + +**适配指导** + +变更后,Canvas组件的font属性设置自定义字体生效。若需保持变更前的默认字体行为,可以取消设置自定义字体。 diff --git a/zh-cn/release-notes/changelogs/OpenHarmony_6.0.0.40/figures/canvasFontAfter.jpg b/zh-cn/release-notes/changelogs/OpenHarmony_6.0.0.40/figures/canvasFontAfter.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f22c7cda5fdb0689c99c36e15b555219858229a5 GIT binary patch literal 8185 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 O_*)+Tk8J?Mn)nygYgAzX literal 0 HcmV?d00001 -- Gitee