From 2da52ccb38733cd6b8a5d6164f1a8e9912abb780 Mon Sep 17 00:00:00 2001 From: Akira TAGOH Date: Jan 19 2011 07:57:12 +0000 Subject: pop up a package name as tooltips --- diff --git a/bin/gen-defaultfonts-table.rb b/bin/gen-defaultfonts-table.rb index 72bbd46..6754467 100755 --- a/bin/gen-defaultfonts-table.rb +++ b/bin/gen-defaultfonts-table.rb @@ -63,6 +63,7 @@ end pkg2lang = {} lang2pkg = {} +font2pkg = {} y = FontPackages::YumRepos.new(yum_opts) fp = FontPackages::FontPackages.new("f#{ARGV[0]}") @@ -92,14 +93,21 @@ fp.fontpackages(:default).sort.each do |pkg| # for packages that has multiple config files. if fc.include?(generic_names_rule) then rules_availability |= true + font = nil if fc.has_alias?('sans-serif') then - sans << [priority, sprintf("%s[%s]", fc.entity_of_alias('sans-serif'), pkg.name)] + font = fc.entity_of_alias('sans-serif') + sans << [priority, font] end if fc.has_alias?('serif') then - serif << [priority, sprintf("%s[%s]", fc.entity_of_alias('serif'), pkg.name)] + font = fc.entity_of_alias('serif') + serif << [priority, font] end if fc.has_alias?('monospace') then - monospace << [priority, sprintf("%s[%s]", fc.entity_of_alias('monospace'), pkg.name)] + font = fc.entity_of_alias('monospace') + monospace << [priority, font] + end + unless font.nil? then + font2pkg[font] = pkg.name end end end @@ -171,10 +179,36 @@ print "" lang2pkg.keys.sort.each do |l| print "" printf("%s", l) - printf("%s", lang2pkg[l][:sans].join(', ')) - printf("%s", lang2pkg[l][:serif].join(', ')) - printf("%s", lang2pkg[l][:monospace].join(', ')) - printf("%s", lang2pkg[l][:other].join(', ')) + printf("") + (0..lang2pkg[l][:sans].length-1).each do |i| + printf(", ") if i > 0 + printf("") if i == 0 + font = lang2pkg[l][:sans][i] + printf("%s", font2pkg[font], font) + printf("") if i == 0 + end + printf("\n") + (0..lang2pkg[l][:serif].length-1).each do |i| + printf(", ") if i > 0 + printf("") if i == 0 + font = lang2pkg[l][:serif][i] + printf("%s", font2pkg[font], font) + printf("") if i == 0 + end + printf("\n") + (0..lang2pkg[l][:monospace].length-1).each do |i| + printf(", ") if i > 0 + printf("") if i == 0 + font = lang2pkg[l][:monospace][i] + printf("%s", font2pkg[font], font) + printf("") if i == 0 + end + printf("\n") + (0..lang2pkg[l][:other].length-1).each do |i| + printf(", ") if i > 0 + printf("%s", lang2pkg[l][:other][i]) + end + printf("\n") print "\n" end print "\n"