161847f8eSopenharmony_ci/*
261847f8eSopenharmony_ci * Copyright (c) 2022-2024 Shenzhen Kaihong Digital Industry Development Co., Ltd.
361847f8eSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
461847f8eSopenharmony_ci * you may not use this file except in compliance with the License.
561847f8eSopenharmony_ci * You may obtain a copy of the License at
661847f8eSopenharmony_ci *
761847f8eSopenharmony_ci *     http://www.apache.org/licenses/LICENSE-2.0
861847f8eSopenharmony_ci *
961847f8eSopenharmony_ci * Unless required by applicable law or agreed to in writing, software
1061847f8eSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS,
1161847f8eSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1261847f8eSopenharmony_ci * See the License for the specific language governing permissions and
1361847f8eSopenharmony_ci * limitations under the License.
1461847f8eSopenharmony_ci */
1561847f8eSopenharmony_ci
1661847f8eSopenharmony_ci/**
1761847f8eSopenharmony_ci * @file
1861847f8eSopenharmony_ci * @kit ArkUI
1961847f8eSopenharmony_ci */
2061847f8eSopenharmony_ci
2161847f8eSopenharmony_ci/**
2261847f8eSopenharmony_ci * @namespace font
2361847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
2461847f8eSopenharmony_ci * @since 9
2561847f8eSopenharmony_ci */
2661847f8eSopenharmony_ci/**
2761847f8eSopenharmony_ci * @namespace font
2861847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
2961847f8eSopenharmony_ci * @atomicservice
3061847f8eSopenharmony_ci * @since 11
3161847f8eSopenharmony_ci */
3261847f8eSopenharmony_ci/**
3361847f8eSopenharmony_ci * @namespace font
3461847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
3561847f8eSopenharmony_ci * @crossplatform
3661847f8eSopenharmony_ci * @atomicservice
3761847f8eSopenharmony_ci * @since 12
3861847f8eSopenharmony_ci */
3961847f8eSopenharmony_cideclare namespace font {
4061847f8eSopenharmony_ci  /**
4161847f8eSopenharmony_ci   * @typedef FontOptions
4261847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
4361847f8eSopenharmony_ci   * @since 9
4461847f8eSopenharmony_ci   */
4561847f8eSopenharmony_ci  /**
4661847f8eSopenharmony_ci   * @typedef FontOptions
4761847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
4861847f8eSopenharmony_ci   * @atomicservice
4961847f8eSopenharmony_ci   * @since 11
5061847f8eSopenharmony_ci   */
5161847f8eSopenharmony_ci  /**
5261847f8eSopenharmony_ci   * @typedef FontOptions
5361847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
5461847f8eSopenharmony_ci   * @crossplatform
5561847f8eSopenharmony_ci   * @atomicservice
5661847f8eSopenharmony_ci   * @since 12
5761847f8eSopenharmony_ci   */
5861847f8eSopenharmony_ci  interface FontOptions {
5961847f8eSopenharmony_ci
6061847f8eSopenharmony_ci    /**
6161847f8eSopenharmony_ci     * The font name to register.
6261847f8eSopenharmony_ci     *
6361847f8eSopenharmony_ci     * @type { string }
6461847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
6561847f8eSopenharmony_ci     * @since 9
6661847f8eSopenharmony_ci     */
6761847f8eSopenharmony_ci    /**
6861847f8eSopenharmony_ci     * The font name to register.
6961847f8eSopenharmony_ci     *
7061847f8eSopenharmony_ci     * @type { string | Resource }
7161847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
7261847f8eSopenharmony_ci     * @since 10
7361847f8eSopenharmony_ci     */
7461847f8eSopenharmony_ci    /**
7561847f8eSopenharmony_ci     * The font name to register.
7661847f8eSopenharmony_ci     *
7761847f8eSopenharmony_ci     * @type { string | Resource }
7861847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
7961847f8eSopenharmony_ci     * @atomicservice
8061847f8eSopenharmony_ci     * @since 11
8161847f8eSopenharmony_ci     */
8261847f8eSopenharmony_ci    /**
8361847f8eSopenharmony_ci     * The font name to register.
8461847f8eSopenharmony_ci     *
8561847f8eSopenharmony_ci     * @type { string | Resource }
8661847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
8761847f8eSopenharmony_ci     * @crossplatform
8861847f8eSopenharmony_ci     * @atomicservice
8961847f8eSopenharmony_ci     * @since 12
9061847f8eSopenharmony_ci     */
9161847f8eSopenharmony_ci    familyName: string | Resource;
9261847f8eSopenharmony_ci
9361847f8eSopenharmony_ci    /**
9461847f8eSopenharmony_ci     * The path of the font file.
9561847f8eSopenharmony_ci     *
9661847f8eSopenharmony_ci     * @type { string }
9761847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
9861847f8eSopenharmony_ci     * @since 9
9961847f8eSopenharmony_ci     */
10061847f8eSopenharmony_ci    /**
10161847f8eSopenharmony_ci     * The path of the font file.
10261847f8eSopenharmony_ci     *
10361847f8eSopenharmony_ci     * @type { string | Resource }
10461847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
10561847f8eSopenharmony_ci     * @since 10
10661847f8eSopenharmony_ci     */
10761847f8eSopenharmony_ci    /**
10861847f8eSopenharmony_ci     * The path of the font file.
10961847f8eSopenharmony_ci     *
11061847f8eSopenharmony_ci     * @type { string | Resource }
11161847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
11261847f8eSopenharmony_ci     * @atomicservice
11361847f8eSopenharmony_ci     * @since 11
11461847f8eSopenharmony_ci     */
11561847f8eSopenharmony_ci    /**
11661847f8eSopenharmony_ci     * The path of the font file.
11761847f8eSopenharmony_ci     *
11861847f8eSopenharmony_ci     * @type { string | Resource }
11961847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
12061847f8eSopenharmony_ci     * @crossplatform
12161847f8eSopenharmony_ci     * @atomicservice
12261847f8eSopenharmony_ci     * @since 12
12361847f8eSopenharmony_ci     */
12461847f8eSopenharmony_ci    familySrc: string | Resource;
12561847f8eSopenharmony_ci  }
12661847f8eSopenharmony_ci
12761847f8eSopenharmony_ci  /**
12861847f8eSopenharmony_ci   * @typedef FontInfo
12961847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
13061847f8eSopenharmony_ci   * @since 10
13161847f8eSopenharmony_ci   */
13261847f8eSopenharmony_ci  /**
13361847f8eSopenharmony_ci   * @typedef FontInfo
13461847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
13561847f8eSopenharmony_ci   * @atomicservice
13661847f8eSopenharmony_ci   * @since 11
13761847f8eSopenharmony_ci   */
13861847f8eSopenharmony_ci  /**
13961847f8eSopenharmony_ci   * @typedef FontInfo
14061847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
14161847f8eSopenharmony_ci   * @crossplatform
14261847f8eSopenharmony_ci   * @atomicservice
14361847f8eSopenharmony_ci   * @since 12
14461847f8eSopenharmony_ci   */
14561847f8eSopenharmony_ci  interface FontInfo {
14661847f8eSopenharmony_ci
14761847f8eSopenharmony_ci    /**
14861847f8eSopenharmony_ci     * The path of the font file.
14961847f8eSopenharmony_ci     *
15061847f8eSopenharmony_ci     * @type { string }
15161847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
15261847f8eSopenharmony_ci     * @since 10
15361847f8eSopenharmony_ci     */
15461847f8eSopenharmony_ci    /**
15561847f8eSopenharmony_ci     * The path of the font file.
15661847f8eSopenharmony_ci     *
15761847f8eSopenharmony_ci     * @type { string }
15861847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
15961847f8eSopenharmony_ci     * @atomicservice
16061847f8eSopenharmony_ci     * @since 11
16161847f8eSopenharmony_ci     */
16261847f8eSopenharmony_ci    /**
16361847f8eSopenharmony_ci     * The path of the font file.
16461847f8eSopenharmony_ci     *
16561847f8eSopenharmony_ci     * @type { string }
16661847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
16761847f8eSopenharmony_ci     * @crossplatform
16861847f8eSopenharmony_ci     * @atomicservice
16961847f8eSopenharmony_ci     * @since 12
17061847f8eSopenharmony_ci     */
17161847f8eSopenharmony_ci    path: string;
17261847f8eSopenharmony_ci
17361847f8eSopenharmony_ci    /**
17461847f8eSopenharmony_ci     * The name of postscript.
17561847f8eSopenharmony_ci     *
17661847f8eSopenharmony_ci     * @type { string }
17761847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
17861847f8eSopenharmony_ci     * @since 10
17961847f8eSopenharmony_ci     */
18061847f8eSopenharmony_ci    /**
18161847f8eSopenharmony_ci     * The name of postscript.
18261847f8eSopenharmony_ci     *
18361847f8eSopenharmony_ci     * @type { string }
18461847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
18561847f8eSopenharmony_ci     * @atomicservice
18661847f8eSopenharmony_ci     * @since 11
18761847f8eSopenharmony_ci     */
18861847f8eSopenharmony_ci    /**
18961847f8eSopenharmony_ci     * The name of postscript.
19061847f8eSopenharmony_ci     *
19161847f8eSopenharmony_ci     * @type { string }
19261847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
19361847f8eSopenharmony_ci     * @crossplatform
19461847f8eSopenharmony_ci     * @atomicservice
19561847f8eSopenharmony_ci     * @since 12
19661847f8eSopenharmony_ci     */
19761847f8eSopenharmony_ci    postScriptName: string;
19861847f8eSopenharmony_ci
19961847f8eSopenharmony_ci    /**
20061847f8eSopenharmony_ci     * The font name.
20161847f8eSopenharmony_ci     *
20261847f8eSopenharmony_ci     * @type { string }
20361847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
20461847f8eSopenharmony_ci     * @since 10
20561847f8eSopenharmony_ci     */
20661847f8eSopenharmony_ci    /**
20761847f8eSopenharmony_ci     * The font name.
20861847f8eSopenharmony_ci     *
20961847f8eSopenharmony_ci     * @type { string }
21061847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
21161847f8eSopenharmony_ci     * @atomicservice
21261847f8eSopenharmony_ci     * @since 11
21361847f8eSopenharmony_ci     */
21461847f8eSopenharmony_ci    /**
21561847f8eSopenharmony_ci     * The font name.
21661847f8eSopenharmony_ci     *
21761847f8eSopenharmony_ci     * @type { string }
21861847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
21961847f8eSopenharmony_ci     * @crossplatform
22061847f8eSopenharmony_ci     * @atomicservice
22161847f8eSopenharmony_ci     * @since 12
22261847f8eSopenharmony_ci     */
22361847f8eSopenharmony_ci    fullName: string;
22461847f8eSopenharmony_ci
22561847f8eSopenharmony_ci    /**
22661847f8eSopenharmony_ci     * A set of fonts with a common design.
22761847f8eSopenharmony_ci     *
22861847f8eSopenharmony_ci     * @type { string }
22961847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
23061847f8eSopenharmony_ci     * @since 10
23161847f8eSopenharmony_ci     */
23261847f8eSopenharmony_ci    /**
23361847f8eSopenharmony_ci     * A set of fonts with a common design.
23461847f8eSopenharmony_ci     *
23561847f8eSopenharmony_ci     * @type { string }
23661847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
23761847f8eSopenharmony_ci     * @atomicservice
23861847f8eSopenharmony_ci     * @since 11
23961847f8eSopenharmony_ci     */
24061847f8eSopenharmony_ci    /**
24161847f8eSopenharmony_ci     * A set of fonts with a common design.
24261847f8eSopenharmony_ci     *
24361847f8eSopenharmony_ci     * @type { string }
24461847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
24561847f8eSopenharmony_ci     * @crossplatform
24661847f8eSopenharmony_ci     * @atomicservice
24761847f8eSopenharmony_ci     * @since 12
24861847f8eSopenharmony_ci     */
24961847f8eSopenharmony_ci    family: string;
25061847f8eSopenharmony_ci
25161847f8eSopenharmony_ci    /**
25261847f8eSopenharmony_ci     * A subset of the font family.
25361847f8eSopenharmony_ci     *
25461847f8eSopenharmony_ci     * @type { string }
25561847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
25661847f8eSopenharmony_ci     * @since 10
25761847f8eSopenharmony_ci     */
25861847f8eSopenharmony_ci    /**
25961847f8eSopenharmony_ci     * A subset of the font family.
26061847f8eSopenharmony_ci     *
26161847f8eSopenharmony_ci     * @type { string }
26261847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
26361847f8eSopenharmony_ci     * @atomicservice
26461847f8eSopenharmony_ci     * @since 11
26561847f8eSopenharmony_ci     */
26661847f8eSopenharmony_ci    /**
26761847f8eSopenharmony_ci     * A subset of the font family.
26861847f8eSopenharmony_ci     *
26961847f8eSopenharmony_ci     * @type { string }
27061847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
27161847f8eSopenharmony_ci     * @crossplatform
27261847f8eSopenharmony_ci     * @atomicservice
27361847f8eSopenharmony_ci     * @since 12
27461847f8eSopenharmony_ci     */
27561847f8eSopenharmony_ci    subfamily: string;
27661847f8eSopenharmony_ci
27761847f8eSopenharmony_ci    /**
27861847f8eSopenharmony_ci     * The weight of the font.
27961847f8eSopenharmony_ci     *
28061847f8eSopenharmony_ci     * @type { number }
28161847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
28261847f8eSopenharmony_ci     * @since 10
28361847f8eSopenharmony_ci     */
28461847f8eSopenharmony_ci    /**
28561847f8eSopenharmony_ci     * The weight of the font.
28661847f8eSopenharmony_ci     *
28761847f8eSopenharmony_ci     * @type { number }
28861847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
28961847f8eSopenharmony_ci     * @atomicservice
29061847f8eSopenharmony_ci     * @since 11
29161847f8eSopenharmony_ci     */
29261847f8eSopenharmony_ci    /**
29361847f8eSopenharmony_ci     * The weight of the font.
29461847f8eSopenharmony_ci     *
29561847f8eSopenharmony_ci     * @type { number }
29661847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
29761847f8eSopenharmony_ci     * @crossplatform
29861847f8eSopenharmony_ci     * @atomicservice
29961847f8eSopenharmony_ci     * @since 12
30061847f8eSopenharmony_ci     */
30161847f8eSopenharmony_ci    weight: number;
30261847f8eSopenharmony_ci
30361847f8eSopenharmony_ci    /**
30461847f8eSopenharmony_ci     * The width of the font style.
30561847f8eSopenharmony_ci     *
30661847f8eSopenharmony_ci     * @type { number }
30761847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
30861847f8eSopenharmony_ci     * @since 10
30961847f8eSopenharmony_ci     */
31061847f8eSopenharmony_ci    /**
31161847f8eSopenharmony_ci     * The width of the font style.
31261847f8eSopenharmony_ci     *
31361847f8eSopenharmony_ci     * @type { number }
31461847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
31561847f8eSopenharmony_ci     * @atomicservice
31661847f8eSopenharmony_ci     * @since 11
31761847f8eSopenharmony_ci     */
31861847f8eSopenharmony_ci    /**
31961847f8eSopenharmony_ci     * The width of the font style.
32061847f8eSopenharmony_ci     *
32161847f8eSopenharmony_ci     * @type { number }
32261847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
32361847f8eSopenharmony_ci     * @crossplatform
32461847f8eSopenharmony_ci     * @atomicservice
32561847f8eSopenharmony_ci     * @since 12
32661847f8eSopenharmony_ci     */
32761847f8eSopenharmony_ci    width: number;
32861847f8eSopenharmony_ci
32961847f8eSopenharmony_ci    /**
33061847f8eSopenharmony_ci     * Whether it is italic.
33161847f8eSopenharmony_ci     *
33261847f8eSopenharmony_ci     * @type { boolean }
33361847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
33461847f8eSopenharmony_ci     * @since 10
33561847f8eSopenharmony_ci     */
33661847f8eSopenharmony_ci    /**
33761847f8eSopenharmony_ci     * Whether it is italic.
33861847f8eSopenharmony_ci     *
33961847f8eSopenharmony_ci     * @type { boolean }
34061847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
34161847f8eSopenharmony_ci     * @atomicservice
34261847f8eSopenharmony_ci     * @since 11
34361847f8eSopenharmony_ci     */
34461847f8eSopenharmony_ci    /**
34561847f8eSopenharmony_ci     * Whether it is italic.
34661847f8eSopenharmony_ci     *
34761847f8eSopenharmony_ci     * @type { boolean }
34861847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
34961847f8eSopenharmony_ci     * @crossplatform
35061847f8eSopenharmony_ci     * @atomicservice
35161847f8eSopenharmony_ci     * @since 12
35261847f8eSopenharmony_ci     */
35361847f8eSopenharmony_ci    italic: boolean;
35461847f8eSopenharmony_ci
35561847f8eSopenharmony_ci    /**
35661847f8eSopenharmony_ci     * Whether it is compact.
35761847f8eSopenharmony_ci     *
35861847f8eSopenharmony_ci     * @type { boolean }
35961847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
36061847f8eSopenharmony_ci     * @since 10
36161847f8eSopenharmony_ci     */
36261847f8eSopenharmony_ci    /**
36361847f8eSopenharmony_ci     * Whether it is compact.
36461847f8eSopenharmony_ci     *
36561847f8eSopenharmony_ci     * @type { boolean }
36661847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
36761847f8eSopenharmony_ci     * @atomicservice
36861847f8eSopenharmony_ci     * @since 11
36961847f8eSopenharmony_ci     */
37061847f8eSopenharmony_ci    /**
37161847f8eSopenharmony_ci     * Whether it is compact.
37261847f8eSopenharmony_ci     *
37361847f8eSopenharmony_ci     * @type { boolean }
37461847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
37561847f8eSopenharmony_ci     * @crossplatform
37661847f8eSopenharmony_ci     * @atomicservice
37761847f8eSopenharmony_ci     * @since 12
37861847f8eSopenharmony_ci     */
37961847f8eSopenharmony_ci    monoSpace: boolean;
38061847f8eSopenharmony_ci
38161847f8eSopenharmony_ci    /**
38261847f8eSopenharmony_ci     * Whether symbol fonts are supported.
38361847f8eSopenharmony_ci     *
38461847f8eSopenharmony_ci     * @type { boolean }
38561847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
38661847f8eSopenharmony_ci     * @since 10
38761847f8eSopenharmony_ci     */
38861847f8eSopenharmony_ci    /**
38961847f8eSopenharmony_ci     * Whether symbol fonts are supported.
39061847f8eSopenharmony_ci     *
39161847f8eSopenharmony_ci     * @type { boolean }
39261847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
39361847f8eSopenharmony_ci     * @atomicservice
39461847f8eSopenharmony_ci     * @since 11
39561847f8eSopenharmony_ci     */
39661847f8eSopenharmony_ci    /**
39761847f8eSopenharmony_ci     * Whether symbol fonts are supported.
39861847f8eSopenharmony_ci     *
39961847f8eSopenharmony_ci     * @type { boolean }
40061847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
40161847f8eSopenharmony_ci     * @crossplatform
40261847f8eSopenharmony_ci     * @atomicservice
40361847f8eSopenharmony_ci     * @since 12
40461847f8eSopenharmony_ci     */
40561847f8eSopenharmony_ci    symbolic: boolean;
40661847f8eSopenharmony_ci  }
40761847f8eSopenharmony_ci
40861847f8eSopenharmony_ci  /**
40961847f8eSopenharmony_ci   * @typedef UIFontConfig
41061847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
41161847f8eSopenharmony_ci   * @since 11
41261847f8eSopenharmony_ci   */
41361847f8eSopenharmony_ci  /**
41461847f8eSopenharmony_ci   * @typedef UIFontConfig
41561847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
41661847f8eSopenharmony_ci   * @atomicservice
41761847f8eSopenharmony_ci   * @since 12
41861847f8eSopenharmony_ci   */
41961847f8eSopenharmony_ci  interface UIFontConfig {
42061847f8eSopenharmony_ci    /**
42161847f8eSopenharmony_ci     * The paths of system font files.
42261847f8eSopenharmony_ci     * @type { Array<string> }
42361847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
42461847f8eSopenharmony_ci     * @since 11
42561847f8eSopenharmony_ci     */
42661847f8eSopenharmony_ci    /**
42761847f8eSopenharmony_ci     * The paths of system font files.
42861847f8eSopenharmony_ci     * @type { Array<string> }
42961847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
43061847f8eSopenharmony_ci     * @atomicservice
43161847f8eSopenharmony_ci     * @since 12
43261847f8eSopenharmony_ci     */
43361847f8eSopenharmony_ci    fontDir: Array<string>;
43461847f8eSopenharmony_ci
43561847f8eSopenharmony_ci    /**
43661847f8eSopenharmony_ci     * The generic font info.
43761847f8eSopenharmony_ci     * @type { Array<UIFontGenericInfo> }
43861847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
43961847f8eSopenharmony_ci     * @since 11
44061847f8eSopenharmony_ci     */
44161847f8eSopenharmony_ci    /**
44261847f8eSopenharmony_ci     * The generic font info.
44361847f8eSopenharmony_ci     * @type { Array<UIFontGenericInfo> }
44461847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
44561847f8eSopenharmony_ci     * @atomicservice
44661847f8eSopenharmony_ci     * @since 12
44761847f8eSopenharmony_ci     */
44861847f8eSopenharmony_ci    generic: Array<UIFontGenericInfo>;
44961847f8eSopenharmony_ci
45061847f8eSopenharmony_ci    /**
45161847f8eSopenharmony_ci     * The fallback font info.
45261847f8eSopenharmony_ci     * @type { Array<UIFontFallbackGroupInfo> }
45361847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
45461847f8eSopenharmony_ci     * @since 11
45561847f8eSopenharmony_ci     */
45661847f8eSopenharmony_ci    /**
45761847f8eSopenharmony_ci     * The fallback font info.
45861847f8eSopenharmony_ci     * @type { Array<UIFontFallbackGroupInfo> }
45961847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
46061847f8eSopenharmony_ci     * @atomicservice
46161847f8eSopenharmony_ci     * @since 12
46261847f8eSopenharmony_ci     */
46361847f8eSopenharmony_ci    fallbackGroups: Array<UIFontFallbackGroupInfo>;
46461847f8eSopenharmony_ci  }
46561847f8eSopenharmony_ci  
46661847f8eSopenharmony_ci  /**
46761847f8eSopenharmony_ci   * @typedef UIFontGenericInfo
46861847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
46961847f8eSopenharmony_ci   * @since 11
47061847f8eSopenharmony_ci   */
47161847f8eSopenharmony_ci  /**
47261847f8eSopenharmony_ci   * @typedef UIFontGenericInfo
47361847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
47461847f8eSopenharmony_ci   * @atomicservice
47561847f8eSopenharmony_ci   * @since 12
47661847f8eSopenharmony_ci   */
47761847f8eSopenharmony_ci  interface UIFontGenericInfo {
47861847f8eSopenharmony_ci    /**
47961847f8eSopenharmony_ci     * Name of the font set.
48061847f8eSopenharmony_ci     * @type { string }
48161847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
48261847f8eSopenharmony_ci     * @since 11
48361847f8eSopenharmony_ci     */
48461847f8eSopenharmony_ci    /**
48561847f8eSopenharmony_ci     * Name of the font set.
48661847f8eSopenharmony_ci     * @type { string }
48761847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
48861847f8eSopenharmony_ci     * @atomicservice
48961847f8eSopenharmony_ci     * @since 12
49061847f8eSopenharmony_ci     */
49161847f8eSopenharmony_ci    family: string;
49261847f8eSopenharmony_ci
49361847f8eSopenharmony_ci    /**
49461847f8eSopenharmony_ci     * Alias info of the font set.
49561847f8eSopenharmony_ci     * @type { Array<UIFontAliasInfo> }
49661847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
49761847f8eSopenharmony_ci     * @since 11
49861847f8eSopenharmony_ci     */
49961847f8eSopenharmony_ci    /**
50061847f8eSopenharmony_ci     * Alias info of the font set.
50161847f8eSopenharmony_ci     * @type { Array<UIFontAliasInfo> }
50261847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
50361847f8eSopenharmony_ci     * @atomicservice
50461847f8eSopenharmony_ci     * @since 12
50561847f8eSopenharmony_ci     */
50661847f8eSopenharmony_ci    alias: Array<UIFontAliasInfo>;
50761847f8eSopenharmony_ci
50861847f8eSopenharmony_ci    /**
50961847f8eSopenharmony_ci     * Adjust info of the font set.
51061847f8eSopenharmony_ci     * @type { Array<UIFontAdjustInfo> }
51161847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
51261847f8eSopenharmony_ci     * @since 11
51361847f8eSopenharmony_ci     */
51461847f8eSopenharmony_ci    /**
51561847f8eSopenharmony_ci     * Adjust info of the font set.
51661847f8eSopenharmony_ci     * @type { Array<UIFontAdjustInfo> }
51761847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
51861847f8eSopenharmony_ci     * @atomicservice
51961847f8eSopenharmony_ci     * @since 12
52061847f8eSopenharmony_ci     */
52161847f8eSopenharmony_ci    adjust: Array<UIFontAdjustInfo>;
52261847f8eSopenharmony_ci  }
52361847f8eSopenharmony_ci
52461847f8eSopenharmony_ci  /**
52561847f8eSopenharmony_ci   * @typedef UIFontAliasInfo
52661847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
52761847f8eSopenharmony_ci   * @since 11
52861847f8eSopenharmony_ci   */
52961847f8eSopenharmony_ci  /**
53061847f8eSopenharmony_ci   * @typedef UIFontAliasInfo
53161847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
53261847f8eSopenharmony_ci   * @atomicservice
53361847f8eSopenharmony_ci   * @since 12
53461847f8eSopenharmony_ci   */
53561847f8eSopenharmony_ci  interface UIFontAliasInfo {
53661847f8eSopenharmony_ci    /**
53761847f8eSopenharmony_ci     * Font set name.
53861847f8eSopenharmony_ci     * @type { string }
53961847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
54061847f8eSopenharmony_ci     * @since 11
54161847f8eSopenharmony_ci     */
54261847f8eSopenharmony_ci    /**
54361847f8eSopenharmony_ci     * Font set name.
54461847f8eSopenharmony_ci     * @type { string }
54561847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
54661847f8eSopenharmony_ci     * @atomicservice
54761847f8eSopenharmony_ci     * @since 12
54861847f8eSopenharmony_ci     */
54961847f8eSopenharmony_ci    name: string;
55061847f8eSopenharmony_ci
55161847f8eSopenharmony_ci    /**
55261847f8eSopenharmony_ci     * Weight the font set contains only fonts with, if weight = 0,
55361847f8eSopenharmony_ci     * this font set can contain fonts with any weight.
55461847f8eSopenharmony_ci     * @type { number }
55561847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
55661847f8eSopenharmony_ci     * @since 11
55761847f8eSopenharmony_ci     */
55861847f8eSopenharmony_ci    /**
55961847f8eSopenharmony_ci     * Weight the font set contains only fonts with, if weight = 0,
56061847f8eSopenharmony_ci     * this font set can contain fonts with any weight.
56161847f8eSopenharmony_ci     * @type { number }
56261847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
56361847f8eSopenharmony_ci     * @atomicservice
56461847f8eSopenharmony_ci     * @since 12
56561847f8eSopenharmony_ci     */
56661847f8eSopenharmony_ci    weight: number;
56761847f8eSopenharmony_ci  }
56861847f8eSopenharmony_ci
56961847f8eSopenharmony_ci  /**
57061847f8eSopenharmony_ci   * @typedef UIFontAdjustInfo
57161847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
57261847f8eSopenharmony_ci   * @since 11
57361847f8eSopenharmony_ci   */
57461847f8eSopenharmony_ci  /**
57561847f8eSopenharmony_ci   * @typedef UIFontAdjustInfo
57661847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
57761847f8eSopenharmony_ci   * @atomicservice
57861847f8eSopenharmony_ci   * @since 12
57961847f8eSopenharmony_ci   */
58061847f8eSopenharmony_ci  interface UIFontAdjustInfo {
58161847f8eSopenharmony_ci    /**
58261847f8eSopenharmony_ci     * Original weight of the font
58361847f8eSopenharmony_ci     * @type { number }
58461847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
58561847f8eSopenharmony_ci     * @since 11
58661847f8eSopenharmony_ci     */
58761847f8eSopenharmony_ci    /**
58861847f8eSopenharmony_ci     * Original weight of the font
58961847f8eSopenharmony_ci     * @type { number }
59061847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
59161847f8eSopenharmony_ci     * @atomicservice
59261847f8eSopenharmony_ci     * @since 12
59361847f8eSopenharmony_ci     */
59461847f8eSopenharmony_ci    weight: number;
59561847f8eSopenharmony_ci    /**
59661847f8eSopenharmony_ci     * Font weight displayed in the app
59761847f8eSopenharmony_ci     * @type { number }
59861847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
59961847f8eSopenharmony_ci     * @since 11
60061847f8eSopenharmony_ci     */
60161847f8eSopenharmony_ci    /**
60261847f8eSopenharmony_ci     * Font weight displayed in the app
60361847f8eSopenharmony_ci     * @type { number }
60461847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
60561847f8eSopenharmony_ci     * @atomicservice
60661847f8eSopenharmony_ci     * @since 12
60761847f8eSopenharmony_ci     */
60861847f8eSopenharmony_ci    to: number;
60961847f8eSopenharmony_ci  }
61061847f8eSopenharmony_ci
61161847f8eSopenharmony_ci  /**
61261847f8eSopenharmony_ci   * @typedef UIFontFallbackGroupInfo
61361847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
61461847f8eSopenharmony_ci   * @since 11
61561847f8eSopenharmony_ci   */
61661847f8eSopenharmony_ci  /**
61761847f8eSopenharmony_ci   * @typedef UIFontFallbackGroupInfo
61861847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
61961847f8eSopenharmony_ci   * @atomicservice
62061847f8eSopenharmony_ci   * @since 12
62161847f8eSopenharmony_ci   */
62261847f8eSopenharmony_ci  interface UIFontFallbackGroupInfo {
62361847f8eSopenharmony_ci    /**
62461847f8eSopenharmony_ci     * Indicates which font set uses following list for fallback font
62561847f8eSopenharmony_ci     * if the font set name is "", it means that the following list can be fallback font for all font sets.
62661847f8eSopenharmony_ci     * @type { string }
62761847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
62861847f8eSopenharmony_ci     * @since 11
62961847f8eSopenharmony_ci     */
63061847f8eSopenharmony_ci    /**
63161847f8eSopenharmony_ci     * Indicates which font set uses following list for fallback font
63261847f8eSopenharmony_ci     * if the font set name is "", it means that the following list can be fallback font for all font sets.
63361847f8eSopenharmony_ci     * @type { string }
63461847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
63561847f8eSopenharmony_ci     * @atomicservice
63661847f8eSopenharmony_ci     * @since 12
63761847f8eSopenharmony_ci     */
63861847f8eSopenharmony_ci    fontSetName: string;
63961847f8eSopenharmony_ci
64061847f8eSopenharmony_ci    /**
64161847f8eSopenharmony_ci     * Fallback font list related.
64261847f8eSopenharmony_ci     * @type { Array<UIFontFallbackInfo> }
64361847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
64461847f8eSopenharmony_ci     * @since 11
64561847f8eSopenharmony_ci     */
64661847f8eSopenharmony_ci    /**
64761847f8eSopenharmony_ci     * Fallback font list related.
64861847f8eSopenharmony_ci     * @type { Array<UIFontFallbackInfo> }
64961847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
65061847f8eSopenharmony_ci     * @atomicservice
65161847f8eSopenharmony_ci     * @since 12
65261847f8eSopenharmony_ci     */
65361847f8eSopenharmony_ci    fallback: Array<UIFontFallbackInfo>;
65461847f8eSopenharmony_ci  }
65561847f8eSopenharmony_ci  
65661847f8eSopenharmony_ci  /**
65761847f8eSopenharmony_ci   * @typedef UIFontFallbackInfo
65861847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
65961847f8eSopenharmony_ci   * @since 11
66061847f8eSopenharmony_ci   */
66161847f8eSopenharmony_ci  /**
66261847f8eSopenharmony_ci   * @typedef UIFontFallbackInfo
66361847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
66461847f8eSopenharmony_ci   * @atomicservice
66561847f8eSopenharmony_ci   * @since 12
66661847f8eSopenharmony_ci   */
66761847f8eSopenharmony_ci  interface UIFontFallbackInfo {
66861847f8eSopenharmony_ci    /**
66961847f8eSopenharmony_ci     * Language that font set support.
67061847f8eSopenharmony_ci     * @type { string }
67161847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
67261847f8eSopenharmony_ci     * @since 11
67361847f8eSopenharmony_ci     */
67461847f8eSopenharmony_ci    /**
67561847f8eSopenharmony_ci     * Language that font set support.
67661847f8eSopenharmony_ci     * @type { string }
67761847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
67861847f8eSopenharmony_ci     * @atomicservice
67961847f8eSopenharmony_ci     * @since 12
68061847f8eSopenharmony_ci     */
68161847f8eSopenharmony_ci    language: string;
68261847f8eSopenharmony_ci
68361847f8eSopenharmony_ci    /**
68461847f8eSopenharmony_ci     * Font name related.
68561847f8eSopenharmony_ci     * @type { string }
68661847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
68761847f8eSopenharmony_ci     * @since 11
68861847f8eSopenharmony_ci     */
68961847f8eSopenharmony_ci    /**
69061847f8eSopenharmony_ci     * Font name related.
69161847f8eSopenharmony_ci     * @type { string }
69261847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
69361847f8eSopenharmony_ci     * @atomicservice
69461847f8eSopenharmony_ci     * @since 12
69561847f8eSopenharmony_ci     */
69661847f8eSopenharmony_ci    family: string;
69761847f8eSopenharmony_ci  }
69861847f8eSopenharmony_ci
69961847f8eSopenharmony_ci  /**
70061847f8eSopenharmony_ci   * Register a customized font in the FontManager.
70161847f8eSopenharmony_ci   *
70261847f8eSopenharmony_ci   * @param { FontOptions } options - FontOptions
70361847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
70461847f8eSopenharmony_ci   * @since 9
70561847f8eSopenharmony_ci   */
70661847f8eSopenharmony_ci  /**
70761847f8eSopenharmony_ci   * Register a customized font in the FontManager.
70861847f8eSopenharmony_ci   *
70961847f8eSopenharmony_ci   * @param { FontOptions } options - FontOptions
71061847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
71161847f8eSopenharmony_ci   * @atomicservice
71261847f8eSopenharmony_ci   * @since 11
71361847f8eSopenharmony_ci   */
71461847f8eSopenharmony_ci  /**
71561847f8eSopenharmony_ci   * Register a customized font in the FontManager.
71661847f8eSopenharmony_ci   *
71761847f8eSopenharmony_ci   * @param { FontOptions } options - FontOptions
71861847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
71961847f8eSopenharmony_ci   * @crossplatform
72061847f8eSopenharmony_ci   * @atomicservice
72161847f8eSopenharmony_ci   * @since 12
72261847f8eSopenharmony_ci   */
72361847f8eSopenharmony_ci  function registerFont(options: FontOptions): void;
72461847f8eSopenharmony_ci
72561847f8eSopenharmony_ci  /**
72661847f8eSopenharmony_ci   * Gets a list of fonts supported by system.
72761847f8eSopenharmony_ci   *
72861847f8eSopenharmony_ci   * @returns { Array<string> } A list of font names
72961847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
73061847f8eSopenharmony_ci   * @since 10
73161847f8eSopenharmony_ci   */
73261847f8eSopenharmony_ci  /**
73361847f8eSopenharmony_ci   * Gets a list of fonts supported by system.
73461847f8eSopenharmony_ci   *
73561847f8eSopenharmony_ci   * @returns { Array<string> } A list of font names
73661847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
73761847f8eSopenharmony_ci   * @atomicservice
73861847f8eSopenharmony_ci   * @since 11
73961847f8eSopenharmony_ci   */
74061847f8eSopenharmony_ci  /**
74161847f8eSopenharmony_ci   * Gets a list of fonts supported by system.
74261847f8eSopenharmony_ci   *
74361847f8eSopenharmony_ci   * @returns { Array<string> } A list of font names
74461847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
74561847f8eSopenharmony_ci   * @crossplatform
74661847f8eSopenharmony_ci   * @atomicservice
74761847f8eSopenharmony_ci   * @since 12
74861847f8eSopenharmony_ci   */
74961847f8eSopenharmony_ci  function getSystemFontList(): Array<string>;
75061847f8eSopenharmony_ci
75161847f8eSopenharmony_ci  /**
75261847f8eSopenharmony_ci   * Get font details according to the font name.
75361847f8eSopenharmony_ci   *
75461847f8eSopenharmony_ci   * @param { string } fontName - font name
75561847f8eSopenharmony_ci   * @returns { FontInfo } Returns the font info
75661847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
75761847f8eSopenharmony_ci   * @since 10
75861847f8eSopenharmony_ci   */
75961847f8eSopenharmony_ci  /**
76061847f8eSopenharmony_ci   * Get font details according to the font name.
76161847f8eSopenharmony_ci   *
76261847f8eSopenharmony_ci   * @param { string } fontName - font name
76361847f8eSopenharmony_ci   * @returns { FontInfo } Returns the font info
76461847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
76561847f8eSopenharmony_ci   * @atomicservice
76661847f8eSopenharmony_ci   * @since 11
76761847f8eSopenharmony_ci   */
76861847f8eSopenharmony_ci  /**
76961847f8eSopenharmony_ci   * Get font details according to the font name.
77061847f8eSopenharmony_ci   *
77161847f8eSopenharmony_ci   * @param { string } fontName - font name
77261847f8eSopenharmony_ci   * @returns { FontInfo } Returns the font info
77361847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
77461847f8eSopenharmony_ci   * @crossplatform
77561847f8eSopenharmony_ci   * @atomicservice
77661847f8eSopenharmony_ci   * @since 12
77761847f8eSopenharmony_ci   */
77861847f8eSopenharmony_ci  function getFontByName(fontName: string): FontInfo;
77961847f8eSopenharmony_ci
78061847f8eSopenharmony_ci  /**
78161847f8eSopenharmony_ci   * Get font details according to the font name.
78261847f8eSopenharmony_ci   *
78361847f8eSopenharmony_ci   * @returns { UIFontConfig } Returns the ui font config
78461847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
78561847f8eSopenharmony_ci   * @since 11
78661847f8eSopenharmony_ci   */
78761847f8eSopenharmony_ci  /**
78861847f8eSopenharmony_ci   * Get font details according to the font name.
78961847f8eSopenharmony_ci   *
79061847f8eSopenharmony_ci   * @returns { UIFontConfig } Returns the ui font config
79161847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
79261847f8eSopenharmony_ci   * @atomicservice
79361847f8eSopenharmony_ci   * @since 12
79461847f8eSopenharmony_ci   */
79561847f8eSopenharmony_ci  function getUIFontConfig(): UIFontConfig;
79661847f8eSopenharmony_ci}
79761847f8eSopenharmony_ci
79861847f8eSopenharmony_ciexport default font;
799