Register - Login
Views: 99388772
Main - Memberlist - Active users - Calendar - Wiki - IRC Chat - Online users
Ranks - Rules/FAQ - Stats - Latest Posts - Color Chart - Smilies
04-24-22 07:32:36 AM
Jul - The Cutting Room Floor - Fun with testing Windows Solitaire. Or something. New poll - New thread - New reply
Next newer thread | Next older thread
Aoi
Member
Level: 30


Posts: 139/181
EXP: 159646
For next: 6223

Since: 07-18-10


Since last post: 9.9 years
Last activity: 9.9 years

Posted on 04-05-11 08:19:57 AM Link | Quote
(continuing the discussion from the TCRF talk page for Solitaire. Originally had the link here, but the board kept eating it. Oh, and the 'free time' I mentioned? Never found it. )

Okay, with the help of all my systems, plus our Win3 and Win95 install discs, and crashed WinME OEM HD, here's all the versions I've tested:

Win 3.1 - 16-bit
Win95 - 16-bit?
Win98 - 16-bit?
WinME - 16-bit?
WinXP - 32-bit
Vista - 32-bit
Vista - 64-bit

I don't have the NT/2K versions (I do have a sealed (never opened) NT4 setup package, but I didn't think I should open it just for Solitaire ), and, of course, Win7's version. (No, I'm not looking for them; if anyone else has NT/2K/7 and wants to test their versions of Solitaire, be my guest.)

The Win3 and 9X/ME versions appear to be roughly the same, possibly simply recompiled for each new version of Windows. 95, 98 and ME are all ~168kb; Win3's version is ~177kb, but that might be primarily due to the larger stub Windows programs had in the Win3 days. They also might all be 16-bit EXEs, so my resource-examining programs generally don't want to read them. (I tried eXescope, as was once recommended by Resource Hacker's author, but it didn't seem as comprehensive as Resource Hacker, or allow you to check as much. I'll experiment with it a bit more, though - but is there anything else that'll let you check/edit the resources of Win16 programs?)

The "Unable to load bitmap; do you want to use a green background?" message exists in all versions from the Win3 version to the XP version. Considering the XP version changes/adds a number of things (like the Alt+Shift+2 cheat, apparently), and does not remove the bitmap/background message, it's probably an undocumented feature. (Activated by command-line, INI file or registry entry? I tried renaming a .bmp file (clouds.bmp, from 98) to SOL.BMP and placing it in the same director(ies) as the Win3 > 98 versions, but that yielded no results.)

The Win3 > XP versions all contain the "Wes Cherry" author credit; Vista's (and therefore likely Win7) version is most likely a complete rewrite of the game. I didn't notice anything unusual, offhand, in the text from the Vista versions.

I've run all the EXEs through strings, piping each to a text file. Is there a way to get strings to recognize those messages that have nulls between each character? Also, Resource Hacker loads both the 32-bit and 64-bit Vista versions, but doesn't seem to do much with them... did the EXE format change at all for Vista/7, or is RH's support for Vista executables just minimal?


Liliana
"A horrible person". That's what it says. "A horrible person."

We weren't even testing for that.


Level: NaN


Posts: 2344/-3841
EXP: NaN
For next: 0

Since: 07-23-07


Since last post: 10.2 years
Last activity: 10.1 years

Posted on 04-05-11 08:39:38 AM Link | Quote
NT4 appears to be largely the same as Windows XP. Well almost, the first of those unused debug options is called "Hell, I don't know" here. I guess some really religious programmer had his problems with having such a word here.

____________________

Most people who visit your Web pages are there in search of useful or entertaining information, not to admire your fancy graphics skills or HTML prowess.
— Apple Web Design Guide, 1996
 
Joe
Common spammer
🍬
Level: 111


Posts: 1973/3392
EXP: 14489071
For next: 379289

Since: 08-02-07

From: Pororoca

Since last post: 3 days
Last activity: 5 hours

Posted on 04-06-11 02:31:51 AM Link | Quote
Originally posted by Aoi
Is there a way to get strings to recognize those messages that have nulls between each character?
That's UTF-16, and I think adding -e l to the command line will do it.

____________________
Liliana
"A horrible person". That's what it says. "A horrible person."

We weren't even testing for that.


Level: NaN


Posts: 2349/-3841
EXP: NaN
For next: 0

Since: 07-23-07


Since last post: 10.2 years
Last activity: 10.1 years

Posted on 04-09-11 12:20:52 PM Link | Quote
One thing that you might want to know: the XP version has new deck backsides compared to the old versions. But certain things of the old backsides (like the animation of the robot) are still there as a leftover. Microsoft was really lazy there. There's also that dotted b/w backside which I'm pretty sure doesn't exist in the XP version whatsoever.

____________________

Most people who visit your Web pages are there in search of useful or entertaining information, not to admire your fancy graphics skills or HTML prowess.
— Apple Web Design Guide, 1996
 
Aoi
Member
Level: 30


Posts: 140/181
EXP: 159646
For next: 6223

Since: 07-18-10


Since last post: 9.9 years
Last activity: 9.9 years

Posted on 04-11-11 09:54:19 AM Link | Quote
Joe: Yeah, that worked. Thanks! (I'd have checked the basic help, but I didn't know that was how UTF-16-in-an-EXE looked.)

Now, I've got an extra string-dump for the XP and Vista versions. I suppose I could zip them and post them somewhere... but I don't know where, really. Dropbox/Stashbox? I don't have a file-share site account, and don't really feel like using Rapidshare/Mediafire, so...

Prince Kassad: Yeah, I'd had the Microsoft-was-lazy impression from just looking at the EXEs, too... in fact, originally, I'd wondered if they'd just patched the EXE with new version numbers for each 9X/ME release.

I can't remember - did they have Solitaire in one of their Entertainment Packs, or even Plus versions?

Aeonic Butterfly
200
Level: 32


Posts: 16/207
EXP: 191523
For next: 14919

Since: 12-27-10

From: Ridgecrest, CA

Since last post: 4.4 years
Last activity: 4.4 years

Posted on 04-20-11 03:48:37 AM Link | Quote
Curiosity, since I think I noticed this before, or my memory's going bad. Does the 3x version have the Enter Game Number, or is that bad memory?
Aoi
Member
Level: 30


Posts: 141/181
EXP: 159646
For next: 6223

Since: 07-18-10


Since last post: 9.9 years
Last activity: 9.9 years

Posted on 04-20-11 07:14:24 AM Link | Quote
It doesn't appear to be in the 3.x/9X/ME versions (I rechecked them just now, though I'll admit it was only going over the strings output files again, and another quick run-through with a hex editor). The NT/2K versions could (and probably do) have it, though.

Aeonic Butterfly
200
Level: 32


Posts: 22/207
EXP: 191523
For next: 14919

Since: 12-27-10

From: Ridgecrest, CA

Since last post: 4.4 years
Last activity: 4.4 years

Posted on 04-22-11 01:14:22 AM Link | Quote
Originally posted by Aoi
It doesn't appear to be in the 3.x/9X/ME versions (I rechecked them just now, though I'll admit it was only going over the strings output files again, and another quick run-through with a hex editor). The NT/2K versions could (and probably do) have it, though.




Kk, thanks for checking. =)
paulguy

Green Birdo
Level: 93


Posts: 1476/2294
EXP: 8025616
For next: 27194

Since: 09-14-07

From: Buffalo, NY

Since last post: 9.7 years
Last activity: 9.6 years

Posted on 04-23-11 04:40:48 PM Link | Quote
Paulguy's Post configuration
I think the 3.x/9.x freecell had enter game number, so that could be where the confusion is from.

____________________
Aeonic Butterfly
200
Level: 32


Posts: 25/207
EXP: 191523
For next: 14919

Since: 12-27-10

From: Ridgecrest, CA

Since last post: 4.4 years
Last activity: 4.4 years

Posted on 04-23-11 07:18:12 PM Link | Quote
Originally posted by paulguy
I think the 3.x/9.x freecell had enter game number, so that could be where the confusion is from.


Maybe. We had to have gotten our 386sx IBM Clone around, what, 1990? 1991? I was four-ish then, so maybe bad memory to blame here.

I just remember taking the random numbers and entering it into other games to see what would pop up (Taipei, Freecell, etc.)
Liliana
"A horrible person". That's what it says. "A horrible person."

We weren't even testing for that.


Level: NaN


Posts: 2408/-3841
EXP: NaN
For next: 0

Since: 07-23-07


Since last post: 10.2 years
Last activity: 10.1 years

Posted on 04-23-11 07:33:57 PM Link | Quote
I checked NT4 MIPS, Solitaire doesn't have game numbers there either. It is most likely the same for x86.

____________________

Most people who visit your Web pages are there in search of useful or entertaining information, not to admire your fancy graphics skills or HTML prowess.
— Apple Web Design Guide, 1996
 
Next newer thread | Next older thread
Jul - The Cutting Room Floor - Fun with testing Windows Solitaire. Or something. New poll - New thread - New reply


Rusted Logic

Acmlmboard - commit 47be4dc [2021-08-23]
©2000-2022 Acmlm, Xkeeper, Kaito Sinclaire, et al.

31 database queries, 2 query cache hits.
Query execution time:  0.092545 seconds
Script execution time:  0.015860 seconds
Total render time:  0.108405 seconds


TidyHTML vomit below
line 1 column 1 - Warning: missing <!DOCTYPE> declaration
line 2 column 301 - Warning: unescaped & or unknown entity "&page"
line 119 column 11 - Warning: <form> isn't allowed in <table> elements
line 118 column 10 - Info: <table> previously mentioned
line 120 column 11 - Warning: missing <tr>
line 120 column 119 - Warning: missing </font> before </td>
line 124 column 16 - Warning: plain text isn't allowed in <tr> elements
line 120 column 11 - Info: <tr> previously mentioned
line 125 column 68 - Warning: missing </nobr> before </td>
line 141 column 68 - Warning: missing </nobr> before <tr>
line 147 column 35 - Warning: missing <tr>
line 147 column 50 - Warning: missing </font> before </td>
line 147 column 207 - Warning: plain text isn't allowed in <tr> elements
line 147 column 35 - Info: <tr> previously mentioned
line 148 column 37 - Warning: unescaped & or unknown entity "&id"
line 147 column 223 - Warning: missing </font> before </table>
line 149 column 35 - Warning: missing <tr>
line 149 column 50 - Warning: missing </font> before </td>
line 149 column 91 - Warning: missing </font> before </table>
line 156 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 158 column 9 - Warning: missing <tr>
line 176 column 13 - Warning: missing <tr>
line 177 column 102 - Warning: unescaped & or unknown entity "&postid"
line 205 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 207 column 9 - Warning: missing <tr>
line 225 column 13 - Warning: missing <tr>
line 226 column 102 - Warning: unescaped & or unknown entity "&postid"
line 234 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 236 column 9 - Warning: missing <tr>
line 254 column 13 - Warning: missing <tr>
line 255 column 102 - Warning: unescaped & or unknown entity "&postid"
line 257 column 74 - Warning: <style> isn't allowed in <td> elements
line 257 column 9 - Info: <td> previously mentioned
line 260 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 262 column 9 - Warning: missing <tr>
line 280 column 13 - Warning: missing <tr>
line 281 column 102 - Warning: unescaped & or unknown entity "&postid"
line 289 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 291 column 9 - Warning: missing <tr>
line 309 column 13 - Warning: missing <tr>
line 310 column 102 - Warning: unescaped & or unknown entity "&postid"
line 323 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 325 column 9 - Warning: missing <tr>
line 343 column 13 - Warning: missing <tr>
line 344 column 102 - Warning: unescaped & or unknown entity "&postid"
line 349 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 351 column 9 - Warning: missing <tr>
line 369 column 13 - Warning: missing <tr>
line 370 column 102 - Warning: unescaped & or unknown entity "&postid"
line 377 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 379 column 9 - Warning: missing <tr>
line 397 column 13 - Warning: missing <tr>
line 398 column 102 - Warning: unescaped & or unknown entity "&postid"
line 407 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 409 column 9 - Warning: missing <tr>
line 427 column 13 - Warning: missing <tr>
line 428 column 102 - Warning: unescaped & or unknown entity "&postid"
line 430 column 74 - Warning: <style> isn't allowed in <td> elements
line 430 column 9 - Info: <td> previously mentioned
line 433 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 435 column 9 - Warning: missing <tr>
line 453 column 13 - Warning: missing <tr>
line 454 column 102 - Warning: unescaped & or unknown entity "&postid"
line 463 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 465 column 9 - Warning: missing <tr>
line 483 column 13 - Warning: missing <tr>
line 484 column 102 - Warning: unescaped & or unknown entity "&postid"
line 492 column 17 - Warning: missing <tr>
line 492 column 17 - Warning: discarding unexpected <table>
line 495 column 35 - Warning: missing <tr>
line 495 column 50 - Warning: missing </font> before </td>
line 495 column 91 - Warning: missing </font> before </table>
line 497 column 35 - Warning: missing <tr>
line 497 column 50 - Warning: missing </font> before </td>
line 497 column 207 - Warning: plain text isn't allowed in <tr> elements
line 497 column 35 - Info: <tr> previously mentioned
line 498 column 37 - Warning: unescaped & or unknown entity "&id"
line 497 column 223 - Warning: missing </font> before </table>
line 499 column 17 - Warning: discarding unexpected </textarea>
line 499 column 28 - Warning: discarding unexpected </form>
line 499 column 35 - Warning: discarding unexpected </embed>
line 499 column 43 - Warning: discarding unexpected </noembed>
line 499 column 53 - Warning: discarding unexpected </noscript>
line 499 column 64 - Warning: discarding unexpected </noembed>
line 499 column 74 - Warning: discarding unexpected </embed>
line 499 column 82 - Warning: discarding unexpected </table>
line 499 column 90 - Warning: discarding unexpected </table>
line 501 column 9 - Warning: missing </font> before <table>
line 513 column 25 - Warning: discarding unexpected </font>
line 522 column 57 - Warning: discarding unexpected </font>
line 500 column 1 - Warning: missing </center>
line 120 column 63 - Warning: <img> lacks "alt" attribute
line 125 column 19 - Warning: <td> attribute "width" has invalid value "120px"
line 125 column 93 - Warning: <img> lacks "alt" attribute
line 141 column 19 - Warning: <td> attribute "width" has invalid value "120px"
line 141 column 98 - Warning: <img> lacks "alt" attribute
line 148 column 44 - Warning: <img> proprietary attribute value "absmiddle"
line 148 column 142 - Warning: <img> proprietary attribute value "absmiddle"
line 148 column 246 - Warning: <img> proprietary attribute value "absmiddle"
line 161 column 22 - Warning: <img> lacks "alt" attribute
line 161 column 63 - Warning: <img> lacks "alt" attribute
line 161 column 112 - Warning: <img> lacks "alt" attribute
line 161 column 162 - Warning: <img> lacks "alt" attribute
line 162 column 11 - Warning: <img> lacks "alt" attribute
line 172 column 15 - Warning: <img> lacks "alt" attribute
line 179 column 201 - Warning: <img> proprietary attribute value "absmiddle"
line 179 column 201 - Warning: <img> lacks "alt" attribute
line 179 column 307 - Warning: <img> proprietary attribute value "absmiddle"
line 179 column 307 - Warning: <img> lacks "alt" attribute
line 191 column 793 - Warning: <img> proprietary attribute value "absmiddle"
line 191 column 793 - Warning: <img> lacks "alt" attribute
line 210 column 23 - Warning: <img> lacks "alt" attribute
line 210 column 64 - Warning: <img> lacks "alt" attribute
line 221 column 15 - Warning: <img> lacks "alt" attribute
line 239 column 23 - Warning: <img> lacks "alt" attribute
line 239 column 64 - Warning: <img> lacks "alt" attribute
line 239 column 113 - Warning: <img> lacks "alt" attribute
line 239 column 163 - Warning: <img> lacks "alt" attribute
line 240 column 11 - Warning: <img> lacks "alt" attribute
line 250 column 15 - Warning: <img> lacks "alt" attribute
line 265 column 23 - Warning: <img> lacks "alt" attribute
line 265 column 64 - Warning: <img> lacks "alt" attribute
line 276 column 15 - Warning: <img> lacks "alt" attribute
line 283 column 487 - Warning: <img> proprietary attribute value "absmiddle"
line 283 column 487 - Warning: <img> lacks "alt" attribute
line 294 column 22 - Warning: <img> lacks "alt" attribute
line 294 column 63 - Warning: <img> lacks "alt" attribute
line 294 column 112 - Warning: <img> lacks "alt" attribute
line 294 column 162 - Warning: <img> lacks "alt" attribute
line 295 column 11 - Warning: <img> lacks "alt" attribute
line 305 column 15 - Warning: <img> lacks "alt" attribute
line 312 column 115 - Warning: <img> proprietary attribute value "absmiddle"
line 312 column 115 - Warning: <img> lacks "alt" attribute
line 316 column 769 - Warning: <img> proprietary attribute value "absmiddle"
line 316 column 769 - Warning: <img> lacks "alt" attribute
line 327 column 15 - Warning: <img> proprietary attribute value "absmiddle"
line 327 column 15 - Warning: <img> lacks "alt" attribute
line 327 column 58 - Warning: <img> proprietary attribute value "absmiddle"
line 327 column 58 - Warning: <img> lacks "alt" attribute
line 327 column 101 - Warning: <img> proprietary attribute value "absmiddle"
line 327 column 101 - Warning: <img> lacks "alt" attribute
line 327 column 144 - Warning: <img> proprietary attribute value "absmiddle"
line 327 column 144 - Warning: <img> lacks "alt" attribute
line 328 column 22 - Warning: <img> lacks "alt" attribute
line 328 column 63 - Warning: <img> lacks "alt" attribute
line 328 column 112 - Warning: <img> lacks "alt" attribute
line 328 column 162 - Warning: <img> lacks "alt" attribute
line 339 column 15 - Warning: <img> lacks "alt" attribute
line 354 column 22 - Warning: <img> lacks "alt" attribute
line 354 column 63 - Warning: <img> lacks "alt" attribute
line 354 column 112 - Warning: <img> lacks "alt" attribute
line 354 column 162 - Warning: <img> lacks "alt" attribute
line 355 column 11 - Warning: <img> lacks "alt" attribute
line 365 column 15 - Warning: <img> lacks "alt" attribute
line 381 column 15 - Warning: <img> proprietary attribute value "absmiddle"
line 381 column 15 - Warning: <img> lacks "alt" attribute
line 381 column 58 - Warning: <img> proprietary attribute value "absmiddle"
line 381 column 58 - Warning: <img> lacks "alt" attribute
line 381 column 101 - Warning: <img> proprietary attribute value "absmiddle"
line 381 column 101 - Warning: <img> lacks "alt" attribute
line 381 column 144 - Warning: <img> proprietary attribute value "absmiddle"
line 381 column 144 - Warning: <img> lacks "alt" attribute
line 382 column 22 - Warning: <img> lacks "alt" attribute
line 382 column 63 - Warning: <img> lacks "alt" attribute
line 382 column 112 - Warning: <img> lacks "alt" attribute
line 382 column 162 - Warning: <img> lacks "alt" attribute
line 393 column 15 - Warning: <img> lacks "alt" attribute
line 411 column 11 - Warning: <img> lacks "alt" attribute
line 412 column 22 - Warning: <img> lacks "alt" attribute
line 412 column 63 - Warning: <img> lacks "alt" attribute
line 412 column 112 - Warning: <img> lacks "alt" attribute
line 412 column 161 - Warning: <img> lacks "alt" attribute
line 413 column 11 - Warning: <img> lacks "alt" attribute
line 423 column 15 - Warning: <img> lacks "alt" attribute
line 437 column 15 - Warning: <img> proprietary attribute value "absmiddle"
line 437 column 15 - Warning: <img> lacks "alt" attribute
line 437 column 58 - Warning: <img> proprietary attribute value "absmiddle"
line 437 column 58 - Warning: <img> lacks "alt" attribute
line 437 column 101 - Warning: <img> proprietary attribute value "absmiddle"
line 437 column 101 - Warning: <img> lacks "alt" attribute
line 437 column 144 - Warning: <img> proprietary attribute value "absmiddle"
line 437 column 144 - Warning: <img> lacks "alt" attribute
line 438 column 22 - Warning: <img> lacks "alt" attribute
line 438 column 63 - Warning: <img> lacks "alt" attribute
line 438 column 112 - Warning: <img> lacks "alt" attribute
line 438 column 162 - Warning: <img> lacks "alt" attribute
line 449 column 15 - Warning: <img> lacks "alt" attribute
line 468 column 23 - Warning: <img> lacks "alt" attribute
line 468 column 64 - Warning: <img> lacks "alt" attribute
line 479 column 15 - Warning: <img> lacks "alt" attribute
line 498 column 44 - Warning: <img> proprietary attribute value "absmiddle"
line 498 column 142 - Warning: <img> proprietary attribute value "absmiddle"
line 498 column 246 - Warning: <img> proprietary attribute value "absmiddle"
line 507 column 25 - Warning: <img> lacks "alt" attribute
line 512 column 267 - Warning: <img> lacks "alt" attribute
line 149 column 50 - Warning: trimming empty <font>
line 492 column 17 - Warning: trimming empty <tr>
line 495 column 50 - Warning: trimming empty <font>
line 125 column 68 - Warning: <nobr> is not approved by W3C
line 141 column 68 - Warning: <nobr> is not approved by W3C
line 177 column 27 - Warning: <nobr> is not approved by W3C
line 226 column 27 - Warning: <nobr> is not approved by W3C
line 228 column 74 - Warning: <div> proprietary attribute "width"
line 228 column 514 - Warning: <div> proprietary attribute "width"
line 255 column 27 - Warning: <nobr> is not approved by W3C
line 281 column 27 - Warning: <nobr> is not approved by W3C
line 283 column 74 - Warning: <div> proprietary attribute "width"
line 283 column 687 - Warning: <div> proprietary attribute "width"
line 310 column 27 - Warning: <nobr> is not approved by W3C
line 344 column 27 - Warning: <nobr> is not approved by W3C
line 370 column 27 - Warning: <nobr> is not approved by W3C
line 398 column 27 - Warning: <nobr> is not approved by W3C
line 428 column 27 - Warning: <nobr> is not approved by W3C
line 454 column 27 - Warning: <nobr> is not approved by W3C
line 484 column 27 - Warning: <nobr> is not approved by W3C
line 486 column 74 - Warning: <div> proprietary attribute "width"
line 486 column 392 - Warning: <div> proprietary attribute "width"
Info: Document content looks like HTML5
Info: No system identifier in emitted doctype
Tidy found 211 warnings and 0 errors!


The alt attribute should be used to give a short description
of an image; longer descriptions should be given with the
longdesc attribute which takes a URL linked to the description.
These measures are needed for people using non-graphical browsers.

For further advice on how to make your pages accessible
see http://www.w3.org/WAI/GL.
You are recommended to use CSS to specify the font and
properties such as its size and color. This will reduce
the size of HTML files and make them easier to maintain
compared with using <FONT> elements.

You are recommended to use CSS to control line wrapping.
Use "white-space: nowrap" to inhibit wrapping in place
of inserting <NOBR>...</NOBR> into the markup.

About HTML Tidy: https://github.com/htacg/tidy-html5
Bug reports and comments: https://github.com/htacg/tidy-html5/issues
Official mailing list: https://lists.w3.org/Archives/Public/public-htacg/
Latest HTML specification: http://dev.w3.org/html5/spec-author-view/
Validate your HTML documents: http://validator.w3.org/nu/
Lobby your company to join the W3C: http://www.w3.org/Consortium

Do you speak a language other than English, or a different variant of
English? Consider helping us to localize HTML Tidy. For details please see
https://github.com/htacg/tidy-html5/blob/master/README/LOCALIZE.md