내가 사용하는 아파치 맵시 꾼과 글꼴 Arial.ttf를 발견하지 :1.0
- 아파치 맵시 꾼 1.0
- 자바 내가하는 유니 코드 u0100보다 높은 특수 문자로 처리 할 필요가
. 내가 사용해야하는 대상 글꼴은 Arial입니다. Arial이 대상 플랫폼 (예 : Linux)에있을 것으로 기대할 수 없기 때문에 Arial.ttf를 내 jar 파일에 포함 시켰습니다. 내 실제 설정 파일은 다음과 같습니다
<fop ...>
<!-- Base URL for resolving relative URLs -->
<base>./</base>
<!-- Font Base URL for resolving relative font URLs -->
<font-base>./</font-base>
<renderers>
<renderer mime="application/pdf">
<fonts>
<font kerning="yes" embed-url="arial.ttf" encoding-mode="auto">
<font-triplet name="Arial" style="normal" weight="normal"/>
<font-triplet name="ArialMT" style="normal" weight="normal"/>
</font>
<!--<directory>C:/Windows/Fonts</directory>-->
</fonts>
<auto-detect/>
</renderer>
...
</fop>
내가 맵시 꾼 내 설정 파일을로드하는 오류가 이런 식으로 이렇게 :
org.apache.fop.apps.FOPException: Failed to resolve font with embed-url 'arial.ttf'
유일한 방법은 내가 때까지 작동 얻을 관리 이제는 폴더 경로를 설정 파일에 하드 코딩하는 것이 었습니다.
<font kerning="yes" embed-url="C:/myapp/arial.ttf" encoding-mode="auto">
<font-triplet name="Arial" style="normal" weight="normal"/>
<font-triplet name="ArialMT" style="normal" weight="normal"/>
</font>
분명히이 해결책이 될 수 없습니다!
"Arial"이 있기 때문에 "directory"태그를 사용하면 Windows에서 작동합니다. 그러나 위에 언급 한 바와 같이 Linux, Mac 등에서도 실행해야합니다.
"자동 감지"태그는 (Windows가 아닌 경우에도) 작동하지 않으며 대상을 기대할 수없는 해결책이 아닙니다. Arial이 설치된 플랫폼.
이 문제를 해결하기위한 제안이 있으십니까?
이 답변이 맞으면 직접 대답을 수락하십시오. –