* The left label is LabelB. There, the local characters are missing. To tell what's wrong, I would have to see how do you generate TextureFont_msyh_24. If you use texturefont2pascal with correct --sample-text parameter it should work. Remember that the shell script where you do it must correctly understand your string as UTF-8 too, otherwise our code will not see the original UTF-8 codes. I know that bash on Linux works fine for this.
I upload the generating bat (code page is UTF-8).
You mean that OnTimer sometimes does not work? That is an unfortunate problem of LCL that we really cannot avoid. See castle_game_engine/src/components/castlecontrol.pas , at TCastleApplicationIdle.ApplicationIdle , comment "With Done := true..." for explanation. This is a wontfix, until LCL provides a better API to control this.
I advice using our own OnUpdate methods (like TCastleControl.OnUpdate) for continous work. Do perform something every X miliseconds, just measure the time passed (in TCastleControl.OnUpdate you have the amount of seconds passed since last TCastleControl.OnUpdate, in CastleControl1.Fps.UpdateSecondsPassed). This way you can easily do your own timed events, without the need for LCL OnTimer.
I mean when I click the CastleControl1 once the OnTimer effect once.
When I click the CastleControl1 twice the OnTimer effect twice.
No click the OnTimer never work.
This doesn't happen in other LCL program.
Am I clear?