Meanwhile, I compiled my program on Ubuntu Linux and on MacosX and updated all Lazarus installations via daily build.
On Linux, the menu entries with german umlauts (ÄÖÜäöüß) are completely not shown (an empty area without text) if I simply write:
MenuItem.Caption := 'Text with umlauts';
In Windows, the text appears with ? instead of umlauts.
If I write
MenuItem.Caption := AnsiToUTF8('Text with umlauts');
the text in Linux and MacosX appears with ? instead of umlauts and in Windows, the output is OK.
Then I studied the formatting problem. I want to have menu entries with right-orientated commands, e.g.
Open Alt-F3
Save F2
In Windows.ModifyMenu, the tab char generates this break, but not in Windows.SetMenuItemInfo which is used by Lazarus. Linux and MacosX also fails with tab char (but perhaps there's another char code). If I use Menuitem.Shortcut, the output is OK in all OS, but I want to generate this output manually via Menuitem.Caption.
Windows Menuitem.Caption also fails if the distances differ more than aprox. 8 chars.
I have even debugged the LCL code to understand the Caption Shortcut mechanism, but did not managed it. Any ideas?
Martin