50 lines
1.6 KiB
Bash
Executable File
50 lines
1.6 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
echo "=== 字体配置检查脚本 ==="
|
|
echo
|
|
|
|
CONTAINER_NAME="digital-archive-app"
|
|
|
|
# 检查容器是否运行
|
|
if ! docker ps | grep -q "$CONTAINER_NAME"; then
|
|
echo "❌ 容器 $CONTAINER_NAME 未运行"
|
|
echo "请先启动容器: ./archive-manager.sh start"
|
|
exit 1
|
|
fi
|
|
|
|
echo "✓ 找到运行中的容器: $CONTAINER_NAME"
|
|
|
|
echo
|
|
echo "🔍 检查字体配置:"
|
|
|
|
# 检查字体目录
|
|
echo "1. 字体目录:"
|
|
docker exec "$CONTAINER_NAME" ls -la /usr/share/fonts/ 2>/dev/null || echo " 字体目录不存在"
|
|
|
|
# 检查字体配置
|
|
echo
|
|
echo "2. 字体配置:"
|
|
docker exec "$CONTAINER_NAME" ls -la /etc/fonts/ 2>/dev/null || echo " 字体配置目录不存在"
|
|
|
|
# 检查可用字体
|
|
echo
|
|
echo "3. 可用字体:"
|
|
docker exec "$CONTAINER_NAME" fc-list | head -10 2>/dev/null || echo " 无法获取字体列表"
|
|
|
|
# 检查 Java 字体环境
|
|
echo
|
|
echo "4. Java 字体环境:"
|
|
docker exec "$CONTAINER_NAME" java -Djava.awt.headless=true -cp . -c "import java.awt.GraphicsEnvironment; import java.awt.Font; System.out.println(\"Available fonts: \" + GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames().length); System.out.println(\"Headless: \" + GraphicsEnvironment.isHeadless());" 2>/dev/null || echo " 无法检查 Java 字体环境"
|
|
|
|
echo
|
|
echo "🧪 测试字体渲染:"
|
|
docker exec "$CONTAINER_NAME" sh -c "echo '测试字体' | fc-match -v 2>/dev/null || echo '字体匹配失败'"
|
|
|
|
echo
|
|
echo "💡 如果字体问题持续,可以尝试:"
|
|
echo "1. 重新构建镜像(包含字体包)"
|
|
echo "2. 添加中文字体支持"
|
|
echo "3. 设置 JAVA_OPTS 包含 -Djava.awt.headless=true"
|
|
|
|
echo
|
|
echo "=== 检查完成 ===" |