86 lines
1.9 KiB
Bash
Executable File
86 lines
1.9 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
function create_code_file ()
|
|
{
|
|
ucs2any -d "$FONTFILE" "$MAP" "${REGISTRY}-${ENCODING}"
|
|
|
|
(
|
|
echo -e "// ${1}\\n"
|
|
echo -e "#ifndef ${INCLUDE_GUARD}"
|
|
echo -e "#define ${INCLUDE_GUARD}\\n"
|
|
echo -e "namespace finalcut\\n{\\n"
|
|
echo -e "namespace fc\\n{\\n"
|
|
echo -e "static unsigned char ${NAME}[] =\\n{"
|
|
|
|
grep -A"${HEIGHT}" "^BITMAP" "$NEWFONTFILE" \
|
|
| tr '\n' ',' \
|
|
| sed -e 's/BITMAP,//g' \
|
|
| sed -e 's/--,/\n/g' \
|
|
| tr '[:upper:]' '[:lower:]' \
|
|
| sed -e 's/,/, /g' \
|
|
| sed -e 's/\([0-9a-f][0-9a-f]\)/0x\1/g' \
|
|
| sed -e 's/^0/ 0/g' \
|
|
| sed -e '$s/, $/ \n/' \
|
|
| while IFS=$'\n'; read -r LINE
|
|
do
|
|
echo "$LINE /* $N */"
|
|
(( N++ ))
|
|
done
|
|
|
|
echo -e "};"
|
|
echo -e "\\n} // namespace fc"
|
|
echo -e "\\n} // namespace finalcut"
|
|
echo -e "\\n#endif // ${INCLUDE_GUARD}"
|
|
) > "${1}"
|
|
|
|
rm -f "$NEWFONTFILE"
|
|
}
|
|
|
|
#------------------------------#
|
|
# Convert newfont 8x16 to code #
|
|
#------------------------------#
|
|
N=0
|
|
HEIGHT=16
|
|
FONTFILE="8x16graph.bdf"
|
|
MAP="map-newfont"
|
|
REGISTRY="nf"
|
|
ENCODING="fontspecific"
|
|
INCLUDE_GUARD="FNEWFONT_8x16_H"
|
|
NAME="__8x16graph"
|
|
NEWFONTFILE="8x16graph-nf-fontspecific.bdf"
|
|
|
|
create_code_file "newfont_8x16.h"
|
|
|
|
#------------------------------#
|
|
# Convert newfont 9x16 to code #
|
|
#------------------------------#
|
|
N=0
|
|
HEIGHT=16
|
|
FONTFILE="9x16graph.bdf"
|
|
MAP="map-newfont"
|
|
REGISTRY="nf"
|
|
ENCODING="fontspecific"
|
|
INCLUDE_GUARD="FNEWFONT_9x16_H"
|
|
NAME="__9x16graph"
|
|
NEWFONTFILE="9x16graph-nf-fontspecific.bdf"
|
|
|
|
./bdfmerge.sh 8x16graph.bdf 9x16graph_patch.bdf >9x16graph.bdf
|
|
create_code_file "newfont_9x16.h"
|
|
rm -f 9x16graph.bdf
|
|
|
|
#--------------------------#
|
|
# Convert VGA font to code #
|
|
#--------------------------#
|
|
N=0
|
|
HEIGHT=16
|
|
FONTFILE="8x16graph.bdf"
|
|
MAP="map-vga"
|
|
REGISTRY="cp437"
|
|
ENCODING="1"
|
|
INCLUDE_GUARD="FVGAFONT_H"
|
|
NAME="__8x16std"
|
|
NEWFONTFILE="8x16graph-cp437-1.bdf"
|
|
|
|
create_code_file "vgafont.h"
|
|
|