지정된 줄 수를 늘임꼴로 처리하는 Illustrator 도구가 만들어졌습니다.

며칠 전 한 세미나에서 옆에 앉은 사람과'이런 게 있었으면 좋겠다'고 말하는 형식을 만들어 봤다.

이상 01 명


・ 지정된 행의 수를 늘임꼴로 처리합니다.
· Illustrator를 통해 세그먼트를 변경합니다.

메서드


텍스트 원고를 태그로 기록하고 단서로 처리하여 지정한 줄 수로 만든다.
Illustrator의 세그먼트 변경은 불가능하므로 태그 레코드부터 세그먼트 헤더까지 다른 행이 필요합니다.
...여러 번 시도해 보았지만 텍스트에 표시하는 것 자체가 번거롭고 정규 표현식으로 대상의 텍스트를 얻더라도 이 텍스트의 줄이 얼마나 되는지 얻을 수 없었다.
생각해도 귀찮아서 문자를 선택해 줄 수를 지정하는 간단한 스타일을 만들었다.
※ 탐색심이 부족합니다..

▲ UI는 이런 느낌이다.
취소 및 재시도는 편집 메뉴와 같습니다.

▲ 0.1%의 보폭으로 처리한다.
글이 많으면 시간이 좀 걸릴 텐데...

▲ Illustrator 버전에 따라 수치를 재정의해야 한다.
CC2018은 22다.CC2017은 21이다.
코드는 다음과 같습니다.
지정된 행의 가늘게 만들기버튼 버전.jsx
#target illustrator-22
#targetengine main

/*//////////////////////////////////////////////////  変数定義  ////////////////////////////////////////////////////////////////////*/
var doc = app.activeDocument; //ドキュメント

/*/////////////////////////////////////////////// 入力ダイアログ表示 ////////////////////////////////////////////////////////*/
win = new Window("palette", "指定行数に長体処理", [200, 150, 350, 300]);
var para01Btn = win.add("button", [10, 10, 70, 30], "1行");
var para02Btn = win.add("button", [10, 35, 70, 55], "2行");
var para03Btn = win.add("button", [10, 60, 70, 80], "3行");
var para04Btn = win.add("button", [75, 10, 135, 30], "4行");
var para05Btn = win.add("button", [75, 35, 135, 55], "5行");
var para06Btn = win.add("button", [75, 60, 135, 80], "6行");
var unDoBtn = win.add("button", [10, 90, 70, 110], "取り消し");
var reDoBtn = win.add("button", [75, 90, 135, 110], "やり直し");
var cancelBtn = win.add("button", [10, 120, 135, 140], "キャンセル");

win.show(); //ウィンドウを表示
win.center(); //センターに表示  

/*//////////////////////////////////////////////////////////// 関数 //////////////////////////////////////////////////////////////*/
//▼1~6行のボタンが押されたとき
para01Btn.onClick = function () { //1行
    num = 1;
    btProcess();
};

para02Btn.onClick = function () { //2
    num = 2;
    btProcess();
};

para03Btn.onClick = function () { //3行
    num = 3;
    btProcess();
};

para04Btn.onClick = function () { //4行
    num = 4;
    btProcess();
};

para05Btn.onClick = function () { //5行
    num = 5;
    btProcess();
};

para06Btn.onClick = function () { //6行
    num = 6;
    btProcess();
};

//▼取り消しボタンが押されたとき
unDoBtn.onClick = function () {
    var bridgeTalk = new BridgeTalk(); //BridgeTalkを使用
    bridgeTalk.target = "illustrator-22";
    bridgeTalk.body = "undo();"
    bridgeTalk.send();
};

//▼やり直しボタンが押されたとき
reDoBtn.onClick = function () {
    var bridgeTalk = new BridgeTalk(); //BridgeTalkを使用
    bridgeTalk.target = "illustrator-22";
    bridgeTalk.body = "redo();"
    bridgeTalk.send();
};

//▼キャンセルボタンが押されたとき
cancelBtn.onClick = function () {
    win.close();
};

//▼長体処理関数 BridgeTalk
function btProcess() {
    var bridgeTalk = new BridgeTalk(); //BridgeTalkを使用
    bridgeTalk.target = "illustrator-22";
    bridgeTalk.body = "setBtnValue(num);"
    bridgeTalk.send();
}

//▼行数を指定する関数
function setBtnValue(num) {
    var sel=doc.selection;
    var paraLen = doc.selection.paragraphs.length; //選択している段落数
    //▼エラー処理
    if (paraLen > 1) {
        alert("選択している文字が段落に跨ってます。\r\nご確認ください。");
        return;
    }
    while (sel.lines.length > num) { //指定した行数になるまで-1づつ長体をかける
        sel.horizontalScale -= 0.1;
    }
}

//▼取り消し関数
function doUnDo() {
    undo();
}

//▼やり直し関数
function doReDo() {
    redo();
}

감상


처음에dropdownlist로 만들었는데 Windows10이 끊겨서 버튼을 썼어요.
장체를 100% 회복시키는 버튼, 장체율을 높이는 버튼 등도 설정할 수 있을 것 같다.
나는 함수 주위를 좀 더 예쁘게 쓰고 싶다...

좋은 웹페이지 즐겨찾기