+# sets default font size option
+sub command_default_fontsize {
+ print "Enter default font size [$WHT$$default_fontsize$NRM]: $WHT";
+ $new_size = <STDIN>;
+ if ( $new_size eq "\n" ) {
+ $new_size = $size;
+ } else {
+ $new_size =~ s/[\r\n]//g;
+ }
+ return $new_size;
+}
+
+# controls available fontsets
+sub command_fontsets {
+ # Greeting
+ print "You can control fontsets available to end users here.\n";
+ # set initial $input value
+ $input = 'l';
+ while ( $input ne "x" ) {
+ if ( $input =~ /^\s*a\s*/i ) {
+ # add new fontset
+ print "\nFontset name: ";
+ $name = <STDIN>;
+ if (! $fontsets{trim($name)}) {
+ print "Fontset string: ";
+ $value = <STDIN>;
+ $fontsets{trim($name)} = trim($value);
+ } else {
+ print "\nERROR: Such fontset already exists.\n";
+ }
+ } elsif ( $input =~ /^\s*e\s*/i ) {
+ # edit existing fontset
+ print "\nFontset name: ";
+ $name = <STDIN>;
+ if (! $fontsets{trim($name)}) {
+ print "\nERROR: No such fontset.\n";
+ } else {
+ print "Fontset string [$fontsets{trim($name)}]: ";
+ $value = <STDIN>;
+ $fontsets{trim($name)} = trim($value);
+ }
+ } elsif ( $input =~ /^\s*d\s*/ ) {
+ # delete existing fontset
+ print "\nFontset name: ";
+ $name = <STDIN>;
+ if (! $fontsets{trim($name)}) {
+ print "\nERROR: No such fontset.\n";
+ } else {
+ delete $fontsets{trim($name)};
+ }
+ } elsif ( $input =~ /^\s*l\s*/ ) {
+ # list fontsets
+ print "\nConfigured fontsets:\n";
+ while (($fontset_name, $fontset_string) = each(%fontsets)) {
+ print " $fontset_name = $fontset_string\n";
+ }
+ print "Default fontset: $default_fontset\n";
+ } elsif ( $input =~ /^\s*m\s*/ ) {
+ # set default fontset
+ print "\nSet default fontset [$default_fontset]: ";
+ $name = <STDIN>;
+ if (trim($name) ne '' and ! $fontsets{trim($name)}) {
+ print "\nERROR: No such fontset.\n";
+ } else {
+ $default_fontset = trim($name);
+ }
+ } else {
+ # print available commands on any other input
+ print "\nAvailable commands:\n";
+ print " a - Adds new fontset.\n";
+ print " d - Deletes existing fontset.\n";
+ print " e - Edits existing fontset.\n";
+ print " h or ? - Shows this help screen.\n";
+ print " l - Lists available fontsets.\n";
+ print " m - Sets default fontset.\n";
+ print " x - Exits fontset editor mode.\n";
+ }
+ print "\nCommand [fontsets] (a,d,e,h,?=help,l,m,x)> ";
+ $input = <STDIN>;
+ $input =~ s/[\r\n]//g;
+ }
+}
+