2011-01-25 6 views
1

제발 저와 함께하시기 바랍니다. Uniscribe에 처음 이니 바보 같은 질문이 아니길 바라지 만 다른 곳에서는 해결책을 찾을 수 없었습니다. 그래서, 여기에 ...Uniscribe API를 사용하여 글꼴의 너비를 조정하는 방법

글꼴의 너비를 줄이기 위해 Uniscribe API를 사용하려고합니다. 즉 특정 높이의 특정 글꼴이있는 경우 사용자 정의 비율에 따라 각 문자의 너비 (및 모든 관련 간격)를 줄일 수 있기를 원합니다.

현재 글꼴에 대해 LOGFONT 구조를 얻고 lfWidth 필드를 원래 값의 백분율로 조정하여 Uniscribe 함수를 호출하지 않고이 작업을 성공적으로 완료했습니다. 나는 이것이 평균 문자 폭이라는 ​​것을 알고 있지만 원하는 결과를 얻은 것으로 보입니다.

그러나 Uniscribe를 사용하여 동일한 작업을 수행하려고 시도하면 lfWidth 필드가 ScriptShape()을 호출 한 다음 0으로 재설정됩니다. 결과적으로 렌더링 된 모든 텍스트는 원래 너비를 사용하여 출력됩니다. 나는 이것이 왜 그것이 무엇인지, 또는 무엇을해야 하는지를 설명하기가 어렵다.

내가하려는 일을 수행 할 수 있는지 아무도 모르는 사람이 있습니까?

답변

0

here을 시작하고 (글리프 정보 생성 섹션 참조) this으로 시작할 수 있습니다.

희망 하시겠습니까?

+0

고마워요. SciptShape()는 실패 코드를 반환하지 않으므로 현재로드 된 글꼴을 사용할 수 있다고 가정합니다. ScriptPlace()에 대한 후속 호출도 성공합니다. 이전에 할당 한 사용자 정의 값이 아닌 lfWidth 값을 0으로 사용하는 것입니다. –

+0

해결책을 찾은 것 같습니다. 현재 선택된 글꼴에 대한 조정은 적어도 너비와 관련하여 ScriptShapes()를 호출 한 후 * ScriptPlace()를 호출하기 전에 * 수행해야합니다. 이제는 예상대로 상황이 출력되고 있습니다. @ namar0x0309에서 제공하는 링크를 통해 결국 거기에 도달 할 수있었습니다. 감사합니다. –