Page 1 of 1

replace system font tables

Posted: Sun May 18, 2014 11:42 am
by seppe
I would like to replace the systemfont tables from within an application.
This way, an application could temporarely get/set the font to any font for any codepage.
A (system)call would be nice, with specification of the table (0/1), and the address of the font bitmap.
Can anyone help with this?

Greetings from Seppe

Я хотел бы заменить systemfont таблицы из приложения.
Таким образом, приложение может Можно временно получить / установить шрифт на любой шрифт для любой кодовой страницей.
Вызов (система) было бы хорошо, с указанием таблицы (0/1), а также адрес растровый шрифт.
Может кто поможет с этим?

Привет из Seppe

Re: replace system font tables

Posted: Mon May 19, 2014 11:23 am
by art_zh
The kernel loads syfonts at the start-up time from two *.MT binary files located in RD/1/FONTS.
You (or your application) can replace these files, save the image, and reboot.

Re: replace system font tables

Posted: Sat May 24, 2014 1:56 am
by seppe
art_zh wrote:The kernel loads syfonts at the start-up time from two *.MT binary files located in RD/1/FONTS.
You (or your application) can replace these files, save the image, and reboot.
Nice suggestion, thank you, but I can't find those files.
In rd/1/fonts I find file litt.chr. (Whatever that is).
The char.mt and char2.mt files are in the kernel/gui folder.
But they are Fasm included in the kernel by the kernel/gui/font.inc (and not loaded from file).
Can you please locate the code for me that loads the font tables?

Re: replace system font tables

Posted: Sat May 24, 2014 3:49 am
by Mario_r4
seppe wrote:
art_zh wrote:The kernel loads syfonts at the start-up time from two *.MT binary files located in RD/1/FONTS.
You (or your application) can replace these files, save the image, and reboot.
Nice suggestion, thank you, but I can't find those files.
In rd/1/fonts I find file litt.chr. (Whatever that is).
The char.mt and char2.mt files are in the kernel/gui folder.
But they are Fasm included in the kernel by the kernel/gui/font.inc (and not loaded from file).
Can you please locate the code for me that loads the font tables?
Comrade art_zh has supplied you with outdated information. From SVN revision 2640 two system fonts included to the kernel file KERNEL.MNT. I made ​​this change, because in the case of corrupted kolibri.img the kernel could not display the boot log. Also now boot log can display immediately after the installation of the selected video mode. You need to change the font files in the kernel source, compile and replace the kernel for your experiments.

Re: replace system font tables

Posted: Sat May 24, 2014 12:04 pm
by hidnplayr
It would be possible to write such a system function.
But:
* Do you have char.mt for additional code pages, or do you plan to create them?
* Would unicode not be a better solution?

Re: replace system font tables

Posted: Sat May 24, 2014 5:20 pm
by seppe
Topic continued on viewtopic.php?f=23&t=2696