【问题标题】:Puppeteer/headless Chromium on Alpine font issues关于 Alpine 字体问题的 Puppeteer/headless Chromium
【发布时间】:2018-04-09 12:04:29
【问题描述】:

我在 Alpine Linux Docker 容器中使用 Puppeteer。容器继承自node:alpine

默认情况下,它可以很好地呈现英文,但它根本不会呈现日文。

我查看了Puppeteer's Docker docs,它是为 Debian 量身定制的;我们正在使用 Alpine。

为了渲染日语,我运行了apk add font-ipa@edge,它安装了合适的字体。

不过,现在 Chromium 使用 that 字体来渲染英文,看起来很糟糕。我试过在上面安装其他字体,例如apk add ttf-freefont@edge,但这并没有改变任何东西。它仍然使用日文字体。

如何让 Chromium 使用特定的 Japenese 字体来呈现日文文本,而使用不同的(默认)字体来呈现非日文文本?需要安装什么字体?

我们不能使用其他发行版;一定是阿尔卑斯山。

【问题讨论】:

标签: google-chrome docker chromium puppeteer alpine


【解决方案1】:

上面无浏览器提供的先前答案对我有用,但是链接的代码文件已更改。我必须翻阅文件历史才能找到他在说什么。所以对于任何在未来寻找这个的人。这是我认为被引用的代码。它解决了我的问题。

将这些东西添加到您的 docker 文件中。

ENV font_directory /usr/share/fonts/noto

# Install fonts
RUN mkdir -p $font_directory
RUN cd $font_directory &&\
    wget https://github.com/googlei18n/noto-cjk/blob/master/NotoSansCJKsc-Regular.otf?raw=true && \
    fc-cache -f -v

其他 Noto 字体库可以在这里找到https://www.google.com/get/noto/#sans-hans

【讨论】:

    【解决方案2】:

    我维护了一个 docker 映像 here 来实现您正在寻找的内容(使用系统字体,但在需要时使用其他字体)。更具体地说,无浏览器使用的字体是 Google 自己的 Noto CJK 字体(Dockerfile 中的this line)。

    【讨论】:

    • 谢谢。我想用 Alpine 安装 Noto CJK,但它是唯一没有存储库的变体; wget 行很有用
    猜你喜欢
    • 2019-03-28
    • 2021-01-10
    • 1970-01-01
    • 2019-01-22
    • 2018-08-07
    • 2021-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多