임베드된 폰트를 공유심볼로 사용할 일이 생겼는데 잘 안 되어서 무척 삽질했었습니다.
이렇게 정리를 안해 놓으면 다음에 또 기억이 나지 않아 반복적으로 시간을 낭비하게 되어 나름 정리 하였습니다.
삽질하면서 한 거라 정확한 방법인지는 모르겠으나 혹 필요하신 분들을 위해 공유합니다.
1. font.fla 제작하기
- font 정보를 담아 공유 할 파일을 제작 할 것이다. 먼저 새 문서를 생성 후 font.fla로 저장한다.
- Library 우클릭 -> New Font..을 클릭한다.
- 이름과 해당 글꼴 속성을 세팅하고 ok를 누른다.
- Library에 생성된 Font를 우클릭하여 Linkage Properties를 선택한다.
- 창이 뜨면 Linkage 항목 중 Export for runtime sharing과 Export in first frame을 체크한 후
Identifier를 입력 (디폴트로 폰트 심볼 제작시 사용한 이름이 들어간다, 그냥 나둬도 된다,
나중에 공유 시 식별은 이름이 아닌 Identifier로 구분된다) 후
URL 항목에 자신의 퍼블리쉬 되는 swf 이름을 입력한다. (font.fla이므로 font.swf를 입력)
OK클릭
- Library 우클릭 -> New Symbol..을 클릭하여 빈 무비클립을 만든다. (이름은 자유롭게, 이 예제에서는 font라고 입력했다)
- Library에 생성된 font 무비클립을 우클릭하여 Linkage..을 선택한다.
- 창이 뜨면 Linkage 항목 중 Export for runtime sharing을 체크한 후(Export in first frame은 디폴트로 체크되는데 하고 안하고의 차이를 못 찾겠다)
Identifier를 입력 (디폴트로 심볼 제작시 사용한 이름이 들어간다, 그냥 나둬도 된다) 후
URL 항목에 자신의 퍼블리쉬 되는 swf 이름을 입력한다. (font.fla이므로 font.swf를 입력)
- Stage에 font 무비클립을 드래그한다.
- swf문서를 publish한다.
2. test.fla 제작하기(임베드 된 글꼴을 사용할 파일)
- 공유된 폰트swf 파일을 가져와 사용할 파일을 제작 할 것이다. 먼저 새 문서를 생성 후 test.fla로 저장한다.
- font.fla의 Library를 열어 font 무비클립을 test.fla의 Stage에 Drag한다.
- test.fla의 Library에 들어온 font 무비클립을 우클릭하여 Linkage..을 선택한다.
- 창이 뜨면 Linkage 항목 중 Import for runtime sharing을 체크한 후(체크 되어 있을 것이다)
Identifier를 입력 (디폴트로 드래그 한 무비클립 이름이 들어간다, 그냥 놔둬야 한다) 후
URL 항목에 가져올 swf 이름을 입력한다. (입력되어 있을 것이다, 여기선 font.swf를 입력)
- OK클릭
3. test.fla 에 스크립트를 넣어 테스트 해 본다.
- Stage에 레이어 추가 후 다음의 스크립트를 입력한다.
var fmt:TextFormat = new TextFormat();
fmt.color = 0xFF6600;
fmt.font = "Font 1"; // 자기가 제작한 font의 identifier를 입력한다.
fmt.size = 20;
_root.createEmptyMovieClip("mc", _root.getNextHighestDepth());
mc.createTextField("txt", _root.getNextHighestDepth(), 0, 0, 0, 0);
mc.txt.embedFonts = true;
mc.txt.autoSize = true;
mc.txt.text = "플래시 폰트 공유 라이브러리";
mc.txt.setTextFormat(fmt);
mc._x = 100;
mc._y = 100;
- Ctrl+Enter로 테스트 해본다.