Add 'makepackage'.
--- a/Makefile Wed Jul 25 21:21:15 2007 +0200
+++ b/Makefile Wed Jul 25 23:09:10 2007 +0200
@@ -9,7 +9,7 @@
CLASSPATH=${WTK2}/lib/midpapi10.jar:${WTK2}/lib/cldcapi10.jar:${PRJ}.jar:.
#CLASSPATH=${WTK2}/lib/midpapi.zip:mojab.jar:./src/:.
SRCDIRS=${PRJ}
-PKGADDONS=icones dicts
+PKGADDONS=dicts
# TARJETS
all:
--- a/dicts-src/install Wed Jul 25 21:21:15 2007 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-#!/bin/bash
-
-SIZE=50000
-
-for a in `ls *.index`; do
- NAME=`basename $a .index`
-
- split -b $SIZE -d $NAME.index x-$NAME.index
- mv x-$NAME.index* ../src/dicts
-
- split -b $SIZE -d $NAME.dict x-$NAME.dict
- mv x-$NAME.dict* ../src/dicts
-
-done
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/dicts-src/makepackage Wed Jul 25 23:09:10 2007 +0200
@@ -0,0 +1,58 @@
+#!/bin/bash
+
+BLOCKSIZE=50000
+VER=0.1
+
+function split_to_dir
+{
+ INDEX="$1"
+ OUT="$2"
+ DIR=`dirname "$1"`
+ NAME=`basename "$INDEX" .index`
+
+ split -a 3 -b $BLOCKSIZE -d "$DIR/$NAME".index x-$NAME.index
+ mv x-$NAME.index* "$OUT"
+
+ if [ -f "$DIR/$NAME".dict ]; then
+ split -a 3 -b $BLOCKSIZE -d "$DIR/$NAME".dict x-$NAME.dict
+ elif [ -f "$DIR/$NAME".dict.dz ]; then
+ gunzip -dc "$DIR/$NAME".dict.dz > Xtmp.dict
+ split -a 3 -b $BLOCKSIZE -d Xtmp.dict x-$NAME.dict
+ rm Xtmp.dict
+ fi
+
+ mv x-$NAME.dict* "$OUT"
+}
+
+if [ $# -ne 1 ]; then
+ echo "usage: $0 dictionary.index"
+ exit 1
+fi
+
+BASE=`basename $1 .index`
+
+mkdir -p "$BASE"
+mkdir -p "$BASE"/jdict
+cp ../src/output/jdict/*.class "$BASE"/jdict
+#mkdir -p "$BASE"/icones
+#cp ../src/icones/* "$BASE"/icones
+mkdir -p "$BASE"/dicts
+split_to_dir $1 "$BASE"/dicts
+echo $BLOCKSIZE > "$BASE"/dicts/BLOCKSIZE
+wc -c < "$1" > "$BASE"/dicts/TOPINDEX
+echo $BASE > "$BASE"/dicts/VORTARO
+mkdir -p "$BASE"/META-INF
+
+cat > "$BASE".MANIFEST.MF <<END
+MIDlet-1: jdict, , jdict.Main
+MIDlet-Name: $BASE
+MIDlet-Vendor: viric
+MIDlet-Version: $VER
+MicroEdition-Configuration: CLDC-1.0
+MicroEdition-Profile: MIDP-1.0
+END
+
+cd "$BASE"
+jar cmf ../"$BASE".MANIFEST.MF ../"$BASE".jar *
+cd ..
+rm "$BASE".MANIFEST.MF
--- a/src/jdict/AskWord.java Wed Jul 25 21:21:15 2007 +0200
+++ b/src/jdict/AskWord.java Wed Jul 25 23:09:10 2007 +0200
@@ -29,6 +29,11 @@
public void get_vortaro()
{
InputStream vfile = getClass().getResourceAsStream("/dicts/VORTARO");
+ if (vfile == null)
+ {
+ vortaro = "ERROR";
+ return;
+ }
/* 50 bytes maximum for vortaro nomo */
byte array[] = new byte[50];
int total;
--- a/src/jdict/BlockFile.java Wed Jul 25 21:21:15 2007 +0200
+++ b/src/jdict/BlockFile.java Wed Jul 25 23:09:10 2007 +0200
@@ -12,7 +12,7 @@
public void read_block_size()
{
- InputStream bfile = getClass().getResourceAsStream("/dicts/BLOCKS");
+ InputStream bfile = getClass().getResourceAsStream("/dicts/BLOCKSIZE");
/* 10 bytes is enough for a simple int */
byte array[] = new byte[10];
int total;
@@ -38,10 +38,12 @@
openIndex(0);
}
- public String int2twochar(int val)
+ public String int2char(int val)
{
String result;
if (val <= 9)
+ result = "00" + new Integer(val).toString();
+ else if (val <= 99)
result = "0" + new Integer(val).toString();
else
result = new Integer(val).toString();
@@ -96,7 +98,7 @@
block_id = i;
String name;
- name = basename + int2twochar(block_id);
+ name = basename + int2char(block_id);
System.out.println("Opening file: " + name);
in = getClass().getResourceAsStream(name);