|
78 | 78 | use_poppler = True |
79 | 79 | # Tools/Compatibility |
80 | 80 | CONVERT = 'convert' |
| 81 | +FONT = '' |
81 | 82 | # Compress SVG files using scour (KiRi mode) |
82 | 83 | use_scour = False |
83 | 84 | DEFAULT_LAYER_NAMES = { |
@@ -477,7 +478,7 @@ def create_diff_stereo(old_name, new_name, diff_name, font_size, layer, resoluti |
477 | 478 | extra_name = ' [diff page size]' |
478 | 479 | else: |
479 | 480 | extra_name = extent = '' |
480 | | - text = ' -font helvetica -pointsize '+font_size+' -draw "text 10,'+font_size+' \''+adapt_name(name_layer)+extra_name+'\'" ' |
| 481 | + text = ' -font '+FONT+' -pointsize '+font_size+' -draw "text 10,'+font_size+' \''+adapt_name(name_layer)+extra_name+'\'" ' |
481 | 482 | command = ['bash', '-c', |
482 | 483 | '( '+CONVERT+' "'+new_name+'"'+extent+' miff:- ; ' + CONVERT + |
483 | 484 | ' "'+old_name+'"'+extent+' miff:- ) | ' + CONVERT + |
@@ -519,7 +520,7 @@ def create_diff_stereo_colored(old_name, new_name, diff_name, font_size, layer, |
519 | 520 | ' -opaque black -transparent white "'+added+'"'] |
520 | 521 | run_command(command) |
521 | 522 | run_command([CONVERT, old_name, added, '-composite', removed, '-composite', |
522 | | - '-font', 'helvetica', '-pointsize', font_size, '-draw', |
| 523 | + '-font', FONT, '-pointsize', font_size, '-draw', |
523 | 524 | "text 10,"+font_size+" '"+adapt_name(name_layer)+extra_name+"'", |
524 | 525 | diff_name]) |
525 | 526 | include = True |
@@ -557,7 +558,7 @@ def create_diff_stat(old_name, new_name, diff_name, font_size, layer, resolution |
557 | 558 | if args.threshold and errors > args.threshold: |
558 | 559 | logger.error('Difference for `{}` is not acceptable ({} > {})'.format(name_layer, errors, args.threshold)) |
559 | 560 | exit(DIFF_TOO_BIG) |
560 | | - cmd = [CONVERT, diff_name, '-font', 'helvetica', '-pointsize', font_size, '-draw', |
| 561 | + cmd = [CONVERT, diff_name, '-font', FONT, '-pointsize', font_size, '-draw', |
561 | 562 | 'text 10,'+font_size+" '"+adapt_name(name_layer)+extra_name+"'", diff_name] |
562 | 563 | logger.debug('Executing: '+str(cmd)) |
563 | 564 | call(cmd) |
@@ -879,6 +880,16 @@ def get_layer(line): |
879 | 880 | elif which('convert') is None: |
880 | 881 | logger.error('No convert or magick command, install ImageMagick') |
881 | 882 | exit(MISSING_TOOLS) |
| 883 | + # Check for available fonts |
| 884 | + cmd = ['identify', '-list', 'font'] |
| 885 | + fonts = run_command(cmd) |
| 886 | + for font in ['helvetica', 'Open-Sans-Regular', 'Roboto']: |
| 887 | + if font in fonts: |
| 888 | + FONT = font |
| 889 | + break |
| 890 | + if not FONT: |
| 891 | + logger.error('No compatible Font found, install one of helvetica, Open-Sans-Regular or Roboto') |
| 892 | + exit(MISSING_TOOLS) |
882 | 893 | use_poppler = not args.force_gs |
883 | 894 | if which('pdftoppm') is None: |
884 | 895 | if which('gs') is None: |
|
0 commit comments