I have been having a lot of issue with Fit Content Proportionally since upgrading to CS6.
In many of my documents (some new, some pulled in from earlier versions and saved over as CS6), I find that both via the menu and via the keyboard shortcut, the commonly-used and absolutely essential "Fit Content Proportionally" command just simply does not work.
I can create a bunch of square frames, and then fill them all with various-sized and shaped images, and then when I would usually Fit Content Proportionally to make them all scale down inside the boxes, what I get instead is no response at all. The only way to "fix" the problem is to go to the toolbar with the content selected and change either the vertical or horizontal percentage to any number at all. As long as the proportion lock is in place, then that changes both % numbers to the same number, and thus fixing the problem. This is what makes me think it is a bug.
Is there some new fitting setting in CS6 that I need to change?
I have tried saving as IDML and importing back into CS6, but the behavior persists. Interestingly, if I change the fitting via the toolbar % "fix" and then select Fit Content to Frame (not proportionally), then Fit Content Proportionally is broken again, and does nothing at all.
On most of my documents, Fit Content Proportionally works exactly as expected, and exactly as it always has. Of course my biggest "problem" documents contain large numbers of images.
High Res Image:
Peter, I trashed my InDesign preferences, and nothing changed, except that now all of my preferences are gone...
I forgot how annoying the content selector circle thing and the frame edge highlighting thing were. So I guess thanks for reminding me that I paid $600 to upgrade to CS 5.5 just to get a checkbox to disable frame edge highlighting....but the problem with Fit Content Proportionally still persists.
Did you do the backup and manual method, so you could restore the old ones? It's definitely annoying when it doesn't help and you lose the customizations, but it's a ten-second fix if you back up a good set.
On to more troubleshooting. Does it work on another system, or a different user, for those files? Does export to .idml help? (Remove minor corruption by exporting)
I was able to retrieve my preferences via Time Machine.
Exporting to idml and bringing it back in was my first attempt at a fix, because it was only happening on some files and not on others, so I thought it might have been a corruption issue. Whatever is going on, it stays broken even after an idml cleanse.
I can't try it out on another machine because everyone else here is on CS 5 or CS 5.5.
I was able to verify that the problem doesn't exist before CS6 by opening the idml export in CS5.5, where Fit Content Proportionally seems to be working normally. I then saved it, and opened that CS5.5 file in CS6, and the problem was still there.
OK, If you can't do the new user, lets try the prefs again and some supplemental files, too (back up first). See John's list of extras at http://forums.adobe.com/message/4315274
This is a bug or a big enough change in behavior that it should come with a warning alert the first time you use it. I've replicated it across different 8.0.1 installs and (Mac) OSs.
To replicate:
I suppose you could make an argument that this is more correct than the old behavior—the command now means "Fit without changing the proportions"—but it's a big change, and I doubt anybody wants it to work this way.
Here's a short script that should more or less give the old behavior:
function fit(item) {
var i, l, graphic;
if (item instanceof Group) {
for (i = 0, l = item.pageItems.length; i < l; i++) {
fit(item.pageItems[i].getElements()[0]);
}
}
else if (item.hasOwnProperty("imageTypeName")) {
item.horizontalScale = item.horizontalScale < 0 ? -100 : 100;
item.verticalScale = item.verticalScale < 0 ? -100 : 100;
item.fit(FitOptions.PROPORTIONALLY);
}
else if (item.hasOwnProperty("graphics")) {
for (i = 0, l = item.graphics.length; i < l; i++) {
graphic = item.graphics[i];
graphic.horizontalScale = graphic.horizontalScale < 0 ? -100 : 100;
graphic.verticalScale = graphic.verticalScale < 0 ? -100 : 100;
graphic.fit(FitOptions.PROPORTIONALLY);
}
}
}
function main() {
var i, l;
if (!app.documents.length) {
return;
}
for (i = 0, l = app.selection.length; i < l; i++) {
fit(app.selection[i]);
}
}
app.doScript(main, ScriptLanguage.JAVASCRIPT, undefined, UndoModes.ENTIRE_SCRIPT, "Really Fit Content Proportionally");
There are certainly some corner cases I've left out. Let me know if you try to use it and it doesn't work right.
Jeff
North America
Europe, Middle East and Africa
Asia Pacific