this post was submitted on 08 Sep 2024
1237 points (98.2% liked)

Programmer Humor

32710 readers
452 users here now

Post funny things about programming here! (Or just rant about your favourite programming language.)

Rules:

founded 5 years ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] Batman 60 points 3 months ago (1 children)
[–] renzev 65 points 3 months ago* (last edited 3 months ago) (2 children)
[–] [email protected] 29 points 3 months ago (2 children)

Lots or file formats are just zipped XML.

I was ~~reverse engineering~~ fucking around with the LBX file format for our Brother label printer's software at work, because I wanted to generate labels programmatically, and they're zipped XML too. Terrible format, LBX, really annoying to work with. The parser in Brother P-Touch Editor is really picky too. A string is 1 character longer or shorter than the length you defined in an attribute earlier in the XML? "I've never seen this file format in my life," says P-Touch Editor.

[–] SzethFriendOfNimi 11 points 3 months ago* (last edited 3 months ago) (1 children)

Sounds like it’s actually using XSLT or some kind of content validation. Which to be honest sounds like a good practice.

[–] [email protected] 9 points 3 months ago* (last edited 3 months ago) (1 children)

Here's an example of a text object taken from the XML, if you're curious: https://clips.clb92.xyz/2024-09-08_22-27-04_gfxTWDQt13RMnTIS.png

EDIT: And with more complicated strings (like ones havingnumbers or symbols - just regular-ass ASCII symbols, mind you) there will be tens of , because apparently numbers and letters don't even work the same. Even line breaks have their own . And if the number of these and their charLen don't match what's actually in pt:data, it won't open the file.

[–] SzethFriendOfNimi 1 points 3 months ago* (last edited 3 months ago) (1 children)

Is it because of the lower case Latin æ since it’s technically one character even if two bytes?

[–] [email protected] 3 points 3 months ago (1 children)
[–] SzethFriendOfNimi 1 points 3 months ago

What a mess… sounds like the devs got burned by various Unicode edge cases RTL, etc

[–] bitjunkie 1 points 3 months ago (1 children)

Do you have to define a length range?

[–] [email protected] 2 points 3 months ago

The precise length, not a range.

But I misremembered a bit, you actually define it after the text. Here's a screenshot of a single text element: https://clips.clb92.xyz/2024-09-08_22-27-04_gfxTWDQt13RMnTIS.png

[–] Batman 7 points 3 months ago

The future if text documents were Json:

City_pic.png.xml