Metin kutusu boyutunu metne nasıl sığdırırım?


19

Çalışma yüzeyini seçilen resme sığdırmak istiyorum (iki metin kutusu) - metin kutuları içindeki metinden daha büyük - metnimin etrafına sıkıca sarmak için bunları nasıl takarım (küçültür)?

Illustrator sürümü - CS5

Yanıtlar:


9

Illustrator uygulamasının (5.1'den itibaren) InDesign gibi kullanışlı bir "içeriğe çerçeve sığdır" özelliği yoktur. Metin çerçevesini seçin ve çerçeve metne oturana kadar tutamaçları içeri doğru sürükleyin.


15

Bu, Adobe Illustrator CC'de 2014 itibariyle yerleşik bir özelliktir. Yazım> Alan Türü Seçenekleri> Otomatik Boyut altında bulabilirsiniz.


CC19'da bu seçeneği görmüyorum. Hareket etti mi? @Matt M.
FabricioG

9

Bunun için bir senaryo var. (bu muhtemelen Joonas'ın yorumunun, CS6'da gayet iyi çalıştığı anlamına gelir.

(daha sonra metin kutusunu taktıktan sonra resim panosuna sığdırmak için resim panosu aracını kullanın ve metin kutusuna tıklayın)

Çok sayıda harika komut dosyasına sahip olan Kelso Cartography'in izniyle ( nokta ve alan metni için komut dosyaları da şiddetle tavsiye edilir), Metni İçeriğe Sığdır komut dosyasını buradan indirebilirsiniz . Kalayda söylediklerini tam olarak yapar - bir metin alanının metin çerçevesini metin satırlarının yüksekliğine uyacak şekilde ölçeklendirir (yukarı veya aşağı).

İşte bu betiğin bir 'öncesi' ve 'sonrası', artı kuzeni de Kelso Kartografisi, Metni İçerik Genişliğine Sığdır , kullanılmayan alanı kaldırmak için bir metin çerçevesini yeniden boyutlandırma (resim vectips izniyle ):

resim açıklamasını buraya girin

Bağlantının kopması durumunda burada kodz var. Orijinal yazara tüm kredi. Sadece illustrator/presets/[some language code]/scriptsklasörünüze bir .js dosyası olarak kaydedin ve ardından Illustrator'ı yeniden başlatın :

// FitToTextContent_Depth
// Nathaniel Vaughn KELSO
// Last modified: 2008.March.29
// Created: 2007.July.8 
// at Hyattsville, MD
// Version 2
// (c) nvkelso2008@gmail.com (but remove the 2008 bit)
// DESC: Fits the text frame (rectangular path shapes only!) to fit the text content. 
// DESC: Will either shrink or expand the depth of the text box as appropriate. 
// TODO: Extend to work with text on a line (PATHTEXT)
// TODO: watch for 4 point paths that are not rectangular
// TODO: watch for 4 point paths that are rotated

var includeExtraLines = 0.5;

if(documents.length > 0) {
    doc = activeDocument;
    mySelection = activeDocument.selection;

    // If there are enough to process
    if (mySelection instanceof Array)
    {
        // For each of the selected items
        for(i=0; i<mySelection.length; i++) {
            // That are textFrames
            if (mySelection[i].typename == "TextFrame" && mySelection[i].kind == TextType.AREATEXT ) {
                obj = mySelection[i];

                // We only want to do this on rectangular text areas
                // TODO: Take care of rotation issues from MakePointType script
                if( obj.textPath.pathPoints.length == 4 ) {
                    objTop = obj.top;
                    objLeft = obj.left;

                    // Make the new point type object and locate it
                    // Make sure the new object is in the same Z stacking order as the original
                    copy1 = obj.duplicate(obj, ElementPlacement.PLACEBEFORE);
                    //copy1.move(obj, ElementPlacement.PLACEBEFORE);

                    // now make the text box much bigger, but not absurdly big
                    // TODO: This could be better approximated by itterating thru all the WORDS in the textFrame and 
                    // comparing it to all the WORDS in each of the visible text LINES. Then apply the difference / total words to the scaling
                    if( copy1.height * 10 < 2000 ) {
                        copy1.textPath.height = copy1.height * 10;
                    } else {
                        copy1.textPath.height = 2000;
                    }

                    howManyLines = copy1.lines.length;

                    outlineObject = copy1.duplicate();
                    outlineObject = outlineObject.createOutline();

                    targetHeight = outlineObject.height + includeExtraLines * (outlineObject.height / howManyLines );

                    // Now assign y-axis depth of the point text to the area text box
                    rect = obj.parent.pathItems.rectangle(copy1.textPath.top, copy1.textPath.left, obj.width, targetHeight);
                    copy2 = obj.parent.textFrames.areaText(rect);
                    copy2.selected = true;
                    rect.selected = true;

                    // Always delete these intermediate objects
                    outlineObject.remove();
                    copy1.remove();

                    // Now take care of the end and original objects
                    obj.textRange.duplicate(copy2); 
                    obj.remove();   
                }
            }
        }
    }
}

Bunu Mac OS X'e nereden yükleyebilirim?
Alec Jacobson
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.