#!/bin/sh
set +u

os=`uname -s`
if [ "$os" = "Linux" ]; then
    scriptFile=`readlink -f "$0"`
else
    scriptFile="$0"
fi
bin=`dirname "$scriptFile"`
lib=$bin/../lib

jars="$lib/w2x_rt.jar:$lib/saxon.jar:$lib/xmlresolver.jar:$lib/whc.jar:$lib/snowball.jar"

if [ -f "$lib/wmf_converter.jar" ]; then
    jars="$jars:$lib/wmf_converter.jar:$lib/wmf2svg.jar"
fi

if [ -f "$lib/w2x.jar" ]; then
    cp="$lib/w2x.jar:$jars"
elif [ -d "$bin/../class/com/xmlmind/w2x" ]; then
    cp="$bin/../class:$jars"
else
    echo "w2x.jar not found"
    exit 2
fi

if [ "$os" = "Darwin" ]; then
    #
    # macOS X Look and Feel.
    #
    sys1="-Xdock:name=WordToXML"
    sys1="$sys1 -Dcom.apple.mrj.application.apple.menu.about.name=WordToXML"
    sys1="$sys1 -Dapple.laf.useScreenMenuBar=true"
    sys1="$sys1 -Dapple.awt.graphics.UseQuartz=true"

    sys2="-Xdock:icon=$bin/icon/xmlmind.icns"
else
    #
    # Linux. Any LAF.
    #
    # Disabled Java 9+ native HiDPI mode because the rendering of
    # text and graphics is nicer using built-in HiDPI support:
    # -Dsun.java2d.uiScale.enabled=false
    # You may re-enable Java 9+ native HiDPI mode by removing 
    # this option.
    
    sys1=
    sys2=-Dsun.java2d.uiScale.enabled=false
fi

arch=`uname -m`
if [ "$arch" = "arm64" -a -f "$bin/jrea/bin/java" ]; then
    java="$bin/jrea/bin/java"
elif [ -f "$bin/jre/bin/java" ]; then
    # Standard arch is "x86_64".
    java="$bin/jre/bin/java"
else 
    java=java
fi

exec "$java" -Xss4m -Xmx512m $sys1 "$sys2" \
    -DW2X_TRACE="$W2X_TRACE" \
    -DW2X_IMAGE_CONVERSIONS="$W2X_IMAGE_CONVERSIONS" \
    -DW2X_MATH_CONVERTER_XSLT="$W2X_MATH_CONVERTER_XSLT" \
    -classpath "$bin/w2x_app.jar:$cp:$bin/flatlaf.jar:$bin/w2x_app_cshelp.jar" \
    com.xmlmind.w2x_app.Start "$@"
