gui button vary font size

Does anyone know a way you can vary the font size of a gui button so that when its pressed and held (active) the text size gets smaller (not when its pressed get smaller)

any help would be much appreciated!

GUI makes it easy to change font color or the background image of a button on an Active button. I’m not a GUI expert, but the only way I could see to get the behavior you describe is a bit involved. I use a GUISyle copies from GUI.ski.button, and vary the font size.

#pragma strict

private var rect : Rect = new Rect(100,100,200,50);
private var gs : GUIStyle = null;

private var normalSize = 13;
private var smallSize = 8;

function OnGUI() {
	var e : Event = Event.current;
	
	if (gs == null) { 
		gs = new GUIStyle(GUI.skin.button);
		gs.fontSize = normalSize;
	}
	
	if (rect.Contains(e.mousePosition) && (e.type == EventType.MouseDown)) {
		Invoke("SmallSize", 0.1);
	}
	
	if (e.type == EventType.MouseUp) {
		gs.fontSize = normalSize;
		CancelInvoke("SmallSize");
	}
	
	GUI.Button(rect, "Some text", gs);
}

function SmallSize() { 
	gs.fontSize = smallSize;
}