FontPatcher
Replace in-game font with other things
Last updated | 8 months ago |
Total downloads | 162935 |
Total rating | 6 |
Categories | Tools Misc BepInEx Client-side |
Dependency string | LeKAKiD-FontPatcher-1.2.4 |
Dependants | 36 other packages depend on this package |
This mod requires the following mods to function
BepInEx-BepInExPack
BepInEx pack for Mono Unity games. Preconfigured and ready to use.
Preferred version: 5.4.2100README
LC-FontPatcher
Change in-game font to other font asset
Fix chat input bug on IME input
Config
default font assets
- 00 default: English('$' fixed)
- 01 kr: Korean (Orbit.ttf / DungGuenMo.ttf)
- 02 jp: Japanese (Pretendard.ttf / Best-Ten.otf)
Each font is tried in the order of its name.
- "Hello": in-game(if used) => 00 default
- "한글": in-game(if used) => 00 default => 01 kr
- "日本語": in-game(if used) => 00 default => 01 kr => 02 jp
How to use this mod as dependency
You can download here example mod
Folder structure
.
|-- config
| |-- FontPatcher
| | `-- TestPath
| | `-- korean
| `-- lekakid.lcfontpatcher.cfg
|-- icon.png
`-- manifest.json
Minimized config
## Settings file was created by plugin FontPatcher v1.2.0
## Plugin GUID: lekakid.lcfontpatcher
[General]
## Using in-game default normal font
# Setting type: Boolean
# Default value: true
UsingNormalIngameFont = true
## Using in-game default normal font
# Setting type: Boolean
# Default value: true
UsingTransmitIngameFont = true
[Path]
# Setting type: String
# Default value: FontPatcher\default
FontAssetsPath = FontPatcher\TestPath
How to create another language's font AssetBundle
Initialize project
Create a new project with Unity 2022.3.9
Open Window > TextMeshPro > Font Asset Creator
Import TMP Essentials
Create "Editor" Folder
Create script file, then paste below source in file
// https://docs.unity3d.com/Manual/AssetBundles-Workflow.html
using UnityEditor;
using System.IO;
public class CreateAssetBundles
{
[MenuItem("Assets/Build AssetBundles")]
static void BuildAllAssetBundles()
{
string assetBundleDirectory = "Assets/AssetBundles";
if (Directory.Exists(assetBundleDirectory))
{
Directory.Delete(assetBundleDirectory, true);
}
Directory.CreateDirectory(assetBundleDirectory);
BuildPipeline.BuildAssetBundles(assetBundleDirectory,
BuildAssetBundleOptions.None,
BuildTarget.StandaloneWindows);
}
}
After once initialize project, you don't need to repeat this step
How to make font asset
Add ttf/otf font file that want to be import
- Sampling Point Size: 10n (Recommend 90 or 80)
- Padding: n (if sampling point size is 80, set 8)
- Render Mode: RASTER
Generate font asset with your language's character set
FontPatcher recognize by font's name. You must be save font file according to the list below.
- Normal: Default game font
- Transmit: Signal translator's HUD font
(Recommend) Set line height to 98.1, ascent line 72. These values are in-game setting.
Set font's material shader to Distance Field
Set font's texture filter mode to Bilinear
Select Normal.asset, Transmit.asset, add to AssetBundle
Set AssetBundle's name what you want (e.g. "jp", "cn", etc)
Build AssetBundles
Copy AssetBundles file to your mod folder