@NiLuJe long intro for a short
question
Though I like the look of my (somewhat) proportional "box'" font
Quote:
Originally Posted by PoP
|
it is rather limited in speed and styles; though I like the look of my "piczat" font
Quote:
Originally Posted by PoP
|
it only comes in so many fixed sizes, it is bloated with too many pictures, and it is not even proportional...
Then I remembered

that you linked
FreeType libraries in your
linkfonts hack, so I used the Tiny C Compiler to try it on the
PantsPatrol font:
Code:
[root@kindle root]# cd /mnt/us/tcc
[root@kindle tcc]# tcc -Iinclude -Iinclude/freetype2/freetype -Iinclude/freetype2 -Llinkfonts/lib/autohint -lfreetype -o testpantspatrol testpantspatrol.c
[root@kindle tcc]# ./testpantspatrol
Glyph 0 name .notdef 3 40 25 19 40
Glyph 1 name .null 0 0 0 0 0
Glyph 2 name nonmarkingretur 0 0 18 0 0
Glyph 3 name space 0 0 18 0 0
Glyph 4 name exclam 1 34 14 10 35
Glyph 5 name quotedbl 2 36 23 19 19
Glyph 6 name dollar 1 36 28 25 32
Glyph 7 name percent -2 35 36 36 39
Glyph 8 name ampersand 0 34 37 35 36
Glyph 9 name quotesingle 4 35 16 10 19
Glyph 10 name parenleft 0 35 18 15 43
Glyph 11 name parenright 4 35 21 16 43
Glyph 12 name asterisk 3 36 35 30 32
Glyph 13 name plus 2 28 25 22 22
Glyph 14 name comma 4 9 16 10 17
Glyph 15 name hyphen 2 22 21 17 10
Glyph 16 name period 2 8 15 11 10
Glyph 17 name slash 0 36 22 21 40
Glyph 18 name zero 1 34 32 29 37
Glyph 19 name one 1 34 19 15 35
Glyph 20 name two 2 34 30 27 35
Glyph 21 name three 2 34 31 26 36
Glyph 22 name four 0 36 34 31 36
Glyph 23 name five 2 34 31 28 36
Glyph 24 name six 1 34 30 28 35
Glyph 25 name seven 0 34 27 32 35
Glyph 26 name eight 1 34 31 28 36
Glyph 27 name nine 0 34 30 28 35
Glyph 28 name colon 2 23 15 10 25
Glyph 29 name semicolon 3 23 15 10 32
Glyph 30 name less 1 30 27 25 25
Glyph 31 name equal 3 27 26 20 19
Glyph 32 name greater 1 30 25 25 27
Glyph 33 name question 1 34 27 25 36
Glyph 34 name at 0 0 34 0 0
Glyph 35 name A 1 34 35 33 36
Glyph 36 name B 1 34 33 30 35
Glyph 37 name C 0 34 33 32 36
Glyph 38 name D 1 34 36 33 36
Glyph 39 name E 1 34 27 26 37
Glyph 40 name F 1 34 27 25 35
Glyph 41 name G 1 34 37 35 36
Glyph 42 name H 1 34 35 32 35
Glyph 43 name I 2 33 14 10 35
Glyph 44 name J 1 33 26 23 35
Glyph 45 name K 1 34 33 30 35
Glyph 46 name L 1 34 28 27 35
Glyph 47 name M 1 37 40 36 39
Glyph 48 name N 1 36 36 31 38
Glyph 49 name O 1 34 38 35 35
Glyph 50 name P 1 34 32 30 33
Glyph 51 name Q 1 34 38 35 38
Glyph 52 name R 1 34 33 30 35
Glyph 53 name S 1 34 31 29 36
Glyph 54 name T 0 34 32 31 36
Glyph 55 name U 1 34 34 32 35
Glyph 56 name V 1 35 35 32 36
Glyph 57 name W 1 35 57 54 36
Glyph 58 name X 1 34 31 28 36
Glyph 59 name Y 1 34 34 31 35
Glyph 60 name Z -3 34 32 33 35
Glyph 61 name bracketleft 1 35 20 17 43
Glyph 62 name backslash 0 35 24 23 42
Glyph 63 name bracketright 1 35 21 17 44
Glyph 64 name asciicircum 1 39 31 26 25
Glyph 65 name underscore 1 0 36 34 10
Glyph 66 name grave 1 38 17 12 13
Glyph 67 name a 1 27 30 27 29
Glyph 68 name b 1 33 28 25 34
Glyph 69 name c 0 28 26 25 29
Glyph 70 name d 0 33 28 25 34
Glyph 71 name e 1 28 31 28 29
Glyph 72 name f 1 34 21 20 34
Glyph 73 name g 3 27 31 25 38
Glyph 74 name h 1 34 28 24 35
Glyph 75 name i 1 35 14 10 35
Glyph 76 name j -1 35 17 15 46
Glyph 77 name k 0 34 27 26 35
Glyph 78 name l 1 34 14 10 35
Glyph 79 name m 2 28 48 44 29
Glyph 80 name n 2 28 31 27 29
Glyph 81 name o 1 28 32 29 30
Glyph 82 name p 1 28 28 25 37
Glyph 83 name q 1 28 29 25 37
Glyph 84 name r 2 27 23 20 29
Glyph 85 name s 1 28 28 25 30
Glyph 86 name t 1 33 22 20 34
Glyph 87 name u 1 27 31 26 29
Glyph 88 name v 0 26 29 26 28
Glyph 89 name w 0 27 46 44 29
Glyph 90 name x 3 27 29 23 29
Glyph 91 name y 0 27 32 29 38
Glyph 92 name z -3 27 30 33 29
Glyph 93 name braceleft 0 35 27 26 43
Glyph 94 name bar 0 0 18 0 0
Glyph 95 name braceright 0 35 28 27 42
Glyph 96 name asciitilde 2 23 36 32 15
Glyph 97 name .notdef 0 0 52 0 0
Glyph 98 name .notdef 0 0 52 0 0
Glyph 99 name .notdef 0 0 52 0 0
Glyph 100 name .notdef 0 0 52 0 0
Glyph 101 name .notdef 0 0 52 0 0
Glyph 102 name .notdef 0 0 52 0 0
Glyph 103 name .notdef 0 0 52 0 0
Glyph 104 name .notdef 0 0 52 0 0
Glyph 105 name dotlessi 0 0 18 0 0
Glyph 106 name circumflex 0 0 18 0 0
Glyph 107 name caron 0 0 18 0 0
Glyph 108 name macron 0 0 18 0 0
Glyph 109 name breve 0 0 18 0 0
Glyph 110 name dotaccent 0 0 18 0 0
Glyph 111 name ring 0 0 18 0 0
Glyph 112 name ogonek 0 0 18 0 0
Glyph 113 name tilde 0 0 18 0 0
Glyph 114 name hungarumlaut 0 0 18 0 0
Glyph 115 name quoteleft 4 35 16 10 19
Glyph 116 name quoteright 4 35 16 10 19
Glyph 117 name quotesinglbase 0 0 18 0 0
Glyph 118 name quotereversed 4 35 16 10 19
Glyph 119 name quotedblleft 2 36 23 19 19
Glyph 120 name quotedblright 2 36 23 19 19
Glyph 121 name ellipsis 2 8 37 31 10
[root@kindle tcc]#
Oh wait


I now see that you are working on an fbink API
to draw an image from memory
Could that image be the FreeType
Code:
bitmap = cur_glyph->bitmap;
that something like
Code:
fbink -g ptr=(bitmap,bitmap.width,bitmap.rows),x=row,y=column -x (glyph_metrics.horiBearingX / 64) -y (- glyph_metrics.horiBearingY / 64)
would draw
? I would then
Code:
x=x+glyph_metrics.horiAdvance / 64
to increment
-x advancing the pen for the next glyph and voilą, small, scalable, proportional, and moreover supporting
any font!!
src with the FreeType structures and code, and binary: