Index: wp-content/themes/twentytwelve/style.css
===================================================================
--- wp-content/themes/twentytwelve/style.css	(revision 21640)
+++ wp-content/themes/twentytwelve/style.css	(working copy)
@@ -437,10 +437,13 @@
 body {
 	font-size: 14px;
 	font-size: 1rem;
-	font-family: "Open Sans", Helvetica, Arial, sans-serif;
+	font-family: Helvetica, Arial, sans-serif;
 	text-rendering: optimizeLegibility;
 	color: #444;
 }
+body.custom-font-enabled {
+	font-family: "Open Sans", Helvetica, Arial, sans-serif;
+}
 a {
 	outline: none;
 	color: #21759b;
Index: wp-content/themes/twentytwelve/functions.php
===================================================================
--- wp-content/themes/twentytwelve/functions.php	(revision 21640)
+++ wp-content/themes/twentytwelve/functions.php	(working copy)
@@ -105,6 +105,8 @@
  	 */
 	$protocol = is_ssl() ? 'https' : 'http';
 	wp_enqueue_style( 'twentytwelve-fonts', "$protocol://fonts.googleapis.com/css?family=Open+Sans:400italic,700italic,400,700", array(), null );
+	// To disable
+	// add_action( 'wp_enqueue_scripts', function() { wp_dequeue_style( 'twentytwelve-fonts' ); }, 11 );
 
 	/*
 	 * Loads our main stylesheet.
@@ -373,6 +375,10 @@
 	elseif ( in_array( $background_color, array( 'fff', 'ffffff' ) ) )
 		$classes[] = 'custom-background-white';
 
+	// Enable custom font class only if the font CSS is loaded.
+	if ( wp_script_is( 'twentytwelve-fonts', 'queue' ) )
+		$classes[] = 'custom-font-enabled';
+
 	return $classes;
 }
 add_filter( 'body_class', 'twentytwelve_body_class' );
