Index: /CKEditor/trunk/_source/plugins/button/plugin.js
===================================================================
--- /CKEditor/trunk/_source/plugins/button/plugin.js	(revision 3219)
+++ /CKEditor/trunk/_source/plugins/button/plugin.js	(revision 3220)
@@ -57,4 +57,5 @@
 
 	this.icon = definition.icon;
+	this.iconOffset = definition.iconOffset;
 
 	/**
@@ -180,5 +181,8 @@
 
 		if ( this.icon )
-			output.push( ' style="background-image:url(', CKEDITOR.getUrl( this.icon ), ');background-position:0 0;"' );
+		{
+			var offset = ( this.iconOffset || 0 ) * -16;
+			output.push( ' style="background-image:url(', CKEDITOR.getUrl( this.icon ), ');background-position:0 ' + offset + 'px;"' );
+		}
 
 		output.push(
Index: /CKEditor/trunk/_source/plugins/menu/plugin.js
===================================================================
--- /CKEditor/trunk/_source/plugins/menu/plugin.js	(revision 3219)
+++ /CKEditor/trunk/_source/plugins/menu/plugin.js	(revision 3220)
@@ -273,4 +273,5 @@
 			}
 
+			var offset = ( this.iconOffset || 0 ) * -16;
 			output.push(
 //					' onkeydown="return CKEDITOR.ui.button._.keydown(', index, ', event);"' +
@@ -280,5 +281,6 @@
 					'>' +
 						'<span class="cke_icon"' +
-							( this.icon ? ' style="background-image:url(' + CKEDITOR.getUrl( this.icon ) + ');background-position:0 0;"' : '' ) +
+							( this.icon ? ' style="background-image:url(' + CKEDITOR.getUrl( this.icon ) + ');background-position:0 ' + offset + 'px;"'
+							  : '' ) +
 							'></span>' +
 						'<span class="cke_label">' );
