블로그는 귀차니즘

First Sensation
  • 공지
  • 지역로그
  • 태그
  • 방명록

DevkitPro에 Freetype 라이브러리 설정하는 방법

PSP-Programming 2008/06/04 22:35 귀차니스트
  결국 어제에 이어 해결책을 찾기는 찾았습니다. 보통 PSP 프로그램을 보니 많은 프로그램이 자체  Raw폰트를 생성하여 한글이나 한문을 출력하더군요. 제가 첫 Freetype에 대한 글에도 적었다시피 그런예가 아닌 ttf 파일을 읽어 출력하는 방법으로 프로그램을 만들고 싶어했습니다.
  그리하여 어제 부터 제대로 시작한 삽질이 결국 끝을 보긴 봤군요. 아래는 설치방법입니다.

1. DevkitPro 설치

  http://kkamagui.tistory.com/437에 올라온 내용대로 DevkitPro를 설치해야 합니다. 왜냐하면 일단 개발툴이 있어야 하잖아요^^. 제가 볼 때는 PSP-SDK 같은것을 따로 개별적으로 설치하면서 삽질하느니 이 통합설치패키지를 설치하면서 시간을 줄이는 것이 더욱 좋을것 같습니다.

2. msysDTK-1.0.1.exe 설치

 
http://sourceforge.net/project/showfiles.php?group_id=2435에서 msysDTK-1.0.1.exe를 받아 설치합니다. 설치는 devkitpro를 c:\devkitpro로 설치하였다면 c:\devkitpro\msys 로 설치하시면 됩니다. 파일은 + 버튼을 눌러보면 숨겨진 파일들이 있을텐데 자세히 찾아보시면 있을 겁니다.

3. autoconf-2.61-MSYS-1.0.11-1.tar.bz2 설치

  http://sourceforge.net/project/showfiles.php?group_id=2435에서 autoconf-2.61-MSYS-1.0.11-1.tar.bz2를 받아 설치합니다. 파일을 받은 다음 bin, share 폴더 들이 존재하도록 하여 그 파일들만 msys 폴더 아래의 bin, share 폴더와 병합되도록 하시면 됩니다. 이 압축해제는 tar.bz2 파일에 모두 해당됩니다.

4. m4-1.4.7-MSYS.tar.bz2 설치

  http://sourceforge.net/project/showfiles.php?group_id=2435에서 m4-1.4.7-MSYS.tar.bz2를 받아 설치합니다.

5. binutils-2.18.50-20080109-2.tar.gz 설치

  http://sourceforge.net/project/showfiles.php?group_id=2435에서 binutils-2.18.50-20080109-2.tar.gz를 받아 설치합니다.

6. SVN 설치

 
http://synfig.org/Mingw_installation#Subversion에서 http://subversion.tigris.org/files/documents/15/36797/svn-1.4.3-setup.exe  파일을 받아 설치합니다. 포팅된 freetype2 라이브러리를 받기 위해선 위 툴이 필요합니다. 혹 기존 svn 프로그램이 있다면 생략해도 됩니다.

7. Freetype2 라이브러리 받기

  msys 프로그램을 실행합니다. msys 폴더 아래에 있습니다. 실행한 다음 아래의 명령을 입력합니다.
  svn co svn://svn.ps2dev.org/psp/trunk/freetype

8. Compile 하기

  위 명령으로 freetype 라이브러리를 받으면 freetype 폴더가 생성되고 그 안에 모든 파일을 받습니다. freetype 폴더 안으로 들어간 다음, 아래의 명령을 실행합니다.
  sh autogen.sh
  LDFLAGS="-L$(psp-config --pspsdk-path)/lib -lc -lpspuser" \
  ./configure --host psp --prefix=$(psp-config --psp-prefix)
  make
  make install

 
꼭 \ 를 붙여주셔야 합니다. 왜냐하면 libc 에 해당되는 의존성 문제가 해결되야 하기 때문에 그렇습니다.

9. Freetype 라이브러리 헤더 설정

  기존 설치경로로 생각을 한다면, C:\devkitPro\msys\home\FilePointer\freetype\include 에 존재하는 freetype 폴더와 ft2build.h 를 C:\devkitPro\devkitPSP\psp\sdk\include 로 복사합니다. 이렇게 되면 make 시 ft2build.h 를 자동 인클루드 하게 됩니다.

10. 예제 컴파일

 
FontLoader 샘플 컴파일, 0.1 버젼 혹은 0.2 버젼을 받은 다음 Sample\GU 폴더에 들어가 make 파일을 실행합니다. 그런 다음 PSP에 복사하고 ttf 파일도 복사하고 테스트를 해봅니다^^.

  약간 복잡하군요^^. 에구 의존성 문제 해결한다고 삽질을 좀 많이 했군요. 어제 새벽 2시쯤엔 거의 정신이 몽롱해지더랍니다. 그래도 좋은 결과가 나와서 다행이네요. 더 많은 삽질도 없구요. 그럼 모두 즐거운 개발되시길 바랍니다.
크리에이티브 커먼즈 라이센스
Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-동일조건변경허락 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.

"PSP-Programming" 분류의 다른 글

하..한글 출력이.. (0)2008/06/20
DevkitPro에 Freetype 설정 문제.. (0)2008/06/03
PSP - Freetype2 를 사용한 폰트출력 라이브러리 (4)2008/05/25
라이브러리 지원이 빵빵하군요. (0)2008/05/20
PSP 화면 출력 부분에... (0)2008/05/18
2008/06/04 22:35 2008/06/04 22:35
TAG Freetype2, PSP, 개발
받은 트랙백이 없고, 댓글 4개가 달렸습니다.

트랙백 주소 :: http://www.filewiki.net/tc/trackback/73

댓글을 달아 주세요

  1. kkamagui 2008/06/05 08:51  댓글주소  수정/삭제  댓글쓰기

    와우~ 드디어 해결했구나 @0@)/~
    훌륭하다~ ㅎㅎ 고생했으~ ㅋㅋ

    • 귀차니스트 2008/06/05 20:52  댓글주소  수정/삭제

      그렇네요 ㅋㅋ 이제 맹그는거만 남은듯 ? ㅋㅋ

  2. 베리베리 2008/07/27 14:07  댓글주소  수정/삭제  댓글쓰기

    감사합니다^^

    • 귀차니스트 2008/07/27 20:47  댓글주소  수정/삭제

      도움이 되셨다니 다행입니다^^;

DevkitPro에 Freetype 설정 문제..

PSP-Programming 2008/06/03 11:53 귀차니스트
  에구.. 오랫만에 Freetype 라이브러리 문제를 해결해봐야 겠다 싶어 벌 써 몇시간 째 설정 중이네요. 일단 바이너리 쪽의 의존성 문제는 어느정도 해결을 봤는데, 이제 컴파일러 쪽에서 문제가 발생하는군요. psp-gcc.exe 로 만들어져 있는 것을 어떻게 configure 에서 checking gcc ... Yes로 바꿀까요? 이 것 참. 난감합니다.
  Makefile 로 수정이 가능할지는 모르겠습니다만. 일단 어느정도 되어가고 있으니 문제를 해결한 다음 글을 정리하여 올리도록 하겠습니다.
 


  일단 진행중인 스샷이긴한데 이 부분을 해결해 보겠습니다. 시간이 빨리 지나가버리는 군요^^.
크리에이티브 커먼즈 라이센스
Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-동일조건변경허락 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.

"PSP-Programming" 분류의 다른 글

하..한글 출력이.. (0)2008/06/20
DevkitPro에 Freetype 라이브러리 설정하는 방법 (4)2008/06/04
PSP - Freetype2 를 사용한 폰트출력 라이브러리 (4)2008/05/25
라이브러리 지원이 빵빵하군요. (0)2008/05/20
PSP 화면 출력 부분에... (0)2008/05/18
2008/06/03 11:53 2008/06/03 11:53
TAG Freetype2, PSP
받은 트랙백이 없고, 댓글이 없습니다.

트랙백 주소 :: http://www.filewiki.net/tc/trackback/72

댓글을 달아 주세요

PSP - Freetype2 를 사용한 폰트출력 라이브러리

PSP-Programming 2008/05/25 22:18 귀차니스트

  PSP에서 돌아갈 프로그램들을 개발하려다 보니 한글을 출력하는 것이 필수적(?)이 되어버리더군요. 주로 취급하게 될 데이터가 한글데이터가 될 예정이다 보니 한글을 깨끗하고 예쁘게 출력하는 것을 원하게 되더랍니다. 사실 단순히 출력만을 위해서라면 Raw 데이터 및, 비트 마스트들을 이용하여 출력하면 되지만 크기에 따라서 화면이 달라지고, 앤티 앨리어싱이 필요할 경우를 생각하다 보니 예상외로 고려해야 할 부분이 많더군요.
  그리하여 웹을 한 참 찾아보다 예전부터 꽤 유명했던 Freetype, Freetype2 라이브러리를 PSP에서 사용할 수 있더군요^^. @0@ 우왕~굳 스럽더군요.



http://www.psp-programming.com/animate/fontloader/

  여길 가보셔서 해당 라이브러리를 사용해보세요^^. freetype 라이브러리 자체가 한글을 지원하는 것으로 알고 있기 때문에, 해당 라이브러리를 사용한 프로그램으로 한글 폰트를 읽는다면 출력이 제대로 가능할 겁니다^^. 그럼 다들 즐거운 개발 되세요^^;
크리에이티브 커먼즈 라이센스
Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-동일조건변경허락 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.

"PSP-Programming" 분류의 다른 글

하..한글 출력이.. (0)2008/06/20
DevkitPro에 Freetype 라이브러리 설정하는 방법 (4)2008/06/04
DevkitPro에 Freetype 설정 문제.. (0)2008/06/03
라이브러리 지원이 빵빵하군요. (0)2008/05/20
PSP 화면 출력 부분에... (0)2008/05/18
2008/05/25 22:18 2008/05/25 22:18
TAG Freetype2, PSP, 폰트
받은 트랙백이 없고, 댓글 4개가 달렸습니다.

트랙백 주소 :: http://www.filewiki.net/tc/trackback/69

댓글을 달아 주세요

  1. kkamagui 2008/05/26 07:48  댓글주소  수정/삭제  댓글쓰기

    와우~ 멋지다야~ ^^)/~
    빨리 하나 만들어서 올려보셈 ㅋㅋ

    • 귀차니스트 2008/05/30 22:56  댓글주소  수정/삭제

      ㅋㅋ 천천히 맹글고 있다는 무시무시한 사실이 ㅋㅋ

  2. 준호씨 2008/06/05 10:02  댓글주소  수정/삭제  댓글쓰기

    이게 어제 봤던 그거군 >_<;;
    멋져브러~~

    • 귀차니스트 2008/06/06 21:42  댓글주소  수정/삭제

      헐... 머가 멋지셈 ㅋㅋㅋ

라이브러리 지원이 빵빵하군요.

PSP-Programming 2008/05/20 23:41 귀차니스트
  어제 오늘 PSP로 만지작 만지작 거리면서 테스트 프로그램을 몇 개 만들어봤습니다. 그렇게 시간이 엄청 많은 것은 아니었고 어느정도 테스트를 해보았는데, 일단 텍스트 출력하는 것을 파일로 읽어서 출력하는 것, 선 그리는 것을 gu라이브러리가 아닌 메모리 직접 액세스로 그리는 방법을 구현해봤습니다.
  한 가지 궁금한 것은 보통 설명에서 sceIOpen 같은(?) 함수를 사용하여 파일을 조작하더군요. 그런데 혹시나 싶어 기본 라이브러리로 조작이 가능한지 궁금하여 테스트 해보았습니다.

printf.cpp (Language : cpp)
  1. int main::Run()
  2. {   
  3.     char TempData[500] = {0,};
  4.  
  5.     //FILE *fp = fopen("a.txt", "rb");
  6.     //fgets(TempData, 500, fp);
  7.     //fclose(fp);
  8.     std::ifstream File;
  9.     File.open( "a.txt" );
  10.     File.getline( TempData, 500 );
  11.     File.close();
  12.  
  13.     pspDebugScreenPrintf(TempData);
  14.     sceKernelSleepThread();
  15.  
  16.     return 0;
  17. }

  위와 같은 코드에서 적었듯이 FILE* 형태인 파일포인터를 이용한 방법도 제대로 출력이 되었고, C++ 에서 기본 제공하는 std::fstream으로도 파일리딩이 제대로 가능하더군요. 그림은 다시 테스트 중이라 아직 원하는 결과물을 보지 못했습니다.

abdefghijklmnopqrstuvwxyz

  라고 a.txt 에다 내용을 저장했습니다. 그럼 대충 추측이 가능하시죠^^; 뭐 제가 더 이상 말씀 드릴게 없을 것 같습니다.



  결과는 위와 같습니다. 이 것참 카메라가 없어서 폰카로 찍다보니 품질에 좌절감이 드는군요. 하나 살까 생각이 갑자기 드네요. 지름은 지름을 부른다는 말이 맞습니다.
  그런데 std::cout 에 대해서는 제대로 작동이 되지 않는 군요. 하긴 별로 사용하지 않으므로 그렇게 지원되냐 안되냐에 따라서 큰 문제가 되지는 않아 별 상관은 없습니다. 그래도 있으면 좋은데 없으니 필요할땐 불편하리라 생각합니다.



  위 그림은 예전 선 그리기 소스에서 작성했던 그림(?)입니다. 일단 더 차츰차츰 테스트 해서 필요한게 다 정의 되면 바로 프로그램 원하는 것으로 개발 들어가야 겠습니다^^; 그럼 오늘도 좋은 하루 되세요.
크리에이티브 커먼즈 라이센스
Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-동일조건변경허락 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.

"PSP-Programming" 분류의 다른 글

하..한글 출력이.. (0)2008/06/20
DevkitPro에 Freetype 라이브러리 설정하는 방법 (4)2008/06/04
DevkitPro에 Freetype 설정 문제.. (0)2008/06/03
PSP - Freetype2 를 사용한 폰트출력 라이브러리 (4)2008/05/25
PSP 화면 출력 부분에... (0)2008/05/18
2008/05/20 23:41 2008/05/20 23:41
TAG PSP, 개발, 파일입출력
받은 트랙백이 없고, 댓글이 없습니다.

트랙백 주소 :: http://www.filewiki.net/tc/trackback/67

댓글을 달아 주세요

PSP 화면 출력 부분에...

PSP-Programming 2008/05/18 23:34 귀차니스트
  수, 목요일 야근을 조금 한 다음 체력회복을 위해서 약간 쉬었다가 주말 일요일 때 시간이 그래도 남고, 오랫동안 포스팅을 하지 않은 것 같아서 출력 부분에 대해서 손을 대봤습니다. 대충 다른 분께서 만드신 출력소스를 보니 0x04000000를 기본 베이스로 하여 메모리에 직접 데이터를 써넣는 방식이더군요.  그래서 제 소스에 대충 적용을 해보려고 핵심만 빼와서 코딩을 적용시킨 뒤, 컴파일 하고 실행을 하니 왠 걸 출력이 안됩니다 ㅜ_ㅜ
  대체 왜 그럴지 아직 감이 잡히는 부분이 없군요. 아예 출력 부분을 손을 대는 순간 메인 쓰레드가 뻗어버리는 것 같습니다. 프로그램이 XMB 메뉴로 종료되지 않는 것으로 보아선 그렇다고 생각할 수 밖에 없겠더군요. 오랫동안 실행 시키는 것 자체는 뭔가 잘못 건드려 고장낼 것만 같아 금방금방 끄게 되더군요^^;

main.cpp (Language : cpp)
  1. #define SCR_HEIGHT (512)
  2.  
  3. int main::Run()
  4. {
  5.     volatile static u32* g_vram_base = (u32 *) 0x04000000;
  6.     int x = 0, y = 0;
  7.     int Color = 0xFF000000;
  8.    
  9.     while(!m_IsExit){
  10.  
  11.         *( g_vram_base + ( y * SCR_HEIGHT ) + x ) = Color++;
  12.        
  13.         if( x == 512 )  {
  14.             x = 0;
  15.             y++;
  16.         }
  17.  
  18.         if( y == 50)    {
  19.             y = 0;
  20.         }
  21.     }
  22.     return 0;
  23. }

수정버젼.cpp (Language : cpp)
  1. #define SCR_HEIGHT (512)
  2.  
  3. volatile static u32* g_vram_base = (u32 *) 0x04000000;
  4.  
  5. int main::Run()
  6. {   
  7.     int x = 0, y = 0;
  8.     int Color = 0xFF000000;
  9.    
  10.     while(!m_IsExit){
  11.  
  12.         *( g_vram_base + ( y * SCR_HEIGHT ) + x++ ) = Color++;
  13.        
  14.         if( x == 512 )  {
  15.             x = 0;
  16.             y++;
  17.         }
  18.  
  19.         if( y == 50)    {
  20.             y = 0;
  21.         }
  22.     }
  23.     return 0;
  24. }

  혹시 문제점에 대해서 잘 아시는 분 계실까요?? 아는 형에게 물어보니 volatile 을 써보라고 해서 써보긴 했습니다. 아무래도 레지스터가 아닌 메모리에서만 데이터가 존재해야 하니 Memory-Mapped 방식이면 그래야 하겠다는 생긱이 무척 많이 들더군요. 그런데 추가를 해도 마찬가지였습니다.
  이 것참 난감합니다. 부분만 빼내와서 그럴까요?? 아니면 0xFF000000부분 에서 Alpha 값이 문제가 되는 것 일까요? 오늘은 자기 전까지 삽집을 해봐야 겠군요^^;
  추가 - 에구.. 제가 아직 회복이 덜 됐나 봅니다. 이거 코드를 잘 못 써놓고 왜 안되지 하고 있었군요. ㅠㅠ 이런 기초적인 실수를 하다니 민망합니다ㅠㅠ. 그런데 프로그램이 종료 안되는 것은 아직 뭔지 잘 모르겠군요^^;
크리에이티브 커먼즈 라이센스
Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-동일조건변경허락 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.

"PSP-Programming" 분류의 다른 글

하..한글 출력이.. (0)2008/06/20
DevkitPro에 Freetype 라이브러리 설정하는 방법 (4)2008/06/04
DevkitPro에 Freetype 설정 문제.. (0)2008/06/03
PSP - Freetype2 를 사용한 폰트출력 라이브러리 (4)2008/05/25
라이브러리 지원이 빵빵하군요. (0)2008/05/20
2008/05/18 23:34 2008/05/18 23:34
TAG PSP, 개발
받은 트랙백이 없고, 댓글이 없습니다.

트랙백 주소 :: http://www.filewiki.net/tc/trackback/66

댓글을 달아 주세요

◀ 이전페이지 1 2 3 다음페이지 ▶

블로그 이미지
First Sensation 귀차니스트
rss
  • 관리자
  • 글쓰기

카테고리

  • 전체 (108)
    • Computer (3)
    • Language (14)
    • Reverse Engineering (1)
    • Algorithm (9)
    • TopCoder (3)
    • Library (2)
    • Programming (19)
    • Programming Tip (9)
    • PSP-Programming (10)
    • Program (5)
    • Small Talk (29)
    • Document (4)

최근에 올라온 글

  • 한게임 자동테트리스 Ve....
  • Intel 64 And IA32 Arch.... (1)
  • 한게임 자동테트리스 Ve.... (18)
  • 재귀적 합성이랄지...
  • 또 오랜기간의 공백을....

최근에 달린 댓글

  • 오오~ 멋진데 :) 좋은 일 하.... kkamagui 11/17
  • .. 그렇군요;;.. 사실 뭐 저.... 귀차니스트 11/16
  • 고생은하셨다만.. 벌써 프로.... 뉴올리언스 11/16
  • 이 부분은 본문에 명시되어.... 귀차니스트 11/15
  • 관리자만 볼 수 있는 댓글입.... 비밀방문자 11/15

달력

«   2008/11   »
일 월 화 수 목 금 토
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30            

링크

  • kkamagui 프로그래밍 세상.
  • 류광의 번역 이야기.
  • 서광열의 프로그래밍 언....
  • 준호씨의 블로그.
  • 최익필의 이름없는 블로그.
  • 위키는 귀차니즘.

최근에 받은 트랙백

  • 궁극의 예외처리. 이름없는 블로그 05/16
  • Maximum sum. 티스토리 지점 04/09

글 보관함

  • 2008/11 (3)
  • 2008/10 (2)
  • 2008/09 (3)
  • 2008/08 (5)
  • 2008/07 (13)

태그목록

  • 개인정보유출
  • 디자인패턴
  • C++ Builder
  • XHTML
  • 뻘글
  • \r\n
  • RF959
  • .Net
  • 입양
  • 1.35
  • Logitech
  • Dialog
  • 어쌔신 크리드
  • 상속
  • 한글표현
  • 홈브류
  • Array
  • Run Length
  • 재귀적합성
  • 보안
  • Code
  • Interface
  • Shell
  • 해로
  • Builder
  • ostreambuf_iterator
  • 프로그래밍
  • SSD
  • 분양
  • 오보에

지역로그 : 태그 : 방명록 : 관리자 : 글쓰기
귀차니스트’s Blog is powered by Textcube 1.7.5 : Risoluto / Designed by DesignNia.net