Unicode Gitlab页面+;强氧+;Graphviz创建具有损坏字符的图形
我正在使用Gitlab页面为我的项目托管一个Doxygen创建的API。我还利用graphviz项目创建依赖关系图。我使用CI脚本安装软件包并构建文档:Unicode Gitlab页面+;强氧+;Graphviz创建具有损坏字符的图形,unicode,doxygen,graphviz,gitlab-ci,Unicode,Doxygen,Graphviz,Gitlab Ci,我正在使用Gitlab页面为我的项目托管一个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/
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和DVIP,这两者都不会影响graphviz图片。我的图表如下所示:
我不确定问题是什么,也不知道如何解决。为什么所有字符都错了?原来问题出在使用的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
安装软件包
ttf freefont
或ttf ubuntu字体系列
将解决此问题。这是我的文件
FROM alpine:3.6
RUN apk --update add \
doxygen \
graphviz \
ttf-freefont \
&& rm -rf /var/cache/apk/*
ttf ubuntu字体系列
字体更窄,因此您的框会变得更小。如果遇到同样的问题,我将尝试您的解决方案。对于未来的读者:我通过切换到doxygen配置中的MathJax解决了LaTeX问题,我认为这比在docker映像中请求整个LaTeX安装更相关。