OT: Parsing object files for fun and profit

Patrick Schluter Patrick.Schluter at bbox.fr
Thu May 31 18:53:38 UTC 2018


On Thursday, 31 May 2018 at 18:33:37 UTC, Ali Çehreli wrote:
> On 05/31/2018 09:49 AM, Adam D. Ruppe wrote:
>
> > Should be fairly simple to follow, just realize that the
> image is a 2d
> > block for each char and that's why there's all those
> multiplies and
> > divides.
>
> I remember doing similar things with fonts to add Turkish 
> characters to Digital Research and Wordperfect products (around 
> 1989-1992). Localizing by patching compiled code was fun. :)
>
> My happiest accomplishment was localizing Ventura Publisher 
> "cleanly" after realizing that their language-related 
> "resource" file was just an object file compiled from a simple 
> C source code which had just an array of strings in it:
>
> char * texts[] = {
>     "yes",
>     "no",
>     // ...
> };
>
> I parsed the object file to generate C source code, translated 
> the C source code, and finally compiled it again. Voila! 
> Ventura Publisher in Turkish, and everything lined-up 
> perfectly. :) Before that, one had to patch the object file to 
> abbreviate "evet" on top of "yes", "hayır" on top of "no", etc.
>
> Ali

Look for bdf files. This is an quite old X-windows bitmap font 
file format that has the big advantage of being a simple text 
format. So it is easy to parse and transform. There are quite 
some fonts existing in that format.

https://en.wikipedia.org/wiki/Glyph_Bitmap_Distribution_Format

I had used it in an embedded project in the 90s and it was simple 
enough that a 80186 based terminal could handle bitmap 
proportional fonts without breaking a sweat.


More information about the Digitalmars-d-learn mailing list