找回密码
 立即注册
查看: 160|回复: 0

【教程】VLC APK(Android版)更改字幕默认字体的方法 (不修改系统字体)

  • TA的每日心情
    擦汗
    18 小时前
  • 签到天数: 1196 天

    [LV.10]以坛为家III

    30

    主题

    467

    回帖

    1万

    VC币

    星辰大海

    Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20

    积分
    1625295
    tmdtmdtmdqq 发表于 2025-3-22 14:48:56 | 显示全部楼层 |阅读模式
    本帖最后由 tmdtmdtmdqq 于 2025-4-1 14:30 编辑

    据我了解,VLC Android版中并没有更改字幕默认字体的选项。App设置只能更改粗细、透明度、颜色等。
    网上搜了一圈,除了魔改系统字体的方法,还有人提出修改libvlc.so可以更改缺字时fallback的字体。
    测试了,ass字幕缺字时候确实能行,但是对于srt字幕却没修改到字体。
    libvlc.so研究了一番,发现修改另外一个位置就能修改到srt字幕使用的默认字体。
    方法如下,修改libvlc.so的以下位置:
    libvlc.so_mod.png
    然后替换掉/data/app/~~9yz3DqvRQgXAUoNRcksm2w==/org.videolan.vlc-kRPJXdH9b61EkiINm3RMKg==/lib/arm64/下的同名文件(需要root标蓝的两级目录可能不同手机会有不同名称)
    上述修改的3个位置为:
    1. /system/etc/fonts.xml    =>    /sdcard/fonts/fts.xml
    2. /system/fonts    =>    /sdcard/fonts
    3. /system/fonts/NotoSansCJK-Regular.ttc    =>    /sdcard/fonts/ass-fallback-myfont.ttf
    复制代码
    没有root或嫌繁琐不想改的,直接装下面patch过的apk就好。

    然后,操作下面两步。
    1)   /sdcard/ 目录下建立一个 fonts 的目录,
    放入fts.xml你想使用的字体文件
    fts.xml里的内容很简单,用于 srt字幕 显示的字体(附件已带)
    (注意:文件应以utf-8编码保存)  
    <?xml version="1.0" encoding="utf-8"?>
    <familyset version="23">
        <family>
            <font weight="400" style="normal">FZZhunYuan-M02.ttf</font>
        </family>
    </familyset>

    可以将 FZZhunYuan-M02.ttf 替换为 /sdcard/fonts/ 目录下的字体文件名(包括后缀)。(otf和ttc文件按理说也支持,看系统)
    也可以将名字改成跟下面一样ass-fallback-myfont.ttf,用同一个字体。

    2)  选一个字体文件改名为ass-fallback-myfont.ttf
    用于 ass字幕 缺字时(fallback)显示的字体(简而言之就是你用ass字幕没装字体时候显示用的)。
    因为上面改libvlc.so时候设置了这个文件名路径,
    所以此处只能将字体文件改成这个文件名。
    (otf和ttc文件按理改成ttf后缀也是支持的,看系统)

    vlc_mod_test.jpg

    方正字体的话,推荐使用v5.34+版的方正准圆_GBK、v5.32+版的方正粗圆_GBK、v1.31+版的方正兰亭中粗黑_GBK(FZLanTingHei-DB1-GBK)【不要以为GB18030就支持得好】
    这几个字体,中日文字都支持得比较好

    =======================================
    提供一个自动补丁程序libvlc_font_patch
    以后有新版的VLC,只要改动不大,就能自动生成patch过的apk。(测试过v3.6.0,只支持arm64-v8a版本)
    只需直接把原版apk拖进去patch_apk_run.bat即可 (路径最好不要有空格和特殊字符),生成XXXXX_v1Signed_zipaligned_v2Signed.apk
    系统需要Python3.7+Java1.8+的环境
    patch过的apk 不能直接覆盖 原版 安装,因为apk签名已经改过。需要先卸载原版再装。
    patch过的新版 可以覆盖 patch过的旧版 安装
    装回原版也要先卸载patch过的apk。
    某些比较烂的杀毒软件会报(杀毒报告),信不过就不要用这程序了

    最新官方稳定版下载地址,下载arm64-v8a版本
    官方站:https://get.videolan.org/vlc-android/last/
    清华大学镜像站(大陆线路推荐):https://mirrors.tuna.tsinghua.edu.cn/videolan-ftp/vlc-android/last/


    fts.xml文件.rar (390 Bytes, 下载次数: 6)
    libvlc_font_patch.rar (1.16 MB, 下载次数: 6)

    Patch过的VLC apk v3.6.2 -->  网盘下载



    欢迎报错继续向上改进我改进过的字幕。
    请勿将无实质性修改、劣化精简本人改进过的字幕重新发布到此论坛:如仅改名、仅打包、修改总错字数≤5、删除特效等。       ——20230204
    本人改进过的字幕,禁止以任何形式进行商用。若要附带在视频、种子中发布,请先咨询。      ——20231203
    一些字幕搜寻、制作的方法和经验汇总  →  >>>帖子<<<
    禁止DBD-Raws及其相关人士使用本人所有制作或修正改进过的字幕(包括过往的)      ——20240730
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    快速回复 返回顶部 返回列表