https://github.com/eviltwo/systemfontlocalization
Auto generate fallback font asset by system font (OS font) in runtime.
https://github.com/eviltwo/systemfontlocalization
font localization text-mesh-pro tools unity upm upm-package
Last synced: 3 months ago
JSON representation
Auto generate fallback font asset by system font (OS font) in runtime.
- Host: GitHub
- URL: https://github.com/eviltwo/systemfontlocalization
- Owner: eviltwo
- License: mit
- Created: 2024-02-20T16:45:35.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-10-31T07:29:05.000Z (7 months ago)
- Last Synced: 2025-01-31T03:54:08.262Z (4 months ago)
- Topics: font, localization, text-mesh-pro, tools, unity, upm, upm-package
- Language: C#
- Homepage:
- Size: 1.39 MB
- Stars: 21
- Watchers: 2
- Forks: 1
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# SystemFontLocalization
Auto generate fallback font asset by system font in runtime.
Verified working on: Unity 2022.3.39, Unity 6
# Dependency
When you import SystemFontLocalization with UPM, these packages are automatically imported.
- Text Mesh Pro `com.unity.textmeshpro 3.2.0-pre.6`
- Required 3.2.0-pre.6 for function `TMP_FontAsset.CreateFontAsset(fontPath)`
- Since Unity 6 includes an appropriate version of TMP, manual import is not necessary.
- Localization `com.unity.localization`# Install with UPM
```
https://github.com/eviltwo/SystemFontLocalization.git?path=src/SystemFontLocalization/Assets/SystemFontLocalization
```# Getting started
- Localize the text using the [Localization package](https://docs.unity3d.com/Packages/[email protected]).
- Create empty GameObject and attach SystemFontReplacer component to it.
- Set font asset and font name list in SystemFontReplacer component.
- When you play the game, the font assets will be swapped to match the localization language.# Recommend settings
- Use static fonts. Dynamic fonts cause diffs on git every time you build.
- Set the default language to "en".
- Set the base font asset to "Static".
- Generate a Font atlas with the character set set to "ASCII".
- Disable "kern" in text. Prevents the problem of Cyrillic characters being line breaks.
- Setup default TextMeshPro settings in ProjectSettings.# Support My Work
As a solo developer, your financial support would be greatly appreciated and helps me continue working on this project.
- [Asset Store](https://assetstore.unity.com/publishers/12117)
- [Steam](https://store.steampowered.com/curator/45066588)
- [GitHub Sponsors](https://github.com/sponsors/eviltwo)