jhhoward / MicroWeb

DOS Web browser for 8088 class machines
GNU General Public License v2.0
460 stars 31 forks source link

(French) accents and & in URL #12

Open sJARB opened 3 years ago

sJARB commented 3 years ago

Hi all, I discover this incredible project by the webmaster of a famous French retro informatic forum, Win3x.org. I've installed MicroWeb under PC-DOS V/7.0 (Japanese version of PC-DOS 2000) to have all DOS Web Browsers in the same VM (under 86box, Pentium MMX/166, 32 MB RAM, CL-GD 5480, PC-Net ISA 0x300 IRQ3), and I report some issues I've encounter.

1° HTML entities like à (à) or others, can't display. I'm sad to not see French accents on my website http://winjoy.sjarb.fr (the same for Greek letters to a lesser extent)

2° I think, <table> is not supported yet, because the one I use for the header seems not work here. The cells are displayed one below the other. The float CSS can help when implemented

3° When I try to use JavaScript, MicroWeb don't display anything

4° WINJOY is a verifed XHTML 4.0 Transitional site, but to do that, I'm foced to use an HTML entity for & instead, because I'm using parameters in URLs, but, as MicroWeb don't support these, it tries to access to the page without replace the entity by a real &. So I've to manually replace it in the search bar

My site looks pretty well without any major change except JavaScript, that's awesome !

That's all for today, thanks for your good work (^_^)

20211112-080257-683 Home page of WINJOY (No French accents, no Greek letters, no table)

20211112-081322-064 When i'm trying to access WINJOY with JavaScript

20211112-080307-230 When I'm trying to acces to the Windows section

jhhoward commented 2 years ago

Thanks for reporting on how your site performs! Currently accented characters get replaced with their not-accented versions. I'm planning to support a wider variety of characters in the future.

sJARB commented 2 years ago

The major issue is just html entities. I'm using that because of no support of UTF-8 in IE3. But MicroWeb don't pay attention to that. I'm making an other version with only the accented characters, and where I convert these to entites if necessary

I'm waiting the "version 0.53" 🙂

jhhoward commented 7 months ago

Version 2.0 now supports tables and a subset of accented characters. The URL you shared is no longer working so unfortunately I couldn't test with your site. Let me know if it displays correctly now :)

sJARB commented 7 months ago

Yes it's true, I moved my site into http://sjarb.fr since my last post 😅 it's midnight here in France, I have no time to test now

sJARB commented 2 months ago

I've test the "new" microweb 2.0, and everything is beautiful now 🤩🤩 Colors are well displayed (with a good palette and/or good graphic mode), decimal entites also (for instance, "&#233;" is correctly displayed "é" but not "&eacute;", and it now ignore all script tags.

Monitor_1_20240830-162552-826 Monochrome VGA

Monitor_1_20240830-162516-182 16-color VGA (i don't have an optimized palette for 16-colors modes)

Monitor_1_20240830-162346-086 256-color VGA (my palette is not fulle optimized for 256-colors modes 😅😅 unless Microweb dont support attributes "bgcolor" for "table" or "td" tags ???)

I'm working on this in localhost, so you can't test for now.

I'm waiting for an SVGA support (to display modes like 640×480 at 256 colors) or something like Video7

Which files did you modify when you add a new video mode ? I wanna try to add Video7 support

Edit 1, after some tests, i only get that when trying to add 640×480 @ 256 color (Mode 0x69 of S3 Trio32/64) : Monitor_1_20240831-001731-050 Monitor_1_20240831-001751-162 The only thing i changed is a line in VidModes.cpp :

// name                 mode    width   height  surfaceFormat           aspect %    zoom %  data pack       vram1   vram2   vram3   vram4
{ "640x480 256 colours (S3 Trio32/64)", 0x69,   640,    480,    DrawSurface::Format_8BPP,   100,        100,    DataPack::Default,  0xa000,              },

Edit 2, i've optimize the color palette of my site according to Microweb capacities : Monitor_1_20240903-035438-383 640×480 @ 16 colors

Monitor_1_20240903-035525-830 320×200 @ 256 colors

Microweb dont take care of the min-width of a table when a fixed width is not declared ↓↓↓ Edit 3 : Something I don't notice before, Microweb will display all HR tags at width=100%, even when the value is not declared and alsowith lower value declared : Monitor_1_20240905-013224-214 Monitor_1_20240905-013842-688