X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=python%2Ffontextract.py;h=1677b558dea23023c4ee14e7134d663758f24e4d;hb=90e4d7057f3857da049dfda3d130017d4719bd6b;hp=ee9505f37f8eaa7c4c8094d11c538cdfd84f4d10;hpb=334e0c7b7466162cfd1763f3166c6070b9bf4caa;p=lilypond.git diff --git a/python/fontextract.py b/python/fontextract.py index ee9505f37f..1677b558de 100644 --- a/python/fontextract.py +++ b/python/fontextract.py @@ -16,73 +16,73 @@ try: _ = gettext.gettext except: def _ (s): - return s + return s def scan_files (files): file_of_font_dict = {} for f in files: - if verbose: - sys.stderr.write (_('Scanning %s') % f + '\n') + if verbose: + sys.stderr.write (_('Scanning %s') % f + '\n') - header = open (f, 'r').read () - idx = 0 + header = open (f, 'r').read () + idx = 0 - extract_from_this = [] - while idx < len (header): - match = dsr_font_regex.search (header[idx:]) - if not match: - break - name = match.group (1) - idx += match.end (1) - if file_of_font_dict.has_key (name): - continue + extract_from_this = [] + while idx < len (header): + match = dsr_font_regex.search (header[idx:]) + if not match: + break + name = match.group (1) + idx += match.end (1) + if file_of_font_dict.has_key (name): + continue - file_of_font_dict[name] = f + file_of_font_dict[name] = f return file_of_font_dict def get_file_fonts_dict (file_of_font_dict): dict = {} for (n, f) in file_of_font_dict.items (): - if not dict.has_key (f): - dict[f] = [] + if not dict.has_key (f): + dict[f] = [] - dict[f].append (n) + dict[f].append (n) return dict def extract_fonts_from_file (extract_from_this, font_dict, filename): if extract_from_this: - curr_font = [] - curr_font_name = [] - in_font = 0 - for l in open (filename).readlines (): - if not in_font and begin_font_regex.match (l): - in_font = 1 - curr_font_name = begin_font_regex.match (l).group (1) - curr_font = [] - elif in_font and end_font_regex.match (l): - in_font = 0 - - if curr_font_name in extract_from_this: - font_dict[curr_font_name] = ''.join (curr_font) - if verbose: - sys.stderr.write (_('Extracted %s') - % curr_font_name + '\n') - - extract_from_this.remove (curr_font_name) - elif in_font: - curr_font.append (l) - if not extract_from_this: - break - - if extract_from_this: - sys.stderr.write ("Failed to extract %s from %s\n" - % (', '.join (extract_from_this), filename)) + curr_font = [] + curr_font_name = [] + in_font = 0 + for l in open (filename).readlines (): + if not in_font and begin_font_regex.match (l): + in_font = 1 + curr_font_name = begin_font_regex.match (l).group (1) + curr_font = [] + elif in_font and end_font_regex.match (l): + in_font = 0 + + if curr_font_name in extract_from_this: + font_dict[curr_font_name] = ''.join (curr_font) + if verbose: + sys.stderr.write (_('Extracted %s') + % curr_font_name + '\n') + + extract_from_this.remove (curr_font_name) + elif in_font: + curr_font.append (l) + if not extract_from_this: + break + + if extract_from_this: + sys.stderr.write ("Failed to extract %s from %s\n" + % (', '.join (extract_from_this), filename)) def write_extracted_fonts (output_file_name, font_dict): if verbose: - sys.stderr.write( _('Writing fonts to %s') % output_file_name + '\n') + sys.stderr.write( _('Writing fonts to %s') % output_file_name + '\n') output = open (output_file_name, 'w') output.write ('''%!PS-Adobe-3.0 %%VMusage: 0 0 @@ -90,14 +90,14 @@ def write_extracted_fonts (output_file_name, font_dict): ''') for x in font_dict.keys (): - output.write ('%%%%DocumentSuppliedResources: font %s\n' % x) + output.write ('%%%%DocumentSuppliedResources: font %s\n' % x) output.write ('''%%EndComments\n''') for (k,v) in font_dict.items (): - output.write ('\n%%%%BeginFont: %s\n' % k) - output.write (v) - output.write ('\n%%EndFont') + output.write ('\n%%%%BeginFont: %s\n' % k) + output.write (v) + output.write ('\n%%EndFont') def extract_fonts (output_file_name, input_files): @@ -106,7 +106,7 @@ def extract_fonts (output_file_name, input_files): font_dict = {} for (file, fonts) in ff.items (): - extract_fonts_from_file (fonts, font_dict, file) + extract_fonts_from_file (fonts, font_dict, file) write_extracted_fonts (output_file_name, font_dict)