set(fonttypes "defaultF")
endif()
foreach(fonttype ${fonttypes})
- if(fonttype MATCHES "defaultF")
- set(TestName "export/${libsubfolder}/${f}_${format}")
+ if (format MATCHES "pdf2" AND f MATCHES "Unicode-characters")
+ #message(STATUS "Test ${TestName} matches Unicode encodings")
+ set(test_encodings "default" "ascii" "utf8x" "armscii8" "applemac"
+ "cp437" "cp437de" "cp850" "cp852"
+ "cp855" "cp858" "cp862" "cp865"
+ "cp866" "cp1250" "cp1251" "cp1252"
+ "cp1255" "cp1256" "cp1257"
+ "koi8-r" "koi8-u"
+ "iso8859-1" "iso8859-2" "iso8859-3"
+ "iso8859-4" "iso8859-5" "iso8859-6"
+ "iso8859-7" "iso8859-8" "iso8859-9"
+ "iso8859-13" "iso8859-15" "iso8859-16"
+ "pt154" "pt254" "big5" "shift-jis"
+ "euc-cn" "gbk" "jis" "euc-kr"
+ "utf8-cjk" "euc-tw" "euc-jp"
+ "euc-jp-platex" "jis-platex"
+ "shift-jis-platex" "utf8-platex"
+ "tis620-0")
else()
- set(TestName "export/${libsubfolder}/${f}_${format}_${fonttype}")
- endif()
- set(mytestlabel ${testlabel})
- maketestname(TestName inverted invertedTests ignoredTests unreliableTests mytestlabel)
- if(TestName)
- add_test(NAME ${TestName}
- WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/${LYX_HOME}"
- COMMAND ${CMAKE_COMMAND} -DLYX_ROOT=${LIBSUB_SRC_DIR}
- -DLYX_TESTS_USERDIR=${LYX_TESTS_USERDIR}
- -Dlyx=$<TARGET_FILE:${_lyx}>
- -DWORKDIR=${CMAKE_CURRENT_BINARY_DIR}/${LYX_HOME}
- -Dformat=${format}
- -Dfonttype=${fonttype}
- -Dextension=${format}
- -Dfile=${f}
- -Dinverted=${inverted}
- -DTOP_SRC_DIR=${TOP_SRC_DIR}
- -DPERL_EXECUTABLE=${PERL_EXECUTABLE}
- -DXMLLINT_EXECUTABLE=${XMLLINT_EXECUTABLE}
- -P "${TOP_SRC_DIR}/development/autotests/export.cmake")
- setmarkedtestlabel(${TestName} ${mytestlabel}) # check for suspended pdf/dvi exports
+ set(test_encodings "default")
endif()
+ foreach (_enc2 ${test_encodings})
+ if ("${_enc2}" STREQUAL "default")
+ set(_enc "")
+ else()
+ set(_enc "_${_enc2}")
+ endif()
+ if(fonttype MATCHES "defaultF")
+ set(TestName "export/${libsubfolder}/${f}${_enc}_${format}")
+ else()
+ set(TestName "export/${libsubfolder}/${f}${_enc}_${format}_${fonttype}")
+ endif()
+ set(mytestlabel ${testlabel})
+ maketestname(TestName inverted invertedTests ignoredTests unreliableTests mytestlabel)
+ if(TestName)
+ add_test(NAME ${TestName}
+ WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/${LYX_HOME}"
+ COMMAND ${CMAKE_COMMAND} -DLYX_ROOT=${LIBSUB_SRC_DIR}
+ -DLYX_TESTS_USERDIR=${LYX_TESTS_USERDIR}
+ -Dlyx=$<TARGET_FILE:${_lyx}>
+ -DWORKDIR=${CMAKE_CURRENT_BINARY_DIR}/${LYX_HOME}
+ -Dformat=${format}
+ -Dfonttype=${fonttype}
+ -Dextension=${format}
+ -Dfile=${f}
+ -Dinverted=${inverted}
+ -DTOP_SRC_DIR=${TOP_SRC_DIR}
+ -DPERL_EXECUTABLE=${PERL_EXECUTABLE}
+ -DXMLLINT_EXECUTABLE=${XMLLINT_EXECUTABLE}
+ -DENCODING=${_enc2}
+ -P "${TOP_SRC_DIR}/development/autotests/export.cmake")
+ setmarkedtestlabel(${TestName} ${mytestlabel}) # check for suspended pdf/dvi exports
+ endif()
+ endforeach()
endforeach()
endforeach()
endforeach()
# -DLYX_FORMAT_NUM=${_lyx_format_num} \
# -Dfile=xxx \
# -Dinverted=[01] \
-# -DTOP_SRC_DIR=${TOP_SRC_DIR}
-# -DPERL_EXECUTABLE=${PERL_EXECUTABLE}
-# -DXMLLINT_EXECUTABLE=${XMLLINT_EXECUTABLE}
+# -DTOP_SRC_DIR=${TOP_SRC_DIR} \
+# -DPERL_EXECUTABLE=${PERL_EXECUTABLE} \
+# -DXMLLINT_EXECUTABLE=${XMLLINT_EXECUTABLE} \
+# -DENCODING=xxx \
# -P "${TOP_SRC_DIR}/development/autotests/export.cmake"
#
set(_ft ${fonttype})
execute_process(COMMAND ${PERL_EXECUTABLE} "${GetTempDir}" "${WORKDIR}" OUTPUT_VARIABLE TempDir)
message(STATUS "using fonttype = ${_ft}")
+if(NOT ENCODING)
+ set(ENCODING "default")
+endif()
+if(ENCODING STREQUAL "default")
+ set(_enc)
+else()
+ set(_enc "_${ENCODING}")
+endif()
if(format MATCHES "dvi|pdf")
message(STATUS "LYX_TESTS_USERDIR = ${LYX_TESTS_USERDIR}")
message(STATUS "Converting with perl ${Perl_Script}")
- set(LYX_SOURCE "${TempDir}/${file}_${format}_${_ft}.lyx")
+ set(LYX_SOURCE "${TempDir}/${file}_${format}_${_ft}${_enc}.lyx")
message(STATUS "Using source \"${LYX_ROOT}/${file}.lyx\"")
message(STATUS "Using dest \"${LYX_SOURCE}\"")
- execute_process(COMMAND ${PERL_EXECUTABLE} "${Perl_Script}" "${LYX_ROOT}/${file}.lyx" "${LYX_SOURCE}" ${format} ${_ft} ${LanguageFile}
+ if(NOT "${ENCODING}" STREQUAL "default")
+ # message(STATUS "ENCODING = ${ENCODING}")
+ endif()
+ execute_process(COMMAND ${PERL_EXECUTABLE} "${Perl_Script}" "${LYX_ROOT}/${file}.lyx" "${LYX_SOURCE}" ${format} ${_ft} ${ENCODING} ${LanguageFile}
RESULT_VARIABLE _err)
string(COMPARE EQUAL ${_err} 0 _erg)
if(NOT _erg)
# convert lyx file to be compilable with xetex
-my ($source, $dest, $format, $fontT, $languageFile, $rest) = @ARGV;
+my ($source, $dest, $format, $fontT, $encodingT, $languageFile, $rest) = @ARGV;
my %encodings = (); # Encoding with TeX fonts, depending on language tag
diestack("Too many arguments") if (defined($rest));
diestack("Destfilename not defined") if (! defined($dest));
diestack("Format (e.g. pdf4) not defined") if (! defined($format));
diestack("Font type (e.g. texF) not defined") if (! defined($fontT));
+diestack("Encoding (e.g. ascii) not defined") if (! defined($encodingT));
$source = File::Spec->rel2abs($source);
$dest = File::Spec->rel2abs($dest);
$font{typewriter} = "FreeMono";
}
}
+elsif ($encodingT ne "default") {
+ # set input encoding to the requested value
+ $inputEncoding = {
+ "search" => '.*', # this will be substituted from '\inputencoding'-line
+ "out" => $encodingT,
+ };
+}
elsif (0) { # set to '1' to enable setting of inputencoding
# use tex font here
my %encoding = ();
if(-d $destdirOfSubdocuments) {
rmtree($destdirOfSubdocuments);
}
-mkdir($destdirOfSubdocuments); # for possibly included files
+mkpath($destdirOfSubdocuments); # for possibly included files
my %IncludedFiles = ();
my %type2hash = (