Index: data/epiphany.schemas.in
===================================================================
RCS file: /cvs/gnome/epiphany/data/epiphany.schemas.in,v
retrieving revision 1.38
diff -u -r1.38 epiphany.schemas.in
--- data/epiphany.schemas.in	4 Jul 2003 22:15:46 -0000	1.38
+++ data/epiphany.schemas.in	2 Sep 2003 10:54:12 -0000
@@ -35,25 +35,6 @@
         </locale>
       </schema>
      <schema>
-        <key>/schemas/apps/epiphany/dialogs/preferences_font_language</key>
-        <applyto>/apps/epiphany/dialogs/preferences_font_language</applyto>
-        <owner>epiphany</owner>
-        <type>string</type>
-        <locale name="C">
-        <default>x-western</default>
-        <short>The currently selected fonts language</short>
-        <long>
-	The currently selected fonts language. Valid values are "ar" (arabic),
-	"x-baltic" (baltic languages), "x-central-euro" (central european languages),
-	"x-cyrillic" (languages written with cyrillic alphabet), "el" (greek),
-	"he" (hebrew), "ja" (japanese), "ko" (korean), "zh-CN" (simplified chinese),
-	"th" (thai), "zh-TW" (traditional chinese), "tr" (turkish), "x-unicode" (other
-	languages), "x-western" (languages written in latin script), "x-tamil" (tamil)
-	and "x-devanagari" (devanagari).
-	</long>
-        </locale>
-     </schema>
-     <schema>
         <key>/schemas/apps/epiphany/web/use_own_colors</key>
         <applyto>/apps/epiphany/web/use_own_colors</applyto>
         <owner>epiphany</owner>
@@ -78,6 +59,52 @@
         </locale>
       </schema>
       <schema>
+        <key>/schemas/apps/epiphany/web/use_desktop_fonts</key>
+        <applyto>/apps/epiphany/web/use_desktop_fonts</applyto>
+        <owner>epiphany</owner>
+        <type>bool</type>
+        <default>true</default>
+        <locale name="C">
+        <short>Use desktop fonts</short>
+        <long>Use "Desktop Font" and "Terminal Font" for variable and
+        fixed width fonts.</long>
+        </locale>
+      </schema>
+      <schema>
+        <key>/schemas/apps/epiphany/web/fixed_width_font</key>
+        <applyto>/apps/epiphany/web/fixed_width_font</applyto>
+        <owner>epiphany</owner>
+        <type>string</type>
+        <default>Monospace 10</default>
+        <locale name="C">
+        <short>Fixed width font</short>
+        <long>Name of the fixed width font.</long>
+        </locale>
+      </schema>
+      <schema>
+        <key>/schemas/apps/epiphany/web/variable_width_font</key>
+        <applyto>/apps/epiphany/web/variable_width_font</applyto>
+        <owner>epiphany</owner>
+        <type>string</type>
+        <default>Sans 10</default>
+        <locale name="C">
+        <short>Variable width font</short>
+        <long>Name of the variable width font.</long>
+        </locale>
+      </schema>
+      <schema>
+        <key>/schemas/apps/epiphany/web/minimum_font_size</key>
+        <applyto>/apps/epiphany/web/minimum_font_size</applyto>
+        <owner>epiphany</owner>
+        <type>int</type>
+        <default>6</default>
+        <locale name="C">
+        <short>Minimum font size</short>
+        <long>The minum size of fonts, even if specified differently
+              by the web page author.</long>
+        </locale>
+      </schema>
+      <schema>
         <key>/schemas/apps/epiphany/general/ask_download_dest</key>
         <applyto>/apps/epiphany/general/ask_download_dest</applyto>
         <owner>epiphany</owner>
@@ -170,18 +197,6 @@
 	"x-mac-hebrew", "x-mac-icelandic", "x-mac-roman", "x-mac-romanian",
 	"x-mac-turkish", "x-mac-ukrainian", "x-user-defined", "x-viet-tcvn5712",
 	"x-viet-vps" and "x-windows-949".</long>
-        </locale>
-      </schema>
-     <schema>
-        <key>/schemas/apps/epiphany/web/default_font_type</key>
-        <applyto>/apps/epiphany/web/default_font_type</applyto>
-        <owner>epiphany</owner>
-        <type>string</type>
-        <default>serif</default>
-        <locale name="C">
-        <short>Default font type</short>
-        <long>Default font type.  Possible values are "serif" and "sans-serif".
-	</long>
         </locale>
       </schema>
      <schema>
Index: data/glade/prefs-dialog.glade
===================================================================
RCS file: /cvs/gnome/epiphany/data/glade/prefs-dialog.glade,v
retrieving revision 1.22
diff -u -r1.22 prefs-dialog.glade
--- data/glade/prefs-dialog.glade	24 Jul 2003 11:29:44 -0000	1.22
+++ data/glade/prefs-dialog.glade	2 Sep 2003 10:54:23 -0000
@@ -495,307 +495,116 @@
 		      </child>
 
 		      <child>
-			<widget class="GtkTable" id="table70">
+			<widget class="GtkVBox" id="vbox195">
 			  <property name="visible">True</property>
-			  <property name="n_rows">7</property>
-			  <property name="n_columns">4</property>
 			  <property name="homogeneous">False</property>
-			  <property name="row_spacing">6</property>
-			  <property name="column_spacing">12</property>
+			  <property name="spacing">6</property>
 
 			  <child>
-			    <widget class="GtkLabel" id="label1132">
-			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">Siz_e:</property>
-			      <property name="use_underline">True</property>
-			      <property name="use_markup">False</property>
-			      <property name="justify">GTK_JUSTIFY_LEFT</property>
-			      <property name="wrap">False</property>
-			      <property name="selectable">False</property>
-			      <property name="xalign">0</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xpad">0</property>
-			      <property name="ypad">0</property>
-			      <property name="mnemonic_widget">fixed_size_spinbutton</property>
-			    </widget>
-			    <packing>
-			      <property name="left_attach">2</property>
-			      <property name="right_attach">3</property>
-			      <property name="top_attach">4</property>
-			      <property name="bottom_attach">5</property>
-			      <property name="x_options">fill</property>
-			      <property name="y_options"></property>
-			    </packing>
-			  </child>
-
-			  <child>
-			    <widget class="GtkSpinButton" id="fixed_size_spinbutton">
-			      <property name="visible">True</property>
-			      <property name="can_focus">True</property>
-			      <property name="climb_rate">1</property>
-			      <property name="digits">0</property>
-			      <property name="numeric">False</property>
-			      <property name="update_policy">GTK_UPDATE_ALWAYS</property>
-			      <property name="snap_to_ticks">False</property>
-			      <property name="wrap">False</property>
-			      <property name="adjustment">1 0 100 1 10 10</property>
-			    </widget>
-			    <packing>
-			      <property name="left_attach">3</property>
-			      <property name="right_attach">4</property>
-			      <property name="top_attach">4</property>
-			      <property name="bottom_attach">5</property>
-			      <property name="x_options"></property>
-			      <property name="y_options"></property>
-			    </packing>
-			  </child>
-
-			  <child>
-			    <widget class="GtkLabel" id="label1131">
-			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">Si_ze:</property>
-			      <property name="use_underline">True</property>
-			      <property name="use_markup">False</property>
-			      <property name="justify">GTK_JUSTIFY_LEFT</property>
-			      <property name="wrap">False</property>
-			      <property name="selectable">False</property>
-			      <property name="xalign">0</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xpad">0</property>
-			      <property name="ypad">0</property>
-			      <property name="mnemonic_widget">variable_size_spinbutton</property>
-			    </widget>
-			    <packing>
-			      <property name="left_attach">2</property>
-			      <property name="right_attach">3</property>
-			      <property name="top_attach">1</property>
-			      <property name="bottom_attach">2</property>
-			      <property name="x_options">fill</property>
-			      <property name="y_options"></property>
-			    </packing>
-			  </child>
-
-			  <child>
-			    <widget class="GtkSpinButton" id="variable_size_spinbutton">
+			    <widget class="GtkCheckButton" id="use_desktop_fonts_checkbutton">
 			      <property name="visible">True</property>
 			      <property name="can_focus">True</property>
-			      <property name="climb_rate">1</property>
-			      <property name="digits">0</property>
-			      <property name="numeric">False</property>
-			      <property name="update_policy">GTK_UPDATE_ALWAYS</property>
-			      <property name="snap_to_ticks">False</property>
-			      <property name="wrap">False</property>
-			      <property name="adjustment">0 0 100 1 10 10</property>
-			    </widget>
-			    <packing>
-			      <property name="left_attach">3</property>
-			      <property name="right_attach">4</property>
-			      <property name="top_attach">1</property>
-			      <property name="bottom_attach">2</property>
-			      <property name="x_options">fill</property>
-			      <property name="y_options"></property>
-			    </packing>
-			  </child>
-
-			  <child>
-			    <widget class="GtkLabel" id="label1133">
-			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">_Proportional:</property>
-			      <property name="use_underline">True</property>
-			      <property name="use_markup">False</property>
-			      <property name="justify">GTK_JUSTIFY_LEFT</property>
-			      <property name="wrap">False</property>
-			      <property name="selectable">False</property>
-			      <property name="xalign">0</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xpad">0</property>
-			      <property name="ypad">0</property>
-			      <property name="mnemonic_widget">proportional_optionmenu</property>
-			    </widget>
-			    <packing>
-			      <property name="left_attach">0</property>
-			      <property name="right_attach">1</property>
-			      <property name="top_attach">1</property>
-			      <property name="bottom_attach">2</property>
-			      <property name="x_options">fill</property>
-			      <property name="y_options"></property>
-			    </packing>
-			  </child>
-
-			  <child>
-			    <widget class="GtkLabel" id="label1134">
-			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">_Serif:</property>
-			      <property name="use_underline">True</property>
-			      <property name="use_markup">False</property>
-			      <property name="justify">GTK_JUSTIFY_LEFT</property>
-			      <property name="wrap">False</property>
-			      <property name="selectable">False</property>
-			      <property name="xalign">0</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xpad">0</property>
-			      <property name="ypad">0</property>
-			      <property name="mnemonic_widget">combo-entry1</property>
-			    </widget>
-			    <packing>
-			      <property name="left_attach">0</property>
-			      <property name="right_attach">1</property>
-			      <property name="top_attach">2</property>
-			      <property name="bottom_attach">3</property>
-			      <property name="x_options">fill</property>
-			      <property name="y_options"></property>
-			    </packing>
-			  </child>
-
-			  <child>
-			    <widget class="GtkLabel" id="label1135">
-			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">S_ans serif:</property>
-			      <property name="use_underline">True</property>
-			      <property name="use_markup">False</property>
-			      <property name="justify">GTK_JUSTIFY_LEFT</property>
-			      <property name="wrap">False</property>
-			      <property name="selectable">False</property>
-			      <property name="xalign">0</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xpad">0</property>
-			      <property name="ypad">0</property>
-			      <property name="mnemonic_widget">combo-entry2</property>
-			    </widget>
-			    <packing>
-			      <property name="left_attach">0</property>
-			      <property name="right_attach">1</property>
-			      <property name="top_attach">3</property>
-			      <property name="bottom_attach">4</property>
-			      <property name="x_options">fill</property>
-			      <property name="y_options"></property>
-			    </packing>
-			  </child>
-
-			  <child>
-			    <widget class="GtkLabel" id="label1138">
-			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">_Monospace:</property>
+			      <property name="label" translatable="yes">_Use desktop fonts</property>
 			      <property name="use_underline">True</property>
-			      <property name="use_markup">False</property>
-			      <property name="justify">GTK_JUSTIFY_LEFT</property>
-			      <property name="wrap">False</property>
-			      <property name="selectable">False</property>
-			      <property name="xalign">0</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xpad">0</property>
-			      <property name="ypad">0</property>
-			      <property name="mnemonic_widget">combo-entry5</property>
+			      <property name="relief">GTK_RELIEF_NORMAL</property>
+			      <property name="active">False</property>
+			      <property name="inconsistent">False</property>
+			      <property name="draw_indicator">True</property>
 			    </widget>
 			    <packing>
-			      <property name="left_attach">0</property>
-			      <property name="right_attach">1</property>
-			      <property name="top_attach">4</property>
-			      <property name="bottom_attach">5</property>
-			      <property name="x_options">fill</property>
-			      <property name="y_options"></property>
+			      <property name="padding">0</property>
+			      <property name="expand">False</property>
+			      <property name="fill">False</property>
 			    </packing>
 			  </child>
 
 			  <child>
-			    <widget class="GtkLabel" id="label1121">
+			    <widget class="GtkHBox" id="hbox181">
 			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">_Language:</property>
-			      <property name="use_underline">True</property>
-			      <property name="use_markup">False</property>
-			      <property name="justify">GTK_JUSTIFY_CENTER</property>
-			      <property name="wrap">False</property>
-			      <property name="selectable">False</property>
-			      <property name="xalign">0</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xpad">0</property>
-			      <property name="ypad">0</property>
-			      <property name="mnemonic_widget">fonts_language_optionmenu</property>
-			    </widget>
-			    <packing>
-			      <property name="left_attach">0</property>
-			      <property name="right_attach">1</property>
-			      <property name="top_attach">0</property>
-			      <property name="bottom_attach">1</property>
-			      <property name="x_options">fill</property>
-			      <property name="y_options"></property>
-			    </packing>
-			  </child>
-
-			  <child>
-			    <widget class="GtkOptionMenu" id="fonts_language_optionmenu">
-			      <property name="visible">True</property>
-			      <property name="can_focus">True</property>
-			      <property name="history">-1</property>
+			      <property name="homogeneous">False</property>
+			      <property name="spacing">12</property>
 
-			      <child internal-child="menu">
-				<widget class="GtkMenu" id="menu2">
+			      <child>
+				<widget class="GtkLabel" id="variable_width_label">
 				  <property name="visible">True</property>
+				  <property name="label" translatable="yes">_Variable width:</property>
+				  <property name="use_underline">True</property>
+				  <property name="use_markup">False</property>
+				  <property name="justify">GTK_JUSTIFY_LEFT</property>
+				  <property name="wrap">False</property>
+				  <property name="selectable">False</property>
+				  <property name="xalign">0.5</property>
+				  <property name="yalign">0.5</property>
+				  <property name="xpad">0</property>
+				  <property name="ypad">0</property>
+				  <property name="mnemonic_widget">variable_width_fontpicker</property>
 				</widget>
+				<packing>
+				  <property name="padding">0</property>
+				  <property name="expand">False</property>
+				  <property name="fill">False</property>
+				</packing>
 			      </child>
-			    </widget>
-			    <packing>
-			      <property name="left_attach">1</property>
-			      <property name="right_attach">2</property>
-			      <property name="top_attach">0</property>
-			      <property name="bottom_attach">1</property>
-			      <property name="x_options">fill</property>
-			      <property name="y_options"></property>
-			    </packing>
-			  </child>
-
-			  <child>
-			    <widget class="GtkOptionMenu" id="proportional_optionmenu">
-			      <property name="visible">True</property>
-			      <property name="can_focus">True</property>
-			      <property name="history">0</property>
 
 			      <child>
-				<widget class="GtkMenu" id="menu3">
-
-				  <child>
-				    <widget class="GtkMenuItem" id="serif1">
-				      <property name="visible">True</property>
-				      <property name="label" translatable="yes">Serif</property>
-				      <property name="use_underline">True</property>
-				    </widget>
-				  </child>
-
-				  <child>
-				    <widget class="GtkMenuItem" id="sans_serif1">
-				      <property name="visible">True</property>
-				      <property name="label" translatable="yes">Sans Serif</property>
-				      <property name="use_underline">True</property>
-				    </widget>
-				  </child>
+				<widget class="GnomeFontPicker" id="variable_width_fontpicker">
+				  <property name="visible">True</property>
+				  <property name="can_focus">True</property>
+				  <property name="mode">GNOME_FONT_PICKER_MODE_FONT_INFO</property>
+				  <property name="show_size">True</property>
+				  <property name="use_font_in_label">False</property>
+				  <property name="label_font_size">14</property>
 				</widget>
+				<packing>
+				  <property name="padding">0</property>
+				  <property name="expand">True</property>
+				  <property name="fill">True</property>
+				</packing>
 			      </child>
 			    </widget>
 			    <packing>
-			      <property name="left_attach">1</property>
-			      <property name="right_attach">2</property>
-			      <property name="top_attach">1</property>
-			      <property name="bottom_attach">2</property>
-			      <property name="y_options"></property>
+			      <property name="padding">0</property>
+			      <property name="expand">True</property>
+			      <property name="fill">True</property>
 			    </packing>
 			  </child>
 
 			  <child>
-			    <widget class="GtkHBox" id="hbox133">
+			    <widget class="GtkHBox" id="hbox182">
 			      <property name="visible">True</property>
 			      <property name="homogeneous">False</property>
 			      <property name="spacing">12</property>
 
 			      <child>
-				<widget class="GtkCheckButton" id="use_fonts_checkbutton">
+				<widget class="GtkLabel" id="fixed_width_label">
 				  <property name="visible">True</property>
-				  <property name="can_focus">True</property>
-				  <property name="label" translatable="yes">Always use _these fonts</property>
+				  <property name="label" translatable="yes">_Fixed width:</property>
 				  <property name="use_underline">True</property>
-				  <property name="relief">GTK_RELIEF_NORMAL</property>
-				  <property name="active">False</property>
-				  <property name="inconsistent">False</property>
-				  <property name="draw_indicator">True</property>
+				  <property name="use_markup">False</property>
+				  <property name="justify">GTK_JUSTIFY_LEFT</property>
+				  <property name="wrap">False</property>
+				  <property name="selectable">False</property>
+				  <property name="xalign">0</property>
+				  <property name="yalign">0.5</property>
+				  <property name="xpad">0</property>
+				  <property name="ypad">0</property>
+				  <property name="mnemonic_widget">fixed_width_fontpicker</property>
+				</widget>
+				<packing>
+				  <property name="padding">0</property>
+				  <property name="expand">False</property>
+				  <property name="fill">False</property>
+				</packing>
+			      </child>
+
+			      <child>
+				<widget class="GnomeFontPicker" id="fixed_width_fontpicker">
+				  <property name="visible">True</property>
+				  <property name="can_focus">True</property>
+				  <property name="mode">GNOME_FONT_PICKER_MODE_FONT_INFO</property>
+				  <property name="show_size">True</property>
+				  <property name="use_font_in_label">False</property>
+				  <property name="label_font_size">14</property>
 				</widget>
 				<packing>
 				  <property name="padding">0</property>
@@ -803,11 +612,24 @@
 				  <property name="fill">True</property>
 				</packing>
 			      </child>
+			    </widget>
+			    <packing>
+			      <property name="padding">0</property>
+			      <property name="expand">True</property>
+			      <property name="fill">True</property>
+			    </packing>
+			  </child>
+
+			  <child>
+			    <widget class="GtkHBox" id="hbox183">
+			      <property name="visible">True</property>
+			      <property name="homogeneous">False</property>
+			      <property name="spacing">12</property>
 
 			      <child>
-				<widget class="GtkLabel" id="label1217">
+				<widget class="GtkLabel" id="minimum_size_label">
 				  <property name="visible">True</property>
-				  <property name="label" translatable="yes">Min_imum font size:</property>
+				  <property name="label" translatable="yes">_Minimum size:</property>
 				  <property name="use_underline">True</property>
 				  <property name="use_markup">False</property>
 				  <property name="justify">GTK_JUSTIFY_LEFT</property>
@@ -817,7 +639,6 @@
 				  <property name="yalign">0.5</property>
 				  <property name="xpad">0</property>
 				  <property name="ypad">0</property>
-				  <property name="mnemonic_widget">min_size_spinbutton</property>
 				</widget>
 				<packing>
 				  <property name="padding">0</property>
@@ -827,7 +648,7 @@
 			      </child>
 
 			      <child>
-				<widget class="GtkSpinButton" id="min_size_spinbutton">
+				<widget class="GtkSpinButton" id="spinbutton1">
 				  <property name="visible">True</property>
 				  <property name="can_focus">True</property>
 				  <property name="climb_rate">1</property>
@@ -836,162 +657,38 @@
 				  <property name="update_policy">GTK_UPDATE_ALWAYS</property>
 				  <property name="snap_to_ticks">False</property>
 				  <property name="wrap">False</property>
-				  <property name="adjustment">0 0 100 1 10 10</property>
+				  <property name="adjustment">1 0 100 1 10 10</property>
 				</widget>
 				<packing>
 				  <property name="padding">0</property>
 				  <property name="expand">False</property>
 				  <property name="fill">True</property>
+				  <property name="pack_type">GTK_PACK_END</property>
 				</packing>
 			      </child>
 			    </widget>
 			    <packing>
-			      <property name="left_attach">0</property>
-			      <property name="right_attach">4</property>
-			      <property name="top_attach">6</property>
-			      <property name="bottom_attach">7</property>
-			      <property name="x_options">fill</property>
+			      <property name="padding">0</property>
+			      <property name="expand">True</property>
+			      <property name="fill">True</property>
 			    </packing>
 			  </child>
 
 			  <child>
-			    <widget class="GtkCombo" id="serif_combo">
+			    <widget class="GtkCheckButton" id="use_fonts_checkbutton">
 			      <property name="visible">True</property>
-			      <property name="value_in_list">False</property>
-			      <property name="allow_empty">True</property>
-			      <property name="case_sensitive">False</property>
-			      <property name="enable_arrow_keys">True</property>
-			      <property name="enable_arrows_always">False</property>
-
-			      <child internal-child="entry">
-				<widget class="GtkEntry" id="combo-entry1">
-				  <property name="visible">True</property>
-				  <property name="can_focus">True</property>
-				  <property name="editable">False</property>
-				  <property name="visibility">True</property>
-				  <property name="max_length">0</property>
-				  <property name="text" translatable="yes"></property>
-				  <property name="has_frame">True</property>
-				  <property name="invisible_char" translatable="yes">*</property>
-				  <property name="activates_default">False</property>
-				</widget>
-			      </child>
-
-			      <child internal-child="list">
-				<widget class="GtkList" id="combo-list1">
-				  <property name="visible">True</property>
-				  <property name="selection_mode">GTK_SELECTION_BROWSE</property>
-				</widget>
-			      </child>
-			    </widget>
-			    <packing>
-			      <property name="left_attach">1</property>
-			      <property name="right_attach">2</property>
-			      <property name="top_attach">2</property>
-			      <property name="bottom_attach">3</property>
-			      <property name="y_options"></property>
-			    </packing>
-			  </child>
-
-			  <child>
-			    <widget class="GtkCombo" id="sansserif_combo">
-			      <property name="visible">True</property>
-			      <property name="value_in_list">False</property>
-			      <property name="allow_empty">True</property>
-			      <property name="case_sensitive">False</property>
-			      <property name="enable_arrow_keys">True</property>
-			      <property name="enable_arrows_always">False</property>
-
-			      <child internal-child="entry">
-				<widget class="GtkEntry" id="combo-entry2">
-				  <property name="visible">True</property>
-				  <property name="can_focus">True</property>
-				  <property name="editable">False</property>
-				  <property name="visibility">True</property>
-				  <property name="max_length">0</property>
-				  <property name="text" translatable="yes"></property>
-				  <property name="has_frame">True</property>
-				  <property name="invisible_char" translatable="yes">*</property>
-				  <property name="activates_default">False</property>
-				</widget>
-			      </child>
-
-			      <child internal-child="list">
-				<widget class="GtkList" id="combo-list2">
-				  <property name="visible">True</property>
-				  <property name="selection_mode">GTK_SELECTION_BROWSE</property>
-				</widget>
-			      </child>
-			    </widget>
-			    <packing>
-			      <property name="left_attach">1</property>
-			      <property name="right_attach">2</property>
-			      <property name="top_attach">3</property>
-			      <property name="bottom_attach">4</property>
-			      <property name="y_options"></property>
-			    </packing>
-			  </child>
-
-			  <child>
-			    <widget class="GtkCombo" id="monospace_combo">
-			      <property name="visible">True</property>
-			      <property name="value_in_list">False</property>
-			      <property name="allow_empty">True</property>
-			      <property name="case_sensitive">False</property>
-			      <property name="enable_arrow_keys">True</property>
-			      <property name="enable_arrows_always">False</property>
-
-			      <child internal-child="entry">
-				<widget class="GtkEntry" id="combo-entry5">
-				  <property name="visible">True</property>
-				  <property name="can_focus">True</property>
-				  <property name="editable">False</property>
-				  <property name="visibility">True</property>
-				  <property name="max_length">0</property>
-				  <property name="text" translatable="yes"></property>
-				  <property name="has_frame">True</property>
-				  <property name="invisible_char" translatable="yes">*</property>
-				  <property name="activates_default">False</property>
-				</widget>
-			      </child>
-
-			      <child internal-child="list">
-				<widget class="GtkList" id="combo-list5">
-				  <property name="visible">True</property>
-				  <property name="selection_mode">GTK_SELECTION_BROWSE</property>
-				</widget>
-			      </child>
-			    </widget>
-			    <packing>
-			      <property name="left_attach">1</property>
-			      <property name="right_attach">2</property>
-			      <property name="top_attach">4</property>
-			      <property name="bottom_attach">5</property>
-			      <property name="y_options"></property>
-			    </packing>
-			  </child>
-
-			  <child>
-			    <widget class="GtkLabel" id="label1275">
-			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">    </property>
-			      <property name="use_underline">False</property>
-			      <property name="use_markup">False</property>
-			      <property name="justify">GTK_JUSTIFY_LEFT</property>
-			      <property name="wrap">False</property>
-			      <property name="selectable">False</property>
-			      <property name="xalign">0</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xpad">0</property>
-			      <property name="ypad">0</property>
+			      <property name="can_focus">True</property>
+			      <property name="label" translatable="yes">_Always use these fonts</property>
+			      <property name="use_underline">True</property>
+			      <property name="relief">GTK_RELIEF_NORMAL</property>
+			      <property name="active">False</property>
+			      <property name="inconsistent">False</property>
+			      <property name="draw_indicator">True</property>
 			    </widget>
 			    <packing>
-			      <property name="left_attach">0</property>
-			      <property name="right_attach">1</property>
-			      <property name="top_attach">5</property>
-			      <property name="bottom_attach">6</property>
-			      <property name="x_options">fill</property>
-			      <property name="y_options"></property>
+			      <property name="padding">0</property>
+			      <property name="expand">False</property>
+			      <property name="fill">False</property>
 			    </packing>
 			  </child>
 			</widget>
Index: embed/ephy-embed-prefs.h
===================================================================
RCS file: /cvs/gnome/epiphany/embed/ephy-embed-prefs.h,v
retrieving revision 1.9
diff -u -r1.9 ephy-embed-prefs.h
--- embed/ephy-embed-prefs.h	11 Aug 2003 16:35:05 -0000	1.9
+++ embed/ephy-embed-prefs.h	2 Sep 2003 10:54:23 -0000
@@ -1,5 +1,8 @@
 #define CONF_NETWORK_CACHE_SIZE "/apps/epiphany/web/cache_size"
-#define CONF_RENDERING_FONT "/apps/epiphany/web/font"
+#define CONF_WEB_FIXED_WIDTH_FONT "/apps/epiphany/web/fixed_width_font"
+#define CONF_WEB_VARIABLE_WIDTH_FONT "/apps/epiphany/web/fixed_width_font"
+#define CONF_WEB_MINIMUM_FONT_SIZE "/apps/epiphany/web/minimum_font_size"
+#define CONF_WEB_USE_DESKTOP_FONTS "/apps/epiphany/web/use_desktop_fonts"
 #define CONF_RENDERING_FONT_VAR_SIZE "/apps/epiphany/web/font_var_size"
 #define CONF_RENDERING_FONT_FIXED_SIZE "/apps/epiphany/web/font_fixed_size"
 #define CONF_RENDERING_FONT_MIN_SIZE "/apps/epiphany/web/font_min_size"
Index: embed/ephy-embed-single.c
===================================================================
RCS file: /cvs/gnome/epiphany/embed/ephy-embed-single.c,v
retrieving revision 1.8
diff -u -r1.8 ephy-embed-single.c
--- embed/ephy-embed-single.c	1 Sep 2003 23:20:08 -0000	1.8
+++ embed/ephy-embed-single.c	2 Sep 2003 10:54:24 -0000
@@ -157,18 +157,6 @@
 }
 
 gresult
-ephy_embed_single_get_font_list (EphyEmbedSingle *shell,
-				const char *langGroup,
-				const char *fontType,
-				GList **fontList,
-				char **default_font)
-{
-	EphyEmbedSingleClass *klass = EPHY_EMBED_SINGLE_GET_CLASS (shell);
-        return klass->get_font_list (shell, langGroup, fontType, fontList,
-				     default_font);
-}
-
-gresult
 ephy_embed_single_list_cookies (EphyEmbedSingle *shell,
 			       GList **cookies)
 {
Index: embed/ephy-embed-single.h
===================================================================
RCS file: /cvs/gnome/epiphany/embed/ephy-embed-single.h,v
retrieving revision 1.8
diff -u -r1.8 ephy-embed-single.h
--- embed/ephy-embed-single.h	1 Sep 2003 23:20:08 -0000	1.8
+++ embed/ephy-embed-single.h	2 Sep 2003 10:54:25 -0000
@@ -125,11 +125,6 @@
 						 LanguageGroup group,
 						 gboolean elide_underscores,
 						 GList **encodings);
-	gresult		(* get_font_list)	(EphyEmbedSingle *shell,
-						 const char *langGroup,
-						 const char *fontType,
-						 GList **fontList,
-						 char **default_font);
 	gresult         (* list_cookies)        (EphyEmbedSingle *shell,
 						 GList **cokies);
 	gresult         (* remove_cookies)      (EphyEmbedSingle *shell,
@@ -169,12 +164,6 @@
 							 LanguageGroup group,
 							 gboolean elide_underscores,
 							 GList **encodings);
-
-gresult           ephy_embed_single_get_font_list       (EphyEmbedSingle *shell,
-							 const char *langGroup,
-							 const char *fontType,
-							 GList **fontList,
-							 char **default_font);
 
 /* Cookies */
 gresult           ephy_embed_single_list_cookies        (EphyEmbedSingle *shell,
Index: embed/mozilla/mozilla-embed-single.cpp
===================================================================
RCS file: /cvs/gnome/epiphany/embed/mozilla/mozilla-embed-single.cpp,v
retrieving revision 1.37
diff -u -r1.37 mozilla-embed-single.cpp
--- embed/mozilla/mozilla-embed-single.cpp	1 Sep 2003 23:20:09 -0000	1.37
+++ embed/mozilla/mozilla-embed-single.cpp	2 Sep 2003 10:54:31 -0000
@@ -301,7 +301,6 @@
 	shell_class->load_proxy_autoconf = impl_load_proxy_autoconf;
 	shell_class->get_encodings = impl_get_encodings;
 	shell_class->get_language_groups = impl_get_language_groups;
-	shell_class->get_font_list = impl_get_font_list;
 	shell_class->list_cookies = impl_list_cookies;
 	shell_class->remove_cookies = impl_remove_cookies;
 	shell_class->list_passwords = impl_list_passwords;
Index: embed/mozilla/mozilla-notifiers.cpp
===================================================================
RCS file: /cvs/gnome/epiphany/embed/mozilla/mozilla-notifiers.cpp,v
retrieving revision 1.27
diff -u -r1.27 mozilla-notifiers.cpp
--- embed/mozilla/mozilla-notifiers.cpp	11 Aug 2003 16:35:06 -0000	1.27
+++ embed/mozilla/mozilla-notifiers.cpp	2 Sep 2003 10:54:33 -0000
@@ -113,7 +113,6 @@
 /* Keeps the list of the notifiers we installed for mozilla prefs */
 /* to be able to remove them when exiting */
 GList *mozilla_notifiers = NULL;
-GList *font_infos = NULL;
 
 enum
 {
@@ -141,7 +140,6 @@
 	{ CONF_NETWORK_SSL_PROXY_PORT, INT_PREF, "network.proxy.ssl_port"},
 	{ CONF_LANGUAGE_DEFAULT_ENCODING, STRING_PREF, "intl.charset.default" },
 	{ CONF_LANGUAGE_AUTODETECT_ENCODING, STRING_PREF, "intl.charset.detector" },
-	{ CONF_RENDERING_DEFAULT_FONT, STRING_PREF, "font.default" },
 
 	{ NULL, 0, NULL }
 };
@@ -247,21 +245,6 @@
 }
 
 static void
-mozilla_font_size_notifier (GConfClient *client,
-		            guint cnxn_id,
-		            GConfEntry *entry,
-		            char *pref)
-{
-	char key[255];
-	
-	if (entry->value == NULL) return;
-
-	sprintf (key, "font.%s", pref);
-
-	mozilla_prefs_set_int (key, eel_gconf_get_integer (entry->key));
-}
-
-static void
 mozilla_proxy_mode_notifier (GConfClient *client,
 		             guint cnxn_id,
 		             GConfEntry *entry,
@@ -318,27 +301,6 @@
 }
 
 static void
-mozilla_font_notifier (GConfClient *client,
-		       guint cnxn_id,
-		       GConfEntry *entry,
-		       char *pref)
-{
-	char key[255];
-	char *name;
-
-	if (entry->value == NULL) return;
-	
-	sprintf (key, "font.name.%s", pref);
-
-	name = eel_gconf_get_string (entry->key);
-	if (name)
-	{
-		mozilla_prefs_set_string (key, name);
-		g_free (name);
-	}
-}
-
-static void
 mozilla_proxy_autoconfig_notifier (GConfClient *client,
 		       	           guint cnxn_id,
 		       		   GConfEntry *entry,
@@ -396,8 +358,6 @@
 {
 	GConfClient *client = eel_gconf_client_get_global ();
 	guint i;
-	guint n_fonts_languages;
-	const FontsLanguageInfo *fonts_language;
 
 	for (i = 0; conversion_table[i].gconf_key != NULL; i++)
 	{
@@ -433,66 +393,12 @@
 			 custom_notifiers[i].func,
 			 (gpointer)single);
 	}
-
-	/* fonts notifiers */
-	n_fonts_languages = ephy_langs_get_n_font_languages ();
-	fonts_language = ephy_langs_get_font_languages ();
-	for (i = 0; i < n_fonts_languages; i++)
-	{
-		guint k;
-		char *types [] = { "serif", "sans-serif", "cursive", "fantasy", "monospace" };
-		char key[255];
-		char *info;
-		
-		for (k = 0; k < G_N_ELEMENTS (types); k++)
-		{
-			info = g_strconcat (types[k], ".", fonts_language[i].code, NULL);
-			
-			g_snprintf (key, 255, "%s_%s_%s", CONF_RENDERING_FONT, 
-			 	    types[k], 
-                 	 	    fonts_language[i].code);
-			add_notification_and_notify (client, key,
-						     (GConfClientNotifyFunc)mozilla_font_notifier,
-						     info);
-			font_infos = g_list_append (font_infos, info);
-		}
-
-		g_snprintf (key, 255, "%s_%s", CONF_RENDERING_FONT_MIN_SIZE, fonts_language[i].code);
-		info = g_strconcat ("minimum-size", ".", fonts_language[i].code, NULL);
-		add_notification_and_notify (client, key,
-					     (GConfClientNotifyFunc)mozilla_font_size_notifier,
-					     info);
-		font_infos = g_list_append (font_infos, info);
-
-		g_snprintf (key, 255, "%s_%s", CONF_RENDERING_FONT_FIXED_SIZE, fonts_language[i].code);
-		info = g_strconcat ("size.fixed", ".", fonts_language[i].code, NULL);
-		add_notification_and_notify (client, key,
-					     (GConfClientNotifyFunc)mozilla_font_size_notifier,
-					     info);
-		font_infos = g_list_append (font_infos, info);
-
-		g_snprintf (key, 255, "%s_%s", CONF_RENDERING_FONT_VAR_SIZE, fonts_language[i].code);
-		info = g_strconcat ("size.variable", ".", fonts_language[i].code, NULL);
-		add_notification_and_notify (client, key,
-					     (GConfClientNotifyFunc)mozilla_font_size_notifier,
-					     info);
-		font_infos = g_list_append (font_infos, info);		
-	}
 }
 
 void 
 mozilla_notifiers_free (void)
 {
-	GList *l;
-	
 	ephy_notification_remove (&mozilla_notifiers);
-
-	for (l = font_infos; l != NULL; l = l->next)
-	{
-		g_free (l->data);
-	}
-	
-	g_list_free (font_infos);
 }
 
 /**
Index: src/prefs-dialog.c
===================================================================
RCS file: /cvs/gnome/epiphany/src/prefs-dialog.c,v
retrieving revision 1.41
diff -u -r1.41 prefs-dialog.c
--- src/prefs-dialog.c	1 Sep 2003 23:20:14 -0000	1.41
+++ src/prefs-dialog.c	2 Sep 2003 10:54:38 -0000
@@ -61,8 +61,6 @@
 void
 prefs_dialog_response_cb (GtkDialog *dialog, gint response_id, gpointer data);
 void
-fonts_language_optionmenu_changed_cb (GtkWidget *optionmenu, EphyDialog *dialog);
-void
 prefs_homepage_current_button_clicked_cb (GtkWidget *button,
 					  EphyDialog *dialog);
 void
@@ -175,43 +173,6 @@
 };
 static guint n_cookies_accept_enum = G_N_ELEMENTS (cookies_accept_enum);
 
-static const
-char *proportional_enum [] =
-{
-	"serif", "sans-serif"
-};
-static guint n_proportional_enum = G_N_ELEMENTS (proportional_enum);
-
-enum
-{
-	FONT_TYPE_SERIF,
-	FONT_TYPE_SANSSERIF,
-	FONT_TYPE_MONOSPACE
-};
-
-const
-char *fonts_types[] =
-{
-	"serif",
-	"sans-serif",
-	"monospace"
-};
-
-enum
-{
-	FONT_SIZE_FIXED,
-	FONT_SIZE_VAR,
-	FONT_SIZE_MIN
-};
-
-const
-char *size_prefs[] =
-{
-	CONF_RENDERING_FONT_FIXED_SIZE,
-	CONF_RENDERING_FONT_VAR_SIZE,
-	CONF_RENDERING_FONT_MIN_SIZE
-};
-
 enum
 {
 	WINDOW_PROP,
@@ -222,14 +183,9 @@
 	HOMEPAGE_ENTRY_PROP,
 
 	/* Fonts and Colors */
-	FONTS_LANGUAGE_PROP,
-	SERIF_PROP,
-	SANSSERIF_PROP,
-	MONOSPACE_PROP,
-	FIXED_SIZE_PROP,
-	VARIABLE_SIZE_PROP,
-	MIN_SIZE_PROP,
-	PROPORTIONAL_PROP,
+	FIXED_WIDTH_LABEL_PROP,
+	VARIABLE_WIDTH_LABEL_PROP,
+	MINIMUM_SIZE_LABEL_PROP,
 	USE_COLORS_PROP,
 	USE_FONTS_PROP,
 
@@ -262,14 +218,9 @@
 	{ HOMEPAGE_ENTRY_PROP, "homepage_entry", CONF_GENERAL_HOMEPAGE, PT_AUTOAPPLY, NULL },
 
 	/* Fonts and Colors */
-	{ FONTS_LANGUAGE_PROP, "fonts_language_optionmenu", CONF_FONTS_FOR_LANGUAGE, PT_AUTOAPPLY, NULL },
-	{ SERIF_PROP, "serif_combo", NULL, PT_NORMAL, NULL },
-	{ SANSSERIF_PROP, "sansserif_combo", NULL, PT_NORMAL, NULL },
-	{ MONOSPACE_PROP, "monospace_combo", NULL, PT_NORMAL, NULL },
-	{ FIXED_SIZE_PROP, "fixed_size_spinbutton", NULL, PT_NORMAL, NULL },
-	{ VARIABLE_SIZE_PROP, "variable_size_spinbutton", NULL, PT_NORMAL, NULL },
-	{ MIN_SIZE_PROP, "min_size_spinbutton", NULL, PT_NORMAL, NULL },
-	{ PROPORTIONAL_PROP, "proportional_optionmenu", CONF_RENDERING_DEFAULT_FONT, PT_AUTOAPPLY, NULL },
+	{ FIXED_WIDTH_LABEL_PROP, "fixed_width_label", NULL, PT_NORMAL, NULL },
+	{ VARIABLE_WIDTH_LABEL_PROP, "variable_width_label", NULL, PT_NORMAL, NULL },
+	{ MINIMUM_SIZE_LABEL_PROP, "minimum_size_label", NULL, PT_NORMAL, NULL },
 	{ USE_COLORS_PROP, "use_colors_checkbutton", CONF_RENDERING_USE_OWN_COLORS, PT_AUTOAPPLY, NULL },
 	{ USE_FONTS_PROP, "use_fonts_checkbutton", CONF_RENDERING_USE_OWN_FONTS, PT_AUTOAPPLY, NULL },
 
@@ -300,6 +251,15 @@
 };
 static guint n_lang_size_group = G_N_ELEMENTS (lang_size_group);
 
+static
+int font_size_group [] =
+{
+	FIXED_WIDTH_LABEL_PROP,
+	VARIABLE_WIDTH_LABEL_PROP,
+	MINIMUM_SIZE_LABEL_PROP
+};
+static guint n_font_size_group = G_N_ELEMENTS (font_size_group);
+
 typedef struct
 {
 	gchar *name;
@@ -317,10 +277,6 @@
 	GList *langs;
 	GList *encodings;
 	GList *autodetectors;
-	GList *fonts_languages;
-
-	guint language;
-	gboolean switching;
 };
 
 static GObjectClass *parent_class = NULL;
@@ -403,9 +359,6 @@
 	g_list_foreach (pd->priv->autodetectors, (GFunc) g_free, NULL);
 	g_list_free (pd->priv->autodetectors);
 
-	g_list_foreach (pd->priv->fonts_languages, (GFunc) g_free, NULL);
-	g_list_free (pd->priv->fonts_languages);
-
         G_OBJECT_CLASS (parent_class)->finalize (object);
 }
 
@@ -429,312 +382,6 @@
 	ephy_gui_help (GTK_WINDOW (pd->priv->window), "epiphany", help_preferences[id]);
 }
 
-static const gchar *
-get_current_language_code (PrefsDialog *dialog)
-{
-	GList *lang;
-	FontsLanguageInfo *info;
-
-	lang = g_list_nth (dialog->priv->fonts_languages, dialog->priv->language);
-	g_assert (lang != NULL);
-	info = (FontsLanguageInfo *) lang->data;
-
-	return info->code;
-}
-
-static void
-setup_font_menu (PrefsDialog *dialog,
-		 const char *type,
-		 GtkWidget *combo)
-{
-	char *default_font;
-	GList *fonts = NULL;
-	gchar *name;
-	char key[255];
-	GtkWidget *entry = GTK_COMBO(combo)->entry;
-	EphyEmbedSingle *single;
-
-	single = ephy_embed_shell_get_embed_single
-		(EPHY_EMBED_SHELL (ephy_shell));
-
-	ephy_embed_single_get_font_list (single,
-					 get_current_language_code (dialog),
-					 type, &fonts, &default_font);
-
-	/* Get the default font */
-	g_snprintf (key, 255, "%s_%s_%s", CONF_RENDERING_FONT, type,
-		    get_current_language_code (dialog));
-	name = eel_gconf_get_string (key);
-	if (name == NULL)
-	{
-		name = g_strdup (default_font);
-	}
-
-	/* set popdown doesnt like NULL */
-	if (fonts == NULL)
-	{
-		fonts = g_list_alloc ();
-	}
-
-	gtk_combo_set_popdown_strings (GTK_COMBO(combo), fonts);
-
-	/* set the default value */
-	if (name != NULL)
-	{
-		int pos = 0;
-
-		gtk_editable_delete_text (GTK_EDITABLE(entry), 0, -1);
-		gtk_editable_insert_text (GTK_EDITABLE(entry),
-					  name, strlen (name),
-					  &pos);
-	}
-
-	g_free (default_font);
-	g_free (name);
-
-	g_list_foreach (fonts, (GFunc)g_free, NULL);
-	g_list_free (fonts);
-}
-
-static void
-save_font_menu (PrefsDialog *dialog,
-		int type,
-		GtkWidget *entry)
-{
-	char *name;
-	char key[255];
-
-	name = gtk_editable_get_chars (GTK_EDITABLE (entry), 0, -1);
-
-	/* do not save empty fonts */
-	if (!name || *name == '\0')
-	{
-		g_free (name);
-		return;
-	}
-
-	g_snprintf (key, 255, "%s_%s_%s", CONF_RENDERING_FONT,
-		    fonts_types[type],
-		    get_current_language_code (dialog));
-	eel_gconf_set_string (key, name);
-	g_free (name);
-}
-
-static void
-font_entry_changed_cb (GtkWidget *entry, PrefsDialog *dialog)
-{
-	int type;
-
-	if (dialog->priv->switching) return;
-
-	type = GPOINTER_TO_INT (g_object_get_data (G_OBJECT(entry),
-						    "type"));
-	save_font_menu (dialog, type, entry);
-}
-
-static void
-attach_font_signal (PrefsDialog *dialog, int prop,
-		    gpointer type)
-{
-	GtkWidget *combo;
-	GtkWidget *entry;
-
-	combo = ephy_dialog_get_control (EPHY_DIALOG(dialog),
-					   prop);
-	entry = GTK_COMBO(combo)->entry;
-	g_object_set_data (G_OBJECT(entry), "type", type);
-	g_signal_connect (entry, "changed",
-			  G_CALLBACK(font_entry_changed_cb),
-			  dialog);
-}
-
-static void
-attach_fonts_signals (PrefsDialog *dialog)
-{
-	attach_font_signal (dialog, SERIF_PROP,
-			    GINT_TO_POINTER(FONT_TYPE_SERIF));
-	attach_font_signal (dialog, SANSSERIF_PROP,
-			    GINT_TO_POINTER(FONT_TYPE_SANSSERIF));
-	attach_font_signal (dialog, MONOSPACE_PROP,
-			    GINT_TO_POINTER(FONT_TYPE_MONOSPACE));
-}
-
-static void
-size_spinbutton_changed_cb (GtkWidget *spin, PrefsDialog *dialog)
-{
-	int type;
-	char key[255];
-
-	if (dialog->priv->switching) return;
-
-	type = GPOINTER_TO_INT(g_object_get_data (G_OBJECT(spin), "type"));
-
-	g_snprintf (key, 255, "%s_%s",
-		    size_prefs[type],
-		    get_current_language_code (dialog));
-	eel_gconf_set_integer (key, gtk_spin_button_get_value (GTK_SPIN_BUTTON (spin)));
-}
-
-static void
-attach_size_controls_signals (PrefsDialog *dialog)
-{
-	GtkWidget *spin;
-
-	spin = ephy_dialog_get_control (EPHY_DIALOG(dialog),
-					  FIXED_SIZE_PROP);
-	g_object_set_data (G_OBJECT(spin), "type",
-			   GINT_TO_POINTER(FONT_SIZE_FIXED));
-	g_signal_connect (spin, "value_changed",
-			  G_CALLBACK(size_spinbutton_changed_cb),
-			  dialog);
-
-	spin = ephy_dialog_get_control (EPHY_DIALOG(dialog),
-					  VARIABLE_SIZE_PROP);
-	g_object_set_data (G_OBJECT(spin), "type",
-			   GINT_TO_POINTER(FONT_SIZE_VAR));
-	g_signal_connect (spin, "value_changed",
-			  G_CALLBACK(size_spinbutton_changed_cb),
-			  dialog);
-
-	spin = ephy_dialog_get_control (EPHY_DIALOG(dialog),
-					  MIN_SIZE_PROP);
-	g_object_set_data (G_OBJECT(spin), "type",
-			   GINT_TO_POINTER(FONT_SIZE_MIN));
-	g_signal_connect (spin, "value_changed",
-			  G_CALLBACK(size_spinbutton_changed_cb),
-			  dialog);
-}
-
-static void
-setup_size_control (PrefsDialog *dialog,
-		    const char *pref,
-		    int default_size,
-		    GtkWidget *spin)
-{
-	char key[255];
-	int size;
-
-	g_snprintf (key, 255, "%s_%s", pref,
-		    get_current_language_code (dialog));
-	size = eel_gconf_get_integer (key);
-
-	if (size == 0) size = default_size;
-
-	gtk_spin_button_set_value (GTK_SPIN_BUTTON(spin), size);
-}
-
-static void
-setup_size_controls (PrefsDialog *dialog)
-{
-	GtkWidget *spin;
-
-	spin = ephy_dialog_get_control (EPHY_DIALOG(dialog),
-					  FIXED_SIZE_PROP);
-	setup_size_control (dialog, CONF_RENDERING_FONT_FIXED_SIZE, 12, spin);
-
-	spin = ephy_dialog_get_control (EPHY_DIALOG(dialog),
-					  VARIABLE_SIZE_PROP);
-	setup_size_control (dialog, CONF_RENDERING_FONT_VAR_SIZE, 16, spin);
-
-	spin = ephy_dialog_get_control (EPHY_DIALOG(dialog),
-					  MIN_SIZE_PROP);
-	setup_size_control (dialog, CONF_RENDERING_FONT_MIN_SIZE, 0, spin);
-}
-
-static gint
-fonts_language_info_cmp (const FontsLanguageInfo *i1, const FontsLanguageInfo *i2)
-{
-	return g_utf8_collate (i1->title, i2->title);
-}
-
-static void
-setup_fonts (PrefsDialog *dialog)
-{
-	GtkWidget *combo;
-
-	dialog->priv->switching = TRUE;
-
-	combo = ephy_dialog_get_control (EPHY_DIALOG(dialog),
-					 SERIF_PROP);
-	setup_font_menu (dialog, "serif", combo);
-
-	combo = ephy_dialog_get_control (EPHY_DIALOG(dialog),
-					 SANSSERIF_PROP);
-	setup_font_menu (dialog, "sans-serif", combo);
-
-	combo = ephy_dialog_get_control (EPHY_DIALOG(dialog),
-					 MONOSPACE_PROP);
-	setup_font_menu (dialog, "monospace", combo);
-
-	dialog->priv->switching = FALSE;
-}
-
-static void
-create_fonts_language_menu (PrefsDialog *dialog)
-{
-	GtkWidget *optionmenu, *menu;
-	GList *l = NULL;
-	guint i;
-	guint n_fonts_languages;
-	const FontsLanguageInfo *fonts_language;
-	char **lang_codes;
-
-	n_fonts_languages = ephy_langs_get_n_font_languages ();
-	fonts_language = ephy_langs_get_font_languages ();
-
-	for (i = 0; i < n_fonts_languages; i++)
-	{
-		FontsLanguageInfo *info;
-
-		info = g_new0 (FontsLanguageInfo, 1);
-		info->title = _(fonts_language[i].title);
-		info->code = fonts_language[i].code;
-
-		l = g_list_prepend (l, info);
-	}
-
-	l = g_list_sort (l, (GCompareFunc) fonts_language_info_cmp);
-	dialog->priv->fonts_languages = l;
-
-	optionmenu = ephy_dialog_get_control (EPHY_DIALOG (dialog),
-					      FONTS_LANGUAGE_PROP);
-
-	menu = gtk_menu_new ();
-
-	for (l = dialog->priv->fonts_languages; l != NULL; l = l->next)
-	{
-		FontsLanguageInfo *info = (FontsLanguageInfo *) l->data;
-		GtkWidget *item;
-
-		item = gtk_menu_item_new_with_label (info->title);
-		gtk_menu_shell_append (GTK_MENU_SHELL(menu), item);
-		gtk_widget_show (item);
-	}
-
-	gtk_option_menu_set_menu (GTK_OPTION_MENU(optionmenu), menu);
-
-	lang_codes = g_new0 (char *, n_fonts_languages);
-	i = 0;
-	for (l = dialog->priv->fonts_languages; l != NULL; l = l->next)
-	{
-		FontsLanguageInfo *info = (FontsLanguageInfo *) l->data;
-
-		lang_codes[i] = info->code;
-		
-		i++;
-	}
-	ephy_dialog_add_enum (EPHY_DIALOG (dialog), FONTS_LANGUAGE_PROP,
-			      n_fonts_languages, (const char **) lang_codes);
-	g_free (lang_codes);
-
-	dialog->priv->language =
-		gtk_option_menu_get_history (GTK_OPTION_MENU (optionmenu));
-
-	g_signal_connect (optionmenu, "changed",
-			  G_CALLBACK (fonts_language_optionmenu_changed_cb),
-			  dialog);
-}
-
 static void
 default_encoding_menu_changed_cb (GtkOptionMenu *option_menu,
 				  PrefsDialog *dialog)
@@ -1088,18 +735,16 @@
 
 	ephy_dialog_add_enum (EPHY_DIALOG (pd), ACCEPT_COOKIES_PROP,
 			      n_cookies_accept_enum, cookies_accept_enum);
-	ephy_dialog_add_enum (EPHY_DIALOG (pd), PROPORTIONAL_PROP,
-			      n_proportional_enum, proportional_enum);
 
 	ephy_dialog_set_size_group (EPHY_DIALOG (pd), lang_size_group,
 				    n_lang_size_group);
+	ephy_dialog_set_size_group (EPHY_DIALOG (pd), font_size_group,
+				    n_font_size_group);
 
 	pd->priv->window = ephy_dialog_get_control (dialog, WINDOW_PROP);
 	pd->priv->notebook = ephy_dialog_get_control (dialog, NOTEBOOK_PROP);
-	pd->priv->langs = NULL;
 	pd->priv->encodings = NULL;
 	pd->priv->autodetectors = NULL;
-	pd->priv->fonts_languages = NULL;
 
 	icon = gtk_widget_render_icon (pd->priv->window,
 				       GTK_STOCK_PREFERENCES,
@@ -1108,10 +753,6 @@
 	gtk_window_set_icon (GTK_WINDOW (pd->priv->window), icon);
 	g_object_unref(icon);
 
-	pd->priv->switching = FALSE;
-	create_fonts_language_menu (pd);
-	attach_fonts_signals (pd);
-	attach_size_controls_signals (pd);
 	create_languages_list (pd);
 	create_default_encoding_menu (pd);
 	create_encoding_autodetectors_menu (pd);
@@ -1142,22 +783,6 @@
 		(EPHY_EMBED_SHELL (ephy_shell));
 
 	ephy_embed_single_clear_cache (single);
-}
-
-void
-fonts_language_optionmenu_changed_cb (GtkWidget *optionmenu,
-				      EphyDialog *dialog)
-{
-	guint i;
-	PrefsDialog *pd = EPHY_PREFS_DIALOG (dialog);
-
-	i = gtk_option_menu_get_history
-		(GTK_OPTION_MENU (optionmenu));
-
-	pd->priv->language = i;
-
-	setup_fonts (pd);
-	setup_size_controls (pd);
 }
 
 void
