-
默認(rèn)最簡單的安裝centos7,一般中文字體都是不全的,這時(shí)如果訪問flowable的流程跟蹤圖會(huì)出現(xiàn)
image.png -
主要原理是flowable是在服務(wù)器端,用awt組件的Graphics2D畫出,再通過圖片返回到瀏覽器的,以下是flowable的源碼,對應(yīng)的類org.flowable.image.impl.DefaultProcessDiagramCanvas,這個(gè)類的模塊是flowable-image-generator
image.png 解決的辦法,第一種方法是安裝好centos7的中文字體;第二種jvm啟動(dòng)加載中文字體,和指定flowable繪圖的字體。
以下是在jvm下給flowable的流程跟蹤圖指定字體
默認(rèn)情況下,flowable是和springboot部署的,所有我這邊用到的是spring配置
@Configuration
public class MyFlowableConfig implements EngineConfigurationConfigurer<SpringProcessEngineConfiguration> {
@Override
public void configure(SpringProcessEngineConfiguration engineConfiguration) {
engineConfiguration.setActivityFontName("WenQuanYi Micro Hei");
engineConfiguration.setLabelFontName("WenQuanYi Micro Hei");
engineConfiguration.setAnnotationFontName("WenQuanYi Micro Hei");
}
}
- 還有在啟動(dòng)spring boot的web應(yīng)用時(shí),還需要加載自己指定的字體,我這邊用到的是linuxmint下的文泉驛微米黑字體/usr/share/fonts/truetype/wqy/wqy-microhei.ttc
@Component
public class MyLoadFont4Flowable {
@PostConstruct
protected void init() {
GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
ge.registerFont("/你的字體路徑/wqy-microhei.ttc");
}
}
-
當(dāng)啟動(dòng)應(yīng)用再看時(shí)
image.png 如果在window下部署flowable出現(xiàn)顯示跟蹤圖不正確時(shí),只要設(shè)置為宋體就可以了
@Configuration
public class MyFlowableConfig implements EngineConfigurationConfigurer<SpringProcessEngineConfiguration> {
@Override
public void configure(SpringProcessEngineConfiguration engineConfiguration) {
engineConfiguration.setActivityFontName("宋體");
engineConfiguration.setLabelFontName("宋體");
engineConfiguration.setAnnotationFontName("宋體");
}
}
主要是flowable默認(rèn)的字體是Arial
org.flowable.image.impl.DefaultProcessDiagramCanvas指定字體的源碼如下

image.png


