Date: Thu, 28 Sep 2006 20:40:13 -0500 From: Ron Gage <ron@rongage.org> User-Agent: Thunderbird 1.5.0.7 (X11/20060909) To: barry-devel-bounces@lists.sourceforge.net Subject: Partial decoding autotext database Just picking on the low hanging fruit... This is an autotext entry that translates 'eyt' with yet using AutoCase, english language... 00000000: 06 00 32 00 40 03 44 02 6d 00 c2 1a e1 72 01 04 ..2.@.D.m....r.. 00000010: 00 01 65 79 74 00 04 00 02 79 65 74 00 04 00 04 ..eyt....yet.... 00000020: 00 00 00 00 04 00 05 00 00 00 00 04 00 06 00 00 ................ 00000030: 6e 65 ne Same database with AutoCase changed to Specified Case: 00000000: 06 00 32 00 40 03 44 02 6c 00 64 02 66 18 01 04 ..2.@.D.l.d.f... 00000010: 00 01 65 79 74 00 04 00 02 79 65 74 00 04 00 04 ..eyt....yet.... 00000020: 00 00 00 00 04 00 05 01 00 00 00 04 00 06 00 00 ................ 00000030: 6e 65 ne From here, we can see field type 1 is the "from" entry, field 2 is the "to" entry, don't know about field 4 yet or field 6, but field 5 represents the AutoCase option (1 == on). Field type 4 is the language field - 0xffffffff == All Locales, 0x0 == English. Field type 6 appears to be a locale modifier in byte-reversed order. This shows the language record set to "English(US)". 00000000: 06 00 32 00 40 03 44 02 6c 00 66 02 66 18 01 04 ..2.@.D.l.f.f... 00000010: 00 01 65 79 74 00 04 00 02 79 65 74 00 04 00 04 ..eyt....yet.... 00000020: 00 00 00 00 04 00 05 01 00 00 00 04 00 06 53 55 ..............SU 00000030: 6e 65 ne The last 2 characters are part of the locale definition - giving a locale string of US-en. Note that when the language (field 4) is set to "All Locales", field 6 is entirely null: 00000000: 06 00 36 00 40 03 44 02 03 00 6f 1a e1 72 01 06 ..6.@.D...o..r.. 00000010: 00 01 68 74 74 70 73 00 06 00 02 68 74 74 70 73 ..https....https 00000020: 00 04 00 04 ff ff ff ff 04 00 05 01 00 00 00 04 ................ 00000030: 00 06 00 00 00 00 ...... That's it for tonight - got other things to do for the night. Ron Gage