Skip to content

zhimengsub/lua_scripts

Repository files navigation

lua_scripts

组内用于Aegisub的实用lua脚本

目录:

安装方式

release的最新版本中下载zhimengsub_lua_scripts_<发布时间>.zip

解压后,把所有lua脚本和zmsub_utils文件夹放入<aegisub安装目录>\automation\autoload内,重新启动aegisub即可。

脚本功能介绍

添加对白特效(2304)

文件名:zmsub.set_tags_for_dialogues.lua

配合'织梦-对白-2304'样式使用,为选中的中字\N日字格式的对白添加特效{\fnSource Han Sans JP Bold\fs55\fsvp10},并规范空格、数字宽度。具体操作解释及实例见拆解步骤

可以放心对已经添加过特效的行再次执行脚本,不用担心重复添加特效标签。

示例:

执行前 执行后 备注
比如说\N例えば {\blur3\yshad2.5\xshad1.5}比如说\N{\fnSource Han Sans JP Bold\fs55\fsvp10}例えば 完整添加特效
比如说\N{\fnSource Han Sans JP Bold\fs55\fsvp10}例えば {\blur3\yshad2.5\xshad1.5}比如说\N{\fnSource Han Sans JP Bold\fs55\fsvp10}例えば 添加模糊阴影
{\blur3\yshad2.5\xshad1.5}比如说\N例えば {\blur3\yshad2.5\xshad1.5}比如说\N{\fnSource Han Sans JP Bold\fs55\fsvp10}例えば 添加日字特效

删除对白特效

文件名:zmsub.remove_tags_for_dialogues.lua

直接把所有特效(花括号部分)删除

示例:

执行前 执行后
{\blur3\yshad2.5\xshad1.5}比如说\N{\fnSource Han Sans JP Bold\fs55\fsvp10}例えば 比如说\N例えば

检查中日符号一致性

文件名:zmsub.check_symbols.lua

检查中字和日字部分(以\N区分)的符号是否一致,即一边出现的符号另一边也要出现。目前检查的符号有…,。?!,.!、「」『』【】

不一致的行会被选中并注释。

不一致示例:

好\Nは…はい 「求你了 別砍到我」\N「頼む 当てないでくれ

一致示例:

好…\Nは…はい 「求你了 別砍到我」\N「頼む 当てないでくれ」

歌词排序

  1. 按语言拆分

    文件名: zmsub.lyric_sort_by_lang.lua

    选中按时间交错排序的双字台词,会把台词按语言拆为两块。

    示例:

    执行前:

    [JP1]臆病 風に吹かれて
    [ZH1]怯懦 被裹挟在风中
    [JP2]逃げ出すことさえ 考えていた
    [ZH2]甚至早就 想要落荒而逃
    [JP3]自信なんて 何一つなかったのに
    [ZH3]明明我身上 没有分毫自信
    [JP4]積み重ねていく日々が 少しずつ強くなっていく絆
    [ZH4]日子一天天流淌 带来愈发深厚的羁绊
    

    执行后:

    [JP1]臆病 風に吹かれて
    [JP2]逃げ出すことさえ 考えていた
    [JP3]自信なんて 何一つなかったのに
    [JP4]積み重ねていく日々が 少しずつ強くなっていく絆
    [ZH1]怯懦 被裹挟在风中
    [ZH2]甚至早就 想要落荒而逃
    [ZH3]明明我身上 没有分毫自信
    [ZH4]日子一天天流淌 带来愈发深厚的羁绊
    
  2. 按时间交错

    文件名:zmsub.lyric_sort_by_time.lua

    选中按语言聚集排序的双字台词,会把前半部分和后半部分交错在一起。

    示例:

    执行前:

    [ZH1]怯懦 被裹挟在风中
    [ZH2]甚至早就 想要落荒而逃
    [ZH3]明明我身上 没有分毫自信
    [ZH4]日子一天天流淌 带来愈发深厚的羁绊
    [JP1]臆病 風に吹かれて
    [JP2]逃げ出すことさえ 考えていた
    [JP3]自信なんて 何一つなかったのに
    [JP4]積み重ねていく日々が 少しずつ強くなっていく絆
    

    执行后:

    [ZH1]怯懦 被裹挟在风中
    [JP1]臆病 風に吹かれて
    [ZH2]甚至早就 想要落荒而逃
    [JP2]逃げ出すことさえ 考えていた
    [ZH3]明明我身上 没有分毫自信
    [JP3]自信なんて 何一つなかったのに
    [ZH4]日子一天天流淌 带来愈发深厚的羁绊
    [JP4]積み重ねていく日々が 少しずつ強くなっていく絆
    

智能合并对话

文件名:zmsub.smart_join_lines_wspace.lua(用空格分隔)、zmsub.smart_join_lines_nospace.lua(无分隔符)

直接合并多行已处理过的对白。把中文和日文分别合并至各自部分(以\N区分),并保留模糊阴影(2304)特效。

合并时的分隔符分为空格不含分隔符

示例:

执行前:
{\blur3\yshad2.5\xshad1.5}好重\N{\fnSource Han Sans JP Bold\fs55\fsvp10}重っ
{\blur3\yshad2.5\xshad1.5}原来这么厚啊\N{\fnSource Han Sans JP Bold\fs55\fsvp10}こんな分厚いんだね
执行后(使用空格分隔):
{\blur3\yshad2.5\xshad1.5}好重 原来这么厚啊\N{\fnSource Han Sans JP Bold\fs55\fsvp10}重っ こんな分厚いんだね

添加对白特效(2304).拆解步骤

文件名: zmsub.detailed_steps.lua

添加对白特效脚本按顺序依次执行了下面几个功能,你可以按需手动运行其中的步骤。

一般不需要用到,就算只做了下面的部分步骤(如已经插入日字特效,需要单独插入模糊阴影),直接运行完整版也可以达到目的。

  1. 插入日字特效

    为选中的中字\N日字格式插入{\fnSource Han Sans JP Bold\fs55\fsvp10},并删掉(忽略特效标签后的)头尾的\N

    对于\N含有一定的容错识别能力,如:/N\\N\NN等等;头尾的识别还包括/\等等。

    具体使用的正则表达式为:

    • 句中: ([\\\\/]+N+)+
    • 开头: ^([\\\\/]+N*)+
    • 结尾: ([\\\\/]+N*)+$

    示例:

    执行前 执行后 备注
    谢谢\Nありがとう 谢谢\N{\fnSource Han Sans JP Bold\fs55\fsvp10}ありがとう 正常情况
    \N谢谢\\N//N\NNありがとう\N 谢谢\N{\fnSource Han Sans JP Bold\fs55\fsvp10}ありがとう \N的容错处理
    {\blur3\yshad2.5\xshad1.5}\N谢谢\Nありがとう\N{\bord3} {\blur3\yshad2.5\xshad1.5}谢谢\N{\fnSource Han Sans JP Bold\fs55\fsvp10}ありがとう{\bord3} 清理头尾\N时忽略特效标签
  2. 规范空格、数字宽度

    全角空格替换为半角、多个连续空格替换为一个空格;开头、结尾的空格将被删除。

    对白(中日分别处理)只有一个数字则全角,出现两个以上数字全部半角。

    示例:

    执行前 执行后 备注
    开头结尾、中间存在(多个)半角/全角空格 [开头] 但 但是 [结尾]\N[开头] だ  だけど [结尾] 但 但是\Nだ だけど
    开头结尾空格处理无视特效标签 {\blur3\yshad2.5\xshad1.5} 但 但是 \N だ  だけど {\blur0} {\blur3\yshad2.5\xshad1.5}但 但是\Nだ だけど{\blur0}
    一个半角数字 1年左右\N1年くらい 1年左右\N1年くらい
    多个全角数字 15或16万吧\N15 16万かな 15或16万吧\N15 16万かな
    多个全角数字 5或6万吧\N5 6万かな 5或6万吧\N5 6万かな
  3. 插入模糊阴影(2304)

    每行开头插入\blur3\yshad2.5\xshad1.5特效。

    示例:

    执行前 执行后 备注
    但是啊\Nでもなぁ {\blur3\yshad2.5\xshad1.5}但是啊\Nでもなぁ 原文无特效标签
    {\fn40}但是啊\Nでもなぁ {\blur3\yshad2.5\xshad1.5\fn40}但是啊\Nでもなぁ 原文已有特效标签