Looking through
@timschuerewegen's work decompiling and modifying the DSO2512G firmware, one of the improvements is the font:

Tim also provided the original and modified font data. I poked around the
DSO3D12 3.0.5-III firmware and it uses identical font data, so it seems possible to mod this scope as well. The trick is that the newer Zeeweii scopes (DSO154pro, DSO3D12, DSO1C81) use an mcu with integrated flash (Winner Micro W806-C200), and I haven't found an easy way to dump the flash so currently only firmware provided by Zeeweii can be modded.
The
W800 docs describe the firmware format - a .fls file with multiple images (bootloader, runtime image, etc), each with a separate header with checksums for the individual image and the header itself. It's possible to manually replace the data and calculate new checksums. Possible, but seems like a pain so...
Here's a tool to view .fls firmware header/image info, replace data with updated checksums, and extract images:
https://github.com/taligentx/FLSTweakI've added the font mod data to the examples directory, as well as a mod to fix the UI bug for the "Mea:" field label (it has an extra colon as circled in the screenshot above). The tool generates a new .fls file that can be flashed to the scope with
this Windows tool or wm.py in the
WM IoT SDK. Disclaimer: this is totally untested! My scope arrived with the newer 3.0.6-III firmware and I'll need to get a copy to test.
If you have a scope running 1.1.2 or 3.0.5-III and would like to try the updated UI, I can provide the steps or send a modded file. If there are any issues, it should be possible to flash the original firmware but needs testing.
I'm also interested in finding a way to dump the flash - the W80x series chips are also commonly used on smart home devices, etc. Would love to hear thoughts on ways to try this or general modding. For example, the W806 has six UARTs, it'd be interesting to see if any of them can be used to send data externally.