는 내가 가진 : 다음 그러나 나는 어떤 글꼴을 전혀 렌더링, 또는 끔찍 넘어 보이지 않는 것을 찾는거야 사용자 정의 렌더러하는 JComboBox에 렌더링 할자바 - 어떤 글꼴이 렌더링되지 않는지 어떻게 알 수 있습니까?
Font[] fonts =
java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment().getAllFonts();
. 일부는 JComboBox에서 높이 100-200 픽셀을 사용합니다. 일부 익숙하지 않은 글꼴도 있습니다. 따라서 예를 들어 네 번째 항목은 읽을 수 없으며 다섯 번째 항목 (파란색으로 선택된 항목)은 거대하며 아래로 스크롤해도 문자가 표시되지 않습니다.
나는 잘못된 글꼴을 제거하려고 보았다하지만 난 좋지 않은 화이트리스트 것보다 다른 할 수있는 방법을 찾을 수 없습니다.
- https://weblogs.java.net/blog/javaben/archive/2008/01/of_fonts_and_ja.html
- Determining in Java whether a particular font can render a particular character
하지만 두 번째는 전체 정말 얼마나 특정 문자를 확인하는 방법이 아니라 끔찍한 렌더링 : 내가 찾은
가장 좋은 기사입니다.
나는 또한 getAvailableFontFamilyNames()
을 시도했지만 목록이 줄어들지 만 JComboBox에 심하게 렌더링 된 여러 글꼴이 계속 표시됩니다. 나쁘게 렌더링함으로써 나는 높이의 톤과 함께 보이지 않는 것을 의미합니다. 따라서 canDisplay('a')
또는 그와 비슷한 것을 시도해도 여전히 true를 반환하기 때문에 작동하지 않습니다.
* "나는 높이의 톤으로는 보이지 않는다"는 것을 의미합니다. * 그림은 천 단어를 그립니다. 또한 더 빨리 도움을 받으려면 [SSCCE] (http://sscce.org/)를 게시하십시오. –
스크린 샷을 추가했습니다. 이 코드는 JLabel.setFont (fonts [x] .deriveFont (14f))의 글꼴을 통과하는 루프입니다. 그래서 특별한 것은 없습니다 –