Change in-game font to other font asset
Fix chat input bug on IME input
- 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
You can download here example mod
.
|-- config
| |-- FontPatcher
| | `-- TestPath
| | `-- korean
| `-- lekakid.lcfontpatcher.cfg
|-- icon.png
`-- manifest.json
## 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
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
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