package yuku.alkitabconverter.in_tb_usfm;
import yuku.alkitabconverter.util.Usfm2Usfx;
import java.io.File;
import java.io.FilenameFilter;
import java.io.PrintWriter;
import java.util.Scanner;
// process from sfm file to usfx files
public class Proses1 {
static String INPUT_TEKS_1 = "../../../bahan-alkitab/in-tb-usfm/in/tb-woj-utf8-revyuku.sfm";
public static String INPUT_TEKS_ENCODING = "utf-8";
public static int INPUT_TEKS_ENCODING_YES = 2; // 1: ascii; 2: utf-8;
public static String INPUT_KITAB = "../../../bahan-alkitab/in-tb-usfm/in/in-tb-usfm-kitab.txt";
public static int OUTPUT_ADA_PERIKOP = 0;
public static void main(String[] args) throws Exception {
new Proses1().u();
}
private void u() throws Exception {
Scanner sc = new Scanner(new File(INPUT_TEKS_1), INPUT_TEKS_ENCODING);
int c = 0;
PrintWriter splitFile = null;
while (sc.hasNextLine()) {
String baris = sc.nextLine();
if (baris.startsWith("\\id ")) {
String newId = baris.substring(4, baris.indexOf(' ', 4));
if (splitFile != null) {
splitFile.close();
}
splitFile = new PrintWriter(new File("../../../bahan-alkitab/in-tb-usfm/mid", String.format("%02d-%s-utf8.usfm", c, newId)), "utf-8");
c++;
}
// patch: Ganti \s1 dengan \s2
baris = baris.replace("\\s1", "\\s2");
splitFile.println(baris);
}
if (splitFile != null) splitFile.close();
String[] usfms = new File("../../../bahan-alkitab/in-tb-usfm/mid/").list(new FilenameFilter() {
@Override public boolean accept(File parent, String name) {
return (name.endsWith(".usfm"));
}
});
for (String usfm: usfms) {
String usfx = usfm.replace(".usfm", ".usfx.xml");
Usfm2Usfx.convert("../../../bahan-alkitab/in-tb-usfm/mid/" + usfm, "../../../bahan-alkitab/in-tb-usfm/mid/" + usfx);
}
}
}