====== Differences ====== This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
doc:en:appendixc [2013/02/06 13:31] rosmord [Adding a hieroglyphic edition field in a SWING interface] |
doc:en:appendixc [2016/10/12 14:14] 127.0.0.1 external edit |
||
---|---|---|---|
Line 2: | Line 2: | ||
If you know how to program in Java, you can use JSesh as a library for your own programs. | If you know how to program in Java, you can use JSesh as a library for your own programs. | ||
+ | ===== Getting the code ===== | ||
+ | |||
+ | The preferred way is to use git, with the command: | ||
+ | <code> | ||
+ | git clone http://git.qenherkhopeshef.org/repositories/jsesh.git | ||
+ | </code> | ||
+ | |||
+ | Normally, the **master** branch contains up-to-date and compilable code. It's the only one I would suggest to clone. Other branches are | ||
+ | * production: ongoing fixes and small changes, which will be applied to the master branch. That's ongoing work, so don't expect it to compile all the time. | ||
+ | * development: ongoing work for next version of JSesh | ||
+ | * jfx-test: some work to see how to adapt JSesh to Java FX. | ||
+ | |||
+ | ===== Compiling the code ===== | ||
+ | that's | ||
+ | mvn install | ||
+ | Before that, you might choose which version of JSesh you want to compile. Various releases are tagged. So, you might | ||
+ | do something like | ||
+ | git checkout release-5.3 | ||
+ | mvn clean install | ||
+ | to compile JSesh version 5.3. all tags can be listed by typing | ||
+ | git tag | ||
+ | |||
+ | Then, you can use the JSesh libraries in your program by referencing the in your pom.xml. | ||
+ | For instance: | ||
+ | <code> | ||
+ | |||
+ | <dependency> | ||
+ | <groupId>org.qenherkhopeshef</groupId> | ||
+ | <artifactId>jseshGlyphs</artifactId> | ||
+ | <version>5.3</version> | ||
+ | </dependency> | ||
+ | <dependency> | ||
+ | <groupId>org.qenherkhopeshef</groupId> | ||
+ | <artifactId>jsesh</artifactId> | ||
+ | <version>5.3</version> | ||
+ | </dependency> | ||
+ | <dependency> | ||
+ | <groupId>org.qenherkhopeshef</groupId> | ||
+ | <artifactId>qenherkhopeshefUtils</artifactId> | ||
+ | <version>5.3</version> | ||
+ | </dependency> | ||
+ | </code> | ||
+ | |||
+ | Note that, from JSesh 6.7 onward, the groupId will be changed to | ||
+ | <groupId>org.qenherkhopeshef.jsesh</groupId> | ||
+ | in order to simplify maven repositories management (I want to be able to easily remove all old versions of JSesh with a simple rm on my computer) | ||
+ | |||
+ | If you want to *run* JSesh, the module is **jseshAppli**. An installer is built in **jsesh-installer**, and you will find it in *jsesh-installer/target/jsesh-installer-XXX-installer.jar*. | ||
+ | |||
===== How to ===== | ===== How to ===== | ||
Line 31: | Line 80: | ||
There are a number of reasons for which you might want to produce a picture from an MDC Text. For instance, you might use JSesh as a library in a web application. | There are a number of reasons for which you might want to produce a picture from an MDC Text. For instance, you might use JSesh as a library in a web application. | ||
- | Of course, you need to have both jsesh.jar and jseshGlyphs.jar in your classpath. Currently (JSesh 2.13.7) you also need jvectClipboard-1.0.jar, but this is a dependency I will remove in a short while (you will need jvectClipboard-1.0.jar if you want to produce SVG, WMF or the like, of course). Then the following Java code will do: | + | Of course, you need to have both jsesh.jar and jseshGlyphs.jar in your classpath. Currently (JSesh 2.13.7) you also need jvectClipboard-1.0.jar, but this is a dependency I will remove in a short while. You will need jvectClipboard-1.0.jar if you want to produce SVG, WMF or the like. Then the following Java code will do: |
<code java> | <code java> | ||
public static BufferedImage buildImage(String mdcText) throws MDCSyntaxError { | public static BufferedImage buildImage(String mdcText) throws MDCSyntaxError { | ||
Line 91: | Line 140: | ||
The size of the signs is controlled using ‘drawing.setCadratHeight();‘. | The size of the signs is controlled using ‘drawing.setCadratHeight();‘. | ||
(note to self: it should be easier to change the size of everything using drawingSpecification !!!) | (note to self: it should be easier to change the size of everything using drawingSpecification !!!) | ||
- |