diff --git a/tradein-mvp/browser/Dockerfile b/tradein-mvp/browser/Dockerfile index 645b05c8..ca665ae6 100644 --- a/tradein-mvp/browser/Dockerfile +++ b/tradein-mvp/browser/Dockerfile @@ -45,12 +45,20 @@ RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \ # Настоящие шрифты Microsoft (ttf-mscorefonts-installer) сознательно НЕ ставим: # пакет качает их с SourceForge на этапе сборки и требует интерактивного # принятия EULA — хрупко и недетерминированно для CI-сборки образа. +# Проверка сборки намеренно смотрит НЕ на число файлов, а на алиасы: счёт файлов +# зависит от того, что притащили соседние пакеты (первая версия этой проверки +# требовала >=30 файлов и покраснела на фактических 20 — порог был угадан, а не +# измерен). Значение имеет ровно одно: спрашиваешь Arial — получаешь метрически +# совместимый шрифт, а не «шрифта нет». Замер образа 2026-08-30: 20 файлов, +# 5 семейств (Liberation Sans/Serif/Mono, Carlito, Caladea). RUN fc-cache -f \ - && FONT_COUNT="$(fc-list | wc -l)" \ - && echo "tradein-browser: fc-list count after install: $FONT_COUNT" \ - && [ "$FONT_COUNT" -ge 30 ] \ + && echo "tradein-browser: fc-list = $(fc-list | wc -l) файлов, семейств: $(fc-list : family | tr , '\n' | sort -u | wc -l)" \ && fc-match Arial | grep -qi "Liberation Sans" \ - && echo "tradein-browser: fc-match Arial -> Liberation Sans OK" + && fc-match "Times New Roman" | grep -qi "Liberation Serif" \ + && fc-match "Courier New" | grep -qi "Liberation Mono" \ + && fc-match Calibri | grep -qi "Carlito" \ + && fc-match Cambria | grep -qi "Caladea" \ + && echo "tradein-browser: метрические алиасы Arial/TNR/Courier/Calibri/Cambria на месте" WORKDIR /app