Hello community,

here is the log from the commit of package yast2-fonts for openSUSE:Factory 
checked in at 2015-05-10 10:47:22
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/yast2-fonts (Old)
 and      /work/SRC/openSUSE:Factory/.yast2-fonts.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "yast2-fonts"

Changes:
--------
--- /work/SRC/openSUSE:Factory/yast2-fonts/yast2-fonts.changes  2015-01-08 
23:02:12.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.yast2-fonts.new/yast2-fonts.changes     
2015-05-10 10:47:23.000000000 +0200
@@ -1,0 +2,12 @@
+Fri May  8 14:41:33 UTC 2015 - an...@suse.com
+
+- more flexible dependency in package specification (bsc#929899)
+- 3.1.14
+
+-------------------------------------------------------------------
+Tue Apr 28 12:51:52 UTC 2015 - pgaj...@suse.com
+
+- user mode
+- 3.1.13
+
+-------------------------------------------------------------------

Old:
----
  yast2-fonts-3.1.12.tar.bz2

New:
----
  yast2-fonts-3.1.14.tar.bz2

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ yast2-fonts.spec ++++++
--- /var/tmp/diff_new_pack.0XoYGx/_old  2015-05-10 10:47:23.000000000 +0200
+++ /var/tmp/diff_new_pack.0XoYGx/_new  2015-05-10 10:47:23.000000000 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package yast2-fonts
 #
-# Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,22 +17,22 @@
 
 
 Name:           yast2-fonts
-Version:        3.1.12
+Version:        3.1.14
 Release:        0
 
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 Source0:        %{name}-%{version}.tar.bz2
 
 Requires:       fontconfig
-Requires:       fonts-config >= 20141207
+Requires:       fonts-config >= 20150424
 Requires:       yast2 >= 3.0.5
 Requires:       yast2-ruby-bindings >= 1.2.0
 
-BuildRequires:  rubygem-yast-rake
 BuildRequires:  update-desktop-files
 BuildRequires:  yast2 >= 3.0.5
 BuildRequires:  yast2-devtools >= 1.2.0
 BuildRequires:  yast2-ruby-bindings >= 1.2.0
+BuildRequires:  rubygem(yast-rake)
 # extensions
 BuildRequires:  font-specimen-devel
 BuildRequires:  fontconfig-devel
@@ -40,7 +40,7 @@
 BuildRequires:  ruby-devel
 # for testing
 BuildRequires:  dejavu-fonts
-BuildRequires:  fonts-config
+BuildRequires:  fonts-config >= 20150424
 BuildRequires:  rubygem(rspec)
 
 Summary:        YaST2 - Fonts Configuration
@@ -57,12 +57,12 @@
 %setup -n %{name}-%{version}
 
 %build
-# build FreeType2 ruby binding
+# build ruby bindings
 rake compile
 
 %install
 rake install DESTDIR="%{buildroot}"
-# install FreeType2 ruby binding
+# install ruby bindings
 mkdir -p  %{buildroot}%{_libdir}/ruby/vendor_ruby/%{rb_ver}/%{rb_arch}/yast
 for ext in `ls src/ext`; do
   install -m 755 src/ext/$ext/$ext.so 
%{buildroot}%{_libdir}/ruby/vendor_ruby/%{rb_ver}/%{rb_arch}/yast

++++++ yast2-fonts-3.1.12.tar.bz2 -> yast2-fonts-3.1.14.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-fonts-3.1.12/CONTRIBUTING.md 
new/yast2-fonts-3.1.14/CONTRIBUTING.md
--- old/yast2-fonts-3.1.12/CONTRIBUTING.md      2014-11-26 12:57:42.000000000 
+0100
+++ new/yast2-fonts-3.1.14/CONTRIBUTING.md      2015-05-08 16:38:27.000000000 
+0200
@@ -12,13 +12,13 @@
 -----------
 
 If you find a problem, please report it either using
-[Bugzilla](https://bugzilla.novell.com/enter_bug.cgi?format=guided&product=openSUSE+Factory&component=YaST2)
+[Bugzilla](https://bugzilla.suse.com/enter_bug.cgi?format=guided&product=openSUSE+Factory&component=YaST2)
 or [GitHub issues](../../issues). (For Bugzilla, use the [simplified
 
registration](https://secure-www.novell.com/selfreg/jsp/createSimpleAccount.jsp)
 if you don't have an account yet.)
 
 If you find a problem, please report it either using
-[Bugzilla](https://bugzilla.novell.com/) or GitHub issues. We can't guarantee
+[Bugzilla](https://bugzilla.suse.com/) or GitHub issues. We can't guarantee
 that every bug will be fixed, but we'll try.
 
 When creating a bug report, please follow our [bug reporting
@@ -71,7 +71,7 @@
 [widely used
 
conventions](http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html).
 
-If your commit is related to a bug in Buzgilla or an issue on GitHub, make sure
+If your commit is related to a bug in Bugzilla or an issue on GitHub, make sure
 you mention it in the commit message for cross-reference. Use format like
 bnc#775814 or gh#yast/yast-foo#42. See also [GitHub
 
autolinking](https://help.github.com/articles/github-flavored-markdown#references)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-fonts-3.1.12/package/yast2-fonts.changes 
new/yast2-fonts-3.1.14/package/yast2-fonts.changes
--- old/yast2-fonts-3.1.12/package/yast2-fonts.changes  2014-12-10 
11:15:16.000000000 +0100
+++ new/yast2-fonts-3.1.14/package/yast2-fonts.changes  2015-05-08 
16:55:56.000000000 +0200
@@ -1,4 +1,16 @@
 -------------------------------------------------------------------
+Fri May  8 14:41:33 UTC 2015 - an...@suse.com
+
+- more flexible dependency in package specification (bsc#929899)
+- 3.1.14
+
+-------------------------------------------------------------------
+Tue Apr 28 12:51:52 UTC 2015 - pgaj...@suse.com
+
+- user mode
+- 3.1.13
+
+-------------------------------------------------------------------
 Wed Dec 10 10:11:43 UTC 2014 - pgaj...@suse.com
 
 - use _raw_ default fontconfig plus rendring/family list changes 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-fonts-3.1.12/package/yast2-fonts.spec 
new/yast2-fonts-3.1.14/package/yast2-fonts.spec
--- old/yast2-fonts-3.1.12/package/yast2-fonts.spec     2014-12-10 
11:11:42.000000000 +0100
+++ new/yast2-fonts-3.1.14/package/yast2-fonts.spec     2015-05-08 
16:55:56.000000000 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           yast2-fonts
-Version:        3.1.12
+Version:        3.1.14
 Release:        0
 
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
@@ -25,14 +25,14 @@
 
 Requires:       yast2 >= 3.0.5
 Requires:       yast2-ruby-bindings >= 1.2.0
-Requires:       fonts-config >= 20141207
+Requires:       fonts-config >= 20150424
 Requires:       fontconfig
 
 BuildRequires:  update-desktop-files
 BuildRequires:  yast2-ruby-bindings >= 1.2.0
 BuildRequires:  yast2-devtools >= 1.2.0
 BuildRequires:  yast2 >= 3.0.5
-BuildRequires:  rubygem-yast-rake
+BuildRequires:  rubygem(yast-rake)
 # extensions
 BuildRequires:  freetype2-devel
 BuildRequires:  fontconfig-devel
@@ -41,7 +41,7 @@
 # for testing
 BuildRequires:  rubygem(rspec)
 BuildRequires:  dejavu-fonts
-BuildRequires:  fonts-config
+BuildRequires:  fonts-config >= 20150424
 
 Summary:        YaST2 - Fonts Configuration
 Group:          System/YaST
@@ -57,12 +57,12 @@
 %setup -n %{name}-%{version}
 
 %build
-# build FreeType2 ruby binding
+# build ruby bindings
 rake compile
 
 %install
 rake install DESTDIR="%{buildroot}"
-# install FreeType2 ruby binding
+# install ruby bindings
 mkdir -p  %{buildroot}%{_libdir}/ruby/vendor_ruby/%{rb_ver}/%{rb_arch}/yast
 for ext in `ls src/ext`; do
   install -m 755 src/ext/$ext/$ext.so 
%{buildroot}%{_libdir}/ruby/vendor_ruby/%{rb_ver}/%{rb_arch}/yast
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-fonts-3.1.12/src/lib/fonts/fonts-config-state.rb 
new/yast2-fonts-3.1.14/src/lib/fonts/fonts-config-state.rb
--- old/yast2-fonts-3.1.12/src/lib/fonts/fonts-config-state.rb  2014-12-19 
11:16:00.000000000 +0100
+++ new/yast2-fonts-3.1.14/src/lib/fonts/fonts-config-state.rb  2015-05-08 
16:38:27.000000000 +0200
@@ -4,8 +4,8 @@
   class FontsConfigState
     include Yast
     extend Yast::I18n
-
-    SC_PATH = ".sysconfig.fonts-config"
+    include Yast::I18n
+    include FileUtils
 
     HINT_STYLES = [
       "none",
@@ -120,10 +120,10 @@
           "ebl" => [ "ja", "ko", "zh" ],
           "lcd_filter" => LCD_FILTERS[0],
           "subpixel_layout" => SUBPIXEL_LAYOUTS[0],
-          "help" => N_("Fonts rendered without antialiasing (grayscale 
smoothing), black and white. In contrast with smoothed fonts, they are much 
more readable without any drawback of smoothing (fuzzy or uneven stems etc.). 
In connection with good hinted fonts (e. g. Liberation 1 fonts), this setting 
can give bitmap quality fonts while maintaining scalability. Default family 
preference list is used."),
+          "help" => N_("Fonts rendered without antialiasing (grayscale 
smoothing), black and white. In contrast with smoothed fonts, they are much 
more readable without any drawback of smoothing (fuzzy or uneven stems etc.). 
In connection with good hinted fonts (e. g. Liberation 1 fonts), this setting 
can give bitmap quality fonts while maintaining scalability."),
         },
         "bw_mono_fonts" => {
-          "name" => N_("Black and White Rendering for Monospace Fonts"),
+          "name" => N_("Black and White Rendering for Monospaced Fonts"),
           "fpl" =>  {
             "sans-serif" => [],
             "serif" => [],
@@ -140,7 +140,7 @@
           "ebl" => [ "ja", "ko", "zh" ],
           "lcd_filter" => LCD_FILTERS[0],
           "subpixel_layout" => SUBPIXEL_LAYOUTS[0],
-          "help" => N_("Monospace fonts rendered not smoothed, other fonts 
(sans-serif, sans and unspecified) will use default setting. Default family 
preference list is used."),
+          "help" => N_("Monospaced fonts rendered not smoothed, other fonts 
(sans-serif, sans and unspecified) will use default setting. Default family 
preference list is used."),
         },
         "default" => {
           "name" => N_("Default"),
@@ -160,7 +160,7 @@
           "ebl" => [ "ja", "ko", "zh" ],
           "lcd_filter" => LCD_FILTERS[0],
           "subpixel_layout" => SUBPIXEL_LAYOUTS[0],
-          "help" => N_("Fonts are smoothed with antialiasing. Unlike black and 
white rendered fonts, this setting can produce 'beautiful' fonts sometimes to 
the detriment of readability. TrueType fonts, which are known to have good 
hinting instructions are rendered with bytecode interpreter, otherwise freetype 
autohinter is used on the 'hintslight' hinting level. Using font native hinting 
instructions produces glyphs displayed with thiner stems. Default family 
preference list is used (nowdays TrueType fonts with good instructions are 
prefered)."),
+          "help" => N_("Fonts are smoothed with antialiasing. Unlike black and 
white rendered fonts, this setting can produce 'beautiful' fonts sometimes to 
the detriment of readability. TrueType fonts, which are known to have good 
hinting instructions are rendered with bytecode interpreter, otherwise FreeType 
autohinter is used on the 'hintslight' hinting level. Using font native hinting 
instructions produces glyphs displayed with thiner stems. Default family 
preference list is used (nowdays TrueType fonts with good instructions are 
prefered)."),
         },
         "cff_fonts" => {
           "name" => N_("CFF Fonts"),
@@ -202,7 +202,7 @@
           "ebl" => [ "ja", "ko", "zh" ],
           "lcd_filter" => LCD_FILTERS[0],
           "subpixel_layout" => SUBPIXEL_LAYOUTS[0],
-          "help" => N_("Given Adobe's contribution to freetype library, CFF 
fonts can be considered good compromise between readability and smoothness of 
rendered glyphs."),
+          "help" => N_("Given Adobe's contribution to FreeType library, CFF 
fonts can be considered good compromise between readability and smoothness of 
rendered glyphs."),
         },
         "autohinter" => {
           "name" => N_("Exclusive Autohinter Rendering"),
@@ -222,7 +222,7 @@
           "ebl" => [ "ja", "ko", "zh" ],
           "lcd_filter" => LCD_FILTERS[0],
           "subpixel_layout" => SUBPIXEL_LAYOUTS[0],
-          "help" => N_("Unlike in default profile, even for good hinted fonts, 
freetype's autohinter is used (on the 'hintslight' level). That leads to 
thicker, but sometimes fuzzier (and therefore less readable), glyphs. Default 
family preference list is used."),
+          "help" => N_("Unlike in default profile, even for good hinted fonts, 
FreeType's autohinter is used (on the 'hintslight' level). That leads to 
thicker, but sometimes fuzzier (and therefore less readable), glyphs. Default 
family preference list is used."),
         },
         "subpixel_rendering" => {
           "name" => N_("Subpixel Rendering"),
@@ -269,12 +269,43 @@
     attr_accessor :lcd_filter
     attr_accessor :subpixel_layout
 
-    def initialize
+    def initialize(root_user = true)
+      @root_user = root_user
+      textdomain "fonts"
       load_preset("unset")
     end
   
+    def initialize_agent(write)
+      if (@root_user)
+        # system mode
+        # (yes, root user can't change his font setting via this module :))
+        @agent_path = ".sysconfig.fonts-config" 
+      else
+        # user mode
+        # ~/.config/fontconfig/fonts-config
+        @agent_path = ".userconfig.fonts-config"
+        @agent_file_path = FontsConfigCommand.user_sysconfig_file
+ 
+        if (write && !File.exists?(@agent_file_path))
+          mkdir_p(File.dirname(@agent_file_path))
+          touch(@agent_file_path)
+        end
+
+        SCR.RegisterAgent(path(@agent_path),
+                          term(:ag_ini, term(:SysConfigFile, 
@agent_file_path)))
+      end
+    end
+
+    def finalize_agent
+      if (!@root_user)
+        SCR.UnregisterAgent(path(@agent_path))
+      end
+      @agent_path = ""
+    end
+
     # create list of preset [key, name] pairs
     def self.preset_list
+      textdomain "fonts"
       PRESETS.keys.drop(1).map do |preset|
          [ preset, _(PRESETS[preset]["name"]) ]
        end
@@ -318,56 +349,58 @@
    end
 
    def write
+      initialize_agent(true)
+
       temp = @fpl["sans-serif"].join(':')
       SCR.Write(
-        path(SC_PATH + ".PREFER_SANS_FAMILIES"),
+        path(@agent_path + ".PREFER_SANS_FAMILIES"),
         temp
       )
 
       temp = @fpl["serif"].join(':')
       SCR.Write(
-        path(SC_PATH + ".PREFER_SERIF_FAMILIES"),
+        path(@agent_path + ".PREFER_SERIF_FAMILIES"),
         temp
       )
 
       temp = @fpl["monospace"].join(':')
       SCR.Write(
-        path(SC_PATH + ".PREFER_MONO_FAMILIES"),
+        path(@agent_path + ".PREFER_MONO_FAMILIES"),
         temp
       )
         
       temp = @search_metric_compatible ? "yes" : "no"
       SCR.Write(
-        path(SC_PATH + ".SEARCH_METRIC_COMPATIBLE"),
+        path(@agent_path + ".SEARCH_METRIC_COMPATIBLE"),
         temp
       )
 
       temp = @really_force_fpl ? "yes" : "no"
       SCR.Write(
-        path(SC_PATH + ".FORCE_FAMILY_PREFERENCE_LISTS"),
+        path(@agent_path + ".FORCE_FAMILY_PREFERENCE_LISTS"),
         temp
       )
 
       temp = @force_aa_off ? "yes" : "no"
       SCR.Write(
-        path(SC_PATH + ".FORCE_BW"),
+        path(@agent_path + ".FORCE_BW"),
         temp
       )
       
       temp = @force_aa_off_mono ? "yes" : "no"
       SCR.Write(
-        path(SC_PATH + ".FORCE_BW_MONOSPACE"),
+        path(@agent_path + ".FORCE_BW_MONOSPACE"),
         temp
       )
     
       temp = @force_ah_on ? "yes" : "no"
       SCR.Write(
-        path(SC_PATH + ".FORCE_AUTOHINT"),
+        path(@agent_path + ".FORCE_AUTOHINT"),
         temp
       )
 
       SCR.Write(
-        path(SC_PATH + ".FORCE_HINTSTYLE"),
+        path(@agent_path + ".FORCE_HINTSTYLE"),
         @force_hintstyle
       )
 
@@ -376,7 +409,7 @@
       # the list is empty -- empty string would mean 'ALL')
       temp = !@embedded_bitmaps || (!@all_ebl && @ebl.empty?) ? "no" : "yes"
       SCR.Write(
-        path(SC_PATH + ".USE_EMBEDDED_BITMAPS"),
+        path(@agent_path + ".USE_EMBEDDED_BITMAPS"),
         temp
       )
 
@@ -386,84 +419,87 @@
         temp = @ebl.join(':')
       end
       SCR.Write(
-        path(SC_PATH + ".EMBEDDED_BITMAPS_LANGUAGES"),
+        path(@agent_path + ".EMBEDDED_BITMAPS_LANGUAGES"),
         temp 
       )
 
       SCR.Write(
-        path(SC_PATH + ".USE_LCDFILTER"),
+        path(@agent_path + ".USE_LCDFILTER"),
         @lcd_filter
       )
 
       SCR.Write(
-        path(SC_PATH + ".USE_RGBA"),
+        path(@agent_path + ".USE_RGBA"),
         @subpixel_layout
       )
 
       # flush
       SCR.Write(
-        path(SC_PATH),
+        path(@agent_path),
         nil
       )
+
+      finalize_agent
    end
 
    def read
       # use values from "default" profile in case
       # some sysconfig variables are missing
       load_preset("default")
+      initialize_agent(false)
 
       temp = SCR.Read(
-              path(SC_PATH + ".PREFER_SANS_FAMILIES")
+              path(@agent_path + ".PREFER_SANS_FAMILIES")
              )
       @fpl["sans-serif"] = temp.split(':') unless temp.nil?
 
       temp = SCR.Read(
-              path(SC_PATH + ".PREFER_SERIF_FAMILIES")
+              path(@agent_path + ".PREFER_SERIF_FAMILIES")
              )
       @fpl["serif"] = temp.split(':') unless temp.nil?
 
       temp = SCR.Read(
-              path(SC_PATH + ".PREFER_MONO_FAMILIES")
+              path(@agent_path + ".PREFER_MONO_FAMILIES")
              )
       @fpl["monospace"] = temp.split(':') unless temp.nil?
 
       temp = SCR.Read(
-               path(SC_PATH + ".SEARCH_METRIC_COMPATIBLE"),
+               path(@agent_path + ".SEARCH_METRIC_COMPATIBLE"),
              )
       @search_metric_compatible = temp == "yes" unless temp.nil?
 
       temp = SCR.Read(
-               path(SC_PATH + ".FORCE_FAMILY_PREFERENCE_LISTS"),
+               path(@agent_path + ".FORCE_FAMILY_PREFERENCE_LISTS"),
              )
       @really_force_fpl = temp == "yes" unless temp.nil?
 
       temp = SCR.Read(
-               path(SC_PATH + ".FORCE_BW"),
+               path(@agent_path + ".FORCE_BW"),
              )
       @force_aa_off = temp == "yes" unless temp.nil?
 
       temp = SCR.Read(
-               path(SC_PATH + ".FORCE_BW_MONOSPACE"),
+               path(@agent_path + ".FORCE_BW_MONOSPACE"),
              )
       @force_aa_off_mono = temp == "yes" unless temp.nil?
 
       temp = SCR.Read(
-               path(SC_PATH + ".FORCE_AUTOHINT"),
+               path(@agent_path + ".FORCE_AUTOHINT"),
              )
       @force_ah_on = temp == "yes" unless temp.nil?
 
       temp = SCR.Read(
-               path(SC_PATH + ".FORCE_HINTSTYLE"),
+               path(@agent_path + ".FORCE_HINTSTYLE"),
              )
       @force_hintstyle = temp unless temp.nil?
 
       temp = SCR.Read(
-               path(SC_PATH + ".USE_EMBEDDED_BITMAPS")
+               path(@agent_path + ".USE_EMBEDDED_BITMAPS")
              )
       @embedded_bitmaps = temp == "yes" unless temp.nil?
 
       temp = SCR.Read(
-              path(SC_PATH + ".EMBEDDED_BITMAPS_LANGUAGES")
+              path(@agent_path + ".EMBEDDED_BITMAPS_LANGUAGES")
              )
       unless temp.nil?
         if (temp == "")
@@ -476,15 +512,17 @@
       end
 
       temp = SCR.Read(
-               path(SC_PATH + ".USE_LCDFILTER"),
+               path(@agent_path + ".USE_LCDFILTER"),
             )
       @lcd_filter = temp unless temp.nil?
 
       temp = SCR.Read(
-               path(SC_PATH + ".USE_RGBA"),
+               path(@agent_path + ".USE_RGBA"),
              )
       @subpixel_layout = temp unless temp.nil?
-   end
+
+      finalize_agent
+    end
   end
 end
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-fonts-3.1.12/src/lib/fonts/fonts-dialog.rb 
new/yast2-fonts-3.1.14/src/lib/fonts/fonts-dialog.rb
--- old/yast2-fonts-3.1.12/src/lib/fonts/fonts-dialog.rb        2015-01-06 
17:13:54.000000000 +0100
+++ new/yast2-fonts-3.1.14/src/lib/fonts/fonts-dialog.rb        2015-05-08 
16:38:27.000000000 +0200
@@ -30,7 +30,9 @@
     FONTCONFIG_PATH = "/etc/fonts"
 
     def initialize
-      @fcstate = FontsConfigState.new
+      textdomain "fonts"
+
+      @fcstate = FontsConfigState.new(root_user?)
       @current_fpl = @fcstate.fpl.keys[0]
       @current_family = nil
       @current_families = Hash.new
@@ -55,31 +57,31 @@
     end
 
   private
-    def initialize_aaoff_checkbox(key)
-      UI.ChangeWidget(Id("chkb_aa_off"), :Value,
-                      @fcstate.force_aa_off)
+    def initialize_antialias_checkbox(key = nil)
+      UI.ChangeWidget(Id("chkb_antialias"), :Value,
+                      !@fcstate.force_aa_off)
     end
 
-    def handle_aaoff_checkbox(key, map)
+    def handle_antialias_checkbox(key, map)
       @fcstate.force_aa_off =
-        UI.QueryWidget(Id("chkb_aa_off"), :Value)
-      UI.ChangeWidget(Id("chkb_aa_mono_off"), :Enabled, !@fcstate.force_aa_off)
+        !UI.QueryWidget(Id("chkb_antialias"), :Value)
+      UI.ChangeWidget(Id("chkb_antialias_mono"), :Enabled, 
!@fcstate.force_aa_off)
       return nil
     end
 
-    def initialize_aamonooff_checkbox(key)
-      UI.ChangeWidget(Id("chkb_aa_mono_off"), :Value,
-                      @fcstate.force_aa_off_mono)
-      UI.ChangeWidget(Id("chkb_aa_mono_off"), :Enabled, 
!@fcstate.force_aa_off_mono)
+    def initialize_antialias_mono_checkbox(key = nil)
+      UI.ChangeWidget(Id("chkb_antialias_mono"), :Value,
+                      !@fcstate.force_aa_off_mono)
+      UI.ChangeWidget(Id("chkb_antialias_mono"), :Enabled, 
!@fcstate.force_aa_off)
     end
 
-    def handle_aaoffmono_checkbox(key, map)
+    def handle_antialias_mono_checkbox(key, map)
       @fcstate.force_aa_off_mono =
-        UI.QueryWidget(Id("chkb_aa_mono_off"), :Value)
+        !UI.QueryWidget(Id("chkb_antialias_mono"), :Value)
       return nil
     end
 
-    def initialize_ahon_checkbox(key)
+    def initialize_ahon_checkbox(key = nil)
       UI.ChangeWidget(Id("chkb_ah_on"), :Value,
                       @fcstate.force_ah_on)
     end
@@ -90,7 +92,7 @@
       return nil
     end
 
-    def initialize_searchmc_checkbox(key)
+    def initialize_searchmc_checkbox(key = nil)
       UI.ChangeWidget(Id("chkb_search_mc"), :Value,
                       @fcstate.search_metric_compatible)
     end
@@ -101,7 +103,7 @@
       return nil
     end
 
-    def initialize_noother_checkbox(key)
+    def initialize_noother_checkbox(key = nil)
       UI.ChangeWidget(Id("chkb_no_other"), :Value,
                       @fcstate.really_force_fpl)
     end
@@ -112,7 +114,7 @@
       return nil
     end
 
-    def initialize_hintstyle_combo(key)
+    def initialize_hintstyle_combo(key = nil)
       UI.ChangeWidget(Id("cmb_hintstyle"), :Items, 
                       FontsConfigState::HINT_STYLES)
       UI.ChangeWidget(Id("cmb_hintstyle"), :Value, 
@@ -125,7 +127,7 @@
       return nil
     end
 
-    def initialize_lcdfilter_combo(key)
+    def initialize_lcdfilter_combo(key = nil)
       UI.ChangeWidget(Id("cmb_lcd_filter"), :Items, 
                       FontsConfigState::LCD_FILTERS)
       UI.ChangeWidget(Id("cmb_lcd_filter"), :Value, 
@@ -139,7 +141,7 @@
       return nil
     end
 
-    def initialize_subpixellayout_combo(key)
+    def initialize_subpixellayout_combo(key = nil)
       UI.ChangeWidget(Id("cmb_subpixel_layout"), :Items, 
                       FontsConfigState::SUBPIXEL_LAYOUTS)
       UI.ChangeWidget(Id("cmb_subpixel_layout"), :Value, 
@@ -156,7 +158,7 @@
       return nil
     end
 
-    def initialize_genericaliases_table(key)
+    def initialize_genericaliases_table(key = nil)
       items = []
       @fcstate.fpl.keys.each do |generic_alias|
         items.push(Item(generic_alias)) 
@@ -172,7 +174,7 @@
        return nil
     end
 
-    def initialize_familylist_widget(key)
+    def initialize_familylist_widget(key = nil)
       items = []
       @fcstate.fpl[@current_fpl].each do |f|
         indication = family_installed?(f) ?
@@ -241,7 +243,7 @@
           UI.ChangeWidget(Id("txt_add_manual"), :Value, "")
       end
 
-      initialize_familylist_widget("")
+      initialize_familylist_widget
       return nil
     end
 
@@ -287,7 +289,7 @@
           @fcstate.all_ebl = false
       end
  
-      initialize_embeddedbitmaps_widget("")
+      initialize_embeddedbitmaps_widget
       return nil
     end
 
@@ -296,20 +298,20 @@
            FontsConfigState::preset?(event["ID"])
         @fcstate.load_preset(event["ID"])
         if CWMTab.CurrentTab == "specimens"
-          initialize_specimen_widget("")
+          initialize_specimen_widget
         elsif CWMTab.CurrentTab == "algorithms"
-          initialize_aaoff_checkbox("")
-          initialize_aamonooff_checkbox("")
-          initialize_ahon_checkbox("")
-          initialize_hintstyle_combo("")
-          initialize_lcdfilter_combo("")
-          initialize_subpixellayout_combo("")
-          initialize_embeddedbitmaps_widget("")
+          initialize_antialias_checkbox
+          initialize_antialias_mono_checkbox
+          initialize_ahon_checkbox
+          initialize_hintstyle_combo
+          initialize_lcdfilter_combo
+          initialize_subpixellayout_combo
+          initialize_embeddedbitmaps_widget
         else
-          initialize_genericaliases_table("")
-          initialize_familylist_widget("")
-          initialize_searchmc_checkbox("")
-          initialize_noother_checkbox("")
+          initialize_genericaliases_table
+          initialize_familylist_widget
+          initialize_searchmc_checkbox
+          initialize_noother_checkbox
         end
         subpixel_freetype_warning
         installation_summary_check
@@ -366,7 +368,7 @@
       return pattern
     end
 
-    def initialize_specimen_widget(key)
+    def initialize_specimen_widget(key = nil)
       @fcstate.fpl.keys.each do |generic_alias|
         @current_families[generic_alias] = 
           installed_families_from(@fcstate.fpl[generic_alias])[0]
@@ -406,7 +408,7 @@
       # folowing widgets exist only in graphical mode
       if (!UI.TextMode)
         UI.ChangeWidget(Id("chkb_specimen_antialiasing"), :Value, 
-                        @fcstate.force_aa_off ? true : false )
+                        @fcstate.force_aa_off ? false : true )
         UI.ChangeWidget(Id("chkb_specimen_autohinter"), :Value, 
                         @fcstate.force_ah_on ? true : false )
         UI.ChangeWidget(Id("cmb_specimen_hintstyle"), :Value, 
@@ -432,7 +434,7 @@
       end
 
       @fcstate.force_aa_off = 
-        UI.QueryWidget(Id("chkb_specimen_antialiasing"), :Value)
+        !UI.QueryWidget(Id("chkb_specimen_antialiasing"), :Value)
       @fcstate.force_ah_on = 
         UI.QueryWidget(Id("chkb_specimen_autohinter"), :Value)
       @fcstate.force_hintstyle = 
@@ -555,7 +557,7 @@
     def specimen_alias_widget(generic_alias)
       VBox(
         HBox(Left(
-               Label(Id("lbl_specimen_#{generic_alias}"), "Match for 
#{generic_alias}")
+               Label(Id("lbl_specimen_#{generic_alias}"), _("Match for %s") % 
generic_alias)
              ),
              Right( UI.TextMode ? Label("") :
                ComboBox(Id("cmb_specimen_scripts_#{generic_alias}"), 
Opt(:notify, :immediate), "", [])
@@ -570,25 +572,25 @@
     def widgets
       help = FontsConfigDialogHelp.new
       widgets_description = {
-        "chkb_aa_off" => {
+        "chkb_antialias" => {
           "widget"        => :checkbox,
-          "label"         => _("Turn &Antialiasing Off"),
-          "init"          => fun_ref(method(:initialize_aaoff_checkbox), 
+          "label"         => _("Font &Antialiasing"),
+          "init"          => fun_ref(method(:initialize_antialias_checkbox), 
                                      "void (string)"),
           "opt"           => [ :notify, :immediate ],
-          "handle_events" => [ "chkb_aa_off" ],
-          "handle"        => fun_ref(method(:handle_aaoff_checkbox),
+          "handle_events" => [ "chkb_antialias" ],
+          "handle"        => fun_ref(method(:handle_antialias_checkbox),
                                      "symbol (string, map)"),
           "help"          => help.antialiasing,
         },
-        "chkb_aa_mono_off" => {
+        "chkb_antialias_mono" => {
           "widget"        => :checkbox,
-          "label"         => _("Turn Antialiasing Off for &Monospaced Fonts"),
-          "init"          => fun_ref(method(:initialize_aamonooff_checkbox), 
+          "label"         => _("Antialias Also &Monospaced Fonts"),
+          "init"          => 
fun_ref(method(:initialize_antialias_mono_checkbox), 
                                      "void (string)"),
           "opt"           => [ :notify, :immediate ],
-          "handle_events" => [ "chkb_aa_mono_off" ],
-          "handle"        => fun_ref(method(:handle_aaoffmono_checkbox),
+          "handle_events" => [ "chkb_antialias_mono" ],
+          "handle"        => fun_ref(method(:handle_antialias_mono_checkbox),
                                      "symbol (string, map)"),
           "no_help"       => true
         },
@@ -741,7 +743,7 @@
         },
         "chkb_no_other" => {
           "widget"        => :checkbox,
-          "label"         => _("Really do not use o&ther fonts"),
+          "label"         => _("Never use o&ther fonts"),
           "opt"           => [ :notify, :immediate ],
           "init"          => fun_ref(method(:initialize_noother_checkbox), 
                                      "void (string)"),
@@ -761,7 +763,7 @@
               ), UI.TextMode ? Label("") :
               HBox(
                 CheckBox(Id("chkb_specimen_antialiasing"), Opt(:notify, 
:immediate),
-                          _("Turn &Antialiasing Off")),
+                          _("Font &Antialiasing")),
                 HStretch(),
                 CheckBox(Id("chkb_specimen_autohinter"), Opt(:notify, 
:immediate),
                           _("Force A&utohinting On")),
@@ -800,8 +802,8 @@
               Frame(
                 _("Antialiasing"),
                 VBox(
-                  Left("chkb_aa_off"),
-                  Left("chkb_aa_mono_off")
+                  Left("chkb_antialias"),
+                  Left(HBox(HSpacing(4), "chkb_antialias_mono"))
                 ),
               ),
               Frame(
@@ -822,8 +824,8 @@
               VStretch()
             ),
           "widget_names" => [
-            "chkb_aa_off",
-            "chkb_aa_mono_off",
+            "chkb_antialias",
+            "chkb_antialias_mono",
             "chkb_ah_on",
             "cmb_hintstyle",
             "cstm_embedded_bitmaps",
@@ -891,7 +893,7 @@
       family_list_file = FontsConfigCommand.local_family_list_file
       rendering_file = FontsConfigCommand.rendering_config
       metric_bw_symlink = FontsConfigCommand.metric_compatibility_bw_symlink
-      metric_file = FontsConfigCommand.metric_compatibility_config
+      metric_avail = FontsConfigCommand.metric_compatibility_avail
       metric_symlink = FontsConfigCommand.metric_compatibility_symlink
 
       mkdir_p("#{@tmp_dir}#{@fontconfig_path}")
@@ -902,7 +904,7 @@
       rm_f("#{@tmp_dir}#{family_list_file}")
       rm_f("#{@tmp_dir}#{rendering_file}")
       rm_f("#{@tmp_dir}#{metric_bw_symlink}")
-      ln_sf("#{metric_file}", "#{@tmp_dir}#{metric_symlink}")
+      ln_sf("#{metric_avail}", "#{@tmp_dir}#{metric_symlink}")
 
       ENV['FONTCONFIG_PATH'] = "#{@tmp_dir}#{@fontconfig_path}"
     end
@@ -932,7 +934,7 @@
         " ",
         1,
         [ _("Read sysconfig file") ],
-        [ _("Reading #{sysconfig_file}...") ],
+        [ _("Reading %s...") % sysconfig_file ],
         ""
       )
 
@@ -952,10 +954,13 @@
           "widget_descr"       => widgets_description,
           "contents"           => VBox(HBox(HStretch(), "btn_presets"),
                                   "tabs_fonts_configuration"),
-          "caption"            => _("Font Configuration"),
+          "caption"            => _("Font Configuration") +  
+                                  (root_user? ? "" : _(" (User Mode)")),
           "next_button"        => Label.OKButton,
           "abort_button"       => Label.AbortButton,
-          "back_button"        => "",
+          # misuse back_button a bit
+          "back_button"        => (root_user? || 
!File.exists?(FontsConfigCommand.user_sysconfig_file) ? 
+                                     nil : _("&Use system settings")),
         }
       )
 
@@ -965,36 +970,38 @@
  
       case ret
         when :next
-          if (root_user?)
-            y2milestone("saving configuration")
-            Progress.New(
-              _("Writing Font Configuration"),
-              " ",
-              2,
-              [ _("Write sysconfig file"),
-                _("Run fonts-config") ],
-              [ _("Writing %s...") %  sysconfig_file,
-                _("Running fonts-config...") ],
-              ""
-            )
-
-            Progress.NextStage 
-            y2milestone("writing #{sysconfig_file}")
-            @fcstate.write
-            y2milestone("written: " + @fcstate.to_s)
-            Progress.NextStage
-            y2milestone("running fonts-config")
-            FontsConfigCommand::run_fonts_config
-            Progress.Finish
-            y2milestone("module finished")
-          else
-            Yast.import "Popup"
-            text = _("root user privileges are required "\
-                     "to save and apply font settings. ")
-            Popup.Error(text)
-          end
+          y2milestone("saving configuration")
+          Progress.New(
+            _("Writing Font Configuration"),
+            " ",
+            2,
+            [ _("Write sysconfig file"),
+              _("Run fonts-config") ],
+            [ _("Writing %s...") %  sysconfig_file,
+              _("Running fonts-config...") ],
+            ""
+          )
+
+          Progress.NextStage 
+          y2milestone("writing #{sysconfig_file}")
+          @fcstate.write
+          y2milestone("written: " + @fcstate.to_s)
+          Progress.NextStage
+          y2milestone("running fonts-config")
+          FontsConfigCommand::run_fonts_config(root_user? ? "" : "--user")
+          Progress.Finish
+          y2milestone("module finished")
         when :abort
           y2milestone("aborted, do not save configuration")
+        when :back
+          # we are in user mode
+          Yast.import "Popup"
+          text = _("This will irrecoverably remove user setting done 
previously " +
+                   "with this module.")
+          if (Popup.YesNo(text))
+            FontsConfigCommand::run_fonts_config("--remove-user-setting")
+            y2milestone("remove user setting")
+          end
       end
       Wizard.CloseDialog
     end
@@ -1006,6 +1013,8 @@
     include I18n
 
     def initialize
+      textdomain "fonts"
+
       Yast.import "UI"
       @fcstate = FontsConfigState.new
       @fcstate.load_preset("default")
@@ -1015,8 +1024,22 @@
       Yast.import "String"
       presets = FontsConfigState::PRESETS
       _("<h1>Font Configuraution Module</h1>") +
-      _("<p>Module to control system wide font rendering setting.") +
-      _(" Help for <i>Presets</i> button and for the current tab 
follows.</p>") +
+      _("<p>Module to control <b>system wide</b> or <b>user</b> font rendering 
setting.</p>") +
+      _("<i>Distribution default</i> is font setting shipped on media and " +
+        "it is that one almost same for years (not counting decisions of 
individual DE). ") +
+      _("This setting can be changed:<ul>") +
+      _("<li>system wide when module is run with <tt>root</tt> credentials "+
+        "to create <i>system setting.</i> ") +
+      _("System, where font module never run or <b>Default</b> preset was 
chosen, " + 
+        "uses distribution default.</li>") +
+      _("<li>for <i>user setting</i> when module is run as ordindary user. ") +
+      _("User, which never run this module or chooses to <b>Use system 
settings</b>, uses system settings. ") +
+      _("User, which chooses <b>Default</b> preset, uses distribution 
default.</li></ul>") +
+      _("<p><b>NOTE:</b> ") + 
+      _("In general, it is not recommended to combine font module user mode 
with other font setting. ") +
+      _("Nevertheless, setting in <tt>~/.config/fontconfig/fonts.conf</tt> " +
+        "should always have precendence before arbitrary font module 
setting.</p>") +
+      _("<p>Help for <i>Presets</i> button and for the current tab 
follows.</p>") +
       _("<p><b>Presets</b> button serves a possibility to choose predefined 
profiles: <ul>") +
       presets.keys.drop(1).map do |preset|
         _("<li><b>%{name}: </b>%{help}</li>") % {
@@ -1024,9 +1047,9 @@
             :help => _(presets[preset]["help"])
         }
       end.join + "</ul>" +
-      _("Every single item there just fills appropriate setting in both tabs. 
" \
+      _("Every single menu item there just fills appropriate setting in all 
tabs. " \
         "That setting can be later arbitrarily customized in depth by 
respective " \
-        "individual fields of both tabs.</p>")
+        "individual fields of corresponding tabs.</p>")
     end
 
     def match_preview
@@ -1034,9 +1057,9 @@
       _("<p>In this paragraph, <i>current setting</i> means setting " \
         "of the system plus changes made in currently running fonts 
module.</p>") +
       _("<p>Matches to system generic aliases can be seen in this initial tab. 
") +
-      _("In other words, for every alias () you can see family name, which" \
-        " resolves to given alias according to <i>current setting.</i></p>") %
-          @fcstate.fpl.keys.join(", ") +
+      _("In other words, for every alias (%s) you can see family name, which" \
+        " resolves to given alias according to <i>current setting.</i></p>" \
+        "") % @fcstate.fpl.keys.join(", ") +
       _("<p>In adition to that, graphical mode allows to display " \
         "font specimen of the matched font rendered (again) taking " \
         "<i>current setting</i> into account. ") +
@@ -1088,9 +1111,9 @@
         "colour primaries (subpixels) of an LCD display.</p>") +
       _("<p>Choose LCD filter, which should be used, and subpixel layout " \
         "corresponding to display and its rotation.</p>") +
-      _("<p>Note, that due to patent reasons, FreeType2 has subpixel " \
+      _("<p>Note, that due to patent reasons, FreeType has subpixel " \
          "rendering turned off by default.") +
-      _(" Without FreeType2's subpixel rendering support compiled in, " \
+      _(" Without FreeType's subpixel rendering support compiled in, " \
         "setting in this section has no effect.</p>") +
       _("<p>See: %s<\p>") % "<i>Wikipedia: Subpixel rendering</i>"
     end
@@ -1099,12 +1122,12 @@
       _("<h2>Prefered Families Tab</h2>") +
       _("<p>This tab controls <b>which</b> fonts are rendered.</p>") +
       _("<h3>Preference Lists</h3>") +
-      _("<p>Family preference lists (FPL) for generic aliases (%s) " \
+      _("<p>Here, Family Preference Lists (FPL) for generic aliases (%s) " \
         "can be defined.") % @fcstate.fpl.keys.join(', ') +
       _(" These are sorted lists of family names, with most prefered " \
         "family first.") +
       _(" There is default (system-wide) FPL yet defined for each generic 
alias.") +
-      _(" FPLs defined in this dialog will be prepended to them.<\p>") +
+      _(" FPLs defined in this dialog will be prepended to them.</p>") +
       _("<p>System will look for the first <b>installed</b> family in the 
list," \
         " other query elements taking into account of course. Available font" \
         " packages for SUSE distributions can be" \
@@ -1120,10 +1143,10 @@
       _("<p>Two fonts are metric compatible, when all corresponding letters" \
         " are of the same size. That implies, document displayed using these" \
         " fonts has the same same size too, same line wraps etc.</p>") +
-      _("<p>Via default setting, fontconfig substitutes metric compatible 
fonts preferably," \
+      _("<p>Via default setting, system substitutes metric compatible fonts 
preferably," \
         " and FPLs defined in this dialog can be circumvented by this 
rule.</p>") +
-      _("<p>Where metric compatibility do not matter, this option can be 
unchecked.</p>") +
-      _("<h4>Really do not use other fonts</h4>") +
+      _("<p>Where metric compatibility does not matter, this option can be 
unchecked.</p>") +
+      _("<h4>Never use other fonts</h4>") +
       _("<p>When checked, this option introduces very strong position for 
here" \
         " defined preference lists. It pushes families from there before" \
         " document or GUI requests, if they cover required charset.</p>")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-fonts-3.1.12/src/lib/fonts/fpl-add-dialog.rb 
new/yast2-fonts-3.1.14/src/lib/fonts/fpl-add-dialog.rb
--- old/yast2-fonts-3.1.12/src/lib/fonts/fpl-add-dialog.rb      2014-12-04 
01:14:13.000000000 +0100
+++ new/yast2-fonts-3.1.14/src/lib/fonts/fpl-add-dialog.rb      2015-05-08 
16:38:27.000000000 +0200
@@ -17,6 +17,8 @@
     ]
 
     def initialize(fcstate)
+      textdomain "fonts"
+
       @fcstate = fcstate
       @available_families = installed_families(["family", "fontformat"])
       # delete families, that are part of list for some alias
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-fonts-3.1.12/src/lib/fonts/rich-text-dialog.rb 
new/yast2-fonts-3.1.14/src/lib/fonts/rich-text-dialog.rb
--- old/yast2-fonts-3.1.12/src/lib/fonts/rich-text-dialog.rb    2014-11-26 
12:57:42.000000000 +0100
+++ new/yast2-fonts-3.1.14/src/lib/fonts/rich-text-dialog.rb    2015-05-08 
16:38:27.000000000 +0200
@@ -7,6 +7,7 @@
     include I18n
 
     def initialize
+      textdomain "fonts"
     end
 
     def run(text, summary)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-fonts-3.1.12/src/lib/fonts/select-ebl-dialog.rb 
new/yast2-fonts-3.1.14/src/lib/fonts/select-ebl-dialog.rb
--- old/yast2-fonts-3.1.12/src/lib/fonts/select-ebl-dialog.rb   2014-11-26 
12:57:42.000000000 +0100
+++ new/yast2-fonts-3.1.14/src/lib/fonts/select-ebl-dialog.rb   2015-05-08 
16:38:27.000000000 +0200
@@ -218,6 +218,7 @@
     include I18n
 
     def initialize
+      textdomain "fonts"
     end
 
     def run(selected_langs)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-fonts-3.1.12/src/lib/fonts/shell-commands.rb 
new/yast2-fonts-3.1.14/src/lib/fonts/shell-commands.rb
--- old/yast2-fonts-3.1.12/src/lib/fonts/shell-commands.rb      2014-12-19 
13:51:54.000000000 +0100
+++ new/yast2-fonts-3.1.14/src/lib/fonts/shell-commands.rb      2015-05-08 
16:38:27.000000000 +0200
@@ -4,13 +4,14 @@
 module FontsConfig
   BASH_SCR_PATH = Yast::Path.new(".target.bash_output")
   FONTS_CONFIG_CMD = "/usr/sbin/fonts-config"
+  XDG_PREFIX = ENV['HOME'] + '/.config/'
 
   class FontsConfigCommand
     
-    def self.run_fonts_config
-      return false unless File.executable?(FONTS_CONFIG_CMD)
+    def self.run_fonts_config(args)
+      return false unless have_fonts_config?
 
-      cmd = FONTS_CONFIG_CMD
+      cmd = FONTS_CONFIG_CMD + " " + args
       result = Yast::SCR.Execute(BASH_SCR_PATH, cmd)
       unless (result["exit"].zero?)   
         Yast.import "Popup"
@@ -28,8 +29,8 @@
       return fonts_config_file("rendering config")
     end
 
-    def self.metric_compatibility_config
-      return fonts_config_file("metric compatibility config")
+    def self.metric_compatibility_avail
+      return fonts_config_file("metric compatibility avail")
     end
 
     def self.metric_compatibility_symlink
@@ -44,6 +45,10 @@
       return fonts_config_file("sysconfig file")
     end
 
+    def self.user_sysconfig_file
+      return XDG_PREFIX + fonts_config_file("user sysconfig file")
+    end
+
     def self.have_fonts_config?
       return File.executable?(FONTS_CONFIG_CMD)
     end
@@ -54,7 +59,7 @@
 
       cmd = "#{FONTS_CONFIG_CMD} --info"
       result = Yast::SCR.Execute(BASH_SCR_PATH, cmd)
-      file = result["stdout"].lines.select{|l| l =~ /#{file_id}/}[0].gsub(/.*: 
/, '').gsub(/\n/, '')
+      file = result["stdout"].lines.select{|l| l =~ 
/^\s*#{file_id}:/}[0].gsub(/.*: /, '').gsub(/\n/, '')
       if (!result["exit"].zero? || file.length == 0)
         Yast.import "Popup"
         Yast::Popup.Error(cmd + " run failed:" + result["stdout"])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-fonts-3.1.12/test/shell-commands_spec.rb 
new/yast2-fonts-3.1.14/test/shell-commands_spec.rb
--- old/yast2-fonts-3.1.12/test/shell-commands_spec.rb  2014-12-19 
13:52:31.000000000 +0100
+++ new/yast2-fonts-3.1.14/test/shell-commands_spec.rb  2015-05-08 
16:38:27.000000000 +0200
@@ -6,9 +6,14 @@
 
 describe FontsConfig::FontsConfigCommand do
   describe "#run_fonts_config" do    
-    it "error popup when not run under root" do
+    it "returns false for system mode" do
       if (FontsConfig::FontsConfigCommand::have_fonts_config?)
-        expect(FontsConfig::FontsConfigCommand::run_fonts_config).to be false
+        expect(FontsConfig::FontsConfigCommand::run_fonts_config("")).to be 
false
+      end
+    end
+    it "returns true for user mode" do
+      if (FontsConfig::FontsConfigCommand::have_fonts_config?)
+        expect(FontsConfig::FontsConfigCommand::run_fonts_config("--user")).to 
be true
       end
     end
   end
@@ -34,12 +39,12 @@
     end
   end
 
-  describe "#metric_compatibility_config" do
+  describe "#metric_compatibility_avail" do
     it "returns existing file name" do
       if (FontsConfig::FontsConfigCommand::have_fonts_config?)
-        metric_config = 
FontsConfig::FontsConfigCommand::metric_compatibility_config
-        expect(metric_config).to be_a(String)
-        expect(File.exist?(metric_config)).to be true
+        metric_avail = 
FontsConfig::FontsConfigCommand::metric_compatibility_avail
+        expect(metric_avail).to be_a(String)
+        expect(File.exist?(metric_avail)).to be true
       end
     end
   end


Reply via email to