2013-08-21 2 views
2

나는 주어진 이름의 글꼴 얼굴을위한 TTF를 찾는 Java 프로그램을 작성하려고한다. 예를 들어 Windows 컴퓨터에서 "Times New Roman"을 입력하면 "C : \ Windows \ Fonts \ times.ttf"경로가 반환됩니다.글꼴 글꼴 이름에서 파일 이름까지의 맵은 어디에서 찾을 수 있습니까?

대부분의 다른 글꼴 이름은 TTF 파일 이름과 비슷한 방식으로 약식으로 표시됩니다. 거기에 글꼴 얼굴 이름을 해당 TTF 파일 이름에 예측 가능하게 매핑하는 데 사용할 수있는 표준이 있습니까?

답변

1

글꼴의 이름이 파일의 내용 내에 정의되어 있으므로 글꼴 파일 자체의 이름과 어떤 관계도 없어야한다는 것을 기억하십시오.

Windows XP에서 레지스트리 키 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts은 설치된 모든 영구 시스템 글꼴을 나열합니다. 이 글꼴 파일 목록을 열거 할 수 있으며, 차례대로 열 수 있습니다. 글꼴이있는 경우 을 head 테이블에서 가져올 수 있습니다. 항목 목록을 작성하십시오. 각 항목에는 글꼴 파일 이름과 체크섬 값인 한 쌍의 값이 들어 있습니다.

나중에 글꼴을 인식하면 GetFontData을 호출하고 head 테이블을 읽고 해당 글꼴의 글꼴 checkSumAdjustment을 찾으십시오. 그런 다음 이전에 만든 목록에서 찾아보십시오.

+0

및 windows7? – n611x007