blob: e3f5200edb28f89061faede501a21feedd1bef3f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
#!/usr/bin/env bash
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
cd "$SCRIPT_DIR"
# Generate embedded font header from first font file in resources/
mkdir -p build
FONT_HEADER="build/font_data.h"
FONT_FILE="$(find resources/ -maxdepth 1 -type f \( -iname '*.otf' -o -iname '*.ttf' \) 2>/dev/null | head -n1 || true)"
if [ -n "$FONT_FILE" ]; then
if [ ! -f "$FONT_HEADER" ] || [ "$FONT_FILE" -nt "$FONT_HEADER" ]; then
echo "Embedding font: $FONT_FILE"
xxd -i "$FONT_FILE" > "$FONT_HEADER.tmp"
# Normalize variable names to embedded_font_data / embedded_font_data_len
VARNAME=$(grep -oP 'unsigned char \K[a-zA-Z0-9_]+' "$FONT_HEADER.tmp" | head -1)
sed -i "s/${VARNAME}/embedded_font_data/g" "$FONT_HEADER.tmp"
echo '#define FONT_EMBEDDED 1' >> "$FONT_HEADER.tmp"
mv "$FONT_HEADER.tmp" "$FONT_HEADER"
fi
else
echo "No font file found in resources/, using default raylib font"
cat > "$FONT_HEADER" <<'EOF'
/* No font embedded */
static unsigned char embedded_font_data[] = {0};
static unsigned int embedded_font_data_len = 0;
#define FONT_EMBEDDED 0
EOF
fi
make -j$(nproc) "$@"
|