typesettingtools / myaamori-aegisub-scripts Goto Github PK
View Code? Open in Web Editor NEWOverengineering is my middle name.
License: MIT License
Overengineering is my middle name.
License: MIT License
Ran into a random error, not sure what's causing it. but 12/13 episodes worked fine for me. Let me know if you need anymore info.
Fonts Used: A-OTF-GothicMB101Pro-NazoKano.ttf / akbar.TTF / alike.regular.ttf / Baqa.otf / BurstMyBubble.ttf / cameronsans.medium.ttf / CrimsonText-Bold.ttf / FOT Rodin Pro EB.ttf / FOT-HummingStd-Accel-B.ttf / KGTenThousandReasonsAlt.ttf / Klarissa.ttf / Kingthings Clarity1.1.ttf / Raleway-Medium.ttf / Squiggly.ttf / billy.ttf
Error:
Traceback (most recent call last):
File "Path\To\AppData\Roaming\Python\Python38\Scripts\fontvalidator-script.py", line 11, in <module>
load_entry_point('fontvalidator==0.0.3', 'console_scripts', 'fontvalidator')()
File "Path\To\AppData\Roaming\Python\Python38\site-packages\fontvalidator.py", line 444, in main
issues = issues or validate_fonts(doc, fonts, args.ignore_drawings, args.warn_fullname_mismatch)
File "Path\To\AppData\Roaming\Python\Python38\site-packages\fontvalidator.py", line 251, in validate_fonts
missing = font.missing_glyphs(text)
File "Path\To\AppData\Roaming\Python\Python38\site-packages\fontvalidator.py", line 137, in missing_glyphs
if (uniTable := self.font.getBestCmap()):
File "Path\To\AppData\Roaming\Python\Python38\site-packages\fontTools\ttLib\ttFont.py", line 695, in getBestCmap
return self["cmap"].getBestCmap(cmapPreferences=cmapPreferences)
File "Path\To\AppData\Roaming\Python\Python38\site-packages\fontTools\ttLib\ttFont.py", line 378, in __getitem__
table = self._readTable(tag)
File "Path\To\AppData\Roaming\Python\Python38\site-packages\fontTools\ttLib\ttFont.py", line 395, in _readTable
table.decompile(data, self)
File "Path\To\AppData\Roaming\Python\Python38\site-packages\fontTools\ttLib\tables\_c_m_a_p.py", line 96, in decompile
table.decompileHeader(data[offset:offset+int(length)], ttFont)
File "Path\To\AppData\Roaming\Python\Python38\site-packages\fontTools\ttLib\tables\_c_m_a_p.py", line 179, in decompileHeader
assert len(data) == length, "corrupt cmap table format %d (data length: %d, header length: %d)" % (format, len(data), length)
AssertionError: corrupt cmap table format 0 (data length: 534, header length: 598)
-Data: 29,a-mo,e{"uuid"#3A"440dd0ed-4a19-478d-8c70-ef9ae3254eaa"#2C"originalText"#3A"{\\fad(75#2C0)\\an7\\fscx95\\fscy100\\alpha&H00&\\fax0\\fs28\\fnLato Heavy\\b0\\c&H101010&\\blur0.69\\frz11.05\\pos(591.2#2C663.05)}Artiodactyla #E2#80#94 Cervidae #E2#80#94 Cervus elaphus"}
+Data: 29,a-mo,e{"uuid"#3A"440dd0ed-4a19-478d-8c70-ef9ae3254eaa"#2C"originalText"#3A"{\\fad(75#2C0)\\an7\\fscx95\\fscy100\\alpha&H00&\\fax0\\fs28\\fnLato Heavy\\b0\\c&H101010&\\blur0.69\\frz11.05\\pos(591.2#2C663.05)}Artiodactyla — Cervidae — Cervus elaphus"}
Note to self: Test files in LLS_Import.rar
At the moment Merge Scripts will export changes by reading the target file, copying the headers (script info, aegisub project info), and then only overwrite the styles, events and extradata sections. Instead, the script info and project info should be cached on import, so that it can be written to the target file even if it does not already exist.
Optionally: Give the user the choice to overwrite the headers in the target file with the headers from the merge template file (does this even make sense?).
When using fontvalidator directly on mkv files, it will not properly detect either the font files or the sub track. Instead, it will only say 'Ignoring non-font attachment FONT.ttf' for each font, and nothing else. The fact it does not give missing font errors when run also implies that it is not detecting the subtitle tracks correctly either.
The solution I found for both of these was removing the "b" from "b'S_TEXT/ASS':" on line 333 and removing all of the "b"s from before the strings in the FONT_MIMETYPE set on lines 388-396. The script worked perfectly for me after removing these. I'm guessing these stopped the script from properly detecting the font filetype or the tracks which were subtitles.
There are at least two cases that may lead to changes being lost:
2 can be solved easily enough by hashing the source file on import and export and comparing the two. Not sure about 1 (hashing the subtitles object?).
Right now the absolute path to the file is cached upon import and then used when exporting changes. This means that a merge template containing imported lines is not portable between different systems. Additionally, even if the user changes the import definition to point to a different filename, the script will export to the old location.
Instead, the relative path given in the import definition should be used when exporting as well. Blocked by #4 for the case where the user wishes to export using a different filename.
Fontvalidator can not find font with special character.
Ass file: https://mega.nz/file/SxdA0RyI#0s-RTJlfyxns8r3hePgPawBFwOwV46_PYT5webvj0T4
Font file: https://mega.nz/file/S9ERDRpQ#bcPhS06kv-D5jt64aTNDbZVd6gZr6ZfJDYT91yYsoWk
if you do shift times of a sub file that has [Fonts] section, that section gets corrupted and becomes a mess. thus the fonts would be ruined so it's kinda of an issue for the files that use them.
I wanna merge 2 ass files:
I've tried to use --merge-file
option but it's not "apply" the karaoke effect of template.ass
to sub.ass
Is there any options to do it with Sub Digest?
Thanks for your amazing works.
When generating release file, identicial styles between multiple importing scripts will be duplicated.
Normally this does't cause any problem, but AssFontSubset crashes when it comes. I've submitted #25 to fix this issue.
A lot of the subtitling I do depend greatly on frame accuracy, the video preview in Aegisub doesn't feature going to next/previous frame, wish there was a tool that makes moving about in aegisub alot easier
-going to next/previous frame
-going to (+1/-1 sec, or 500msec)
Currently all imported files will be exported to when exporting changes. The GUI should include checkboxes to allow the user to select what changes to export.
E.g. if a scene change in the OP is delayed by a few frames in a specific episode, it would be nice if you could still use the same source file for the song, but specify that a given imported line should be timed differently. Currently you would have to save the retimed version of the song to a completely different file and import it instead.
I have no idea how to implement this without breaking the bidirectional nature of Merge Scripts. Would have to first figure out how powerful and how automated these per-episode adjustments should be, and then try to come up with a design that still allows for bidirectional importing and exporting of lines (e.g. how should the timing changes be specified, should the import statement have something to select what lines to use, etc).
How about adding support for wildcard matching? It may be useful if you have for every typeset one file and you don't want to import every file by hand.
For example importing all files in a directory:
typesetting/*
typesetting/*.ass
Or files with a specific name:
typesetting.*.ass
*.typesetting.ass
Instead of verifying whether a muxed script (or a list of fonts) is complete, it would be better to automate the collection of fonts to mux in the first place.
I imagine this as a different subcommand next to the current verify
. Name suggestions for the tool include "assfont" and "fontcheck".
As for the operation, of the list
or collect
command, I would like to either receive a list of fonts on stdout I can parse or have the matched fonts copied into a specified target folder. Font matching could be performed using system fonts (which would probably require using fontconfig directly or some form of emulation on Linux and idk about Windows) or from a list of specified paths like ~/.fonts
, which should already be possible for the verify task.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.