[comp.sys.ibm.pc] NANSI.SYS / font creation

flowers@ucla-cs.UUCP (03/24/87)

>	Some ones said in this news-group that NANSI.SYS allowes you to 
>create new character fonts. Well, I got NANSI.SYS and I don't see how can it
>do that ...

Also, Turbo Lightning uses a different font on screen.  Does anyone
know how that is done?

Margot Flowers   Flowers@CS.UCLA.EDU   ...!{ucbvax|ihnp4}!ucla-cs!flowers

smvorkoetter@watmum.UUCP (03/26/87)

In article <5197@shemp.ucla-cs.UCLA.EDU> flowers@CS.UCLA.EDU (Margot Flowers) writes:
>>	Some ones said in this news-group that NANSI.SYS allowes you to 
>>create new character fonts. Well, I got NANSI.SYS and I don't see how can it
>>do that ...
>
>Also, Turbo Lightning uses a different font on screen.  Does anyone
>know how that is done?
>
>Margot Flowers   Flowers@CS.UCLA.EDU   ...!{ucbvax|ihnp4}!ucla-cs!flowers


	There would appear to be some confusion here between fonts and
attributes.  What the original poster (I forget who) was interested in is
new fonts on the screen (eg. Times Roman, Italics, Microgamma, etc.) whereas
what the above two posters are interested in are different attributes on
the screen (eg. Bold, Red, Reverse, Blinking, Green, etc.).  Neither NANSI
nor Lightning use different fonts, nor can they.  To use a different font,
you either have to have a Hercules Plus type card, or an ordinary Hercules,
CGA, or EGA in graphics mode.  To use a different attribute is easy.  T.L.
does it by writing the character and attribute bytes directly into screen
memory.  NANSI allows you to specify escape sequences (so does ANSI.SYS) 
that change the active attributes.  For example, my prompt on the PC that
I am writing this on is set with the command

	PROMPT $e[1;34m$n$g $e[1;30m

which stands for the characters

	ESC [ 1 ; 3 4 m DRIVE-LETTER > SPACE ESC [ 1 ; 3 0 m

The ESC ... m sequence is the ANSI escape sequence to change attributes.  As
they are in the above prompt command, I get a bright blue prompt, followed
by bright black (dark grey) user input (that I type).  For this to work,
NANSI.SYS or ANSI.SYS must be loaded.  When a character is typed, the BIOS
puts the appropriate character in the appropriate place in screen memory,
and the currently set attributes in the byte following the character.  The
escape sequences are merely a convenient way to set the attributes.