Fix "Handle_IME"#457
Conversation
support Chinese Input
Scroll is not equal to ScrollArea.Translation.Y when designed value <> 0. Just set it after TCastleScrollView Loaded.
|
There are several ways to deal with it, I haven't dealt with this warning yet because I'm not sure my way is good .@michaliskambi ,I think you can deal with it yourself. |
|
Thank you! I added a small commit:
The modification to The modification to So, I'll experiment with approach for |
|
The current |
Yeah, our text editing should become at some point more feature-rich, with TCastleMemo, and "real" handling of caret and selection common to (at least) TCastleEdit and TCastleMemo. I would like to attack it at some point (but probably after 7.0 release), starting by TCastleMemo, and common code for both TCastleEdit and TCastleMemo. For now we just have TCastleEdit, and it has the simplest possible caret just always at the end. Indeed in the future |
- Design in editor testing TCastleLabel, TCastleText, TCastleEdit - Design in editor international fonts - Do not complicate code with generating font to Pascal, focus on loading font from OTF/TTF in data - Do not show X3D explicitly, but show TCastleText with both international and Chinese - Show TCastleEdit with both international and Chinese - Added nice screenshot and README See #457
- RowHeight->Height - RowHeightBase->CapHeight - Descend->DescenderHeight ( Follow standard names -- https://en.wikipedia.org/wiki/Metric_typographic_units https://fonts.google.com/knowledge/glossary https://en.wikipedia.org/wiki/Cap_height https://fonts.google.com/knowledge/glossary/cap_height https://www.onlineprinters.co.uk/magazine/font-sizes/ ) - Published properties to influence how they are calculated easily: MeasureHeight, MeasureCapHeight, MeasureDescenderHeight - Also completely removed measuring from TTextureFontData, it doesn't have enough information for it, it should never measure See #457
how font is measured See #457

Updated code to get caret position of
TCastleEdit.Replaced
if vhIMC <> 0 then ...withif vhIMC = 0 then Exit;.Because the nesting of "begin end" is a bit too much.