See the top rated post in this thread. Click here

Page 1 of 3 123 LastLast
Results 1 to 10 of 25
  1. Collapse Details
    E-P1/E-P2/E-PL1 hack research
    #1
    Default
    Here's a tool to manipulate Olympus firmwares.
    It is mainly based on analysis of the file format by people over at the CHDK forum.

    -- removed - updated version below --

    Included in the zip are:
    - HTML with links to FWs (obtained by sniffing HTTP traffic of Olympus software).
    - Binary executable of tool (Windows).
    - Source code (+ MSVC9 project).

    Here's an example of how to use the tool:
    1. Open "oly_fw_linklist-04_07_2010.html", download e.g. "OLY_E_068_1402_0000_0000.BIN" into the tool's "bin" folder.
    2. Decrypt and unpack the FW by typing "OlympusFwTool.exe --unpack --in OLY_E_068_1402_0000_0000.BIN --out OLY_E_068_1402_0000_0000.xml".
    3. You may estimate the loading address by typing "OlympusFwTool.exe --analyze --in OLY_E_068_1402_0000_0000.dissected\00.main-code-01.bin --out .\OLY_E_068_1402_0000_0000.analysis".
    4. Optionally you may extract some resources (jpgs, wavs, etc.) from the FW by typing "OlympusFwTool.exe --extract-resources --in OLY_E_068_1402_0000_0000.xml --out ./OLY_E_068_1402_0000_0000.resources".
    5. Open IDA (with MN103 module from tester13's site installed), drag and drop "00.main-code-01.bin".
    6. Select "Panasonic/Matshi*a MN103 Family: mn103", ROM start address: 0x6F191420, Loading address: 0x6F191420.
    7. Do your stuff, modify "00.main-code-01.bin".
    8. Re-pack and encrypt by typing "OlympusFwTool.exe --pack --in OLY_E_068_1402_0000_0000.xml --out OLY_E_068_1402_0000_0000_HACKED.BIN".

    Besides the actual reverse engineering and making meaningful modifications, one remaining issue with Olympus FWs is that the cameras can't be updated from SD/CF card.
    Instead Olympus provides special software (Viewer, Master, Studio, etc.) which downloads FW binary from Olympus' servers and updates the camera over USB.
    To solve this issue, there are three options:
    1. Run a local HTTP server which acts like the Olympus server, but serves the modified FW instead.
    2. Sniff USB traffic from Olympus s/w while doing an update and create software which does the same thing.
    3. Possibly there's a hidden method to do FW updates from card. See below.

    It seems Olympus cameras can be updated from SD/CF card at service centers.
    In fact for the E-3 camera such service card firmware was leaked.
    It consists of a set of files, e.g.:
    E0421203.BIN = main body code (regional variant 1)
    G0421203.BIN = main body code (regional variant 2)
    M0421105.BIN = SWD/IBIS microprocessor code (?)
    S0421001.BIN = boot loader (?)
    In this example, the E, G and M files can be obtained from the web FW file. However, the S file is not included in the web FW.
    Unfortunately, without this S file the camera will not update from card.

    For the E-P1 FW for instance, the code that does the update seems in the main code, not in the boot loader.
    A better understanding of how this code works by reverse engineering would be useful.

    Tester13 told me the E-Px FWs look relatively easy (lots of strings, etc.). However so far I've only reversed a couple of functions and think without the help of more people it won't come to anything meaningful. So I'm hoping some more people are willing to have a go at it...
    Last edited by ai_torito; 07-12-2010 at 07:35 AM.


    1 out of 1 members found this post helpful.
     

  2. Collapse Details
    #2
    Default
    It is research thread, not "I wish to be a girl" thread.


     

  3. Collapse Details
    #3
    Default
    Moving this to dvxuser from dpreview...


    I just spent an hour or two poring over the strings in my E-PL1 firmware. I'm astonished at the sheer volume of debugging text there. What I think I know thus far:

    1) Operating system is uITRON (Japanese-developed RTOS), guessed using google and a list of error codes. I found a nice introduction here:
    http://www.nces.is.nagoya-u.ac.jp/.../blog_en/index.php?catid=39&blogid=4 which might be useful.

    2) A lot of text is devoted to what looks like a serial-port debugging mode. Lots of critical places in the code appear to have debugging text output for this, so it could be a great map directing us to the places we wish to make changes. Maybe if we are really lucky it runs over USB with standard FDTI driver? But how to turn it on?

    3) Here is a region with a list of "magic" filenames on the SD card, and debugging output for the firmware loading. Also notice possible passwords? This is a very interesting part of the dump.

    0x00186248:S074????BIN
    0x00186254:E074????BIN
    0x00186260:G074????BIN
    0x0018626C:H074????BIN
    0x00186278:W074????BIN
    0x00186284:A074????BIN
    0x00186290:M074????BIN
    0x0018629C:V074????BIN
    0x001862A8: DATE????BIN
    0x001862B4:N074????BIN
    0x00186384:[firmup]File Init Err.
    0x0018639C:[firmup]Mount Err:
    0x001863AF:[firmup]mount_ok
    0x001863C1:[firmup]ld_img_st
    0x001863D3:[firmup]...Binary file Hakken !!!!!
    0x001863F8:[firmup]...read file_size =
    0x00186414:[firmup]Are?.
    0x00186423:[firmup]SCPU Init Err.
    0x0018643B:[firmup]REBOOT SYSTEM UPDATE.
    0x0018645A:[firmup]REBOOT USER UPDATE.
    0x00186477:[firmup]RebootFlag = 0x
    0x0018648F: DCOLYMP
    0x0018649B:Seikou
    0x001864A9:USTART1
    0x001864B1:Shippai
    0x001864BA:Owariyade

    4) The string "QBASIC" (!!) appears in a couple of places, and there are also some language-y words like goto, gosub, for, while, and so on. Some sort of scripting ability?

    5) Another magic filename here:

    0x004B0921:RCU: Mount Error.
    0x004B0934:RCUOLYMP
    0x004B0940:R0240001RCU
    0x004B094C:RCU: F_Read Error.


    RCU == remote camera update? remote control utility? Searching for rcu will take you to several other interesting strings.


    I noticed that my disassembly window started with nothing but ".byte" directives and no assembler opcodes. Is this normal? What's the best way to "dive in" to the code? Maybe if you could point me to a function you've already reversed, I could learn from it.


     

  4. Collapse Details
    #4
    Default
    First post have all necessary instructions for disassembling.
    If you do not understand it just do not bother as it'll be much harder later and no one to ask for.


     

  5. Collapse Details
    web update
    #5
    Default
    Attached is v1.02 of oly_fw_tools.

    Now includes an update server emulator written in Python (tested with 2.6).

    By running this emulator, editing your hosts file and running Olympus Camera Updater you can upgrade, downgrade and flash modified firmwares.

    Needless to say, it is likely that these tools are able to brick your camera when used improperly. So if you try them, please be careful.
    Attached Files Attached Files


    1 out of 1 members found this post helpful.
     

  6. Collapse Details
    Simple test
    #6
    Default
    The poor wording of the error message produced when turning on the E-P1 prior to extending the collapsible lens totally ruins my creative flow when out shooting.

    So.. lets try to modify it..

    before.jpg

    Yay my camera isn't bricked!

    after.jpg


     

  7. Collapse Details
    #7
    Default
    Glad to hear this.
    Such things are very good first step.


     

  8. Collapse Details
    #8
    Default
    While I'm not going to be of much use in the decompiling, I just wanted to offer a bit of encouragement. Nice to see a 'hello world' already. I'll be following this path with interest. I'm curious to find out if the e-pl1 shutter speed limit of 2000 is simply a firmware cripple, or due to different hardware specs.


     

  9. Collapse Details
    #9
    Default
    Not much progress. But I made a list of areas that would be interesting to look into (IMHO):
    Code:
    1.	Further parsing of firmware BIN format:
    	While a lot of the firmware BIN file can be parsed, the format of the "lang" blocks in particular is not yet known.
    	These blocks contain UTF-16 strings, and most likely bitmap fonts and OSD icons.
    	It is somewhat debatable how useful this would be to making actual hacks as it is likely that GUI things are very much separated from core functionality.
    	The blocks contain a lot of addresses and there's a lot of data available, so should be possible to reverse engineer.
    	
    2.	Display current ISO value on screen in Auto ISO mode:
    	While conceptually simple, I think doing this by means of hacking firmware will be quite difficult.
    	Most on-screen displayed values seem to be produced by either array of icons or array of strings, rather than a printf()-like mechanism (there are a few exceptions such as focal length and date/time display on photo review, etc.).
    	
    3.	Button reassignment:
    	Allowing to freely reassign buttons would be nice.
    	Might be relatively easy (for the buttons that are already reassignable to some degree at least), or possibly quite hard.
    	Requires some understanding of menu, settings, button event handling, etc.
    
    4.	Greater AE bracketing step and/or more steps:
    	May be relatively easy.
    	Requires reversing code related to exposure. There are probably certain constants that map to EV values (0.3, 0.7, 1.0).
    	
    5.	Exit MF Assist on shutter release half pressed with non-chipped lens attached:
    	May be relatively easy.
    	Requires finding shutter release handling code (maybe near debug strings with "trig"?), chipped lens attached check code, etc.
    	One hint may be that older E-P1 firmwares had long MF Assist exit timeout (on m4/3 lenses) while newer (1.4) has shorter, 1sec timeout.
    	
    6.	More zoom levels in MF Assist mode:
    	Probably not so easy, but would be very cool.
    	Could compare E-P1 code (7x, 10x) to E-PL1 code (7x, 10x, 14x).
    	
    7.	Figure out hidden service menus:
    	May be useful for testing things; for instance has printf() to screen, etc..
    	For most E-series cameras key sequence is known. Not for E-Px however as they do not show "CARD-COVER OPEN" message.
    	Code does contain all related strings (seems identical to E-3 variant of service menus). Interestingly, the E-Px firmware does contain the "CARD-COVER OPEN" string in its language resource. Might even be disabled for E-Px, but not likely.
    	
    8.	Get FW updates from card working:
    	Obtain S-file somewhere. Maybe dumping ROM to file or something. Probably not very easy and a bit tricky.
    	Understanding how booting and updating works.
    	This would be especially useful for non-developer users if a hack ever happens.
    
    9.	Figure out loading address weirdness:
    	It seems that in general for all E-series cameras, there's a 'hidden' bootloader at 0x4000000. Then there's the firmware code at some address after that.
    	For all cameras the loading address of this code block is specified in the BIN file.
    	However, for the E-Px cameras, this is not the case. E.g. for E-P1 loading address specified in BIN file is 0x40060000, but some functions have been verified using a loading address of 0x6F191420.
    	Maybe the code on the ROM is copied to RAM and then executed from there?


     

  10. Collapse Details
    #10
    Default
    I looked a little at the embedded osd icons and fonts (point 1).

    Following is the data for the main font (english language):
    Code:
    001 Glyph " " (32):
        Struct header:  00 09 00 17
        Data header:    16 80 00 01
        Data:           33 30 03 33 30 03 33 30 03 33 30 03 33 30 03 33
                        30 03 33 30 03 33 30 03 33 30 03 33 30 03 33 30
                        03 33 00
        Data size:      35 bytes (excl. header)
    
    002 Glyph "!" (33):
        Struct header:  00 04 00 17
        Data header:    16 30 00 01
        Data:           33 33 47 4D D4 44 4D D4 44 4D D4 44 4D D4 44 4D
                        D4 74 47 4D D4 74 33 03
        Data size:      24 bytes (excl. header)
    
    003 Glyph """ (34):
        Struct header:  00 08 00 17
        Data header:    16 70 00 01
        Data:           33 33 33 33 77 D4 D5 44 5D 4D D4 D5 44 5D 4D 77
                        33 33 33 33 33 33 33 33 33 33 33 33 33
        Data size:      29 bytes (excl. header)
    
    004 Glyph "#" (35):
        Struct header:  00 0A 00 17
        Data header:    16 90 00 01
        Data:           33 31 13 33 31 13 33 01 77 00 D4 D5 04 40 5D 4D
                        50 5D 5D F4 4F F4 4F D5 D5 05 D4 D5 04 D5 D5 45
                        FF 44 FF 54 5D 5D 40 5D 4D 00 D4 D5 04 70 07 33
                        31 13 33 01
        Data size:      52 bytes (excl. header)
    
    005 Glyph "$" (36):
        Struct header:  00 0C 00 17
        Data header:    16 B0 00 01
        Data:           33 33 33 73 33 D4 34 61 6D 01 F5 5D 50 FF 45 5D
                        5D 4D D4 D5 D5 44 5D 7D 44 5D 6D 51 EF 05 50 EF
                        15 D6 D5 74 D4 D5 44 5D 5D 4D D4 D5 D5 54 FF 05
                        F5 5D 10 D6 16 43 4D 33 37 33 03
        Data size:      59 bytes (excl. header)
    
    006 Glyph "%" (37):
        Struct header:  00 0C 00 17
        Data header:    16 B0 00 01
        Data:           33 33 33 33 33 33 71 13 50 5D 70 F5 D6 44 5D 4D
                        4E D4 D5 D4 55 4F 5D 00 D5 D4 15 61 5D 22 D5 16
                        51 4D 5D 00 D5 F4 55 4D 5D 4D E4 D4 D5 44 6D 5F
                        07 D5 05 13 17 33 33 33 33 03
        Data size:      58 bytes (excl. header)
    
    007 Glyph "&" (38):
        Struct header:  00 0C 00 17
        Data header:    16 B0 00 01
        Data:           33 33 33 33 33 33 71 26 50 CF 15 40 EF 14 40 6D
                        4D 01 D4 D6 14 40 4E 4E 01 F5 5C 01 F5 47 F5 6C
                        4C D4 E5 D4 44 6D CF 44 4D 50 5E D4 F6 4C F5 CF
                        04 F5 D5 14 77 35 33 33 33 33
        Data size:      58 bytes (excl. header)
    
    008 Glyph "'" (39):
        Struct header:  00 04 00 17
        Data header:    16 30 00 01
        Data:           33 33 47 4D D4 44 4D D4 74 33 33 33 33 33 33 03
        Data size:      16 bytes (excl. header)
    
    009 Glyph "(" (40):
        Struct header:  00 06 00 17
        Data header:    16 50 00 01
        Data:           13 13 13 13 71 41 4D 50 4D 40 5D 40 4D 50 4D 40
                        5D 40 4D 41 4D 41 4D 41 4D 41 5D 50 4D 00 D4 04
                        40 5D 50 4D 41 4D 71 13
        Data size:      40 bytes (excl. header)
    
    010 Glyph ")" (41):
        Struct header:  00 06 00 17
        Data header:    16 50 00 01
        Data:           13 13 13 13 17 D4 14 D4 05 D5 04 40 4D 00 D4 05
                        D5 14 D4 14 D4 14 D4 14 D4 04 D5 04 D4 05 D4 04
                        D5 04 D4 05 D4 14 17 13
        Data size:      40 bytes (excl. header)
    
    011 Glyph "*" (42):
        Struct header:  00 07 00 17
        Data header:    16 60 00 01
        Data:           23 23 23 23 61 61 6C F4 4C E5 45 CF 64 6C 61 31
                        32 32 32 32 32 32 32 32 32 32 32 02
        Data size:      28 bytes (excl. header)
    
    012 Glyph "+" (43):
        Struct header:  00 0A 00 17
        Data header:    16 90 00 01
        Data:           33 31 13 33 31 13 33 31 13 33 31 13 72 22 D4 24
                        42 4D 72 7D F4 4F F4 4F D7 27 D4 24 42 4D 22 27
                        33 31 13 33 31 13 33 01
        Data size:      40 bytes (excl. header)
    
    013 Glyph "," (44):
        Struct header:  00 04 00 17
        Data header:    16 30 00 01
        Data:           33 33 33 33 33 33 33 33 47 4D D4 54 4C D4 44 5C
                        06
        Data size:      17 bytes (excl. header)
    
    014 Glyph "-" (45):
        Struct header:  00 07 00 17
        Data header:    16 60 00 01
        Data:           23 23 23 23 23 23 23 23 23 23 23 67 F4 4C F4 4C
                        67 23 23 23 23 23 23 23 23
        Data size:      25 bytes (excl. header)
    
    015 Glyph "." (46):
        Struct header:  00 04 00 17
        Data header:    16 30 00 01
        Data:           33 33 33 33 33 33 33 33 47 4D D4 74 33 03
        Data size:      14 bytes (excl. header)
    
    016 Glyph "/" (47):
        Struct header:  00 06 00 17
        Data header:    16 50 00 01
        Data:           13 13 13 13 71 41 4D 41 4D 41 4D 50 4D 40 5D 40
                        4D 00 D4 04 40 4D 00 D4 04 D5 04 D4 05 D4 14 D4
                        14 D4 14 17 13 13 13
        Data size:      39 bytes (excl. header)
    
    017 Glyph "0" (48):
        Struct header:  00 0B 00 17
        Data header:    16 A0 00 01
        Data:           33 32 23 33 12 57 02 F5 15 40 DF 14 D5 D5 05 D4
                        D7 04 D4 14 D4 04 D4 14 D4 04 D4 14 D4 04 D4 14
                        D4 04 D4 14 D4 04 D4 14 D4 04 D4 14 D4 04 D4 D7
                        04 D5 D5 05 40 DF 14 50 5F 11 57 32 23 33 32 23
        Data size:      64 bytes (excl. header)
    
    018 Glyph "1" (49):
        Struct header:  00 07 00 17
        Data header:    16 60 00 01
        Data:           23 23 23 71 00 D5 04 E5 04 F4 04 F4 04 D6 04 41
                        4D 10 D4 04 41 4D 10 D4 04 41 4D 10 D4 04 41 4D
                        10 D4 04 41 4D 10 D4 04 71 30 32 32 02
        Data size:      45 bytes (excl. header)
    
    019 Glyph "2" (50):
        Struct header:  00 0B 00 17
        Data header:    16 A0 00 01
        Data:           33 32 23 33 12 57 02 F5 15 F5 5D 40 5E 4E 40 7D
                        4D 70 41 4D 30 50 4D 30 E5 04 52 5E 10 E5 15 50
                        5E 02 E4 35 D5 35 40 7E 05 F4 4F 40 FF 04 77 05
                        33 32 23 33 02
        Data size:      53 bytes (excl. header)
    
    020 Glyph "3" (51):
        Struct header:  00 0B 00 17
        Data header:    16 A0 00 01
        Data:           33 32 23 33 12 57 02 F5 15 F5 5D 40 5E 4E 40 7D
                        4D 70 50 4D 20 E6 04 42 5F 20 F4 05 62 4E 30 50
                        4D 70 41 4D 40 7D 4D 40 5E 4E 50 DF 05 50 5F 11
                        57 32 23 33 32 23
        Data size:      54 bytes (excl. header)
    
    021 Glyph "4" (52):
        Struct header:  00 0B 00 17
        Data header:    16 A0 00 01
        Data:           33 32 23 33 32 47 31 E4 14 52 4E 21 F4 14 51 4F
                        11 D4 D4 14 50 4D 4D 01 D4 D5 14 D5 D5 14 D4 D6
                        14 D4 D6 05 F4 4F 40 FF 04 57 5D 30 40 4D 31 40
                        4D 31 70 31 23 33 32 23
        Data size:      56 bytes (excl. header)
    
    022 Glyph "5" (53):
        Struct header:  00 0B 00 17
        Data header:    16 A0 00 01
        Data:           33 32 23 33 72 57 40 FF 04 F4 4F 40 7D 06 D4 34
                        42 7D 24 F4 5D 41 EF 05 D4 E6 04 07 D5 04 13 D4
                        04 17 D4 04 D4 D7 04 E4 E5 04 F5 5D 00 F5 15 71
                        25 33 32 23 33 02
        Data size:      54 bytes (excl. header)
    
    023 Glyph "6" (54):
        Struct header:  00 0B 00 17
        Data header:    16 A0 00 01
        Data:           33 32 23 33 12 57 02 F5 15 F5 5D 40 5E 4E 40 7D
                        4D 40 7D 06 D4 E4 15 F4 5E 40 5E 4E 40 7D 4D 40
                        4D 41 4D 40 4D 41 4D 40 7D 4D 40 5E 4E 50 DF 05
                        50 5F 11 57 32 23 33 32 23
        Data size:      57 bytes (excl. header)
    
    024 Glyph "7" (55):
        Struct header:  00 0B 00 17
        Data header:    16 A0 00 01
        Data:           33 32 23 33 72 57 40 FF 04 F4 4F 70 D6 04 03 E4
                        04 53 5D 30 E4 14 52 5D 21 E4 24 42 5D 12 D5 34
                        41 4E 13 D4 35 41 4D 03 41 4D 03 41 4D 03 71 03
                        33 32 23 33 02
        Data size:      53 bytes (excl. header)
    
    025 Glyph "8" (56):
        Struct header:  00 0B 00 17
        Data header:    16 A0 00 01
        Data:           33 32 23 33 12 57 02 F5 15 F5 5D 40 5E 4E 40 7D
                        4D 40 7D 4D 40 5E 4E 50 DF 05 F5 5D 40 5E 4E 40
                        7D 4D 40 4D 41 4D 40 7D 4D 40 5E 4E 50 DF 05 50
                        5F 11 57 32 23 33 32 23
        Data size:      56 bytes (excl. header)
    
    026 Glyph "9" (57):
        Struct header:  00 0B 00 17
        Data header:    16 A0 00 01
        Data:           33 32 23 33 12 57 02 F5 15 F5 5D 40 5E 4E 40 7D
                        4D 40 4D 41 4D 40 4D 41 4D 40 7D 4D 40 5E 4E 50
                        EF 04 50 4E 4D 70 D6 04 D4 D7 04 E4 E5 04 F5 5D
                        00 F5 15 71 25 33 32 23 33 02
        Data size:      58 bytes (excl. header)
    
    027 Glyph ":" (58):
        Struct header:  00 04 00 17
        Data header:    16 30 00 01
        Data:           33 33 33 33 73 D4 44 4D 37 33 47 4D D4 74 33 03
        Data size:      16 bytes (excl. header)
    
    028 Glyph ";" (59):
        Struct header:  00 04 00 17
        Data header:    16 30 00 01
        Data:           33 33 33 33 73 D4 44 4D 37 33 47 4D D4 54 4C D4
                        44 5C 06
        Data size:      19 bytes (excl. header)
    
    029 Glyph "<" (60):
        Struct header:  00 0A 00 17
        Data header:    16 90 00 01
        Data:           33 31 13 33 31 13 33 31 13 33 31 71 63 4D 61 4F
                        F6 46 6F 41 6F 61 6F 61 4F 63 4D 13 37 13 33 31
                        13 33 31 13 33 01
        Data size:      38 bytes (excl. header)
    
    030 Glyph "=" (61):
        Struct header:  00 0A 00 17
        Data header:    16 90 00 01
        Data:           33 31 13 33 31 13 33 31 13 33 31 13 77 45 FF 44
                        FF 74 57 77 45 FF 44 FF 74 57 33 31 13 33 31 13
                        33 31 13 33 01
        Data size:      37 bytes (excl. header)
    
    031 Glyph ">" (62):
        Struct header:  00 0A 00 17
        Data header:    16 90 00 01
        Data:           33 31 13 33 31 13 33 31 13 33 71 13 D4 36 F4 16
                        F6 16 F6 14 F6 64 6F F4 16 D4 36 37 31 13 33 31
                        13 33 31 13 33 01
        Data size:      38 bytes (excl. header)
    
    032 Glyph "?" (63):
        Struct header:  00 0A 00 17
        Data header:    16 90 00 01
        Data:           33 31 13 33 31 13 71 15 50 5F 50 DF 45 5E 4E D4
                        D7 74 50 4D 53 4E 52 5E 42 5E 20 D4 15 42 4D 22
                        27 72 22 D4 24 42 4D 22 27 33 31 13 33 01
        Data size:      46 bytes (excl. header)
    
    033 Glyph "@" (64):
        Struct header:  00 0C 00 17
        Data header:    16 B0 00 01
        Data:           33 33 33 33 33 33 72 16 51 CF 05 50 EF 55 7D D4
                        44 7D D5 44 5D 4E 4D D4 F4 D4 44 4D 5C 4C 4D D4
                        C4 C5 D4 44 4D 5C 4C 4D D4 C4 C5 D4 44 4D DF 45
                        5D 4D 6C D4 67 4C D5 47 4D 50 EF 15 F5 5C 20 67
                        31 33
        Data size:      66 bytes (excl. header)
    
    034 Glyph "A" (65):
        Struct header:  00 0C 00 17
        Data header:    16 B0 00 01
        Data:           33 33 33 33 33 33 73 33 D4 34 52 5D 22 F4 24 51
                        5F 11 F4 4D 11 D4 D5 14 50 5D 5D 00 E4 E5 04 40
                        7D 4D 50 7D 5D F4 DF 44 FF 4D D4 57 4D D4 34 D4
                        74 73 33 33 33 33 03
        Data size:      55 bytes (excl. header)
    
    035 Glyph "B" (66):
        Struct header:  00 0B 00 17
        Data header:    16 A0 00 01
        Data:           33 32 23 33 32 23 77 14 F4 5E 40 FF 45 7D 4E D4
                        14 D5 44 4D 51 4D D4 E7 44 FF 45 FF 45 7D 4E D4
                        14 D5 44 4D 51 4D D4 E7 44 FF 45 EF 05 77 14 33
                        32 23 33 02
        Data size:      52 bytes (excl. header)
    
    036 Glyph "C" (67):
        Struct header:  00 0B 00 17
        Data header:    16 A0 00 01
        Data:           33 32 23 33 32 23 71 16 50 CF 05 F5 5E E4 E6 44
                        5D 50 4D D4 24 47 4D 23 D4 34 42 4D 23 D4 34 42
                        4D 72 D4 05 D5 44 6E 4E F5 5E 50 CF 05 71 16 33
                        32 23 33 02
        Data size:      52 bytes (excl. header)
    
    037 Glyph "D" (68):
        Struct header:  00 0B 00 17
        Data header:    16 A0 00 01
        Data:           33 32 23 33 32 23 77 14 F4 5E 40 FF 45 7D 4E D4
                        14 D5 44 4D 42 4D D4 24 D4 44 4D 42 4D D4 24 D4
                        44 4D 42 4D D4 24 D4 44 4D 51 4D D4 E7 44 FF 45
                        EF 05 77 14 33 32 23 33 02
        Data size:      57 bytes (excl. header)
    
    038 Glyph "E" (69):
        Struct header:  00 0A 00 17
        Data header:    16 90 00 01
        Data:           33 31 13 33 31 13 77 45 FF 44 FF 44 7D 46 4D 13
                        D4 34 41 7D 46 FF 44 FF 44 7D 46 4D 13 D4 34 41
                        7D 46 FF 44 FF 74 57 33 31 13 33 01
        Data size:      44 bytes (excl. header)
    
    039 Glyph "F" (70):
        Struct header:  00 0A 00 17
        Data header:    16 90 00 01
        Data:           33 31 13 33 31 13 77 45 FF 44 FF 44 7D 46 4D 13
                        D4 34 41 7D 05 F4 4E 40 EF 04 D4 57 40 4D 13 D4
                        34 41 4D 13 D4 34 41 4D 13 37 31 13 33 31 13
        Data size:      47 bytes (excl. header)
    
    040 Glyph "G" (71):
        Struct header:  00 0B 00 17
        Data header:    16 A0 00 01
        Data:           33 32 23 33 32 23 71 16 50 CF 05 F5 5E E4 E6 44
                        5D 50 4D D4 24 47 4D 70 45 4D 40 4F D4 04 F4 44
                        4D 60 4D D4 24 D4 44 5D 50 4D E4 E6 54 FF 04 F5
                        6C 71 16 33 32 23 33 02
        Data size:      56 bytes (excl. header)
    
    041 Glyph "H" (72):
        Struct header:  00 0B 00 17
        Data header:    16 A0 00 01
        Data:           33 32 23 33 32 23 27 47 4D 42 4D D4 24 D4 44 4D
                        42 4D D4 24 D4 44 4D 42 4D D4 47 4D F4 CF 44 FF
                        4C D4 47 4D D4 24 D4 44 4D 42 4D D4 24 D4 44 4D
                        42 4D D4 24 D4 74 72 33 32 23 33 02
        Data size:      60 bytes (excl. header)
    
    042 Glyph "I" (73):
        Struct header:  00 04 00 17
        Data header:    16 30 00 01
        Data:           33 33 47 4D D4 44 4D D4 44 4D D4 44 4D D4 44 4D
                        D4 44 4D D4 44 4D D4 74 33 03
        Data size:      26 bytes (excl. header)
    
    043 Glyph "J" (74):
        Struct header:  00 09 00 17
        Data header:    16 80 00 01
        Data:           33 30 03 33 30 03 03 37 40 4D 03 D4 34 40 4D 03
                        D4 34 40 4D 03 D4 34 40 4D 03 D4 34 40 4D 07 D4
                        44 4D 40 4D D4 D6 54 CF 05 E5 05 71 14 33 30 03
                        33 00
        Data size:      50 bytes (excl. header)
    
    044 Glyph "K" (75):
        Struct header:  00 0B 00 17
        Data header:    16 A0 00 01
        Data:           33 32 23 33 32 23 27 47 4D 51 4D D4 04 E5 44 6D
                        5E D4 E5 05 D4 E4 15 F4 4D 42 DF 15 E4 E4 14 D4
                        D6 05 D4 04 E4 04 D4 04 D5 45 4D 41 4E D4 14 D5
                        44 4D 42 4D 27 37 23 33 32 23
        Data size:      58 bytes (excl. header)
    
    045 Glyph "L" (76):
        Struct header:  00 0A 00 17
        Data header:    16 90 00 01
        Data:           33 31 13 33 31 13 37 41 4D 13 D4 34 41 4D 13 D4
                        34 41 4D 13 D4 34 41 4D 13 D4 34 41 4D 13 D4 34
                        41 4D 13 D4 67 F4 4F F4 4F 77 35 13 33 31 13
        Data size:      47 bytes (excl. header)
    
    046 Glyph "M" (77):
        Struct header:  00 0C 00 17
        Data header:    16 B0 00 01
        Data:           33 33 33 33 33 33 37 47 4D 43 4D D4 15 D5 44 4E
                        41 4E E4 14 E4 44 7E 4E F4 F5 44 5F 4F F4 F5 44
                        4D 4F 4D D4 F4 D4 44 5D 5D 4D D4 D5 D5 44 5D 5D
                        4D D4 D5 D5 74 77 33 33 33 33 03
        Data size:      59 bytes (excl. header)
    
    047 Glyph "N" (78):
        Struct header:  00 0B 00 17
        Data header:    16 A0 00 01
        Data:           33 32 23 33 32 23 27 47 5D 41 4D E4 14 D4 44 5E
                        40 4D F4 04 D4 44 6F 4D D4 D4 D5 44 4D 5D 4D D4
                        D5 D4 44 5D 4D 4D D4 F6 44 4D 40 4F D4 04 E5 44
                        4D 41 4E D4 14 D5 74 72 33 32 23 33 02
        Data size:      61 bytes (excl. header)
    
    048 Glyph "O" (79):
        Struct header:  00 0B 00 17
        Data header:    16 A0 00 01
        Data:           33 32 23 33 32 23 71 16 50 CF 05 F5 5E E4 E6 44
                        5D 50 4D D4 24 D4 44 4D 42 4D D4 24 D4 44 4D 42
                        4D D4 24 D4 44 4D 42 4D D4 05 D5 44 6E 4E F5 5E
                        50 CF 05 71 16 33 32 23 33 02
        Data size:      58 bytes (excl. header)
    
    049 Glyph "P" (80):
        Struct header:  00 0B 00 17
        Data header:    16 A0 00 01
        Data:           33 32 23 33 32 23 77 14 F4 5E 40 FF 45 7D 4E D4
                        14 D5 44 4D 42 4D D4 14 D5 44 7D 4E F4 5F F4 5E
                        40 7D 15 D4 34 42 4D 23 D4 34 42 4D 23 37 32 23
                        33 32 23
        Data size:      51 bytes (excl. header)
    
    050 Glyph "Q" (81):
        Struct header:  00 0B 00 17
        Data header:    16 A0 00 01
        Data:           33 32 23 33 32 23 71 16 50 CF 05 F5 5E E4 E6 44
                        5D 50 4D D4 24 D4 44 4D 42 4D D4 24 D4 44 4D 42
                        4D D4 24 D4 44 7D D4 44 5D 4D 4D E4 F4 4C F5 5E
                        50 4E 4E 71 D5 34 72 33 32 23
        Data size:      58 bytes (excl. header)
    
    051 Glyph "R" (82):
        Struct header:  00 0B 00 17
        Data header:    16 A0 00 01
        Data:           33 32 23 33 32 23 77 14 F4 5E 40 FF 45 7D 4E D4
                        14 D5 44 4D 42 4D D4 14 D5 44 7D 4E F4 5F F4 5E
                        40 5D 5E 40 6D 4E 40 4D 50 5D D4 14 E4 44 4D 51
                        4D 27 37 23 33 32 23
        Data size:      55 bytes (excl. header)
    
    052 Glyph "S" (83):
        Struct header:  00 0B 00 17
        Data header:    16 A0 00 01
        Data:           33 32 23 33 32 23 71 16 50 CF 05 F5 5E E4 E6 44
                        5D 50 4D D4 15 47 7E 14 F5 5D 00 F5 5D 71 E4 74
                        51 4D D4 05 D5 44 6E 4E F5 5E 50 CF 05 71 16 33
                        32 23 33 02
        Data size:      52 bytes (excl. header)
    
    053 Glyph "T" (84):
        Struct header:  00 0A 00 17
        Data header:    16 90 00 01
        Data:           33 31 13 33 31 13 77 45 FF 44 FF 74 7D 42 4D 22
                        D4 24 42 4D 22 D4 24 42 4D 22 D4 24 42 4D 22 D4
                        24 42 4D 22 D4 24 42 4D 22 27 33 31 13 33 01
        Data size:      47 bytes (excl. header)
    
    054 Glyph "U" (85):
        Struct header:  00 0B 00 17
        Data header:    16 A0 00 01
        Data:           33 32 23 33 32 23 27 47 4D 42 4D D4 24 D4 44 4D
                        42 4D D4 24 D4 44 4D 42 4D D4 24 D4 44 4D 42 4D
                        D4 24 D4 44 4D 42 4D D4 24 D4 44 5D 50 4D E4 E6
                        54 EF 05 F5 5C 10 67 31 23 33 32 23
        Data size:      60 bytes (excl. header)
    
    055 Glyph "V" (86):
        Struct header:  00 0C 00 17
        Data header:    16 B0 00 01
        Data:           33 33 33 33 33 33 37 47 4D 43 4D D4 34 D4 44 5D
                        51 4D D5 14 D4 05 D4 14 D4 04 40 7D 4D 00 D5 D5
                        05 41 5D 4D 11 D4 D5 14 51 5F 21 F4 24 52 5D 32
                        D4 34 43 4D 33 37 33 33 33 33 03
        Data size:      59 bytes (excl. header)
    
    056 Glyph "W" (87):
        Struct header:  00 0C 00 17
        Data header:    16 B0 00 01
        Data:           33 33 33 33 33 33 77 47 5D 5D 4D D4 D5 D5 44 5D
                        5D 4D D4 D5 D5 44 4E 4D 4E D5 D4 D4 05 D4 D4 D4
                        04 40 4D 4D 4D 00 F4 4F 00 F4 4F 00 D5 D5 05 41
                        5D 4D 11 D4 D5 14 41 5D 4D 11 77 31 33 33 33 33
        Data size:      64 bytes (excl. header)
    
    057 Glyph "X" (88):
        Struct header:  00 0B 00 17
        Data header:    16 A0 00 01
        Data:           33 32 23 33 32 23 27 47 4D 42 4D D4 05 D5 54 4D
                        40 5D 40 6D 4D 00 D5 D4 05 41 CF 14 51 5E 11 E5
                        15 41 CF 14 50 4D 5D 00 D4 D6 04 D5 04 D4 45 5D
                        50 4D D4 24 D4 74 72 33 32 23 33 02
        Data size:      60 bytes (excl. header)
    
    058 Glyph "Y" (89):
        Struct header:  00 0C 00 17
        Data header:    16 B0 00 01
        Data:           33 33 33 33 33 33 37 47 4D 43 4D D4 15 D5 54 4D
                        41 5D 40 7D 4D 00 D5 D5 05 41 5D 4D 11 F5 15 42
                        4F 22 D5 25 43 4D 33 D4 34 43 4D 33 D4 34 43 4D
                        33 37 33 33 33 33 03
        Data size:      55 bytes (excl. header)
    
    059 Glyph "Z" (90):
        Struct header:  00 0B 00 17
        Data header:    16 A0 00 01
        Data:           33 32 23 33 32 23 77 46 FF 4C F4 CF 74 E6 34 40
                        5E 53 4E 20 E5 05 42 5E 11 E5 24 50 5E 02 E4 35
                        E5 34 40 7E 46 FF 4C F4 CF 74 67 33 32 23 33 02
        Data size:      48 bytes (excl. header)
    
    060 Glyph "[" (91):
        Struct header:  00 06 00 17
        Data header:    16 50 00 01
        Data:           13 13 13 13 57 F4 44 4F D4 46 4D 41 4D 41 4D 41
                        4D 41 4D 41 4D 41 4D 41 4D 41 4D 41 4D 41 6D F4
                        44 4F 57 13
        Data size:      36 bytes (excl. header)
    
    061 Glyph "\" (92):
        Struct header:  00 06 00 17
        Data header:    16 50 00 01
        Data:           13 13 13 13 17 D4 14 D4 14 D4 14 D4 05 D5 04 40
                        4D 00 D4 04 40 4D 00 D4 04 40 5D 50 4D 41 4D 41
                        4D 41 4D 71 13 13 13
        Data size:      39 bytes (excl. header)
    
    062 Glyph "]" (93):
        Struct header:  00 06 00 17
        Data header:    16 50 00 01
        Data:           13 13 13 13 57 F4 44 4F D6 14 D4 14 D4 14 D4 14
                        D4 14 D4 14 D4 14 D4 14 D4 14 D4 14 D4 64 4D F4
                        44 4F 57 13
        Data size:      36 bytes (excl. header)
    
    063 Glyph "^" (94):
        Struct header:  00 08 00 17
        Data header:    16 70 00 01
        Data:           33 33 33 33 71 01 D5 05 F5 45 5D 4D 77 33 33 33
                        33 33 33 33 33 33 33 33 33 33 33
        Data size:      27 bytes (excl. header)
    
    064 Glyph "_" (95):
        Struct header:  00 0B 00 17
        Data header:    16 A0 00 01
        Data:           33 32 23 33 32 23 33 32 23 33 32 23 33 32 23 33
                        32 23 33 32 23 33 32 23 33 32 23 33 72 67 F4 CF
                        44 FF 4C 77 06
        Data size:      37 bytes (excl. header)
    
    065 Glyph "`" (96):
        Struct header:  00 06 00 17
        Data header:    16 50 00 01
        Data:           13 13 13 13 17 D4 05 D5 05 D5 14 37 31 31 31 31
                        31 31 31 31 31 31 31 31 31 01
        Data size:      26 bytes (excl. header)
    
    066 Glyph "a" (97):
        Struct header:  00 0A 00 17
        Data header:    16 90 00 01
        Data:           33 31 13 33 31 13 33 31 13 33 31 13 70 16 F5 5C
                        40 EF 04 D4 D6 04 57 4D 50 DF 04 F4 4E 40 6D 4D
                        40 6D 5D F4 4F F5 D4 04 77 34 13 33 31 13
        Data size:      46 bytes (excl. header)
    
    067 Glyph "b" (98):
        Struct header:  00 0A 00 17
        Data header:    16 90 00 01
        Data:           33 31 13 33 31 13 37 41 4D 13 D4 34 41 4D 13 D4
                        47 41 4D 5E 40 EF 45 5E 4E D4 D7 44 4D 41 4D D4
                        14 D4 44 7D 4D E4 E5 44 EF 45 4D 5E 70 17 33 31
                        13 33 01
        Data size:      51 bytes (excl. header)
    
    068 Glyph "c" (99):
        Struct header:  00 09 00 17
        Data header:    16 80 00 01
        Data:           33 30 03 33 30 03 33 30 03 33 30 03 71 05 50 5F
                        F5 4D E4 D5 44 7D 45 4D 03 D4 34 40 7D 45 5E 4D
                        F5 4D 50 5F 71 05 33 30 03 33 00
        Data size:      43 bytes (excl. header)
    
    069 Glyph "d" (100):
        Struct header:  00 0A 00 17
        Data header:    16 90 00 01
        Data:           33 31 13 33 31 13 13 37 41 4D 13 D4 34 41 4D 71
                        D4 04 E5 D4 54 EF 44 5E 4E D4 D7 44 4D 41 4D D4
                        14 D4 44 7D 4D E4 E5 54 EF 04 E5 D4 14 77 33 31
                        13 33 01
        Data size:      51 bytes (excl. header)
    
    070 Glyph "e" (101):
        Struct header:  00 0A 00 17
        Data header:    16 90 00 01
        Data:           33 31 13 33 31 13 33 31 13 33 31 13 71 15 50 5F
                        50 DF 45 5E 4E D4 D7 44 FF 44 FF 44 7D 46 5E 4E
                        F5 5D 50 5F 10 57 31 13 33 31 13
        Data size:      43 bytes (excl. header)
    
    071 Glyph "f" (102):
        Struct header:  00 07 00 17
        Data header:    16 60 00 01
        Data:           23 23 23 23 71 04 E5 04 F4 04 D4 56 6D F4 4C F4
                        4C D5 06 D4 14 40 4D 01 D4 14 40 4D 01 D4 14 40
                        4D 01 D4 14 70 31 32 32 02
        Data size:      41 bytes (excl. header)
    
    072 Glyph "g" (103):
        Struct header:  00 0A 00 17
        Data header:    16 90 00 01
        Data:           33 31 13 33 31 13 33 31 13 33 31 13 71 07 E5 D4
                        54 EF 44 5E 4E D4 D7 44 4D 41 4D D4 D7 44 5E 4E
                        F5 4E 50 4E 4D 67 4D D4 D7 44 FF 54 DF 05 77 00
        Data size:      48 bytes (excl. header)
    
    073 Glyph "h" (104):
        Struct header:  00 09 00 17
        Data header:    16 80 00 01
        Data:           33 30 03 33 30 03 37 40 4D 03 D4 34 40 4D 03 D4
                        47 40 4D 5E F4 4E E4 D5 44 6D 4D D4 04 D4 44 4D
                        40 4D D4 04 D4 44 4D 40 4D D4 04 D4 44 4D 40 4D
                        07 37 03 33 30 03
        Data size:      54 bytes (excl. header)
    
    074 Glyph "i" (105):
        Struct header:  00 04 00 17
        Data header:    16 30 00 01
        Data:           33 33 47 4D D4 74 47 4D D4 44 4D D4 44 4D D4 44
                        4D D4 44 4D D4 74 33 03
        Data size:      24 bytes (excl. header)
    
    075 Glyph "j" (106):
        Struct header:  00 05 00 17
        Data header:    16 40 00 01
        Data:           03 03 03 03 70 40 4D 40 4D 70 70 40 4D 40 4D 40
                        4D 40 4D 40 4D 40 4D 40 4D 40 4D 40 4D 40 4D D5
                        44 4E D4 75 00
        Data size:      37 bytes (excl. header)
    
    076 Glyph "k" (107):
        Struct header:  00 09 00 17
        Data header:    16 80 00 01
        Data:           33 30 03 33 30 03 37 40 4D 03 D4 34 40 4D 03 D4
                        04 47 6D 4D D4 D5 45 4D 5D 40 5F 41 CF 14 D4 D4
                        05 D4 D5 04 D4 D5 45 6D 4D D4 04 D4 74 70 33 30
                        03 33 00
        Data size:      51 bytes (excl. header)
    
    077 Glyph "l" (108):
        Struct header:  00 04 00 17
        Data header:    16 30 00 01
        Data:           33 33 47 4D D4 44 4D D4 44 4D D4 44 4D D4 44 4D
                        D4 44 4D D4 44 4D D4 74 33 03
        Data size:      26 bytes (excl. header)
    
    078 Glyph "m" (109):
        Struct header:  00 0C 00 17
        Data header:    16 B0 00 01
        Data:           33 33 33 33 33 33 33 33 33 33 33 33 77 06 D4 D4
                        D5 45 FF 4D E4 E4 D4 44 5D 5D 4D D4 D5 D5 44 5D
                        5D 4D D4 D5 D5 44 5D 5D 4D D4 D5 D5 44 5D 5D 4D
                        77 37 33 33 33 33
        Data size:      54 bytes (excl. header)
    
    079 Glyph "n" (110):
        Struct header:  00 09 00 17
        Data header:    16 80 00 01
        Data:           33 30 03 33 30 03 33 30 03 33 30 03 77 40 4D 5E
                        F4 4E E4 D5 44 6D 4D D4 04 D4 44 4D 40 4D D4 04
                        D4 44 4D 40 4D D4 04 D4 44 4D 40 4D 07 37 03 33
                        30 03
        Data size:      50 bytes (excl. header)
    
    080 Glyph "o" (111):
        Struct header:  00 0A 00 17
        Data header:    16 90 00 01
        Data:           33 31 13 33 31 13 33 31 13 33 31 13 71 15 50 5F
                        50 DF 45 5E 4E D4 D7 44 4D 41 4D D4 14 D4 44 7D
                        4D E4 E5 54 DF 05 F5 05 71 15 33 31 13 33 01
        Data size:      47 bytes (excl. header)
    
    081 Glyph "p" (112):
        Struct header:  00 0A 00 17
        Data header:    16 90 00 01
        Data:           33 31 13 33 31 13 33 31 13 33 31 13 77 41 4D 5E
                        40 EF 45 5E 4E D4 D7 44 4D 41 4D D4 14 D4 44 7D
                        4D E4 E5 44 EF 45 4D 5E 40 7D 14 D4 34 41 4D 13
                        37 01
        Data size:      50 bytes (excl. header)
    
    082 Glyph "q" (113):
        Struct header:  00 0A 00 17
        Data header:    16 90 00 01
        Data:           33 31 13 33 31 13 33 31 13 33 31 13 71 07 E5 D4
                        54 EF 44 5E 4E D4 D7 44 4D 41 4D D4 14 D4 44 7D
                        4D E4 E5 54 EF 04 E5 D4 14 47 4D 13 D4 34 41 4D
                        13 07
        Data size:      50 bytes (excl. header)
    
    083 Glyph "r" (114):
        Struct header:  00 07 00 17
        Data header:    16 60 00 01
        Data:           23 23 23 23 23 23 23 23 67 D4 D4 44 CF 44 6E D4
                        15 D4 24 D4 24 D4 24 D4 24 D4 24 D4 24 27 23 23
                        23
        Data size:      33 bytes (excl. header)
    
    084 Glyph "s" (115):
        Struct header:  00 09 00 17
        Data header:    16 80 00 01
        Data:           33 30 03 33 30 03 33 30 03 33 30 03 70 06 F5 5C
                        F4 4E D4 D6 44 7D 45 DF 55 DF 74 D5 44 6D 4D F4
                        4E F5 5C 70 06 33 30 03 33 00
        Data size:      42 bytes (excl. header)
    
    085 Glyph "t" (116):
        Struct header:  00 07 00 17
        Data header:    16 60 00 01
        Data:           23 23 23 23 23 70 01 D4 14 40 4D 51 6D F4 4C F4
                        4C D5 06 D4 14 40 4D 01 D4 14 40 4D 01 D4 06 F4
                        04 E5 14 47 23 23 23
        Data size:      39 bytes (excl. header)
    
    086 Glyph "u" (117):
        Struct header:  00 09 00 17
        Data header:    16 80 00 01
        Data:           33 30 03 33 30 03 33 30 03 33 30 03 07 47 4D 40
                        4D D4 04 D4 44 4D 40 4D D4 04 D4 44 4D 40 4D D4
                        04 D4 44 6D 4D D4 E5 44 EF 54 4E 4D 70 37 03 33
                        30 03
        Data size:      50 bytes (excl. header)
    
    087 Glyph "v" (118):
        Struct header:  00 0B 00 17
        Data header:    16 A0 00 01
        Data:           33 32 23 33 32 23 33 32 23 33 32 23 27 47 4D 42
                        4D D4 05 D5 54 4D 40 5D 40 4D 40 4D 00 D4 D6 04
                        50 4D 5D 10 D4 D4 14 41 CF 14 51 5E 21 E4 24 72
                        24 33 32 23 33 02
        Data size:      54 bytes (excl. header)
    
    088 Glyph "w" (119):
        Struct header:  00 0C 00 17
        Data header:    16 B0 00 01
        Data:           33 33 33 33 33 33 33 33 33 33 33 33 77 47 5D 5D
                        4D D4 D5 D5 44 5D 5D 4D E4 D4 E4 54 4D 4D 5D 40
                        FF 04 40 FF 04 50 5D 5D 10 D4 D5 14 41 5D 4D 11
                        77 31 33 33 33 33
        Data size:      54 bytes (excl. header)
    
    089 Glyph "x" (120):
        Struct header:  00 09 00 17
        Data header:    16 80 00 01
        Data:           33 30 03 33 30 03 33 30 03 33 30 03 07 47 4D 40
                        4D D4 D6 54 4D 5D 40 CF 04 50 5E 00 E5 05 40 CF
                        04 D5 D4 45 6D 4D D4 04 D4 74 70 33 30 03 33 00
        Data size:      48 bytes (excl. header)
    
    090 Glyph "y" (121):
        Struct header:  00 0B 00 17
        Data header:    16 A0 00 01
        Data:           33 32 23 33 32 23 33 32 23 33 32 23 27 47 4D 42
                        4D D4 05 D5 54 4D 40 5D 40 4D 40 4D 00 D4 D6 04
                        50 4D 5D 10 D4 D4 14 41 CF 14 51 5E 21 E4 24 60
                        5D 02 F4 34 40 5E 03 47 03
        Data size:      57 bytes (excl. header)
    
    091 Glyph "z" (122):
        Struct header:  00 09 00 17
        Data header:    16 80 00 01
        Data:           33 30 03 33 30 03 33 30 03 33 30 03 77 44 EF 44
                        EF 74 D5 24 E5 14 E5 05 E5 05 E5 15 E4 47 F4 4E
                        F4 4E 77 34 03 33 30 03
        Data size:      40 bytes (excl. header)
    
    092 Glyph "{" (123):
        Struct header:  00 08 00 17
        Data header:    16 70 00 01
        Data:           33 33 33 33 72 14 E5 14 F4 14 D4 16 D4 14 41 4D
                        01 D5 14 E5 14 E4 15 E4 15 E5 14 50 4D 11 D4 14
                        41 4D 11 D4 16 F4 14 E5 24 47 33
        Data size:      43 bytes (excl. header)
    
    093 Glyph "|" (124):
        Struct header:  00 04 00 17
        Data header:    16 30 00 01
        Data:           33 33 47 4D D4 44 4D D4 44 4D D4 44 4D D4 44 4D
                        D4 44 4D D4 44 4D D4 44 4D D4 74 03
        Data size:      28 bytes (excl. header)
    
    094 Glyph "}" (125):
        Struct header:  00 08 00 17
        Data header:    16 70 00 01
        Data:           33 33 33 33 47 42 5E 41 4F 61 4D 11 D4 14 41 4D
                        11 D4 05 41 5E 51 4E 51 4E 41 5E 41 5D 10 D4 14
                        41 4D 61 4D 41 4F 41 5E 71 24 33
        Data size:      43 bytes (excl. header)
    
    095 Glyph "~" (126):
        Struct header:  00 0A 00 17
        Data header:    16 90 00 01
        Data:           33 31 13 33 31 13 33 31 13 33 31 13 33 31 13 33
                        01 47 60 E5 C6 44 FF 44 6C 5E 06 47 30 13 33 31
                        13 33 31 13 33 31 13
        Data size:      39 bytes (excl. header)
    This has been verified by replacing some glyphs by others.

    The bitmap data looks a bit mysterious to me.
    The 'struct header' probably encodes bitmap width and height. However, there are glyphs with identical header fields, but different data sizes. This may indicate some non-trivial encoding scheme...

    Does this format look familiar to anyone?

    Glyphs may be > 1 bit per pixel, as they are sometimes printed with an outline.

    glyph_9.jpg
    Last edited by ai_torito; 07-26-2010 at 06:04 AM. Reason: error in last glyph


     

Page 1 of 3 123 LastLast

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •