原文链接
这是我多年前所做的笔记,资料都是从网上摘抄,其中内容难免有缺失或错误。
第一部分 [Script Info]
这一部分主要是记录了一些文件内容的标题和信息
[Script Info]
; Script generated by Aegisub r8942
; http://www.aegisub.org/
!: 注释
Title: Default Aegisub file
ScriptType: v4.00+
WrapStyle: 0
ScaledBorderAndShadow: yes
YCbCr Matrix: TV.601
Original Script: 脚本原作者
Original Translation: 译者
Original Editing: 编辑
Original Timing: 时间轴
Synch Point: 0
Script Updated By: 修订者
Update Details: 修订详情,修订部分的描述
PlayResX: 1280
PlayResY: 720
PlayDepth: 颜色深度
Collsions: Normal
Timer: 100.0000
下面就[Script Info]
这一部分作简单说明:
ASS文件第一行必须是
[Script Info]
;
后面可以填写任何内容!:
后面是注释部分Title:
脚本文件的标题ScriptType:
脚本格式ASS
文件为v4.00+
-
WrapStyle:
指定了当一行字幕过长时的换行方式共有4种换行方式:
0
:智能换行:上行较宽1
:于行尾词出换行:仅于\N
后断行2
:不自动换行:于\n
和\N
后断行3
:智能换行:下行较宽 ScaledBorderAndShadow:
字幕边框宽度和阴影深度是否随着视频分辨率等比缩放,yes
或no
YCbCr Matrix:
Original Script:
脚本原作者Original Translation:
译者Original Editing:
编辑Original Timing:
时间轴人员Synch Point:
同步点Script Updated By:
脚本修订者Update Details:
修订详情,修订部分的描述PlayResX:
视频宽度PlayResY:
视频高度,这两个定义了视频的分辨率PlayDepth:
显示颜色深度-
Collsions:
字幕碰撞处理,当两条字幕重叠时,如何进行移动,共有两种方式Normal
:后一条字幕出现在前一条的上方Reverse
:前一条字幕向上移动给后一条字幕让位 -
Timer:
时间轴计时器,单位为%
,默认为100.0000
大于
100
时,字幕会比预定越来越早的出现小于
100
时,字幕会比预定越来越晚的出现一般不改变,取默认
100.0000
第二部分 [V4+ Styles]
这一部分主要保存了字幕的样式
[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,0,0,100,100,0,0,1,2,2,2,10,10,10,1
以[V4+ Styles]
作为这一部分的开始,紧跟着第二行Format:
基本也是固定的,而Style
行的各个值和Format
行的各个名字之间是一一对应关系。这个部分就像是一张表单,Format
行就是表头,Style
行就是往表格里填的数据,大概就是这么一个关系,一个脚本可以设置多个字幕样式。
下面讲一下每个名字的具体意义:
-
Name
:样式名字 -
FontName
:字体名称 -
Fontsize
:字体大小 -
PrimaryColour
:主要填充颜色 -
SecondaryColour
:次要填充颜色,用于标准卡拉OK模式下的预填充 -
OutlineColour
:字体边框颜色 -
BackColour
:字体阴影色 -
Bold
:粗体,1开启,0关闭 -
Italic
:斜体,1开启,0关闭 -
Underline
:下划线,1开启,0关闭 -
StrikeOut
:删除线,1开启,0关闭 -
ScaleX
:宽度缩放,单位为%
,默认100
-
ScaleY
:高度缩放,单位为%
,默认100
-
Spacing
:字体间距 -
Angle
:旋转角度 -
BorderStyle
:边框样式;默认为1
,即使用正常字体边框,设置为3
时,则使用不透明背景取代字体边框 -
Outline
:边框宽度 -
Shadow
:阴影距离 -
Alignment
:字幕对齐方式 -
MarginL
:左边距 -
MarginR
:右边距 -
MarginV
:垂直边距 -
Encoding
:字体编码;默认为1
第三部分 [Events]
这一部分就是字幕的主体部分,记录了对话的开始和结束时间,对话内容和显示等信息
[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:01.24,0:00:01.99,Default,,0,0,0,,所以
Comment: 0,0:00:00.00,0:00:00.00,Default,,0,0,0,,注释
这一部分以Events
作为开始,后面紧跟的Format
基本也是固定的,后面的行和Format
也是对应关系。
-
Layer
:字幕的层,当两条字幕重叠时,层数较大的会叠加在层数小的上面,如果层数相同,那么后出现的会叠加的先出现的上面,层数默认为0
-
Start
:字幕的开始时间,精度为0.01s
-
End
:字幕的结束时间,精度为0.01s
-
Style
:样式名称,对应[V4+ Styles]
中的Name
项 -
Name
:说话人。只做参考,一般省略 -
MarginL
:左边距。可对样式进行修改,默认为0
采用原值,若不为0
则取代原值 -
MarginR
:右边距。可对样式进行修改,默认为0
采用原值,若不为0
则取代原值 -
MarginV
:垂直边距。可对样式进行修改,默认为0
采用原值,若不为0
则取代原值 -
Effect
:动态效果;Scroll up, Scroll down, Banner, Karaoke
-
Text
:字幕。可以通过添加代码改变字幕,实现多种特效
每一行字幕开头的修饰语有两种:
-
Dialogue
:正常的对话字幕内容 -
Comment
:注释内容,这些行不会作为字幕内容显示在视频中
第四部分 代码及其作用
在这一部分正式开始之前,先作一个简单的说明:
- 所有代码前必须加
\
- 代码必须放在
{}
中,\N
,\n
,\h
除外
在代码说明部分会出现以下标记:
-
<...>
:表示该部分需要输入参数 -
[...]
:表示该部分为可选择输入项 -
<../..>
:表示从给定参数中任选一项
常用代码
\N
:强制换行\n
:空格,和空格键效果一样\h
:强制空格,即使在行首和行尾也能生效-
\a
:设置字幕对齐方式,alignment
取值如下表左 中 右 上 5 6 7 中 9 10 11 下 1 2 3 -
\an
:设置字幕对齐方式,alignment
取值和数字小键盘的布局相同,这种方式比较容易记住,所以通常采用这种方式设置对齐方式,包括第二部分[V4+ Styles]
中的Alignment
也是采用的这种对齐方式左 中 右 上 7 8 9 中 4 5 6 下 1 2 3 \b<0/1>
:设置粗体。0
为关闭,1
为开启\b
:设置字体磅值,取值为100的倍数。100: Lowest, 400: Normal, 700: Bold, 900: Heaviest
\i<0/1>
:设置斜体。0
为关闭,1
为开启\u<0/1>
:设置下划线。0
为关闭,1
为开启\s<0/1>
:设置删除线。0
为关闭,1
为开启\be<0/1>
:边框模糊。0
为关闭,1
为开启\be
:边框模糊\blur
:边缘模糊。strength
取值越大,效果越明显,当没有字幕边框时,显示为字幕主体模糊效果\bord
:设置边框宽度\xbord
:设置x方向边框宽度\ybord
:设置y方向边框宽度\shad
:设置阴影距离\xshad
:设置x方向阴影距离\yshad
:设置y方向阴影距离\r
:设置样式\r
:设置为默认样式\fa
:文本错切。错切实在旋转之后应用的,以旋转后的坐标系为基准,不受旋转中心的影响,通常取值为[-2, 2]
,超出范围取值效果并不好\fn
:设置字体,若要使字体旋转90°显示,在fontname
前加@
\fs
:设置字体大小\fe
:设置字体编码\fsc
:设置字体缩放,{\fscx
代表宽度缩放,} {\fscy
代表高度缩放,} percent
单位为%
,默认为100
\fsp
:设置字体间距,默认为0
\fr[
:设置旋转角度,] x, y, z
分别代表横纵坐标轴和垂直于屏幕向上的坐标轴,degrees
取值为正数逆时针旋转,取值为负数顺时针旋转\org(
:设置旋转中心点, ) \alpha&H
:设置字体透明度,16进制,取值范围& 00-FF
,取值越大,透明度越大\$a&H
:设置字体透明度,& $
可以取值为1, 2, 3, 4
,分别代表主要填充透明度,次要填充透明度,边框透明度,阴影透明度\c&H
:设置字体颜色,16进制,& ASS
脚本中颜色格式为\$c&H
:设置字体主体颜色,& $
可以取值为1, 2, 3, 4
,分别代表主要填充颜色,次要填充颜色,边框颜色,阴影颜色-
\move(
:字幕移动效果, , , , [ , ]) (x1, y1)
为开始位置,(x2, y2)
为结束位置,t1, t2
为移动的开始和结束时刻,单位为ms
,相对于字幕的开始时间,若省略,则默认使用字幕的开始和结束时间 \pos(
:设置字幕位置, ) \fad(
:淡入淡出效果,, ) t1
为淡入所用时长,t2
为淡出所用时长,单位为ms
-
\fade(
:淡入淡出效果, , , , , , ) a1
为淡入开始时的透明度,a2
为淡入结束时的透明度,a3
为淡出结束时的透明度,透明度采用10进制,取值为0-255
t1, t2
为淡入的起止时刻,t3, t4
为淡出的起止时刻 -
\t([
, , ,]