[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: gEDA: Could not load question font char -- checkfont-directory keyword



El mié, 04-02-2004 a las 16:48, Stuart Brorson escribió:
> Hi guys,

Hi Stuart,
Maybe anyone else can tell something more, but just some thoughts:

Gschem load a character definition file for each character it needs to
print on screen. The character definition file is a symbol containing
the letter to be printed. There's a symbol for each letter gschem knows
about, and they are in /usr/share/gEDA/sym/font, IIRC, (or /usr/local,
or whatever you installed gschem).
If gschem needs to print a string, then it loads an places one symbol
for each letter.

I think that function is only called when gschem needs to print
something on screen... do you need to do that in gattrib?

[snip]
> ------------------------------------------------------------
>   if (access(temp_string, R_OK) != 0) {
>     s_log_message("Could not find character %c definition\n",
> needed_char,
>                   temp_string);
>     free(temp_string);
>     temp_string =
>         g_strdup_printf("%s%cquest.sym", w_current->font_directory,
                             					^^^^^^^^^^^^^^^^^^^^^^^^^
Is w_current->font_directory pointing to the directory where gschem font
symbols are stored (/usr/share/gEDA/sym/font, IIRC) ?

> 		                        PATH_SEPARATER_CHAR);
>     if (access(temp_string, R_OK) != 0) {
>       fprintf(stderr,
>               "Could not load question font char -- check
> font-directory keyword\n");
>       exit(-1);
>     }
>     not_found = TRUE;
>   }
> ------------------------------------------------------------
> 
> THis is executed after looking for various chars in the font
> directory, as far as I can tell.  
> 
> My question:  What is o_text_load_font looking for, and where?  What
> do I have to tell it to make it find the proper fonts?  This works
> fine in gschem, but I am not sure where gschem configures the fonts,
> or if I can somehow just bypass this stage. . . .
> 

It's looking for the symbol of the letter you want to print on screen.
If it doesn't find it, then it tries to substitute it by the '?' symbol,
which should be found anytime, and if it doesn't find it, then raises
the error you are having (wrong variables).
Just take care that o_current->font_directory points to the right place
and I think it should work.

Regards,

Carlos


---Publicidad--------------------------------------------------------
Únete a los miles de sin pareja en Meetic... ¡te vas a enamorar!
http://www.iespana.es/_reloc/email.meetic