mirror of
https://github.com/Telecominfraproject/OpenCellular.git
synced 2025-11-27 03:33:50 +00:00
BUG=chromium-os:18631 TEST=manual Boot to recovery mode screen. HWID should be the same size and shape as the rest of the text. Change-Id: Iee0b0611c1319a304d911b710dd7f35ef999a1eb Reviewed-on: http://gerrit.chromium.org/gerrit/6667 Reviewed-by: Randall Spangler <rspangler@chromium.org> Tested-by: Bill Richardson <wfrichar@chromium.org>
90 lines
3.0 KiB
Python
Executable File
90 lines
3.0 KiB
Python
Executable File
#!/usr/bin/python -tt
|
|
# 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.
|
|
|
|
import optparse
|
|
import os
|
|
import subprocess
|
|
import sys
|
|
import tempfile
|
|
|
|
chars = '* 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ{}-_'
|
|
|
|
def main():
|
|
"""Convert a set of text chars into individual BMPs.
|
|
|
|
This uses ImageMagick, so don't run it inside the build chroot.
|
|
Not all characters in the world are supported.
|
|
"""
|
|
|
|
parser = optparse.OptionParser()
|
|
parser.description = ' '.join(main.__doc__.split())
|
|
parser.add_option("--foreground", default='#9ccaec',
|
|
dest="fg", action="store", metavar="COLOR",
|
|
help="foreground color (%default)")
|
|
parser.add_option("--background", default='#607c91',
|
|
dest="bg", action="store", metavar="COLOR",
|
|
help="background color (%default)")
|
|
parser.add_option("--font", default='Helvetica',
|
|
dest="font", action="store",
|
|
help="font to use (%default)")
|
|
parser.add_option("--size", default='22', metavar="POINTSIZE",
|
|
dest="size", action="store",
|
|
help="font size (%default)")
|
|
parser.add_option('--dir', default='./outdir',
|
|
dest="outdir", action="store",
|
|
help="output directory (%default)")
|
|
(options, args) = parser.parse_args()
|
|
|
|
|
|
if not os.path.isdir(options.outdir):
|
|
os.mkdir(options.outdir)
|
|
|
|
# ARM U-Boot is very picky about its BMPs. They have to have exactly 256
|
|
# colors in their colormap. Imagemagick generally tries to reduce the
|
|
# colormap when it can, so we have to play some games to force it not to.
|
|
# We'll create a gradient file with 256 colors, and then make sure that all
|
|
# our rendered characters use the same colormap. This makes the resulting
|
|
# images larger, but it also means they'll work on x86 too. Sigh.
|
|
(handle, gradient_file) = tempfile.mkstemp(".png")
|
|
os.close(handle)
|
|
|
|
cmd = ('convert', '-size', '256x1',
|
|
'gradient:%s-%s' % (options.fg, options.bg),
|
|
gradient_file)
|
|
print ' '.join(cmd)
|
|
subprocess.call(cmd)
|
|
|
|
|
|
count=0
|
|
for ascii in chars:
|
|
outfile = os.path.join(options.outdir,
|
|
"idx%03d_%x.bmp" % (count,ord(ascii)))
|
|
print outfile
|
|
cmd = ('convert',
|
|
'-font', options.font,
|
|
'-background', options.bg,
|
|
'-fill', options.fg,
|
|
'-bordercolor', options.bg,
|
|
'-border', '0x3',
|
|
'-gravity', 'Center',
|
|
'-pointsize', options.size,
|
|
'-resize', '120%x100', # Yes, magic.
|
|
'-scale', '59%x78%', # Here, too.
|
|
'label:%s' % ascii,
|
|
'-remap', gradient_file,
|
|
'-compress', 'none',
|
|
'-alpha', 'off',
|
|
outfile)
|
|
print ' '.join(cmd)
|
|
count += 1
|
|
subprocess.call(cmd)
|
|
|
|
os.unlink(gradient_file)
|
|
|
|
|
|
# Start it all off
|
|
if __name__ == '__main__':
|
|
main()
|