laurapplei,
10 00 00 00 00 00 00 00 <--- means: empty header , no rules , no format
but in 2.1 you can see +63 123456789 ,
before was +63123456789
laurapplei,
10 00 00 00 00 00 00 00 <--- means: empty header , no rules , no format
but in 2.1 you can see +63 123456789 ,
before was +63123456789
Frank,
Thanks for your reply. I was hoping I could edit the file to make the phone formats appear as:
+63 (9##) ###-####
+63 (2) ###-####
+63 (3#) ###-####
+63 (4#) ###-####
+63 (5#) ###-####
+63 (6#) ###-####
+63 (7#) ###-####
+63 (8#) ###-####
0 (9##) ###-####
0 (2) ###-####
0 (3#) ###-####
0 (4#) ###-####
0 (5#) ###-####
0 (6#) ###-####
0 (7#) ###-####
0 (8#) ###-####
any ideas?
Hi Frank8,
I wanted to try your info for the Belgium format,
Searched for "be"
Results:
33 32 00 00 62 65 00 00 7A 01 00 00
calculation adress:
0x7A01 + 0xA78 = 0x8479
And this is out off range?
Any Idea?
Thanks,
Jo
hi JoVR
you got the wrong address it should be BF2
for belgium
14 00 00 00 34 00 00 00 01 00 00 00 30 00 30 30
00 00 00 00 01 00 03 00 00 00 00 00 09 00 00 00
04 00 00 00 10 00 00 00 02 00 00 00 04 00 00 00
0B 00 00 01 15 00 00 00 01 00 00 00 09 00 00 00
0A 00 00 01 00 00 00 00 6E 23 20 23 23 23 20 23
23 20 23 23 20 23 23 00 23 23 23 23 00 6E 23 23
23 20 23 23 20 23 23 20 23 23 20 23 23 00
Has anybody changed the file and use it with success?
I figured this out after frank put me back on the track
For belgium with "be"
33 32 00 00 62 65 00 00 7A 01 00 00
calculation adress:
0x017A + 0xA78 = 0xBF2
jump to address=0xBF2
Block1 - Header (4 bytes + 4 bytes + 2 strings)
14 00 00 00 34 00 00 00
01 00 00 00 30 00 30 30 00 00 00 00
0x14 = block1 length
0x34 = block2 length
"0","00"
adding 0x14 to 0x34 we have the offset to the beginning of block3
Block2 - match rules
01 00 03 00 ----------> 01= 1 digit match -- 03= 3 rules follows
00 00 00 00 --- 09 00 00 00 --- 04 00 00 00 --- 10 00 00 00
02 00 00 00 --- 04 00 00 00 --- 0B 00 00 01 --- 15 00 00 00
01 00 00 00 --- 09 00 00 00 --- 0A 00 00 01 --- 00 00 00 00
rule1 if (X >= 0 and X <= 9) maxL=4 use=string2(offset 0x10)
rule2 if (X >= 2 and X <= 4) maxL=11 use=string3(offset 0x15)
rule3 if (X >= 1 and X <= 9) maxL=10 use=string1(offset 0x00)
note byte 3 of word 3 = 00 sometimes is not zero
note byte 4 of word 3 = 01 flag - generally when string begin with n#
Block3- format strings
6E 23 20 23 23 23 20 23 23 20 23 23 20 23 23 00 n# ### ## ## ##.
23 23 23 23 00----------------------------------------------------- ####.
6E 23 23 23 20 23 23 20 23 23 20 23 23 20 23 23 00 n### ## ## ## ##.
string1= n# ### ## ## ##.
string2= ####.
string3= n### ## ## ## ##
Thanks for all info and I,m gonne put mt brain to work to edit it.
Could you explain this part, please?
How do you determine what string to use, where the offset points to and what the rules are?
rule1 if (X >= 1 and X <= 9) maxL=9 use=string1(offset 0x00)
rule2 if (X >= 4 and X <= 4) maxL=9 use=string3(offset 0x1B)
rule3 if (X >= 1 and X <= 9) maxL=9 use=string2(offset 0x0C)
@ thebeej
modyfy one country can be done manually , but for more
countries I need to write an application , it require time.
@ laurapplei
offset is the distance in bytes between a string an the beginning of block3
in your example:
the first digit you type is checked
if is between 1 and 9 then rule1 is verifyed, offset 00 is used (string1)
and the number is formatted as string1 for the next 8 digits (maxL=9)
if the digit is 0 rule2 and rule3 are both valid because byte4_word3=1 tell
to ignore first 0 and you must type a second digit
if second digit is 4 then rule2 is verified, offset 1B is used (strig3)
and the number is formatted as string3 for the next 8 digits (maxL=9)
and so on .... you can have sub-blocks with 1,2..5 digits and 100 rules
if area codes are complicated as in Germany.
Frank8
Can you help me. I don't understand at little.
How to create rule, like example Belarus:
+375 (29) XXXXXXX International number format (mobile)
8 (029) XXXXXXX domestic number format (mobile)
XXXXXXX domestic short number format (mobile)
+375 (17) XXXXXXX International number format (Minsk)
8 (017) XXXXXXX domestic number format (Minsk)
XXXXXXX domestic short number format (Minsk)
+375 (177) XXXXXX International number format
8 (0177) XXXXXX domestic number format
XXXXXX domestic short number format
May be my first 2.1 complete fix : Australia
can someone test it ?
old style plist equivalent:
04## ### ###
+61 4## ### ###
#### ####
(02) #### ####
(03) #### ####
(07) #### ####
(08) #### ####
+61 2 #### ####
+61 3 #### ####
+61 7 #### ####
+61 8 #### ####
1300 ### ###
1800 ### ###
1900 ### ###
13 ## ##
using 0xED editor:
address 0x1FC
36 31 00 00 61 75 00 00 EE 49 00 00----------61 au --
modify to:
36 31 00 00 61 75 00 00 C0 56 00 00----------61 au --
add this data at the end of file address 0x6136
------------------------00 00 14 00 00 00 CC 00 00 00
04 00 00 00 30 00 30 30 31 31 00 00 04 00 03 00
14 05 00 00 14 05 00 00 0A 00 00 00 28 00 00 00
08 07 00 00 08 07 00 00 0A 00 00 00 28 00 00 00
6C 07 00 00 6C 07 00 00 0A 00 00 00 28 00 00 00
02 00 01 00 0D 00 00 00 0D 00 00 00 06 00 00 00
3F 00 00 00 01 00 08 00 01 00 00 00 09 00 00 00
08 00 00 00 35 00 00 00 01 00 00 00 03 00 00 00
09 00 00 00 00 00 00 00 04 00 00 00 04 00 00 00
09 00 00 01 1B 00 00 00 05 00 00 00 09 00 00 00
09 00 00 00 00 00 00 00 02 00 00 00 02 00 00 00
09 00 00 01 0C 00 00 00 03 00 00 00 03 00 00 00
09 00 00 01 0C 00 00 00 07 00 00 00 07 00 00 00
09 00 00 01 0C 00 00 00 08 00 00 00 08 00 00 00
09 00 00 01 0C 00 00 00 23 20 23 23 23 23 20 23
23 23 23 00 28 6E 23 29 20 23 23 23 23 20 23 23
23 23 00 6E 23 23 23 20 23 23 23 20 23 23 23 00
23 23 23 23 20 23 23 23 20 23 23 23 00 23 23 23
23 20 23 23 23 23 00 23 23 20 23 23 20 23 23 00
remember to respring or restart when file is substituted.
That's the same as my final file and it works as expected.
Bookmarks