FluentUI.HarmonyOS.Assets 1.0.0

dotnet add package FluentUI.HarmonyOS.Assets --version 1.0.0
                    
NuGet\Install-Package FluentUI.HarmonyOS.Assets -Version 1.0.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="FluentUI.HarmonyOS.Assets" Version="1.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="FluentUI.HarmonyOS.Assets" Version="1.0.0" />
                    
Directory.Packages.props
<PackageReference Include="FluentUI.HarmonyOS.Assets" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add FluentUI.HarmonyOS.Assets --version 1.0.0
                    
#r "nuget: FluentUI.HarmonyOS.Assets, 1.0.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package FluentUI.HarmonyOS.Assets@1.0.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=FluentUI.HarmonyOS.Assets&version=1.0.0
                    
Install as a Cake Addin
#tool nuget:?package=FluentUI.HarmonyOS.Assets&version=1.0.0
                    
Install as a Cake Tool

Fluent UI Text Fonts Assets NuGet Package

Font and icon assets for Fluent UI-style applications, distributed as source files in this repository and as a NuGet package.

This repository bundles high-quality CJK-friendly font families and an icon set so that apps can ship a polished, local-first typography experience without depending on external CDNs or network access at runtime.

What's Inside

Category Contents
HarmonyOS Sans The full HarmonyOS Sans family (Regular, Thin, Light, Medium, Bold, Black, plus Condensed, Italic and Naskh Arabic variants) as TTF
MiSans MiSans and its language/script variants (Latin, TC, Devanagari, Gujarati, Gurmukhi, Khmer, Lao, L3, Myanmar, Thai, Tibetan, Arabic) in TTF/OTF/WOFF/WOFF2, including Variable Fonts
OPPO Sans 4.0 OPPO Sans 4.0 variable font as TTF
Alibaba PuHuiTi 3.0 10 weight variants (Thin, Light, Regular, Regular L3, Medium, SemiBold, Bold, ExtraBold, Heavy, Black) as TTF
Maple Mono A modern monospaced font family (Mono / MonoNL / Normal variants, with CN, NF, unhinted, AutoHint, OTF, TTF, WOFF2 and Variable sub-families) — v7.9, fetched via the update script
HarmonyOS Icons 676 flat SVG icons

Repository Layout

assets/
├── provider/     # Font & icon assets shipped in the NuGet package
│   ├── HarmonyOS_Sans* /
│   ├── MiSans* /
│   ├── OPPO_Sans_4.0 /
│   ├── AlibabaPuHuiTi-3-* /
│   └── HarmonyOS_Icons /
└── maple/        # Maple Mono family (updated via scripts/update_maple_font.ps1)
scripts/          # Maintenance scripts
nuget/            # NuGet packaging & publishing scripts

Usage

Reference the Assets Directly

The assets/ folder keeps the original directory layout, so you can point your app's font loader or build pipeline directly at it, e.g.:

assets/provider/HarmonyOS_Sans_SC/HarmonyOS_Sans_SC_Regular.ttf
assets/provider/MiSans/ttf/MiSans-Regular.ttf
assets/provider/MiSans/woff2/MiSans-Regular.woff2
assets/provider/HarmonyOS_Icons/ic_public_enlarge.svg
assets/maple/MapleMono-TTF/MapleMono-Regular.ttf

Install via NuGet

The provider assets are published as FluentUI.TextFonts.Assets. Add the package from nuget.org to get the fonts, icons, README and license bundled into your output:

dotnet add package FluentUI.TextFonts.Assets

The package installs the font files under assets/ in the consuming project, e.g.:

<Content Include="$(NuGetPackageRoot)\FluentUI.TextFonts.Assets\1.0.0\assets\HarmonyOS_Sans_SC\HarmonyOS_Sans_SC_Regular.ttf">
    <Link>Fonts\HarmonyOS_Sans_SC_Regular.ttf</Link>
    <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>

Note: the NuGet package contains the provider assets only. Maple Mono is kept in this repository under assets/maple/ and updated with the script below; reference it directly if you need it.

Maintenance

The scripts/ folder provides PowerShell helpers for keeping the assets up to date:

  • update_maple_font.ps1 — Downloads and extracts the latest maple-font release with SHA256 checksum verification, atomic staging, and automatic use of the Windows system proxy. Re-running it skips the update when the local version already matches; the current version is recorded in assets/maple/.maple-font.version. Use -Version to pin a release tag or -Filter to fetch a subset.

    .\scripts\update_maple_font.ps1 -AssetsDir assets\maple   # update to the latest release
    .\scripts\update_maple_font.ps1 -AssetsDir assets\maple -Version v7.9
    
  • normalize_asset_dirs.ps1 — Renames asset folders so spaces in directory names become underscores (e.g. MiSans LatinMiSans_Latin), processing deepest directories first.

  • clean_dsstore.ps1 — Recursively removes macOS .DS_Store files from the repository.

The nuget/ folder contains the packaging pipeline:

  • nuget_pack.ps1 — Builds FluentUI.TextFonts.Assets.<version>.nupkg from Package.nuspec.
  • nuget_push.ps1 — Publishes the .nupkg to nuget.org (asks for an API key, or pass -ApiKey).

License

Each font family is licensed by its respective owner; the full agreements are bundled in LICENSE.txt:

  • HarmonyOS Sans & Icons — © 2021 Huawei Device Co., Ltd., under the HarmonyOS Sans Fonts License Agreement
  • MiSans — Xiaomi Technology Co., Ltd., under the MiSans Font Intellectual Property License Agreement
  • Maple Mono — © 2022 The Maple Mono Project Authors, under the SIL Open Font License 1.1
  • OPPO Sans — © 2024 Guangdong OPPO Mobile Telecommunications Corp., Ltd., under the OPPO Sans Fonts License Agreement
  • Alibaba PuHuiTi — © Alibaba (China) Co. Ltd., free for commercial and non-commercial use (see the bundled legal notice)

The license text is also embedded into the NuGet package (LICENSE.txt) so that redistribution obligations are carried along automatically.

There are no supported framework assets in this package.

Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.0 14,670 8/4/2026