상상 너머 그 무언가...

swc 파일로 Font Embed 사용하기 본문

개발관련(Development)/플래시(Flash)

swc 파일로 Font Embed 사용하기

Clack 2012. 9. 7. 18:47

회사 업무로 flash나 flash builder 에서 프로젝트를 진행하면서 폰트를 임베디드 해야할 경우가 대부분이다.


먼저 사용할 폰트를 flash 에서 라이브러리에서 오른쪽 버튼을 눌러 'New Font...' 메뉴를 선택하거나 라이브러리 메뉴중에 골라서 폰트를 추가해야 한다.

아래 이미지 처럼 사용하고자하는 폰트를 Family 항목에서 고르고 Style 를 선택한 후 사용하고자 하는 이름을 적어준다.

Character ranges 에서 한글을 사용할것인지 숫자, 특문, 영어를 사용할것인지에 따라 체크를 하면 

왼쪽편에 있는 Font 목록에 한개씩 추가된다.


폰트추가가 다 끝났다면 해당 폰트를 액션스크립트에서 사용할 수 있도록 Linkage를 걸어줘야 한다.

아래 이미지 처럼 ActionScript 탭을 누르고 Linkage 에서 Export for ActionScript 를 체크하면 자동으로 클래스 이름과 베이스 클래스를 적용해준다. 클래스 이름은 사용하기 좋은 이름으로 수정해도 된다.


모든 폰트들을 linkage 설정해주었다면 아래 이미지 처럼 Library에 AS Linkage 란에 클래스 이름이 적용된것을 볼 수 있다.

빌드옵션에서 swc 파일을 체크하여 swc 파일로 빌드를 하면된다.

생성된 swc 파일을 flash나 flash builder의 프로젝트에 Library path에 추가하자.



그 뒤 액션스크립트에서 사용하러면



사용하고자 하는 폰트를 담을 폰트형 변수를 선언하고

해당 폰트가 적용될 텍스트포멧형 변수도 선언한다.

public var ygo330: Font;

public var ygo330Tf: TextFormat;


선언된 변수에 폰트의 클래스 이름으로 생성을 하고 폰트가 적용되어질 텍스트 포멧도 생성을 한 뒤

텍스트폰트의 font 속성으로 폰트변수의 fontName을 대입해주면 해당 텍스트 포멧으로 입력된 폰트이름의 폰트를 사용 할 수 있게된다.

ygo330 = new YGO330();

ygo330Tf = new TextFormat();

ygo330Tf.font = ygo330.fontName;

ygo330Tf.bold = true;


이제 텍스트필드에 setTextFormat 하거나 디폴드텍스트포맷으로 해당 텍스트 포멧을 설정해주면 된다.



매번 할때마다 까먹곤 해서 정리해보았다.