mirror of
				https://github.com/kovidgoyal/calibre.git
				synced 2025-11-04 03:27:00 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			49 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			49 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
#!/usr/bin/env python
 | 
						|
# License: GPLv3 Copyright: 2019, Kovid Goyal <kovid at kovidgoyal.net>
 | 
						|
 | 
						|
import glob
 | 
						|
import os
 | 
						|
 | 
						|
from setup.revendor import ReVendor
 | 
						|
 | 
						|
 | 
						|
class LiberationFonts(ReVendor):
 | 
						|
 | 
						|
    description = 'Download the Liberation fonts'
 | 
						|
    NAME = 'liberation_fonts'
 | 
						|
    TAR_NAME = 'liberation-fonts'
 | 
						|
    VERSION = '2.1.5'
 | 
						|
    DOWNLOAD_URL = 'https://github.com/liberationfonts/liberation-fonts/files/7261482/liberation-fonts-ttf-2.1.5.tar.gz'
 | 
						|
 | 
						|
    @property
 | 
						|
    def vendored_dir(self):
 | 
						|
        return self.j(self.RESOURCES, 'fonts', 'liberation')
 | 
						|
 | 
						|
    @property
 | 
						|
    def version_file(self):
 | 
						|
        return self.j(self.vendored_dir, 'version.txt')
 | 
						|
 | 
						|
    def already_present(self):
 | 
						|
        if os.path.exists(self.version_file):
 | 
						|
            with open(self.version_file) as f:
 | 
						|
                return f.read() == self.VERSION
 | 
						|
        return False
 | 
						|
 | 
						|
    def run(self, opts):
 | 
						|
        if not opts.system_liberation_fonts and self.already_present():
 | 
						|
            self.info('Liberation Fonts already present in the resources directory, not downloading')
 | 
						|
            return
 | 
						|
        self.clean()
 | 
						|
        os.makedirs(self.vendored_dir)
 | 
						|
        self.use_symlinks = opts.system_liberation_fonts
 | 
						|
        with self.temp_dir() as dl_src:
 | 
						|
            src = opts.path_to_liberation_fonts or self.download_vendor_release(dl_src, opts.liberation_fonts_url)
 | 
						|
            font_files = glob.glob(os.path.join(src, 'Liberation*.ttf'))
 | 
						|
            if not font_files:
 | 
						|
                raise SystemExit(f'No font files found in {src}')
 | 
						|
 | 
						|
            for x in font_files:
 | 
						|
                self.add_file(x, os.path.basename(x))
 | 
						|
        with open(self.j(self.vendored_dir, 'version.txt'), 'w') as f:
 | 
						|
            f.write(self.VERSION)
 |