home *** CD-ROM | disk | FTP | other *** search
/ PC Welt 2006 November (DVD) / PCWELT_11_2006.ISO / casper / filesystem.squashfs / usr / sbin / update-pangox-aliases < prev    next >
Encoding:
Text File  |  2006-08-23  |  2.2 KB  |  75 lines

  1. #! /usr/bin/perl
  2.  
  3. use strict;
  4. use POSIX;
  5. use vars qw(%UNSUPPORTED_XLFD);
  6.  
  7. my $PangoAlias = '/var/lib/defoma/pango.d/pangox.aliases';
  8. my $PangoAliases = '/etc/pango/pangox.aliases';
  9. my $ConfFile = '/etc/defoma/config/pango.conf';
  10. my @clean = ("/usr/bin/defoma-app", "clean", "pango");
  11. my @update = ("/usr/bin/defoma-app", "update", "pango");
  12.  
  13. # write section
  14. sub write_section {
  15.     my $file = shift;
  16.     my $family = shift;
  17.  
  18.     open (F, ">> $file");
  19.     print F "$family normal normal normal normal \\\n\t\"";
  20.     if (exists ($UNSUPPORTED_XLFD {"$family-normal-normal-normal-normal"})) {
  21.         print F $UNSUPPORTED_XLFD {"$family-normal-normal-normal-normal"};
  22.         print F ",\\\n\t";
  23.     }
  24.     print F "-*-fixed-medium-r-normal--*-*-*-*-*-*-*-*\"\n\n";
  25.  
  26.     print F "$family italic normal normal normal \\\n\t\"";
  27.     if (exists ($UNSUPPORTED_XLFD {"$family-italic-normal-normal-normal"})) {
  28.         print F $UNSUPPORTED_XLFD {"$family-italic-normal-normal-normal"};
  29.         print F ",\\\n\t";
  30.     }
  31.     print F "-*-fixed-medium-i-normal--*-*-*-*-*-*-*-*\"\n\n";
  32.  
  33.     print F "$family normal normal bold normal \\\n\t\"";
  34.     if (exists ($UNSUPPORTED_XLFD {"$family-normal-normal-bold-normal"})) {
  35.         print F $UNSUPPORTED_XLFD {"$family-normal-normal-bold-normal"};
  36.         print F ",\\\n\t";
  37.     }
  38.     print F "-*-fixed-bold-r-normal--*-*-*-*-*-*-*-*\"\n\n";
  39.  
  40.     print F "$family italic normal bold normal \\\n\t\"";
  41.     if (exists ($UNSUPPORTED_XLFD {"$family-italic-normal-bold-normal"})) {
  42.         print F $UNSUPPORTED_XLFD {"$family-italic-normal-bold-normal"};
  43.         print F ",\\\n\t";
  44.     }
  45.     print F "-*-fixed-bold-i-normal--*-*-*-*-*-*-*-*\"\n\n";
  46.     close F;
  47. }
  48.  
  49. system (@clean) == 0 or die "Failed to clean up for defoma: $?";
  50. system (@update) == 0 or die "Failed to update for defoma: $?";
  51.  
  52. if ( ! -e $PangoAlias ) {
  53.     print "*** You don't have any defomized font packages.\n";
  54.     print "*** So we are trying to force to generate pangox.aliases...\n";
  55.  
  56.     do "$ConfFile" or die ("$@\n");
  57.  
  58.     open (F, "> $PangoAlias.bak") or die "Can't create $PangoAlias.bak: $?";
  59.     print F "## THIS FILE IS GENERATED BY UPDATE-PANGOX-ALIAS, DO NOT EDIT\n\n";
  60.     close F;
  61.  
  62.     ## Sans
  63.     write_section ("$PangoAlias.bak", "sans");
  64.  
  65.     ## Serif
  66.     write_section ("$PangoAlias.bak", "serif");
  67.  
  68.     ## Monospace
  69.     write_section ("$PangoAlias.bak", "monospace");
  70.  
  71.     rename ("$PangoAlias.bak", "$PangoAlias");
  72. }
  73.  
  74. 1;
  75.