branch: externals/emacs-lisp-intro-es
commit 0f6f61022508c40703398b9490f339aae2639fd6
Author: David Arroyo Menéndez <[email protected]>
Commit: David Arroyo Menéndez <[email protected]>
dotexi.sh: recovering file
---
dotexi.sh | 323 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 323 insertions(+)
diff --git a/dotexi.sh b/dotexi.sh
new file mode 100644
index 0000000000..7e85b79fbd
--- /dev/null
+++ b/dotexi.sh
@@ -0,0 +1,323 @@
+#!/bin/sh
+###############################################################################
+# NAME: dopdf.sh
+# DESCRIPTION: Script to make the final PDF file from .po file
+# NOTES: Only work for this case
+###############################################################################
+#
+#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Variables and Constants definitions
+#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Lists of processed files
+FILES_REQUIRED_ES="emacs-lisp-intro-es.po"
+FILES_REQUIRED_EN="config-local.texi emacs-lisp-intro-es.texi"
+FILES_PO2TEXI="emacs-lisp-intro.texi emacs-lisp-intro-es.po"
+FILES_TEXI2PDF="emacs-lisp-intro-es.po"
+FILES_TEMP="fuzzies.tmp conflicts.tmp overfull.tmp underfull.tmp indextype.tmp"
+TMP_EXTENSION=".vr .tp .pg .ky .fn .toc .cp .cps .aux .tmp .tmp1 .tmp2 .tmp3
.tmp4"
+# Paths
+PATH_WK="."
+# Counters for results
+CNT_TEXT_GOOD=0
+CNT_TEXT_BAD=0
+CNT_PDF_GOOD=0
+CNT_PDF_BAD=0
+#
+TRACE_ON=0
+ONLY_CLEAN=0
+CNST_DV=754
+#
+CLR_NRML="\\033[0;0m"
+CLR_ROJ_H="\\033[1;31m"
+CLR_VER_H="\\033[1;32m"
+#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Definitions additionals functions
+#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+#
+#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# FUNCTION: Debug
+# PROPOSED: Show debbuging messages to user
+# PARAMETERS: Nothing
+# RETURN: N/A
+# REMARKS: For clean output in Trace Off
+#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+Debug(){
+if [ $TRACE_ON -eq 1 -a "X$1" != "X" ]; then
+ echo "$1"
+fi
+}
+#
+#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# FUNCTION: Usage
+# PROPOSED: Show messages to help user
+# PARAMETERS: Nothing
+# RETURN: N/A
+# REMARKS: Exit with error code
+#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+Usage(){
+echo "Usage: $0 [-v|-c]"
+echo " -v: Verbose mode"
+echo " -c: Only clean temporary file"
+exit 1
+}
+#
+#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# FUNCTION: Check_Index
+# PROPOSED:
+# PARAMETERS:
+# RETURN:
+# REMARKS:
+#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+Check_Index(){
+echo "Checking the index entries ..."
+CNT_CIX=0
+CNT_IDX_CLN=0
+CNT_IDX_ML=0
+STR_INDEX='#. type: cindex'
+egrep "^$STR_INDEX|^msgid \"|^msgstr \"|^\"" emacs-lisp-intro-es.po >
indextype.tmp
+FLG_IDX=0
+FLG_MSG=0
+FLG_ML=0
+STR_LN_ML=""
+while read LINEA; do
+ #echo "Leida linea: $LINEA"
+ echo $LINEA | grep "^$STR_INDEX" > /dev/null
+ if [ $? -eq 0 ]; then
+ if [ $FLG_IDX -eq 1 -a $FLG_MSG -eq 1 ]; then
+ #echo "Salgo con: [${#TXT_IDX}] $TXT_IDX"
+ if [ "X$TXT_IDX" = "X" ];then
+ CNT_IDX_CLN=`echo $CNT_IDX_CLN + 1 | bc`
+ #echo "Cuento vacio: ${CLR_VER_H}$CNT_IDX_CLN${CLR_NRML}"
+ fi
+ TXT_IDX=''
+ FLG_IDX=0
+ FLG_MSG=0
+ fi
+ CNT_CIX=`echo $CNT_CIX + 1 | bc`
+ if [ $TRACE_ON -eq 1 ]; then
+ printf "\r %d ${CLR_VER_H}%d${CLR_NRML} ${CLR_ROJ_H}%d${CLR_NRML}"
$CNT_CIX $CNT_IDX_CLN $CNT_IDX_ML
+ fi
+ FLG_IDX=1
+ fi
+ echo $LINEA | grep "^msgstr \"" > /dev/null
+ if [ $? -eq 0 -a $FLG_IDX -eq 1 ]; then
+ TXT_IDX="$TXT_IDX"`echo $LINEA | cut -d'"' -f2`
+ #echo "${CLR_ROJ_H}Texto${CLR_NRML}:$TXT_IDX"
+ FLG_MSG=1
+ FLG_ML=0
+ fi
+ echo $LINEA | grep "^\"" > /dev/null
+ if [ $? -eq 0 -a $FLG_IDX -eq 1 -a $FLG_MSG -eq 1 ]; then
+ TXT_IDX="$TXT_IDX"`echo $LINEA | cut -d'"' -f2`
+ #echo "${CLR_VER_H}Texto${CLR_NRML}:$TXT_IDX"
+ if [ $FLG_ML -eq 0 ]; then
+ CNT_IDX_ML=`echo $CNT_IDX_ML + 1 | bc`
+ #echo "Cuento multilinea: ${CLR_ROJ_H}$CNT_IDX_ML${CLR_NRML}"
+ FLG_ML=1
+ STR_LN_ML=`echo "$STR_LN_ML $TXT_IDX"`
+ fi
+ fi
+ echo $LINEA | grep "^msgid \"" > /dev/null
+ if [ $? -eq 0 ]; then
+ if [ $FLG_IDX -eq 1 -a $FLG_MSG -eq 1 ]; then
+ #echo "Salgo con: [${#TXT_IDX}] $TXT_IDX"
+ if [ "X$TXT_IDX" = "X" ];then
+ CNT_IDX_CLN=`echo $CNT_IDX_CLN + 1 | bc`
+ #echo "Cuento vacio: ${CLR_ROJ_H}$CNT_IDX_CLN${CLR_NRML}"
+ fi
+ TXT_IDX=''
+ FLG_IDX=0
+ FLG_MSG=0
+ fi
+ #FLG_IDX=0
+ fi
+done < indextype.tmp
+if [ $TRACE_ON -eq 1 ]; then
+ printf "\r Examined ${CLR_ROJ_H}%d${CLR_NRML} entries from index\n" $CNT_CIX
+ if [ $CNT_IDX_CLN -ne 0 ]; then
+ echo " Founded ${CLR_ROJ_H}$CNT_IDX_CLN${CLR_NRML} entries cindex empty"
+ fi
+ if [ $CNT_IDX_ML -ne 0 ]; then
+ echo " Founded ${CLR_ROJ_H}$CNT_IDX_ML${CLR_NRML} entries cindex
multiline"
+ echo -n " Look lines: "
+ for TEXTO in $STR_LN_ML; do
+ printf "\n\t%s: " "$TEXTO"
+ done
+ printf "\n"
+ fi
+fi
+echo "Checked the index entries."
+return 0
+}
+#
+#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# FUNCTION: Check_Required
+# PROPOSED: Check the requeriments for process
+# PARAMETERS: Nothing
+# RETURN: 1 if any requeriment isn't satisfied
+# REMARKS:
+#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+Check_Required(){
+ if [ -f emacs-lisp-intro.texi ]; then
+ echo "emacs-lisp-intro.texi found"
+ else
+ echo "emacs-lisp-intro.texi not found"
+ fi
+
+ if [ -f emacs-lisp-intro-es.texi ]; then
+ echo "emacs-lisp-intro-es.texi found"
+ else
+ echo "emacs-lisp-intro-es.texi not found"
+ fi
+
+ if [ -f emacs-lisp-intro-es.po ]; then
+ echo "emacs-lisp-intro-es.po found"
+ else
+ echo "emacs-lisp-intro-es.po not found"
+ fi
+
+ echo "Checked required files."
+ return 0
+}
+#
+#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# FUNCTION: Clean_Temporary
+# PROPOSED: Clean the all temporary files
+# PARAMETERS: Nothing
+# RETURN: N/A
+# REMARKS: Clean all except the log file
+#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+Clean_Temporary(){
+echo "Cleaning temporal files ..."
+for EXT in $TMP_EXTENSION; do
+ for FIL in $FILES_TEXI2PDF; do
+ NAME=`basename $FIL`
+ rm -f ${NAME%%.po}${EXT}
+ Debug " Deleted: ${NAME%%.po}${EXT}"
+ done
+done
+for FILE in $FILES_TEMP; do
+ rm -f ${FILE}
+ Debug " Deleted: ${FILE}"
+done
+}
+
+#
+#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# FUNCTION: Adjust_Tables
+# PROPOSED: Make som adjust to texi
+# PARAMETERS: Nothing
+# RETURN: N/A
+# REMARKS:
+#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+Adjust_Tables(){
+#
+MULTITABLE_STR="@multitable @columnfractions"
+NEW_COLFRACTION=".05 .41 .41"
+#
+echo " Adjustement to tables ..."
+CNT_TAB=0
+grep -n "$MULTITABLE_STR" emacs-lisp-intro-es.texi | while read LINEA; do
+ #echo "Lei:$LINEA";
+ LN=`echo "$LINEA" | cut -d: -f1`
+ TC=`echo "$LINEA" | cut -d: -f2`
+ echo " In line ${CLR_VER_H}$LN${CLR_NRML} found table:
${CLR_ROJ_H}$TC${CLR_NRML}"
+ cat emacs-lisp-intro-es.texi | sed -e "s/$TC/$MULTITABLE_STR
$NEW_COLFRACTION/g" > emacs-lisp-intro-es.tmp
+ mv emacs-lisp-intro-es.tmp emacs-lisp-intro-es.texi
+ echo " table adjusted"
+done
+echo " Tables adjusted."
+}
+
+#
+#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# FUNCTION: Do_Texi_Files
+# PROPOSED: Generate the texi files from the original .po files
+# PARAMETERS: Nothing
+# RETURN: In global variables
+# REMARKS: Run po4a-translate utilitie
+#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+Do_Texi_Files(){
+ echo "Creating texi files ..."
+ Debug " Command: $ po4a-translate -f texinfo -m emacs-lisp-intro.texi -p
emacs-lisp-intro-es.po -l emacs-lisp-intro-es.texi -k 0.15"
+ po4a-translate -f texinfo -m emacs-lisp-intro.texi -p
emacs-lisp-intro-es.po -l emacs-lisp-intro-es.texi -k 0.15
+ echo "Created texi files."
+}
+#
+#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# FUNCTION: Add_Encoding_Spanish
+# PROPOSED: Insert the lines to encoding correctly for spanish language
+# PARAMETERS: Nothing
+# RETURN: N/A
+# REMARKS: Rudimentary
+#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+Add_Encoding_Spanish(){
+#
+# The encoding @documentencoding "UTF-8"
+# The language @documentlanguage "es"
+#
+echo "Creating new file emacs-lisp-intro-es.texi ..."
+LIN_INI=`grep -n '@settitle' emacs-lisp-intro-es.texi | cut -d: -f1`
+LIN_FIN=`grep -n '@finalout' emacs-lisp-intro-es.texi | cut -d: -f1`
+LIN_TOT=`wc -l emacs-lisp-intro-es.texi | cut -d' ' -f1`
+head -${LIN_INI} emacs-lisp-intro-es.texi > emacs-lisp-intro-es.tmp1
+head -`echo "${LIN_FIN} - 1" | bc` emacs-lisp-intro-es.texi | tail -n`echo
"${LIN_FIN} - ${LIN_INI} - 1" | bc`> emacs-lisp-intro-es.tmp2
+echo "@documentencoding UTF-8" > emacs-lisp-intro-es.tmp3
+echo "@documentlanguage es" >> emacs-lisp-intro-es.tmp3
+tail -n`echo "${LIN_TOT} - ${LIN_FIN} + 1" | bc` emacs-lisp-intro-es.texi >
emacs-lisp-intro-es.tmp4
+# Compose the final file
+cat emacs-lisp-intro-es.tmp1 > emacs-lisp-intro-es.texi
+cat emacs-lisp-intro-es.tmp2 >> emacs-lisp-intro-es.texi
+cat emacs-lisp-intro-es.tmp3 >> emacs-lisp-intro-es.texi
+cat emacs-lisp-intro-es.tmp4 >> emacs-lisp-intro-es.texi
+}
+
+
+#
+#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# FUNCTION: Do_Adjust_to_Spanish
+# PROPOSED: Make some adjusts to texi
+# PARAMETERS: Nothing
+# RETURN: N/A
+# REMARKS:
+#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+Do_Adjust_to_Spanish(){
+ echo "Procesing emacs-lisp-intro-es.texi ..."
+# Encoding to spanish
+ Add_Encoding_Spanish
+#
+# Adjustement table of character ASCII
+ Adjust_Tables
+ echo "Procesed emacs-lisp-intro-es.texi."
+}
+
+
+#
+#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Main program
+#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+INST=`date "+%Y%m%d-%H%M%S"`
+#echo "Let's go: $INST"
+cd $PATH_WK
+if [ $ONLY_CLEAN -eq 0 ]; then
+ Check_Required
+ if [ $? -ne 0 ]; then
+ echo "Stoping process"
+ return 1
+ fi
+ Do_Texi_Files
+ if [ $CNT_TEXT_BAD -ne 0 ]; then
+ echo "Errors ocurred when generating texi files"
+ echo "Stoping process"
+ return 1
+ fi
+ Do_Adjust_to_Spanish
+fi
+#
+
+INST=`date "+%Y%m%d-%H%M%S"`
+echo "Finish: $INST"
+exit 0
+###############################################################################
+#
+###############################################################################