#!/bin/bash -e # Copyright (c) 2011 The Chromium OS Authors. All rights reserved. # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. # # Render a text file into a bitmap. Files named '*.txt' are small font, those # named '*.TXT' are large font. # # Options: # # --rtl Render right-to-left languages # --font=FONTNAME Use specified font (instead of Helvetica) # font="Droid Sans" rtl="" point=22 while true ; do case "$1" in --rtl) rtl="--rtl" shift ;; --font=*) font="${1##*=}" shift ;; --point=*) point="${1##*=}" shift ;; *) break ;; esac done # Image parameters # - New pango-view has --pixel to assign font size in pixel, but that is not # supported by old (ex, 1.24.5 in chroot) so we must assign --dpi 72 for # pointsize. bg='#607c91' small_color='#9ccaec' small_font="$font" small_pointsize="$point" large_color="white" large_font="$font" large_pointsize=40 for txtfile in $*; do # pango-view does not support assigning output format options for bitmap, so # we first create the images in PNG format and then convert into BMP by # ImageMagick. pngfile="${txtfile%.*}".png bmpfile="${txtfile%.*}".bmp case "$txtfile" in *.txt) pango-view -q $rtl --no-auto-dir \ --background "$bg" --foreground "$small_color" \ --font "$small_font $small_pointsize" --dpi 72 \ --margin=3 --align=center \ --output "$pngfile" \ "$txtfile" convert -colors 256 -compress none -alpha off "$pngfile" BMP3:"$bmpfile" rm -f "$pngfile" echo "wrote $bmpfile" ;; *.TXT) pango-view -q $rtl --no-auto-dir \ --background "$bg" --foreground "$large_color" \ --font "$large_font $large_pointsize" --dpi 72 \ --margin=10 --align=center \ --output "$pngfile" \ "$txtfile" convert -colors 256 -compress none -alpha off "$pngfile" BMP3:"$bmpfile" rm -f "$pngfile" echo "wrote $bmpfile" ;; *) echo "Ignoring $txtfile. Filename should end with .txt or .TXT" ;; esac done