PDA

View Full Version : Siemens CE 5.2 font editor


dspmobile
02-15-2005, 18:43
After the generous offer of V!per (or Vad!m) I had a chance to make some fixes and enhancements to the Siemens CE font editor.

Mainly it is added support for accessing different 'siemens.ini' for different 2cd language (left) fonts. Each 'siemens.ini' is located under '..\lang\<LFlang>' directory.
There are currently 4 such dirs for Russian-Cyrillic, Greek, Icon-fonts, Numbers only fonts.
Initial 2cd (left) font lang. can be set through 'LFlang=...' parameter in 'sce.ini'.
The 4 mentioned lang-char. sets are accesed also through buttons at the top of the program screen.
Custom other lang 'siemens.ini' can be put in the apropriate subdir of '..\lang' and accesed through LFlang param.

Although I have send this new vers to V!per for refreshing the official web site of the program, this could take some time...
Meanwhile you can get this new 5.2 version from :
http://www.gsmforum.gr/members/cgi-bin/dspmobile/tools/Siemens_CE_52.rar

More in datail :
-- Siemens CE 5.2 build 215 [02.08.05] -- fixes & enhancements by dspmobile


- Selectable lang of 2cd font (left) through Buttons in GUI (Cyrillic, Greek, Icons, Numb. only).
Initial lang of 2cd font (besides English) through LFlang=... parameter in 'sce.ini'.
Supported values : rus, gre, ico, num (Russian-Cyrillic, Greek, Icons, Numbers).
Other custom value (3letter) for other lang. can be set provided that apropriate 'siemens.ini' must exist under the ..\lang\<LFlang>
otherwise it defaults to rus (Russian-Cyrillic).
[+] - C65 v12, CX65 v12,25,36,41, S65 v12,25,41, M65 v12, SL65 v12, SK65 v34
[+] - Icon & Numbers only fonts support for S54i v04, SL45i v56, S55 v20,91, M55 v11,91, CX65 v25,v36,41
[+] - Unicode code display for 'icon' font chars (LFlang=ico). Could help locate its use in flash...
[+] - support for large cell fonts 56x23 & 40x15 (icon-fonts).
[x] - fixed Char Map navigation with small font files (e.g. Numbers only)
[x] - fixed some problems with Big fubus (=16Mb) for x55 and x45 models

and for Siemens CE 5.1 build 212 ( can be found already in http://v3.allsiemens.com ) :

-- Siemens CE 5.1 build 212 [01.25.05] -- some fixes by dspmobile

[+] - Support for new A60 fubus (8Mb) with ido: bff80
[+] - S65 (v25, 41), CX65 (16,25), MC60 (v13), A60 (v23,25)

- Selectable 2cd font (left) lang in sce.ini (through LFlang=... parameter).
Supported values : rus, gre (Russian, Greek) till now
Apropriate 'siemens.ini' must exist under the ..\lang\<LFlang> otherwise it defaults to rus (Russian).
[x] - fixed alignment and focus in Char Map when reaching the end of a font bin file

schmeichelsopot
02-15-2005, 22:52
How to use it?? I think it's a great program. Please help me :)

KoTsK
02-16-2005, 18:02
great work dsp !!!!!!!!!!!!!!!

dspmobile
02-17-2005, 10:53
@schmeichelsopot

Just have a fullflash of a Siemens mobile, and Open it through File menu...
If it is supported through the appropriate 'siemens.ini' file the main fonts for English-Latin and the 2cd (left) lang - configurable through the LFlang=... parameter in 'sce.ini'- will appear.

Help in English, Russian & German - although a little outdated - is available.
Also help for the format of the 'siemens.ini' file is available, in order to add any non included model / version.

Next version will have automatic detection of font addresses in most Siemens mobiles.
But that needs some time....

(*) Fullflashes must not be encrypted...
The ones made with Freia, x65flasher, V_Klay will do.

schmeichelsopot
02-18-2005, 10:52
And here is the problem. This program does not support my software version A52 v09. I need now v07 but not swup. Just full flash from Freia or V_Klay. Can anybody send me it? schmeich@o2.pl

dspmobile
02-19-2005, 15:54
You can try first to see if A52 v09 has fonts at the same place as v07.

you can change the entry :
---------------Siemens A52 v07
A52
$0007ff80
1
$07
$00400000

to :

---------------Siemens A52 v07,09
A52
$0007ff80
2
$07
$09
$00400000

in the prefered 'siemens.ini' or the default at 'lang\rus\' subdir.
You can see if it matches or if it close so you can adjust adresses, navigating through program, and then making a new entry if necessary.

Structure of 'siemens.ini' is explained in Help->File format.

Or you can send me a compressed fubu of v09, through mail -send PM to give e-mail, to make it myself.

Anyway a fubu of A52 v07 (flash id BA20) is at landy's site (repair_fubu)
http://eh.student.utwente.nl/~landy/index.php?
user :mobile
passwd:elibom

or a fubu A52 v07 (flash id 1689) is at : http://www.siemens-club.ru/soft-ff.php

schmeichelsopot
02-19-2005, 15:58
I'll to try to do it myself and I'll send you my fubu (4MB uncompressed). Just give me your e-mail address. I will very thank you if you can change fonts to gothic.
Thanks!

thiagom
02-22-2005, 05:38
Its a great soft, but it cant worked with my c60 v27 lg5. All(blocks) appers black..
Anyone has tested with this version(27) ? And if any can help me, i really want( since a long time) work with this soft, but without success..
Regards, Thanks

Ps* I made my fullflash with v_klay 3.2(14mb)

misko903
02-22-2005, 16:16
it is also works with A50 v11?

dspmobile
02-22-2005, 17:17
@thiagom
You can try modifying the C60 v25 or V26 entry, as explained previously ( for A52 ).
Since v27 is very close it might be the same...
( Although C60 v25 & v26 are the same for English-Latin and Greek, they were different for Cyrillic-Russian ! ).

Structure of 'siemens.ini' is explained in Help->File format.

Otherwise you must give me a link or arrange to send it by e-mail (compressed) in order to make it for you...

By the way the mentioned A52 v09 was exactly as v07, and the proposed previously changes work fine !

@misko903
You must not have tried to work with A50 v11 !
Because it is included in both Russian or Greek 'siemens.ini'.

thiagom
02-23-2005, 02:36
Thanks dsp, i will compress my fullflash and upload anywhere and send it to you..I think that, the v25(v26,v27) original (without any patches), works with programs(i think), but i have many patches(incluse increasing flex mem) applied on phone.. the cause of its not works(i think), is that the patche that increase memory, hes changes the place of many blocks(inclus, the langpack - original 0x400000 to 0xAC0000)..i think that be the reason to not work, if its right, he solution is adapt the address format in siemens.ini to c60 v27 with 4.14mb patch..If you want, i send the link with my fullflash..

Regards, and sorry bad english...
See ya;

dspmobile
02-23-2005, 17:37
Font areas have nothing to do with langpack !...
No matter what resizing in flex mem you have done, if phone works and displays characters it is O.K.
( Although not sure, but I have never seen a flex increase patch to move font areas...)

The problem is, there is no entry for C60 v27 in any 'siemens.ini'.
Locate the default one in ..\lang\rus subdirectory,
and find the lines for C60 v26 that look like ...

---------------Siemens C60 26
C60
$0067ff80
1
$26
$00E00000

Then change that ( with text editor like NotePad )
to :

---------------Siemens C60 26, 27
C60
$0067ff80
2
$26
$27
$00E00000

and try ! Probably because they are close versions they will match !
( you will have Cyrillic and English-Latin for the one in 'lang\rus' ).
If they don't match but they are close, you can use the program to find the correct starting addresses and make a totally new entry in 'siemens.ini'.

If there is a link with the v27 C60 fullflash, I could make it for you !
and update package for all !
Send PM with link or any details ...

thiagom
02-24-2005, 01:01
Yeah, you are right, thats works! Im greatful you, very thanks..Im not see this "siemens.ini" in lang/rus.. :D
Thanks, regards

schmeichelsopot
02-25-2005, 09:17
But I have problem. I've changed the fonts in my v09. V_Klay patched it succesfully. But there are no changes in the phone. Sometimes there are bugs in the phone only.

dspmobile
02-25-2005, 09:56
Read the 'patched' phone flash, and use program to see if changed fonts are there...

Gothic are for English-Latin lang. Is it the def. lang. for phone ?

Or did you cahnged all font sizes/styles ? The most used is the 'Normal' one...

dspmobile
02-25-2005, 09:58
Yeah, you are right, thats works! Im greatful you, very thanks..Im not see this "siemens.ini" in lang/rus.. :D
Thanks, regards

Then you must be using an older version in which 'siemens.ini' is in the same directory as the program.....

dspmobile
04-28-2005, 12:48
Version 5.2 becomes older but still at : Siemens CE 5.2 (http://www.gsmforum.gr/members/cgi-bin/dspmobile/tools/Siemens_CE_52.rar)

just added descriptions for : CX45 v47,43, S65 v43, A65 v05,07

BUT there is a new pre-release of the : Siemens CE 5.3 (http://www.gsmforum.gr/members/cgi-bin/dspmobile/tools/SiemensCE_53.rar)
for testing...

Featuring AUTO font finding of ALL fonts for x65-x70, x60,x55,x50,x45,x35 (true Siemens) phones !

(Does NOT include custom font files. Must get it from 5.2 if you want them!)

^NaT^
04-30-2005, 10:56
Hi all.
From my pic. My SL45 can't read thai sms (thai lang sms).
What because? :confused:
Have solution for solve this problem?
please recommend for me.
thx a lot.

dspmobile
05-01-2005, 08:51
As I have seen, there are NO Thai fonts in SL45i ...
It is not supported there, as in newer Siemens mobiles.
(At least in Fullflashes I have seen).

Vad!m
05-05-2005, 19:01
Dear dspmobile.
Contact me now, please.

dspmobile
05-06-2005, 16:29
Many thanks to Vad!m (or V!per) for creating "Siemens CE" in the first place!

But let's see some of the features of new
Siemens CE 5.3 - Build 519 (link (http://www.gsmforum.gr/members/cgi-bin/dspmobile/tools/SiemensCE_53.rar) )

Main feature is AUTO finding All Font tables for All languages/symbol sets and for ALL (true) Siemens phones!

That means that probably it will be able to function for new fw versions of existing models
and maybe even for newer models if Siemens keeps the same structure !
(all x65-x70,x60,x55,x50,x45,x35 are auto-detectable except A35/36 and older
for which the previous 'siemens.ini' mechanism is used or also the even older 'plugin' method)

They are presented in 2 tables.
The Left is the table for all font sizes/styles &
the Right is the table for all lang./symbol sets for the selected row in Left.

Double-click in a row of Left table updates Right table and Char Map of selected row in Right
(simple-click in a row of Left only updates Right table).

Simple or double-click in Right table updates and displays the Char Map and shows 1st character.

If you keep a selected lang. row in Right you can change the different font sizes/styles in Left
to access all fonts for that lang. (provided that you select 'C' type -character fonts rows).

There are some 'Numbers only' fonts with 'N' type that have at most 3 rows on Right table.

Among the languages - scripts that are used in newer Siemens mobiles are Greek, Cyrillic, Latin based lang. of course, Middle East lang. and some Asian languages.

Also the Unicode value and the 'LangPack messages' encoding for each selected character is displayed.

LangPack codes have a meaning only for certain Character type fonts for certain languages only.
(these codes are in accordance with the 'slged.ini' of "language editor" by Skylord).
Can be used in making some patches...

Unicode values in the range E000 - F8FF, that consist the 'Private Use Area', are used from Siemens for a non standard sequence for some Asian languages or some set of symbols or little Icon fonts.
The mechanism that 'maps' these character to its 'normal' unicode value is not known to me.
Such an example is the 2 Arabic fonts that normaly should occupy the area 0600-06FF .
Especially the one set mixed with Arabic and Western symbols gives the most unreliable Unicode value...
For all the other cases it is the correct one !

But also the values for Icon - fonts in the area E400-E47F can be used for finding their use in the code area of the fullflash.
Such an example is the 1st "3 dots" icon-font (E400) that is used in s55 for displaying too large Names to fill the screen in AdressBook or Call lists.
Searching E6 ?? 00 E4 would find where in firmware this character it is used !

As I have seen the program works fine with new SST fullflash files.

Only little testing, with one 2128 fullflash I found, for Far East ( CJK ) models has been done
but I excpect to work with them without problems. But if there are links in Web with such fullflashes please report it to me for further testing!

dspmobile
05-09-2005, 12:43
a little refreshment-update with some bug fixes has been placed in the same above link.
Build 520 for Siemens CE 5.3

By the way, it is very strange the new extensive list of small icon - fonts that Siemens has put in CX65 v.47 that did not existed in prev. versions.
They cover the area E600 - E77F.

I am wondering what is the intended use of all these icon-fonts...

^NaT^
05-18-2005, 04:38
From this pic. Why lg1,it included Thai font(character)? :confused:
Because? :confused:

Please reply for me.
Thank you very much.

dspmobile
05-22-2005, 07:44
As I have observed, fonts do not differ as the langpacks used.
The same fonts are there for a large variation of langpacks.
(langpacks deal with mesages, menu labels etc.)

In fact, only 2 different font contents exists. The one is for Far East - CJK (Chinese) models and all the rest (European, Middle East and Asia) are on the other.

( Since "European" includes Latin based languages, then also both North and South American latin based languages must be included in it.).

dspmobile
05-22-2005, 15:16
The last update for Siemens CE 5.3.3 is available at the same link (http://www.gsmforum.gr/members/cgi-bin/dspmobile/tools/SiemensCE_53.rar) .

It offers the ability to save all fonts for a selected language.
Also various fixes and improvements.
See the included "Readme53.txt" and check 'History' of the program.

^NaT^
05-23-2005, 03:49
@dspmobile
I and my friend try to read sms in Thai langauge in sl45i ,is it possible?
Because SL45 can't read thai sms (thai lang sms).
How to solution?
Help us plese.
Thank you very much.

BennieZ
05-23-2005, 07:04
@dspmobile
very thanks for your work at siemens CE!
I am a chinese. I want to find the mechanism that 'maps' these character to its 'normal' unicode value long ago. but only found the table of font. and don't known more.
I test the last update for Siemens CE 5.3.3, It work fine at my 6688V55(SL45i for chinese) and S6CV43(S65 for chinese). and display correct map between charactor and unicode. would you tell me the method? because i want to add some extra font at special style.
Best regard!

avkiev
05-23-2005, 08:28
I am a chinese. I want to find the mechanism that 'maps' these character to its 'normal' unicode value long ago. but only found the table of font. and don't known more.
I don't know nothing about fonts.
But, may be it is the same as in langpack.
See end of file slged.ini from SiemensLanguageEditor:
; Chineese
Trans AA, 4E00
Trans AB, 4E80
Trans AC, 4F00
...
Good luck

BennieZ
05-23-2005, 09:05
thanks a lot to avkiev!
The font package format is different with language pack!
i know method that translate from language pack to unicode! it can be found in ID2WString function. but i only know little info about font and T9 format.

dspmobile
05-26-2005, 08:40
@BennieZ

Well, do you want to add more characters (add their fonts) or just change the appearence of a specific character font ?

The 2cd can be done already by the program.
But the 1st it is a bit complicated since the structures there are rather complicated. But you need a contigous area.
If you want to add a character to an existing char. set (Unicode base=xxyy and size max 128 chars) then probably you have to repeat all existing characters in a new larger area and add yours. (some other changes must be done for these additional chars to be included).

If somebody wants to replace such a char.set ( as the guy asking for Thai) then probably the font area for that : (Numb of chars)*(bw*h+1)
where
bw .....is width in bytes
h .......is height in pixels
must cover the replacement.

As far as the stuctures, there is first a table which let's call Master Font Table that correspond to the Left table in "Siemens CE" where for each row of it, it points to a different, each time, table for the specific char. sets as shown in the Right table. But also it has a 2cd pointer to another stucture (512 bytes) that describes the position of the char. sets inside the Unicode code space .

That Char. sets Table also has 2 numbers that are the Start character code and the End Character code (inside the specific Unicode range) in Normal cases when the characters presented by Siemens follow exactly the Unicode sequence. The special case is when this sequence cannot be followed because only a few but non in sequence chars must be presented. ( It took me a long time to find how it works in this 2cd case).
That happens with most CJK (Chinese) char. sets .


I think it is too much to described here !
I will try to update an initial draft doc I made when I tried to understand these structures. You must give me through a P.M. your e-mail addresses (you and maybe ^NAT^) so I can sent it to you.
Also I can give you a link to a Developer edition of Siemens CE that displays more information on the tables ( but it has limitations since it is based in older version of Siemens CE.).

anuroj_007
05-27-2005, 13:56
.................................................. ............................

As far as the stuctures, there is first a table which let's call Master Font Table that correspond to the Left table in "Siemens CE" where for each row of it, it points to a different, each time, table for the specific char. sets as shown in the Right table. But also it has a 2cd pointer to another stucture (512 bytes) that describes the position of the char. sets inside the Unicode code space .

...........................................

I had tried write Thai Character set(bin file),from M55 FUBU,that read by CE,to sl45i but the phone cant read sms in Thai lag.I think sl45i had not MASTER FONT TABLE of Thai lag set,so is it possible to write MASTER FONT TABLE of M55 to sl45i

thank in advice

BennieZ
05-27-2005, 16:13
@dspmobile
Very thanks!
my email:Bennie.Joe@Gmail.com
i can study struction of font table by it if you give me the Developer edition of Siemens CE .

best regard!

dspmobile
05-29-2005, 23:59
Here is the link for the so called "Developer edition" of Siemens CE.
http://www.gsmforum.gr/members/cgi-bin/dspmobile/tools/siemensCEdev.rar

Don't expect too much from this title (Developer),
it just shows more information for the contents of the rows of the 2 tables presented also in regular Siemens CE 5.3.3.
(I hope that this will not confuse ordinary users.).

You will see there, in the first - Left table under the column 'charset table' the address where the 2cd - Right table starts, which is different for each row - font size.
Under the column 'ucode space' is the start address of a 512 bytes structure that helps identify the corresponding char. sets in Right table by their Unicode values.

In the second - Right table you will find the column 'font address' which points to the start address of actual font data (1st character) for each char.set.
Column 'base' is the Unicode base for this char. set calculated from the position where the sequence No is found in the 'ucode space' above.

The Start and End code for a char. set are under the '[cp' and 'cp]' respectively.

Right-click with the mouse on a row of each table and it displays the exact RowAddress in fullflash. (all addresses are for the fullflash).

And at left bottom, before 1st table, is the start address of it as MFT (Master Font Table).

dspmobile
05-30-2005, 00:37
Now let's talk about Thai in SL45i...

There is no Thai there since after Hebrew (at x0580) goes to Currency (at x2080) and Thai is at x0E00 unicode base.

Best candidate for replacement is the row for Hebrew, if do not happen to use both....

Now let's get Thai form e.g. M55 as a picture previously shows.
Although SMS uses, I think, the Small Thin font size, you should probably do it for all sizes to be sure.

So using the Siemens CE 5.3.3 save all Thai fonts.
Calculate the total size they occupy and find an empty area in SL45i that they will fit. You may load them in SL45i and make a note of the exact start address of each font size where you put it. Better calculate the Page:Offest format of these addresses to be ready.
(You can't use the area that Hebrew occupy because they are 27 chars while Thai are 127).

Now with CE Dev edition open fullflash of M55, point at Thai char. set for each row (or especially for Small Thin) and by mouse Right-Click get their rowAddress (on Right table) and with a Hex editor get the 6 bytes following that address .
(row size is 10 bytes for these models, the last 4 are for actual font data address).

Then again open SL45i with CE dev , point at Hebrew for the same Font size as above, get the rowAddress , Open a Hex editor, go to that address and put the 6 bytes copied or noted previously. After that 6 bytes put the 4 bytes representing in reverse Page:Offset format the start address of the relevant Thai font you have noted in the begining. (after insertion in an empry area).

Now although font - glyphs there represent Thai, they will appear on Hebrew unicode values. So we must fix that.
For the same font size we are working (e.g. Small Thin) we look at the Left table and note the 'ucode space' address. We also note the sequence No of (changed) Hebrew which is 05.

We go to that address with a Hex editor and start looking for 05 in the next 512 bytes. It is just 11 bytes ( 2 x 5 + 1) form the start. We change that to FF. Now we go to 28th byte from start (28 = 2x14 + 0 where 14=0E) and there we change the FF to 05 (row sequence No).

Now we are right, and must repeat for the next font size/style.

I hope that this is not confusing. I cannot guarantee that it will work, but probably it will do !

^NaT^
05-30-2005, 04:15
@dspmobile
Thank you very much for "Developer edition".
And thx for solution of Thai in SL45i. I and my friend will try it.
Thank again. :)

BennieZ
05-30-2005, 05:27
@dspmobile
Thank you very much!
I has received your mail and document and "Developer edition" give me many help!

Best regard!

dspmobile
05-30-2005, 12:41
Just to explain a little more on Unicode positioning and code assignment.

The "ucode space" area mentioned (512 bytes) has a meaning for each byte.
Each byte there represents a char. set of 128 characters (x80 in hex).
So with 512 bytes it covers the area from x0000 to xFFFF.

So the first byte is for x0000-007F, next for x0080-00FF and so on.
If character set has a representetion with fonts in a mobile device then it has its sequence byte (in the charset table) there recorded.

Also the Start and End character code ('[cp' - 'cp]') exist in the Charset tables and by adding their code to the Unicode base (calculated) we get to their unicode values. Characters in between get in similar way their Unicode values.

Now the Exception case, where a character set, as implemented by Siemens, could not have all characters - either because they are not used frequently enough or because of space requirements or any unusual to Unicode ordering is prefered.

In that case as a Start code is putted an FF and as End code an index to an array of pointers is putted. The relevant pointer (address) points to a 128 byte structure.
If you Right-click on such a row in the Right table you get, besides rowAddress and 'codeAddress' where that structure starts.

For each character in this Exception case char.set there is a byte in this structure with its sequence number where other places have FFs.
So counting these non FF bytes you get the amount of characters in this special case char. set.

If for example you search in these structure for the 00 which represents the 1st character, as it appears in Siemens CE for that char. set, you will find it in some position. Geting the distance (difference) from the Start you have the code you must add to the Unicode base in order to have the real Unicode value for that character.

Some strange results you get only for those sets that exists in the Private Usage Area (xE000-F8FF). For example Siemens chose to put the Arabic char. set there although their real Unicode range is x0600-06FF.

anuroj_007
05-31-2005, 02:30
@dspmobile

thx man for your all advice

anuroj_007 :D

anuroj_007
06-02-2005, 05:32
Form dspmobile

"Then again open SL45i with CE dev , point at Hebrew for the same Font size as above, get the rowAddress , Open a Hex editor, go to that address and put the 6 bytes copied or noted previously. After that 6 bytes put the 4 bytes representing in reverse Page:Offset format the start address of the relevant Thai font you have noted in the begining. (after insertion in an empry area)."

@ dspmobile

We r doing that you had explain how to put Thai lag in SL45,but in the step "After that 6 bytes put the 4 bytes representing in reverse Page:Offset format the start address of the relevant Thai font you have noted in the begining. (after insertion in an empry area)",we dont understand how to find( or calculate) the last 4 bytes that you had told us to do,so could you explain more detail about this 4 bytes?

Sorry if this is silly question,but we r still newbie about this case

Thank you in your advice

anuroj_007

dspmobile
06-03-2005, 19:02
Well it is the memory addressing arithmetic of c166 (processor of x45,x55).

Just look again the "Small Thin" and choose again Hebrew in CE dev.

You see a font Address which is : 49DC82 ( flashfile address ).
But then , with Right-click, get the rowAdress of it.
It is at 4A0BFE. Open a HexEditor and go there .
Skip the 6 bytes and get the next 4 that represent the sane Address.

You see there 82 1C A7 03 . Since it is in reverse (little endian proc.) the Page:Offset addressing for the Real Memory is : 03A7 : 1C82.
Since pages of 4000h are used in these processores you have
03A7*4000+1C82 = E9DC82 for Real Memory Address.

Now since these proc. have max Memory addressable to 16 Mb, and firmware is loaded near the end of that space, and size of flash file is 6Mb, then :
16 - 6 = 10Mb base addr. offset (=A00000 )
E9DC82 - A00000 = 49DC82

The exact reverse could be done if you know only the last outcome, and start from there :
49dc82 + A00000 = E9DC82
E9DC82 div 4000 = 03A7 (quotient) from integer division
E9DC82 mod 4000 = 1C82 (remainder)

^NaT^
06-04-2005, 02:10
@dspmobile
We followed for your solution.
My SL45 have Thai font and Thai unicode but SL45 can't show Thai sms. :confused:
Thank you very much.

dspmobile
06-07-2005, 20:57
Well, the display looks different than the initial...

But did you tried the other sizes for font used in SMS ?
(Except the Large one...).

If you did try all fonts, then there must be some check before entering the routine that displays fonts... But in such a case you would get exact the same as before doing anything !...

it looks like it gets font bittmaps from the wrong area...

And you have put the font data at the same location (font address) as it was for Hebrew
although there are more Thai characters than those for Hebrew,
and I said to find another 'free' area ( full of FFs) that your new Thai font data shoud have been put !

misko903
06-07-2005, 22:37
@dsp:

what is download page of Siemens CE? because i know, that in v3.allsiemens.com is not actual version ;)

thx!

dspmobile
06-09-2005, 22:09
It has been said in previous posts, but anyway it is still here :
http://www.gsmforum.gr/members/cgi-bin/dspmobile/tools/SiemensCE_53.rar

It is now version 5.3.3 .

V!per, the original author, has left his web site a little behind.
But he is currently working on a new redesigned GUI of the program.
It may eventually come out.

x-geo
09-27-2005, 01:13
do anyone have .bin fonts for an C65? or where i can fin it?

^NaT^
09-30-2005, 05:25
do anyone have .bin fonts for an C65? or where i can fin it?
load C65 fullflash from any site and use Siemens CE extract fonts(.bin) from fullflash

^NaT^
10-31-2005, 06:01
@dspmobile
The first step.
I followed to

There is no Thai there since after Hebrew (at x0580) goes to Currency (at x2080) and Thai is at x0E00 unicode base.
Best candidate for replacement is the row for Hebrew, if do not happen to use both....
Now let's get Thai form e.g. M55 as a picture previously shows.
Although SMS uses, I think, the Small Thin font size, you should probably do it for all sizes to be sure.
So using the Siemens CE 5.3.3 save all Thai fonts.
Calculate the total size they occupy and find an empty area in SL45i that they will fit. You may load them in SL45i and make a note of the exact start address of each font size where you put it. Better calculate the Page:Offest format of these addresses to be ready.
(You can't use the area that Hebrew occupy because they are 27 chars while Thai are 127).
Now with CE Dev edition open fullflash of M55, point at Thai char. set for each row (or especially for Small Thin) and by mouse Right-Click get their rowAddress (on Right table) and with a Hex editor get the 6 bytes following that address .
(row size is 10 bytes for these models, the last 4 are for actual font data address).
Then again open SL45i with CE dev , point at Hebrew for the same Font size as above, get the rowAddress , Open a Hex editor, go to that and put the 6 bytes copied or noted previously. After that 6 bytes put the 4 bytes representing in reverse Page:Offset format the start address of the relevant Thai font you have noted in the begining. (after insertion in an empry area).
Now although font - glyphs there represent Thai, they will appear on Hebrew unicode values. So we must fix that.
For the same font size we are working (e.g. Small Thin) we look at the Left table and note the 'ucode space' address. We also note the sequence No of (changed) Hebrew which is 05.
We go to that address with a Hex editor and start looking for 05 in the next 512 bytes. It is just 11 bytes ( 2 x 5 + 1) form the start. We change that to FF. Now we go to 28th byte from start (28 = 2x14 + 0 where 14=0E) and there we change the FF to 05 (row sequence No).
Now we are right, and must repeat for the next font size/style.for any font size,Bold_Normal Bold_Small Bold_Small Large Normal Small and Small_Thin,that's completed and corrected.
The second step.
I insert thai font in the free area in fullflash and to make a note of address ,that's insert.
The third step.
I link 4 bytes,that's representing in reverse Page:Offset format the start address of the relevant Thai font ,with note of address in the second step by followed to below algorithm.
Just look again the "Small Thin" and choose again Hebrew in CE dev.
You see a font Address which is : 49DC82 ( flashfile address ).
But then , with Right-click, get the rowAdress of it.
It is at 4A0BFE. Open a HexEditor and go there .
Skip the 6 bytes and get the next 4 that represent the sane Address.
You see there 82 1C A7 03 . Since it is in reverse (little endian proc.) the Page:Offset addressing for the Real Memory is : 03A7 : 1C82.
Since pages of 4000h are used in these processores you have
03A7*4000+1C82 = E9DC82 for Real Memory Address.
Now since these proc. have max Memory addressable to 16 Mb, and firmware is loaded near the end of that space, and size of flash file is 6Mb, then :
16 - 6 = 10Mb base addr. offset (=A00000 )
E9DC82 - A00000 = 49DC82
The exact reverse could be done if you know only the last outcome, and start from there :
49dc82 + A00000 = E9DC82
E9DC82 div 4000 = 03A7 (quotient) from integer division
E9DC82 mod 4000 = 1C82 (remainder)
This total ,it's completed and corrected.
I open fullflash with siemensCEdev,that's show correct both unicode of char and font address,that's inserted thai font to empty area,show below pic.
From there i write fullflash to my phone and after open my phone font show correct in 25th charecter,1st-25th or 0E01-0E19,show below pic.
Please solution for solve this problem.
I can send my fullflash from my phone for analyse.
Thank you very much.
Regard highly.

dspmobile
11-30-2005, 20:37
@ ^NaT^
As you informed me through PM, finally you managed to make it work
by placing Thai fonts over the Arabic ones.

This is just to inform others that in principle, a language font set can be replaced - changed at will. (with some effort, of course !).

By the way, since older links for the program do no work,
here you can find "Siemens CE" v5.3.4 :
http://forum.allsiemens.com/download.php?id=16937

^NaT^
12-01-2005, 07:30
@dspmobile
Thank you very much.
Regard highly.

dspmobile
02-26-2006, 18:52
A little refreshment of this old and good program :

-- Siemens CE 5.3.5 build 228 [02.24.06]

[+] - Display HWID of model after reading it from fullflash !
[x] - Fixing font tables finding for some S56 & SL56 fullflashes
[x] - Using MFontDir & FlashDir in 'sce.ini' for seting and holding last 'merge' font dir and last flash dir

Font Tables and Codes are available through Options -> Font Tables

Although it will require some change again when larger fullflashes for S75 will be available.

dspmobile
02-26-2006, 18:57
And the old 'custom' font files that used to be with versions prior to 5.2 .

But they fit to older x55 - x45 models and most are cyrillic and som english-latin.

If somebody makes a good custom font for x65, it will be goot to submit it here !

dspmobile
03-15-2006, 10:50
New version supporting S75/SL75 (New SGold) with 64 Mb fullflash : Siemens CE 5.4
http://forum.allsiemens.com/download.php?id=34262

-- Siemens CE 5.4 build 230 [03.14.06]

[+] - Supporting S75/SL75 (New SGold) with 64Mb fullflash
[+] - Browsing characters changed, added advancing by 8 chars (column) - default
... First select size buttons 1, 2, C, Co, P for 1 byte, 2 bytes, Character, Column (8 char), Page (32 char)
... then proceed by right + / - buttons for browsing.
[+] - Some Zooming-Out/In of bitmap for small wide fonts added (use left - / + buttons).
[x] - Minor corrections and adjustments.

There are additional fonts in new S75/SL75 models like Italic & Italic Bold, but only for Latin-based char. sets - languages.
Can be seen through check in : Options -> Font Tables

and choosing the appropriate line in left font table (double-click).

stopchan
07-13-2006, 08:17
dspmobile, I want to ask about possibility to implement future for edit codes of fonts characters. This may be wery useful for adding non-presented symbols by replacing with no needed.


For example, in Siemens fonts are presented Latin, Cyrillic, Greek, Hebrew, Hindic and other character sets... But not yet (up to x75) fully implemented Cyrillic codepage win1251.

If this future will be implemented we can:
1. Open not needed character XXXX (e.g. Hindic).
2. Change character Unicode code XXXX to YYYY.
3. Repaint character XXXX to YYYY view.

Result: Mobile phone properly display symbol YYYY.

P.S. I know that this future isn't impossible. I see how it work on SL45i (patch RUSv3.3 by Rst7/CBSIE and Seklth)...

dspmobile
09-10-2006, 10:14
Sorry, for the late response !!!...

For your request, things are not so simple for using your suugested way for adding additional characters/symbols in a language set...

Most regular language's char. sets (like Cyrillic) define a Start and an End code for their respective First and Last characters/symbols in that language's char. set !
Also, of course, point to an Address were the bitmaps of the caractesr fonts are sored succesively.

That is the best procedure to enlarge a language's char. set is :
a) Find the appropriate line in each table (for each size-style) for that lang. and change Start & End codes accordingly,
b) Change the Address to point to your new BitMap fonts area ( it could be the area of a non used language like e.g. Hindic for you...)

I had publiashed a "Developer edition" that although had not all features of the main program, it could display more information on the font tables and the addresses where they are...
This was discribed in previous messages ....

The last "Developer edition" od Siemens CE : Siemens CE dev. (http://briefcase.pathfinder.gr/download/519154)


SEO by vBSEO