특정 글꼴 크기의 높이를 가져 오는 대신 주어진 높이를 생성하는 특정 글꼴 (이 경우 SansSerif)의 글꼴 크기를 가져 오는 대신 (깔끔한) 방법이 있습니까?자바 주어진 글꼴 크기를 얻으십시오
물론 글꼴 크기를 반복하거나 바이너리 잘라 내기 형식을 사용할 수도 있지만 가능하다면 좀 더 깨끗하고 자원 집약적 인 것을 사용하고 싶습니다. 내가 찾은 가장 좋은 방법은 this 같은 것을 사용하는 것입니다.
특정 글꼴 크기의 높이를 가져 오는 대신 주어진 높이를 생성하는 특정 글꼴 (이 경우 SansSerif)의 글꼴 크기를 가져 오는 대신 (깔끔한) 방법이 있습니까?자바 주어진 글꼴 크기를 얻으십시오
물론 글꼴 크기를 반복하거나 바이너리 잘라 내기 형식을 사용할 수도 있지만 가능하다면 좀 더 깨끗하고 자원 집약적 인 것을 사용하고 싶습니다. 내가 찾은 가장 좋은 방법은 this 같은 것을 사용하는 것입니다.
주어진 텍스트 협소 한 범위를 제공 할 것이다 here 및 here 도시 TextLayout
를, 검색.
FontMetrics metric = new FontMetrics(new Font("font"), Font.BOLD, 12);
metrics.getHeight()
당신이 찾고있는 것일 수도 있습니다.
상세 정보 : http://download.oracle.com/javase/6/docs/api/java/awt/FontMetrics.html
쉬운 방법은 없습니다.
첫 번째로 java는 단지 5 가지 논리 글꼴 군을 제공한다는 것을 알고 있습니다. 다른 모든 글꼴은 프로그램을 실행할 시스템에 존재하지 않습니다.
그러면 글꼴 속성이 시스템에 자동으로 매핑되지 않습니다. 모두로드하고 원하는 측정 값을 반복 검색해야합니다. this code 할 수 있습니다 루프 사용 가능한 글꼴
:
import java.awt.Font;
import java.awt.GraphicsEnvironment;
public class MainClass {
public static void main(String[] a) {
GraphicsEnvironment e = GraphicsEnvironment.getLocalGraphicsEnvironment();
Font[] fonts = e.getAllFonts(); // Get the fonts
for (Font f : fonts) {
System.out.println(f.getFontName());
}
}
}
하고 사용자의 요구에 맞는 하나를 선택합니다. 원하는 정보 (예 : 무게)를 표시하도록 코드를 변경하십시오.
편집 :They are merely font-type names recognized by the Java runtime which must be mapped to some physical font that is installed on your system
관찰은 http://download.oracle.com/javase/1.3/docs/guide/intl/addingfonts.html입니다.
논리 글꼴조차 항상 같은 것으로 보증되지 않습니다. 당신이 할 수있는 것은 10pt 크기를 얻고 글꼴 크기를 계산하는 것입니다. 추천
font_size_in_points = ((10 * desidered_measure)/equivalent_measure_of_the_10pt)
저는 항상 SansSerif를 사용하고 있기 때문에 가족이 사용 가능한지 걱정하지 않아요. 저는 SansSerif를 사용하고 있습니다. SansSerif는 주어진 높이와 가장 가까운 특정 글꼴의 글꼴 크기를 가져 오는 방법을 찾고 있습니다. 컴파일 타임에 글꼴 크기를 선택하는 경우 정적으로 제안한 방법과 비슷하게 수행했을 것입니다.하지만 런타임에 특정 높이를 부여 할 수 있어야합니다. – berry120
댓글이 너무 커서 답변을 수정했습니다. – woliveirajr
아니요 - 특정 글꼴의 높이를 줄 것입니다 (쉽게!) 나는 원하는 방향으로 특정 글꼴 크기를 얻으려고합니다. – berry120