trichview.support
Re: Russian Text & RichViewEdit |
Author |
Message |
Sergey Tkachenko |
Posted: 09/28/2004 19:15:46 The answer "why it happens" depends on which page you copied from. Depending on this, data may be pasted either in RTF or in plain text format. If content is pasted as RTF, '?????' is not normal, because RTF contains language information. If content is pasted as plain text, '?????' is normal when pasting in non-Unicode editors in Win2k. Technical Information: In Unicode, if you know a character code, you know what this character is. In non-Unicode text, you must also know the text language. Win2k assumes that the language of the copied text is a language of keyboard at the moment of copying. I believe you have English keyboard layout. So Win2k assumes that the text language is English, and tries to convert the copied characters to English. It's not an application's, it's a Window's feature. You can get the copied text yourself as Clipboard.AsText, you'll see it contains '??????????' instead of Russian characters. Solution: If you need a multilingual application, use Unicode in TRichView. For example, this "Accents" demo is Unicode. What to do: 1) Set Unicode property of all text styles to True. In editing operations, all new styles are usually based on existing styles, so they automatically become Unicode. 3) Set RichView.RTFReadProperties.UnicodeMode = rvruOnlyUnicode to prevent appearing non-Unicode characters when inserting/loading RTF 4) If you have existing RVF files that you need to load, you need to convert them to Unicode (I can give code example) 5) Find if you use GetItemText, SetItemText, AddNL, AddTextNL methods and replace them with GetItemTextA, SetItemTextA, AddNLATag, AddTextNLA 6) Read topic about Unicode in RichView help file. Without using Unicode, Russian text can be pasted only - if at the moment of copying Russian keyboard layout is active (otherwise '?????????') - current RichViewEdit's text style has RUSSIAN_CHARSET (otherwise characters from the second half of the Western ANSI character codes will be used instead of Russian) > > (I use Win2k, TRichViewEdit v1.9.0.4, IE 6.0) > > I create a new Form and drop a RVStyle and RichViewEdit on it. > The I compile the project, copy russian text from IE. The only characters > I see, get are '?'... > > But when I compile the demo 'International Accents' and copy russian text > from IE, I get the Russian text copied. > > What do I do wrong? > > Thanks. > > Pieter E. |
Powered by ABC Amber Outlook Express Converter