unicode - Gitlab Pages + Doxygen + Graphviz 创建字符损坏的图表

标签 unicode doxygen graphviz gitlab-ci

我正在使用 Gitlab Pages 为我的项目托管 Doxygen 创建的 API。我还利用 graphviz 项目来创建依赖关系图。我使用 CI 脚本来安装软件包并构建文档:

pages:
  stage: build
  image: alpine
  script:
    - apk update && apk add doxygen
    - apk add graphviz
    - doxygen doxy/dox_config
    - mv docs/html/ public/
  artifacts:
    paths:
      - public
  only:
    - master
  dependencies: []

CI 脚本运行时没有任何错误,除了 Doxygen 错误提示它找不到 LaTeX 和 dvips,这两者都不应该影响 graphviz 图片。我的图表如下所示:

Graphviz Problems

我不确定问题是什么或如何解决它。为什么所有的字符都错了?

最佳答案

事实证明,问题出在所使用的 Docker 镜像上。 Alpine 不包含正确的字体,但 Debian 具有所有先决条件。虽然几乎肯定有一种方法可以使用 Alpine 安装字体,但我只是切换到 Debian docker 镜像。这是一个有效的 YML 脚本:

pages:
  stage: build
  image: ubuntu:trusty
  script:
    - export DEBIAN_FRONTEND=noninteractive
    - apt-get -yq update
    - apt-get -yq install graphviz
    - apt-get -yq install doxygen
    - doxygen doxy/dox_config
    - mv docs/html/ public/
  artifacts:
    paths:
      - public

关于unicode - Gitlab Pages + Doxygen + Graphviz 创建字符损坏的图表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46496445/

相关文章:

python - 从大型 unicode 文本文件中删除符号

python - 将 UTF-8 转义字符读取/解码为 native 字符

graphviz - 如何引导边缘脱离右侧的菱形?

在多个页面上拆分大图的算法

python - 使用 PyGraphviz 在图形\节点上绘制更多信息

mysql - MySQL 中的重音不敏感排序

java - 在 Java JTextArea 中显示 Unicode

c++ - 如何让 Doxygen 显示菱形继承图

c++ - 如何设置 clang-format 注释 pragmas 以便多行 doxygen 注释不会被触及?

java - 在 doxygen 中使用 @see 或 @link