From 14f2518fc4f5f2e9785479f5b50b6c8cf28cf542 Mon Sep 17 00:00:00 2001 From: bot-backend Date: Sun, 30 Aug 2026 01:47:42 +0300 Subject: [PATCH] =?UTF-8?q?fix(tradein/browser):=20=D0=BF=D1=80=D0=BE?= =?UTF-8?q?=D0=B2=D0=B5=D1=80=D0=BA=D0=B0=20=D1=88=D1=80=D0=B8=D1=84=D1=82?= =?UTF-8?q?=D0=BE=D0=B2=20=D0=B2=20=D1=81=D0=B1=D0=BE=D1=80=D0=BA=D0=B5=20?= =?UTF-8?q?=D0=BB=D0=BE=D0=B2=D0=B8=D0=BB=D0=B0=20=D1=83=D0=B3=D0=B0=D0=B4?= =?UTF-8?q?=D0=B0=D0=BD=D0=BD=D1=8B=D0=B9=20=D0=BF=D0=BE=D1=80=D0=BE=D0=B3?= =?UTF-8?q?,=20=D0=B0=20=D0=BD=D0=B5=20=D1=81=D1=83=D1=82=D1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Первая версия требовала >=30 файлов в fc-list и покраснела на фактических 20 — порог был взят из головы, а не измерен. Значение имеет не число файлов (оно зависит от того, что притащили соседние пакеты), а то, что запрос Arial отдаёт метрически совместимый шрифт. Проверяем ровно это, по всем пяти алиасам. Замер образа 30.08: 20 файлов, 5 семейств (Liberation Sans/Serif/Mono, Carlito, Caladea); Arial→Liberation Sans, Times New Roman→Liberation Serif, Courier New→Liberation Mono, Calibri→Carlito, Cambria→Caladea. --- tradein-mvp/browser/Dockerfile | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) 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