Revert fontsupport files accidentally changed in previous commit
## Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies).# All rights reserved.# This component and the accompanying materials are made available# under the terms of "Eclipse Public License v1.0"# which accompanies this distribution, and is available# at the URL "http://www.eclipse.org/legal/epl-v10.html".## Initial Contributors:# Nokia Corporation - initial contribution.## Contributors:## Description: # Configures the pictograph building environment during the build process.#use strict;use File::Path;my ($myname, $mydir);## Determine where this program is#BEGIN { ($myname = $0) =~ s@.*(\\|/)@@; ($mydir = $0) =~ s@(\\|/)[^(\\|/)]*$@@; $mydir =~ s@\\@/@g; #replace \ with / $mydir = "." if ($mydir eq $myname); } #constants for directory pathsuse constant CONFIG_ROOT_DIR => "$mydir/../config";use constant CONFIG_FILE_NAME => "config.ini";use constant PICTOGRAPH_BITMAPS_ROOT => "$mydir/../../aknpictographbitmaps";use constant PICTOGRAPH_BITMAPS_DATA => PICTOGRAPH_BITMAPS_ROOT."/data";use constant GENERATED_FILES_DIR => "$mydir/../generated";# supported keys in config.iniuse constant PICT_HEIGHTS => "PICTOGRAPH_HEIGHTS";use constant PICTOGRAPH_BITMAPS_SOURCE_DIR => "PICTOGRAPH_BITMAPS_SOURCE_DIR";use constant PICT_BITMAP_DISPLAY_MODE => "PICTOGRAPH_BITMAP_DISPLAY_MODE";use constant PICT_BITMAP_MASK_DISPLAY_MODE => "PICTOGRAPH_BITMAP_MASK_DISPLAY_MODE";# supported display modes for pictograph bitmaps/masksuse constant ECOLOR256 => "EColor256";use constant ECOLOR64K => "EColor64K";use constant EGRAY2 => "EGray2";use constant EGRAY256 => "EGray256";#heade file template relateduse constant COLORMODE_BITMAP_TAG_VALUE => "COLORMODE_BITMAP_TAG_VALUE";use constant COLORMODE_MASK_TAG_VALUE => "COLORMODE_MASK_TAG_VALUE";use constant DISPLAY_MODE_BITMAP_VALUE => "DISPLAY_MODE_BITMAP_VALUE";use constant DISPLAY_MODE_MASK_VALUE => "DISPLAY_MODE_MASK_VALUE";use constant CONF_HEADER_FILE_NAME => "aknpictographconfig.h";use constant CONF_HEADER_FILE_NAME_DEF => "AKNPICTOGRAPHCONFIG_H";use constant CONF_HEADER_FILE_TEMPLATE => "// This file is generated by AknPictographConfig.pl. Do not edit!!\n\n\n\n\n". "#ifndef @{[CONF_HEADER_FILE_NAME_DEF]}\n". "#define @{[CONF_HEADER_FILE_NAME_DEF]}\n\n". "#include <gdi.h>\n\n". "// Color mode tags for BMCONV tool\n". "_LIT8( KBitmapTag, @{[COLORMODE_BITMAP_TAG_VALUE]} );\n". "_LIT8( KMaskTag, @{[COLORMODE_MASK_TAG_VALUE]} );\n\n". "// Display modes for pictograph bitmap/mask creation\n". "const TDisplayMode KBitmapDisplayMode = @{[DISPLAY_MODE_BITMAP_VALUE]};\n". "const TDisplayMode KMaskDisplayMode = @{[DISPLAY_MODE_MASK_VALUE]};\n\n". "#endif // @{[CONF_HEADER_FILE_NAME_DEF]}\n\n". "// End of file\n";# hash for supported display modes for pictograph bitmapsmy %supported_bitmap_display_modes = ( uc (ECOLOR256) => +ECOLOR256, uc (ECOLOR64K) => +ECOLOR64K ); # hash for supported display modes for pictograph masksmy %supported_bitmap_mask_display_modes = ( uc (EGRAY2) => +EGRAY2, uc (EGRAY256) => +EGRAY256 ); # hash for supported bitmap/mask color mode tags for BMCONV toolmy %supported_color_mode_tags = ( @{[ECOLOR256]} => qq("/c8"), @{[ECOLOR64K]} => qq("/c16"), @{[EGRAY2]} => qq("/1"), @{[EGRAY256]} => qq("/8") ); my $usage = "Usage:\n". " perl AknPictographConfig.pl <config_dir_name>\n\n". " <config_dir_name> = directory below directory '<location of AknPictographConfig.pl>/../config'\n\n";################################################################################ main code############################################################################### my $config_dir_name = shift || die $usage;$config_dir_name = lc $config_dir_name;my $values_ref = ParseConfigFile($config_dir_name);PrintConfigInfo($values_ref,$config_dir_name);GenerateConfigHeader($values_ref);PrepareBuildEnvironment($values_ref,$config_dir_name);################################################################################ subroutines############################################################################### ## Subroutine for parsing pictograph configuration file ## parameters # $_[0] - name of the configuration directory under CONFIG_ROOT_DIR## return: reference to a hash of key value pairs #sub ParseConfigFile{ my $config_dir_name = shift || die "ParseConfigFile: argument error!"; my $filename = CONFIG_ROOT_DIR."/$config_dir_name/".CONFIG_FILE_NAME; my $content; my %values; open(FILE, $filename) || die "Unable to open file $filename: $!"; { local $/ ; undef $/ ; # reads the whole file on the next line $content = <FILE> ; } close FILE; #remove comments from $content #Note: comments start with // and ends with line end $content =~ s@//.*?$@@mg; # Regular expression for matching a token after '=' in $1. # The token is trimmed from left and right my $match_token = '[^\S\n]*=[^\S\n]*(\w.*?)[^\S\n]*$'; #match PICT_HEIGHTS key value pair #value is list of heights my $tmp = PICT_HEIGHTS; $content =~ /$tmp$match_token/mi || die "$tmp or value is not specified in $filename !\n"; $_=$1; @{$values{$tmp}} = split; die "At least a single pictograph height must be specified for $tmp in $filename\n" if @{$values{$tmp}}==0; #match PICTOGRAPH_BITMAPS_SOURCE_DIR key value pair $tmp = PICTOGRAPH_BITMAPS_SOURCE_DIR; $values{$tmp} = $config_dir_name; #default value $values{$tmp} = $1 if ($content =~ /$tmp$match_token/mi); #match PICT_BITMAP_DISPLAY_MODE key value pair $tmp = PICT_BITMAP_DISPLAY_MODE; $values{$tmp} = ECOLOR256; #default value if ($content =~ /$tmp$match_token/mi){ $_ = $supported_bitmap_display_modes{uc $1} || die "Value \'$1\' is not supported for $tmp!\n"; $values{$tmp} = $_; } #match PICT_BITMAP_MASK_DISPLAY_MODE key value pair $tmp = PICT_BITMAP_MASK_DISPLAY_MODE; $values{$tmp} = EGRAY2; #default value if ($content =~ /$tmp$match_token/mi){ $_ = $supported_bitmap_mask_display_modes{uc $1} || die "Value \'$1\' is not supported for $tmp!\n"; $values{$tmp} = $_; } return \%values;}## Subroutine for preparing build environment for building pictographs# bitmaps.## parameters # $_[0] - reference to a hash of key value pairs# $_[1] - name of the configuration directory under CONFIG_ROOT_DIR# sub PrepareBuildEnvironment{ die "PrepareBuildEnvironment: argument error!" if @_!=2; my ($values_ref,$config_dir_name) = @_; my $bitmap_target = PICTOGRAPH_BITMAPS_DATA; $bitmap_target =~ s@/@\\@g; #replace '/' with '\\' for Xcopy, del my $config_source = CONFIG_ROOT_DIR; $config_source =~ s@/@\\@g; #replace '/' with '\\' for Xcopy, del print "Cleanup...\n"; system("del /q /f $bitmap_target\\*.* > nul 2>&1"); system("del /q /f $config_source\\*.* > nul 2>&1"); my @pict_height_list = @{$values_ref->{+PICT_HEIGHTS}}; print "Extracting pictographs for $config_dir_name with heights: @pict_height_list in progress...\n"; my $command = "unzip -o -qq @{[PICTOGRAPH_BITMAPS_ROOT]}/$values_ref->{+PICTOGRAPH_BITMAPS_SOURCE_DIR}/*.zip -d @{[PICTOGRAPH_BITMAPS_DATA]}"; system("$command > nul 2>&1") == 0 or die qq(Command "$command" has failed: $?\n); foreach (@pict_height_list){ my $command = "xcopy $config_source\\$config_dir_name\\picto"."$_".".ini $config_source\\"; system("$command > nul 2>&1") == 0 or die qq(Command "$command" has failed: $?\n); } print "Configuring build environment is successful.\n";}## Subroutine for generating configuration header file## parameters # $_[0] - reference to a hash of key value pairs# sub GenerateConfigHeader{ my $values_ref = shift || die "GenerateConfigHeader: argument error!"; my $conf_header_content = CONF_HEADER_FILE_TEMPLATE; my $tmp = $values_ref->{+PICT_BITMAP_DISPLAY_MODE}; $conf_header_content =~ s/@{[DISPLAY_MODE_BITMAP_VALUE]}/$tmp/si; #insert bitmap display mode $conf_header_content =~ s/@{[COLORMODE_BITMAP_TAG_VALUE]}/$supported_color_mode_tags{$tmp}/si; #insert bitmap color mode tag $tmp = $values_ref->{+PICT_BITMAP_MASK_DISPLAY_MODE}; $conf_header_content =~ s/@{[DISPLAY_MODE_MASK_VALUE]}/$tmp/si; #insert mask display mode $conf_header_content =~ s/@{[COLORMODE_MASK_TAG_VALUE]}/$supported_color_mode_tags{$tmp}/si; #insert mask color mode tag mkpath GENERATED_FILES_DIR; $tmp = GENERATED_FILES_DIR."/".CONF_HEADER_FILE_NAME; open(OUTFILE, ">$tmp") || die "Unable to create file $tmp: $!"; print OUTFILE $conf_header_content; close OUTFILE; }# Subroutine for printing info to stdout about the current # pictograph build configuration## parameters # $_[0] - reference to a hash of key value pairs# $_[1] - name of the configuration directory under CONFIG_ROOT_DIR# sub PrintConfigInfo{ die "PrintConfigInfo: argument error!" if @_!=2; my ($values_ref,$config_dir_name) = @_; print "Pictograph configuration dir: $config_dir_name\n"; print "Pictographs heights: @{$values_ref->{+PICT_HEIGHTS}}\n"; print "Pictograph bitmaps color mode: $values_ref->{+PICT_BITMAP_DISPLAY_MODE}\n"; print "Pictograph bitmap masks color mode: $values_ref->{+PICT_BITMAP_MASK_DISPLAY_MODE}\n"; }