Last active
July 12, 2023 14:27
-
-
Save lilydjwg/8877450 to your computer and use it in GitHub Desktop.
Convert .ttc to several .ttf files into the current directory
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env python3 | |
import sys | |
import fontforge | |
def main(file): | |
for font in fontforge.fontsInFile(file): | |
f = fontforge.open(u'%s(%s)' % (file, font)) | |
f.generate('%s.ttf' % font) | |
if __name__ == '__main__': | |
if len(sys.argv) != 2: | |
sys.exit('one ttc file one time.') | |
main(sys.argv[1]) |
@c02y Is your .ttc
file a TrueType font collection or an OpenType font collection? Generating ttf from an OpenType font will result in information loss (and you may try to generate a .otf
instead). The file
command can tell you which type your file is.
@lilydjwg Yes, it is "OpenType font collection", actually I already tried Fontforge to convert the ttc to ttf months ago, it was the same result, since the script is using fontforge, so I guess they are the same things.
I already found a better solution: https://github.com/DavidBarts/getfonts and successfully extract the ttc to multiple ttfs, they are working as expected.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Thanks, it works here on Manjaro, I only need to install fontforge first.
Sad thing is, it removed a lot of info in the ttc font, such as the font name is empty, font version becomes 1.0, no Copyright, no Designer, no Layout Features.
And most importantly, the name of the font is blank in my Kobo eReader, and it doesn't work at all after I select the font.