1. 샘플은 font.swf, test.swf, useFont.swf 3가지로 구성되어있다.
font가 export될 sharing swf이고, useFont가 font를 import하여 사용할 swf.
test는 useFont를 URLLoader.load() 하여 화면에 보여줄 컨테이너 swf이다.
2. font.fla의 안에 sharing할 폰트를 구성한다.
라이브러리에 폰트를 추가한다.
3. Character ranges에 임베드할 문자들을 체크한다.
4. ActionScript탭으로 넘어가서 Export for ActionScript, Export in Frame 1에 체크한 후
Export for runtime sharing에 체크한다.
그리고 URL에 font.swf를 적어준다. 파일명을 적절히 적으면 된다.
5. 이번엔 font.swf를 sharing하여 사용할 useFont.fla를 열어본다.
useFont.fla를 연 후 Library에 방금 열었두었던 font를 선택한다.
(font.fla는 닫으면 안된다. 닫게 되면 목록에 뜨지 않는다.)
6. font.fla의 라이브러리 목록들이 보인다. 이것들을 다중선택하여 useFont.fla의 도큐멘트 영역에 쭉 드래그
하여 놓는다.
7. Library를 font에서 useFont로 다시 선택하면 방금 드래그했던 폰트들이 useFont 라이브러리에 추가되어있다. 대신 Import: 라는 글자가 앞에 붙어있다. font의 라이브러리 항목들을 공유한다는 뜻이 된다.
8. useFont.fla에 UI를 구성해 놓는다.(첨부파일 참조)
8. 이번엔 useFont를 URLLoader.load()할 test.fla를 열어본다.
버튼을 클릭하면 useFont.swf를 로드하고, 그 안에 CLICK버튼을 클릭하면 임베드된 폰트들이 적절하게 표시되는걸 확인할 수 있다.
9. 성공!!!
주의사항은, 샘플의 구조처럼 됐을 경우 test.swf와 font.swf가 같은 경로에 있어야 한다는 것이다.
font.swf를 사용하는 곳은 useFont.swf이지만, useFont.swf가 test.swf에 로드되어 포함되기 때문이다.
경로가 다를 경우엔, 4번의 url 적는 부분에 적절한 url을 넣어주어야 한다.
*해당 방식으로 폰트 임베드시 Dynamic, Input 텍스트필드 뿐만이 아니라 Static 텍스트필드에도 영향을 준다.
*프레임에 나열된 Static텍스트필드 같은 경우에 1프레임의 글자가 그 이후의 프레임으로 복사되는 현상이 있다.
즉, 1프레임에 "가나다"라는 Static텍스트필드가 있으면, 2프레임 이후에 있는 Static텍스트필드에 text가 어찌됐든 "가나다"로 바껴버린다.
또한, 위의 얘기처럼 됐을경우 1~4프레임에 Static텍스트필드가 존재하고, 5프레임에 빈 프레임, 그리고 6~10프레임에 Static텍스트필드가 존재한다고 하면, 1~4프레임이 1프레임의 글자, 6~10프레임은 6프레임의 글자가 된다.
이를 해결하기 위해선 Static 텍스트필드를 Dynamic텍스트필드로 고쳐주면 된다.