Hi,

sorry for the long delay, we're currently very busy finalising our next big 
release.

I hope I can address all the different concerns raised here:

1) Why XTextRanges?
As Jürgen already guessed, we are iterating over a document's content (via 
XEnumerationAccess) to extract the text and get associated styling information. 
This extraction is necessary since users can define filters (based on fonts and 
styling) that determine whether text is extracted at all or if its text that 
needs to be handled in a different way. Examples could be code snippets (set in 
a monospace font; linguistic analysis of code doesn't make much sense unless 
you're a compiler) or auto generated text which needs to be marked as readonly.

All suggestions that our tool provides are based on the extracted text, we need 
a mapping between XTextRanges and the extracted text to be able to highlight 
the respective part of a document. When authors start to edit issues and accept 
suggestions from our tool, original text positions start to move. Fortunately 
enough, positions of XTextRanges are updated automatically.

In general, Ariel is right in saying that we're abusing the smart tags API. We 
decided to use Smart Tags since we get highlighting for free and can use the 
existing context menu to add our actions. In other editors, we always need to 
do this ourselves.

2) Proofreading API
We did look at the Proofreading API but it does not fit our use case properly. 
As far as I can tell, it is more geared towards a "check as you type" kind of 
functionality whereas our software is designed to process entire documents or 
topics. In terms of an author's workflow, our tool is intended as a separate 
and conscious step.

There are two more points that speak against this API from our point of view:

  *   you can't trigger it independently (needed as mentioned earlier)
  *   the notion what a sentence comprises and will differ between the API and 
our tool.

I hope I could clarify our approach a bit more. In case I missed something or 
you need more detail, just let me know. I'll do my best to answer in a more 
timely fashion this time.

Thank you and best,
Robert


On Dec 7, 2012, at 8:06 PM, Ariel Constenla-Haile 
<arie...@apache.org<mailto:arie...@apache.org>> wrote:

On Fri, Dec 07, 2012 at 07:56:12PM +0100, Juergen Schmidt wrote:
Yes, but it look like the design was not to give access to the text
range, but a string; I tend to think the underlying reason was that
giving a text range is not safe.



I tend to agree, but in related Smarttags actions you will get the
text range object anyway.

But this is the intended design: concurrent smart tag processing, while
I assume that actions are not invoked concurrently: the user can select
only one menu item at the time with one action.

Concerning the proof reader, I don't have any at hand right now, but
IIRC the text is underlined with a dotted light blue line. I'll have to
try the LanguageTool to see what offers the context menu in this case.

Regards
--
Ariel Constenla-Haile
La Plata, Argentina

Reply via email to