惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

L
LINUX DO - 最新话题
G
Google Developers Blog
J
Java Code Geeks
The GitHub Blog
The GitHub Blog
F
Full Disclosure
H
Help Net Security
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Vercel News
Vercel News
酷 壳 – CoolShell
酷 壳 – CoolShell
Recent Announcements
Recent Announcements
Help Net Security
Help Net Security
The Hacker News
The Hacker News
IT之家
IT之家
Y
Y Combinator Blog
Martin Fowler
Martin Fowler
L
Lohrmann on Cybersecurity
C
CERT Recently Published Vulnerability Notes
V
Visual Studio Blog
博客园 - 聂微东
Hacker News: Ask HN
Hacker News: Ask HN
H
Hacker News: Front Page
Know Your Adversary
Know Your Adversary
Security Latest
Security Latest
Security Archives - TechRepublic
Security Archives - TechRepublic
Simon Willison's Weblog
Simon Willison's Weblog
www.infosecurity-magazine.com
www.infosecurity-magazine.com
T
Troy Hunt's Blog
Last Week in AI
Last Week in AI
Schneier on Security
Schneier on Security
N
News and Events Feed by Topic
博客园 - 【当耐特】
有赞技术团队
有赞技术团队
AWS News Blog
AWS News Blog
Blog — PlanetScale
Blog — PlanetScale
博客园_首页
Google DeepMind News
Google DeepMind News
Cloudbric
Cloudbric
N
News | PayPal Newsroom
A
About on SuperTechFans
S
Schneier on Security
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Hugging Face - Blog
Hugging Face - Blog
M
MIT News - Artificial intelligence
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
雷峰网
雷峰网
T
The Exploit Database - CXSecurity.com
罗磊的独立博客
K
Kaspersky official blog
The Cloudflare Blog
I
Intezer

Yesterday17's Blog

2026 新年解密红包 / Melody Flag | Yesterday17's Blog 谈谈 Iori 的设计思路(二):如何实现一个 Showroom 录制工具? | Yesterday17's Blog 谈谈 Iori 的设计思路(一):从 Nico Timeshift 说起 | Yesterday17's Blog Iori Minyami 0.1.0 发布 | Yesterday17's Blog 2025 新年解密红包 / Melody Flag | Yesterday17's Blog 使用 Cloudflare Warp 解决罗森票务的海外登录问题 | Yesterday17's Blog How To Blog 04: The Astro v5 Era | Yesterday17's Blog 谈谈 tokio::select! 的公平性 | Yesterday17's Blog Learning Pingora 05 - Connect with TLS | Yesterday17's Blog Leaving Bytedance | Yesterday17's Blog 大橋彩香 AsiaTour「Reflection」上海公演 个人向记录 & Repo | Yesterday17's Blog Recoving from burnout - What happened? | Yesterday17 Yubikey 重建手册 | Yesterday17's Blog How To Blog 03: Heimus | Yesterday17's Blog 🪧 Blog Migration Accouncement | Yesterday17's Blog Learn Your IDE - VSCode 是如何仅重启插件的? | Yesterday17's Blog How To Blog 02: Astro❤️Password | Yesterday17's Blog How To Blog 01: Why, How, and the Future | Yesterday17's Blog Learning Pingora 04 - Establish L4 Connection | Yesterday17's Blog Learning Pingora 03 - Upstreams and Peers | Yesterday17's Blog Learning Pingora 02 - A Simple HTTP Server | Yesterday17's Blog Learning Pingora 01 - Getting Started | Yesterday17's Blog 2024 新年解密红包 / Melody Flag | Yesterday17's Blog 向新的一年飞驰——记录 2023 | Yesterday17's Blog 「サクラノ刻」对话选摘(2) | Yesterday17's Blog PGP Key Revocation 注销声明 | Yesterday17's Blog 「サクラノ刻」对话选摘(1) | Yesterday17's Blog 2023 新年解密红包 / Melody Flag | Yesterday17's Blog 『蒼の彼方のフォーリズム』通关感想 | Yesterday17's Blog 单显卡直通教程 | Yesterday17's Blog 对博客与笔记的思考 | Yesterday17's Blog Project Anni 之旅(3)自动化 Flutter 应用 CI/CD 上架流程 | Yesterday17's Blog AsobiStage 直接播放链接 | Yesterday17 如何在后分P时代进行投稿——sswa使用详解 | Yesterday17's Blog JSON RPC 与 LSP 协议基础 | Yesterday17's Blog Grajapa Shueisha / BookEnd 加密方式调查 | Yesterday17's Blog 【2022篇+WriteUp】如何再收一个新年红包? | Yesterday17's Blog 如何将良心云的良心功能清理干净 | Yesterday17's Blog 【油猴脚本】bilibili 投稿页面返回旧版+旧版页面强制允许分P上传 | Yesterday17's Blog Cloudr1v1 授权方式分析 | Yesterday17 Typora 1.0.2 逆向实录 | Yesterday17's Blog Project Anni 之旅(2)ValueAfterTable——toml-rs的实现与限制 | Yesterday17's Blog IPv4透明代理+IPv6 Passthrough——树莓派单臂软路由折腾记 | Yesterday17's Blog Chaos; Child 汉化补丁 神秘编码探索 | Yesterday17's Blog 镣铐与舞蹈——个性与共性之迷思 | Yesterday17's Blog Go 学习笔记 02 - 找准 io 之道 | Yesterday17's Blog NAT Slipstreaming v1 原理浅析 | Yesterday17's Blog 绕过「9-nine-」的 CDKEY 验证——KrkrPlugin 正(?)向实录 | Yesterday17's Blog 静流的青春纪念册——「サクラノ刻 -櫻の森の下を歩む-」体验版感言 | Yesterday17's Blog Project Anni 之旅 01 - 从 clap-builder 到 derive | Yesterday17's Blog [Google CTF 2021] CPP WriteUp | Yesterday17's Blog 获取 アソビステージ 的实际播放链接 | Yesterday17's Blog 90 行 Rust 代码实现 AsyncTeeReader | Yesterday17's Blog 或许还算有价值一读的文章列表 | Yesterday17's Blog 从零开始的 Seedbox 之旅 | Yesterday17's Blog [随笔]技术型博客行文迷思(1) | Yesterday17's Blog 浅谈 git fetch 的工作方式 | Yesterday17's Blog 『ソーサレス*アライヴ! ~the World's End Fallen Star~』通关感想" | Yesterday17's Blog Rust std::fmt 格式语法简述 | Yesterday17's Blog 日亚修改居住国的解决方案 | Yesterday17's Blog [Windows/Linux] GC553 的 Switch 完美采集之路 | Yesterday17's Blog 【翻译】Subtyping and Variance / 子类型与变型 | Yesterday17's Blog Berd's Red Envelope 2021 WriteUp | Yesterday17's Blog 【中英对照】ALSA 音频 API 使用教程/A Tutorial on Using the ALSA Audio API | Yesterday17's Blog 从 cue_scanner.l 看 CUE Sheet 的词法单元 | Yesterday17's Blog Postman 历史记录导出的解决方案 | Yesterday17's Blog 《恋爱绮谭 不存在的夏天》通关感想 | Yesterday17's Blog [微机实验/TD-PITE] 微机接口综合实验 | Yesterday17's Blog [微机实验/TD-PITE] 键盘扫描及数码管显示实验 | Yesterday17's Blog [微机实验/TD-PITE] 数码管显示实验 | Yesterday17's Blog Airsonic Advanced+Google Drive+Caddy 部署纪实 | Yesterday17's Blog X-NUCA 2020 - hellowasm 题解 | Yesterday17's Blog [微机实验/TD-PITE] 8251 串行接口实验 | Yesterday17's Blog Node.js child_process.fork 与 env 污染 RCE | Yesterday17's Blog EP.01 「夜の向日葵」 | Yesterday17's Blog [微机实验/TD-PITE] 8254 定时/计数器实验+选做实验 | Yesterday17's Blog [JLU CTF/2020] babywasm WriteUp | Yesterday17's Blog PHP 反序列化与经典利用 | Yesterday17's Blog WebAssembly 逆向简述 | Yesterday17's Blog 『彼女、お借りします』一期完结点评 | Yesterday17's Blog [微机实验/TD-PITE] D/A 转换实验+选做实验 | Yesterday17's Blog [微机实验/TD-PITE] A/D 转换实验+选做实验 | Yesterday17's Blog 开源项目申请 JetBrains Open Source License 简单流程 | Yesterday17's Blog 微软拼音与 JetBrains 搜索快捷键冲突的解决方案 | Yesterday17's Blog [微机实验/TD-PITE] 8259 中断优先级实验+选做实验 | Yesterday17's Blog IFTTT 测试(续) | Yesterday17 IFTTT 测试 | Yesterday17's Blog [微机实验/TD-PITE] 存储器扩展实验+选做实验 | Yesterday17's Blog 新版 GCC 针对 -fdump-translation-unit 的替代方案 | Yesterday17's Blog 一次 HSTS 策略配置的排错之旅 | Yesterday17's Blog YukiNative 踩坑记——Windows 的消息队列 | Yesterday17's Blog 我是我自己——论获取 HTTPS 证书时的验证步骤 | Yesterday17's Blog 【设计文档】对 PUG 的大规模设计修订(1.1) | Yesterday17's Blog GS65 折腾记(2)加装固态,分区,Grub2 引导 Manjaro LiveCD | Yesterday17's Blog 「さくら、もゆ。」的空白字体列表——一次逆向问题定位过程实录 | Yesterday17's Blog GSuite 探索篇(1)使用 Service Account 向 Google Drive 传输文件 | Yesterday17's Blog 『サクラノ詩 -櫻の森の上を舞う-』通关感想 | Yesterday17's Blog 《ATRI -My Dear Moments-》通关感想 | Yesterday17's Blog [工具][VSCode 扩展] AegiKit——方便 Aegisub 使用的工具箱 | Yesterday17's Blog 贝塞尔曲线、字体矢量化与曲线运算 | Yesterday17's Blog
ASS 标签 (VSFitlerMod) | Yesterday17's Blog
Yesterday17 · 2020-06-27 · via Yesterday17's Blog

ToC

  • 说在前面
  • 补充:$ 标号
  • 特效标签:整行
    • mover(极坐标移动)
      • 格式
      • 说明
    • moves3, moves4(三次贝塞尔曲线移动)
      • 格式
      • 说明
  • 特效标签:标签后
    • fsc(字体缩放)
      • 格式
      • 说明
      • 注意
    • fsvp(纵向偏移)
      • 格式
      • 说明
    • frs(基线倾斜)
      • 格式
      • 说明
      • 补充
    • zZ 坐标)
      • 格式
      • 说明
      • 补充
    • distort(扭曲)
      • 格式
      • 说明
    • rndrndx, rndy, rndz(边界变形)
      • 格式
      • 说明
    • $vc(颜色渐变)
      • 格式
      • 说明
    • $va(透明度渐变)
      • 格式
      • 说明
    • $img(图片替代颜色填充)
      • 格式
      • 说明
      • 注意
    • jitter(抖动)
      • 格式
      • 说明
  • 特效标签:特殊
    • movevc(移动矢量绘图遮罩)
      • 格式
      • 说明

说在前面

本文的内容整理自大头P群里上传的《VSFilterMod 中文说明文档》,会配上一些自己的理解你都没用 Windows 能有什么理解。总的来说是以快速查询为目的整理的,因此会跳过一些不必要的内容。

本文仅整理 VSFilterMod 的标签,如果想要使用标准的 ASS 标签请查阅前篇

本文默认读者已经读过《[整理] ASS 标签(标准)》一文。文中跳过了原文档的例子,并建议读者亲自实践过后将本文作为简单的手册查询。

补充:$ 标号

在下文的描述中,如果有用到 $ 符号的,一律以下标的含义理解标签:

数字含义
1主要颜色
2次要颜色
3边框
4阴影

特效标签:整行

这一类特效标签会对整行字幕生效。

mover(极坐标移动)

格式

mover(x1: number, y1: number, x2: number, y2: number, angle1: number, angle2: number, radius1: number, radius2: number, t1?: number, t2?: number)

说明

当不指定 angleradius 时,和 move 效果一致。

当指定 angleradius 后,就按照设定的角度和半径进行运动。

moves3, moves4(三次贝塞尔曲线移动)

格式

moves3(x1: number, y1: number, x2: number, y2: number, x3: number, y3: number, t1?: number, t2?: number)

moves4(x1: number, y1: number, x2: number, y2: number, x3: number, y3: number, x4: number, y4: number, t1?: number, t2?: number)

说明

使用 p1p2p3(以及 p4)为基点,产生三(四)次贝塞尔曲线后以该曲线作为轨迹移动。

特效标签:标签后

fsc(字体缩放)

格式

说明

设置字体的缩放,效果与同时使用 fscxfscy 相同。

注意

这里存在 VSFilterModlibass 的差异。libass 虽然也有 fsc 标签,但它的 fsc 标签并不解析之后的参数。具体的代码是这样的:

} else if (tag("fsc")) {

render_priv->state.scale_x = render_priv->state.style->ScaleX;

render_priv->state.scale_y = render_priv->state.style->ScaleY;

}

对比上面的 fscx

} else if (tag("fscx")) {

double val;

if (nargs) {

val = argtod(*args) / 100;

val = render_priv->state.scale_x * (1 - pwr) + val * pwr;

val = (val < 0) ? 0 : val;

} else

val = render_priv->state.style->ScaleX;

render_priv->state.scale_x = val;

}

可以很明显地看出差异。libass 中的 fsc 只能用户将字体大小恢复为样式默认值。

fsvp(纵向偏移)

格式

说明

改变文字的纵向偏移(vertical padding)。数字的正负代表其在 Y 轴上的偏移量。

frs(基线倾斜)

格式

说明

将文字的基线倾斜,即文字仍以原点开始渲染,但渲染的方向根据 angle 变化。

补充

个人感觉可以用 an7pos 加上 fr(z) 模拟这个效果。

zZ 坐标)

格式

说明

设置 Z 坐标,表示文字到屏幕之间的距离。

补充

感觉视角有点奇怪,具体还得研究源码。

distort(扭曲)

格式

distort(u1: number, v2: number, u2: number, v2: number, u3: number, v3: number)

说明

通过移动 (u, v) 点的坐标,以自定义三个点配合原点的形式实现文本的扭曲。四个点从原点开始顺时针方向分别为:P0(0, 0)P1(u1, v1)P2(u2, v2)P3(u3, v3)

默认的状态为 \distort(1, 0, 1, 1, 0, 1)

rndrndx, rndy, rndz(边界变形)

格式

rnd(arg: number)

rndx(arg: number)

rndy(arg: number)

rndz(arg: number)

说明

在选定的坐标轴上,字体的边界会产生某种可以认为是随机的变形。变形的范围是 (-arg, arg)

rndz 可能比较难以观察,使用 fscx45 观察相对较为清楚。

使用 rnd 相当于同时使用 rndxrndyrndz

$vc(颜色渐变)

格式

$vc(left_top: Color, right_top: Color, left_bottom: Color, right_bottom: Color)

说明

线性插值渲染颜色渐变。

$va(透明度渐变)

格式

$va(left_top: Alpha, right_top: Alpha, left_bottom: Alpha, right_bottom: Alpha)

说明

线性插值渲染透明度渐变。

$img(图片替代颜色填充)

格式

$img(path: string, x_offset?: number, y_offset?: number)

说明

将图片以重复(repeated)的形式作为颜色填充,配合绘图指令可以达到嵌入图片的效果。

图片路径以 / 符号作为目录分隔符,可以是相对或绝对路径。

图片只支持 24 位或 32 位不带透明通道的 TrueColor PNG 文件。

注意

\be\blur 不能模糊图片,只能模糊图片填充的边框。

jitter(抖动)

格式

jitter(left: number, right: number, up: number, down: number, period: number, seed?: number)

说明

根据 leftrightupdown 限定抖动的区域,根据 period 设置抖动的周期,并以 seed 为随机数种子抖动。

特效标签:特殊

这里出现了一种特殊的标签,难以归到上述的两类之中,因此独立出来单列一类。

movevc(移动矢量绘图遮罩)

格式

movevc(x1: number, y1: number, x2: number, y2: number, t1?: number, t2?: number)

说明

移动原本无法移动的矢量绘图遮罩。