gpt4 book ai didi

java - 将 stix 字体与 openjdk 一起使用时出现异常?

转载 作者:搜寻专家 更新时间:2023-10-31 08:18:47 25 4
gpt4 key购买 nike

当我尝试创建 SXSSFWorkbook 时出现问题。

异常堆栈跟踪:

java.lang.ArrayIndexOutOfBoundsException: 0
at sun.font.CompositeFont.getSlotFont(CompositeFont.java:351)
at sun.font.CompositeGlyphMapper.initMapper(CompositeGlyphMapper.java:81)
at sun.font.CompositeGlyphMapper.<init>(CompositeGlyphMapper.java:62)
at sun.font.CompositeFont.getMapper(CompositeFont.java:409)
at sun.font.CompositeFont.canDisplay(CompositeFont.java:435)
at java.awt.Font.canDisplayUpTo(Font.java:2063)
at java.awt.font.TextLayout.singleFont(TextLayout.java:470)
at java.awt.font.TextLayout.<init>(TextLayout.java:531)
at FontTest.main(FontTest.java:15)

渐变文件:

compile 'org.apache.poi:poi:3.14'
compile 'org.apache.poi:poi-ooxml:3.14'

环境:

  • openjdk 版本“1.8.0_141”
  • 红帽 7.4
  • 野蝇 10.0.0

最佳答案

此问题仅发生在 Red hat version 7.4 上。据报道there .红帽人员正在努力修复它 here .我找到的解决方案只是提供字体,以强制将 Utopia 作为 java 使用的默认字体。

使用以下内容创建以下文件 /etc/fonts/local.conf:

<?xml version='1.0'?>
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
<fontconfig>
<alias>
<family>serif</family>
<prefer><family>Utopia</family></prefer>
</alias>
<alias>
<family>sans-serif</family>
<prefer><family>Utopia</family></prefer>
</alias>
<alias>
<family>monospace</family>
<prefer><family>Utopia</family></prefer>
</alias>
<alias>
<family>dialog</family>
<prefer><family>Utopia</family></prefer>
</alias>
<alias>
<family>dialoginput</family>
<prefer><family>Utopia</family></prefer>
</alias>
</fontconfig>

确保正确的用户可以读取该文件。

关于java - 将 stix 字体与 openjdk 一起使用时出现异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46711597/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com