trichview.support.thirdparty
Re: Problem with Loadhtml |
Author |
Message |
CC |
Posted: 11/04/2003 5:50:47 Thanks very much. I'll try to do it. Regards, C.C "Sergey Tkachenko" <[email protected]> wrote in message news:[email protected]... > Yes, RVHTMLImporter uses non-Unicode text styles. > If your application must use completely Unicode documents, you need to > convert results of RVHTMLImporter to Unicode. > > Next update of RichViewActions will do it automatically, if > RichViewEdit.RTFReadProperties.UnicodeMode = rvruOnlyUnicode (i.e. HTML > insertion will use the same Unicode rules, as RTF insertion/loading). > > If you use RVHTMLImporter directly, you need to convert the document to > Unicode yourself. > Below is how to do it: > > << ------------------ > > RichView documents can contain mixed contents - both Unicode and single-byte > text. > The code below converts all single-byte text in the document to Unicode: > > uses RichView, RVTable, CRVData, RVUni; > > // internal procedure > procedure ConvertRVToUnicode(RVData: TCustomRVData); > var i,r,c, StyleNo: Integer; > table: TRVTableItemInfo; > begin > for i := 0 to RVData.ItemCount-1 do begin > StyleNo := RVData.GetItemStyle(i); > if StyleNo>=0 then begin > if not RVData.GetRVStyle.TextStyles[StyleNo].Unicode then begin > RVData.SetItemText(i, RVU_GetRawUnicode(RVData.GetItemTextW(i))); > Include(RVData.GetItem(i).ItemOptions, rvioUnicode); > end; > end > else if RVData.GetItemStyle(i)=rvsTable then begin > table := TRVTableItemInfo(RVData.GetItem(i)); > for r := 0 to table.Rows.Count-1 do > for c := 0 to table.Rows[r].Count-1 do > if table.Cells[r,c]<>nil then > ConvertRVToUnicode(table.Cells[r,c].GetRVData); > end; > end; > end; > > // main procedure > procedure ConvertToUnicode(rv: TCustomRichView); > var i: Integer; > begin > ConvertRVToUnicode(rv.RVData); > for i := 0 to rv.Style.TextStyles.Count-1 do > rv.Style.TextStyles[i].Unicode := True; > end; > > Call > RichViewEdit1.ClearUndo; > ConvertToUnicode(RichViewEdit1); > > RVStyle object must be used exclusively by the given RichView (RichViewEdit1 > in this example), otherwise documents in other RichViews linked to the same > RVStyle will be corrupted. > > Text is converted basing on its Charset. If Charset = DEFAULT_CHARSET, > conversion is based on RVStyle.DefCodePage (main system language by default) > > -------------- >> > > > I type unicode characters, it's ok. > > After loading with loadhtml function (RvHtmlImporter) , I can't type > unicode > > characters ( changed to ? character). > > What should I do? > > > > Thanks for any help. > > > > C.C > > > > > > |
Powered by ABC Amber Outlook Express Converter