Jump to content











Photo
- - - - -

grub4dos 0.4.6a supports large fonts


  • Please log in to reply
60 replies to this topic

#51 steve6375

steve6375

    Platinum Member

  • Developer
  • 6570 posts
  • Location:UK
  • Interests:computers, programming (masm,vb6,C,vbs), photography,TV,films,guitars
  •  
    United Kingdom

Posted 17 March 2016 - 10:10 AM

http://grub4dos.chen....6a-2016-03-16/

Latest version seems stable and good for 24-high fonts.

 

Only problem now is to find a 24-high font set that works for 0000-001F codes.

Up-arrow and down-arrow  (0x18/0x19) are needed.

 

The strange thing is these are encoded weirdly even in the 16-high unifont hex file - e.g.

unifont.hex

0018:AAAA00018000000180003325C4B447ADC4A434A5800000018000000180005555
0019:AAAA00018000000180007D11C1B07D51C1107D11800000018000000180005555

 

If I substitute the character used for 0011 into this file and use it for 0019, it does not change the character

0019:AAAA00018000000180007189CA184A09CA08719D800000018000000180005555

 

echo -e \x19

 

still produces the same down arrow...??



#52 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 13497 posts
  • Location:The Outside of the Asylum (gate is closed)
  •  
    Italy

Posted 17 March 2016 - 11:57 AM

Up-arrow and down-arrow  (0x18/0x19) are needed.

 

The strange thing is these are encoded weirdly even in the 16-high unifont hex file - e.g.

unifont.hex

0018:AAAA00018000000180003325C4B447ADC4A434A5800000018000000180005555
0019:AAAA00018000000180007D11C1B07D51C1107D11800000018000000180005555

Not really "weird", in unifont those characters are NOT a representation of a down or up arrow.

See:

http://unifoundry.co...e00/uni0000.png

They are "CAN" and "EM" (and they are a "double width" glyph).

You will need to draw yourself an Up and Down arrow and replace the definition for 0x0018 and 0x0019, something *like*:

 

0018:00000000103854921010101010000000
0019:00000010101010109254381000000000

(this example is 8x16)

0018:00000000103854921010101010000000
........ 0x00
........ 0x00
........ 0x00
........ 0x00
...@.... 0x10
..@@@... 0x38
.@.@.@.. 0x54
@..@..@. 0x92
...@.... 0x10
...@.... 0x10
...@.... 0x10
...@.... 0x10
...@.... 0x10
........ 0x00
........ 0x00
........ 0x00

0019:00000010101010109254381000000000
........ 0x00
........ 0x00
........ 0x00
...@.... 0x10
...@.... 0x10
...@.... 0x10
...@.... 0x10
...@.... 0x10
@..@..@. 0x92
.@.@.@.. 0x54
..@@@... 0x38
...@.... 0x10
........ 0x00
........ 0x00
........ 0x00
........ 0x00

:duff:

Wonko



#53 steve6375

steve6375

    Platinum Member

  • Developer
  • 6570 posts
  • Location:UK
  • Interests:computers, programming (masm,vb6,C,vbs), photography,TV,films,guitars
  •  
    United Kingdom

Posted 17 March 2016 - 12:34 PM

ah - OK. In that case, grub4dos must be using some other  character for up arrow and down arrow.

 

What I noticed was in 24-character high mode, with 24-high fonts loaded, I press 'e' for edit and grub4dos prompts you with a help message at the bottom of the screen, but the up-arrow and down-arrow symbols are missing. So I wanted to try to add them as fonts.

I wrongy thought that these were 0018 amd 0019. I then found that in 16-high unifont they seemed 'wrong' too.

 

So some other character must be used by grub4dos for up-arrow and down-arrow (but the source files seem to say it is 18 and 19)???

Attached Thumbnails

  • Capturearrowmsg.JPG


#54 steve6375

steve6375

    Platinum Member

  • Developer
  • 6570 posts
  • Location:UK
  • Interests:computers, programming (masm,vb6,C,vbs), photography,TV,films,guitars
  •  
    United Kingdom

Posted 17 March 2016 - 02:19 PM

Demo YouTube video of new E2B here. Thanks for your help Mr Wonko :1st: Just need to crack this arrow up/down thing now...



#55 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 13497 posts
  • Location:The Outside of the Asylum (gate is closed)
  •  
    Italy

Posted 17 March 2016 - 02:46 PM

I will only say that you are much, much better as a program developer :thumbsup: than as graphic designer. 

 

Now for no apparent reason:

http://gizmodo.com/5...are-still-alive

http://www.dpgraph.com/

 

You can now have while booting in grub4dos the whole stuff you are missing about 1990's web design.

 

:duff:

Wonko



#56 tinybit

tinybit

    Gold Member

  • Developer
  • 1051 posts
  •  
    China

Posted 18 March 2016 - 07:10 AM

By using

0019:AAAA00018000000180007D11C1B07D51C1107D11800000018000000180005555

you were attempting to setup the standard ASCII char as wide (or say, full-width or double-width). And that will be refused. The font line will be ignored silently. Only a "narrow" line (half-width or single-width) can be accepted for the ASCIIs(00-7F).

For the default 8x16 ASCIIs, grub4dos can find and use data stored in ROM BIOS.

For other DotSizes, The ASCIIs must all be evaluated with a font file.

#57 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 13497 posts
  • Location:The Outside of the Asylum (gate is closed)
  •  
    Italy

Posted 18 March 2016 - 08:15 AM

By using

0019:AAAA00018000000180007D11C1B07D51C1107D11800000018000000180005555

you were attempting to setup the standard ASCII char as wide (or say, full-width or double-width). And that will be refused. The font line will be ignored silently. Only a "narrow" line (half-width or single-width) can be accepted for the ASCIIs(00-7F).

For the default 8x16 ASCIIs, grub4dos can find and use data stored in ROM BIOS.

For other DotSizes, The ASCIIs must all be evaluated with a font file.

Well, to be fair to Steve, that is the value inside the standard unifont.hex file, all characters from 00 to 1F are "wide".

0000:AAAA00018000000180004A51EA505A51C99E0001800000018000000180005555
0001:AAAA00018000000180003993C252325F8A527193800000018000000180005555
0002:AAAA00018000000180003BA5C124311989247125800000018000000180005555
0003:AAAA00018000000180007BA5C1247919C1247925800000018000000180005555
0004:AAAA000180000001800079BFC2487A49C2487989800000018000000180005555
0005:AAAA00018000000180007A4DC2527B53C2D67A4F800000018000000180005555
0006:AAAA000180000001800031A5CA287A31CA2849A5800000018000000180005555
0007:AAAA000180000001800073D1CA1073D1CA1073DF800000018000000180005555
0008:AAAA00018000000180001E3991401E3191081E71800000018000000180005555
0009:AAAA000180000001800022F9A2203E21A2202221800000018000000180005555
000A:AAAA000180000001800020F9A08020F9A0803E81800000018000000180005555
000B:AAAA000180000001800022F9A220222194200821800000018000000180005555
000C:AAAA00018000000180003EF9A0803EF9A0802081800000018000000180005555
000D:AAAA00018000000180001EF1A08820F1A0901E89800000018000000180005555
000E:AAAA00018000000180001E71A0881C8982883C71800000018000000180005555
000F:AAAA00018000000180001EF9A0201C2182203CF9800000018000000180005555
0010:AAAA0001800000018000391DA510251DA51039DD800000018000000180005555
0011:AAAA00018000000180007189CA184A09CA08719D800000018000000180005555
0012:AAAA00018000000180007199CA044A09CA10719D800000018000000180005555
0013:AAAA00018000000180007199CA044A19CA047199800000018000000180005555
0014:AAAA00018000000180007185CA0C4A15CA1C7185800000018000000180005555
0015:AAAA00018000000180004993EA546A59DBD44A53800000018000000180005555
0016:AAAA00018000000180003453C29A311789127113800000018000000180005555
0017:AAAA00018000000180007BB9C1247939C1247939800000018000000180005555
0018:AAAA00018000000180003325C4B447ADC4A434A5800000018000000180005555
0019:AAAA00018000000180003E89A0D83EA9A0883E89800000018000000180005555
001A:AAAA00018000000180003A5DC252325D8A52719D800000018000000180005555
001B:AAAA000180000001800079CFC2107991C0507B8F800000018000000180005555
001C:AAAA00018000000180001E7190801E61901010E1800000018000000180005555
001D:AAAA00018000000180000E719080166192100EE1800000018000000180005555
001E:AAAA00018000000180001C7192801C61941012E1800000018000000180005555
001F:AAAA000180000001800012719280126192100CE1800000018000000180005555
0020:00000000000000000000000000000000

:duff:

Wonko



#58 steve6375

steve6375

    Platinum Member

  • Developer
  • 6570 posts
  • Location:UK
  • Interests:computers, programming (masm,vb6,C,vbs), photography,TV,films,guitars
  •  
    United Kingdom

Posted 18 March 2016 - 08:44 AM

I substituted one of the other unifont.hex lines (e.g. 0034) for 0019 and it still didn't work.

 

So it seems that grub4dos always uses the BIOS font for 0000-001F ???

 

When I load a 24-high font hex file with character 0019 is defined as character 34 and  echo -e \x19 shows a space character on the display.

 

So this is a grub4dos bug?

 

Characters 10 and 11 seem to be internally defined for 24-high font but not 18 and 19.


Edited by steve6375, 18 March 2016 - 08:57 AM.


#59 steve6375

steve6375

    Platinum Member

  • Developer
  • 6570 posts
  • Location:UK
  • Interests:computers, programming (masm,vb6,C,vbs), photography,TV,films,guitars
  •  
    United Kingdom

Posted 18 March 2016 - 11:14 AM

yaya has already released a new version. Characters fonts below 0020 were ignored before, now characters below 0018 are ignored.

I can now define fonts for 0018-001F with the new version.

So just need a character set for 0018-001F ???

font12_x24.shex seems to contain the fonts.



#60 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 13497 posts
  • Location:The Outside of the Asylum (gate is closed)
  •  
    Italy

Posted 18 March 2016 - 12:20 PM

So just need a character set for 0018-001F ???

font12_x24.shex seems to contain the fonts.

Yep :), and it's not like an arrow up/down/left/right etc. have a "definite" font style, so you can just copy and paste those bunch of characters from that font to other ones.

 

:duff:

Wonko


  • steve6375 likes this

#61 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 13497 posts
  • Location:The Outside of the Asylum (gate is closed)
  •  
    Italy

Posted 15 December 2016 - 07:09 PM

Maybe of use, maybe not, a bunch of unicode fonts that may be good for grub4dos use as "terminal" (and suitable for ascii unicode art):

http://pelulamu.net/unscii/

 

:duff:

Wonko






1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users