본문 바로가기

Study/Engine

libGDX에서 TTF를 BitmapFont로 가져다 쓰기!

삼성소프트웨어멤버십 포트폴리오 정리하다가 소스코드 수정하고 있었는데, TTF를 가져다 쓸 일이 있다가 왠지 블로그에 글을 써보고 싶어서 이렇게 정리해봅니다 (...)


libGDX 제작자의 블로그에 가보면, GDX-FREETYPE 이라는 확장 기능으로 TTF를 BitmapFont로 사용가능하다고 써있는데요(libGDX 제작자의 해당 글 링크), 사실 제작자 블로그 링크타고 바로 봐도 제가 지금 쓸 내용과 똑같다는게 ㅋㅋ; 즉, 날로 먹긔 (...)


일단, 최신버전의 libGDX를 설치해둔 상태라면, libGDX 폴더에 가보시면 extensions라는 폴더가 있는데, 그 안에 있는 gdx-freetype.jar와 armeabi에 있는 libgdx-freetype.so파일을 프로젝트의 libs 폴더로 복사해줍니다.



***** 참고로, armeabi 폴더의 경우엔 전부 복사하지 말고 libgdx-freetype.so만 복사하세요!



복사하면 아래와 같은 형태로 되있을 겁니다.





그리고 이전에 프로젝트 설정할 때 처럼 세팅해주시면 끝!





Library에 Add Jar를 눌러서 복사한 jar 파일을 추가하시면 됩니다.



그리고 소스코드에서 사용할 땐,


FreeTypeFontGenerator generator = new FreeTypeFontGenerator(Gdx.files.internal("font.ttf"));
BitmapFont font15 = generator.generateFont(15); // 괄호 안에 값은 폰트 크기
BitmapFont font22 = generator.generateFont(22);
generator.dispose();


라고 쓰면 됩니다. 제작자 블로그에는 generateData(...) 라고 되있을텐데, 그럼 형태가 안맞는다면서 이클립스가 츤츤댑니다 (???) 그래서 generateFont(...) 라고 해주셔야합니다.


그럼 이것으로 정리는 끝~!ㅋ



P.S : 하지만 한글 출력이 안된다는거...ㅠㅠ 한글을 출력하려면 Hiero와 같은 툴을 써야하는데 최근에 보안상의 이유로 막힌 것 같네요... 일단 잘 정리된 블로그의 링크를 걸어봅니다.