# Custom font for Pokémon BDSP

<figure><img src="https://1680260334-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fuyv6WKxbnPSm2zlRacJi%2Fuploads%2FCc10NtEywsawjW9e1Kjn%2Fimage.png?alt=media&#x26;token=122dc18a-048c-450d-a04d-98984345ff99" alt=""><figcaption></figcaption></figure>

## Requirements <a href="#h1_1" id="h1_1"></a>

* Yuzu Emulator
* A dumped copy of Pokemon Brilliant Diamond or Shining Pearl and its update
* Choose a custom font (preferably in .otf format)
* Unity [Asset Studio](https://github.com/Perfare/AssetStudio/releases/) Tool
* Unity [Asset Bundle Extractor](https://github.com/SeriousCache/UABE/releases) Tool
* [Unity Hub](https://unity.com/download)
* FontLab Studio 7 ([download crack version](https://www.mediafire.com/file/hmozmadtawkirbf/FontLab_Studio_7.2.0.7644_\(64bit\).zip))
* [Notepad++](https://notepad-plus-plus.org/downloads/)
* Join Team Luminescent on [Discord](https://discord.gg/luminescent)

## Tutorial <a href="#h1_2" id="h1_2"></a>

### I. Export BDSP default font <a href="#h1_2" id="h1_2"></a>

1. Use Unity Asset Studio to open BDSP's asset asset according to the path *0100000011D90000\romfs\StreamingAssets\AssetAssistant\Dpr\font\efigs\_font*

   <figure><img src="https://1680260334-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fuyv6WKxbnPSm2zlRacJi%2Fuploads%2F5mxzwwPsJjRNEQllyaWw%2Fimage.png?alt=media&#x26;token=45de62e0-ae58-4cb1-a26b-591c70bbff3b" alt=""><figcaption></figcaption></figure>
2. At the <mark style="color:orange;">**Asset List**</mark> tab, notice the Type column, see which Asset has the Font format, <mark style="color:orange;">**right-click**</mark> it and select <mark style="color:orange;">**Export selected assets**</mark> to proceed with exporting the default font.

   <figure><img src="https://1680260334-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fuyv6WKxbnPSm2zlRacJi%2Fuploads%2FyiBjq4Dz1nmDoKojtUZB%2Fimage.png?alt=media&#x26;token=e19426f2-c2c1-4b26-804b-6a97cfb5a738" alt=""><figcaption></figcaption></figure>
3. After successful export, we will have a Font named <mark style="color:orange;">**FOT-UDKakugoC80Pro-DB.otf**</mark>, please rename it <mark style="color:orange;">**FOT-UDKakugoC80Pro-DB-old.otf**</mark> for easy editing or replacement in the following steps.

   <figure><img src="https://1680260334-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fuyv6WKxbnPSm2zlRacJi%2Fuploads%2F3EFAxEQmBF24HJBxgxJ0%2Fimage.png?alt=media&#x26;token=79bbad13-28f6-4ca7-b775-fbb0dece5863" alt=""><figcaption></figcaption></figure>
4. Next we use <mark style="color:orange;">**Unity Asset Bundle Extractor (UABE)**</mark> to export <mark style="color:orange;">**Dump**</mark> of the default font. Open UABE, then select <mark style="color:orange;">**File**</mark> => <mark style="color:orange;">**Open**</mark> and select the Asset file containing the same font as the Asset Studio above *0100000011D90000\romfs\StreamingAssets\AssetAssistant\Dpr\font\efigs\_font*

   <figure><img src="https://1680260334-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fuyv6WKxbnPSm2zlRacJi%2Fuploads%2FKKMD7pnj3FepSSxYbzuO%2Fimage.png?alt=media&#x26;token=cd7848b0-2dab-4e0c-935f-a682f23a02ce" alt=""><figcaption></figcaption></figure>
5. In the <mark style="color:orange;">**Files and Components**</mark> section, select <mark style="color:orange;">**efigs\_font (Bundle)**</mark> and continue to select <mark style="color:orange;">**CAB-9f12f79d9901f1393c5597ae0a304b67**</mark>, now we will see a list of Assets on the <mark style="color:orange;">**Tab 1**</mark> side as shown below

   <div align="left"><figure><img src="https://1680260334-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fuyv6WKxbnPSm2zlRacJi%2Fuploads%2F1DwhS1309XCfKg5mkltM%2Fimage.png?alt=media&#x26;token=f1a9f5a9-28df-4594-a2d2-dc4704e67236" alt=""><figcaption></figcaption></figure></div>
6. Like Asset Studio, looking at the <mark style="color:orange;">**Type**</mark> column we will see the Font format. <mark style="color:orange;">**Click to select it**</mark> then click <mark style="color:orange;">**Export Dump**</mark> button => <mark style="color:orange;">**Dump as text file**</mark> to proceed to export the dump file of the font

   <div align="left"><figure><img src="https://1680260334-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fuyv6WKxbnPSm2zlRacJi%2Fuploads%2FpsvDq3wAMteog5brP7I6%2Fimage.png?alt=media&#x26;token=a5743290-2c2a-4e5c-9fc9-bedcd63568db" alt=""><figcaption></figcaption></figure></div>
7. After exporting dump successfully, we will have the file <mark style="color:orange;">**FOT\_UDKakugoC80Pro\_DB-CAB\_9f12f79d9901f1393c5597ae0a304b67-4673090671967115572.txt**</mark> proceed to rename it to <mark style="color:orange;">**FOT\_UDKakugoC80Pro\_DB-CAB\_9f12f79d9901f1393c5597ae0a304b67-4673090671967115572-old.txt**</mark> for easy identification in the following steps

   <div align="left"><figure><img src="https://1680260334-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fuyv6WKxbnPSm2zlRacJi%2Fuploads%2F6vy2oXKsLI7cWsd1kJXG%2Fimage.png?alt=media&#x26;token=01eee576-d9bb-485b-809d-c06877993c77" alt=""><figcaption></figcaption></figure></div>
8. After completing this step, we will have 2 files, <mark style="color:orange;">**FOT-UDKakugoC80Pro-DB-old.otf**</mark> and <mark style="color:orange;">**FOT\_UDKakugoC80Pro\_DB-CAB\_9f12f79d9901f1393c5597ae0a304b67-4673090671967115572-old.txt**</mark>. Ready for the next step

### II. Creating custom font using FontLab

1. Because the default font of BDSP contains many characters of many languages ​​such as Chinese and Japanese. Many types of special characters or Kanji so we cannot completely relace a new font. You need have to use FontLab to edit the original font set. This will take quite a while, but it will not error the missing characters of the font.
2. To be able to edit the characters in the default font of BDSP. We need to use FontLab. Proceed to open FontLab Studio 7 => File => Open Fonts... => then we point the path to the place where the default font exported in the previous step is saved and open it

   <figure><img src="https://1680260334-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fuyv6WKxbnPSm2zlRacJi%2Fuploads%2FHPoisuopm9RgY8Jg6noS%2Fimage.png?alt=media&#x26;token=3b927020-aded-4be5-9b60-cc1719a90634" alt=""><figcaption></figcaption></figure>
3. The result will be like the image below, a lot of characters are in the default font of BDSP that we need to replace.

   <figure><img src="https://1680260334-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fuyv6WKxbnPSm2zlRacJi%2Fuploads%2F0tBGacUOqkTpOGxPHnFT%2Fimage.png?alt=media&#x26;token=5560db67-dbeb-4c6c-ad20-d7cae1b84f77" alt=""><figcaption></figcaption></figure>
4. Repeat the above step, but this time we will open the font we want to replace so that we can copy the characters. In this example I will use the font [pokemon-dp-pro](https://fontstruct.com/fontstructions/show/404271/pok_mon_dp_pro)&#x20;

   <figure><img src="https://1680260334-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fuyv6WKxbnPSm2zlRacJi%2Fuploads%2FHXZKxz581EDI9wMTJECH%2Fimage.png?alt=media&#x26;token=d98a3d61-9e0f-4d19-9fa0-d0020c70f299" alt=""><figcaption></figcaption></figure>
5. Now you will see, FontLab will display 2 tabs of Font in very similar to Tabs on Google Chrome browser. Great because it will help people who are not familiar with font design can easily get used to it.

   <figure><img src="https://1680260334-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fuyv6WKxbnPSm2zlRacJi%2Fuploads%2FU4SFYk5AoR0w9S014EHh%2Fimage.png?alt=media&#x26;token=5fa3cffd-05ce-43ec-be3f-9ad973a35e8b" alt=""><figcaption></figcaption></figure>
6. Now we will start replacing the letter A. At the Tab of the default font, double click on the letter A. Then we do the same with the letter A in the font to be replaced. When finished, we will have 2 Tabs like the gif below.

   <figure><img src="https://1680260334-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fuyv6WKxbnPSm2zlRacJi%2Fuploads%2F1Us7AODcW7vvHVtxZQVy%2FA.gif?alt=media&#x26;token=ac6a79b2-5a39-4c0f-a6b1-521b233a4cd2" alt=""><figcaption></figcaption></figure>
7. Next we go to the Tab of the custom A character. Use <mark style="color:orange;">**Ctrl+A**</mark> and <mark style="color:orange;">**Ctrl+C**</mark> to copy. Then go to Tab of the default character A and use <mark style="color:orange;">**Ctrl + V**</mark> to paste. See the gif below to see the results.

   <figure><img src="https://1680260334-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fuyv6WKxbnPSm2zlRacJi%2Fuploads%2FtzSgEb9fI3IY7ti0Ps20%2FCopy.gif?alt=media&#x26;token=3149c2d4-377a-48cc-ac56-359ad43fda5a" alt=""><figcaption></figcaption></figure>
8. Now we can use the key combination <mark style="color:orange;">**Ctrl+T**</mark> to be able to drag and resize. ***Note:*** hold down the <mark style="color:orange;">**Shift**</mark> key while holding the mouse to drag to help the font not be distorted

   <figure><img src="https://1680260334-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fuyv6WKxbnPSm2zlRacJi%2Fuploads%2F2ImwjTwVlTbZCtlr9VH5%2FTrans.gif?alt=media&#x26;token=08425889-cbdf-433c-886c-f44d8d6e3db3" alt=""><figcaption></figcaption></figure>
9. Now <mark style="color:orange;">**Double Click**</mark> 1 residual root of the default character A. When the buttons of this character A <mark style="color:red;">**are colored red**</mark>. Press the <mark style="color:orange;">**Delete**</mark> button to delete it. Similarly, delete all redundant elements until only the character we just replaced is okay. Going back to the Default Font Tab, we can see that we have successfully changed the character A like the gif image below

   <figure><img src="https://1680260334-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fuyv6WKxbnPSm2zlRacJi%2Fuploads%2F2PFBEBZ28Vt7ci3ZU7Nd%2FDel.gif?alt=media&#x26;token=a8de537b-8ef5-49e5-915c-dcdd69a2f21e" alt=""><figcaption></figcaption></figure>
10. Repeat the above steps, we will replace all remaining characters. In this example I will only change a few characters for demo purposes.

    <figure><img src="https://1680260334-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fuyv6WKxbnPSm2zlRacJi%2Fuploads%2FZaOgZqGhmQhzYOCC4wAI%2Fimage.png?alt=media&#x26;token=5cd9695f-8372-4799-afe8-9ec0b393ba90" alt=""><figcaption></figcaption></figure>
11. Now we proceed to export the newly created font by selecting <mark style="color:orange;">**File**</mark> => <mark style="color:orange;">**Export Font As...**</mark> => <mark style="color:orange;">**Check the box OpenType PS (otf)**</mark> => <mark style="color:orange;">**Choose folder...**</mark> => <mark style="color:orange;">**Export**</mark>, like the gif image below to proceed to export the font

    <figure><img src="https://1680260334-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fuyv6WKxbnPSm2zlRacJi%2Fuploads%2FV2tR1POlLfihFJ3cxwC7%2FExport.gif?alt=media&#x26;token=3c8ba7b1-202b-4735-aebc-24ee10c6270e" alt=""><figcaption></figcaption></figure>
12. After successful export, we have completed the font editing step

    <figure><img src="https://1680260334-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fuyv6WKxbnPSm2zlRacJi%2Fuploads%2FayCdRfMMXronXcijyjMW%2Fimage.png?alt=media&#x26;token=4035a802-cf09-44eb-93b7-7530c1a32540" alt=""><figcaption></figcaption></figure>

### III. Create project asset font with Unity Hub

1. Open <mark style="color:orange;">**Unity Hub => New project => 3D Core => Change Project name => Change Localtion => Create project**</mark>

   <figure><img src="https://1680260334-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fuyv6WKxbnPSm2zlRacJi%2Fuploads%2FGKyahMtLk3Sj3zJmovUH%2FCreatePJ.gif?alt=media&#x26;token=3c69fba9-40a4-4cc9-81cd-3d1ff7030bd5" alt=""><figcaption></figcaption></figure>
2. Proceed to create a new Object in Unity, to use the Font we choose to create Object TextMeshPro. See the animation below

   <figure><img src="https://1680260334-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fuyv6WKxbnPSm2zlRacJi%2Fuploads%2FemXhM8JsvqMnSh9dYCIv%2FCreate-object.gif?alt=media&#x26;token=4d71c159-01c2-4c5f-841a-988796fe7274" alt=""><figcaption></figcaption></figure>
3. We proceed to drag and drop the font that has just been exported from FontLab into Unity. Then follow the steps below to create a new Asset for this font. *<mark style="color:red;">**I'm not good at Unity so if the tutorial is wrong, please leave a comment**</mark>*.

   <figure><img src="https://1680260334-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fuyv6WKxbnPSm2zlRacJi%2Fuploads%2FGlIg4HrWP710mDsK4c06%2FCreate-font-asset.gif?alt=media&#x26;token=18f6347d-a1e5-4596-ac99-b29c8781ba8f" alt=""><figcaption></figcaption></figure>
4. Now we will proceed to build the project that has just created the font asset. Select <mark style="color:orange;">**File**</mark> => <mark style="color:orange;">**Build Settings**</mark> => <mark style="color:orange;">**Build**</mark>.

   <figure><img src="https://1680260334-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fuyv6WKxbnPSm2zlRacJi%2Fuploads%2FGADUrxWCNZr1papP5nYn%2FBuild.gif?alt=media&#x26;token=81294837-93b9-4b9f-bd66-d7f23727536f" alt=""><figcaption></figcaption></figure>
5. After getting the Build\_Data folder as below, complete the step of creating Asset for the new font.

   <figure><img src="https://1680260334-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fuyv6WKxbnPSm2zlRacJi%2Fuploads%2F3HjjZWwHSCdAURLKWaFu%2Fimage.png?alt=media&#x26;token=a9022b28-b483-45af-a27f-745be9689e2e" alt=""><figcaption></figcaption></figure>

### IV. Export custom font and replace default font

1. Same as step 1, we proceed to use UABE to open the resources.assets file from the Unity Project folder that we have just built. Then proceed to Export Dump font we just custom

   <figure><img src="https://1680260334-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fuyv6WKxbnPSm2zlRacJi%2Fuploads%2FW7M3UisOAP2jgQEAwget%2Fimage.png?alt=media&#x26;token=bd1ac51d-a437-4f7b-9700-56b0a8394278" alt=""><figcaption></figcaption></figure>
2. Then we rename it <mark style="color:orange;">**FOT\_UDKakugoC80Pro\_DB-CAB\_9f12f79d9901f1393c5597ae0a304b67-4673090671967115572-new\.txt**</mark>. Proceed to open 2 files <mark style="color:orange;">**old**</mark> and <mark style="color:orange;">**new**</mark> with Notepad++

   <figure><img src="https://1680260334-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fuyv6WKxbnPSm2zlRacJi%2Fuploads%2FxySfrtUqBOVTQzU9vQDG%2Fimage.png?alt=media&#x26;token=e6958033-a1ed-48e5-b887-0a0865cd4a72" alt=""><figcaption></figcaption></figure>
3. We proceed to copy the content in the <mark style="color:orange;">**line 6**</mark> and <mark style="color:orange;">**line 10**</mark> of the <mark style="color:orange;">**Old file to the New file**</mark> and save it. <mark style="color:orange;">**Rename the New file**</mark> to be the same as the default file by removing the <mark style="color:orange;">**-new**</mark> part

   <figure><img src="https://1680260334-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fuyv6WKxbnPSm2zlRacJi%2Fuploads%2FiCrc1b1pu3osEHbAyeDC%2Fimage.png?alt=media&#x26;token=13945fad-5ec5-4e05-b8b7-a0dffb7911dc" alt=""><figcaption></figcaption></figure>
4. Finally, we use UABE to open the file <mark style="color:orange;">**efigs\_font-decompressed**</mark>, find the asset font as in step 1. Then click the <mark style="color:orange;">**Import Dump**</mark> button => select the <mark style="color:orange;">**new Dump TXT**</mark> file that we have just finished editing. Take a look at the gif below

   <figure><img src="https://1680260334-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fuyv6WKxbnPSm2zlRacJi%2Fuploads%2FmMbLtFqi4JER1WrBumtZ%2FExport-mod.gif?alt=media&#x26;token=0f34d3cf-6181-46a5-aca9-57db16d95a58" alt=""><figcaption></figcaption></figure>
5. After completing the above step, everything is done, now we just need to rename the <mark style="color:orange;">**efigs\_font-decompressed-mod**</mark> file to <mark style="color:orange;">**efigs\_font**</mark> and copy it to Yuzu's mods folder. That's it, proceed to open the game and check it out.

   <figure><img src="https://1680260334-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fuyv6WKxbnPSm2zlRacJi%2Fuploads%2FH0FVcQc0xpcl4C74qQTo%2Fimage.png?alt=media&#x26;token=76b26943-734b-4e5c-af58-9a4e816e24c2" alt=""><figcaption></figcaption></figure>
