merge items in RV17.6.2--RV22
merge items in RV17.6.2--RV22
Greetings Sergey,
Is there a new feature that merges items in RV later than 17.6.2 especially RV22.
Working on upgrading and somehow my items are merging. Theyhave the same font, etc but they have different tags.
For example: |The item1| cat item2| ate item3|
Has become: |The cat ate item1|
Edit:
As I dig deeper it seems related to loading RTF somehow.
It seems that in RTF an item like this is fine: {\fs20\cf0 {\field{\*\fldinst HYPERLINK "link"}{\fldrslt word}}space{...
but this is not fine: {\fs20\cf0 {\field{\*\fldinst HYPERLINK "link"}{\fldrslt spaceword}}{...
Is there a new feature that merges items in RV later than 17.6.2 especially RV22.
Working on upgrading and somehow my items are merging. Theyhave the same font, etc but they have different tags.
For example: |The item1| cat item2| ate item3|
Has become: |The cat ate item1|
Edit:
As I dig deeper it seems related to loading RTF somehow.
It seems that in RTF an item like this is fine: {\fs20\cf0 {\field{\*\fldinst HYPERLINK "link"}{\fldrslt word}}space{...
but this is not fine: {\fs20\cf0 {\field{\*\fldinst HYPERLINK "link"}{\fldrslt spaceword}}{...
Last edited by jgkoehn on Tue Mar 26, 2024 6:04 pm, edited 1 time in total.
-
- Site Admin
- Posts: 17564
- Joined: Sat Aug 27, 2005 10:28 am
- Contact:
Re: merge items in RV17.6.2--RV22
Do you load RTF or RVF?
If RTF (Rich Text Format, format of MS Word), then RTF does not have items. It has commands like "make bold", "apply font name", etc. Also, tags are not saved in RTF (except for hypertext targets stored in tags). So, items cannot be kept when saving and re-loading in RTF. And it does not depend on TRichView version.
If RVF (RichView format), then loaded document must be the same as the original document (if you use LoadRVF or LoadRVFromSteam method; insertion methods may optimize document by merging subsequent text items having identical properties; however, items that have different tags are never merged)
If RTF (Rich Text Format, format of MS Word), then RTF does not have items. It has commands like "make bold", "apply font name", etc. Also, tags are not saved in RTF (except for hypertext targets stored in tags). So, items cannot be kept when saving and re-loading in RTF. And it does not depend on TRichView version.
If RVF (RichView format), then loaded document must be the same as the original document (if you use LoadRVF or LoadRVFromSteam method; insertion methods may optimize document by merging subsequent text items having identical properties; however, items that have different tags are never merged)
Re: merge items in RV17.6.2--RV22
If it helps this works fine in RV17 but not in RV22 so no changes really on our end as best I can in this regard. I have two computers old version works fine under RV17. And new version on antoher computer under RV22 has this problem.
We are loading through RTF
Edit:
As I dig deeper it seems related to loading RTF somehow.
It seems that in RTF an item like this is fine:
{\fs20\cf0 {\field{\*\fldinst HYPERLINK "link"}{\fldrslt word}}space{...
but this is not fine:
{\fs20\cf0 {\field{\*\fldinst HYPERLINK "link"}{\fldrslt spaceword}}{...
The issue almost seems to be the placing of the space.
Note these all have links so as you said no items but I guess better would be "links"
We are loading through RTF
Edit:
As I dig deeper it seems related to loading RTF somehow.
It seems that in RTF an item like this is fine:
{\fs20\cf0 {\field{\*\fldinst HYPERLINK "link"}{\fldrslt word}}space{...
but this is not fine:
{\fs20\cf0 {\field{\*\fldinst HYPERLINK "link"}{\fldrslt spaceword}}{...
The issue almost seems to be the placing of the space.
Note these all have links so as you said no items but I guess better would be "links"
Last edited by jgkoehn on Tue Mar 26, 2024 6:19 pm, edited 1 time in total.
Re: merge items in RV17.6.2--RV22
I may have changed code always possible but I am trying to be very careful with RV code:
here is what we are using for RTF could it be "Merging"?
Hmms I tried to make sure RTF Options are the same as previous RV17
here is what we are using for RTF could it be "Merging"?
Code: Select all
rv.RTFReadProperties.ParaStyleMode := rvrsAddIfNeeded; {PI}
with rv.Style do for i:=0 to DEF_PARA_STYLES-1{ParaStyles.Count-1} do ParaStyles[i].Border.Style := rvbSingle; //force RV to not use existing styles - BEGIN
rvd.LoadRTFFromStream(ms); //load the rtf
with rv.Style do for i:=0 to DEF_PARA_STYLES-1{ParaStyles.Count-1} do ParaStyles[i].Border.Style := rvbNone; //force RV to not use existing styles - END
rv.RTFReadProperties.ParaStyleMode := rvrsAddIfNeeded; //not needed any more
Hmms I tried to make sure RTF Options are the same as previous RV17
Re: merge items in RV17.6.2--RV22
Based on above the "space" position should not matter?
And if this hasn't changed then it would be on my end?
And if this hasn't changed then it would be on my end?
Re: merge items in RV17.6.2--RV22
Here is the RTF at least the part I could get easily in Delphi7.1
so technically here is the actual text that is Greek:
{\fldrslt \u915?\u945?\u912?\u8179?}}{...(Does NOT work)
{\fldrslt \u949?\u957?}} {...(Does work)
BSBGrkINT-----------------with English Does NOT work
'{\rtf1\ansi\ansicpg0\deff0\deflang0{\fonttbl{\f0\fcharset0 Palatino Linotype;}{\f1\fcharset0 Palatino Linotype;}{\f2\fcharset161 Gentium;}{\f3\fcharset177 Cardo;}{\f4\fcharset0 Palatino Linotype;}{\f5\fcharset0 Palatino Linotype;}}{\colortbl \red0\green0\blue128;\red51\green51\blue51;\red0\green0\blue127;\red73\green142\blue62;\red0\green128\blue128;\red51\green153\blue102;\red0\green0\blue0;\red70\green70\blue70;\red0\green0\blue1;\red153\green51\blue0;\red128\green128\blue0;\red0\green0\blue255;\red128\green0\blue128;}{\fs20\cf0 {\field{\*\fldinst HYPERLINK "_ORIGWORD_%E1%BD%89%5Cpar%7B%5Cb%5Cf0%5Cfs20%5Ccf0%20Transliteration%3A%20%5Cb0%5Ccf9%20%20Ho%7D%5Cpar%7B%5Cb%5Cf0%5Cfs20%20English%3A%20%7D%7B%5Cf0%5Cfs20%5Ccf12%20%20The%7D%26popup%3D1%7C_LEMMA_%E1%BD%81%7C_STRONG_G3588%7C_MORPH_Art-NMS%7C_NOLINK_%7C"}{\fldrslt \u8009?}}{\field{\*\fldinst HYPERLINK "_ORIGWORD_%20%CF%80%CF%81%CE%B5%CF%83%CE%B2%CF%8D%CF%84%CE%B5%CF%81%CE%BF%CF%82%2C%5Cpar%7B%5Cb%5Cf0%5Cfs20%5Ccf0%20Transliteration%3A%20%5Cb0%5Ccf9%20%20presbyteros%2C%7D%5Cpar%7B%5Cb%5Cf0%5Cfs20%20English%3A%20%7D%7B%5Cf0%5Cfs20%5Ccf12%20%20elder%2C%7D%26popup%3D1%7C_LEMMA_%CF%80%CF%81%CE%B5%CF%83%CE%B2%CF%8D%CF%84%CE%B5%CF%81%CE%BF%CF%82%7C_STRONG_G4245%7C_MORPH_Adj-NMS%7C_NOLINK_%7C"}{\fldrslt \u960?\u961?\u949?\u963?\u946?\u973?\u964?\u949?\u961?\u959?\u962?,}}{\field{\*\fldinst HYPERLINK "_ORIGWORD_%20%CE%93%CE%B1%CE%90%E1%BF%B3%5Cpar%7B%5Cb%5Cf0%5Cfs20%5Ccf0%20Transliteration%3A%20%5Cb0%5Ccf9%20%20Gai%C5%8D%7D%5Cpar%7B%5Cb%5Cf0%5Cfs20%20English%3A%20%7D%7B%5Cf0%5Cfs20%5Ccf12%20%20To%20Gaius%7D%26popup%3D1%7C_LEMMA_%CE%93%CE%AC%CF%8A%CE%BF%CF%82%7C_STRONG_G1050%7C_MORPH_N-DMS%7C_NOLINK_%7C"}{\fldrslt \u915?\u945?\u912?\u8179?}}{\field{\*\fldinst HYPERLINK "_ORIGWORD_%20%CF%84%E1%BF%B7%5Cpar%7B%5Cb%5Cf0%5Cfs20%5Ccf0%20Transliteration%3A%20%5Cb0%5Ccf9%20%20t%C5%8D%7D%5Cpar%7B%5Cb%5Cf0%5Cfs20%20English%3A%20%7D%7B%5Cf0%5Cfs20%5Ccf12%20%20the%7D%26popup%3D1%7C_LEMMA_%E1%BD%81%7C_STRONG_G3588%7C_MORPH_Art-DMS%7C_NOLINK_%7C"}{\fldrslt \u964?\u8183?}}{\fie
ABP----------------------------------------- Does work
'{\rtf1\ansi\ansicpg0\deff0\deflang0{\fonttbl{\f0\fcharset0 Palatino Linotype;}{\f1\fcharset0 Palatino Linotype;}{\f2\fcharset161 Gentium;}{\f3\fcharset177 Cardo;}{\f4\fcharset0 Palatino Linotype;}{\f5\fcharset0 Palatino Linotype;}}{\colortbl \red0\green0\blue128;\red51\green51\blue51;\red0\green0\blue127;\red73\green142\blue62;\red0\green128\blue128;\red51\green153\blue102;\red0\green0\blue0;\red70\green70\blue70;\red0\green0\blue1;\red153\green51\blue0;\red128\green128\blue0;\red219\green85\blue58;}{\fs20\cf0 {\field{\*\fldinst HYPERLINK "_NOLINK_%7C_STRONG_G%2A%7C_STRONG2_%7C_STRONG3_%7C_STRONG4_%7C_STRONG5_%7C"}{\fldrslt \u921?\u959?\u973?\u948?\u945?\u962?}} {\field{\*\fldinst HYPERLINK "_NOLINK_%7C_STRONG_G%2A%7C_STRONG2_%7C_STRONG3_%7C_STRONG4_%7C_STRONG5_%7C"}{\fldrslt \u921?\u951?\u963?\u959?\u973?}} {\field{\*\fldinst HYPERLINK "_NOLINK_%7C_STRONG_G5547%7C_STRONG2_%7C_STRONG3_%7C_STRONG4_%7C_STRONG5_%7C"}{\fldrslt \u967?\u961?\u953?\u963?\u964?\u959?\u973?}} {\field{\*\fldinst HYPERLINK "_NOLINK_%7C_STRONG_G1401%7C_STRONG2_%7C_STRONG3_%7C_STRONG4_%7C_STRONG5_%7C"}{\fldrslt \u948?\u959?\u973?\u955?\u959?\u962?}} {\field{\*\fldinst HYPERLINK "_NOLINK_%7C_STRONG_G80%7C_STRONG2_G1161%7C_STRONG3_%7C_STRONG4_%7C_STRONG5_%7C"}{\fldrslt \u945?\u948?\u949?\u955?\u966?\u972?\u962? \u948?\u949?}} {\field{\*\fldinst HYPERLINK "_NOLINK_%7C_STRONG_G%2A%7C_STRONG2_%7C_STRONG3_%7C_STRONG4_%7C_STRONG5_%7C"}{\fldrslt \u921?\u945?\u954?\u974?\u946?\u959?\u965?}} {\field{\*\fldinst HYPERLINK "_NOLINK_%7C_STRONG_G3588%7C_STRONG2_%7C_STRONG3_%7C_STRONG4_%7C_STRONG5_%7C"}{\fldrslt \u964?\u959?\u953?\u962?}} {\field{\*\fldinst HYPERLINK "_NOLINK_%7C_STRONG_G1722%7C_STRONG2_%7C_STRONG3_%7C_STRONG4_%7C_STRONG5_%7C"}{\fldrslt \u949?\u957?}} {\field{\*\fldinst HYPERLINK "_NOLINK_%7C_STRONG_G2316%7C_STRONG2_%7C_STRONG3_%7C_STRONG4_%7C_STRONG5_%7C"}{\fldrslt \u952?\u949?\u974?}} {\field{\*\fldinst HYPERLINK "_NOLINK_%7C_STRONG_G3962%7C_STRONG2_%7C_STRONG3_%7C_STRONG4_%7C_STRONG5_%7C"}{\fldrslt \u960?\u945?\u964?\u961?\u943?}} {\fie
so technically here is the actual text that is Greek:
{\fldrslt \u915?\u945?\u912?\u8179?}}{...(Does NOT work)
{\fldrslt \u949?\u957?}} {...(Does work)
BSBGrkINT-----------------with English Does NOT work
'{\rtf1\ansi\ansicpg0\deff0\deflang0{\fonttbl{\f0\fcharset0 Palatino Linotype;}{\f1\fcharset0 Palatino Linotype;}{\f2\fcharset161 Gentium;}{\f3\fcharset177 Cardo;}{\f4\fcharset0 Palatino Linotype;}{\f5\fcharset0 Palatino Linotype;}}{\colortbl \red0\green0\blue128;\red51\green51\blue51;\red0\green0\blue127;\red73\green142\blue62;\red0\green128\blue128;\red51\green153\blue102;\red0\green0\blue0;\red70\green70\blue70;\red0\green0\blue1;\red153\green51\blue0;\red128\green128\blue0;\red0\green0\blue255;\red128\green0\blue128;}{\fs20\cf0 {\field{\*\fldinst HYPERLINK "_ORIGWORD_%E1%BD%89%5Cpar%7B%5Cb%5Cf0%5Cfs20%5Ccf0%20Transliteration%3A%20%5Cb0%5Ccf9%20%20Ho%7D%5Cpar%7B%5Cb%5Cf0%5Cfs20%20English%3A%20%7D%7B%5Cf0%5Cfs20%5Ccf12%20%20The%7D%26popup%3D1%7C_LEMMA_%E1%BD%81%7C_STRONG_G3588%7C_MORPH_Art-NMS%7C_NOLINK_%7C"}{\fldrslt \u8009?}}{\field{\*\fldinst HYPERLINK "_ORIGWORD_%20%CF%80%CF%81%CE%B5%CF%83%CE%B2%CF%8D%CF%84%CE%B5%CF%81%CE%BF%CF%82%2C%5Cpar%7B%5Cb%5Cf0%5Cfs20%5Ccf0%20Transliteration%3A%20%5Cb0%5Ccf9%20%20presbyteros%2C%7D%5Cpar%7B%5Cb%5Cf0%5Cfs20%20English%3A%20%7D%7B%5Cf0%5Cfs20%5Ccf12%20%20elder%2C%7D%26popup%3D1%7C_LEMMA_%CF%80%CF%81%CE%B5%CF%83%CE%B2%CF%8D%CF%84%CE%B5%CF%81%CE%BF%CF%82%7C_STRONG_G4245%7C_MORPH_Adj-NMS%7C_NOLINK_%7C"}{\fldrslt \u960?\u961?\u949?\u963?\u946?\u973?\u964?\u949?\u961?\u959?\u962?,}}{\field{\*\fldinst HYPERLINK "_ORIGWORD_%20%CE%93%CE%B1%CE%90%E1%BF%B3%5Cpar%7B%5Cb%5Cf0%5Cfs20%5Ccf0%20Transliteration%3A%20%5Cb0%5Ccf9%20%20Gai%C5%8D%7D%5Cpar%7B%5Cb%5Cf0%5Cfs20%20English%3A%20%7D%7B%5Cf0%5Cfs20%5Ccf12%20%20To%20Gaius%7D%26popup%3D1%7C_LEMMA_%CE%93%CE%AC%CF%8A%CE%BF%CF%82%7C_STRONG_G1050%7C_MORPH_N-DMS%7C_NOLINK_%7C"}{\fldrslt \u915?\u945?\u912?\u8179?}}{\field{\*\fldinst HYPERLINK "_ORIGWORD_%20%CF%84%E1%BF%B7%5Cpar%7B%5Cb%5Cf0%5Cfs20%5Ccf0%20Transliteration%3A%20%5Cb0%5Ccf9%20%20t%C5%8D%7D%5Cpar%7B%5Cb%5Cf0%5Cfs20%20English%3A%20%7D%7B%5Cf0%5Cfs20%5Ccf12%20%20the%7D%26popup%3D1%7C_LEMMA_%E1%BD%81%7C_STRONG_G3588%7C_MORPH_Art-DMS%7C_NOLINK_%7C"}{\fldrslt \u964?\u8183?}}{\fie
ABP----------------------------------------- Does work
'{\rtf1\ansi\ansicpg0\deff0\deflang0{\fonttbl{\f0\fcharset0 Palatino Linotype;}{\f1\fcharset0 Palatino Linotype;}{\f2\fcharset161 Gentium;}{\f3\fcharset177 Cardo;}{\f4\fcharset0 Palatino Linotype;}{\f5\fcharset0 Palatino Linotype;}}{\colortbl \red0\green0\blue128;\red51\green51\blue51;\red0\green0\blue127;\red73\green142\blue62;\red0\green128\blue128;\red51\green153\blue102;\red0\green0\blue0;\red70\green70\blue70;\red0\green0\blue1;\red153\green51\blue0;\red128\green128\blue0;\red219\green85\blue58;}{\fs20\cf0 {\field{\*\fldinst HYPERLINK "_NOLINK_%7C_STRONG_G%2A%7C_STRONG2_%7C_STRONG3_%7C_STRONG4_%7C_STRONG5_%7C"}{\fldrslt \u921?\u959?\u973?\u948?\u945?\u962?}} {\field{\*\fldinst HYPERLINK "_NOLINK_%7C_STRONG_G%2A%7C_STRONG2_%7C_STRONG3_%7C_STRONG4_%7C_STRONG5_%7C"}{\fldrslt \u921?\u951?\u963?\u959?\u973?}} {\field{\*\fldinst HYPERLINK "_NOLINK_%7C_STRONG_G5547%7C_STRONG2_%7C_STRONG3_%7C_STRONG4_%7C_STRONG5_%7C"}{\fldrslt \u967?\u961?\u953?\u963?\u964?\u959?\u973?}} {\field{\*\fldinst HYPERLINK "_NOLINK_%7C_STRONG_G1401%7C_STRONG2_%7C_STRONG3_%7C_STRONG4_%7C_STRONG5_%7C"}{\fldrslt \u948?\u959?\u973?\u955?\u959?\u962?}} {\field{\*\fldinst HYPERLINK "_NOLINK_%7C_STRONG_G80%7C_STRONG2_G1161%7C_STRONG3_%7C_STRONG4_%7C_STRONG5_%7C"}{\fldrslt \u945?\u948?\u949?\u955?\u966?\u972?\u962? \u948?\u949?}} {\field{\*\fldinst HYPERLINK "_NOLINK_%7C_STRONG_G%2A%7C_STRONG2_%7C_STRONG3_%7C_STRONG4_%7C_STRONG5_%7C"}{\fldrslt \u921?\u945?\u954?\u974?\u946?\u959?\u965?}} {\field{\*\fldinst HYPERLINK "_NOLINK_%7C_STRONG_G3588%7C_STRONG2_%7C_STRONG3_%7C_STRONG4_%7C_STRONG5_%7C"}{\fldrslt \u964?\u959?\u953?\u962?}} {\field{\*\fldinst HYPERLINK "_NOLINK_%7C_STRONG_G1722%7C_STRONG2_%7C_STRONG3_%7C_STRONG4_%7C_STRONG5_%7C"}{\fldrslt \u949?\u957?}} {\field{\*\fldinst HYPERLINK "_NOLINK_%7C_STRONG_G2316%7C_STRONG2_%7C_STRONG3_%7C_STRONG4_%7C_STRONG5_%7C"}{\fldrslt \u952?\u949?\u974?}} {\field{\*\fldinst HYPERLINK "_NOLINK_%7C_STRONG_G3962%7C_STRONG2_%7C_STRONG3_%7C_STRONG4_%7C_STRONG5_%7C"}{\fldrslt \u960?\u945?\u964?\u961?\u943?}} {\fie
-
- Site Admin
- Posts: 17564
- Joined: Sat Aug 27, 2005 10:28 am
- Contact:
Re: merge items in RV17.6.2--RV22
In your original example (|The item1| cat item2| ate item3|), are all 3 items hyperlinks with different targets?
In this case, they must not be merged into a single item.
Please send me a complete sample document for testing.
In this case, they must not be merged into a single item.
Please send me a complete sample document for testing.
Re: merge items in RV17.6.2--RV22
They each have their own hyperlinks as shown in the RTF above. I will try to make the RTF above into a simple document.
Re: merge items in RV17.6.2--RV22
Here is a simple test file.
When I load this in RV22 directly it has troubles with the hyperlinks/text.
When I load this in RV22 directly it has troubles with the hyperlinks/text.
- Attachments
-
- versetext.rtf
- (4.23 KiB) Downloaded 1303 times
Re: merge items in RV17.6.2--RV22
Here is one that works well.
When I load this one directly in RV22 it works fine.
When I load this one directly in RV22 it works fine.
Re: merge items in RV17.6.2--RV22
I tried the one that doesn't work in RV22 in RV17.6.2 ActionTestDemo and it works there but not in RV22
Re: merge items in RV17.6.2--RV22
I found if I move the space out with a regex it works right but RegEx can't solve this it is often too complex.
-
- Site Admin
- Posts: 17564
- Joined: Sat Aug 27, 2005 10:28 am
- Contact:
Re: merge items in RV17.6.2--RV22
I confirm the bug in RTF and DocX reading.
Quick fix:
Open RVRTFProps.pas.
Change the line 2764 from
to
After that, run "Install TRichView VCL in Delphi IDE" shortcut in Windows Start menu.
Or wait for the next update, this fix will be included.
Quick fix:
Open RVRTFProps.pas.
Change the line 2764 from
Code: Select all
if (InsertPoint > 0) and item.SameAsPrev and (item.StyleNo >= 0) and
(CurrentRVData.GetItemStyle(InsertPoint - 1) = item.StyleNo) and
(item.Checkpoint = nil) then
Code: Select all
if (InsertPoint > 0) and item.SameAsPrev and (item.StyleNo >= 0) and
(CurrentRVData.GetItemStyle(InsertPoint - 1) = item.StyleNo) and
(item.Checkpoint = nil) and
RV_CompareTags(CurrentRVData.GetItemTag(InsertPoint - 1), item.Tag,
rvoTagsArePChars in CurrentRVData.Options) then
Or wait for the next update, this fix will be included.
Re: merge items in RV17.6.2--RV22
[EDIT]please ignore all is fixed
Excellent thank you sir,
The install is not picking up my Delphi 7.1 or Delphi 12 hmms
Is there a manual way to rebuild or is it complex?
Excellent thank you sir,
The install is not picking up my Delphi 7.1 or Delphi 12 hmms
Is there a manual way to rebuild or is it complex?
Last edited by jgkoehn on Wed Mar 27, 2024 9:17 pm, edited 1 time in total.
Re: merge items in RV17.6.2--RV22
Ah it seems to have worked right off in the Delphi 7.1/12 without the re-install
So we are good to go! Thank you again sir.
So we are good to go! Thank you again sir.