tas-file
Version:
Package npm support create file subtitle .tas (text advance subtitle) and read subtitle .tas
166 lines (125 loc) • 4.55 kB
Markdown
# 🎬 TAS File (Text Advance Subtitle)
**TAS File** is a lightweight and flexible Node.js package that allows you to **create and read `.tas` (Text Advance Subtitle)** files for use in video subtitling. It supports advanced text formatting such as bold, italic, underline, and positioning.
## 📦 Installation
```bash
npm install tas-file
````
## 🚀 Usage
### Example: Create a `.tas` Subtitle File
```js
const createTASFile = require('tas-file');
createTASFile({
title: "Demo TAS Subtitle",
style: {
Fontsize: 24,
Color: 'blue',
Bold: true,
Italic: false,
Underline: true
},
subtitles: [
{
start: "00:00:00.000",
end: "00:00:10.000",
text: "Hello, this is the first subtitle."
},
{
start: "00:00:10.000",
end: "00:00:20.000",
text: "{\\i}Italic subtitle{/i}"
},
{
start: "00:00:20.000",
end: "00:00:30.000",
text: "{\\u}Underline subtitle{/u}"
},
{
start: "00:00:30.000",
end: "00:00:40.000",
text: "{\\b}Bold subtitle{/b}"
}
]
}, 'output.tas');
```
> The output will be saved as `output.tas` in your current directory.
## 🎨 Style Configuration
You can set global styles for your `.tas` file using the following properties:
| Property | Description | Example |
| ----------- | --------------- | ---------------- |
| `Fontsize` | Font size | `20`, `24`, etc. |
| `Color` | Font color | `red`, `blue` |
| `Bold` | Bold text | `true` / `false` |
| `Italic` | Italic text | `true` / `false` |
| `Underline` | Underlined text | `true` / `false` |
## 🔣 Inline Text Formatting Tags
You can apply inline styles using formatting tags inside the `text` field:
| Tag | Meaning |
| ---------------- | --------------- |
| `{\\i}...{/i}` | Italic text |
| `{\\b}...{/b}` | Bold text |
| `{\\u}...{/u}` | Underlined text |
| `{\\on}...{/on}` | Top center |
| `{\\un}...{/un}` | Bottom center |
| `{\\lf}...{/lf}` | Left center |
| `{\\rt}...{/rt}` | Right center |
| `{\\ul}...{/ul}` | Bottom left |
| `{\\ur}...{/ur}` | Bottom right |
| `{\\ol}...{/ol}` | Top left |
| `{\\or}...{/or}` | Top right |
You can combine tags with `\n` for multiline effects:
```js
text: "{\\i}This is italic line 1{/i}\nLine 2 continues here."
```
## 📁 File Format (Generated `.tas` File)
Here is an example structure of the generated `.tas` file:
```
TAS
[Script Info]
Info: This is a Text Advance Subtitle script.
Title: Demo TAS Subtitle
ScriptType: 1.0+
[Ver1 Styles]
Format: Fontsize, Color, Bold, Italic, Underline
Style: Default, 24, blue, true, false, true
[Script]
1. 00:00:00.000 --> 00:00:10.000,,Hello, this is the first subtitle.
2. 00:00:10.000 --> 00:00:20.000,,{\i}Italic subtitle{/i}
3. 00:00:20.000 --> 00:00:30.000,,{\u}Underline subtitle{/u}
```
## 🤝 Contributing
Want to improve this package? Pull requests and feedback are welcome!
1. Fork the repository
2. Create a new branch
3. Make your changes
4. Submit a pull request
## 👨💻 Author
**Progamingsang**
## 🔗 Repository
GitHub: [https://github.com/Vienxamxi/TAS-file](https://github.com/Vienxamxi/TAS-file)
## 📄 License
````
Copyright (c) 2025 by Vienxamxi
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.