Then I would amend it to:
size = 29;
if(width > 11 || height > 4) size++;
if(width > 13 || height > 5) size++;
if(width > 15 || height > 6) size++;
if(width > 18 || height > 7) size++;
if(width > 19 || height > 8) size++;
if(width > 21 || height > 10) size++;
switch(size) {
case 29: Spread(width, 15, 16, xpos, ypos); break;
case 30: Spread(width, 13, 14, xpos, ypos); break;
case 31: Spread(width, 11, 12, xpos, ypos); break;
case 32: Spread(width, 9, 10, xpos, ypos); break;
case 33: Spread(width, 9, 9, xpos, ypos); break;
case 34: Spread(width, 8, 7, xpos, ypos); break;
case 35:
SpreadCompressed(width, width > 21, height > 10, xpos, ypos);
size--; //back to 34 for you
break;