[liblouis-liblouisxml] Re: Calling java programmers, java bindings for liblouis ready for further testing and feedback

  • From: "John J. Boyer" <johnjboyer@xxxxxxxxxxxxx>
  • To: liblouis-liblouisxml@xxxxxxxxxxxxx
  • Date: Fri, 12 Jun 2009 11:19:50 -0500

lou_translate and lou_translateString put an '8, in typeform wherever a 
character in outbuf has dots 7 and/or 8. This is probably of little 
interest to most people, so there is probably no need to pass back the 
value of typeform. lou_backTranslate and lou_translateString are 
supposed to set typeform to show any emphasis in inbuf, but this is 
currently not implemented, so for back-translation typeform can be set 
to null.

John

On Fri, Jun 12, 2009 at 04:47:31PM +0100, Michael Whapples wrote:
> Hello,
> Thanks John, I think I will remove the ability to use spacing in my 
> bindings, and do as you suggest (also as done by the python bindings) 
> and just set spacing to null.
> 
> As for the typeforms, this is quite an involved thing. As the situation 
> stands anyone using my bindings must set the size of typeforms, but as 
> setting it too small can crash the JVM this doesn't feel good. As I said 
> I can copy the typeforms the calling app provides and so put the 
> information into an array I can guarantee is big enough (so avoiding the 
> JVM crashing issue). By copying it I would need to return the typeforms 
> in an object (like I do for the lou_translate and lou_backTranslate 
> functions) should users want this information. So my question is:
> Is typeforms data after calling the translation functions another 
> feature there but rarely used, or is it something people may find 
> critical? Reading through the liblouis docs I have to say I can't 
> imagine having much use for the data in typeforms after calling the 
> translation functions. IE. I think the only data of real great interest 
> after calling the translation functions (lou_translateString and 
> lou_backTranslateString) is the content of outbuf.
> 
> Michael Whapples
> On 12/06/09 16:33, John J. Boyer wrote:
> >Michael,
> >
> >On the problem of the typeform parameter, It is best to provide more
> >space than you think will be needed for outbuf and typeform and spacing.
> >The same holds for the hyphens parameter in a call to lou_hyphenate.
> >Very few people use the spacing parameter, so you can just set it to
> >NULl.
> >
> >John
> >
> >On Fri, Jun 12, 2009 at 03:59:07PM +0100, Michael Whapples wrote:
> >   
> >>Hello,
> >>I am pleased to say that my java bindings for liblouis feel reasonably
> >>complete and stable enough to recommend that some initial further
> >>testing by other java developers can happen. I am not going to make a
> >>release at this point as there are a few things I would like to attend
> >>to first (eg. javadocs, junit tests, jar packaging). The code can be
> >>retrieved from my mercurial repository, details at
> >>http://bitbucket.org/mwhapples/jlouis. To use you must have java native
> >>access (JNA) from http://jna.dev.java.net installed and in your
> >>classpath. The sample app class is Test.java (please note TestBrl.java
> >>uses the JNA interface directly which isn't recommended). To run the
> >>sample app you must compile the code and then at the top of the
> >>repository directory (IE. directly in the jlouis directory) give a
> >>command like:
> >>java Test en-us-g2.ctb,hyph_en_US.dic "international"
> >>
> >>I would like some feedback on how the API may be altered to suit other
> >>java developers. This relates to a few questions I have:
> >>
> >>* How often will people want information back from typeforms? The
> >>problem is that at the moment you pass in an array, it should contain
> >>information about italics, bold, etc but should be of the length of the
> >>output, which unfortunately you can't really know and my bindings deal
> >>with setting the size of outbuf. Should you set typeforms too small this
> >>may lead to a crash of the JVM, so I could use java.util.Arrays.copyOf
> >>to copy typeforms to a suitable size. The problem with copying the array
> >>will mean that the calling app will be unable to retrieve information
> >>from the array as it will hold a reference to the array object it passed
> >>in rather than the copy. Therefore if users want typeforms information
> >>after calling the translation methods I will need to return it as well,
> >>hence the question of how important this is.
> >>* A similar problem to that I described for typeforms exists for
> >>spacing. I also believe that passing in spacing seems to possibly cause
> >>a crash of the JVM, so I am tempted to remove the ability to pass in a
> >>spacing parameter. I notice the python bindings also don't allow use of
> >>spacing, any reason?
> >>* In the lou_translate and lou_backTranslate functions you can pass in a
> >>cursor position, if you pass in a cursor position outside the range in
> >>inbuf liblouis doesn't have a problem it just doesn't set it to anything
> >>else as its an invalid cursor position. In java style should I have my
> >>bindings throw something like an IndexOutOfRangeException to indicate 
> >>this?
> >>
> >>Enjoy these bindings and I look forward to hearing feedback.
> >>
> >>Michael Whapples
> >>For a description of the software and to download it go to
> >>http://www.jjb-software.com
> >>     
> >   
> 
> For a description of the software and to download it go to
> http://www.jjb-software.com

-- 
My websites:
GodTouches Digital Ministry, Inc. http://www.abilitiessoft.com/godtouches
Abilitiessoft, Inc. http://www.abilitiessoft.com
Location: Madison, WI, USA

For a description of the software and to download it go to
http://www.jjb-software.com

Other related posts: