Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(709)

Unified Diff: scripts/newbitmaps/images/make_yaml_from_hwids

Issue 6825032: Add the latest localized text strings, update scripts to support them. (Closed) Base URL: ssh://gitrw.chromium.org:9222/vboot_reference.git@master
Patch Set: Created 9 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « scripts/newbitmaps/images/1366x768/url.bmp ('k') | scripts/newbitmaps/strings/README » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: scripts/newbitmaps/images/make_yaml_from_hwids
diff --git a/scripts/newbitmaps/images/make_yaml_from_hwids b/scripts/newbitmaps/images/make_yaml_from_hwids
new file mode 100755
index 0000000000000000000000000000000000000000..7e7da3f17231422fdb102898ff7b4ac4e04389da
--- /dev/null
+++ b/scripts/newbitmaps/images/make_yaml_from_hwids
@@ -0,0 +1,219 @@
+#!/bin/bash -eu
+# 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.
+#
+# Generate a new yaml file for each specified hwid_*.bmp file.
+#
+
+# Do initial release locales only, 'cause I'm in a hurry. GB == US.
+locales="en es fr it nl de"
+localedir="./localized_bitmaps"
+
+# Arbitrary padding
+ypad=5
+xpad=10
+yborder=40
+
+
+# Stuff to center and position bitmaps from the bottom of the screen upwards.
+
+# Globals
+cur_x=0
+cur_y=0
+
+
+# Return width of the specified .bmp file
+get_x() {
+ file $1 | awk '{print $7}'
+}
+
+get_xx() {
+ local ffile=$(eval "echo \$$1")
+ get_x $ffile
+}
+
+# Return height of the specified .bmp file
+get_y() {
+ file $1 | awk '{print $9}'
+}
+
+# Return height of the specified .bmp file
+get_yy() {
+ local ffile=$(eval "echo \$$1")
+ get_y $ffile
+}
+
+
+# Guess the locale based on the filename, set a global "newlocales" list
+# accordingly.
+guess_locale() {
+ local lc
+ local islc
+ local matches
+ islc=
+
+ matches=0
+ for lc in $locales; do
+ case "$1" in
+ *[_-]${lc}_* )
+ matches=$(expr $matches + 1)
+ islc=$lc
+ ;;
+ esac
+ done
+ if (( $matches != 1 )); then
+ islc='en'
+ fi
+
+ local newlist
+ newlist="$islc"
+ for lc in $locales; do
+ if [ "$lc" != "$islc" ]; then
+ newlist="$newlist $lc"
+ fi
+ done
+
+ newlocales=$newlist
+}
+
+
+# Reset the current baseline and width to the size of the specified .bmp file
+reset_base() {
+ cur_x=$(get_x "$1")
+ cur_y=$(expr $(get_y $1) - $yborder)
+}
+
+# Emit a screen line entry centering the given .bmp files at the current
+# baseline. We assume that all args are the same height.
+center_up() {
+ local totalx
+ local totaly
+ local x
+ local ffile
+
+ totaly=$(get_yy "$1")
+ cur_y=$(expr $cur_y - $totaly - $ypad)
+
+ totalx=$(expr 0 - $xpad / 2)
+ for fname in "$@"; do
+ totalx=$(expr $totalx + $(get_xx $fname) + $xpad)
+ done
+
+ x=$(expr "(" $cur_x - $totalx ")" / 2)
+
+ for fname in $*; do
+ echo " - [$x, $cur_y, $fname]" >> "$yaml_file"
+ x=$(expr $x + $(get_xx $fname) + $xpad)
+ done
+}
+
+
+
+# Generate a new yaml file for each specified hwid_*.bmp file.
+for hwid_bmp in "$@"; do
+ yaml_file=$(echo $(basename "$hwid_bmp" .bmp) | tr 'A-Z' 'a-z').yaml
+ echo "$yaml_file"
+
+ # List the images. The major difference is the HWID.
+ cat >"$yaml_file" <<EOF1
+bmpblock: 1.0
+
+compression: 1
+
+images:
+
+ # The HWID must change for every BOM
+ hwid: $hwid_bmp
+
+ # This URL never changes
+ url: URL.bmp
+
+ # The background images are from the UI people
+ devmode_bg: Devmode.bmp
+ remove_bg: Remove.bmp
+ yuck_bg: Yuck.bmp
+ insert_bg: Insert.bmp
+
+ # The following strings must be approved by the localization people
+EOF1
+
+ # some global variables matching the yaml definitions
+ hwid=$hwid_bmp
+ url="URL.bmp"
+
+ # Enumerate the bitmaps for each locale-specific string.
+ for lc in $locales; do
+ cat >>"$yaml_file" <<EOF2
+ ${lc}_model_text: ${localedir}/$lc/model.bmp
+ ${lc}_devmode_text: ${localedir}/$lc/devmode.bmp
+ ${lc}_remove_text: ${localedir}/$lc/remove.bmp
+ ${lc}_yuck_text: ${localedir}/$lc/yuck.bmp
+ ${lc}_insert_text: ${localedir}/$lc/insert.bmp
+
+EOF2
+
+ # Also define global variables matching those in the yaml file.
+ eval "${lc}_model_text=${localedir}/$lc/model.bmp"
+ eval "${lc}_devmode_text=${localedir}/$lc/devmode.bmp"
+ eval "${lc}_remove_text=${localedir}/$lc/remove.bmp"
+ eval "${lc}_yuck_text=${localedir}/$lc/yuck.bmp"
+ eval "${lc}_insert_text=${localedir}/$lc/insert.bmp"
+ done
+
+ # List the screens. We need to composite four screens for each locale.
+ echo "screens:" >> "$yaml_file"
+
+ for lc in $locales; do
+ echo " ${lc}_devel:" >> "$yaml_file"
+ echo " - [ 0, 0, devmode_bg]" >> "$yaml_file"
+ reset_base Devmode.bmp
+ center_up "${lc}_devmode_text"
+ echo "" >> "$yaml_file"
+
+ echo " ${lc}_remove:" >> "$yaml_file"
+ echo " - [ 0, 0, remove_bg]" >> "$yaml_file"
+ reset_base Remove.bmp
+ center_up "${lc}_model_text" "hwid"
+ center_up "url"
+ center_up "${lc}_remove_text"
+ echo "" >> "$yaml_file"
+
+ echo " ${lc}_yuck:" >> "$yaml_file"
+ echo " - [ 0, 0, yuck_bg]" >> "$yaml_file"
+ reset_base Yuck.bmp
+ center_up "${lc}_model_text" "hwid"
+ center_up "url"
+ center_up "${lc}_yuck_text"
+ echo "" >> "$yaml_file"
+
+ echo " ${lc}_insert:" >> "$yaml_file"
+ echo " - [ 0, 0, insert_bg]" >> "$yaml_file"
+ reset_base Insert.bmp
+ center_up "${lc}_model_text" "hwid"
+ center_up "url"
+ center_up "${lc}_insert_text"
+ echo "" >> "$yaml_file"
+
+ done
+
+
+ # Finally list the localizations.
+
+ cat >>"$yaml_file" <<EOF2
+localizations:
+
+ # This determines the order in which the localizations appear. The first
+ # one is the default.
+
+EOF2
+
+ # Let's try to use the native one first, if we can.
+ guess_locale "$yaml_file"
+
+ for lc in $newlocales; do
+ echo " - [ ${lc}_devel, ${lc}_remove, ${lc}_yuck, ${lc}_insert ]" >> \
+ "$yaml_file"
+ done
+
+done
« no previous file with comments | « scripts/newbitmaps/images/1366x768/url.bmp ('k') | scripts/newbitmaps/strings/README » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698