20071112 :: 일러스트레이터 CS2에서 자바스크립트 사용하기

*일전에 공개했던 글인데 DB를 날려먹은 후 큰 맘 먹고 다시 작성합니다

일러스트레이터 CS2가 나온지도 어느덧 2년하고도반정도가 지났습니다. 일러스트레이터CS2는 10.0 버전으로부터 CS로의 버전업과는 비교가 안될만큼 겉이나 속에서 많은 변화가 있었습니다. 그리고 이러한 많은 발전은 무거운 덩치에도 불구하고 숩을 9.0 사용자에서 CS2 사용자로 이끈 원동력이 되었습니다. 그것은 다름아닌 자바스크립트를 지원한다는 것이지요. 이는 포토샵과는 다른 일러스트레이터만의 특성 덕분에 정말 간단한 방법으로 노가다를 줄일 수 있게 되었습니다. 물론 포토샵CS2도 자바스크립트를 지원합니다만, 아무래도 HTML의 자바스크립트에 좀더 익숙하다보니 일러스트레이터의 자바스크립트가 훨씬 사용하기 쉽긴 쉽습니다.

문제는 주로 ‘디자이너’들이 사용하는 툴이다보니 아무도 일러스트레이터 자바 스크립트에는 관심을 가지지 않더란 말이지요. 없으면 만드는 것이지요. 최소한 정품에 포함된 자바스크립트 가이드에는 객체에 대한 레퍼런스가 포함되어 있어서 가이드를 참고하면서 코드를 작성하는 것은 그리 어렵지 않았습니다.

어쨌든 일러스트레이터에서 자바 스크립트를 사용하는 것이 어떤 이익이 있는가에 대해 먼저 살펴보도록하겠습니다.

일러스트레이터에서의 자동화 방법

포토샵의 액션은 매우 유명하지요. 일종의 매크로처럼 효과나 특정 작업을 기록하여 반복해서 쓸 수 있도록 하는 기능입니다. 특히 이러한 액션을 드롭릿(Droplet)으로 만들어 놓으면 파일을 드롭릿에 끌어다 놓는 것만으로도 자동으로 포토샵을 실행시켜 해당 액션을 적용하도록 할 수도 있습니다. 참고로 이러한 복수개의 파일을 변환하고 가공하는 방법을 더욱 편리하고 집약적으로 수행할 수 있도록 포토샵CS2에서는 image processor라는 자바스크립트를 지원합니다. (file 메뉴의 automation 항목을 잘 들여다보세요)

이러한 액션팔레트는 일러스트레이터에도 벌써 이전부터 존재해왔습니다. 다만 많이 안썼을 뿐이지요. 왜냐하면 일러스트레이터는 필터를 여러 번 적용하는 것처럼 단순 작업을 반복하기가 그리 빈번히 필요치 않기 때문입니다.

그리고, 일러스트레이터는 자바스크립트 (뿐만아니라 VB 스크립트와 Apple 스크립트도 지원합니다) 지원합니다 이러한 스크립트를 이용한 방법은 액션과 약간의 차이가 있으며, 또한 강력합니다.

기본적으로 액션은 기록된 매크로를 재생하는 방식을 사용합니다. 즉 사용자가 일러스트레이터의 UI를 이용하여, 메뉴의 항목을 선택하고 특정한 기능을 선택하여 적용하는 등의 일련의 작업을 그대로 녹화했다가 다른 상황에서 똑같이 재현하여 반복적인 작업을 단순화 하는 것이 그 핵심입니다.

이에 비해서 자바스크립트는 내부 자바스크립트 해석기에 의해서 작동되며 여기에는 사용자의 커서 움직임이나 키보드 단축키가 개입되지 않습니다. 하지만 스크립트는 등록된 액션을 호출하여 그대로 사용할 수도 있습니다. 또한 특정한 조건에 의해서 분기를 하거나, 조건을 만족하는 동안 반복문을 실행하는 등 우리가 알고 있는 기본적인 프로그래밍 로직에 의해 구동합니다. 따라서 사용하기에 따라서는 액션으로는 처리할 수 없었던 엄청난 작업들을 단 몇십… (차마 몇 줄이라고는 말 못하겠군요)줄의 코드만으로 처리할 수도 있습니다.

자바스크립트의 설치와 사용

일러스트레이터에서 자바스크립트를 사용하기 위해서는 다음과 같은 과정이 필요합니다.

1. 자바 스크립트 파일 작성하기

자바 스크립트 파일을 작성합니다. 다들 작성을 해야하는 건 아닙니다 웹을 뒤져보면 그럴싸한 스크립트를 또 구할 수 있겠지요. 아무튼 이러한 원본 스크립트 파일이 필요합니다. 스크립트 파일은 메모장으로도 작성할 수 있으며, .js의 확장자를 갖습니다. 다른 텍스트 에디터를 사용하여도 좋습니다만, 문자 인코딩은 ANSI를 사용하여야 하며, 파일 어느곳에도 한글, 한자, 일본어등의 비라틴문자(NonLatin Character)가 사용되어서는 안됩니다. 이는 주석에도 해당되어, 한글로 주석을 달아도 해석기가 작동하지 않아 일러스트레이터는 그냥 스크립트 파일 자체를 무시해버립니다.

2. 자바스크립트 파일 설치하기

일러스트레이터가 설치된 폴더(일반적으로 C:\Program Files\Adobe\IllustratorCS2\)아래에 있는 Preset\Scripts 폴더에 해당 js 파일을 복사해 넣으면 설치가 됩니다. 이렇게 이 폴더에 설치한 파일은 일러스트레이터가 구동할 때 인식되어 File 메뉴의 Scripts… 항목의 하위 메뉴로 나타나게 됩니다.

3. 자바스크립트 사용하기

자바스크립트 파일을 사용하기 위해서는 File > Scripts… 메뉴에서 이미 설치된 파일을 사용해도 됩니다만, 만약 스크립트 파일을 다른 곳에 모아두었다면 Other Sripts… 항목을 선택하여 실행할 수도 있습니다.

이로써 간단히 일러스트레이터에서 자바스크립트를 설치하고 사용하는 방법에 관해 알아보았습니다. 다음 글에서는 실제 작성된 자바스크립트가 어떻게 실행되는지를 살펴보며, 이를 통해 특정 폴더의 ai 파일들을 한꺼번에 jpg 파일로 변환하는 방법에 대해 살펴보겠습니다.

20071119 :: 개별 객체의 사이즈를 일괄 조정하기(일러스트레이터)

어느 디자인실에서의 대화

실장님 : A 씨 이번 패턴 꽤 이쁜데요?

A : 감사합니다. 허허.

실장님 : 음 그런데 이 요소요소가 너무 굵직한거 같아. 이거 간격은 그대로 두고, 크기만 좀 줄여서 다시 보여 줄 수 있죠?

A : 네? (음 그걸 새로 하려면 흐음흐음…)

실장님 : A씨는 컴퓨터로 작업하니까 금방 할 거 아녜요. 이거 다시 해서 한 번 봅시다.

자리로 돌아오는 A씨 조차도 그건 굉장히 간단한 일이라고 생각했다. 기본 형태가 되는 모티프를 세 개 정도 작업해서 이들을 각각 Ctrl+D 신공으로 무진장 많이 복사해서 만들었으니까. 하지만 막상 그게 생각만큼 간단한 일이 아니라는 것을 깨달았다. Ctrl+D 신공도 결국은 노가다 아니던가.

그러니까 간격은 그대로 두고

표현상 ‘패턴’이라는 말을 쓰기는 했지만, 실제 일러스트레이터상의 ‘패턴 스와치’를 말하는 것이 아닙니다. 간단한 예제를 아래에서 살펴보도록 하겠습니다.

2007-11-18_076.png

예를 들어서 이렇게 만들어 놓은 화면이 있다고 하겠습니다. 이는 꼭지가 5개인 별과 꼭지가 6개인 별을 기본으로 삼아 만든 두 가지 모티브를 반복적으로 복사하여 만든 패턴입니다. 이 때 중요한 것은 각각의 모티프는 최초 작업 후 ‘그룹’으로 묶어서 복사했다는 사실입니다. 그룹으로 묶여져 있지 않으면 오늘 소개할 팁은 제대로 의도했던 결과를 보여주지 않습니다.

위의 대화에서 실장님은 저 별들의 모양은 이쁘지만, 크기가 너무 크니 간격은 유지하고 각각의 별의 사이즈만 작게 만들어서 다시 작업해보라고 하셨지요. 아마도 A씨는 전체를 선택해서 Scale.. 명령을 쓰려고 시도할지도 모릅니다.

2007-11-18_080.png

별 전체를 선택한 다음 scale 명령을 써서 크기를 줄이면 어떻게 될까요? 그냥 UI 상에서 바로 축소하는 것과 다를 바가 없습니다. 모두의 예상대로 아래 그림처럼 별과 별 사이의 공백도 같이 줄어든축소판이 되고 맙니다.

2007-11-18_081.png

오늘 소개할 스크립트는 이러한 문제를 해결하기 위해 고민하다가 (사실 이 문제로 일러스트레이터 자바스크립트를 공부하기 시작했더랬습니다.) 머리가 빠져온 A씨를 구원해줄 스크립트입니다.

우선 아래에서 필요한 스크립트 원본을 다운로드 받습니다.

▶ 스크립트 다운로드 : ScaleEACH.js

스크립트를 실행하기 전에 우선 크기를 줄일 별을 모두 선택합니다. 그런 다음 해당 스크립트를 실행하면 아래와 같이 확대/축소를 할 비율을 입력받는 창이 나타납니다.

2007-11-18_077.png

50이라고 입력합니다. 해당 숫자는 50%로 인식되어 각각의 별은 크기가 50%로 축소됩니다. 결국 아래와 같은 모양이 되겠지요.

2007-11-18_079.png

원하는 크기가 아니라면 몇 번이고 반복하여 스크립트를 실행하면서 크기를 조절해보면 됩니다. 다만 처음에 생각했던 Ctrl+D 신공으로만 해결하려 했다면 아마 끝없는 노가다와의 싸움을 해야할 지 모르는 일입니다.

20090228 :: 일러스트레이터에서 폰트 샘플 열어보기

font preview in illustrator

일러스트레이터에서 이런 저런 도안 작업을 하면서 어떤 글꼴을 쓸까 고민하게 되는 일이 많습니다. 문구를 적어 놓고 아염없이 폰트를 바꿔보는 일도 많지만, 설치된 폰트가 수백개에 달하는 상황이라면 이런 작업도 만만치 않습니다. 디자이너에 따라서는 폰트 샘플표를 종이에 출력해 놓고 쓰는 경우도 많은데요, 이런 경우에도 ABCDEF… 만 써 있는 문구와 원하는 문구가 써 있는 경우의 느낌이 다른 경우도 많기 때문에 참고하기가 쉽지 않지요.

그래서 만든 일러스트레이터 폰트 미리보기 파일입니다.

자바스크립트를 실행하기 위해서는 illustrator cs 이상이 필요합니다. (cs2인지는 잘 모르겠네요)

다음 링크를 클릭하여 자바 스크립트 파일을 다운로드 받아 일러스트레이터가 설치된 폴더 아래에 presets/scripts 폴더에 저장합니다.
(다운로드 : http://cid-9a2a1991fc5129b7.skydrive.live.com/self.aspx/%ea%b3%b5%ec%9a%a9/preview%7C_all%7C_font.js)

해당 스크립트를 실행하면, 문구를 입력하는 창이 보입니다. (디폴트로는 soooprmx가 입력되어 있습니다.) 문구를 입력한 후 확인을 입력하면, 새로운 파일을 하나 생성하고(저장은 하지 않습니다) 입력된 문구를 사용하여, 모든 폰트로 텍스트를 생성하여 찍어 냅니다. 원하는 느낌의 문구가 보이면 복사해서 따다 붙이면 되겠지요.

그리고, 폰트를 많이 설치해서 사용하는 것은 아무래도 시스템 자원을 그만큼 많이 사용한다는 것이니, 여전히 부담스럽기는 합니다. 그런 경우에는 typograf라는 툴을 추천합니다. typograf에 대해서는 다음 기회에 한 번 설명하도록 하지요. (폰트를 많이 사용해야하는 디자이너들에게는 필수입니다. 유료이지만 결코 돈이 아깝지 않지요!)

20080628 :: Save multiple AI files into AI9 format

여러개의 ai 파일을 일정한 형식으로 한꺼번에 다시 저장하기

오랜만에 써 보는 일러스트레이터 관련 글입니다. 박윤미님이 요청해주셔서 다시 올려보게 되었습니다. 일러스트레이터에서 손 뗀지도 1년이 넘어가고 (오늘이 디자이너로서 마지막 출근을 한 지 꼭 일년째 되는 날이군요) 자바 스크립트도, 일러스트레이터 객체 모델도 잘 생각이 나지 않아서 좀 고생 했습니다. 뭐 물론 전에는 열심히 작성했었는데, 그게 하드를 지지난 주에 포맷하는 바람에 미처 백업을 못받아 다 날려버렸지 뭡니까.

이전에 포스팅한 바 있는 특정 폴더를 선택해 그 속에 있는 ai 파일을 한꺼번에 jpg로 변환하는 스크립트를 참고하여 새로 작성했습니다. 참고로 ai 9 형식의 포맷으로 일괄적으로 저장하도록 작성되었으며 (요즘도 이미지 작업이 필요한 경우에는 일러스트레이터 9 무설치 버전은 가끔 쓰고 있긴합니다) 텍스트는 모두 outline처리가 되도록 했습니다. (따라서 락이 걸린 레이어는 모두 락을 해제합니다.) 사용방법은 일전에 업로드한 변환 스크립트와 동일합니다. eps로 저장하는 스크립트는 역시나 늘 강조하는 ai 도움말 파일 중 자바스크립트 가이드 파일을 참고하여 저장 옵션 설정 부분 등을 바꿔주면 될 듯 합니다.

혹시나 해서 드리는 말씀이지만, 해당 스크립트의 저작권은 저에게 있습니다. 출처를 밝히며, 코드 변경 없이 재배포 하는 것은 가능합니다.

스크립트 다운받기 : Conversion AI Files to ver9.7z