#!/usr/bin/python3 import os template_header = \ ''' %package -n google-noto-{0}-fonts Summary: {1} font files for %{{name}} Requires: %{{name}}-common = %{{version}}-%{{release}} %description -n google-noto-{0}-fonts %common_desc The google-noto-{0}-fonts package contains {1} fonts. ''' template_footer = \ ''' %_font_pkg -n google-noto-{0}-fonts -f %{{fontconf}}-{0}.conf {2} ''' footer = '' def renderSpecEntry(pname, intro, files): global footer output = template_header.format(pname, intro, files) print(output) output = template_footer.format(pname, intro, files) footer += output footer += os.linesep # main if __name__ == "__main__": # Generate for google-noto-sans-cjk-ttc-fonts renderSpecEntry('sans-cjk-ttc', 'Sans OTC', 'NotoSansCJK-*.ttc') # Generate for google-noto-serif-cjk-ttc-fonts renderSpecEntry('serif-cjk-ttc', 'Serif OTC', 'NotoSerifCJK-*.ttc') # Generate for google-noto-sans-cjk-jp-fonts, google-noto-serif-cjk-jp-fonts and google-noto-sans-mono-cjk-jp-fonts renderSpecEntry('sans-cjk-jp', 'Japanese Multilingual Sans OTF', 'NotoSansCJKjp-*.otf') renderSpecEntry('serif-cjk-jp', 'Japanese Multilingual Serif OTF', 'NotoSerifCJKjp-*.otf') renderSpecEntry('sans-mono-cjk-jp', 'Japanese Multilingual Sans Mono OTF', 'NotoSansMonoCJKjp-*.otf') # Generate for google-noto-sans-cjk-kr-fonts, google-noto-serif-cjk-kr-fonts and google-noto-sans-mono-cjk-kr-fonts renderSpecEntry('sans-cjk-kr', 'Korean Multilingual Sans OTF', 'NotoSansCJKkr-*.otf') renderSpecEntry('serif-cjk-kr', 'Korean Multilingual Serif OTF', 'NotoSerifCJKkr-*.otf') renderSpecEntry('sans-mono-cjk-kr', 'Korean Multilingual Sans Mono OTF', 'NotoSansMonoCJKkr-*.otf') # Generate for google-noto-sans-cjk-sc-fonts, google-noto-serif-cjk-sc-fonts and google-noto-sans-mono-cjk-sc-fonts renderSpecEntry('sans-cjk-sc', 'Simplified Chinese Multilingual Sans OTF', 'NotoSansCJKsc-*.otf') renderSpecEntry('serif-cjk-sc', 'Simplified Chinese Multilingual Serif OTF', 'NotoSerifCJKsc-*.otf') renderSpecEntry('sans-mono-cjk-sc', 'Simplified Chinese Multilingual Sans Mono OTF', 'NotoSansMonoCJKsc-*.otf') # Generate for google-noto-sans-cjk-tc-fonts, google-noto-serif-cjk-tc-fonts and google-noto-sans-mono-cjk-tc-fonts renderSpecEntry('sans-cjk-tc', 'Traditional Chinese Multilingual Sans OTF', 'NotoSansCJKtc-*.otf') renderSpecEntry('serif-cjk-tc', 'Traditional Chinese Multilingual Serif OTF', 'NotoSerifCJKtc-*.otf') renderSpecEntry('sans-mono-cjk-tc', 'Traditional Chinese Multilingual Sans Mono OTF', 'NotoSansMonoCJKtc-*.otf') # Generate for google-noto-sans-jp-fonts and google-noto-serif-jp-fonts renderSpecEntry('sans-jp', 'Japanese Region-specific Sans OTF', 'NotoSansJP-*.otf') renderSpecEntry('serif-jp', 'Japanese Region-specific Serif OTF', 'NotoSerifJP-*.otf') # Generate for google-noto-sans-kr-fonts and google-noto-serif-kr-fonts renderSpecEntry('sans-kr', 'Korean Region-specific Sans OTF', 'NotoSansKR-*.otf') renderSpecEntry('serif-kr', 'Korean Region-specific Serif OTF', 'NotoSerifKR-*.otf') # Generate for google-noto-sans-sc-fonts and google-noto-serif-sc-fonts renderSpecEntry('sans-sc', 'Simplified Chinese Region-specific Sans OTF', 'NotoSansSC-*.otf') renderSpecEntry('serif-sc', 'Simplified Chinese Region-specific Serif OTF', 'NotoSerifSC-*.otf') # Generate for google-noto-sans-tc-fonts and google-noto-serif-tc-fonts renderSpecEntry('sans-tc', 'Traditional Chinese Region-specific Sans OTF', 'NotoSansTC-*.otf') renderSpecEntry('serif-tc', 'Traditional Chinese Region-specific Serif OTF', 'NotoSerifTC-*.otf') print(footer)