ubuntu server 14.04 xvfb Японские символы в виде квадратов после обновления релиза
Почему японские шрифты вдруг перестали корректно отображаться? Очень сложная, сложная ситуация, когда-то эта стая работала, сломалась после обновления платформы, которое совпало с выпуском нового кода. Это может быть код, но этот код отлично работает на Mac или Ubuntu Desktop.
СРЕДА:
- Обновлен Ubuntu 14.04 Server Headless (в Cloud Foundry: никаких привилегий sudo)
- Генерация PDF с использованием Electron Chromium win.webContents.printToPDF
- Электрон версии 1.6.2 (пробовал более новую 3.0.13)
Отсутствие Root в контейнере делает эту проблему / решение трудным. Отсутствие контроля или понимания исправления основных o / s дополнительно усугубляет неопределенную природу.
Мы разобрали пакет сборки узла Pivotal CF и реализовали нечто похожее на этот фрагмент кода на этапе компиляции пакета сборки (пример: https://github.com/heroku/heroku-buildpack-xvfb-google-chrome/blob/master/bin/compile), используя Aptfile в приложении, чтобы указать, какие пакеты установки apt-get будут установлены как локальный пользователь.
Этот пакет безумия работал нормально до прошлого месяца, когда японские символы перестали корректно отображаться. Одна потенциально важная вещь, которая изменилась, была тем, что хостинг-апгрейдеры обновили базовую версию для Ubuntu 14.04.
$ uname -a
ПЕРЕД магическим апгрейдом фей: Linux e4e7267c 4.4.0-75-generic #96~14.04.1-Ubuntu SMP Thu Apr 20 11:06:30 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
ПОСЛЕ злого апгрейда гремлинов: Linux c3fa6d0b 4.15.0-38-generic #41~16.04.1-Ubuntu SMP Wed Oct 10 20:16:04 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
Как ни странно, ПОСЛЕ 16.04 показывает, что релиз еще верен:
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 14.04.5 LTS
Release: 14.04
Codename: trusty
Что-то изменилось в зависимости от обновлений библиотек 14.04 -> 16.04? Изменил ли Xvfb порядок обработки шрифтов и поиска (X.org под капотом)?
Шрифты устанавливаются в локальную учетную запись пользователя как: $ ls -ltr app/.apt/usr/share/fonts/X11/
total 84
drwxr-xr-x 2 vcap vcap 4096 Jan 2 14:19 util
drwxr-xr-x 2 vcap vcap 4096 Jan 2 14:19 Type1
drwxr-xr-x 2 vcap vcap 20480 Jan 2 14:19 misc
-rw-r--r-- 1 vcap vcap 2 Jan 2 14:19 fonts.dir
drwxr-xr-x 3 vcap vcap 4096 Jan 2 14:19 encodings
drwxr-xr-x 2 vcap vcap 4096 Jan 2 14:19 cyrillic
drwxr-xr-x 2 vcap vcap 16384 Jan 2 14:19 75dpi
drwxr-xr-x 2 vcap vcap 16384 Jan 2 14:19 100dpi
Часть взлома, чтобы заставить это работать, включает использование sed для замены жестко запрограммированной ссылки на путь в Xvfb на путь к каталогу локального пользователя.
Возможно, эта функциональность изменилась в новой обновленной версии Xvfb.
Будем благодарны за любые мысли по поводу дальнейшего устранения неполадок, хакерских уловок или потенциальных причин / решений по этому вопросу.