telegram 更换字体的正确姿势

telegram 经过数次版本迭代后,从去年开始的版本已经不能注入 dll 了。常用的两个注入 dll 插件,其中一个 Anti Revoke Plugin 已于上月停更,所以现在只有换字体的 FontMod 仍在更新。虽然本身也不是专为 telegram 打造的,所以在现在版本的 tg 上用起来还要费一番功夫。

参考文章:ysc3839(项目作者)的issue

  1. 下载 telegram 微软商店版

  2. FontMod 的 release 页面中下载 FontMod64.dll (无需改名)并放入任意文件夹中。

  3. fork ysc3839/AppXLauncher,在其中任意添加一个文件后,actions 就会自动进行构建,等待约半小时,构建好后下载其中的 AppXLauncher64.exe,放入和 FontMod64.dll 同一文件夹中。

  4. 在同一文件夹中新建 AppXLauncher.json

    1
    2
    3
    4
    5
    6
    7
    {
    "PackageFamilyName": "TelegramMessengerLLP.TelegramDesktop_t4vj0pshhgkwm",
    "AppId": "Telegram.TelegramDesktop.Store",
    "InjectDll": "FontMod64.dll",
    "Persistent": true,
    "KillRunning": false
    }
  5. 在同一文件夹中新建 FontMod.yaml,里面写上要替换的字体的配置。以下是我的配置,仅供参考:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    style: &style
    # Remove '#' to override font style
    # size: 0
    # width: 0
    # weight: 0
    # italic: false
    # underLine: false
    # strikeOut: false
    # charSet: 0
    # outPrecision: 0
    # clipPrecision: 0
    # quality: 0
    # pitchAndFamily: 0

    fonts:
    microsoft yahei: &zh-cn-font # Chinese (Simplified) fallback font
    # replace: 更纱黑体 SC
    # replace: 文泉驿微米黑
    replace: Sarasa UI SC
    <<: *style
    microsoft jhenghei ui: # Chinese (Traditional) fallback font
    replace: Sarasa Gothic TC
    <<: *style
    # PMingLiU: # Chinese (Traditional) fallback font
    # replace: Microsoft JhengHei UI
    # <<: *style
    # MS UI Gothic: # Japanese fallback font
    # replace: Yu Gothic UI
    # <<: *style
    # Gulim: # Korean fallback font
    # replace: 맑은 고딕
    # <<: *style
    # Open Sans:
    # replace: HelveticaNeue
    Arial: &monospace-font
    replace: CascadiaCode Nerd Font
    <<: *style
    Consolas: *monospace-font # English Monospace default font
    SimSun: *zh-cn-font # Chinese Monospace fallback font
    Segoe UI: *zh-cn-font
    Segoe UI Semibold: &zh-cn-bold
    replace: 更纱黑体 SC Bold
    DAOpenSansRegular: *zh-cn-font
    DAOpenSansRegularItalic: *zh-cn-font
    DAOpenSansSemiboldItalic: *zh-cn-font
    DAOpenSansSemibold: *zh-cn-bold

    fixGSOFont: true # true is to use system UI font
    #fixGSOFont: *zh-cn-font # Or replace with user defined font
    debug: false
  6. 安装配置中的字体。旧版本中可以把字体放到同一文件夹下的 fonts 子文件夹下,但现在不行了,必须要安装。如果少哪个字体没装的话,telegram 的字体就会使用默认的等宽字体(宋体),非常难看。

  7. 运行 AppXLauncher64.exe 即可。