ass 标签 ¶
约 1369 个字 预计阅读时间 5 分钟
Abstract
ass 本身文件格式很简单,就是一个纯文本,内部主要内容(样式和字幕)类似 csv 格式(逗号分隔
所以这里着重记录一下 ass 字幕里面的特殊标签。
普通标签 ¶
即写在文本中用 \ 开头的标签,很少:
标签 | 作用 |
---|---|
\N | 硬换行,即直接换新行(但 ass 并没有调行距的方法) |
\n | 软换行(不常用,不解释) |
\h | 硬空格,即一个在开头也不会被忽略的半角空格 直接打半角空格如果在行开头则会被忽略 |
特效标签写在 {} 内,所以如果要直接打大括号需要用 \ 转义,即 \{\}(libass 支持
特效标签 ¶
写在 {} 中的标签,也需要用 \ 开头,用来定义整行字幕或标签后面内容的效果(后称其为整行特效和行内特效
行内特效 ¶
标签 | 作用 |
---|---|
\i1 \i0 | 打开 / 关闭斜体 |
\b1 \b0 | 打开 / 关闭粗体(可用 \b<weight> 选择字重) |
\u1 \u0 | 打开 / 关闭下划线 |
\s1 \s0 | 打开 / 关闭删除线 |
\bord<size> | 设置边框粗细(像素为单位) |
\xbord<size> \ybord<size> | 分别设置 x 和 y 方向的边框粗细 |
\shad<s> \xshad<s> \yshad<s> | 设置阴影,类似 bord,注意 xshad 和 yshad 可以设置负数 |
\be0 \be1 \be<strength> | 边框模糊,即模糊 bord 设置的边框,效果不一定明显 |
\blur<strength> | 边缘模糊,strength 较大的时候效果比 be 好,且可以不为整数 |
\fn<font> | 设置字体 |
\fs<size> | 设置字号,一般情况下为像素单位 |
\fscx<scale> \fscy<scale> | x 和 y 方向上的字体缩放,scale 为百分比,即 \fscx100 为不变 多次使用效果不会叠加,就是从原字号大小开始算的比例 |
\fsp<spacing> | 设置字符间距,可以是负数和小数 |
\frx<deg> \fry<deg> \frz<deg> | xyz 三个方向上的旋转,frz 可以写为 fr,旋转中心为 org 指定 可以用 Aegisub 的可视化工具调整 |
\fax<factor> \fay<factor> | 剪切效果(应用在旋转之后,不受 org 影响) |
\1c<color> \2c.. \3c.. \4c.. | 设置颜色,1c 可以写为 c,1234 分别是主要、次要、边框、阴影 颜色表示为 &H<bb><gg><rr>&,注意是 BGR 不是 RGB |
\1a<alpha> \2a.. \3a.. \4a.. | 设置透明度,1234 意义和上面一样,\alpha 同时设置四个 透明度表示为 &H<aa>&,aa 为 00-FF 的十六进制数 |
\r \r<style> | 重置样式或设为某一样式(清除前面的全部特效标签样式效果) |
\k.. \K.. \kf.. \ko.. | 卡拉 OK 标签,在卡拉 OK 特效页面中详细介绍 |
整行特效 ¶
静态效果 ¶
标签 | 作用 |
---|---|
\an |
对齐方式,和 Aegisub 样式编辑中的编号一致,即 2 中下 8 中上 |
\pos(<x>, <y>) | 字幕位置,像素为单位,左上为 (0, 0),向右下分别为 xy 正方向 \an 决定了位置的基准点 |
\org(<x>, <y>) | 设定旋转中心点 |
\clip(<x1>, <y1>, <x2>, <y2>) | 方形遮罩,给定左上和右下两个点,显示方形内的部分 \iclip 显示方形外的部分 |
\clip(<scale>, <drawing>) | 通过矢量绘图创建遮罩,scale 可以省略,默认为 1 drawing 为绘图指令,具体见后文,\iclip 用法同理 |
动态效果 ¶
- \move(<x1>, <y1>, <x2>, <y2>)
-
在字幕持续的时间内,从 (<x1>, <y1>) 移动到 (<x2>, <y2>)。
和 \pos 效果冲突,避免出现在同一行。
- \move(<x1>, <y1>, <x2>, <y2>, <t1>, <t2>)
-
<t1> 和 <t2> 相对于该行开始时间,以毫秒为单位,在 <t1> 到 <t2> 时间内进行移动。
\move 标签也可以通过 Aegisub 可视化设置。无法进行变速移动。
- \fade(<t1>, <t2>)
- <t1> 和 <t2> 以毫秒为单位,在开头 <t1> 毫秒淡入,结尾 <t2> 毫秒淡出。
- \fade(<a1>, <a2>, <a3>, <t1>, <t2>, <t3>, <t4>)
- 更复杂的透明度变化,在 <t1> 到 <t2> 间透明度从 <a1> 变到 <a2>,在 <t3> 到 <t4> 间再变到 <a3>。
- \t(<t1>, <t2>, <accel>,
) -
将 tags 特效标签的施加展现为动画效果,一些标签不可用比如 \fn,以及 \clip 和 \iclip 只能是矩形遮罩,不支持矢量遮罩的动画
<t1> 和 <t2> 相对于该行开始时间,以毫秒为单位,表示动画的时间范围,可以省略(表示动画持续整个行的时间
) 。<accel> 表示加速度,默认为 1 匀速,可以省略
。 (不是缓入缓出的参数,而仅仅是一直加速)
绘图标签 ¶
实际上也属于行内的特效标签,但语法相对复杂,所以单独拿出来了。
标签 | 作用 |
---|---|
\p1 \p0 | 打开 / 关闭绘图模式,\p 后可接 2 的次方设置绘图分辨率缩放比例 |
\pbo<offset> | 绘制时的基线偏移距离(y 方向上的,向下为正) |
绘图指令 ¶
类似 svg 中的 path 路径语法,但相对少一些。
- m <x> <y>
- 移动到 (<x>, <y>),且自动闭合路径开启新图形
。 (绘图指令都要从此开始) - n <x> <y>
- 移动到 (<x>, <y>),但不闭合路径。
- l <x> <y>
- 画一条线到 (<x>, <y>),也可以接多对 <x> <y> 连续画多条线。
- b <x1> <y1> <x2> <y2> <x3> <y3>
- 画一条三次贝塞尔曲线,给定三个点坐标分别为两个控制点和一个锚点(另一个锚点为当前位置
) 。
B 样条相关(不常用)
- s <x1> <y1> <x2> <y2> ... <xn> <yn>
- 均匀 B 样条,至少要给定三个点。
- p <x> <y>
- 给 B 样条添加一个点。
- c
- 闭合 B 样条。
PS: 使用 {\p1}m 0 0 l 100 0 100 100 0 100{\p0}
即一个方块配合 \fscx \fscy 缩放来制作任意矩形更方便。
创建日期: 2023年8月8日 23:28:15