Comments (5)
Is the “old version rom ubuntu” <= 0.15.2
? If so, I strongly suspect the difference comes from the VSFilter-compatibility changes implemented in #441. As such they are intentional and the only right way to render real™ ASS since VSFilter is the authoritative reference. Existing ASS releases rely on exactly matching VSFilter and libass deviating from this in the past was a bug.
If you can check xy-VSFilter, feel free to test if the new result actually matches and please report if it doesn't.
If you are authoring ASS subtitles for distribution, it is strongly recommended to ensure compatibility with xy-VSFilter since this is the only stable target. Unfortunately, this means you cannot just use \fsp
for complex shaped or (most?) BiDi text. Instead you can edit the font or manually insert scaled spaces as necessary.
If you are doing on-the-fly conversions from non-ASS formats you can either set Encoding=-1
in affected styles in the converter or enable ASS_FEATURE_WHOLE_TEXT_LAYOUT
via libass API. However, note those extensions are both libass-specific and may be subtly tweaked in the future, i.e. unlike VSFilter-compatible ASS they do not guarantee pixel-perfect stable rendering in future versions. Also note, setting them affects more than just \fsp
on multi-codepoint glyphs. Relevant documentation: WHOLE_TEXT_LAYOUT
(permalink to version of the time of writing) and Encoding=-1
.
from libass.
Is the “old version rom ubuntu”
<= 0.15.2
? If so, I strongly suspect the difference comes from the VSFilter-compatibility changes implemented in #441. As such they are intentional and the only right way to render real™ ASS since VSFilter is the authoritative reference. Existing ASS releases rely on exactly matching VSFilter and libass deviating from this in the past was a bug. If you can check xy-VSFilter, feel free to test if the new result actually matches and please report if it doesn't.If you are authoring ASS subtitles for distribution, it is strongly recommended to ensure compatibility with xy-VSFilter since this is the only stable target. Unfortunately, this means you cannot just use
\fsp
for complex shaped or (most?) BiDi text. Instead you can edit the font or manually insert scaled spaces as necessary.If you are doing on-the-fly conversions from non-ASS formats you can either set
Encoding=-1
in affected styles in the converter or enableASS_FEATURE_WHOLE_TEXT_LAYOUT
via libass API. However, note those extensions are both libass-specific and may be subtly tweaked in the future, i.e. unlike VSFilter-compatible ASS they do not guarantee pixel-perfect stable rendering in future versions. Also note, setting them affects more than just\fsp
on multi-codepoint glyphs. Relevant documentation:WHOLE_TEXT_LAYOUT
(permalink to version of the time of writing) andEncoding=-1
.
it was not completely removed? how to turn it on? i'm not good at tech so much.
from libass.
it was not completely removed? how to turn it on?
Are you doing on-the-fly conversions from other subtitle formats or are rendering the output of such a converter in your program?
If yes, the two methods are already described in my previous post. To be able to give more specific advise, please describe exactly what your usecase is and how you use libass.
If you are not doing one of those two and specifically if you are authoring native ASS files for distribution, I strongly discourage using or relying on any of those methods. It will break rendering in standard renderers, at most work with libass and even players using libass might not work unless some non-standard configuration is applied.
from libass.
Are you doing on-the-fly conversions from other subtitle formats or are rendering the output of such a converter in your program? If yes, the two methods are already described in my previous post. To be able to give more specific advise, please describe exactly what your usecase is and how you use libass.
If you are not doing one of those two and specifically if you are authoring native ASS files for distribution, I strongly discourage using or relying on any of those methods. It will break rendering in standard renderers, at most work with libass and even players using libass might not work unless some non-standard configuration is applied.
i see. could you guide me how to build aegisub with that 0.15.2 version? or the one that's used on avidemux 2.8.0 or vlc 3.0.11 vetinari?
from libass.
The original question of “why was it removed/changed” was already answered (changed for VSFilter incompatibility) and I linked docs on how to opt-in to VSF-incompatible modes and what consequences this has.
The revised question “why differs the result in Windows and Ubuntu” was already answered by yourself in your original post: you use different versions of libass in each OS.
I can't help you build and link other software, but plugging in an old version of libass isn't really a good solution and I again recommend to read the docs I linked before instead.
Since you did not describe your exact usecase, I am unable to give you any further help
from libass.
Related Issues (20)
- Rendering: natural line break punctuation position in RTL languages HOT 2
- Consider adding SHSTK support HOT 4
- [DirectWrite] Does not select the right font when 2 fonts have similar attributes HOT 4
- API to discard older events from memory HOT 2
- Rendering: Different case for a non-ASCII character doesn't find the font
- Rendering: Difference in font size with Roboto Medium in VSFilter and libass HOT 3
- checkasm struggles with PIC on (64-bit) Haiku HOT 13
- Separate muxed/memory fonts from system fonts
- build: Windows 10 + msys2 (with winiconv): passing argument 2 of 'iconv' from incompatible pointer type HOT 2
- warning: 'calloc' sizes specified with 'sizeof' in the earlier argument and not in the later argumentbuild: HOT 3
- Rendering: Incorrect font variant being selected HOT 13
- Overhaul fontselect: individual, cached, full-detail queries HOT 6
- Rendering: Start Delay Issue in libass Rendering Karaoke Subtitles HOT 10
- Discuss: -ffast-math and other math optimization flags HOT 10
- How to select Cascadia Mono font? HOT 8
- [DirectWrite] libass doesn't always find a fallback font HOT 2
- Artefacts near border corners with specific resolutions HOT 2
- morx substituions aren't ignored in libass HOT 2
- Is there a perspective value for rotates in libass? HOT 5
- Rendering: Incorrect rendering Arabic language HOT 11
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from libass.