freetype 을 이용하여 프로그래밍을 하고 있는데요..

khaki76의 이미지

freetype을 이용하여 폰트 레스터라이징을 하고 있는데요

이를 이용할려면 lib 파일을 만들어서 사용해야 되나요?

물론 만들어서는 해 봤는데요. lib 파일 사이즈가 너무 커서요.

어떤 방법으로 하면 되는지 방법을 알고 싶습니다.

임베이드쪽으로 응용을 하려고 해서요..

즐거운하루 되세요.

익명 사용자의 이미지

embeded 에서 freetype이라.... 좀 안어울리는 듯 보입니다.
모든 폰트를 사용하는 경우가 아니라면(소량의 폰트), 미리 생성된 폰트를 이미지로 덤프하고, 압축한 비트맵폰트를 만들어 사용하시는게 좋을듯합니다.

xster의 이미지

굳이 freetype을 사용하셔야 한다면, freetype에서 지원하는 폰트 타입이나, 기능을 옵션 선택하여 컴파일 하실 수 있습니다.
옛날에 작업하던 내용이라 몇가지 것들이 있었는데 다 잊어버렸네요.
컴파일 메뉴얼에서 옵션 설정 관련 내용을 살펴보세요.

크게 폰트가 중요하지 않다면 그냥 특정 포맷에 특화된 폰트 라이브러리를 사용하시는 것이 좋을 것 같습니다.

khaki76의 이미지

아..제가 생각하기에도..

소스를 짜집기 해서 만들어야 될거 같은데.

그게 가능할까요?

이왕이면 ansi-c 형태의 엔진을 하나 개발할려구 하는데요.

100k 안으로 만들수 있는지...너무 어렵네요..

deity4u의 이미지

저 같은 경우는 TRUETYPE만 사용하고 있습니다.
그것을 떠나서..
ftmodule.h에서.. 불필요한 부분을 주석으로 제외하면..
코드에서 빠지게 됩니다(freetype source폴더에서 아래에서 주석한 폴더는 제외시켜도 무방하게 되지요).

아래 코드는 제가 사용하고 있는 freetype 2.1.10의 ftmodule.h 소스입니다.

//  freetype에서 지원하는 fitting모듈입니다.
//  저는 truetype의 bytecode interpreter를 사용하지 않기때문에 autofit를 켜놓았습니다. 
FT_USE_MODULE(autofit_module_class)

//  아래 driver들은 해당 폰트 포맷을 지원할 때 사용합니다..
//  저같은 경우는 turetype만 지원해서 사용하고 있습니다.
FT_USE_MODULE(tt_driver_class)      turetype폰트를 지원할 때 사용
//FT_USE_MODULE(t1_driver_class)
//FT_USE_MODULE(cff_driver_class)
//FT_USE_MODULE(t1cid_driver_class)
//FT_USE_MODULE(pcf_driver_class)
//FT_USE_MODULE(bdf_driver_class)

// postcsript를 지원하기 위한 모듈(?? 정확히는..)
//FT_USE_MODULE(psaux_module_class)
//FT_USE_MODULE(psnames_module_class)
//FT_USE_MODULE(pshinter_module_class)
FT_USE_MODULE(sfnt_module_class)    // driver를 모듈과 연결시키는 놈(?)

//  아래는 render 관련 모듀들입니다.
FT_USE_MODULE(ft_raster1_renderer_class)  // Mono
FT_USE_MODULE(ft_smooth_renderer_class)  // anti-aliasing
//%FT_USE_MODULE(ft_smooth_lcd_renderer_class)
//%FT_USE_MODULE(ft_smooth_lcdv_renderer_class)
//FT_USE_MODULE(t42_driver_class)
//FT_USE_MODULE(pfr_driver_class)
//FT_USE_MODULE(winfnt_driver_class)
//FT_USE_MODULE(otv_module_class)

위의 모든 모듈에 대해 정확히 아는 것은 아니지만..
위와같이 setting하면 truetype에 대해서는 정상동작이 됩니다.
그리고 참고로.. ftoption.h에서도 원하는 혹은 원하지 않는 동작을 정하시면.. 코드를 나름대로 최적화 될 것이라 생각됩니다.

수고하세요~

khaki76의 이미지

나름대로 공부를 하고 있는데요.

라이브러리를 이용해서는 성공햇는데.

라이브러리를 빼구서 하기엔 내공이 역부족이라서요.

저도 트루타입만 구현을 할려고 합니다.

khaki76@empal.com

여건이 되시면 좀 부탁 드리겠습니다.

수고하세요.^^

익명 사용자의 이미지

truetype은 sfnt를 필요로 하고
sfnt는 psnames 필요로 한다고 합니다.
FT_USE_MODULE(psnames_module_class)
이건 켜놓는 게 좋을 듯.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.