From 105149fb758bd6d51d2d05ef228b8a69ad907574 Mon Sep 17 00:00:00 2001 From: arch1t3cht Date: Fri, 28 Aug 2026 16:08:50 +0200 Subject: [PATCH 1/3] Make all relrefs properly relative --- content/en/docs/latest/Automation.md | 4 ++-- content/en/docs/latest/Automation/Included_macros.md | 2 +- content/en/docs/latest/Automation/Karaoke_Templater.md | 2 +- .../Template_execution_rules_and_order.md | 2 +- .../Automation/Karaoke_Templater/Template_modifiers.md | 4 ++-- .../latest/Automation/Karaoke_Templater/Tutorial_1.md | 4 ++-- content/en/docs/latest/Automation/Lua.md | 2 +- .../en/docs/latest/Automation/Lua/Miscellaneous_APIs.md | 6 +++--- content/en/docs/latest/Automation/Lua/Modules.md | 4 ++-- .../en/docs/latest/Automation/Lua/Modules/karaskel.lua.md | 4 ++-- content/en/docs/latest/Automation/Lua/Registration.md | 4 ++-- content/en/docs/latest/Automation/Manager.md | 8 ++++---- content/en/docs/latest/Automation/Running_macros.md | 4 ++-- .../latest/Automation/Karaoke_Templater/Tutorial_1.md | 2 +- 14 files changed, 26 insertions(+), 26 deletions(-) diff --git a/content/en/docs/latest/Automation.md b/content/en/docs/latest/Automation.md index 0f5e127c4..548502d2a 100644 --- a/content/en/docs/latest/Automation.md +++ b/content/en/docs/latest/Automation.md @@ -26,13 +26,13 @@ Some of the goals of Automation: ## Using Automation Aegisub comes with several Automation scripts already packaged and ready to use. -This includes the advanced **[Karaoke_Templater]({{< relref "Karaoke_Templater" >}})** script and a **[collection of macros]({{< relref "Included_macros" >}})** to simplify some editing tasks. +This includes the advanced **[Karaoke_Templater]({{< relref "Automation/Karaoke_Templater" >}})** script and a **[collection of macros]({{< relref "Automation/Included_macros" >}})** to simplify some editing tasks. Aegisub almost always has several Automation scripts loaded at a time. You can see what scripts are loaded, and load/unload more from the **[Automation/Manager]({{< relref "Automation/Manager" >}})** window. All Automation scripts also present themselves in Aegisub in one way or another. -Some appear as [macros in the Automation menu]({{< relref "Running_macros" >}}) and others appear as [filters in the Export dialog]({{< relref "Exporting" >}}). +Some appear as [macros in the Automation menu]({{< relref "Automation/Running_macros" >}}) and others appear as [filters in the Export dialog]({{< relref "Exporting" >}}). Some scripts even appear in both places. ## Automation for programmers diff --git a/content/en/docs/latest/Automation/Included_macros.md b/content/en/docs/latest/Automation/Included_macros.md index 9c06b57f7..f150f2c65 100644 --- a/content/en/docs/latest/Automation/Included_macros.md +++ b/content/en/docs/latest/Automation/Included_macros.md @@ -166,7 +166,7 @@ override tags inside the syllables they affect. Add [`\be1`]({{< relref "../ASS_Tags#bluredges" >}}) to all selected lines. Lightly blurring the edges of all dialogue lines can noticeably improve compressibility when -[hardsubbing]({{< relref "Attaching_subtitles_to_video#hardsubbing" >}}) (especially when using older +[hardsubbing]({{< relref "../Attaching_subtitles_to_video#hardsubbing" >}}) (especially when using older codecs such as XviD), but edgeblur cannot be set in the style due to format limitations. diff --git a/content/en/docs/latest/Automation/Karaoke_Templater.md b/content/en/docs/latest/Automation/Karaoke_Templater.md index 85830626b..a03c6bba7 100644 --- a/content/en/docs/latest/Automation/Karaoke_Templater.md +++ b/content/en/docs/latest/Automation/Karaoke_Templater.md @@ -9,7 +9,7 @@ aliases: - /docs/latest/Automation/Karaoke_Templater/ --- -**Karaoke Templater** is an [Automation]({{< relref "Automation" >}}) script that ships with Aegisub. Its +**Karaoke Templater** is an [Automation]({{< relref "../Automation" >}}) script that ships with Aegisub. Its primary purpose is to help creating [karaoke effects]({{< relref "../Glossary/Karaoke_effect" >}}) with a specially designed template language. Karaoke Templater is already installed and ready to use along with Aegisub. diff --git a/content/en/docs/latest/Automation/Karaoke_Templater/Template_execution_rules_and_order.md b/content/en/docs/latest/Automation/Karaoke_Templater/Template_execution_rules_and_order.md index 0acefed77..5cf06b585 100644 --- a/content/en/docs/latest/Automation/Karaoke_Templater/Template_execution_rules_and_order.md +++ b/content/en/docs/latest/Automation/Karaoke_Templater/Template_execution_rules_and_order.md @@ -64,7 +64,7 @@ The first thing kara-templater does is simply use [karaskel]({{< relref "../Lua/Modules/karaskel.lua.md" >}}) to collect some basic information on the subtitle file. It always passes `true` for _generate_furigana_ in the `karaskel.collect_head` function, meaning that -[furigana]({{< relref "Furigana_karaoke" >}}) styles are always generated, unless they already +[furigana]({{< relref "../../Furigana_karaoke" >}}) styles are always generated, unless they already exist. It then collects all template lines in the file. diff --git a/content/en/docs/latest/Automation/Karaoke_Templater/Template_modifiers.md b/content/en/docs/latest/Automation/Karaoke_Templater/Template_modifiers.md index 405fc193b..51fd8d7d4 100644 --- a/content/en/docs/latest/Automation/Karaoke_Templater/Template_modifiers.md +++ b/content/en/docs/latest/Automation/Karaoke_Templater/Template_modifiers.md @@ -190,7 +190,7 @@ For example, if there are two syllables, "ab" and "cd", and the above two templa ### fx _name_ -Make template only apply to syllables that have the named [inline-fx]({{< relref "Karaoke_inline-fx" >}}). Specifying an inline-fx name is required; the name may also overlap with template modifier names though this is not recommended. +Make template only apply to syllables that have the named [inline-fx]({{< relref "../../Karaoke_inline-fx" >}}). Specifying an inline-fx name is required; the name may also overlap with template modifier names though this is not recommended. {{}} @@ -231,7 +231,7 @@ The _notags_ modifier ensures that the special colour of the special syllable ge ### multi -Make the template apply per-highlight in [multi-highlight]({{< relref "Furigana_karaoke" >}}) timed karaoke. This changes application order semantics in a significant way, see [Template execution and order]({{< relref "./Template_execution_rules_and_order" >}}) for details. +Make the template apply per-highlight in [multi-highlight]({{< relref "../../Furigana_karaoke" >}}) timed karaoke. This changes application order semantics in a significant way, see [Template execution and order]({{< relref "./Template_execution_rules_and_order" >}}) for details. While this will work on code lines, it is generally not useful, see the discussion on execution order. diff --git a/content/en/docs/latest/Automation/Karaoke_Templater/Tutorial_1.md b/content/en/docs/latest/Automation/Karaoke_Templater/Tutorial_1.md index 08c71e893..2d2c4c6c5 100644 --- a/content/en/docs/latest/Automation/Karaoke_Templater/Tutorial_1.md +++ b/content/en/docs/latest/Automation/Karaoke_Templater/Tutorial_1.md @@ -36,7 +36,7 @@ But there is something else to make sure of first. Karaoke Templater can do many things for you, but it can't guess the lyrics for your song, or how they're synchronised with the music. You'll have to time the lyrics yourself, or get someone else to do it. You can learn how to time -karaoke at the [Karaoke_Timing_Tutorial]({{< relref "Karaoke_Timing_Tutorial" >}}). +karaoke at the [Karaoke_Timing_Tutorial]({{< relref "../../Karaoke_Timing_Tutorial" >}}). We'll call song lyrics with basic karaoke timing (\\k timing), but no other special effects, _timed karaoke_. When an effect has been applied to the @@ -156,7 +156,7 @@ now. back into a \\k tag, like we did here. With this knowledge, you should already be able to create lots of effects. You -may also want to refer to the page on [ASS override tags]({{< relref "ASS_Tags" >}}). +may also want to refer to the page on [ASS override tags]({{< relref "../../ASS_Tags" >}}). You can also [continue to the next tutorial]({{< relref "./Tutorial_2" >}}), where we'll look at how to do math with variables to get more variation. diff --git a/content/en/docs/latest/Automation/Lua.md b/content/en/docs/latest/Automation/Lua.md index 83b2b50a3..c1eaffcbf 100644 --- a/content/en/docs/latest/Automation/Lua.md +++ b/content/en/docs/latest/Automation/Lua.md @@ -59,7 +59,7 @@ piece of text will be when rendered with a given style. Most things that can be implemented in clean Lua code, i.e. that don't depend directly on Aegisub internal data structures, have been implemented -outside the core API as [Lua modules]({{< relref "Modules" >}}). While it is possible to write +outside the core API as [Lua modules]({{< relref "Lua/Modules" >}}). While it is possible to write Automation 4 Lua scripts without using the provided standard include files you will find that for anything but the simplest scripts you will need some of the functions provided by the includes. diff --git a/content/en/docs/latest/Automation/Lua/Miscellaneous_APIs.md b/content/en/docs/latest/Automation/Lua/Miscellaneous_APIs.md index 9e1a8098a..e338c43a7 100644 --- a/content/en/docs/latest/Automation/Lua/Miscellaneous_APIs.md +++ b/content/en/docs/latest/Automation/Lua/Miscellaneous_APIs.md @@ -162,14 +162,14 @@ Get a list of what video frames are keyframes. Synopsis `path = aegisub.decode_path(encoded_path)` -Convert a path beginning with a [path specifier]({{< relref "Aegisub_path_specifiers" >}}) +Convert a path beginning with a [path specifier]({{< relref "../../Aegisub_path_specifiers" >}}) to an absolute path. `@encoded_path` (`string`) -: A string which may optionally begin with an Aegisub [path specifier]({{< relref "Aegisub_path_specifiers" >}}). +: A string which may optionally begin with an Aegisub [path specifier]({{< relref "../../Aegisub_path_specifiers" >}}). `@path` (`string`) -: If `encoded_path` began with a valid [path specifier]({{< relref "Aegisub_path_specifiers" >}}), an absolute path. If it began with an +: If `encoded_path` began with a valid [path specifier]({{< relref "../../Aegisub_path_specifiers" >}}), an absolute path. If it began with an invalid path specifier (such as if ?video was used when no video is open), a string that is unlikely to be useful in any way. Any other strings are passed through untouched. diff --git a/content/en/docs/latest/Automation/Lua/Modules.md b/content/en/docs/latest/Automation/Lua/Modules.md index a8991d9a1..969460c3c 100644 --- a/content/en/docs/latest/Automation/Lua/Modules.md +++ b/content/en/docs/latest/Automation/Lua/Modules.md @@ -10,12 +10,12 @@ aliases: --- A number of Lua modules are included with Aegisub. -Some of these, such as [`karaskel.lua`]({{< relref "karaskel.lua.md" >}}) implement subtitle-specific functionality, while others such as [re]({{< relref "re" >}}) fill holes in the Lua standard library. +Some of these, such as [`karaskel.lua`]({{< relref "Modules/karaskel.lua.md" >}}) implement subtitle-specific functionality, while others such as [re]({{< relref "Modules/re" >}}) fill holes in the Lua standard library. ## Using modules Simply write `modulename = require 'aegisub.modulename'` at the top level of a script. -For example, to include the [re]({{< relref "re" >}}) modules, `re = require 'aegisub.re'`. +For example, to include the [re]({{< relref "Modules/re" >}}) modules, `re = require 'aegisub.re'`. Note that if you look at older scripts you will probably see several other methods for including modules, such as `include`. These have been deprecated in favor of following the modern lua module style introduced with Lua 5.2. diff --git a/content/en/docs/latest/Automation/Lua/Modules/karaskel.lua.md b/content/en/docs/latest/Automation/Lua/Modules/karaskel.lua.md index 58a31a1a8..ab2bf8909 100644 --- a/content/en/docs/latest/Automation/Lua/Modules/karaskel.lua.md +++ b/content/en/docs/latest/Automation/Lua/Modules/karaskel.lua.md @@ -32,7 +32,7 @@ Reads the subtitle file to collect all header information and style definitions, and optionally also generates new styles for furigana layouts. - `subtitles` is the Subtitle File object defined by Automation 4 Lua. -- `generate_furigana` is a boolean: if it is true a style for [furigana layout]({{< relref "Furigana_karaoke" >}}) is generated for each style that does not have +- `generate_furigana` is a boolean: if it is true a style for [furigana layout]({{< relref "../../../Furigana_karaoke" >}}) is generated for each style that does not have one already. Generation of furigana styles will never overwrite existing styles, create double style definitions or create meaningless furigana styles for other furigana styles. @@ -442,7 +442,7 @@ Additions by `karaskel.preproc_line_text`: - `syl.kdur` - Syllable duration in centiseconds, suitable for use in `\k` tags. - `syl.line` - Back reference to the line table containing this syllable. -- `syl.inline_fx` - Name of the [_inline-fx_]({{< relref "Karaoke_inline-fx" >}}) for this +- `syl.inline_fx` - Name of the [_inline-fx_]({{< relref "../../../Karaoke_inline-fx" >}}) for this syllable. - `syl.i` - Index number of this syllable. - `syl.prespace`, `syl.postspace` - Space characaters at the start/end of diff --git a/content/en/docs/latest/Automation/Lua/Registration.md b/content/en/docs/latest/Automation/Lua/Registration.md index bfcaa7064..ec9c4312f 100644 --- a/content/en/docs/latest/Automation/Lua/Registration.md +++ b/content/en/docs/latest/Automation/Lua/Registration.md @@ -8,7 +8,7 @@ aliases: - /docs/latest/Automation/Lua/Registration/ --- -**Registration** covers presenting your [Automation 4 Lua]({{< relref "Lua" >}}) +**Registration** covers presenting your [Automation 4 Lua]({{< relref "../Lua" >}}) script to Aegisub, providing information about it and registering what _features_ it provides. @@ -30,7 +30,7 @@ menu item) and an optional validation function (determines whether the macro can even do any work in the current state.) Another feature is the **export filter**. The export filter is presented in -the [Export]({{< relref "Exporting" >}}) dialogue and can be applied during an export +the [Export]({{< relref "../../Exporting" >}}) dialogue and can be applied during an export operation. Export filters also have a name, description, processing function and then an optional configuration panel provider. The configuration panel provider is a function that returns a configuration dialogue definition diff --git a/content/en/docs/latest/Automation/Manager.md b/content/en/docs/latest/Automation/Manager.md index 560b7fc5b..d34109c2b 100644 --- a/content/en/docs/latest/Automation/Manager.md +++ b/content/en/docs/latest/Automation/Manager.md @@ -9,7 +9,7 @@ aliases: --- The Automation Manager window is used to view, load and unload -[Automation]({{< relref "Automation" >}}) scripts. +[Automation]({{< relref "../Automation" >}}) scripts. The Automation Manager window is opened from the _Automation_ menu or with the ![Automation-toolbar-icon](/img/3.2/Automation-toolbar-icon.png) toolbar button. @@ -67,15 +67,15 @@ If you're developing scripts you might find yourself returning to the Automation Manager often to reload your script. There are also faster ways to reload scripts though: -- When the [Export]({{< relref "Exporting" >}}) dialog is opened all local scripts are - reloaded. You can change this in the [Options]({{< relref "Options#automation" >}}) +- When the [Export]({{< relref "../Exporting" >}}) dialog is opened all local scripts are + reloaded. You can change this in the [Options]({{< relref "../Options#automation" >}}) dialog. - Hold the Ctrl key and click the Automation toolbar button to rescan the autoload folders. - Hold both the Ctrl and Shift keys and click the Automation toolbar button to reload all scripts, also rescanning the autoload folders. - While there is no default hotkey to reload all scripts, you can add one in - the [preferences dialog]({{< relref "Options#hotkeys" >}}). + the [preferences dialog]({{< relref "../Options#hotkeys" >}}). The Automation Manager won't open when any of there methods are used, but you will get an error message window if a script failed to load. Note that diff --git a/content/en/docs/latest/Automation/Running_macros.md b/content/en/docs/latest/Automation/Running_macros.md index c617e3a74..73e7092fb 100644 --- a/content/en/docs/latest/Automation/Running_macros.md +++ b/content/en/docs/latest/Automation/Running_macros.md @@ -8,7 +8,7 @@ aliases: - /docs/latest/Automation/Running_macros/ --- -[Automation]({{< relref "Automation" >}}) [macros]({{< relref "../Glossary/Macro" >}}) appear as options in the Automation +[Automation]({{< relref "../Automation" >}}) [macros]({{< relref "../Glossary/Macro" >}}) appear as options in the Automation menu. ![automation_menu](/img/3.2/automation_menu.png) @@ -21,7 +21,7 @@ seven macros are loaded. The third, [Karaoke_Templater]({{< relref "Karaoke_Temp though, because the macro has determined it can't be run on the subtitles. In this case, because the subtitle file has no karaoke templates. Other macros might be unavailable for other reasons. The fourth has had a hotkey -set in the [preferences dialog]({{< relref "Options#hotkeys" >}}) +set in the [preferences dialog]({{< relref "../Options#hotkeys" >}}) To run a macro, just select it from the Automation menu. Some macros might ask you for more information, and some work only on the selected subtitle diff --git a/content/es-us/docs/latest/Automation/Karaoke_Templater/Tutorial_1.md b/content/es-us/docs/latest/Automation/Karaoke_Templater/Tutorial_1.md index aecda9748..0715142a0 100644 --- a/content/es-us/docs/latest/Automation/Karaoke_Templater/Tutorial_1.md +++ b/content/es-us/docs/latest/Automation/Karaoke_Templater/Tutorial_1.md @@ -24,7 +24,7 @@ Pero hay algo más de qué asegurarnos primero. ## Karaoke sincronizado -Karaoke Templater puede hacer muchas cosas por usted, pero no puede adivinar la letra de una canción ni cómo se sincroniza con la música. Tendrá que sincronizar la letra uno mismo o pedirle a alguien más que lo haga. Puede aprender a sincronizar el karaoke en el [tutorial de sincronizar karaoke]({{}}). +Karaoke Templater puede hacer muchas cosas por usted, pero no puede adivinar la letra de una canción ni cómo se sincroniza con la música. Tendrá que sincronizar la letra uno mismo o pedirle a alguien más que lo haga. Puede aprender a sincronizar el karaoke en el [tutorial de sincronizar karaoke]({{}}). Llamaremos a las letras de canciones con sincronización básica de karaoke (\\k timing), pero sin otros efectos, _karaoke sincronizado_. Cuando se ha aplicado un efecto al karaoke lo llamaremos _karaoke estilizado_. From 1b23904a3eaa9e61ca3443d87b0ffc4389ed129d Mon Sep 17 00:00:00 2001 From: sepro Date: Sat, 29 Aug 2026 19:24:19 +0200 Subject: [PATCH 2/3] Make prev/next buttons local to section And add a dedicated section for the "latest" doc version. This is in preparation for adding a new "3.5" doc version. --- content/en/docs/latest/Main_Page.md | 1 + content/en/docs/latest/_index.md | 4 ++++ content/en/docs/latest/index.html | 1 - content/es-us/docs/latest/Main_Page.md | 2 ++ content/es-us/docs/latest/_index.md | 4 ++++ content/es-us/docs/latest/index.html | 1 - content/zh-cn/docs/latest/Main_Page.md | 2 ++ content/zh-cn/docs/latest/_index.md | 4 ++++ content/zh-cn/docs/latest/index.html | 1 - layouts/partials/main/docs-navigation.html | 12 +++++++----- 10 files changed, 24 insertions(+), 8 deletions(-) create mode 100644 content/en/docs/latest/_index.md delete mode 100644 content/en/docs/latest/index.html create mode 100644 content/es-us/docs/latest/_index.md delete mode 100644 content/es-us/docs/latest/index.html create mode 100644 content/zh-cn/docs/latest/_index.md delete mode 100644 content/zh-cn/docs/latest/index.html diff --git a/content/en/docs/latest/Main_Page.md b/content/en/docs/latest/Main_Page.md index c61ee511f..6fc7d128f 100644 --- a/content/en/docs/latest/Main_Page.md +++ b/content/en/docs/latest/Main_Page.md @@ -5,6 +5,7 @@ menu: parent: navigation weight: 1000 aliases: + - /docs/latest/ - /docs/latest/Main_Page/ --- diff --git a/content/en/docs/latest/_index.md b/content/en/docs/latest/_index.md new file mode 100644 index 000000000..0b156267e --- /dev/null +++ b/content/en/docs/latest/_index.md @@ -0,0 +1,4 @@ +--- +build: + render: never +--- diff --git a/content/en/docs/latest/index.html b/content/en/docs/latest/index.html deleted file mode 100644 index 49758716c..000000000 --- a/content/en/docs/latest/index.html +++ /dev/null @@ -1 +0,0 @@ - diff --git a/content/es-us/docs/latest/Main_Page.md b/content/es-us/docs/latest/Main_Page.md index feb487069..63054f317 100644 --- a/content/es-us/docs/latest/Main_Page.md +++ b/content/es-us/docs/latest/Main_Page.md @@ -4,6 +4,8 @@ menu: docs: parent: navigation weight: 1000 +aliases: + - /docs/latest/ --- Bienvenido al manual Aegisub. Vea nuestra página [Acerca de]({{}}) para más info del programa, o explore los temas en el panel a la izquierda. diff --git a/content/es-us/docs/latest/_index.md b/content/es-us/docs/latest/_index.md new file mode 100644 index 000000000..0b156267e --- /dev/null +++ b/content/es-us/docs/latest/_index.md @@ -0,0 +1,4 @@ +--- +build: + render: never +--- diff --git a/content/es-us/docs/latest/index.html b/content/es-us/docs/latest/index.html deleted file mode 100644 index 49758716c..000000000 --- a/content/es-us/docs/latest/index.html +++ /dev/null @@ -1 +0,0 @@ - diff --git a/content/zh-cn/docs/latest/Main_Page.md b/content/zh-cn/docs/latest/Main_Page.md index 4e4165606..6d0da465f 100644 --- a/content/zh-cn/docs/latest/Main_Page.md +++ b/content/zh-cn/docs/latest/Main_Page.md @@ -4,6 +4,8 @@ menu: docs: parent: navigation weight: 1000 +aliases: + - /docs/latest/ --- 欢迎来到 Aegisub 手册。要获取更多关于此程序的信息,请查看我们的 [关于]({{< relref "About" >}}) 页面,或浏览左侧栏中各个主题的文章。 diff --git a/content/zh-cn/docs/latest/_index.md b/content/zh-cn/docs/latest/_index.md new file mode 100644 index 000000000..0b156267e --- /dev/null +++ b/content/zh-cn/docs/latest/_index.md @@ -0,0 +1,4 @@ +--- +build: + render: never +--- diff --git a/content/zh-cn/docs/latest/index.html b/content/zh-cn/docs/latest/index.html deleted file mode 100644 index 49758716c..000000000 --- a/content/zh-cn/docs/latest/index.html +++ /dev/null @@ -1 +0,0 @@ - diff --git a/layouts/partials/main/docs-navigation.html b/layouts/partials/main/docs-navigation.html index 3b7e9964a..72ae02adc 100644 --- a/layouts/partials/main/docs-navigation.html +++ b/layouts/partials/main/docs-navigation.html @@ -1,8 +1,10 @@ -{{ if or .Prev .Next -}} +{{ $pages := where .CurrentSection.RegularPages "Type" "not in" (slice "redirect" "glossary") -}} +{{ $next := $pages.Next . -}} +{{ $prev := $pages.Prev . -}} +{{ if or $next $prev -}}
- {{ $pages := where (where (where site.RegularPages "Section" .Section) "Type" "!=" "redirect") "Type" "!=" "glossary" -}} - {{ with $pages.Next . -}} + {{ with $next -}}
@@ -11,7 +13,7 @@
{{ end -}} - {{ with $pages.Prev . -}} + {{ with $prev -}}
-{{ end -}} \ No newline at end of file +{{ end -}} From 3224a94a076113cc2dea69f95671c570ce5c8eda Mon Sep 17 00:00:00 2001 From: arch1t3cht Date: Fri, 28 Aug 2026 20:45:09 +0200 Subject: [PATCH 3/3] Freeze docs for 3.5 Run the following inside of `content/en/docs` to create the new 3.5 directory: cp -r latest 3.5 find 3.5 -name '*md' | xargs sed -i 's|/latest|/3.5|' find 3.5 -name '*md' | xargs sed -i 's|^ docs:$| docs-3.5:|' --- config/_default/menus/menus.en.yaml | 24 + content/en/docs/3.5/ASS_Tags.md | 1059 +++++++++++++++++ content/en/docs/3.5/About.md | 26 + .../en/docs/3.5/Aegisub_path_specifiers.md | 50 + .../docs/3.5/Attaching_subtitles_to_video.md | 308 +++++ content/en/docs/3.5/Attachment_Manager.md | 56 + content/en/docs/3.5/Audio.md | 66 + content/en/docs/3.5/Audio_Timing_Tutorial.md | 7 + content/en/docs/3.5/Automation.md | 44 + .../en/docs/3.5/Automation/Included_macros.md | 181 +++ .../docs/3.5/Automation/Karaoke_Templater.md | 65 + .../Code_execution_environment.md | 430 +++++++ .../Code_lines_and_blocks.md | 117 ++ .../Declaring_template_and_code_lines.md | 41 + .../Karaoke_Templater/Inline_variables.md | 157 +++ .../Template_execution_rules_and_order.md | 340 ++++++ .../Karaoke_Templater/Template_modifiers.md | 295 +++++ .../Automation/Karaoke_Templater/Tutorial.md | 13 + .../Karaoke_Templater/Tutorial_1.md | 162 +++ .../Karaoke_Templater/Tutorial_2.md | 53 + content/en/docs/3.5/Automation/Lua.md | 90 ++ content/en/docs/3.5/Automation/Lua/Dialogs.md | 316 +++++ .../3.5/Automation/Lua/Miscellaneous_APIs.md | 182 +++ content/en/docs/3.5/Automation/Lua/Modules.md | 56 + .../3.5/Automation/Lua/Modules/cleantags.md | 11 + .../3.5/Automation/Lua/Modules/clipboard.md | 29 + .../Automation/Lua/Modules/karaskel.lua.md | 504 ++++++++ .../en/docs/3.5/Automation/Lua/Modules/re.md | 519 ++++++++ .../3.5/Automation/Lua/Modules/unicode.md | 66 + .../docs/3.5/Automation/Lua/Modules/util.md | 178 +++ .../3.5/Automation/Lua/Progress_reporting.md | 136 +++ .../docs/3.5/Automation/Lua/Registration.md | 252 ++++ .../Automation/Lua/Subtitle_file_interface.md | 289 +++++ content/en/docs/3.5/Automation/Manager.md | 82 ++ .../en/docs/3.5/Automation/Running_macros.md | 29 + content/en/docs/3.5/Autosave.md | 24 + content/en/docs/3.5/Colour_Picker.md | 43 + content/en/docs/3.5/Commands.md | 12 + content/en/docs/3.5/Credits.md | 133 +++ content/en/docs/3.5/Editing_Subtitles.md | 359 ++++++ content/en/docs/3.5/Exporting.md | 53 + content/en/docs/3.5/FAQ.md | 59 + content/en/docs/3.5/Fix_Timing_Tutorial.md | 7 + content/en/docs/3.5/Fonts_Collector.md | 35 + content/en/docs/3.5/Furigana_karaoke.md | 222 ++++ content/en/docs/3.5/General_disclaimer.md | 23 + .../3.5/Glossary/Automation_script_feature.md | 10 + .../en/docs/3.5/Glossary/Karaoke_effect.md | 14 + content/en/docs/3.5/Glossary/Macro.md | 8 + content/en/docs/3.5/Glossary/index.html | 1 + content/en/docs/3.5/Highlights.md | 37 + content/en/docs/3.5/History_of_Automation.md | 41 + content/en/docs/3.5/Kanji_Timer.md | 76 ++ .../en/docs/3.5/Karaoke_Timing_Tutorial.md | 166 +++ content/en/docs/3.5/Karaoke_inline-fx.md | 144 +++ content/en/docs/3.5/Keyboard_shortcuts.md | 7 + content/en/docs/3.5/Main_Page.md | 36 + content/en/docs/3.5/Options.md | 748 ++++++++++++ content/en/docs/3.5/Overview.md | 61 + content/en/docs/3.5/Paste_Over.md | 33 + content/en/docs/3.5/Properties.md | 31 + content/en/docs/3.5/Resolution_Resampler.md | 55 + content/en/docs/3.5/Resolution_and_Matrix.md | 578 +++++++++ content/en/docs/3.5/Select_Lines.md | 88 ++ content/en/docs/3.5/Shift_Times.md | 87 ++ content/en/docs/3.5/Spell_Checker.md | 81 ++ content/en/docs/3.5/Styles.md | 172 +++ content/en/docs/3.5/Styling_Assistant.md | 74 ++ content/en/docs/3.5/Support.md | 68 ++ content/en/docs/3.5/Timing.md | 164 +++ content/en/docs/3.5/Timing_Post-Processor.md | 117 ++ content/en/docs/3.5/Translation_Assistant.md | 23 + content/en/docs/3.5/Tutorials.md | 41 + content/en/docs/3.5/Typesetting.md | 97 ++ content/en/docs/3.5/Video.md | 410 +++++++ content/en/docs/3.5/Visual_Typesetting.md | 271 +++++ content/en/docs/3.5/_index.md | 4 + content/en/docs/_index.md | 6 +- .../sidebar/auto-collapsible-menu.html | 7 +- .../partials/sidebar/auto-default-menu.html | 5 + .../sidebar/manual-collapsible-menu.html | 5 + .../partials/sidebar/manual-default-menu.html | 5 + 82 files changed, 10972 insertions(+), 2 deletions(-) create mode 100644 content/en/docs/3.5/ASS_Tags.md create mode 100644 content/en/docs/3.5/About.md create mode 100644 content/en/docs/3.5/Aegisub_path_specifiers.md create mode 100644 content/en/docs/3.5/Attaching_subtitles_to_video.md create mode 100644 content/en/docs/3.5/Attachment_Manager.md create mode 100644 content/en/docs/3.5/Audio.md create mode 100644 content/en/docs/3.5/Audio_Timing_Tutorial.md create mode 100644 content/en/docs/3.5/Automation.md create mode 100644 content/en/docs/3.5/Automation/Included_macros.md create mode 100644 content/en/docs/3.5/Automation/Karaoke_Templater.md create mode 100644 content/en/docs/3.5/Automation/Karaoke_Templater/Code_execution_environment.md create mode 100644 content/en/docs/3.5/Automation/Karaoke_Templater/Code_lines_and_blocks.md create mode 100644 content/en/docs/3.5/Automation/Karaoke_Templater/Declaring_template_and_code_lines.md create mode 100644 content/en/docs/3.5/Automation/Karaoke_Templater/Inline_variables.md create mode 100644 content/en/docs/3.5/Automation/Karaoke_Templater/Template_execution_rules_and_order.md create mode 100644 content/en/docs/3.5/Automation/Karaoke_Templater/Template_modifiers.md create mode 100644 content/en/docs/3.5/Automation/Karaoke_Templater/Tutorial.md create mode 100644 content/en/docs/3.5/Automation/Karaoke_Templater/Tutorial_1.md create mode 100644 content/en/docs/3.5/Automation/Karaoke_Templater/Tutorial_2.md create mode 100644 content/en/docs/3.5/Automation/Lua.md create mode 100644 content/en/docs/3.5/Automation/Lua/Dialogs.md create mode 100644 content/en/docs/3.5/Automation/Lua/Miscellaneous_APIs.md create mode 100644 content/en/docs/3.5/Automation/Lua/Modules.md create mode 100644 content/en/docs/3.5/Automation/Lua/Modules/cleantags.md create mode 100644 content/en/docs/3.5/Automation/Lua/Modules/clipboard.md create mode 100644 content/en/docs/3.5/Automation/Lua/Modules/karaskel.lua.md create mode 100644 content/en/docs/3.5/Automation/Lua/Modules/re.md create mode 100644 content/en/docs/3.5/Automation/Lua/Modules/unicode.md create mode 100644 content/en/docs/3.5/Automation/Lua/Modules/util.md create mode 100644 content/en/docs/3.5/Automation/Lua/Progress_reporting.md create mode 100644 content/en/docs/3.5/Automation/Lua/Registration.md create mode 100644 content/en/docs/3.5/Automation/Lua/Subtitle_file_interface.md create mode 100644 content/en/docs/3.5/Automation/Manager.md create mode 100644 content/en/docs/3.5/Automation/Running_macros.md create mode 100644 content/en/docs/3.5/Autosave.md create mode 100644 content/en/docs/3.5/Colour_Picker.md create mode 100644 content/en/docs/3.5/Commands.md create mode 100644 content/en/docs/3.5/Credits.md create mode 100644 content/en/docs/3.5/Editing_Subtitles.md create mode 100644 content/en/docs/3.5/Exporting.md create mode 100644 content/en/docs/3.5/FAQ.md create mode 100644 content/en/docs/3.5/Fix_Timing_Tutorial.md create mode 100644 content/en/docs/3.5/Fonts_Collector.md create mode 100644 content/en/docs/3.5/Furigana_karaoke.md create mode 100644 content/en/docs/3.5/General_disclaimer.md create mode 100644 content/en/docs/3.5/Glossary/Automation_script_feature.md create mode 100644 content/en/docs/3.5/Glossary/Karaoke_effect.md create mode 100644 content/en/docs/3.5/Glossary/Macro.md create mode 100644 content/en/docs/3.5/Glossary/index.html create mode 100644 content/en/docs/3.5/Highlights.md create mode 100644 content/en/docs/3.5/History_of_Automation.md create mode 100644 content/en/docs/3.5/Kanji_Timer.md create mode 100644 content/en/docs/3.5/Karaoke_Timing_Tutorial.md create mode 100644 content/en/docs/3.5/Karaoke_inline-fx.md create mode 100644 content/en/docs/3.5/Keyboard_shortcuts.md create mode 100644 content/en/docs/3.5/Main_Page.md create mode 100644 content/en/docs/3.5/Options.md create mode 100644 content/en/docs/3.5/Overview.md create mode 100644 content/en/docs/3.5/Paste_Over.md create mode 100644 content/en/docs/3.5/Properties.md create mode 100644 content/en/docs/3.5/Resolution_Resampler.md create mode 100644 content/en/docs/3.5/Resolution_and_Matrix.md create mode 100644 content/en/docs/3.5/Select_Lines.md create mode 100644 content/en/docs/3.5/Shift_Times.md create mode 100644 content/en/docs/3.5/Spell_Checker.md create mode 100644 content/en/docs/3.5/Styles.md create mode 100644 content/en/docs/3.5/Styling_Assistant.md create mode 100644 content/en/docs/3.5/Support.md create mode 100644 content/en/docs/3.5/Timing.md create mode 100644 content/en/docs/3.5/Timing_Post-Processor.md create mode 100644 content/en/docs/3.5/Translation_Assistant.md create mode 100644 content/en/docs/3.5/Tutorials.md create mode 100644 content/en/docs/3.5/Typesetting.md create mode 100644 content/en/docs/3.5/Video.md create mode 100644 content/en/docs/3.5/Visual_Typesetting.md create mode 100644 content/en/docs/3.5/_index.md diff --git a/config/_default/menus/menus.en.yaml b/config/_default/menus/menus.en.yaml index 65768198b..b7d57c86e 100644 --- a/config/_default/menus/menus.en.yaml +++ b/config/_default/menus/menus.en.yaml @@ -75,6 +75,30 @@ docs: weight: 700 identifier: miscellaneous +# docs-sidebar/docs-3.5 +docs-3.5: + - name: Navigation + weight: 110 + identifier: navigation + - name: Introduction + weight: 200 + identifier: introduction + - name: Working with Subtitles + weight: 300 + identifier: working-with-subtitles + - name: Typesetting + weight: 400 + identifier: typesetting + - name: Timing + weight: 500 + identifier: timing + - name: Automation + weight: 600 + identifier: automation + - name: Miscellaneous + weight: 700 + identifier: miscellaneous + # docs-sidebar/downloads # docs-sidebar/changelog diff --git a/content/en/docs/3.5/ASS_Tags.md b/content/en/docs/3.5/ASS_Tags.md new file mode 100644 index 000000000..ed19117f0 --- /dev/null +++ b/content/en/docs/3.5/ASS_Tags.md @@ -0,0 +1,1059 @@ +--- +title: ASS Override Tags +menu: + docs-3.5: + parent: typesetting +weight: 4400 +aliases: + - /docs/3.5/ASS_Tags/ +--- + +The following is a list of every tag supported by the Advanced Substation +Alpha format. This is basically a detailed version of ass-quickref.txt. See +the [tutorial]({{< relref "Visual_Typesetting" >}}) for an introduction to typesetting, +using some basic tags. + +## Special characters + +The following tags are written in the middle of the text, and not inside +override blocks (i.e. not between { and }). + +{{}}\\n{{}} +Insert a forced line break, but only when in wrapping mode 2. (See +[the \\q tag]({{< relref "ASS_Tags#\q" >}})). Note that this is a lowercase n. + +In all other wrapping modes, this is replaced by a regular space. This is +rarely (if ever) actually useful. If you're not sure whether you want this or +\\N, you probably want \\N. + +{{}}\\N{{}} +Insert a forced line break, regardless of wrapping mode. Note that this is an +uppercase N. + +{{}}\\h{{}} +Insert a non-breaking "hard" space. The line will never break automatically +right before or after a hard space, and hard spaces are not folded when they +appear at the start or end of a displayed line. + +## Override tags + +Override tags must appear within override blocks, which begin with { and end +with }. Any unrecognized text within override blocks is silently ignored, so +they are also commonly used for inline comments. Mixing comments and override +tags in the same override block is not recommended. + +Tags fall into two general categories: those which set a property of the line +itself, and those which modifiy only the text following them. `\pos`, `\move`, +`\clip`, `\iclip`, `\org`, `\fade` and `\fad` are those in the first category; +all others are in the second. Tags in the first category should appear at most +once in a line, and where in the line they appear is unimportant. In addition, +some of them are mutally exclusive: `\pos` and `\move`; `\clip` and `\iclip`; +`\fad` and `\fade`. The result of inluding multiple instances of these tags or +mutally exclusive tags will vary between renderers and is not recommended. + +Tags in the second category modify all text after the tag until the end of the +line or until the property is re-overridden by another tag. + +Override tags always follow the same form: They start with a backslash \\ +character, then a name, and after the name the parameter to the tag. If the +parameter is omitted, the default value from the line's style is used. + +Some tags are "complex" and take more than one parameter. In these cases, +parameters are put inside parentheses with commas between the parameters. + +**Note on typography:** +On this page, everything written in _italics_ with `<` angle brackets `>` +around it is a parameter and you must enter a value instead of it. The angle +brackets are not part of the value you should enter. Use the examples as a +guide to how the tags should be entered. In general, the same rules apply to +all tags in how they look. + +{{}} +\\i1 +\\i0 +{{}} +Switch _italics_ text on or off. Use `\i1` to enable italics for the following +text and `\i0` to disable italics again. + +{{}} +\\b1 +\\b0 +\\b\ +{{}} +Switch **boldface** text on or off. Use `\b1` to enable boldface for the +following text and `\b0` to disable boldface again. + +The \\b\ form allows you to specify an +explicit weight to use. Note that most fonts only support one or two weights +so you rarely need to use this. Font weights are multiples of 100, such that +100 is the lowest, 400 is "normal", 700 is "bold" and 900 is the heaviest. + +{{}} + +```ass +I am {\b1}not{\b0} amused. +``` + +The word "not" is written in boldface. +{{}} + +{{}} + +```ass +{\b100}How {\b300}bold {\b500}can {\b700}you {\b900}get? +``` + +The words are written with increasingly greater weight. Note that most fonts +do not have more than one or two different weights and you will only be able +to see "not bold" and "bold" in that case. +{{}} + +{{}} +\\u1 +\\u0 +{{}} +Switch underlined text on or off. Use `\u1` to enable underlining for +the following text and `\u0` to disable underlining again. + +{{}} +\\s1 +\\s0 +{{}} +Switch striked out text on or off. Use `\s1` to enable strikeout for +the following text and `\s0` to disable strikeout again. + +{{}}\\bord\{{}} +Change the width of the border around the text. Set the size to 0 (zero) to +disable the border entirely. + +If "scale border and shadow" (see [script properties]({{< relref "Properties" >}})) is +enabled, the value is given in script resolution pixels, otherwise it is given +in video resolution pixels (which means the border thickness will vary +depending on the resolution of the video on which the subtitles are rendered.) + +The value is not limited to whole integer pixels and can have decimal places. +Border width cannot be negative. + +{{}} + +```plaintext +\bord0 +``` + +Disable border entirely. +{{}} +{{}} + +```plaintext +\bord3.7 +``` + +Set the border width to 3.7 pixels +{{}} + +{{}} +\\xbord\ +\\ybord\ +{{}} +Use the `\xbord` `\ybord` tags to set the border size in X and Y direction +separately. This can be useful for correcting the border size for anamorphic +rendering of subtitles. + +Note that if you use `\bord` after `\xbord` or `\ybord` on a line, it will +override both of them. + +You can set the border width to 0 (zero) in one of the directions to entirely +disable border in that direction. + +{{}}\\shad\{{}} +Set the distance from the text to position the shadow. Set the depth to 0 +(zero) to disable shadow entirely. Works similar to [\\bord]({{< relref "ASS_Tags#\bord" >}}). + +The shadow distance can not be negative with this tag. + +{{}} +\\xshad\ +\\yshad\ +{{}} +Set the distance from the text to position the shadow at, with X and Y +position set separately. Shadow is only disabled if both X and Y distance is +0\. + +Note that unlike \\shad, you can set the distance negative with these tags to +position the shadow to the top or left of the text. + +{{}} +\\be0 +\\be1 +\\be\ +{{}} +Enable or disable a subtle softening-effect for the edges of the text. The +effect isn't always very visible, but it can in some cases make the text look +better. It is usually more visible at smaller text sizes. + +Be aware that this tag blurs the _edges_ of the text, not everything. This +means that if the text has a border (set with [\\bord]({{< relref "ASS_Tags#\bord" >}})) the +border will be blurred, but if there is no border, the main text will be +blurred instead. + +In the extended version, _strength_ is the number of times to apply the +regular effect. Note that at high values the effect de-generates into +nothingness, and generally isn't very useful. For strong blurs, `\blur` is +generally more useful as a result. The _strength_ must be an integer number. + +Use of `\be` in new subtitles is discouraged since it does not scale correctly +with the frame size. `\blur` should be used instead. + +{{}}\\blur\{{}} +In general, this has the same function as the [`\be`]({{< relref "ASS_Tags#\be" >}}) tag, but +uses a more advanced algorithm that looks better at high strengths. Unlike +`\be`, the _strength_ can be non-integer here. Set _strength_ to 0 (zero) to +disable the effect. Be careful, setting _strength_ too high can take a lot of +CPU time to render. + +Be aware that this tag blurs the _edges_ of the text, not everything. This +means that if the text has a border (set with [`\bord`]({{< relref "ASS_Tags#\bord" >}})) the +border will be blurred, but if there is no border, the main text will be +blurred instead. + +{{}}\\fn\{{}} +Set the font face to use for the following text. There should be no space +between `\fn` and the font name, and you should not put parentheses or similar +around the font name either. + +{{}} + +```plaintext +\fnArial +``` + +The text following this tag will be in Arial font. +{{}} +{{}} + +```plaintext +\fnTimes New Roman +``` + +The text following this tag will be in Times New Roman font. +{{}} + +{{}}\\fs\{{}} +Set the size of the font. The size specified is the height in script pixels, +so at font size 40 one line of text is 40 pixels tall. (Technical note: it's +really typographic (desktop publishing) points, not script pixels, but since +the rendering is always done at 72 DPI (as per the de facto standard), one +point ends up being exactly equal to one script resolution pixel.) + +You can only specify integer font sizes. + +{{}} + +```plaintext +\fs10 +``` + +The following text will use a size 10 font. +{{}} + +{{}} +\\fscx\ +\\fscy\ +{{}} +Adjust the size of the text in X (`\fscx` or Y (`\fscy`) direction. The +_scale_ given is in percent, so 100 means "original size". + +This is not the same as setting the font size, as setting the size is subject +to [font hinting](https://en.wikipedia.org/wiki/Font_hinting) while scaling the +text modifies the text shape after hinting. As a result, this should always be +used with `\t` rather than `\fs`, as animating changing font hinting is very +rarely desirable. + +These tags also affect [vector drawings]({{< relref "ASS_Tags#drawing-commands" >}}). + +You can use font scaling to correct for anamorphic rendering and to specify +text size more precisely than with [\\fs]({{< relref "ASS_Tags#\fs" >}}). + +Note that older versions of VSFitler will truncate non-integer scales. + +{{}} + +```plaintext +\fscx150 +``` + +Make the text 50% wider than normal. +{{}} +{{}} + +```plaintext +\fscy50 +``` + +Make the text half height. +{{}} +{{}} + +```plaintext +\fscx200\fscy200 +``` + +Make the text double size. +{{}} + +{{}}\\fsp\{{}} +Changes the spacing between the individual letters in the text. You can use +this to spread the text more out visually. The _spacing_ is given in script +resolution pixels. + +Spacing can be negative and can have decimals. + +{{}} +\\frx\ +\\fry\ +\\frz\ +\\fr\ +{{}} +Rotates the text along the X, Y or Z axis. The `\fr` tag is a shortcut for `\frz`. + +- The **X axis** runs horizontally on the screen. Rotating on it (with + positive values) causes an effect where the top of the text moves farther + "into" the screen while the bottom moves "out" of the screen. +- The **Y axis** runs vertically on the screen. Rotating on it (with positive + values) causes the text to rotate so that the left moves "outside" the + screen, when the right moves "into" the screen. +- The **Z axis** runs perpendicular to the screen. Rotating on it (with + positive values) causes the text to rotate in 2D, counterclockwise (as + standard for degrees). + +The rotation _amount_ is given in mathematical degrees, such that 360 degrees +is a full rotation, and rotating any multiple of 360 is the same as not +rotating. It is legal to specify negative rotation amounts, as well as amounts +larger than 360 degrees. + +The rotation is performed around the subtitle line origin point, this is +described with the [\\org]({{< relref "ASS_Tags#\org" >}}) tag. + +These tags also affect [vector drawings]({{< relref "ASS_Tags#drawing-commands" >}}). + +{{}} + +```plaintext +\frx45 +``` + +Rotate the text 45 degrees on the X axis. +{{}} +{{}} + +```plaintext +\fry-45 +``` + +Rotate the text 45 degrees in opposite direction on the Y axis. +{{}} +{{}} + +```plaintext +\frz180 +``` + +Rotate the text 180 degrees on the Z axis, making it upside-down. +{{}} +{{}} +The following two rotations produce the same result: + +```plaintext +\frz-30 +\frz330 +``` + +This is because 330 degrees is 30 degrees less than a full rotation of 360 degrees. +{{}} +{{}} + +```plaintext +\t(\frz3600) +``` + +Perform an animation where the text performs 10 full revolutions on the Z axis. Also see the [\\t]({{< relref "ASS_Tags#\t" >}}) tag. +{{}} +{{}} +The following screenshots illustrate the effect of rotating on the different axes: + +![Fr_sample01](/img/3.2/Fr_sample01.jpg) + +![Fr_sample02](/img/3.2/Fr_sample02.jpg) + +![Fr_sample03](/img/3.2/Fr_sample03.jpg) +{{}} + +{{}} +\\fax\ +\\fay\ +{{}} +Perform a shearing (perspective distortion) transformation of the text. A +_factor_ of 0 (zero) means no distortion. + +Usually _factor_ will be a small number; values outside the range -2 to 2 are +unlikely to have desireable results. + +Shearing is performed after rotation, on the rotated coordinates. The +coordinate system used for shearing is not affected by the [rotation origin]({{< relref "ASS_Tags#\org" >}}). + +{{}} +![shearing](/img/3.2/shearing.png) +{{}} + +{{}}\\fe\{{}} +Overrides the `Encoding` value of the style. +This is rarely ever useful or a good idea and should thus be avoided. +See the [style docs]({{< relref "Styles#the-style-editor" >}}) for more details. + +{{}} +\\c&H\\\& +\\1c&H\\\& +\\2c&H\\\& +\\3c&H\\\& +\\4c&H\\\& +{{}} +Set the color of the following text. The `\c` tag is an abbreviation of `\1c`. + +- `\1c` sets the primary fill color. +- `\2c` sets the secondary fill color. This is only used for pre-highlight in + standard karaoke. +- `\3c` sets the border color. +- `\4c` sets the shadow color. + +The color codes are given in +[hexadecimal](https://en.wikipedia.org/wiki/Hexadecimal) in Blue Green Red +order. Note that this is the opposite order of HTML color codes. Color codes +must always start with `&H` and end with `&`. + +The Pick Color toolbar buttons ![pick-color-toolbar-buttons](/img/3.2/pick-color-toolbar-buttons.png) can +assist in picking colors and entering the color codes. + +{{}} +\\alpha&H\ +\\1a&H\ +\\2a&H\ +\\3a&H\ +\\4a&H\ +{{}} +Set the alpha (transparency) of the text. + +- `\alpha` sets the alpha of all components at once. +- `\1a` sets the primary fill alpha. +- `\2a` sets the secondary fill alpha. This is only used for pre-highlight in + standard karaoke. +- `\3a` sets the border alpha. +- `\4a` sets the shadow alpha. + +An alpha of 00 (zero) means opaque/fully visible, and an alpha of FF (ie. 255 +in decimal) is fully transparent/invisible. + +{{}} + +```plaintext +\alpha&H80& +``` + +Set the alpha of all components to hexadecimal 80, decimal 128, making the +text 50% transparent in general. +{{}} +{{}} + +```plaintext +\1a&HFF& +``` + +Set the primary fill alpha to hexadecimal FF, decimal 255, making it invisible +and effectively leaving only the border and shadow. +{{}} + +{{}}\\an\{{}} +Specify the alignment of the line. The alignment specifies the position of the +line when no [position override]({{< relref "ASS_Tags#\pos" >}}) or +[movement]({{< relref "ASS_Tags#\move" >}}) is in effect, and otherwise specifies the +anchor point of positioning and rotation. + +The `\an` tag uses "numpad" values for the _pos_, ie. the alignment values +correspond to the positions of the digits on the numeric keypad on a regular +keyboard: + +1. Bottom left +1. Bottom center +1. Bottom right +1. Middle left +1. Middle center +1. Middle right +1. Top left +1. Top center +1. Top right + +{{}}\\a\{{}} +Specify the alignment of the line using legacy alignment codes from SubStation +Alpha. This tag is supported but considered deprecated; you should usually use +`\an` in new scripts instead, as it is more intuitive. + +The exception is that `\a6` should be used for lazy sign translating, because +if you're going to be lazy you should do it right and save the extra character. + +Calculate _pos_ as follows: Use 1 for left-alignment, 2 for center alignment +and 3 for right-alignment. If you want sub-titles you're done. To get +top-titles, add 4 to the number, to get mid-titles add 8 to the number: + +- 1: Bottom left +- 2: Bottom center +- 3: Bottom right +- 5: Top left +- 6: Top center +- 7: Top right +- 9: Middle left +- 10: Middle center +- 11: Middle right + +{{}} +\\k\ +\\K\ +\\kf\ +\\ko\ +\\kt\ +{{}} + +> _Please note that these tags alone only create some very specific effects +> and all other effects are created with a combination of multiple different +> tags._ + +The `\k` family of tags mark up subtitles for karaoke effects by specifying +the duration of each syllable. You place a `\k` tag before each syllable in +the line. + +The _duration_ is given in centiseconds, ie. a _duration_ of 100 is equivalent +to 1 second. You generally don't enter `\k` tags manually but rather use +karaoke timing tools such as [Aegisub's karaoke mode]({{< relref "Tutorials#karaoke-timing" >}}). + +The different `\k` tags create various effects: + +- `\k`: Before highlight, the syllable is filled with the secondary color and + alpha. When the syllable starts, the fill is instantly changed to use + primary color and alpha. +- `\K` and `\kf`: These two are identical. Note that `\K` is an uppercase K + and is different from lowercase `\k`. The syllable fill starts out secondary + color, when the syllable starts, the fill changes from secondary to primary + with a sweep from left to right, so the sweep ends when the syllable time is + over. +- `\ko`: Similar to `\k`, except that before highlight, the border/outline of + the syllable is removed, and appears instantly when the syllable starts. + +> _Note: The `\kt` tag is not yet supported by all Aegisub-internal tools +> and external scripts may also not properly handle it._ + +Additionally the `\kt` tag sets the start time of the next karaoke syllable +relative to the event’s start. Without `\kt` each syllable start is implicitly +determined as the sum of all preceding syllable’s duration. + +{{}}\\q\