View Single Post
Old 10-15-2018, 02:22 PM   #86
PoP
 curly᷂͓̫̙᷊̥̮̾ͯͤͭͬͦͨ ʎʌɹnɔ
PoP ought to be getting tired of karma fortunes by now.PoP ought to be getting tired of karma fortunes by now.PoP ought to be getting tired of karma fortunes by now.PoP ought to be getting tired of karma fortunes by now.PoP ought to be getting tired of karma fortunes by now.PoP ought to be getting tired of karma fortunes by now.PoP ought to be getting tired of karma fortunes by now.PoP ought to be getting tired of karma fortunes by now.PoP ought to be getting tired of karma fortunes by now.PoP ought to be getting tired of karma fortunes by now.PoP ought to be getting tired of karma fortunes by now.
 
PoP's Avatar
 
Posts: 3,018
Karma: 50506927
Join Date: Dec 2010
Location: ♁ ᴺ₄₅°₃₀' ᵂ₇₃°₃₇' ±₆₀"
Device: K3₃.₄.₃ PW3&4₅.₁₃.₃
FreeType & API

@NiLuJe long intro for a short question

Though I like the look of my (somewhat) proportional "box'" font
Quote:
Originally Posted by PoP View Post
it is rather limited in speed and styles; though I like the look of my "piczat" font
Quote:
Originally Posted by PoP View Post
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:
Attached Files
File Type: zip testpantspatrol.zip (2.1 KB, 401 views)

Last edited by PoP; 10-15-2018 at 07:38 PM. Reason: reddify ?
PoP is offline   Reply With Quote