Skip to content

Latest commit

 

History

History
131 lines (94 loc) · 3.88 KB

README.md

File metadata and controls

131 lines (94 loc) · 3.88 KB

🆎 Font Tools for WoW

Enhance your World of Warcraft gaming experience by modifying fonts.

简体中文 | English

📖 Table of Contents

💼 Requirements

  • Python 3.12 or later
  • Windows OS (for Batch Scripts)

🚚 Installation

  1. Clone this repository to your local machine.

  2. Install the required Python packages:

    pip install -r requirements.txt

🐍 Python Scripts

🀄 chinese.py

This script modifies specific Chinese characters in font files to improve the in-game experience.

MOD 1: Improved Chinese Dot

Replaces the dot character used in names with a more suitable alternative.

Priority: Japanese Katakana Middle Dot (U+30FB) > Simplified Chinese Middle Dot (U+00B7) > Traditional Chinese Middle Dot (U+2022)

MOD 2: Zhu to Dot (For Role-playing)

Replaces the character with a more appropriate dot character, as many Chinese players use as a dot in their names.

Priority: Japanese Katakana Middle Dot (U+30FB) > Simplified Chinese Middle Dot (U+00B7) > Traditional Chinese Middle Dot (U+2022)

MOD 3: Enforce Corner Brackets

Forces the use of corner brackets for quotes, improving readability in-game (similar to text formatting on Zhihu).

Usage

usage: chinese.py [-h] -f FONT [-o OUTPUT] [--better-chinese-dot] [--zhu-to-dot] [--enforce-corner-brackets] [--font-name FONT_NAME] [--force-output]

Modify the Chinese font file for better WoW game experience.

options:
  -h, --help            show this help message and exit
  -f FONT, --font FONT  Path to the input font file
  -o OUTPUT, --output OUTPUT
                        Path to the output font file
  --better-chinese-dot  Replace '‧' with '·' in the font
  --zhu-to-dot          Replace '丶' with '·' in the font
  --enforce-corner-brackets
                        Enforce corner brackets for quotes
  --font-name FONT_NAME
                        Template for the new font name. Use $NAME$ for the original name. Default: '$NAME$ WindModified'
  --force-output        Overwrite existing output file

Example

python chinese_font_tools.py -f "input.ttf" --better-chinese-dot --zhu-to-dot --enforce-corner-brackets
Convert all fonts in a folder
@echo off
setlocal enabledelayedexpansion
call .venv\Scripts\activate.bat
set "SOURCE_DIR=E:\Blizzard\World of Warcraft\Development\Font Source"
set "DEST_DIR=E:\Blizzard\World of Warcraft\_retail_\Interface\Addons\WindMedia\Font"

for /R "%SOURCE_DIR%" %%F in (*.ttf *.otf) do (
    set "RELATIVE_PATH=%%~dpF"
    set "RELATIVE_PATH=!RELATIVE_PATH:%SOURCE_DIR%=!"
    set "OUTPUT_DIR=%DEST_DIR%!RELATIVE_PATH!"
    if not exist "!OUTPUT_DIR!" mkdir "!OUTPUT_DIR!"
    set "OUTPUT_FILE=!OUTPUT_DIR!%%~nxF"
    echo Processing: %%F
    echo Output to: !OUTPUT_FILE!
    python chinese.py ^
    -f "%%F" ^
    -o "!OUTPUT_FILE!" ^
    --better-chinese-dot ^
    --zhu-to-dot ^
    --enforce-corner-brackets ^
    --font-name "$NAME$ Wind Edition" ^
    --force-output
)

echo All fonts processed.
pause

💻 Batch Scripts

fonts_zhtw.bat

This script copies your chosen font with specific names required by World of Warcraft.

To use:

  1. Copy the script to the _retail_\Fonts folder.
  2. Drag and drop your desired font file onto the script.
  3. The script will create copies of the font file with the required names.