nanogui: How to use nano-X fonts in fltk 1.1.9


Previous by date: 23 Feb 2010 14:34:14 -0000 How to use nano-X fonts in fltk 1.1.9, Michael Heiser
Next by date: 23 Feb 2010 14:34:14 -0000 Re: How to use nano-X fonts in fltk 1.1.9, Michael Heiser
Previous in thread: 23 Feb 2010 14:34:14 -0000 How to use nano-X fonts in fltk 1.1.9, Michael Heiser
Next in thread: 23 Feb 2010 14:34:14 -0000 Re: How to use nano-X fonts in fltk 1.1.9, Michael Heiser

Subject: Re: [nanogui] How to use nano-X fonts in fltk 1.1.9
From: Ricardo Jasinski ####@####.####
Date: 23 Feb 2010 14:34:14 -0000
Message-Id: <ee9633131002230634h5c5ba049td9995680c994807f@mail.gmail.com>

Hi Michael,

it is a shame fltk 2.0 didn't work for you; I find it much more resourceful
than fltk 1.x and easier to use, integrate and undestand. If you haven't
done so yet, maybe you could try to compile a simple demo (one of those
bundled with the fltk distribution) to sort the errors you are finding.

Anyway, I think I can't help much with fltk 1.x fonts; however, there's one
alternative that may be suitable for you. You could change the default
nano-X system font (it is compiled-in with the nano-X server) or add many
other fonts if necessary. This would be completely fltk-independent.

I have outlined the basic steps for that in a previous email that I have
included below.

Good luck,

Ricardo.
*
-------------------------------------------------------------------------
Adding **compiled**-**in** fonts **in** microwindows/nano-x
-------------------------------------------------------------------------

Step 1. Obtain a c-source file for the new font. **In** windows, this can be
bone using the convfnt32.exe tool, for example. You can find this tool **in*
*
src/fonts/tools. At this point, you will specify the font size and attibutes
(bold, italic, etc.).

Step 2. Throw the resulting c-file (say, winArial4x12.c) **in** the
src/fonts
folder. You might want to fix the declaration of the offset table (look for
the comment /* Character->glyph data. */) from 'static unsigned short' to
'static unsigned long', as suggested by Greg.

Step 3. Make note of your new font structure name, as you'll be using it
later. **In** the case, it would be font_winArial4x12, and it would be
located
at the bottom of the file winArial4x12.c. Note: you can have as many fonts
**in** the src/fonts folder as you want, and as long as they are not used by
the
rest of your code they won't take up any memory **in** your system.

Step 4. Announce your new font to the rest of the code. This is done by
editing the src/drivers/genfont.c file. You should add:

   extern MWCFONT font_winArial4x12;

right below the comment line /* **compiled** **in** fonts*/. Also, expand
your
genfonts table with a new font entry. Add as a last element the line:

   {&fontprocs, 0, 0, 0, "Arial", &font_winArial4x12}

Then, increase the NUM_FONTS definition **in** genfont.h line #11. **In** my
case,
it increased from the default value of 4 to 5. That's it. Your new font is
already **in** the system.

(**Stopgap**) Step 5. Test your new font into the system. One
quick-and-dirty way of doing this would be replacing the first entry **in**
 the
genfonts table (file genfont.c, line #72) with the newly created font:

 MWCOREFONT gen_fonts[NUMBER_FONTS] = {
   {&fontprocs, 0, 0, 0, MWFONT_SYSTEM_VAR, &font_winArial4x12},
   ...
 }

Note: a better approach would be changing your default font **in** compile
time
using the specific nano-x functions, but for now I don't know how to do
this. Any ideas? Thanks!!

One last hint: you'll probably have better results with convfnt32.exe if you
turn off you operating system's anti-aliasing capabilities (clear type,
etc.).

That's it!!*




2010/2/23 Michael Heiser ####@####.####

> Hi Ricardo!
>
> Thanks for your advice. But there's a little hint. My Application is driven
> by fltk 1.1.8rc3 which is part
> Of uClinux-Project. The possibility to use fltk::font_list().... is not
> given in FLTK 1.1.x. So I made a change
> To FLTK2. But my App cannor compile against FLTK2 obviously I got FLTK2
> ported to Blackfin.
>
> I tried a while and I got no hints why my App would not get linked against
> fltk2.
>
> So the only way for me to use proper fonts ist nano-X itself.
>
> My question is relatively simple:
>
> How can I use the fonts that are in microwin source folder with fltk? Is
> there any hint?
>
> Regards Michael
>
> -----Ursprüngliche Nachricht-----
> Von: Ricardo Jasinski ####@####.####
> Gesendet: Donnerstag, 21. Januar 2010 13:22
> An: ####@####.####
> Betreff: Re: [nanogui] How to use nano-X fonts in fltk 1.1.9
>
> Hi Michael,
>
> please take a look at the message below, I posted it a while ago in
> the Altera Forum (www.alteraforum.com).
>
> I am using nano-X version 0.91, Fltk 2.0.0 and Freetype 2.3.5, which
> came in bundled with my distribution (uClinux).
>
> Mfg,
>
> Ricardo.
>
>
>
> ----------------------------------------------------------------------------
> --------------------------------
> Hello,
>
> i want to change the font and the fontsize in my app but not even the
> label or fonts-demo is working.
>
> is there a known bug about this?
>
>
> ----------------------------------------------------------------------------
> --------------------------------
>
> It works. Try the following (modified) demo app. Name it hello.cpp:
>
> Code:
>
> ----------------------------------------------------------------------------
> --------------------------------
> #include <fltk/Window.h>
> #include <fltk/Widget.h>
> #include <fltk/Font.h>
> #include <fltk/run.h>
> using namespace fltk;
>
> int main(int argc, char **argv)
> {
>    fltk::Font** FontsList;
>    int FontsCount = fltk::list_fonts(FontsList);
>
>    Window *window = new Window(300, 180);
>    window->begin();
>    Widget *box = new Widget(20, 40, 260, 100, "Hello, World!");
>    box->labelfont(FontsList[0]);
>    box->labelsize(36);
>    box->labeltype(SHADOW_LABEL);
>    window->end();
>    window->show(argc, argv);
>
>    return run();
> }
>
> ----------------------------------------------------------------------------
> --------------------------------
>
> Compile it with:
>
>
> ----------------------------------------------------------------------------
> --------------------------------
> $ nios2-linux-uclibc-g++
> -I/home/jars/nios2-linux/uClinux-dist/lib/fltk -c hello.cpp
> $ nios2-linux-uclibc-g++ hello.o
> /home/jars/nios2-linux/uClinux-dist/lib/fltk/lib/libfltk2.a
> /home/jars/nios2-linux/uClinux-dist/staging/usr/lib/libX11.a
> /home/jars/nios2-linux/uClinux-dist/user/microwin/src/lib/libnano-X.a
> -lpthread -o hello
>
> ----------------------------------------------------------------------------
> --------------------------------
>
> Remember to change the paths above to reflect your own system. You can
> have any font size by modifying the line:
> box->labelsize(36);
>
> Somethings to consider:
> - I never got to compile the FLTK demo apps by simply selecting the
> item in menuconfig; I think it's broken;
> - in /usr/fonts/truetype you should have your ttf fonts and a fonts.dir
> file:
>
>
> ----------------------------------------------------------------------------
> --------------------------------
>
> /usr/fonts/truetype # ls
> DejaVuLGCSans.ttf                DejaVuLGCSansCondensed-Bold.ttf
> dejavulgcsans.ttf                dejavulgcsanscondensedbold.ttf
> fonts.dir
> /usr/fonts/truetype # cat fonts.dir
> 2
> dejavulgcsanscondensedbold.ttf
> -dejavu-DejaVuLGCSans-medium-r-bold--0-0-0-0-p-0-iso8859-1
> dejavulgcsans.ttf
> -dejavu-DejaVuLGCSans-medium-r-normal--0-0-0-0-p-0-iso8859-1
> /usr/fonts/truetype #
>
>
> ----------------------------------------------------------------------------
> --------------------------------
>
> Cheers,
>
> Ricardo.
>
>
>
>
>
>
> 2010/1/21 Michael Heiser ####@####.####
> >
> > Hey guys,
> >
> >
> >
> > Great Work! On my Blackfin nano-X does ist Job really well. The only
> thing
> > which is really annoying, is, that I can't use fonts like Helvetica when
> I
> > add Helvetica to a text-widget (Fl_Text_Display) in fltk. Nano-X shows
> only
> > ascii text in little size in the Widget.
> >
> > Is there any hint that I can follow? How do I add font support to nano-X
> > that fltk can use standard fonts like Sans Serif and Helvetica.
> >
> >
> >
> > Michael
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: ####@####.####
> For additional commands, e-mail: ####@####.####
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: ####@####.####
> For additional commands, e-mail: ####@####.####
>
>


-- 
----------------------------------------------
Ricardo Pereira Jasinski
####@####.####
Tel: (41) 9955-2852

LME - Laboratório de Microeletrônica da UTFPR
   UTFPR Microelectronics Lab
   www.lme.cpdtt.cefetpr.br
   Tel: +55 41 3310 4756

Previous by date: 23 Feb 2010 14:34:14 -0000 How to use nano-X fonts in fltk 1.1.9, Michael Heiser
Next by date: 23 Feb 2010 14:34:14 -0000 Re: How to use nano-X fonts in fltk 1.1.9, Michael Heiser
Previous in thread: 23 Feb 2010 14:34:14 -0000 How to use nano-X fonts in fltk 1.1.9, Michael Heiser
Next in thread: 23 Feb 2010 14:34:14 -0000 Re: How to use nano-X fonts in fltk 1.1.9, Michael Heiser


Powered by ezmlm-browse 0.20.