u8x8 16x16 font, issue #771

This commit is contained in:
kraus 2018-12-24 15:07:43 +01:00
parent aab878a9fd
commit 9f203f3c59
7 changed files with 211 additions and 13 deletions

View File

@ -0,0 +1,12 @@
CFLAGS = -g -Wall -I../../../csrc/. `sdl2-config --cflags`
SRC = $(shell ls ../../../csrc/*.c) $(shell ls ../common/*.c ) main.c
OBJ = $(SRC:.c=.o)
helloworld: $(OBJ)
$(CC) $(CFLAGS) $(LDFLAGS) $(OBJ) `sdl2-config --libs` -o u8g2_sdl
clean:
-rm $(OBJ) u8g2_sdl

167
sys/sdl/16x16_u8x8/main.c Normal file
View File

@ -0,0 +1,167 @@
#include "u8x8.h"
u8x8_t u8x8;
const uint8_t u8x8_font_px437wyse700a_bl[771] U8X8_FONT_SECTION("u8x8_font_px437wyse700a_bl") =
" \177\0\0\0\0\0\0\0\0\0\0\0\0\0\1\67\67\0\0\0\0\0\0\0\0\0\10\10\77\77\77"
"\10\10\0\0\10\30\30\71\361\341\0\0 \60\70<\36\17\0\14\36\36\77\63##\0\0\0\0\0\0"
"\0\0\0\0\0\0\7\17\37\77\0\0\0\0\0\0\0 \0\1\5\5\7\7\3\3\0\1\1\1\1\1"
"\17\17\0\0\0\0\0@xx\0\1\1\1\1\1\1\1\0\0\0\0\0\0\60\60\0\0\20\30\34\36"
"\17\7\0\0\17\37\37\77\66#\0\0 \77\77\0\0\60\70<<.&\0\0\20\20\60\60"
"!!\0\0\3\3\3\3\42\42\0\0\20\20\60\60 \0\0\17\37\37\77\61!\0\0\0\0\0\0"
">\77\0\0\14\36\36\77\63!\0\0\0\0 !!!\0\0\0\0\0\0\30\30\0\0\0\0\0 "
"\70\70\0\0\1\3\7\17\36<\0\0\4\4\4\4\4\4\0\0\0\0\0 \60\70\0\0\0\0\0\0"
"\66\67\0\17\37\37\77\60#'\0\0\77\77\77\77\2\2\0 \77\77\77\77!\0\0\17\37\37\77"
"\60 \0 \77\77\77\77 \0 \77\77\77\77!\0 \77\77\77\77!\0\0\17\37\37\77"
"\60 \0\0\77\77\77\77\1\1\0\0\0\0 \77\77\0\0\10\30\30\70\60\60\0 \77\77\77"
"\77\3\0 \77\77\77\77 \0\77\77\77\77\0\0\1\0\0\77\77\77\77\0\1\0\0\17\37\37\77"
"\60 \0 \77\77\77\77!\0\0\17\37\37\77\60$\0 \77\77\77\77\3\0\10\30\30\70\60"
"!!\0\0\0\0 \77\77\0\0\17\37\37\77\60 \0\0\3\7\17\37<\70\0\17\37\77\77\70"
"\34\16\0\0\60\70<>\17\7\0\0\0\0!#\77\77\0\0\60\70<>/'\0\0\0\0\77\77"
"\77\77\0\0\0\0\0\0\1\3\0\0\0\0 \0\0\0\0\0\0\0\0\0\200\200\200\200\200"
"\200\200\0\0\0\0\0\0\0\0\0\0\34\34>>\42\42\0\0 \77\77\37\37\0\0\37\37\77\77"
" \0\0\36\37\77\77! \0\0\37\37\77\77$$\0\0!!\77\77\77\77\0\0OO\337\337"
"\220\220\0\0 \77\77\77\77\0\0\0\0\0\0 \0\0 ``\340\300\200\0\0 \77\77"
"\77\77\0\0\0\0\0\0 \0\77\77\77\77\1\77\77\0\0\0\0\77\77\77\77\0\0\16\37\37\77"
"\61 \0\0\200\200\377\377\377\377\0\0\6\17\17\37\31\20\0\0 \77\77\77\77\0\0\23\23\67\67"
"$$\0\0\0\0\0\37\37\77\0\0\37\37\77\77 \0\7\7\17\17\30\30\60\0\17\37\77\77\60"
"\70\34\0\0 \61;\37\16\0\0\7\17\217\237\230\220\0\0\61\61\71\71,,\0\0\1\1\1\1"
"\17\37\0\0\0\0\0\0>>\0\0 \60>\77\0\0\0\0\0\0\0\0\0\0\7\7\7\7"
"\4\4";
const uint8_t u8x8_font_px437wyse700a_br[771] U8X8_FONT_SECTION("u8x8_font_px437wyse700a_br") =
" \177\0\0\0\0\0\0\0\0\67\67\1\0\0\0\0\0\0\0\0\0\0\0\0\0\10\10\77\77\77\10"
"\10\0\341\363\77\36\36\14\0\0\7\3\61\60\60\60\0\0\67\36\36\77\77\63!\0\0\0\0\0\0\0"
"\0\0\70\60 \0\0\0\0\0\60\70\77\37\17\7\0\0\3\3\7\7\5\5\1\0\17\17\1\1\1\1"
"\1\0\70\30\0\0\0\0\0\0\1\1\1\1\1\1\1\0\60\60\0\0\0\0\0\0\3\1\0\0\0\0"
"\0\0!\60\77\37\37\17\0\0\77\77 \0\0##\61\61\60\60\0\0!!\63\77\36\36"
"\14\0\77\77\77\77\42\42\0\0 \61\77\37\37\16\0!!\63\77\36\36\14\0\77\77\1\0\0\0"
"\0\0!!\63\77\36\36\14\0!!\61\77\37\37\17\0\30\30\0\0\0\0\0\0\70\30\0\0\0\0"
"\0\0\70\60 \0\0\0\0\0\4\4\4\4\4\4\0\0<\36\17\7\3\1\0\0\67\67\1\0\0\0"
"\0\0'$$$''\3\0\2\2\77\77\77\77\0\0!!\63\77\36\36\14\0 \60\70\30\30"
"\10\0 \60\77\37\37\17\0!## \60\70\70\0!\3\3\0\0\0\0\0 \42\62>\36>"
">\0\1\1\1\77\77\77\77\0\77\77 \0\0\0\0\60\77\37\37\17\0\0\0\7\17\36<\70\60"
" \0 \60\70\70\0\1\0\0\77\77\77\77\0\3\7\16\77\77\77\77\0 \60\77\37\37"
"\17\0!\1\1\1\0\0\0\0,<\70\177\177_\17\0\7\17\37=\70\60 \0##\66>\34\34"
"\10\0\77\77 \0\0\0\0 \60\77\37\37\17\0\70<\37\17\7\3\0\0\16\34\70\77\77\37"
"\17\0\7\17><\70\60\0\0\77\77#!\0\0\0\0#! \60\70\70\0\0 \0\0"
"\0\0\7\17\36\34\30\20\0\0\77\77\77\77\0\0\0\0\0\0\0\0\0\0\0\0\200\200\200\200\200\200"
"\200\200\0\0\0\0\0\0\0\0\42\37\37\77\77 \0 !\77\77\37\36\0 \61\61\21"
"\21\0 \37\37\77\77 \0$$$\67\67\27\27\0!!\1\1\0\0\0\0\220\377\377\177\177\0"
"\0\0\1\0\0\77\77\77\77\0\77\77\77\77 \0\0\200\300\377\177\177\77\0\0\4\16\37\77;\61"
" \0\77\77\77\77 \0\0\77\77\1\77\77\77\77\0\0\0\1\77\77\77>\0 \61\77\37\37"
"\16\0\220\220\31\37\17\17\6\0\220\377\377\377\377\200\200\0! \0\1\1\1\1\0$$$==\31"
"\31\0\77 \60\60\20\20\0 \37\37\77\77 \0\60\30\30\17\17\7\7\0\34\70\60\77\77\37"
"\17\0\16\37;\61 \0\0\220\220\320\377\177\177\77\0&&\63\63\61\61\0\0\77>\60 "
"\0\0>>\0\0\0\0\0\0\37\17\1\1\1\1\0\0\0\0\0\0\0\0\0\0\4\4\4\4\7\7"
"\7\7";
const uint8_t u8x8_font_px437wyse700a_ul[771] U8X8_FONT_SECTION("u8x8_font_px437wyse700a_ul") =
" \177\0\0\0\0\0\0\0\0\0\0\0\0\340\360\370\370\0\0\14\34<<\0\0\0@@\360\360\360"
"@@\0\0`\360\360\370\236\16\0\0````\0\0\0\0 pp\370\330\210\0\0\0 <<"
"<\34\0\0\0\0\300\340\360\370\0\0\0\0\0\0\0\10\0\0@@\300\300\200\200\0\0\0\0\0\0"
"\340\340\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
"\0\200\0\0\340\360\360\370\30\10\0\0 \60\60\370\370\0\0\20\20\30\30\10\10\0\0\20\20\30\30"
"\10\10\0\0\0\200\300\340\360x\0\0\370\370\370\370\210\210\0\0\340\360\360\370\30\10\0\0\30\30\30\30"
"\10\10\0\0`\360\360\370\230\10\0\0`\360\360\370\230\10\0\0\0\0\0\0``\0\0\0\0\0\0"
"``\0\0\0\200\300\340\360x\0\0\200\200\200\200\200\200\0\0\0\0\0\10\30\70\0\0 \60\60\70"
"\30\10\0\340\360\360\370\30\210\310\0\0\200\300\340\360x\70\0\10\10\370\370\370\370\10\0\0\340\360\360\370"
"\30\10\0\10\10\370\370\370\370\10\0\10\10\370\370\370\370\10\0\10\10\370\370\370\370\10\0\0\340\360\360\370"
"\30\10\0\0\370\370\370\370\0\0\0\0\0\0\10\10\370\370\0\0\0\0\0\0\10\10\0\10\10\370\370\370"
"\370\300\0\10\10\370\370\370\370\10\0\370\370\370\370p\340\300\0\0\370\370\370\370\340\300\0\0\340\360\360\370"
"\30\10\0\10\10\370\370\370\370\10\0\0\340\360\360\370\30\10\0\10\10\370\370\370\370\10\0 pp\370\330"
"\210\210\0\70\70\30\10\10\370\370\0\0\370\370\370\370\0\0\0\0\370\370\370\370\0\0\0\370\370\370\370\0"
"\0\0\0\0\30\70x\370\340\300\0\0x\370\370\370\200\0\0\0\70\70\30\10\10\210\0\0\0\0\370\370"
"\370\370\0\0\20\60p\360\340\300\0\0\0\0\10\10\10\10\0\0 \60\70<\36\16\0\0\0\0\0\0"
"\0\0\0\0\0\0\0\0\6\16\0\0\0\0\200\200\200\200\0\0\10\10\370\370\370\370\0\0\0\0\200\200"
"\200\200\0\0\0\0\0\200\200\210\0\0\0\0\200\200\200\200\0\0\0\0\360\360\370\370\0\0\0\0\200\200"
"\200\200\0\0\10\10\370\370\370\370\0\0\0\0\0\0\200\200\0\0\0\0\0\0\0\0\0\0\10\10\370\370"
"\370\370\0\0\0\0\0\0\10\10\0\200\200\200\200\200\200\0\0\0\200\200\200\200\0\0\0\0\0\0\0\200"
"\200\200\0\0\200\200\200\200\0\0\0\0\0\0\0\200\200\200\0\0\200\200\200\200\0\0\0\0\0\0\200\200"
"\200\200\0\200\200\200\200\340\360\370\0\0\200\200\200\200\0\0\0\200\200\200\200\0\0\0\0\200\200\200\200\0"
"\0\0\0\0\200\200\200\200\0\0\0\0\200\200\200\200\0\0\0\0\200\200\200\200\200\200\0\0\0\0\0\0"
"\340\360\0\0\0\0\0\0\370\370\0\0\10\10\10\30\370\370\0\0\20\20\30\30\10\10\0\0\0\0\200\200"
"\300\300";
const uint8_t u8x8_font_px437wyse700a_ur[770] U8X8_FONT_SECTION("u8x8_font_px437wyse700a_ur") =
" \177\0\0\0\0\0\0\0\0\370\370\360\340\0\0\0\0\0\0<<\34\14\0\0@@\360\360\360@"
"@\0\16\36\70\60\60 \0\0\200\300\340\340` \0\0\330\370pp \0\0\0\0\0\0\0\0\0"
"\0\0\70\30\10\0\0\0\0\0\30\70\370\360\340\300\0\0\200\200\300\300@@\0\0\340\340\0\0\0\0"
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\300\340\360p\60\20"
"\0\0\210\330\370\360\360\340\0\0\370\370\0\0\0\0\0\0\10\230\370\360\360`\0\0\10\10\230\370\360\360"
"`\0\370\370\370\370\0\0\0\0\210\210\210\210\10\10\10\0\10\10\10\10\0\0\0\0\210\310\370\370x\70"
"\0\0\10\10\230\370\360\360`\0\10\10\30\370\360\360\340\0``\0\0\0\0\0\0``\0\0\0\0"
"\0\0\70\30\10\0\0\0\0\0\200\200\200\200\200\200\0\0x\360\340\300\200\0\0\0\210\330\370\360p "
"\0\0\310HHx\370\370\360\0\70x\360\340\300\200\0\0\10\10\230\370\360\360`\0\10\10\30\70\60\60"
" \0\10\10\30\370\360\360\340\0\10\210\210\10\30\70\70\0\10\210\210\10\30\70\70\0\10\10\30\70\60\60"
" \0\0\0\0\370\370\370\370\0\370\370\10\10\0\0\0\0\10\370\370\370\370\10\10\0\340\360x\70\30\10"
"\0\0\10\0\0\0\0\0\0\0\300\340p\370\370\370\370\0\200\0\0\370\370\370\370\0\10\10\30\370\360\360"
"\340\0\10\10\230\370\360\360`\0\10\10\30\370\360\360\340\0\10\10\230\370\360\360`\0\10\10\30\70\60\60"
" \0\370\370\10\10\30\70\70\0\0\0\0\370\370\370\370\0\0\0\370\370\370\370\0\0\0\0\0\370\370\370"
"\370\0\300\340\370x\70\30\0\0\0\200\370\370\370x\0\0\310\350\370x\70\30\0\0\10\10\10\10\0\0"
"\0\0\200\0\0\0\0\0\0\0\370\370\370\370\0\0\0\0\16\36<\70\60 \0\0\0\0\0\0\0\0"
"\0\0\16\16\10\0\0\0\0\0\200\200\200\0\0\0\0\0\200\200\200\200\0\0\0\0\200\200\200\200\200\0"
"\0\0\210\370\370\370\370\0\0\0\200\200\200\200\200\0\0\0\10\10\30\30\60\60\0\0\200\0\0\200\200\200"
"\200\0\0\200\200\200\200\0\0\0\260\260\260\260\0\0\0\0\200\200\260\260\260\260\0\0\0\0\0\200\200\200"
"\200\0\370\370\370\370\0\0\0\0\0\200\200\200\200\200\0\0\200\200\200\200\200\0\0\0\200\200\200\200\0\0"
"\0\0\200\200\200\200\0\0\0\0\200\0\0\200\200\200\200\0\200\200\200\200\200\0\0\0\200\200\200\200\200\0"
"\0\0\370\200\200\200\200\0\0\0\0\200\200\200\200\0\0\0\0\0\0\200\200\200\200\0\0\0\0\200\200\200"
"\200\0\0\0\200\200\200\200\0\0\0\0\0\200\200\200\200\0\200\200\200\200\200\200\0\0\370\370\30\10\10\10"
"\0\0\370\370\0\0\0\0\0\0\360\340\0\0\0\0\0\0\30\20\20\30\30\10\10\0``\300\300\200\200"
"\0";
char *s = "ABC defg";
void u8x8_Draw16x16QuarterString(u8x8_t *u8x8, uint8_t x, uint8_t y, const char *s)
{
while( *s != '\0' )
{
u8x8_DrawGlyph(u8x8, x, y, *s);
x+=2;
s++;
}
}
void u8x8_Draw16x16QuarterString1x2(u8x8_t *u8x8, uint8_t x, uint8_t y, const char *s)
{
while( *s != '\0' )
{
u8x8_Draw1x2Glyph(u8x8, x, y, *s);
x+=2;
s++;
}
}
int main(void)
{
u8x8_Setup_SDL_128x64(&u8x8);
u8x8_InitDisplay(&u8x8);
u8x8_SetFont(&u8x8, u8x8_font_px437wyse700a_ul);
u8x8_Draw16x16QuarterString(&u8x8, 0, 0, s);
u8x8_SetFont(&u8x8, u8x8_font_px437wyse700a_ur);
u8x8_Draw16x16QuarterString(&u8x8, 1, 0, s);
u8x8_SetFont(&u8x8, u8x8_font_px437wyse700a_bl);
u8x8_Draw16x16QuarterString(&u8x8, 0, 1, s);
u8x8_SetFont(&u8x8, u8x8_font_px437wyse700a_br);
u8x8_Draw16x16QuarterString(&u8x8, 1, 1, s);
u8x8_SetFont(&u8x8, u8x8_font_px437wyse700a_ul);
u8x8_Draw16x16QuarterString1x2(&u8x8, 0, 2, s);
u8x8_SetFont(&u8x8, u8x8_font_px437wyse700a_ur);
u8x8_Draw16x16QuarterString1x2(&u8x8, 1, 2, s);
u8x8_SetFont(&u8x8, u8x8_font_px437wyse700a_bl);
u8x8_Draw16x16QuarterString1x2(&u8x8, 0, 4, s);
u8x8_SetFont(&u8x8, u8x8_font_px437wyse700a_br);
u8x8_Draw16x16QuarterString1x2(&u8x8, 1, 4, s);
while( u8g_sdl_get_key() < 0 )
;
return 0;
}

View File

@ -40,6 +40,13 @@ helvb18n: bdfconv
emoticons21: bdfconv
./bdfconv -v -f 1 -m '32-64' ../emoticons/emoticons21.bdf -o emoticons21.c -n u8g2_font_emoticons21_tn -d ../bdf/helvB18.bdf
px437wyse700a: bdfconv
-../otf2bdf/otf2bdf -r 72 -p 16 -o tmp.bdf ../ttf/Px437_Wyse700a.ttf
./bdfconv -x 0 -y 8 -v -f 2 -m '32-127' tmp.bdf -o u8x8_font_px437wyse700a_ul.c -n u8x8_font_px437wyse700a_ul
./bdfconv -x 8 -y 8 -v -f 2 -m '32-127' tmp.bdf -o u8x8_font_px437wyse700a_ur.c -n u8x8_font_px437wyse700a_ur
./bdfconv -x 0 -y 0 -v -f 2 -m '32-127' tmp.bdf -o u8x8_font_px437wyse700a_bl.c -n u8x8_font_px437wyse700a_bl
./bdfconv -x 8 -y 0 -v -f 2 -m '32-127' tmp.bdf -o u8x8_font_px437wyse700a_br.c -n u8x8_font_px437wyse700a_br
logisoso: bdfconv
-../otf2bdf/otf2bdf -a -r 72 -p 131 -o tmp.bdf ../ttf/Logisoso.ttf
./bdfconv -v -f 1 -m '32,42-57' tmp.bdf -o u8g2_font_logisoso_tn.c -n u8g2_font_logisoso_tn -d ../bdf/helvB18.bdf

View File

@ -17,7 +17,7 @@
#include "bdf_font.h"
int bg_8x8_convert(bg_t *bg, bbx_t *bbx)
int bg_8x8_convert(bg_t *bg, bbx_t *bbx, int xo, int yo)
{
int x;
int y;
@ -57,7 +57,7 @@ int bg_8x8_convert(bg_t *bg, bbx_t *bbx)
for( y = bbx->y+bbx->h-1; y >= bbx->y; y--)
{
d >>= 1;
if ( bg_GetBBXPixel(bg, x, y) != 0 )
if ( bg_GetBBXPixel(bg, x+xo, y+yo) != 0 )
{
d |= 128;
}
@ -70,7 +70,7 @@ int bg_8x8_convert(bg_t *bg, bbx_t *bbx)
}
void bf_Generate8x8Font(bf_t *bf)
void bf_Generate8x8Font(bf_t *bf, int xo, int yo)
{
int i, j, k;
bg_t *bg;
@ -99,7 +99,7 @@ void bf_Generate8x8Font(bf_t *bf)
}
else
{
if ( bg_8x8_convert(bg, &local_bbx) == 0 )
if ( bg_8x8_convert(bg, &local_bbx, xo, yo) == 0 )
{
bf_Log(bf, "Generate8x8Font: Error, 8x8 conversion, encoding=%d", bg->target_cnt, bg->encoding);
}

View File

@ -728,8 +728,10 @@ int bf_WriteU8G2CByFilename(bf_t *bf, const char *filename, const char *fontname
}
bf_t *bf_OpenFromFile(const char *bdf_filename, int is_verbose, int bbx_mode, const char *map_str, const char *map_file_name, int font_format)
/*
xo, yo: offset for 8x8 fonts (font_format==2)
*/
bf_t *bf_OpenFromFile(const char *bdf_filename, int is_verbose, int bbx_mode, const char *map_str, const char *map_file_name, int font_format, int xo, int yo)
{
bf_t *bf;
@ -768,7 +770,7 @@ bf_t *bf_OpenFromFile(const char *bdf_filename, int is_verbose, int bbx_mode, co
}
else
{
bf_Generate8x8Font(bf);
bf_Generate8x8Font(bf, xo, yo);
}
if ( bf->bbx_mode != BDF_BBX_MODE_MINIMAL )

View File

@ -121,13 +121,13 @@ void bf_CalculateMinMaxDWidth(bf_t *bf);
void bf_copy_bbx_and_update_shift(bf_t *bf, bbx_t *target_bbx, bg_t *bg);
void bf_CalculateMaxBitFieldSize(bf_t *bf);
void bf_RLECompressAllGlyphs(bf_t *bf);
void bf_Generate8x8Font(bf_t *bf);
void bf_Generate8x8Font(bf_t *bf, int xo, int yo);
int bf_WriteUCGCByFilename(bf_t *bf, const char *filename, const char *fontname, const char *indent);
int bf_WriteU8G2CByFilename(bf_t *bf, const char *filename, const char *fontname, const char *indent);
bf_t *bf_OpenFromFile(const char *bdf_filename, int is_verbose, int bbx_mode, const char *map_str, const char *map_file_name, int font_format);
bf_t *bf_OpenFromFile(const char *bdf_filename, int is_verbose, int bbx_mode, const char *map_str, const char *map_file_name, int font_format, int xo, int yo);
/* bdf_parser.c */

View File

@ -116,7 +116,9 @@ void help(void)
printf("-M 'mapfile' Read Unicode ASCII mapping from file 'mapname'\n");
printf("-o <file> C output font file\n");
printf("-k <file> C output file with kerning information\n");
printf("-p <%%> Minimum distance for kerning in percent of the global char width (lower values: Smaller gaps, more data)\n");
printf("-p <%%> Minimum distance for kerning in percent of the global char width (lower values: Smaller gaps, more data)\n");
printf("-x <n> X-Offset for 8x8 font sub-glyph extraction (requires -f 2, default 0)\n");
printf("-y <n> Y-Offset for 8x8 font sub-glyph extraction (requires -f 2, default 0)\n");
printf("-n <name> C indentifier (font name)\n");
printf("-d <file> Overview picture: Enable generation of bdf.tga and assign BDF font <file> for description\n");
@ -164,6 +166,8 @@ unsigned long build_bbx_mode = 0;
unsigned long font_format = 0;
unsigned long min_distance_in_per_cent_of_char_width = 25;
unsigned long cmdline_glyphs_per_line = 16;
unsigned long xoffset = 0;
unsigned long yoffset = 0;
int font_picture_extra_info = 0;
int font_picture_test_string = 0;
int runtime_test = 0;
@ -360,6 +364,12 @@ int main(int argc, char **argv)
else if ( get_num_arg(&argv, 'f', &font_format) != 0 )
{
}
else if ( get_num_arg(&argv, 'x', &xoffset) != 0 )
{
}
else if ( get_num_arg(&argv, 'y', &yoffset) != 0 )
{
}
else if ( get_num_arg(&argv, 'l', &left_margin) != 0 )
{
}
@ -400,7 +410,7 @@ int main(int argc, char **argv)
bf_desc_font = NULL;
if ( desc_font_str[0] != '\0' )
{
bf_desc_font = bf_OpenFromFile(desc_font_str, 0, BDF_BBX_MODE_MINIMAL, "*", "", 0); /* assume format 0 for description */
bf_desc_font = bf_OpenFromFile(desc_font_str, 0, BDF_BBX_MODE_MINIMAL, "*", "", 0, 0, 0); /* assume format 0 for description */
if ( bf_desc_font == NULL )
{
exit(1);
@ -414,7 +424,7 @@ int main(int argc, char **argv)
/* bf_Log(bf, "Font mode 1: BBX mode set to 3"); */
}
bf = bf_OpenFromFile(bdf_filename, is_verbose, build_bbx_mode, map_str, map_filename, font_format);
bf = bf_OpenFromFile(bdf_filename, is_verbose, build_bbx_mode, map_str, map_filename, font_format, xoffset, yoffset);
if ( bf == NULL )
{
@ -424,7 +434,7 @@ int main(int argc, char **argv)
if ( font_format == 2 )
{
/* now generate the log message */
bf_Log(bf, "Note: For font format 1 BBX mode has been set to 3");
bf_Log(bf, "Note: For font format 2 BBX mode has been set to 3");
}
if ( bf_desc_font != NULL )