Skip to content

Commit 22f370a

Browse files
committed
🧑‍💻 Script to make non-accented languages
1 parent c2572de commit 22f370a

File tree

3 files changed

+46
-7
lines changed

3 files changed

+46
-7
lines changed

Marlin/src/lcd/language/language_pt.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
* See also https://marlinfw.org/docs/development/lcd_language.html
3030
*/
3131

32-
#define DISPLAY_CHARSET_ISO10646_1
32+
#define DISPLAY_CHARSET_ISO10646_1
3333

3434
namespace Language_pt {
3535
using namespace Language_en; // Inherit undefined strings from English

buildroot/share/fonts/genallfont.sh

+6-6
Original file line numberDiff line numberDiff line change
@@ -67,21 +67,21 @@ LANGS_DEFAULT="an bg ca cz da de el el_CY en es eu fi fr gl hr hu it jp_kana ko_
6767
#
6868
# Generate data for language list MARLIN_LANGS or all if not provided
6969
#
70-
for LANG in ${LANG_ARG:=$LANGS_DEFAULT} ; do
71-
echo "Generating Marlin language data for '${LANG}'" >&2
72-
case "$LANG" in
70+
for ALANG in ${LANG_ARG:=$LANGS_DEFAULT} ; do
71+
echo "Generating Marlin language data for '${ALANG}'" >&2
72+
case "$ALANG" in
7373
zh_* ) FONTFILE="wenquanyi_12pt" ;;
7474
ko_* ) FONTFILE="${DN_EXEC}/NanumGothic.bdf" ;;
7575
* ) FONTFILE="${DN_EXEC}/marlin-6x12-3.bdf" ;;
7676
esac
7777
DN_WORK=$(mktemp -d)
7878
cp Configuration.h ${DN_WORK}/
79-
cp src/lcd/language/language_${LANG}.h ${DN_WORK}/
79+
cp src/lcd/language/language_${ALANG}.h ${DN_WORK}/
8080
cd "${DN_WORK}"
81-
${DN_EXEC}/uxggenpages.sh "${FONTFILE}" $LANG
81+
${DN_EXEC}/uxggenpages.sh "${FONTFILE}" $ALANG
8282
sed -i fontutf8-data.h -e 's|fonts//|fonts/|g' -e 's|fonts//|fonts/|g' -e 's|[/0-9a-zA-Z_\-]*buildroot/share/fonts|buildroot/share/fonts|' 2>/dev/null
8383
cd - >/dev/null
84-
mv ${DN_WORK}/fontutf8-data.h src/lcd/dogm/fontdata/langdata_${LANG}.h
84+
mv ${DN_WORK}/fontutf8-data.h src/lcd/dogm/fontdata/langdata_${ALANG}.h
8585
rm -rf ${DN_WORK}
8686
done
8787

buildroot/share/fonts/make_lang_na.sh

+39
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
#!/usr/bin/env bash
2+
#
3+
# make_lang_na.sh
4+
#
5+
# Create non-accented language files given a list of accented language files.
6+
#
7+
8+
which gsed >/dev/null || { echo "gsed is required for this script." ; exit 1 ; }
9+
which perl >/dev/null || { echo "perl is required for this script." ; exit 1 ; }
10+
11+
#
12+
# Get language arguments
13+
#
14+
[ $# ] || { echo "One or more language codes (such as 'fr') must be supplied." ; exit 1 ; }
15+
16+
LANG_ARG="$@"
17+
18+
#
19+
# Change to working directory 'Marlin'
20+
#
21+
OLDWD=`pwd`
22+
[[ $(basename "$OLDWD") != 'Marlin' && -d "Marlin" ]] && cd Marlin
23+
[[ -f "Configuration.h" ]] || { echo -n "cd to the 'Marlin' folder to run " ; basename $0 ; exit 1; }
24+
25+
#
26+
# Generate a non-accented language file
27+
#
28+
for ALANG in $LANG_ARG ; do
29+
echo "Generating a non-accented language for '${ALANG}'" >&2
30+
OUTFILE=src/lcd/language/language_${ALANG}_na.h
31+
cp src/lcd/language/language_${ALANG}.h $OUTFILE
32+
perl -pi -e 's/\s*#define DISPLAY_CHARSET_.+\n*//g' $OUTFILE
33+
perl -pi -e 's/\s*constexpr .+ CHARSIZE.+\n*//g' $OUTFILE
34+
perl -pi -e "s/namespace Language_${ALANG}/#define DISPLAY_CHARSET_ISO10646_1\n#define NOT_EXTENDED_ISO10646_1_5X7\n\nnamespace Language_${ALANG}_na/" $OUTFILE
35+
gsed -i 'y/āáǎàâäēéěèêīíǐìïîōóǒòöôūúǔùǖǘǚǜüûĀÁǍÀĒÉĚÈÊĪÍǏÌÎŌÓǑÒÔŪÚǓÙǕǗǙǛÜÛÇçÑñ/aaaaaaeeeeeiiiiiioooooouuuuuuuuuuAAAAEEEEEIIIIIOOOOOUUUUUUUUUUCcNn/' $OUTFILE
36+
perl -pi -e 's/ß/ss/g' $OUTFILE
37+
done
38+
39+
cd "$OLDWD"

0 commit comments

Comments
 (0)